diff --git a/Zenitha b/Zenitha index be316e2f..37b0be19 160000 --- a/Zenitha +++ b/Zenitha @@ -1 +1 @@ -Subproject commit be316e2f1ddc83ec4e71adcf3969ba9ab12eda94 +Subproject commit 37b0be19c33bcf48469b30ac35fbd086901a7070 diff --git a/assets/game/basePlayer.lua b/assets/game/basePlayer.lua index c0f5092f..7c0e8ec9 100644 --- a/assets/game/basePlayer.lua +++ b/assets/game/basePlayer.lua @@ -5,51 +5,7 @@ local ins,rem=table.insert,table.remove local sign,expApproach=MATH.sign,MATH.expApproach ---- @alias Techmino.EndReason ----| 'AC' Win ----| 'WA' Block out ----| 'CE' Lock out ----| 'MLE' Top out ----| 'TLE' Time out ----| 'OLE' Finesse fault ----| 'ILE' Ran out pieces ----| 'PE' Mission failed ----| 'UKE' Other reason - --- @class Techmino.Player ---- @field gameMode Techmino.mode.playerType ---- @field id number limited to 1~1000 ---- @field group number ---- @field isMain boolean ---- @field sound boolean ---- @field settings table ---- @field buffedKey table ---- @field modeData table ---- @field soundTimeHistory table ---- @field RND love.RandomGenerator ---- @field pos {x:number, y:number, k:number, a:number, dx:number, dy:number, dk:number, da:number, vx:number, vy:number, vk:number, va:number} ---- @field finished Techmino.EndReason|boolean ---- @field realTime number ---- @field time number ---- @field gameTime number ---- @field timing boolean ---- @field texts Zenitha.Text ---- @field particles Techmino.particleSystems ---- ---- @field updateFrame function ---- @field scriptCmd function ---- @field decodeScript function ---- @field checkScriptSyntax function ---- ---- @field hand table|false @Piece object ---- @field handX number ---- @field handY number ---- @field event table ---- @field soundEvent table ---- @field _actions table ---- ---- @field receive function ---- @field render function local P={} -------------------------------------------------------------- diff --git a/assets/game/classes.lua b/assets/game/classes.lua new file mode 100644 index 00000000..8b2259c4 --- /dev/null +++ b/assets/game/classes.lua @@ -0,0 +1,134 @@ +--- @alias Techmino.Player.Type 'mino'|'puyo'|'gem' +--- @alias Techmino.Mode.Setting Techmino.Mode.Setting.Mino|Techmino.Mode.Setting.Puyo|Techmino.Mode.Setting.Gem +--- @alias Techmino.EndReason +--- | 'AC' Win +--- | 'WA' Block out +--- | 'CE' Lock out +--- | 'MLE' Top out +--- | 'TLE' Time out +--- | 'OLE' Finesse fault +--- | 'ILE' Ran out pieces +--- | 'PE' Mission failed +--- | 'UKE' Other reason + +--- @class Techmino.ParticleSystems +--- @field rectShade love.ParticleSystem +--- @field spinArrow table +--- @field star love.ParticleSystem +--- @field line love.ParticleSystem +--- @field hitSparkle love.ParticleSystem +--- @field cornerCheck love.ParticleSystem +--- @field tiltRect love.ParticleSystem +--- @field trail love.ParticleSystem +--- @field minoMapBack love.ParticleSystem + +--- @class Techmino.Mino +--- @field name string +--- @field id number +--- @field shape boolean[][] + +--- @class Techmino.Minos +--- @field Z Techmino.Mino +--- @field S Techmino.Mino +--- @field J Techmino.Mino +--- @field L Techmino.Mino +--- @field T Techmino.Mino +--- @field O Techmino.Mino +--- @field I Techmino.Mino +--- @field Z5 Techmino.Mino +--- @field S5 Techmino.Mino +--- @field P Techmino.Mino +--- @field Q Techmino.Mino +--- @field F Techmino.Mino +--- @field E Techmino.Mino +--- @field T5 Techmino.Mino +--- @field U Techmino.Mino +--- @field V Techmino.Mino +--- @field W Techmino.Mino +--- @field X Techmino.Mino +--- @field J5 Techmino.Mino +--- @field L5 Techmino.Mino +--- @field R Techmino.Mino +--- @field Y Techmino.Mino +--- @field N Techmino.Mino +--- @field H Techmino.Mino +--- @field I5 Techmino.Mino +--- @field I3 Techmino.Mino +--- @field C Techmino.Mino +--- @field I2 Techmino.Mino +--- @field O1 Techmino.Mino + +--- @class Techmino.Cell +--- @field id number ascending piece number +--- @field color number 0~63 +--- @field conn table +--- @field bias {expBack:number?, lineBack:number?, teleBack:number?, x:number, y:number} + +--- @class Techmino.RectField +--- @field _width number +--- @field _matrix (Techmino.Cell|false|any)[][] + +--- @class Techmino.Mode +--- @field initialize function Called when initializing the mode +--- @field settings table +--- @field layout 'default' Layout mode +--- @field checkFinish function Return if the game should end when a player finishes +--- @field result function Called when the game ends +--- @field resultPage fun(time:number) Drawing the result page +--- @field name string Mode name, for debug use + +--- @class Techmino.Mode.Setting.Mino +--- @class Techmino.Mode.Setting.Puyo +--- @class Techmino.Mode.Setting.Gem + +--- @class Techmino.mino.clearRule +--- @field getDelay fun(P:Techmino.Player.mino, lines:number[]): number? +--- @field isFill fun(P:Techmino.Player.mino, y:number): boolean +--- @field getFill fun(P:Techmino.Player.mino): number[]? +--- @field clear fun(P:Techmino.Player.mino, lines:number[]) + +--- @class Techmino.Game +--- @field playing boolean +--- @field playerList table|false +--- @field playerMap table|false +--- @field camera Zenitha.Camera +--- @field hitWaves table +--- @field seed number|false +--- @field mode Techmino.Mode|false +--- @field mainID number|false +--- @field mainPlayer Techmino.Player|false + +--- @class Techmino.Player +--- @field gameMode Techmino.Player.Type +--- @field id number limited to 1~1000 +--- @field group number +--- @field isMain boolean +--- @field sound boolean +--- @field settings table +--- @field buffedKey table +--- @field modeData table +--- @field soundTimeHistory table +--- @field RND love.RandomGenerator +--- @field pos {x:number, y:number, k:number, a:number, dx:number, dy:number, dk:number, da:number, vx:number, vy:number, vk:number, va:number} +--- @field finished Techmino.EndReason|boolean +--- @field realTime number +--- @field time number +--- @field gameTime number +--- @field timing boolean +--- @field texts Zenitha.Text +--- @field particles Techmino.ParticleSystems +--- +--- @field updateFrame function +--- @field scriptCmd function +--- @field decodeScript function +--- @field checkScriptSyntax function +--- +--- @field hand table|false @Piece object +--- @field handX number +--- @field handY number +--- @field event table +--- @field soundEvent table +--- @field _actions table +--- +--- @field receive function +--- @field render function diff --git a/assets/game/gemPlayer.lua b/assets/game/gemPlayer.lua index 4edcfc97..ab717d03 100644 --- a/assets/game/gemPlayer.lua +++ b/assets/game/gemPlayer.lua @@ -977,6 +977,7 @@ function GP:checkScriptSyntax(cmd,arg,errMsg) end -------------------------------------------------------------- -- Builder +--- @class Techmino.Mode.Setting.Gem local baseEnv={ -- Size fieldSize=8, diff --git a/assets/game/init.lua b/assets/game/init.lua index b2820bc3..514fc21e 100644 --- a/assets/game/init.lua +++ b/assets/game/init.lua @@ -1,14 +1,3 @@ ---- @alias Techmino.mode.playerType 'mino'|'puyo'|'gem' - ---- @class Techmino.mode ---- @field initialize function Called when initializing the mode ---- @field settings table ---- @field layout 'default' Layout mode ---- @field checkFinish function Return if the game should end when a player finishes ---- @field result function Called when the game ends ---- @field resultPage fun(time:number) Drawing the result page ---- @field name string Mode name, for debug use - local floor=math.floor Minoes=require'assets.game.minoes' @@ -160,16 +149,7 @@ local function task_switchToResult() end end ---- @class Techmino.game ---- @field playing boolean ---- @field playerList table|false ---- @field playerMap table|false ---- @field camera Zenitha.Camera ---- @field hitWaves table ---- @field seed number|false ---- @field mode Techmino.mode|false ---- @field mainID number|false ---- @field mainPlayer Techmino.Player|false +--- @class Techmino.Game local GAME={ playing=false, @@ -188,6 +168,7 @@ local GAME={ GAME.camera.moveSpeed=12 +--- @return Techmino.Mode function GAME.getMode(name) if modeLib[name] and not love.keyboard.isDown('f5') then return modeLib[name] diff --git a/assets/game/mechanicLib/mino/clearRule.lua b/assets/game/mechanicLib/mino/clearRule.lua index 06a8d8c5..d74c2d73 100644 --- a/assets/game/mechanicLib/mino/clearRule.lua +++ b/assets/game/mechanicLib/mino/clearRule.lua @@ -1,12 +1,6 @@ ---- @class Techmino.mino.clearRule ---- @field getDelay fun(P:Techmino.Player.mino, lines:number[]): number? ---- @field isFill fun(P:Techmino.Player.mino, y:number): boolean ---- @field getFill fun(P:Techmino.Player.mino): number[]? ---- @field clear fun(P:Techmino.Player.mino, lines:number[]) - local ins,rem=table.insert,table.remove ---- @type Techmino.mino.clearRule[] +--- @type table local clearRule={} local function setBias(P,x,y,dx,dy,moveType,clearDelay) diff --git a/assets/game/minoPlayer.lua b/assets/game/minoPlayer.lua index 7377fd0d..dbe9ba88 100644 --- a/assets/game/minoPlayer.lua +++ b/assets/game/minoPlayer.lua @@ -1998,6 +1998,7 @@ function MP:checkScriptSyntax(cmd,arg,errMsg) end -------------------------------------------------------------- -- Builder +--- @class Techmino.Mode.Setting.Mino local baseEnv={ -- Size fieldW=10,-- [WARNING] This is not the real field width, just for generate field object. Change real field size with 'self:changeFieldWidth' diff --git a/assets/game/minoes.lua b/assets/game/minoes.lua index fdda7ab5..160c6aaf 100644 --- a/assets/game/minoes.lua +++ b/assets/game/minoes.lua @@ -1,42 +1,6 @@ ---- @class Techmino.mino ---- @field name string ---- @field id number ---- @field shape boolean[][] - ---- @class Techmino.minos ---- @field Z Techmino.mino ---- @field S Techmino.mino ---- @field J Techmino.mino ---- @field L Techmino.mino ---- @field T Techmino.mino ---- @field O Techmino.mino ---- @field I Techmino.mino ---- @field Z5 Techmino.mino ---- @field S5 Techmino.mino ---- @field P Techmino.mino ---- @field Q Techmino.mino ---- @field F Techmino.mino ---- @field E Techmino.mino ---- @field T5 Techmino.mino ---- @field U Techmino.mino ---- @field V Techmino.mino ---- @field W Techmino.mino ---- @field X Techmino.mino ---- @field J5 Techmino.mino ---- @field L5 Techmino.mino ---- @field R Techmino.mino ---- @field Y Techmino.mino ---- @field N Techmino.mino ---- @field H Techmino.mino ---- @field I5 Techmino.mino ---- @field I3 Techmino.mino ---- @field C Techmino.mino ---- @field I2 Techmino.mino ---- @field O1 Techmino.mino - local O,_=true,false ---- @type Techmino.minos +--- @type Techmino.Minos local minoes={ -- Tetromino {name='Z', id=01,shape={{_,O,O},{O,O,_}}}, diff --git a/assets/game/minomap.lua b/assets/game/minomap.lua index a1501ad2..68ef67bc 100644 --- a/assets/game/minomap.lua +++ b/assets/game/minomap.lua @@ -70,7 +70,7 @@ local modes={ } -- Initialize modes' graphic values for _,m in next,modes do - m.enable=false + m.enable=1 m.state=-1 m.active=0 m.x=30*(m.pos[1]-m.pos[2])*(3^.5/2) diff --git a/assets/game/mode/mino/exterior/backfire_100.lua b/assets/game/mode/mino/exterior/backfire_100.lua index 4bee9c3e..89530a54 100644 --- a/assets/game/mode/mino/exterior/backfire_100.lua +++ b/assets/game/mode/mino/exterior/backfire_100.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/backfire_amplify_100.lua b/assets/game/mode/mino/exterior/backfire_amplify_100.lua index 70c9dc33..c846875a 100644 --- a/assets/game/mode/mino/exterior/backfire_amplify_100.lua +++ b/assets/game/mode/mino/exterior/backfire_amplify_100.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/backfire_cheese_100.lua b/assets/game/mode/mino/exterior/backfire_cheese_100.lua index bd7e9387..847fa3e5 100644 --- a/assets/game/mode/mino/exterior/backfire_cheese_100.lua +++ b/assets/game/mode/mino/exterior/backfire_cheese_100.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/combo_practice.lua b/assets/game/mode/mino/exterior/combo_practice.lua index 834cbe44..1ad9df73 100644 --- a/assets/game/mode/mino/exterior/combo_practice.lua +++ b/assets/game/mode/mino/exterior/combo_practice.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_100.lua b/assets/game/mode/mino/exterior/dig_100.lua index a1bc1c1d..eb8092a2 100644 --- a/assets/game/mode/mino/exterior/dig_100.lua +++ b/assets/game/mode/mino/exterior/dig_100.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_40.lua b/assets/game/mode/mino/exterior/dig_40.lua index 57cf3f7c..90d6d94c 100644 --- a/assets/game/mode/mino/exterior/dig_40.lua +++ b/assets/game/mode/mino/exterior/dig_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_400.lua b/assets/game/mode/mino/exterior/dig_400.lua index 1a520e72..aca04c9f 100644 --- a/assets/game/mode/mino/exterior/dig_400.lua +++ b/assets/game/mode/mino/exterior/dig_400.lua @@ -1,4 +1,5 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_checker.lua b/assets/game/mode/mino/exterior/dig_checker.lua index c2b7ccdb..ff7bf582 100644 --- a/assets/game/mode/mino/exterior/dig_checker.lua +++ b/assets/game/mode/mino/exterior/dig_checker.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_practice.lua b/assets/game/mode/mino/exterior/dig_practice.lua index 73997f9d..d918be94 100644 --- a/assets/game/mode/mino/exterior/dig_practice.lua +++ b/assets/game/mode/mino/exterior/dig_practice.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_shale.lua b/assets/game/mode/mino/exterior/dig_shale.lua index 4b08da13..cd2722c4 100644 --- a/assets/game/mode/mino/exterior/dig_shale.lua +++ b/assets/game/mode/mino/exterior/dig_shale.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/dig_volcanics.lua b/assets/game/mode/mino/exterior/dig_volcanics.lua index 8b3847a5..626c0726 100644 --- a/assets/game/mode/mino/exterior/dig_volcanics.lua +++ b/assets/game/mode/mino/exterior/dig_volcanics.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/hypersonic_hd.lua b/assets/game/mode/mino/exterior/hypersonic_hd.lua index 4f1f6131..9e1a1b14 100644 --- a/assets/game/mode/mino/exterior/hypersonic_hd.lua +++ b/assets/game/mode/mino/exterior/hypersonic_hd.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/hypersonic_hi.lua b/assets/game/mode/mino/exterior/hypersonic_hi.lua index e794c614..82d472df 100644 --- a/assets/game/mode/mino/exterior/hypersonic_hi.lua +++ b/assets/game/mode/mino/exterior/hypersonic_hi.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/hypersonic_lo.lua b/assets/game/mode/mino/exterior/hypersonic_lo.lua index 183de040..bbea5dbb 100644 --- a/assets/game/mode/mino/exterior/hypersonic_lo.lua +++ b/assets/game/mode/mino/exterior/hypersonic_lo.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/hypersonic_ti.lua b/assets/game/mode/mino/exterior/hypersonic_ti.lua index bbbbd17a..873a8f3f 100644 --- a/assets/game/mode/mino/exterior/hypersonic_ti.lua +++ b/assets/game/mode/mino/exterior/hypersonic_ti.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/marathon.lua b/assets/game/mode/mino/exterior/marathon.lua index dd8f2e86..74c111dc 100644 --- a/assets/game/mode/mino/exterior/marathon.lua +++ b/assets/game/mode/mino/exterior/marathon.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_10.lua b/assets/game/mode/mino/exterior/sprint_10.lua index 7d62ec77..48d11d45 100644 --- a/assets/game/mode/mino/exterior/sprint_10.lua +++ b/assets/game/mode/mino/exterior/sprint_10.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_1000.lua b/assets/game/mode/mino/exterior/sprint_1000.lua index 8e16b956..8658c329 100644 --- a/assets/game/mode/mino/exterior/sprint_1000.lua +++ b/assets/game/mode/mino/exterior/sprint_1000.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_200.lua b/assets/game/mode/mino/exterior/sprint_200.lua index 4b2357e8..8b737988 100644 --- a/assets/game/mode/mino/exterior/sprint_200.lua +++ b/assets/game/mode/mino/exterior/sprint_200.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_40.lua b/assets/game/mode/mino/exterior/sprint_40.lua index 6d808680..0189d629 100644 --- a/assets/game/mode/mino/exterior/sprint_40.lua +++ b/assets/game/mode/mino/exterior/sprint_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_big_80.lua b/assets/game/mode/mino/exterior/sprint_big_80.lua index 82d2d09d..ba370a3c 100644 --- a/assets/game/mode/mino/exterior/sprint_big_80.lua +++ b/assets/game/mode/mino/exterior/sprint_big_80.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_blind_40.lua b/assets/game/mode/mino/exterior/sprint_blind_40.lua index 00ee6c5e..00bf1d31 100644 --- a/assets/game/mode/mino/exterior/sprint_blind_40.lua +++ b/assets/game/mode/mino/exterior/sprint_blind_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_delay_20.lua b/assets/game/mode/mino/exterior/sprint_delay_20.lua index e427d804..7339a230 100644 --- a/assets/game/mode/mino/exterior/sprint_delay_20.lua +++ b/assets/game/mode/mino/exterior/sprint_delay_20.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_dizzy_40.lua b/assets/game/mode/mino/exterior/sprint_dizzy_40.lua index 718f578a..87cf020f 100644 --- a/assets/game/mode/mino/exterior/sprint_dizzy_40.lua +++ b/assets/game/mode/mino/exterior/sprint_dizzy_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_drought_40.lua b/assets/game/mode/mino/exterior/sprint_drought_40.lua index 5ba052cb..c94c1298 100644 --- a/assets/game/mode/mino/exterior/sprint_drought_40.lua +++ b/assets/game/mode/mino/exterior/sprint_drought_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_fix_20.lua b/assets/game/mode/mino/exterior/sprint_fix_20.lua index f3f7596f..3c515f0e 100644 --- a/assets/game/mode/mino/exterior/sprint_fix_20.lua +++ b/assets/game/mode/mino/exterior/sprint_fix_20.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_flip_40.lua b/assets/game/mode/mino/exterior/sprint_flip_40.lua index f372a7d7..e36ca132 100644 --- a/assets/game/mode/mino/exterior/sprint_flip_40.lua +++ b/assets/game/mode/mino/exterior/sprint_flip_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_float_40.lua b/assets/game/mode/mino/exterior/sprint_float_40.lua index 53546c85..ea786a9b 100644 --- a/assets/game/mode/mino/exterior/sprint_float_40.lua +++ b/assets/game/mode/mino/exterior/sprint_float_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_flood_40.lua b/assets/game/mode/mino/exterior/sprint_flood_40.lua index d913e5a5..e246a8f3 100644 --- a/assets/game/mode/mino/exterior/sprint_flood_40.lua +++ b/assets/game/mode/mino/exterior/sprint_flood_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_hide_40.lua b/assets/game/mode/mino/exterior/sprint_hide_40.lua index 4aa54b66..2f2e21de 100644 --- a/assets/game/mode/mino/exterior/sprint_hide_40.lua +++ b/assets/game/mode/mino/exterior/sprint_hide_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_invis_40.lua b/assets/game/mode/mino/exterior/sprint_invis_40.lua index 29810eab..6575823d 100644 --- a/assets/game/mode/mino/exterior/sprint_invis_40.lua +++ b/assets/game/mode/mino/exterior/sprint_invis_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_lock_20.lua b/assets/game/mode/mino/exterior/sprint_lock_20.lua index 6edcaf73..2e5fce42 100644 --- a/assets/game/mode/mino/exterior/sprint_lock_20.lua +++ b/assets/game/mode/mino/exterior/sprint_lock_20.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_low_40.lua b/assets/game/mode/mino/exterior/sprint_low_40.lua index 92d04b1d..228e6d25 100644 --- a/assets/game/mode/mino/exterior/sprint_low_40.lua +++ b/assets/game/mode/mino/exterior/sprint_low_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_mph_40.lua b/assets/game/mode/mino/exterior/sprint_mph_40.lua index 9284f048..c64d2968 100644 --- a/assets/game/mode/mino/exterior/sprint_mph_40.lua +++ b/assets/game/mode/mino/exterior/sprint_mph_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_obstacle_20.lua b/assets/game/mode/mino/exterior/sprint_obstacle_20.lua index 547e0c8e..059ced8e 100644 --- a/assets/game/mode/mino/exterior/sprint_obstacle_20.lua +++ b/assets/game/mode/mino/exterior/sprint_obstacle_20.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_pento_40.lua b/assets/game/mode/mino/exterior/sprint_pento_40.lua index ae71e9b9..139f54d5 100644 --- a/assets/game/mode/mino/exterior/sprint_pento_40.lua +++ b/assets/game/mode/mino/exterior/sprint_pento_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_randctrl_40.lua b/assets/game/mode/mino/exterior/sprint_randctrl_40.lua index 82668738..17fcfb7c 100644 --- a/assets/game/mode/mino/exterior/sprint_randctrl_40.lua +++ b/assets/game/mode/mino/exterior/sprint_randctrl_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_small_20.lua b/assets/game/mode/mino/exterior/sprint_small_20.lua index 98f752a8..07841be8 100644 --- a/assets/game/mode/mino/exterior/sprint_small_20.lua +++ b/assets/game/mode/mino/exterior/sprint_small_20.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_sym_40.lua b/assets/game/mode/mino/exterior/sprint_sym_40.lua index 5254e7d7..62b9b811 100644 --- a/assets/game/mode/mino/exterior/sprint_sym_40.lua +++ b/assets/game/mode/mino/exterior/sprint_sym_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/sprint_wind_40.lua b/assets/game/mode/mino/exterior/sprint_wind_40.lua index 9161008d..72ae1417 100644 --- a/assets/game/mode/mino/exterior/sprint_wind_40.lua +++ b/assets/game/mode/mino/exterior/sprint_wind_40.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/survivor_b2b.lua b/assets/game/mode/mino/exterior/survivor_b2b.lua index fd3657c8..4262c01d 100644 --- a/assets/game/mode/mino/exterior/survivor_b2b.lua +++ b/assets/game/mode/mino/exterior/survivor_b2b.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/survivor_cheese.lua b/assets/game/mode/mino/exterior/survivor_cheese.lua index 335144d4..b5e08628 100644 --- a/assets/game/mode/mino/exterior/survivor_cheese.lua +++ b/assets/game/mode/mino/exterior/survivor_cheese.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/survivor_spike.lua b/assets/game/mode/mino/exterior/survivor_spike.lua index b53b0534..a00953c3 100644 --- a/assets/game/mode/mino/exterior/survivor_spike.lua +++ b/assets/game/mode/mino/exterior/survivor_spike.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/techrash_easy.lua b/assets/game/mode/mino/exterior/techrash_easy.lua index eaafd6dd..23f41e53 100644 --- a/assets/game/mode/mino/exterior/techrash_easy.lua +++ b/assets/game/mode/mino/exterior/techrash_easy.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/techrash_hard.lua b/assets/game/mode/mino/exterior/techrash_hard.lua index 026d506e..67411fcb 100644 --- a/assets/game/mode/mino/exterior/techrash_hard.lua +++ b/assets/game/mode/mino/exterior/techrash_hard.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/test.lua b/assets/game/mode/mino/exterior/test.lua index 172bb940..fc7a5168 100644 --- a/assets/game/mode/mino/exterior/test.lua +++ b/assets/game/mode/mino/exterior/test.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/tsd_easy.lua b/assets/game/mode/mino/exterior/tsd_easy.lua index c4090776..bf0ffc01 100644 --- a/assets/game/mode/mino/exterior/tsd_easy.lua +++ b/assets/game/mode/mino/exterior/tsd_easy.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/tsd_hard.lua b/assets/game/mode/mino/exterior/tsd_hard.lua index 5cb03908..11ad3b94 100644 --- a/assets/game/mode/mino/exterior/tsd_hard.lua +++ b/assets/game/mode/mino/exterior/tsd_hard.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/exterior/ultra.lua b/assets/game/mode/mino/exterior/ultra.lua index ca55e362..928e0ae6 100644 --- a/assets/game/mode/mino/exterior/ultra.lua +++ b/assets/game/mode/mino/exterior/ultra.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/dig.lua b/assets/game/mode/mino/interior/dig.lua index 2295bf4c..475b5262 100644 --- a/assets/game/mode/mino/interior/dig.lua +++ b/assets/game/mode/mino/interior/dig.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/marathon.lua b/assets/game/mode/mino/interior/marathon.lua index c8afc72d..b1be9d4f 100644 --- a/assets/game/mode/mino/interior/marathon.lua +++ b/assets/game/mode/mino/interior/marathon.lua @@ -1,6 +1,7 @@ local gc=love.graphics local dropSpeed={1000,833,666,500,400,300,200,150,100,70,50,30,22,16,12,8,7,6,5,4} +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/sprint.lua b/assets/game/mode/mino/interior/sprint.lua index ea5fe180..7933f4fa 100644 --- a/assets/game/mode/mino/interior/sprint.lua +++ b/assets/game/mode/mino/interior/sprint.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/test.lua b/assets/game/mode/mino/interior/test.lua index 4babf02b..fc2c3d3c 100644 --- a/assets/game/mode/mino/interior/test.lua +++ b/assets/game/mode/mino/interior/test.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/train.lua b/assets/game/mode/mino/interior/train.lua index 41bc6d11..cd73c6f9 100644 --- a/assets/game/mode/mino/interior/train.lua +++ b/assets/game/mode/mino/interior/train.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/tutorial/1.basic.lua b/assets/game/mode/mino/interior/tutorial/1.basic.lua index 24360f8a..684c9f1c 100644 --- a/assets/game/mode/mino/interior/tutorial/1.basic.lua +++ b/assets/game/mode/mino/interior/tutorial/1.basic.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/tutorial/2.sequence.lua b/assets/game/mode/mino/interior/tutorial/2.sequence.lua index 81144260..53453ad5 100644 --- a/assets/game/mode/mino/interior/tutorial/2.sequence.lua +++ b/assets/game/mode/mino/interior/tutorial/2.sequence.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/tutorial/4.stackBasic.lua b/assets/game/mode/mino/interior/tutorial/4.stackBasic.lua index 097def53..cca08196 100644 --- a/assets/game/mode/mino/interior/tutorial/4.stackBasic.lua +++ b/assets/game/mode/mino/interior/tutorial/4.stackBasic.lua @@ -22,6 +22,7 @@ local correctPositions={ } } +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/mino/interior/tutorial/5.twoRotatingKey.lua b/assets/game/mode/mino/interior/tutorial/5.twoRotatingKey.lua index 0b604b2b..aa4a3cab 100644 --- a/assets/game/mode/mino/interior/tutorial/5.twoRotatingKey.lua +++ b/assets/game/mode/mino/interior/tutorial/5.twoRotatingKey.lua @@ -53,6 +53,7 @@ local correctPositions={ {x=10, y=1, dir={1,3}}, } +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/mode/puyo/test.lua b/assets/game/mode/puyo/test.lua index 532a9f3a..1c6856fe 100644 --- a/assets/game/mode/puyo/test.lua +++ b/assets/game/mode/puyo/test.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'puyo') diff --git a/assets/game/mode/test/battle.lua b/assets/game/mode/test/battle.lua index c94df8ff..023aaaf2 100644 --- a/assets/game/mode/test/battle.lua +++ b/assets/game/mode/test/battle.lua @@ -1,3 +1,4 @@ +--- @type Techmino.Mode return { initialize=function() GAME.newPlayer(1,'mino') diff --git a/assets/game/particleSystemTemplate.lua b/assets/game/particleSystemTemplate.lua index c21e7f2e..6f164415 100644 --- a/assets/game/particleSystemTemplate.lua +++ b/assets/game/particleSystemTemplate.lua @@ -1,13 +1,4 @@ ---- @class Techmino.particleSystems ---- @field rectShade love.ParticleSystem ---- @field spinArrow table ---- @field star love.ParticleSystem ---- @field line love.ParticleSystem ---- @field hitSparkle love.ParticleSystem ---- @field cornerCheck love.ParticleSystem ---- @field tiltRect love.ParticleSystem ---- @field trail love.ParticleSystem ---- @field minoMapBack love.ParticleSystem +--- @type Techmino.ParticleSystems local ps={} do-- Moving diff --git a/assets/game/puyoPlayer.lua b/assets/game/puyoPlayer.lua index f45a7b0e..105a92db 100644 --- a/assets/game/puyoPlayer.lua +++ b/assets/game/puyoPlayer.lua @@ -1313,6 +1313,7 @@ function PP:checkScriptSyntax(cmd,arg,errMsg) end -------------------------------------------------------------- -- Builder +--- @class Techmino.Mode.Setting.Puyo local baseEnv={ -- Size fieldW=6,-- [WARNING] This is not the real field width, just for generate field object. Change real field size with 'self:changeFieldWidth' diff --git a/assets/game/rectField.lua b/assets/game/rectField.lua index 93624263..59e5303d 100644 --- a/assets/game/rectField.lua +++ b/assets/game/rectField.lua @@ -1,14 +1,6 @@ local gc=love.graphics ---- @class Techmino.Cell ---- @field id number ascending piece number ---- @field color number 0~63 ---- @field conn table ---- @field bias {expBack:number?, lineBack:number?, teleBack:number?, x:number, y:number} - --- @class Techmino.RectField ---- @field _width number ---- @field _matrix (Techmino.Cell|false|any)[][] local F={} --------------------------------------------------------------