Skip to content

Commit

Permalink
框架跟进
Browse files Browse the repository at this point in the history
  • Loading branch information
MrZ626 committed Nov 3, 2023
1 parent c432224 commit 177bdfa
Show file tree
Hide file tree
Showing 13 changed files with 76 additions and 75 deletions.
2 changes: 1 addition & 1 deletion Zenitha
Submodule Zenitha updated 40 files
+31 −0 .editorconfig
+55 −33 background.lua
+61 −54 bgm.lua
+36 −34 color.lua
+18 −9 debug.lua
+28 −18 file.lua
+46 −41 font.lua
+210 −172 gcExtend.lua
+35 −32 http.lua
+34 −25 image.lua
+171 −126 init.lua
+17 −17 languages.lua
+11 −0 license.txt
+4 −4 log.lua
+26 −0 lowcaser.txt
+165 −0 luasocket_doc.lua
+236 −52 mathExtend.lua
+11 −11 message.lua
+13 −13 profile.lua
+7 −7 require.lua
+104 −89 scene.lua
+3 −3 scene/console.lua
+18 −18 scene/demo.lua
+40 −40 screen.lua
+100 −73 sfx.lua
+2 −2 sha2.lua
+243 −133 stringExtend.lua
+17 −17 sysFX.lua
+280 −168 tableExtend.lua
+26 −26 task.lua
+149 −0 tcp.lua
+64 −0 tcp_client.lua
+134 −0 tcp_server.lua
+42 −47 text.lua
+26 −0 upcaser.txt
+3 −3 vibrate.lua
+36 −33 voice.lua
+42 −41 wait.lua
+4 −4 wheelToArrow.lua
+387 −230 widget.lua
14 changes: 7 additions & 7 deletions assets/note.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
local listMix=MATH.listMix
local listLerp=MATH.listLerp

local Note={}

Expand All @@ -11,19 +11,19 @@ end

function Note:getColor(t)
return
listMix(self.color[1],t),
listMix(self.color[2],t),
listMix(self.color[3],t)
listLerp(self.color[1],t),
listLerp(self.color[2],t),
listLerp(self.color[3],t)
end

function Note:getAlpha(t)
return listMix(self.alpha,t)*.01
return listLerp(self.alpha,t)*.01
end

function Note:getOffset(t)
return
listMix(self.xOffset,t),
listMix(self.yOffset,t)
listLerp(self.xOffset,t),
listLerp(self.yOffset,t)
end

return Note
6 changes: 3 additions & 3 deletions assets/scene/error.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function scene.enter()
BGcolor=rnd()>.026 and{.3,.5,.9} or{.62,.3,.926}
sysAndScn=SYSTEM.."-"..VERSION.string.." scene:"..Zenitha.getErr('#').scene
errorText=LOADED and Text.errorMsg or "An error has occurred while the game was loading.\nAn error log has been created so you can send it to the author."
errorShot,errorInfo=Zenitha.getErr('#').shot,Zenitha.getErr('#').mes
errorShot,errorInfo=Zenitha.getErr('#').shot,Zenitha.getErr('#').msg
end

function scene.draw()
Expand All @@ -33,8 +33,8 @@ function scene.draw()
end

scene.widgetList={
WIDGET.new{type='button',x=940,y=640,w=170,h=80,sound='key',fontSize=65,text=CHAR.icon.console,code=WIDGET.c_goScn'_console'},
WIDGET.new{type='button',x=1140,y=640,w=170,h=80,sound='key',fontSize=40,text=CHAR.icon.cross_big,code=love.event.quit},
WIDGET.new{type='button',x=940,y=640,w=170,h=80,sound_press='key',fontSize=65,text=CHAR.icon.console,code=WIDGET.c_goScn'_console'},
WIDGET.new{type='button',x=1140,y=640,w=170,h=80,sound_press='key',fontSize=40,text=CHAR.icon.cross_big,code=love.event.quit},
}

return scene
4 changes: 2 additions & 2 deletions assets/scene/game.lua
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,7 @@ function scene.draw()
end

scene.widgetList={
WIDGET.new{type='button',pos={0,0},x=40,y=60,w=50, sound='back',text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button',pos={0,0},x=100,y=60,w=50,sound='key',text=CHAR.icon.retry,code=WIDGET.c_pressKey'restart'},
WIDGET.new{type='button',pos={0,0},x=40,y=60,w=50, sound_press='back',text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button',pos={0,0},x=100,y=60,w=50,sound_press='key',text=CHAR.icon.retry,code=WIDGET.c_pressKey'restart'},
}
return scene
24 changes: 12 additions & 12 deletions assets/scene/lang.lua
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,21 @@ local function _setLang(lid)
end

scene.widgetList={
WIDGET.new{type='button_fill',x=270,y=210,w=330,h=100,fontSize=40, text=langList.en, color='R', sound='check',code=function() _setLang('en') end},
WIDGET.new{type='button' ,x=270,y=330,w=330,h=100,fontSize=40, text='', color='F', sound='check'},
WIDGET.new{type='button' ,x=270,y=450,w=330,h=100,fontSize=35, text='', color='O', sound='check'},
WIDGET.new{type='button' ,x=270,y=570,w=330,h=100,fontSize=35, text='', color='Y', sound='check'},
WIDGET.new{type='button_fill',x=270,y=210,w=330,h=100,fontSize=40, text=langList.en, color='R', sound_press='check',code=function() _setLang('en') end},
WIDGET.new{type='button' ,x=270,y=330,w=330,h=100,fontSize=40, text='', color='F', sound_press='check'},
WIDGET.new{type='button' ,x=270,y=450,w=330,h=100,fontSize=35, text='', color='O', sound_press='check'},
WIDGET.new{type='button' ,x=270,y=570,w=330,h=100,fontSize=35, text='', color='Y', sound_press='check'},

WIDGET.new{type='button' ,x=640,y=210,w=330,h=100,fontSize=40, text='', color='A', sound='check'},
WIDGET.new{type='button' ,x=640,y=330,w=330,h=100,fontSize=40, text='', color='K', sound='check'},
WIDGET.new{type='button' ,x=640,y=450,w=330,h=100,fontSize=40, text='', color='G', sound='check'},
WIDGET.new{type='button' ,x=640,y=570,w=330,h=100,fontSize=40, text='', color='J', sound='check'},
WIDGET.new{type='button' ,x=640,y=210,w=330,h=100,fontSize=40, text='', color='A', sound_press='check'},
WIDGET.new{type='button' ,x=640,y=330,w=330,h=100,fontSize=40, text='', color='K', sound_press='check'},
WIDGET.new{type='button' ,x=640,y=450,w=330,h=100,fontSize=40, text='', color='G', sound_press='check'},
WIDGET.new{type='button' ,x=640,y=570,w=330,h=100,fontSize=40, text='', color='J', sound_press='check'},

WIDGET.new{type='button_fill',x=1000,y=210,w=330,h=100,fontSize=40,text=langList.zh, color='I', sound='check',code=function() _setLang('zh') end},
WIDGET.new{type='button' ,x=1000,y=330,w=330,h=100,fontSize=40,text='', color='B', sound='check'},
WIDGET.new{type='button' ,x=1000,y=450,w=330,h=100,fontSize=40,text='', color='P', sound='check'},
WIDGET.new{type='button_fill',x=1000,y=210,w=330,h=100,fontSize=40,text=langList.zh, color='I', sound_press='check',code=function() _setLang('zh') end},
WIDGET.new{type='button' ,x=1000,y=330,w=330,h=100,fontSize=40,text='', color='B', sound_press='check'},
WIDGET.new{type='button' ,x=1000,y=450,w=330,h=100,fontSize=40,text='', color='P', sound_press='check'},

WIDGET.new{type='button_fill',x=1000,y=570,w=330,h=100,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',x=1000,y=570,w=330,h=100,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}

return scene
5 changes: 2 additions & 3 deletions assets/scene/load.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ local loadingThread=coroutine.wrap(function()
BG.setDefault(MOBILE and 'space' or 'galaxy')
BG.set()
BGM.play()
coroutine.yield('loadSFX')SFX.load('assets/effect/chiptune/')
coroutine.yield('loadVoice')VOC.load('assets/vocal/')
coroutine.yield('loadFont') for i=1,17 do FONT.get(15+5*i) end

Expand All @@ -33,8 +32,8 @@ end
function scene.mouseDown()
if LOADED then
if FIRSTLAUNCH then
SCN.pop()
SCN.push('main')
SCN._pop()
SCN._push('main')
SCN.go('lang')
else
SCN.swapTo('main')
Expand Down
2 changes: 1 addition & 1 deletion assets/scene/mapSelect.lua
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,6 @@ scene.widgetList={
WIDGET.new{type='button_fill',pos={0,1},x=320,y=-80,w=80,text=CHAR.icon.retry,color='lB',fontSize=50,code=_freshSongList,visibleFunc=function() return love.timer.getTime()-lastFreshTime>2.6 end},
WIDGET.new{type='button_fill',pos={.5,1},y=-80,w=140,h=80,text=CHAR.icon.play,color='lG',fontSize=60,code=WIDGET.c_pressKey'return'},
sortSelector,
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}
return scene
18 changes: 9 additions & 9 deletions assets/scene/result.lua
Original file line number Diff line number Diff line change
Expand Up @@ -125,28 +125,28 @@ function scene.draw()
end
GC.setColor(clr)
if c==1 then
GC.print(trophy,0,195)
GC.print(trophy,0,202)
GC.setColor(1,1,1,.626)
GC.print(trophy,0,195)
GC.print(trophy,0,202)
elseif c==2 then
GC.print(trophy,0,195)
GC.print(trophy,0,202)
GC.setColor(1,1,1,.626+.0626*sin(t*62.6))
GC.print(trophy,0,195)
GC.print(trophy,0,202)
elseif c==3 then
GC.print(trophy,0,195)
GC.print(trophy,0,202)
GC.setColor(1,1,1,.85+.15*sin(t*62.6))
GC.print(trophy,0,195)
GC.print(trophy,0,202)
elseif c>=4 then
for i=0,10 do
_stencilX=100*i
GC.stencil(_marvStencil,'replace',1)
GC.setStencilTest('equal',1)
GC.setColor(COLOR.rainbow(t*(c==4 and 2.6 or 6.26)-i))
GC.print(trophy,sin(t*355)*((c==4 and 1 or 2.6)+.6*sin(t*.626)),195+1.6*sin(t*260))
GC.print(trophy,sin(t*355)*((c==4 and 1 or 2.6)+.6*sin(t*.626)),202+1.6*sin(t*260))
GC.setStencilTest()
end
GC.setColor(1,1,1,.9)
GC.print(trophy,0,195)
GC.print(trophy,0,202)
end
end
GC.pop()
Expand All @@ -156,6 +156,6 @@ end

scene.widgetList={
WIDGET.new{type='button_fill',pos={1,1},x=-300,y=-80,w=160,h=80,fontSize=60,text=CHAR.icon.retry,code=WIDGET.c_pressKey'restart'},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}
return scene
4 changes: 2 additions & 2 deletions assets/scene/setting.lua
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ local function sliderShow_hitLV(S)
return hitTexts[S.disp()] or "?"
end

scene.scrollHeight=700
scene.scrollHeight=626
scene.widgetList={
WIDGET.new{type='slider_fill',pos={0,0},x=260, y=150,w=420,h=35,text=LANG'setting_mainVol', widthLimit=200,disp=TABLE.func_getVal(SETTINGS,'mainVol'), code=TABLE.func_setVal(SETTINGS,'mainVol')},
WIDGET.new{type='slider_fill',pos={0,0},x=260, y=200,w=420,h=35,text=LANG'setting_bgm', widthLimit=200,disp=TABLE.func_getVal(SETTINGS,'bgmVol'), code=TABLE.func_setVal(SETTINGS,'bgmVol')},
Expand Down Expand Up @@ -92,7 +92,7 @@ scene.widgetList={

WIDGET.new{type='button_fill',pos={1,1},x=-320,y=-80,w=160,h=80,fontSize=60,text=CHAR.icon.keyboard,code=WIDGET.c_goScn'setting_key'},

WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}

return scene
46 changes: 23 additions & 23 deletions assets/scene/setting_key.lua
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ function scene.keyDown(key,isRep)
end
elseif key=='backspace' then
if selected then
local binded=TABLE.search(KEY_MAP,selected)
local binded=TABLE.findAll(KEY_MAP,selected)
if binded then
KEY_MAP[binded]=nil
end
Expand All @@ -112,7 +112,7 @@ function scene.keyDown(key,isRep)
end
elseif selected then
if not forbbidenKeys[key] then
local oldKey=TABLE.search(KEY_MAP,selected)
local oldKey=TABLE.findAll(KEY_MAP,selected)
if oldKey then KEY_MAP[oldKey]=nil end
KEY_MAP[key]=selected
KEY_MAP_inv:_update()
Expand Down Expand Up @@ -156,29 +156,29 @@ local function _setSel(i)
end
end
scene.widgetList={
WIDGET.new{type='button',pos={0.10,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='L5',color='lD',code=function() _setSel(01) end},
WIDGET.new{type='button',pos={0.18,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='L4',color='lD',code=function() _setSel(02) end},
WIDGET.new{type='button',pos={0.26,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='L3',color='L' ,code=function() _setSel(03) end},
WIDGET.new{type='button',pos={0.34,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='L2',color='lB',code=function() _setSel(04) end},
WIDGET.new{type='button',pos={0.42,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='L1',color='lB',code=function() _setSel(05) end},
WIDGET.new{type='button',pos={0.50,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='C', color='L' ,code=function() _setSel(06) end},
WIDGET.new{type='button',pos={0.58,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='R1',color='lB',code=function() _setSel(07) end},
WIDGET.new{type='button',pos={0.66,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='R2',color='lB',code=function() _setSel(08) end},
WIDGET.new{type='button',pos={0.74,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='R3',color='L' ,code=function() _setSel(09) end},
WIDGET.new{type='button',pos={0.82,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='R4',color='lD',code=function() _setSel(10) end},
WIDGET.new{type='button',pos={0.90,false},x=0,y=260,w=100,h=60,sound='key',fontSize=30,text='R5',color='lD',code=function() _setSel(11) end},
WIDGET.new{type='button',pos={0.10,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='L5',color='lD',code=function() _setSel(01) end},
WIDGET.new{type='button',pos={0.18,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='L4',color='lD',code=function() _setSel(02) end},
WIDGET.new{type='button',pos={0.26,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='L3',color='L' ,code=function() _setSel(03) end},
WIDGET.new{type='button',pos={0.34,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='L2',color='lB',code=function() _setSel(04) end},
WIDGET.new{type='button',pos={0.42,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='L1',color='lB',code=function() _setSel(05) end},
WIDGET.new{type='button',pos={0.50,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='C', color='L' ,code=function() _setSel(06) end},
WIDGET.new{type='button',pos={0.58,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='R1',color='lB',code=function() _setSel(07) end},
WIDGET.new{type='button',pos={0.66,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='R2',color='lB',code=function() _setSel(08) end},
WIDGET.new{type='button',pos={0.74,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='R3',color='L' ,code=function() _setSel(09) end},
WIDGET.new{type='button',pos={0.82,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='R4',color='lD',code=function() _setSel(10) end},
WIDGET.new{type='button',pos={0.90,false},x=0,y=260,w=100,h=60,sound_press='key',fontSize=30,text='R5',color='lD',code=function() _setSel(11) end},

WIDGET.new{type='button',pos={0.1111,false},x=0,y=400,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_restart', color='lR',code=function() _setSel(12) end},
WIDGET.new{type='button',pos={0.1111,false},x=0,y=480,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_skip', color='lG',code=function() _setSel(13) end},
WIDGET.new{type='button',pos={0.1111,false},x=0,y=560,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_auto', color='lO',code=function() _setSel(14) end},
WIDGET.new{type='button',pos={0.3333,false},x=0,y=400,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_sfxVolDn', color='lL',code=function() _setSel(15) end},
WIDGET.new{type='button',pos={0.3333,false},x=0,y=480,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_sfxVolUp', color='lL',code=function() _setSel(16) end},
WIDGET.new{type='button',pos={0.5555,false},x=0,y=400,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_musicVolDn',color='lL',code=function() _setSel(17) end},
WIDGET.new{type='button',pos={0.5555,false},x=0,y=480,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_musicVolUp',color='lL',code=function() _setSel(18) end},
WIDGET.new{type='button',pos={0.7777,false},x=0,y=400,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_dropSpdDn', color='lL',code=function() _setSel(19) end},
WIDGET.new{type='button',pos={0.7777,false},x=0,y=480,w=120,h=60,sound='key',fontSize=25,text=LANG'keySetting_dropSpdUp', color='lL',code=function() _setSel(20) end},
WIDGET.new{type='button',pos={0.1111,false},x=0,y=400,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_restart', color='lR',code=function() _setSel(12) end},
WIDGET.new{type='button',pos={0.1111,false},x=0,y=480,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_skip', color='lG',code=function() _setSel(13) end},
WIDGET.new{type='button',pos={0.1111,false},x=0,y=560,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_auto', color='lO',code=function() _setSel(14) end},
WIDGET.new{type='button',pos={0.3333,false},x=0,y=400,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_sfxVolDn', color='lL',code=function() _setSel(15) end},
WIDGET.new{type='button',pos={0.3333,false},x=0,y=480,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_sfxVolUp', color='lL',code=function() _setSel(16) end},
WIDGET.new{type='button',pos={0.5555,false},x=0,y=400,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_musicVolDn',color='lL',code=function() _setSel(17) end},
WIDGET.new{type='button',pos={0.5555,false},x=0,y=480,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_musicVolUp',color='lL',code=function() _setSel(18) end},
WIDGET.new{type='button',pos={0.7777,false},x=0,y=400,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_dropSpdDn', color='lL',code=function() _setSel(19) end},
WIDGET.new{type='button',pos={0.7777,false},x=0,y=480,w=120,h=60,sound_press='key',fontSize=25,text=LANG'keySetting_dropSpdUp', color='lL',code=function() _setSel(20) end},

WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}

return scene
2 changes: 1 addition & 1 deletion assets/scene/stat.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ scene.widgetList={
end
end
},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
WIDGET.new{type='button_fill',pos={1,1},x=-120,y=-80,w=160,h=80,sound_press='back',fontSize=60,text=CHAR.icon.back,code=WIDGET.c_backScn()},
}

return scene
6 changes: 3 additions & 3 deletions assets/track.lua
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ function Track:release(weak,auto)
end
end

local approach,mix=MATH.expApproach,MATH.mix
local approach,lerp=MATH.expApproach,MATH.lerp
local animManager={
position={'x','y'},
angle={'ang'},
Expand All @@ -307,7 +307,7 @@ function Track:update(dt)
elseif animData.type=='L' then
for j=1,#animKeys do
local k=animKeys[j]
C[k]=mix(S[k],T[k],(self.time-animData.start)/animData.duration)
C[k]=lerp(S[k],T[k],(self.time-animData.start)/animData.duration)
end
if self.time>animData.start+animData.duration then
for j=1,#animKeys do
Expand All @@ -318,7 +318,7 @@ function Track:update(dt)
elseif animData.type=='T' then
for j=1,#animKeys do
local k=animKeys[j]
C[k]=mix(S[k],T[k],-math.cos((self.time-animData.start)/animData.duration*MATH.pi)*.5+.5)
C[k]=lerp(S[k],T[k],-math.cos((self.time-animData.start)/animData.duration*MATH.pi)*.5+.5)
end
if self.time>animData.start+animData.duration then
for j=1,#animKeys do
Expand Down
Loading

0 comments on commit 177bdfa

Please sign in to comment.