mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-09-17 02:30:50 +12: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
|
||||
|
||||
_PasswordAskResetText::
|
||||
text "Password OK."
|
||||
line "Select CONTINUE &"
|
||||
cont "reset settings."
|
||||
text "Select CONTINUE &"
|
||||
line "reset settings."
|
||||
prompt
|
||||
|
||||
_PasswordWrongText::
|
||||
text "Wrong password!"
|
||||
prompt
|
||||
;_PasswordWrongText::
|
||||
; text "Wrong password!"
|
||||
; prompt
|
||||
|
||||
_PasswordAskResetClockText::
|
||||
text "Reset the clock?"
|
||||
done
|
||||
|
||||
_PasswordAskEnterText::
|
||||
text "Please enter the"
|
||||
line "password."
|
||||
done
|
||||
;_PasswordAskEnterText::
|
||||
; text "Please enter the"
|
||||
; line "password."
|
||||
; done
|
||||
|
||||
_ClearAllSaveDataText::
|
||||
text "Clear all save"
|
||||
|
|
|
@ -1195,35 +1195,38 @@ TitleScreenMain:
|
|||
cp D_UP + B_BUTTON + SELECT
|
||||
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]
|
||||
cp $34
|
||||
jr z, .check_clock_reset
|
||||
jr z, .reset_clock
|
||||
|
||||
ld a, [hl]
|
||||
and D_DOWN + B_BUTTON + SELECT
|
||||
cp D_DOWN + B_BUTTON + SELECT
|
||||
and D_DOWN + B_BUTTON
|
||||
cp D_DOWN + B_BUTTON
|
||||
jr nz, .check_start
|
||||
|
||||
ld a, $34
|
||||
ldh [hClockResetTrigger], a
|
||||
jr .check_start
|
||||
|
||||
; Keep Select pressed, and hold Left + Up.
|
||||
; Then let go of Select.
|
||||
.check_clock_reset
|
||||
bit SELECT_F, [hl]
|
||||
jr nz, .check_start
|
||||
; Removed for GS clock version
|
||||
|
||||
xor a
|
||||
ldh [hClockResetTrigger], a
|
||||
; X Keep Select pressed, and hold Left + Up.
|
||||
; X Then let go of Select.
|
||||
;.check_clock_reset
|
||||
; bit SELECT_F, [hl]
|
||||
; jr nz, .check_start
|
||||
|
||||
ld a, [hl]
|
||||
and D_LEFT + D_UP
|
||||
cp D_LEFT + D_UP
|
||||
jr z, .reset_clock
|
||||
; xor a
|
||||
; ldh [hClockResetTrigger], a
|
||||
|
||||
; 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.
|
||||
.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:
|
||||
farcall BlankScreen
|
||||
ld b, SCGB_DIPLOMA
|
||||
|
@ -15,8 +17,8 @@ _ResetClock:
|
|||
ld a, [wMenuCursorY]
|
||||
cp 1
|
||||
ret z
|
||||
call ClockResetPassword
|
||||
jr c, .wrongpassword
|
||||
;call ClockResetPassword
|
||||
;jr c, .wrongpassword
|
||||
ld a, BANK(sRTCStatusFlags)
|
||||
call OpenSRAM
|
||||
ld a, $80
|
||||
|
@ -26,18 +28,18 @@ _ResetClock:
|
|||
call PrintText
|
||||
ret
|
||||
|
||||
.wrongpassword
|
||||
ld hl, .PasswordWrongText
|
||||
call PrintText
|
||||
ret
|
||||
;.wrongpassword
|
||||
; ld hl, .PasswordWrongText
|
||||
; call PrintText
|
||||
; ret
|
||||
|
||||
.PasswordAskResetText:
|
||||
text_far _PasswordAskResetText
|
||||
text_end
|
||||
|
||||
.PasswordWrongText:
|
||||
text_far _PasswordWrongText
|
||||
text_end
|
||||
;.PasswordWrongText:
|
||||
; text_far _PasswordWrongText
|
||||
; text_end
|
||||
|
||||
.PasswordAskResetClockText:
|
||||
text_far _PasswordAskResetClockText
|
||||
|
@ -55,201 +57,201 @@ _ResetClock:
|
|||
db "NO@"
|
||||
db "YES@"
|
||||
|
||||
ClockResetPassword:
|
||||
call .CalculatePassword
|
||||
push de
|
||||
ld hl, wStringBuffer2
|
||||
ld bc, 5
|
||||
xor a
|
||||
call ByteFill
|
||||
ld a, 4
|
||||
ld [wStringBuffer2 + 5], a
|
||||
ld hl, .PasswordAskEnterText
|
||||
call PrintText
|
||||
.loop
|
||||
call .updateIDdisplay
|
||||
.loop2
|
||||
call JoyTextDelay
|
||||
ldh a, [hJoyLast]
|
||||
ld b, a
|
||||
and A_BUTTON
|
||||
jr nz, .confirm
|
||||
ld a, b
|
||||
and D_PAD
|
||||
jr z, .loop2
|
||||
call .dpadinput
|
||||
ld c, 3
|
||||
call DelayFrames
|
||||
jr .loop
|
||||
;ClockResetPassword:
|
||||
; call .CalculatePassword
|
||||
; push de
|
||||
; ld hl, wStringBuffer2
|
||||
; ld bc, 5
|
||||
; xor a
|
||||
; call ByteFill
|
||||
; ld a, 4
|
||||
; ld [wStringBuffer2 + 5], a
|
||||
; ld hl, .PasswordAskEnterText
|
||||
; call PrintText
|
||||
;.loop
|
||||
; call .updateIDdisplay
|
||||
;.loop2
|
||||
; call JoyTextDelay
|
||||
; ldh a, [hJoyLast]
|
||||
; ld b, a
|
||||
; and A_BUTTON
|
||||
; jr nz, .confirm
|
||||
; ld a, b
|
||||
; and D_PAD
|
||||
; jr z, .loop2
|
||||
; call .dpadinput
|
||||
; ld c, 3
|
||||
; call DelayFrames
|
||||
; jr .loop
|
||||
|
||||
.confirm
|
||||
call .ConvertDecIDToBytes
|
||||
pop de
|
||||
ld a, e
|
||||
cp l
|
||||
jr nz, .nope
|
||||
ld a, d
|
||||
cp h
|
||||
jr nz, .nope
|
||||
and a
|
||||
ret
|
||||
;.confirm
|
||||
; call .ConvertDecIDToBytes
|
||||
; pop de
|
||||
; ld a, e
|
||||
; cp l
|
||||
; jr nz, .nope
|
||||
; ld a, d
|
||||
; cp h
|
||||
; jr nz, .nope
|
||||
; and a
|
||||
; ret
|
||||
|
||||
.nope
|
||||
scf
|
||||
ret
|
||||
;.nope
|
||||
; scf
|
||||
; ret
|
||||
|
||||
.PasswordAskEnterText:
|
||||
text_far _PasswordAskEnterText
|
||||
text_end
|
||||
;.PasswordAskEnterText:
|
||||
; text_far _PasswordAskEnterText
|
||||
; text_end
|
||||
|
||||
.updateIDdisplay
|
||||
hlcoord 14, 15
|
||||
ld de, wStringBuffer2
|
||||
ld c, 5
|
||||
.loop3
|
||||
ld a, [de]
|
||||
add "0"
|
||||
ld [hli], a
|
||||
inc de
|
||||
dec c
|
||||
jr nz, .loop3
|
||||
hlcoord 14, 16
|
||||
ld bc, 5
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 14, 16
|
||||
ld a, [wStringBuffer2 + 5]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
add hl, de
|
||||
ld [hl], "▲"
|
||||
ret
|
||||
;.updateIDdisplay
|
||||
; hlcoord 14, 15
|
||||
; ld de, wStringBuffer2
|
||||
; ld c, 5
|
||||
;.loop3
|
||||
; ld a, [de]
|
||||
; add "0"
|
||||
; ld [hli], a
|
||||
; inc de
|
||||
; dec c
|
||||
; jr nz, .loop3
|
||||
; hlcoord 14, 16
|
||||
; ld bc, 5
|
||||
; ld a, " "
|
||||
; call ByteFill
|
||||
; hlcoord 14, 16
|
||||
; ld a, [wStringBuffer2 + 5]
|
||||
; ld e, a
|
||||
; ld d, 0
|
||||
; add hl, de
|
||||
; ld [hl], "▲"
|
||||
; ret
|
||||
|
||||
.dpadinput
|
||||
ld a, b
|
||||
and D_LEFT
|
||||
jr nz, .left
|
||||
ld a, b
|
||||
and D_RIGHT
|
||||
jr nz, .right
|
||||
ld a, b
|
||||
and D_UP
|
||||
jr nz, .up
|
||||
ld a, b
|
||||
and D_DOWN
|
||||
jr nz, .down
|
||||
ret
|
||||
;.dpadinput
|
||||
; ld a, b
|
||||
; and D_LEFT
|
||||
; jr nz, .left
|
||||
; ld a, b
|
||||
; and D_RIGHT
|
||||
; jr nz, .right
|
||||
; ld a, b
|
||||
; and D_UP
|
||||
; jr nz, .up
|
||||
; ld a, b
|
||||
; and D_DOWN
|
||||
; jr nz, .down
|
||||
; ret
|
||||
|
||||
.left
|
||||
ld a, [wStringBuffer2 + 5]
|
||||
and a
|
||||
ret z
|
||||
dec a
|
||||
ld [wStringBuffer2 + 5], a
|
||||
ret
|
||||
;.left
|
||||
; ld a, [wStringBuffer2 + 5]
|
||||
; and a
|
||||
; ret z
|
||||
; dec a
|
||||
; ld [wStringBuffer2 + 5], a
|
||||
; ret
|
||||
|
||||
.right
|
||||
ld a, [wStringBuffer2 + 5]
|
||||
cp 4
|
||||
ret z
|
||||
inc a
|
||||
ld [wStringBuffer2 + 5], a
|
||||
ret
|
||||
;.right
|
||||
; ld a, [wStringBuffer2 + 5]
|
||||
; cp 4
|
||||
; ret z
|
||||
; inc a
|
||||
; ld [wStringBuffer2 + 5], a
|
||||
; ret
|
||||
|
||||
.up
|
||||
call .getcurrentdigit
|
||||
ld a, [hl]
|
||||
cp 9
|
||||
jr z, .wraparound_up
|
||||
inc a
|
||||
ld [hl], a
|
||||
ret
|
||||
;.up
|
||||
; call .getcurrentdigit
|
||||
; ld a, [hl]
|
||||
; cp 9
|
||||
; jr z, .wraparound_up
|
||||
; inc a
|
||||
; ld [hl], a
|
||||
; ret
|
||||
|
||||
.wraparound_up
|
||||
ld [hl], 0
|
||||
ret
|
||||
;.wraparound_up
|
||||
; ld [hl], 0
|
||||
; ret
|
||||
|
||||
.down
|
||||
call .getcurrentdigit
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .wraparound_down
|
||||
dec a
|
||||
ld [hl], a
|
||||
ret
|
||||
;.down
|
||||
; call .getcurrentdigit
|
||||
; ld a, [hl]
|
||||
; and a
|
||||
; jr z, .wraparound_down
|
||||
; dec a
|
||||
; ld [hl], a
|
||||
; ret
|
||||
|
||||
.wraparound_down
|
||||
ld [hl], 9
|
||||
ret
|
||||
;.wraparound_down
|
||||
; ld [hl], 9
|
||||
; ret
|
||||
|
||||
.getcurrentdigit
|
||||
ld a, [wStringBuffer2 + 5]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, wStringBuffer2
|
||||
add hl, de
|
||||
ret
|
||||
;.getcurrentdigit
|
||||
; ld a, [wStringBuffer2 + 5]
|
||||
; ld e, a
|
||||
; ld d, 0
|
||||
; ld hl, wStringBuffer2
|
||||
; add hl, de
|
||||
; ret
|
||||
|
||||
.ConvertDecIDToBytes:
|
||||
ld hl, 0
|
||||
ld de, wStringBuffer2 + 4
|
||||
ld bc, 1
|
||||
call .ConvertToBytes
|
||||
ld bc, 10
|
||||
call .ConvertToBytes
|
||||
ld bc, 100
|
||||
call .ConvertToBytes
|
||||
ld bc, 1000
|
||||
call .ConvertToBytes
|
||||
ld bc, 10000
|
||||
.ConvertToBytes:
|
||||
ld a, [de]
|
||||
dec de
|
||||
push hl
|
||||
ld hl, 0
|
||||
call AddNTimes
|
||||
ld c, l
|
||||
ld b, h
|
||||
pop hl
|
||||
add hl, bc
|
||||
ret
|
||||
;.ConvertDecIDToBytes:
|
||||
; ld hl, 0
|
||||
; ld de, wStringBuffer2 + 4
|
||||
; ld bc, 1
|
||||
; call .ConvertToBytes
|
||||
; ld bc, 10
|
||||
; call .ConvertToBytes
|
||||
; ld bc, 100
|
||||
; call .ConvertToBytes
|
||||
; ld bc, 1000
|
||||
; call .ConvertToBytes
|
||||
; ld bc, 10000
|
||||
;.ConvertToBytes:
|
||||
; ld a, [de]
|
||||
; dec de
|
||||
; push hl
|
||||
; ld hl, 0
|
||||
; call AddNTimes
|
||||
; ld c, l
|
||||
; ld b, h
|
||||
; pop hl
|
||||
; add hl, bc
|
||||
; ret
|
||||
|
||||
.CalculatePassword:
|
||||
ld a, BANK(sPlayerData)
|
||||
call OpenSRAM
|
||||
ld de, 0
|
||||
ld hl, sPlayerData + (wPlayerID - wPlayerData)
|
||||
ld c, 2
|
||||
call .ComponentFromNumber
|
||||
ld hl, sPlayerData + (wPlayerName - wPlayerData)
|
||||
ld c, NAME_LENGTH_JAPANESE - 1
|
||||
call .ComponentFromString
|
||||
ld hl, sPlayerData + (wMoney - wPlayerData)
|
||||
ld c, 3
|
||||
call .ComponentFromNumber
|
||||
call CloseSRAM
|
||||
ret
|
||||
;.CalculatePassword:
|
||||
; ld a, BANK(sPlayerData)
|
||||
; call OpenSRAM
|
||||
; ld de, 0
|
||||
; ld hl, sPlayerData + (wPlayerID - wPlayerData)
|
||||
; ld c, 2
|
||||
; call .ComponentFromNumber
|
||||
; ld hl, sPlayerData + (wPlayerName - wPlayerData)
|
||||
; ld c, NAME_LENGTH_JAPANESE - 1
|
||||
; call .ComponentFromString
|
||||
; ld hl, sPlayerData + (wMoney - wPlayerData)
|
||||
; ld c, 3
|
||||
; call .ComponentFromNumber
|
||||
; call CloseSRAM
|
||||
; ret
|
||||
|
||||
.ComponentFromNumber:
|
||||
ld a, [hli]
|
||||
add e
|
||||
ld e, a
|
||||
ld a, 0
|
||||
adc d
|
||||
ld d, a
|
||||
dec c
|
||||
jr nz, .ComponentFromNumber
|
||||
ret
|
||||
;.ComponentFromNumber:
|
||||
; ld a, [hli]
|
||||
; add e
|
||||
; ld e, a
|
||||
; ld a, 0
|
||||
; adc d
|
||||
; ld d, a
|
||||
; dec c
|
||||
; jr nz, .ComponentFromNumber
|
||||
; ret
|
||||
|
||||
.ComponentFromString:
|
||||
ld a, [hli]
|
||||
cp "@"
|
||||
ret z
|
||||
add e
|
||||
ld e, a
|
||||
ld a, 0
|
||||
adc d
|
||||
ld d, a
|
||||
dec c
|
||||
jr nz, .ComponentFromString
|
||||
ret
|
||||
;.ComponentFromString:
|
||||
; ld a, [hli]
|
||||
; cp "@"
|
||||
; ret z
|
||||
; add e
|
||||
; ld e, a
|
||||
; ld a, 0
|
||||
; adc d
|
||||
; ld d, a
|
||||
; dec c
|
||||
; jr nz, .ComponentFromString
|
||||
; ret
|
||||
|
|
Loading…
Reference in a new issue