1.8
This commit is contained in:
parent
922507263e
commit
d9456244e0
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -2037,7 +2037,7 @@ FieldDelay::
|
|||
|
||||
ldh a, [hLineClearCt]
|
||||
or a, a
|
||||
jr z, .lineclear ; If not, just skip the phase.
|
||||
jp z, .lineclear ; If not, just skip the phase.
|
||||
|
||||
; There were line clears! Clear the level counter breakpoint.
|
||||
xor a, a
|
||||
|
@ -2056,6 +2056,29 @@ FieldDelay::
|
|||
; Increment the level counter by the amount of lines.
|
||||
.applylines
|
||||
ldh a, [hLineClearCt]
|
||||
ld b, a
|
||||
ld a, [wSpeedCurveState]
|
||||
cp a, SCURVE_TGM3
|
||||
jr z, .addbonus
|
||||
cp a, SCURVE_SHIR
|
||||
jr z, .addbonus
|
||||
ld a, b
|
||||
jr .neither
|
||||
.addbonus
|
||||
ld a, b
|
||||
cp a, 3
|
||||
jr z, .istriple
|
||||
cp a, 4
|
||||
jr z, .istetris
|
||||
jr .neither
|
||||
.istriple
|
||||
inc a
|
||||
jr .neither
|
||||
.istetris
|
||||
inc a
|
||||
inc a
|
||||
jr .neither
|
||||
.neither
|
||||
ld e, a
|
||||
call LevelUp
|
||||
|
||||
|
@ -4296,7 +4319,7 @@ BigFieldDelay::
|
|||
|
||||
ldh a, [hLineClearCt]
|
||||
or a, a
|
||||
jr z, .lineclear ; If not, just skip the phase.
|
||||
jp z, .lineclear ; If not, just skip the phase.
|
||||
|
||||
; There were line clears! Clear the level counter breakpoint.
|
||||
xor a, a
|
||||
|
@ -4315,6 +4338,29 @@ BigFieldDelay::
|
|||
; Increment the level counter by the amount of lines.
|
||||
.applylines
|
||||
ldh a, [hLineClearCt]
|
||||
ld b, a
|
||||
ld a, [wSpeedCurveState]
|
||||
cp a, SCURVE_TGM3
|
||||
jr z, .addbonus
|
||||
cp a, SCURVE_SHIR
|
||||
jr z, .addbonus
|
||||
ld a, b
|
||||
jr .neither
|
||||
.addbonus
|
||||
ld a, b
|
||||
cp a, 3
|
||||
jr z, .istriple
|
||||
cp a, 4
|
||||
jr z, .istetris
|
||||
jr .neither
|
||||
.istriple
|
||||
inc a
|
||||
jr .neither
|
||||
.istetris
|
||||
inc a
|
||||
inc a
|
||||
jr .neither
|
||||
.neither
|
||||
ld e, a
|
||||
call LevelUp
|
||||
|
||||
|
|
|
@ -855,7 +855,7 @@ UpdateGradeTGM1:
|
|||
; Return if B < D.
|
||||
ld a, b
|
||||
cp a, d
|
||||
ret c
|
||||
jr c, .check300
|
||||
|
||||
; We can confidently increase the grade if B > D.
|
||||
jr nz, .increasegrade
|
||||
|
@ -1231,6 +1231,11 @@ UpdateGradeSHIR:
|
|||
|
||||
|
||||
UpdateGradeTGM3:
|
||||
; Are we in the Staff Roll?
|
||||
ld a, [wInStaffRoll]
|
||||
cp a, $FF
|
||||
jp z, TGM3StaffRollGradeUpdate
|
||||
|
||||
; First things first, Update our grade points.
|
||||
.GradePoints
|
||||
; Load the Table address to HL.
|
||||
|
@ -1273,7 +1278,12 @@ UpdateGradeTGM3:
|
|||
; There are some multipliers to help us increase our grade faster
|
||||
ld hl, sTGM3ComboMultipliers
|
||||
ld a, [hComboCt] ; Example: 3
|
||||
cp a, 0
|
||||
cp a, 0 ; If we got no combo, skip all this part
|
||||
jr z, .levelmultiplier
|
||||
cp a, 11 ; If the combo is greater than 10, make it 10
|
||||
jr c, .notover10
|
||||
ld a, 10
|
||||
.notover10
|
||||
ld d, a ; ld d, 3
|
||||
ld b, 5
|
||||
ld a, b ; ld a, 5
|
||||
|
@ -1281,12 +1291,14 @@ UpdateGradeTGM3:
|
|||
: add a, b ; 5+5 = 10 ; 10+5 = 15
|
||||
dec d
|
||||
jr nz, :- ; go back if d isn't 0
|
||||
sub a, 4 ; Decrease 4 so we don't get the pointer wrong
|
||||
ld b, a ; ld b, 15
|
||||
ld a, [hLineClearCt]
|
||||
cp a, 0 ; If no lines were cleared, we don't need to do anything, just continue
|
||||
jr z, .levelmultiplier
|
||||
add a, b
|
||||
ld b, 0
|
||||
dec a
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl] ; Now we got our multiplier!, let's apply it.
|
||||
|
@ -1651,7 +1663,11 @@ TGM3REGRETHandlerB: ; Check if we took too much time to complete a section
|
|||
ret ; Done
|
||||
|
||||
|
||||
TGM3StaffRollGradeUpdate:
|
||||
TGM3StaffRollGradeUpdate::
|
||||
; Is the player already a GM?
|
||||
ld a, [wDisplayedGrade]
|
||||
cp a, GRADE_GM
|
||||
ret z ; If so, return
|
||||
; Make HL Point to the Staffroll Table
|
||||
ld hl, sTGM3StaffrollGrading
|
||||
; Get the offset, if no lines were cleared, return
|
||||
|
@ -1677,6 +1693,11 @@ TGM3StaffRollGradeUpdate:
|
|||
ld [wSubgrade], a
|
||||
ld a, [wDisplayedGrade]
|
||||
inc a
|
||||
; will the grade be S10?
|
||||
cp a, GRADE_S10
|
||||
jr nz, .nots10 ;If not, continue as normal
|
||||
ld a, GRADE_M1
|
||||
.nots10
|
||||
ld [wDisplayedGrade], a
|
||||
ret
|
||||
|
||||
|
|
|
@ -1014,8 +1014,8 @@ sTitleTiles::
|
|||
DB $00,$00,$01,$00,$00,$00,$00,$00
|
||||
DB $80,$80,$C0,$C0,$60,$60,$60,$60
|
||||
DB $F0,$F0,$F0,$F0,$E0,$E0,$C0,$C0
|
||||
DB $00,$00,$87,$00,$81,$00,$81,$00
|
||||
DB $81,$00,$D1,$00,$00,$00,$00,$00
|
||||
DB $00,$00,$87,$00,$85,$00,$87,$00 ; Version
|
||||
DB $85,$00,$D7,$00,$00,$00,$00,$00 ; Version
|
||||
DB $C0,$C0,$F0,$F0,$FC,$FC,$FF,$FF
|
||||
DB $FC,$FC,$F0,$F0,$C0,$C0,$00,$00
|
||||
DB $C0,$00,$F0,$00,$FC,$00,$FF,$00
|
||||
|
|
Binary file not shown.
|
@ -486,6 +486,21 @@ GamePlayEventLoopHandlerB::
|
|||
ld a, $FF
|
||||
ld [wGameOverIgnoreInput], a
|
||||
|
||||
; Are we in the Staff Roll?
|
||||
ld a, [wInStaffRoll]
|
||||
cp a, $FF
|
||||
jp nz, .didnotfinish ; No we aren't
|
||||
; Yes, we are
|
||||
; Did the player survive the staff roll?
|
||||
ld a, [wCountDownZero]
|
||||
cp a, $FF
|
||||
jr nz, .didnotfinish ; If not, continue
|
||||
; If it did, award the clear points
|
||||
ld a, 5
|
||||
ld [hLineClearCt], a
|
||||
call TGM3StaffRollGradeUpdate
|
||||
.didnotfinish
|
||||
|
||||
; Is it just a regular game over?
|
||||
ld a, [wKillScreenActive]
|
||||
cp a, $FF
|
||||
|
|
Loading…
Reference in New Issue