//============================================
//XNvgpCu REMY ver0.35  by mitica
//============================================



=================================
Cuo[W擾
function REMY_System_GetLibVersion()



=============================================
K{
=============================================
task initialize_REMY_Stick_Manager()
L[`FbN^XNN܂B


TEh===================================
task REMY_SE_Delay(let se, let delay)
SExčĐ܂
se:炷SE(t@CpXFstring^)
delay:x点t[(real^)


#########[Math]##########
@@@lZ֘A
#########################

͈͊O=================================

function REMY_Math_IsOutOfClip(let x, let y, let dist)
ʘg{̒Ɋ܂܂邩𔻒肵܂(߂lFboolean^)
x,y:肷W(real^)
dist:ʘg̋B̒lŘgC̒lŘg傫܂B(real^)

function REMY_Math_IsOutOfClipEx(let x, let y, let rect)
lp̒Ɋ܂܂邩𔻒肵܂(߂lFboolean^)
x,y:肷W(real^)
rect [min_x, min_y, max_x, max_y] :gi4vfreal^zj


=================================

function REMY_Math_IsIntersectWithPlayer(let x, let y, let dist)
vC[蔼aɑ݂邩𔻒肵܂(߂lFboolean^)
x,y:肷W(real^)
dist:a(real^)

function REMY_Math_DistanceToPlayer(let x, let y)
vC[܂ł̋Ԃ܂(߂lFreal^)
x,y:肷W(real^)


lZ=================================

function REMY_Math_Sign(let val)
lȂ1AȂ-1A[Ȃ0Ԃ܂(߂lFreal^)
val:肷鐔l(real^)

function REMY_Math_Max(let val1, let val2)
̓傫قԂ܂(߂lFreal^)
val1,val2:肷鐔l(real^)

function REMY_Math_Min(let val1, let val2)
̓قԂ܂(߂lFreal^)
val1,val2:肷鐔l(real^)

function REMY_Math_IsInLimit(let val, let min, let max)
lőƍŏ̊ԂɊ܂܂邩Ԃ܂i߂lFboolean^j
valF肷鐔l(real^)
minFŏl(real^)
maxFől(real^)

function REMY_Math_Limit(let val, let min, let max, let is_loop)
lőƍŏ̊Ԃɕ␳ĕԂ܂i߂lFreal^j
valF肷鐔l(real^)
minFŏl(real^)
maxFől(real^)
is_loopF[v邩BtrueȂőƍŏȂă[v܂(boolean^)

function REMY_Math_IntLength(let val, let min)
l̐̌Ԃ܂i߂lFreal^j
l1̏ꍇ1Ԃ܂B
valF肷鐔l(real^)
minFŏBŏȉ̏ꍇ͍ŏԂ܂(real^)

function REMY_Math_IntToString(let val, let min)
l݂̐̂𕶎ɂĕԂ܂i߂lFstring^j
valFϊ鐔l(real^)
minFŏBŏȉ̏ꍇ͑O0܂(real^)


function REMY_Math_LimitedAngle(let angle)
-360720܂ł̊px0-360ɕ␳ĕԂ܂i߂lFreal^j
angle:␳px(real^)

function REMY_Math_AngleToPlayer(let x, let y)
̍WvC[ւ̊px擾܂i߂lFreal^j
x,y:肷W(real^)



#########[Stick]##########
@@@L[擾֘A
##########################


function REMY_Stick_GetX()
EXeBbN̓͂擾܂i߂lFreal^j
EȂ1CȂ-1Cj[gȂ0Ԃ܂B

function REMY_Stick_GetPushX()
EXeBbN̓͊Jn擾܂i߂lFreal^j
EȂ1CȂ-1Ԃ܂B
L[͊Jnt[ȊO0Ԃ܂B

function REMY_Stick_GetY()
㉺XeBbN̓͂擾܂i߂lFreal^j
Ȃ1CȂ-1Cj[gȂ0Ԃ܂B

function REMY_Stick_GetPushY()
㉺XeBbN̓͊Jn擾܂i߂lFreal^j
Ȃ1CȂ-1Ԃ܂B
L[͊Jnt[ȊO0Ԃ܂B


function REMY_Stick_Hold(let stickID)
L[̓͂擾܂i߂lFboolean^j
stickID:擾XeBbN(_KEY_SHOT,_KEY_SLOW, _KEY_USER, _KEY_SKIP, _KEY_BOMB̂ꂩ)


function REMY_Stick_Push(let stickID)
L[̓͊Jn擾܂i߂lFboolean^j
L[ꂽt[̂trueƂȂ܂B
stickID:擾XeBbN(_KEY_SHOT,_KEY_SLOW, _KEY_USER, _KEY_SKIP, _KEY_BOMB̂ꂩ)



#########[Effect]#########
@@@GtFNg֘A
##########################


function REMY_Effect_CreateObject(let texture, let vert_num, let layer)
GtFNgIuWFNg쐬AIuWFNgIDԂ܂
texture:gpeNX`
vert_num:쐬_
layer:`惌C


function REMY_Effect_SetVertexSquare(let obj, let rect_array, let center_array, let argb_array)
lp̃GtFNgIuWFNg̒_p[^ݒ肵܂B
IuWFNgUVlƓ傫ɂȂ܂B
PRIMITIVE_TRIANGLESTRIPȊÕIuWFNgɂ͎g܂B
obj:IuWFNgID
rect_array:UVl̔z [u1,v1,u2,v2] 
center_array:XYSASǂꂾ炷̔z[x_cent, y_cent]
              (:x_cent=-10,y_cent=10rect̒S10hbgXY(0,0)ɂȂ)
argb_array:ARGBl̔z[alpha, red, green, blue]


function REMY_Effect_SetUVSquare(let obj, let UV)
Aj[VpBlp̃GtFNgIuWFNgUVύX܂B
obj:IuWFNgID
UV:UVl̔z[u1, v1, u2, v2]


function REMY_Effect_SetColorSquare(let obj, let argb)
lp̃GtFNgIuWFNg̒_ARGBύX܂B
obj:IuWFNgID
argb:ARGBl̔z[alpha, red, green, blue]

function REMY_Effect_SetColorPolygon(let obj, let vert_num, let argb)
GtFNgIuWFNg̒_ARGBύX܂B͎lpɌ܂B
obj:IuWFNgID
vert_num:_
argb:ARGBl̔z[alpha, red, green, blue]


task REMY_Effect_FadeDelete(let obj, let time, let vert_num, let start_color_array)
GtFNgIuWFNgtF[hAEg܂B
obj:IuWFNgID
time:tF[hAEgt[
vert_num:_
start_color_array:ARGBl̏lz[alpha, red, green, blue]


####[CommonDataArrayEx]####
@@Rf[^Ex֘A
###########################
Rf[^ɔzƂ̈ȒPɂ܂B
Rf[^[1,2,3,4,5]Ȃǂ̔z񂪂ƂCX̗vf𒼐ڑE擾ł܂B


function REMY_CommonDataArrayEx_Create(let area, let key)
̃Rf[^z쐬܂B
area:Rf[^GA̖
key:f[^

function REMY_CommonDataArrayEx_Add(let area, let key, let value)
Rf[^zɒlǉ܂B
ǉʒuindex߂܂i߂lFreal^j
area:Rf[^GA̖
key:f[^
value:ǉl

function REMY_CommonDataArrayEx_Set(let area, let key, let idx, let value)
Rf[^z̎wʒuɒlݒ肵܂B
area:Rf[^GA̖
key:f[^
idx:z̎wʒu
value:ǉl


function REMY_CommonDataArrayEx_Get(let area, let key, let idx)
Rf[^z̎wʒu̒l擾܂i߂lFzi[f[^̌^j
area:Rf[^GA̖
key:f[^
idx:z̎wʒu



