From 384a8fa80111fb681be0ca5f280ce45f09ba2a4f Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Sun, 22 Oct 2023 22:33:35 +0200 Subject: [PATCH] Forgot that TGM3 gives more levels for more lines! --- DMGTRIS.GB | Bin 32768 -> 32768 bytes DMGTRIS_EXPERIMENTAL_OPTIMIZATION.GB | Bin 32768 -> 0 bytes src/field.asm | 36 +++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) delete mode 100644 DMGTRIS_EXPERIMENTAL_OPTIMIZATION.GB diff --git a/DMGTRIS.GB b/DMGTRIS.GB index 9132a86720a1fd446eceb274fc86ba69c1146d15..5e1a28bf1ac380edcf756f46f39c352ee61079cc 100644 GIT binary patch delta 4759 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 diff --git a/src/field.asm b/src/field.asm index e9f3d3b..309fc11 100644 --- a/src/field.asm +++ b/src/field.asm @@ -52,6 +52,7 @@ hLineClearCt: ds 1 hComboCt: ds 1 hLockDelayForce: ds 1 hHighestStack: ds 1 +hDownFrames: ds 1 SECTION "Field Functions", ROM0 @@ -501,6 +502,7 @@ ForceSpawnPiece:: TrySpawnPiece:: ; Always reset these for a new piece. xor a, a + ldh [hDownFrames], a ldh [hLockDelayForce], a ldh a, [hCurrentLockDelay] ldh [hCurrentLockDelayRemaining], a @@ -756,6 +758,9 @@ FieldProcess:: ; Sonic drop. .sonicdrop + ldh a, [hDownFrames] + add a, 10 + ldh [hDownFrames], a ld a, 20 ldh [hWantedG], a ldh a, [hTicksUntilG] @@ -768,6 +773,9 @@ FieldProcess:: ; Hard drop. .harddrop + ldh a, [hDownFrames] + add a, 10 + ldh [hDownFrames], a ld a, 20 ld b, a ldh a, [hActualG] @@ -789,6 +797,9 @@ FieldProcess:: ldh a, [hDownState] cp a, 0 jr z, :+ + ldh a, [hDownFrames] + inc a + ldh [hDownFrames], a ld a, 1 ldh [hTicksUntilG], a @@ -1695,6 +1706,26 @@ FieldDelay:: ldh [hRequiresLineClear], a ldh a, [hLineClearCt] ld e, a + ldh a, [hSimulationMode] + cp a, MODE_TGM3 + jr z, .modifylines + cp a, MODE_TGW3 + jr z, .modifylines + jr .applylines +.modifylines + ldh a, [hLineClearCt] + cp a, 1 + jr z, .applylines + cp a, 2 + jr z, .applylines + cp a, 3 + jr z, .addone + inc a +.addone + inc a + ld e, a + ldh [hLineClearCt], a +.applylines call LevelUp ld c, a ld b, a @@ -1717,6 +1748,11 @@ FieldDelay:: rrc h rr l inc hl + ldh a, [hDownFrames] + ld c, a + xor a, a + ld b, a + add hl, bc ld b, h ld c, l ldh a, [hComboCt]