Resolves change requests

This commit is contained in:
SweetSea-ButImNotSweet
2024-01-08 11:33:01 +07:00
parent dc8488ff61
commit 536174220d
6 changed files with 57 additions and 82 deletions

View File

@@ -369,45 +369,44 @@ do-- Mod data
end end
end end end end
MODOPT={-- Mod options MODOPT={-- Mod options
-- funcA always triggered, funcA1 only triggered once, but both functions can lock values
{no=0,id="NX",name="next", {no=0,id="NX",name="next",
key="q",x=80,y=230,color='lO', key="q",x=80,y=230,color='lO',
list={0,1,2,3,4,5,6}, list={0,1,2,3,4,5,6},
func =function(P,O) P.gameEnv.nextCount=O end, funcInit=function(P,O) P.gameEnv.nextCount=O end,
funcA1=_lockVfunc('nextCount'), funcOnce=_lockVfunc('nextCount'),
}, },
{no=1,id="HL",name="hold", {no=1,id="HL",name="hold",
key="w",x=200,y=230,color='lO', key="w",x=200,y=230,color='lO',
list={0,1,2,3,4,5,6}, list={0,1,2,3,4,5,6},
func =function(P,O) P.gameEnv.holdCount=O end, funcInit=function(P,O) P.gameEnv.holdCount=O end,
funcA1=_lockVfunc('holdCount'), funcOnce=_lockVfunc('holdCount'),
}, },
{no=2,id="FL",name="hideNext", {no=2,id="FL",name="hideNext",
key="e",x=320,y=230,color='lA', key="e",x=320,y=230,color='lA',
list={1,2,3,4,5}, list={1,2,3,4,5},
func =function(P,O) P.gameEnv.nextStartPos=O+1 end, funcInit=function(P,O) P.gameEnv.nextStartPos=O+1 end,
funcA1=_lockVfunc('nextStartPos'), funcOnce=_lockVfunc('nextStartPos'),
}, },
{no=3,id="IH",name="infHold", {no=3,id="IH",name="infHold",
key="r",x=440,y=230,color='lA', key="r",x=440,y=230,color='lA',
func =function(P) P.gameEnv.infHold=true end, funcInit=function(P) P.gameEnv.infHold=true end,
funcA1=_lockVfunc('infHold'), funcOnce=_lockVfunc('infHold'),
}, },
{no=4,id="HB",name="hideBlock", {no=4,id="HB",name="hideBlock",
key="y",x=680,y=230,color='lV', key="y",x=680,y=230,color='lV',
func =function(P) P.gameEnv.block=false end, funcInit=function(P) P.gameEnv.block=false end,
funcA1=_lockVfunc('block'), funcOnce=_lockVfunc('block'),
}, },
{no=5,id="HG",name="hideGhost", {no=5,id="HG",name="hideGhost",
key="u",x=800,y=230,color='lV', key="u",x=800,y=230,color='lV',
func =function(P) P.gameEnv.ghost=false end, funcInit=function(P) P.gameEnv.ghost=false end,
funcA1=function(P) P.gameEnv.ghost=false; P.gameEnv.__lock('ghost') end, funcOnce=function(P) P.gameEnv.ghost=false; P.gameEnv.__lock('ghost') end,
}, },
{no=6,id="HD",name="hidden", {no=6,id="HD",name="hidden",
key="i",x=920,y=230,color='lP', key="i",x=920,y=230,color='lP',
list={'easy','slow','medium','fast','none'}, list={'easy','slow','medium','fast','none'},
func =function(P,O) P.gameEnv.visible=O end, funcInit=function(P,O) P.gameEnv.visible=O end,
funcA =function(P,O) funcRepe=function(P,O)
if P.showTime~=_invisibleTime[O] then if P.showTime~=_invisibleTime[O] then
P:setInvisible(_invisibleTime[O]) P:setInvisible(_invisibleTime[O])
end end
@@ -416,22 +415,21 @@ do-- Mod data
{no=7,id="HB",name="hideBoard", {no=7,id="HB",name="hideBoard",
key="o",x=1040,y=230,color='lP', key="o",x=1040,y=230,color='lP',
list={'down','up','all'}, list={'down','up','all'},
func =function(P,O) P.gameEnv.hideBoard=O end, funcInit=function(P,O) P.gameEnv.hideBoard=O end,
funcA1=_lockVfunc('hideBoard'),
}, },
{no=8,id="FB",name="flipBoard", {no=8,id="FB",name="flipBoard",
key="p",x=1160,y=230,color='lJ', key="p",x=1160,y=230,color='lJ',
list={'U-D','L-R','180'}, list={'U-D','L-R','180'},
func =function(P,O) P.gameEnv.flipBoard=O end, funcInit=function(P,O) P.gameEnv.flipBoard=O end,
funcA1=_lockVfunc('flipBoard'), funcOnce=_lockVfunc('flipBoard'),
}, },
{no=9,id="DT",name="dropDelay", {no=9,id="DT",name="dropDelay",
key="a",x=140,y=350,color='lR', key="a",x=140,y=350,color='lR',
list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func =function(P,O) P.gameEnv.drop=O end, funcInit=function(P,O) P.gameEnv.drop=O end,
funcA =function(P,O) funcRepe=function(P,O)
if P.gameEnv.drop~=O then if P.dropDelay~=O then
P.gameEnv.drop=O P.gameEnv.drop=O
P:set20G(O==0) P:set20G(O==0)
end end
@@ -440,45 +438,45 @@ do-- Mod data
{no=10,id="LT",name="lockDelay", {no=10,id="LT",name="lockDelay",
key="s",x=260,y=350,color='lR', key="s",x=260,y=350,color='lR',
list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func =function(P,O) P.gameEnv.lock=O end, funcInit=function(P,O) P.gameEnv.lock=O end,
funcA1=_lockVfunc('lockDelay'), funcRepe=function(P,O) P.dropDelay=O end,
}, },
{no=11,id="ST",name="waitDelay", {no=11,id="ST",name="waitDelay",
key="d",x=380,y=350,color='lR', key="d",x=380,y=350,color='lR',
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func =function(P,O) P.gameEnv.wait=O end, funcInit=function(P,O) P.gameEnv.wait=O end,
funcA1=_lockVfunc('waitDelay'), funcOnce=_lockVfunc('waitDelay'),
}, },
{no=12,id="CT",name="fallDelay", {no=12,id="CT",name="fallDelay",
key="f",x=500,y=350,color='lR', key="f",x=500,y=350,color='lR',
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func =function(P,O) P.gameEnv.fall=O end, funcInit=function(P,O) P.gameEnv.fall=O end,
funcA1=_lockVfunc('fallDelay'), funcOnce=_lockVfunc('fallDelay'),
}, },
{no=13,id="LF",name="life", {no=13,id="LF",name="life",
key="j",x=860,y=350,color='lY', key="j",x=860,y=350,color='lY',
list={0,1,2,3,5,10,15,26,42,87,500}, list={0,1,2,3,5,10,15,26,42,87,500},
func =function(P,O) P.gameEnv.life=O end, funcInit=function(P,O) P.gameEnv.life=O end,
funcA1=_lockVfunc('life'), funcOnce=_lockVfunc('life'),
}, },
{no=14,id="FB",name="forceB2B", {no=14,id="FB",name="forceB2B",
key="k",x=980,y=350,color='lY', key="k",x=980,y=350,color='lY',
func =function(P) P.gameEnv.b2bKill=true end, funcInit=function(P) P.gameEnv.b2bKill=true end,
funcA1=_lockVfunc('b2bKill'), funcOnce=_lockVfunc('b2bKill'),
}, },
{no=15,id="PF",name="forceFinesse", {no=15,id="PF",name="forceFinesse",
key="l",x=1100,y=350,color='lY', key="l",x=1100,y=350,color='lY',
func =function(P) P.gameEnv.fineKill=true end, funcInit=function(P) P.gameEnv.fineKill=true end,
funcA1=_lockVfunc('fineKill'), funcOnce=_lockVfunc('fineKill'),
}, },
{no=16,id="TL",name="tele", {no=16,id="TL",name="tele",
key="z",x=200,y=470,color='lH', key="z",x=200,y=470,color='lH',
func =function(P) funcInit=function(P)
P.gameEnv.das,P.gameEnv.arr=0,0 P.gameEnv.das,P.gameEnv.arr=0,0
P.gameEnv.sddas,P.gameEnv.sdarr=0,0 P.gameEnv.sddas,P.gameEnv.sdarr=0,0
end, end,
funcA1=function(P) funcOnce=function(P)
for _,k in pairs{'das','arr','sddas','sdarr'} do for _,k in pairs{'das','arr','sddas','sdarr'} do
P.gameEnv[k]=0 P.gameEnv[k]=0
P.gameEnv.__lock(k) P.gameEnv.__lock(k)
@@ -487,7 +485,7 @@ do-- Mod data
}, },
{no=17,id="FX",name="noRotation", {no=17,id="FX",name="noRotation",
key="x",x=320,y=470,color='lH', key="x",x=320,y=470,color='lH',
func =function(P) funcInit=function(P)
_disableKey(P,3) _disableKey(P,3)
_disableKey(P,4) _disableKey(P,4)
_disableKey(P,5) _disableKey(P,5)
@@ -495,7 +493,7 @@ do-- Mod data
}, },
{no=18,id="GL",name="noMove", {no=18,id="GL",name="noMove",
key="c",x=440,y=470,color='lH', key="c",x=440,y=470,color='lH',
func =function(P) funcInit=function(P)
_disableKey(P,1) _disableKey(P,2) _disableKey(P,1) _disableKey(P,2)
_disableKey(P,11)_disableKey(P,12) _disableKey(P,11)_disableKey(P,12)
_disableKey(P,17)_disableKey(P,18) _disableKey(P,17)_disableKey(P,18)
@@ -505,20 +503,20 @@ do-- Mod data
{no=19,id="CS",name="customSeq", {no=19,id="CS",name="customSeq",
key="b",x=680,y=470,color='lB', key="b",x=680,y=470,color='lB',
list={'bag','bagES','his','hisPool','c2','bagP1inf','rnd','mess','reverb'}, list={'bag','bagES','his','hisPool','c2','bagP1inf','rnd','mess','reverb'},
func =function(P,O) P.gameEnv.sequence=O end, funcInit=function(P,O) P.gameEnv.sequence=O end,
funcA1=_lockVfunc('sequence'), funcOnce=_lockVfunc('sequence'),
}, },
{no=20,id="PS",name="pushSpeed", {no=20,id="PS",name="pushSpeed",
key="n",x=800,y=470,color='lB', key="n",x=800,y=470,color='lB',
list={.5,1,2,3,5,15,1e99}, list={.5,1,2,3,5,15,1e99},
func =function(P,O) P.gameEnv.pushSpeed=O end, funcInit=function(P,O) P.gameEnv.pushSpeed=O end,
funcA1=_lockVfunc('pushSpeed'), funcOnce=_lockVfunc('pushSpeed'),
}, },
{no=21,id="BN",name="boneBlock", {no=21,id="BN",name="boneBlock",
key="m",x=920,y=470,color='lB', key="m",x=920,y=470,color='lB',
list={'on','off'}, list={'on','off'},
func =function(P,O) P.gameEnv.bone=O end, funcInit=function(P,O) P.gameEnv.bone=O end,
funcA =function(P,O) funcRepe=function(P,O)
P.gameEnv.bone=O P.gameEnv.bone=O
if O=='on' then if O=='on' then
for _,bk in pairs(P.nextQueue) do bk.color=17 end for _,bk in pairs(P.nextQueue) do bk.color=17 end

View File

@@ -209,7 +209,7 @@ return {
tryAnotherBuild="UTF-8 decoding error. If you are using Microsoft Windows, please try to download the build with the different architecture. If you are using the x86 version of Techmino, try downloading the x64 version and vice versa.", tryAnotherBuild="UTF-8 decoding error. If you are using Microsoft Windows, please try to download the build with the different architecture. If you are using the x86 version of Techmino, try downloading the x64 version and vice versa.",
modInstruction="Choose your modifiers here!\nMods allow you to change the rules in various ways, but they can also crash the game. Feel free to play the game your way!\nNote that scores are not saved when using mods. You can also toggle mods using your keyboard keys (hold Shift to reverse).", modInstruction="Choose your modifiers here!\nMods allow you to change the rules in various ways, but they can also crash the game. Feel free to play the game your way!\nNote that scores are not saved when using mods. You can also toggle mods using your keyboard keys (hold Shift to reverse).",
modApplyAtInstruction="Choose when you want the modifier to be applied.\nprelnit: Before loading the modes. The default option in V0.17.15 and earlier, but may cause problems with certain mods.\npostInit: After loading the game. This can fix some bugs in preInit, but some mods can still be disabled by modes in some situations.\nalways: Throughout the entire game. Keeps the effects of the mods in all situations. ", modApplyAtInstruction="Choose when you want the modifier to be applied.\npreInit: Before loading the modes. The default option in V0.17.15 and earlier, but may cause problems with certain mods.\npostInit: After loading the game. This can fix some bugs in preInit, but some mods can still be disabled by modes in some situations.\nalways: Throughout the entire game. Keeps the effects of the mods in all situations. ",
modInfo={ modInfo={
next="NEXT\nOverrides the number of Next pieces displayed.", next="NEXT\nOverrides the number of Next pieces displayed.",
hold="HOLD\nOverrides the number of Hold pieces displayed.", hold="HOLD\nOverrides the number of Hold pieces displayed.",
@@ -450,7 +450,7 @@ C. Gamepad
}, },
mod={ mod={
title="Mods", title="Mods",
applyAt="Apply mods at", applyAt="Apply during",
reset="Reset (tab)", reset="Reset (tab)",
unranked="Unranked", unranked="Unranked",
}, },

View File

@@ -787,11 +787,9 @@ function draw.norm(P,repMode)
gc_scale(P.size) gc_scale(P.size)
-- Draw username -- Draw username
if GAME.modUsed and P.frameRun>GAME.modUsed*26 or not GAME.modUsed then setFont(30)
setFont(30) gc_setColor(GROUP_COLORS[P.group])
gc_setColor(GROUP_COLORS[P.group]) GC.mStr(P.username or USERS.getUsername(P.uid),300,-60)
GC.mStr(P.username or USERS.getUsername(P.uid),300,-60)
end
-- Draw HUD -- Draw HUD
if ENV.nextCount>0 then _drawNext(P,repMode) end if ENV.nextCount>0 then _drawNext(P,repMode) end

View File

@@ -203,15 +203,15 @@ local function _executeMod(P)
if GAME.mod[i]>0 then if GAME.mod[i]>0 then
local M=MODOPT[i] local M=MODOPT[i]
if applyStatus=='always' then if applyStatus=='always' then
if M.funcA1 then if M.funcOnce then
M.funcA1(P,M.list and M.list[GAME.mod[i]]) M.funcOnce(P,M.list and M.list[GAME.mod[i]])
elseif M.funcA then elseif M.funcRepe then
table.insert(GAME.modCodeList[P.id],function() M.func(P,M.list and M.list[GAME.mod[i]]) end) table.insert(GAME.modCodeList[P.id],function() M.funcInit(P,M.list and M.list[GAME.mod[i]]) end)
else else
M.func(P,M.list and M.list[GAME.mod[i]]) M.funcInit(P,M.list and M.list[GAME.mod[i]])
end end
else -- Already checked pre or post before calling _executeMod() else -- Already checked pre or post before calling _executeMod()
M.func(P,M.list and M.list[GAME.mod[i]]) M.funcInit(P,M.list and M.list[GAME.mod[i]])
end end
end end
end end

View File

@@ -108,9 +108,9 @@ function scene.draw()
GC.rotate(t) GC.rotate(t)
local rad,side=45,5 local rad,side=45,5
if GAME.modApplyAt=='always' then if GAME.modApplyAt=='always' then
if M.funcA then side=nil if M.funcRepe then side=nil
elseif M.funcA1 then side=8 elseif M.funcOnce then side=8
else side=5 end else side=5 end
end end
local color=M.color local color=M.color
GC.setColor(color[1],color[2],color[3],5*t) GC.setColor(color[1],color[2],color[3],5*t)

View File

@@ -49,31 +49,10 @@ function scene.enter()
for i,d in pairs(fullLog) do logTimeList[i]=d:split('\n')[1] end for i,d in pairs(fullLog) do logTimeList[i]=d:split('\n')[1] end
function logList:press(x)
if x then
local s=self.select
if x<self.x+self.w*.5 then
if s>1 then s=s-1
SYSFX.newShade(3,self.x,self.y-WIDGET.scrollPos,self.w*.5,60)
end
else
if s<#self.list then s=s+1
SYSFX.newShade(3,self.x+self.w*.5,self.y-WIDGET.scrollPos,self.w*.5,60)
end
end
if self.select~=s then
self.code(s)
self.select=s
self.selText=self.list[s]
if self.sound then SFX.play('selector') end
end
end
end
logList.list=logTimeList logList.list=logTimeList
logList.select=false logList.select=false
logList.disp=function() return currentLogText[1] end logList.disp=function() return currentLogText[1] end
logList.code=function(s) logList.code=function(_,s)
if s>currentLogID then scene.keyDown('right') if s>currentLogID then scene.keyDown('right')
else scene.keyDown('left') end else scene.keyDown('left') end
updateText() updateText()