mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-11-05 05:10:58 +13:00
Simplify clock reset procedures
Taken from this tutorial. Makes it like GS, but down Down + B instead of Down + B + Select. Used this tutorial: https://github.com/pret/pokecrystal/wiki/simplify-the-clock-reset-procedure
This commit is contained in:
parent
d419bf77d6
commit
26bb9fbc7b
|
|
@ -899,23 +899,22 @@ _SpaceSpaceColonText:: ; unreferenced
|
||||||
done
|
done
|
||||||
|
|
||||||
_PasswordAskResetText::
|
_PasswordAskResetText::
|
||||||
text "Password OK."
|
text "Select CONTINUE &"
|
||||||
line "Select CONTINUE &"
|
line "reset settings."
|
||||||
cont "reset settings."
|
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
_PasswordWrongText::
|
;_PasswordWrongText::
|
||||||
text "Wrong password!"
|
; text "Wrong password!"
|
||||||
prompt
|
; prompt
|
||||||
|
|
||||||
_PasswordAskResetClockText::
|
_PasswordAskResetClockText::
|
||||||
text "Reset the clock?"
|
text "Reset the clock?"
|
||||||
done
|
done
|
||||||
|
|
||||||
_PasswordAskEnterText::
|
;_PasswordAskEnterText::
|
||||||
text "Please enter the"
|
; text "Please enter the"
|
||||||
line "password."
|
; line "password."
|
||||||
done
|
; done
|
||||||
|
|
||||||
_ClearAllSaveDataText::
|
_ClearAllSaveDataText::
|
||||||
text "Clear all save"
|
text "Clear all save"
|
||||||
|
|
|
||||||
|
|
@ -1195,35 +1195,38 @@ TitleScreenMain:
|
||||||
cp D_UP + B_BUTTON + SELECT
|
cp D_UP + B_BUTTON + SELECT
|
||||||
jr z, .delete_save_data
|
jr z, .delete_save_data
|
||||||
|
|
||||||
; To bring up the clock reset dialog:
|
; Now uses the GS sequence, using Down + B
|
||||||
|
; Used this tutorial: https://github.com/pret/pokecrystal/wiki/simplify-the-clock-reset-procedure
|
||||||
|
|
||||||
; Hold Down + B + Select to initiate the sequence.
|
; To bring up the clock reset dialog, press Down + B + Select.
|
||||||
ldh a, [hClockResetTrigger]
|
ldh a, [hClockResetTrigger]
|
||||||
cp $34
|
cp $34
|
||||||
jr z, .check_clock_reset
|
jr z, .reset_clock
|
||||||
|
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and D_DOWN + B_BUTTON + SELECT
|
and D_DOWN + B_BUTTON
|
||||||
cp D_DOWN + B_BUTTON + SELECT
|
cp D_DOWN + B_BUTTON
|
||||||
jr nz, .check_start
|
jr nz, .check_start
|
||||||
|
|
||||||
ld a, $34
|
ld a, $34
|
||||||
ldh [hClockResetTrigger], a
|
ldh [hClockResetTrigger], a
|
||||||
jr .check_start
|
jr .check_start
|
||||||
|
|
||||||
; Keep Select pressed, and hold Left + Up.
|
; Removed for GS clock version
|
||||||
; Then let go of Select.
|
|
||||||
.check_clock_reset
|
|
||||||
bit SELECT_F, [hl]
|
|
||||||
jr nz, .check_start
|
|
||||||
|
|
||||||
xor a
|
; X Keep Select pressed, and hold Left + Up.
|
||||||
ldh [hClockResetTrigger], a
|
; X Then let go of Select.
|
||||||
|
;.check_clock_reset
|
||||||
|
; bit SELECT_F, [hl]
|
||||||
|
; jr nz, .check_start
|
||||||
|
|
||||||
ld a, [hl]
|
; xor a
|
||||||
and D_LEFT + D_UP
|
; ldh [hClockResetTrigger], a
|
||||||
cp D_LEFT + D_UP
|
|
||||||
jr z, .reset_clock
|
; ld a, [hl]
|
||||||
|
; and D_LEFT + D_UP
|
||||||
|
; cp D_LEFT + D_UP
|
||||||
|
; jr z, .reset_clock
|
||||||
|
|
||||||
; Press Start or A to start the game.
|
; Press Start or A to start the game.
|
||||||
.check_start
|
.check_start
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
; Password stuff has been removed.
|
||||||
|
; Done with this tutorial: https://github.com/pret/pokecrystal/wiki/simplify-the-clock-reset-procedure
|
||||||
_ResetClock:
|
_ResetClock:
|
||||||
farcall BlankScreen
|
farcall BlankScreen
|
||||||
ld b, SCGB_DIPLOMA
|
ld b, SCGB_DIPLOMA
|
||||||
|
|
@ -15,8 +17,8 @@ _ResetClock:
|
||||||
ld a, [wMenuCursorY]
|
ld a, [wMenuCursorY]
|
||||||
cp 1
|
cp 1
|
||||||
ret z
|
ret z
|
||||||
call ClockResetPassword
|
;call ClockResetPassword
|
||||||
jr c, .wrongpassword
|
;jr c, .wrongpassword
|
||||||
ld a, BANK(sRTCStatusFlags)
|
ld a, BANK(sRTCStatusFlags)
|
||||||
call OpenSRAM
|
call OpenSRAM
|
||||||
ld a, $80
|
ld a, $80
|
||||||
|
|
@ -26,18 +28,18 @@ _ResetClock:
|
||||||
call PrintText
|
call PrintText
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.wrongpassword
|
;.wrongpassword
|
||||||
ld hl, .PasswordWrongText
|
; ld hl, .PasswordWrongText
|
||||||
call PrintText
|
; call PrintText
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.PasswordAskResetText:
|
.PasswordAskResetText:
|
||||||
text_far _PasswordAskResetText
|
text_far _PasswordAskResetText
|
||||||
text_end
|
text_end
|
||||||
|
|
||||||
.PasswordWrongText:
|
;.PasswordWrongText:
|
||||||
text_far _PasswordWrongText
|
; text_far _PasswordWrongText
|
||||||
text_end
|
; text_end
|
||||||
|
|
||||||
.PasswordAskResetClockText:
|
.PasswordAskResetClockText:
|
||||||
text_far _PasswordAskResetClockText
|
text_far _PasswordAskResetClockText
|
||||||
|
|
@ -55,201 +57,201 @@ _ResetClock:
|
||||||
db "NO@"
|
db "NO@"
|
||||||
db "YES@"
|
db "YES@"
|
||||||
|
|
||||||
ClockResetPassword:
|
;ClockResetPassword:
|
||||||
call .CalculatePassword
|
; call .CalculatePassword
|
||||||
push de
|
; push de
|
||||||
ld hl, wStringBuffer2
|
; ld hl, wStringBuffer2
|
||||||
ld bc, 5
|
; ld bc, 5
|
||||||
xor a
|
; xor a
|
||||||
call ByteFill
|
; call ByteFill
|
||||||
ld a, 4
|
; ld a, 4
|
||||||
ld [wStringBuffer2 + 5], a
|
; ld [wStringBuffer2 + 5], a
|
||||||
ld hl, .PasswordAskEnterText
|
; ld hl, .PasswordAskEnterText
|
||||||
call PrintText
|
; call PrintText
|
||||||
.loop
|
;.loop
|
||||||
call .updateIDdisplay
|
; call .updateIDdisplay
|
||||||
.loop2
|
;.loop2
|
||||||
call JoyTextDelay
|
; call JoyTextDelay
|
||||||
ldh a, [hJoyLast]
|
; ldh a, [hJoyLast]
|
||||||
ld b, a
|
; ld b, a
|
||||||
and A_BUTTON
|
; and A_BUTTON
|
||||||
jr nz, .confirm
|
; jr nz, .confirm
|
||||||
ld a, b
|
; ld a, b
|
||||||
and D_PAD
|
; and D_PAD
|
||||||
jr z, .loop2
|
; jr z, .loop2
|
||||||
call .dpadinput
|
; call .dpadinput
|
||||||
ld c, 3
|
; ld c, 3
|
||||||
call DelayFrames
|
; call DelayFrames
|
||||||
jr .loop
|
; jr .loop
|
||||||
|
|
||||||
.confirm
|
;.confirm
|
||||||
call .ConvertDecIDToBytes
|
; call .ConvertDecIDToBytes
|
||||||
pop de
|
; pop de
|
||||||
ld a, e
|
; ld a, e
|
||||||
cp l
|
; cp l
|
||||||
jr nz, .nope
|
; jr nz, .nope
|
||||||
ld a, d
|
; ld a, d
|
||||||
cp h
|
; cp h
|
||||||
jr nz, .nope
|
; jr nz, .nope
|
||||||
and a
|
; and a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.nope
|
;.nope
|
||||||
scf
|
; scf
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.PasswordAskEnterText:
|
;.PasswordAskEnterText:
|
||||||
text_far _PasswordAskEnterText
|
; text_far _PasswordAskEnterText
|
||||||
text_end
|
; text_end
|
||||||
|
|
||||||
.updateIDdisplay
|
;.updateIDdisplay
|
||||||
hlcoord 14, 15
|
; hlcoord 14, 15
|
||||||
ld de, wStringBuffer2
|
; ld de, wStringBuffer2
|
||||||
ld c, 5
|
; ld c, 5
|
||||||
.loop3
|
;.loop3
|
||||||
ld a, [de]
|
; ld a, [de]
|
||||||
add "0"
|
; add "0"
|
||||||
ld [hli], a
|
; ld [hli], a
|
||||||
inc de
|
; inc de
|
||||||
dec c
|
; dec c
|
||||||
jr nz, .loop3
|
; jr nz, .loop3
|
||||||
hlcoord 14, 16
|
; hlcoord 14, 16
|
||||||
ld bc, 5
|
; ld bc, 5
|
||||||
ld a, " "
|
; ld a, " "
|
||||||
call ByteFill
|
; call ByteFill
|
||||||
hlcoord 14, 16
|
; hlcoord 14, 16
|
||||||
ld a, [wStringBuffer2 + 5]
|
; ld a, [wStringBuffer2 + 5]
|
||||||
ld e, a
|
; ld e, a
|
||||||
ld d, 0
|
; ld d, 0
|
||||||
add hl, de
|
; add hl, de
|
||||||
ld [hl], "▲"
|
; ld [hl], "▲"
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.dpadinput
|
;.dpadinput
|
||||||
ld a, b
|
; ld a, b
|
||||||
and D_LEFT
|
; and D_LEFT
|
||||||
jr nz, .left
|
; jr nz, .left
|
||||||
ld a, b
|
; ld a, b
|
||||||
and D_RIGHT
|
; and D_RIGHT
|
||||||
jr nz, .right
|
; jr nz, .right
|
||||||
ld a, b
|
; ld a, b
|
||||||
and D_UP
|
; and D_UP
|
||||||
jr nz, .up
|
; jr nz, .up
|
||||||
ld a, b
|
; ld a, b
|
||||||
and D_DOWN
|
; and D_DOWN
|
||||||
jr nz, .down
|
; jr nz, .down
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.left
|
;.left
|
||||||
ld a, [wStringBuffer2 + 5]
|
; ld a, [wStringBuffer2 + 5]
|
||||||
and a
|
; and a
|
||||||
ret z
|
; ret z
|
||||||
dec a
|
; dec a
|
||||||
ld [wStringBuffer2 + 5], a
|
; ld [wStringBuffer2 + 5], a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.right
|
;.right
|
||||||
ld a, [wStringBuffer2 + 5]
|
; ld a, [wStringBuffer2 + 5]
|
||||||
cp 4
|
; cp 4
|
||||||
ret z
|
; ret z
|
||||||
inc a
|
; inc a
|
||||||
ld [wStringBuffer2 + 5], a
|
; ld [wStringBuffer2 + 5], a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.up
|
;.up
|
||||||
call .getcurrentdigit
|
; call .getcurrentdigit
|
||||||
ld a, [hl]
|
; ld a, [hl]
|
||||||
cp 9
|
; cp 9
|
||||||
jr z, .wraparound_up
|
; jr z, .wraparound_up
|
||||||
inc a
|
; inc a
|
||||||
ld [hl], a
|
; ld [hl], a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.wraparound_up
|
;.wraparound_up
|
||||||
ld [hl], 0
|
; ld [hl], 0
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.down
|
;.down
|
||||||
call .getcurrentdigit
|
; call .getcurrentdigit
|
||||||
ld a, [hl]
|
; ld a, [hl]
|
||||||
and a
|
; and a
|
||||||
jr z, .wraparound_down
|
; jr z, .wraparound_down
|
||||||
dec a
|
; dec a
|
||||||
ld [hl], a
|
; ld [hl], a
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.wraparound_down
|
;.wraparound_down
|
||||||
ld [hl], 9
|
; ld [hl], 9
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.getcurrentdigit
|
;.getcurrentdigit
|
||||||
ld a, [wStringBuffer2 + 5]
|
; ld a, [wStringBuffer2 + 5]
|
||||||
ld e, a
|
; ld e, a
|
||||||
ld d, 0
|
; ld d, 0
|
||||||
ld hl, wStringBuffer2
|
; ld hl, wStringBuffer2
|
||||||
add hl, de
|
; add hl, de
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.ConvertDecIDToBytes:
|
;.ConvertDecIDToBytes:
|
||||||
ld hl, 0
|
; ld hl, 0
|
||||||
ld de, wStringBuffer2 + 4
|
; ld de, wStringBuffer2 + 4
|
||||||
ld bc, 1
|
; ld bc, 1
|
||||||
call .ConvertToBytes
|
; call .ConvertToBytes
|
||||||
ld bc, 10
|
; ld bc, 10
|
||||||
call .ConvertToBytes
|
; call .ConvertToBytes
|
||||||
ld bc, 100
|
; ld bc, 100
|
||||||
call .ConvertToBytes
|
; call .ConvertToBytes
|
||||||
ld bc, 1000
|
; ld bc, 1000
|
||||||
call .ConvertToBytes
|
; call .ConvertToBytes
|
||||||
ld bc, 10000
|
; ld bc, 10000
|
||||||
.ConvertToBytes:
|
;.ConvertToBytes:
|
||||||
ld a, [de]
|
; ld a, [de]
|
||||||
dec de
|
; dec de
|
||||||
push hl
|
; push hl
|
||||||
ld hl, 0
|
; ld hl, 0
|
||||||
call AddNTimes
|
; call AddNTimes
|
||||||
ld c, l
|
; ld c, l
|
||||||
ld b, h
|
; ld b, h
|
||||||
pop hl
|
; pop hl
|
||||||
add hl, bc
|
; add hl, bc
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.CalculatePassword:
|
;.CalculatePassword:
|
||||||
ld a, BANK(sPlayerData)
|
; ld a, BANK(sPlayerData)
|
||||||
call OpenSRAM
|
; call OpenSRAM
|
||||||
ld de, 0
|
; ld de, 0
|
||||||
ld hl, sPlayerData + (wPlayerID - wPlayerData)
|
; ld hl, sPlayerData + (wPlayerID - wPlayerData)
|
||||||
ld c, 2
|
; ld c, 2
|
||||||
call .ComponentFromNumber
|
; call .ComponentFromNumber
|
||||||
ld hl, sPlayerData + (wPlayerName - wPlayerData)
|
; ld hl, sPlayerData + (wPlayerName - wPlayerData)
|
||||||
ld c, NAME_LENGTH_JAPANESE - 1
|
; ld c, NAME_LENGTH_JAPANESE - 1
|
||||||
call .ComponentFromString
|
; call .ComponentFromString
|
||||||
ld hl, sPlayerData + (wMoney - wPlayerData)
|
; ld hl, sPlayerData + (wMoney - wPlayerData)
|
||||||
ld c, 3
|
; ld c, 3
|
||||||
call .ComponentFromNumber
|
; call .ComponentFromNumber
|
||||||
call CloseSRAM
|
; call CloseSRAM
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.ComponentFromNumber:
|
;.ComponentFromNumber:
|
||||||
ld a, [hli]
|
; ld a, [hli]
|
||||||
add e
|
; add e
|
||||||
ld e, a
|
; ld e, a
|
||||||
ld a, 0
|
; ld a, 0
|
||||||
adc d
|
; adc d
|
||||||
ld d, a
|
; ld d, a
|
||||||
dec c
|
; dec c
|
||||||
jr nz, .ComponentFromNumber
|
; jr nz, .ComponentFromNumber
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
.ComponentFromString:
|
;.ComponentFromString:
|
||||||
ld a, [hli]
|
; ld a, [hli]
|
||||||
cp "@"
|
; cp "@"
|
||||||
ret z
|
; ret z
|
||||||
add e
|
; add e
|
||||||
ld e, a
|
; ld e, a
|
||||||
ld a, 0
|
; ld a, 0
|
||||||
adc d
|
; adc d
|
||||||
ld d, a
|
; ld d, a
|
||||||
dec c
|
; dec c
|
||||||
jr nz, .ComponentFromString
|
; jr nz, .ComponentFromString
|
||||||
ret
|
; ret
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue