mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00

This code has a lot of problems with solutions that me and Frrf can't seem to figure out. We've taken a lot of references from Erika's Gym but we've got many bugs after Yujirou is defeated, such as one case where you end up instantly doing the rematch fight, which is insane because there's no way this can actually happen. What's committed is a fight that can be re-fought when it shouldn't.
128 lines
2.5 KiB
NASM
128 lines
2.5 KiB
NASM
HallOfFame_Script:
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, HallOfFame_ScriptPointers
|
|
ld a, [wHallOfFameCurScript]
|
|
jp CallFunctionInTable
|
|
|
|
HallofFameRoomScript_5a4aa:
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld [wHallOfFameCurScript], a
|
|
ret
|
|
|
|
HallOfFame_ScriptPointers:
|
|
dw HallofFameRoomScript0
|
|
dw HallofFameRoomScript1
|
|
dw HallofFameRoomScript2
|
|
dw HallofFameRoomScript3
|
|
|
|
HallofFameRoomScript3:
|
|
ret
|
|
|
|
HallofFameRoomScript2:
|
|
call Delay3
|
|
ld a, [wLetterPrintingDelayFlags]
|
|
push af
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
predef HallOfFamePC
|
|
pop af
|
|
ld [wLetterPrintingDelayFlags], a
|
|
ld hl, wFlags_D733
|
|
res 1, [hl]
|
|
inc hl
|
|
set 0, [hl]
|
|
xor a
|
|
ld hl, wLoreleisRoomCurScript
|
|
ld [hli], a ; wLoreleisRoomCurScript
|
|
ld [hli], a ; wBrunosRoomCurScript
|
|
ld [hl], a ; wAgathasRoomCurScript
|
|
ld [wLancesRoomCurScript], a
|
|
ld [wHallOfFameCurScript], a
|
|
; Elite 4 events
|
|
ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1
|
|
xor a
|
|
ld [wHallOfFameCurScript], a
|
|
ld a, PALLET_TOWN
|
|
ld [wLastBlackoutMap], a
|
|
farcall SaveSAVtoSRAM
|
|
ld b, 5
|
|
.delayLoop
|
|
ld c, 600 / 5
|
|
call DelayFrames
|
|
dec b
|
|
jr nz, .delayLoop
|
|
call WaitForTextScrollButtonPress
|
|
jp Init
|
|
|
|
HallofFameRoomScript0:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld hl, wSimulatedJoypadStatesEnd
|
|
ld de, RLEMovement5a528
|
|
call DecodeRLEList
|
|
dec a
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
call StartSimulatingJoypadStates
|
|
ld a, $1
|
|
ld [wHallOfFameCurScript], a
|
|
ret
|
|
|
|
RLEMovement5a528:
|
|
db D_UP, 5
|
|
db -1 ; end
|
|
|
|
HallofFameRoomScript1:
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
ret nz
|
|
ld a, PLAYER_DIR_RIGHT
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, $1
|
|
ldh [hSpriteIndex], a
|
|
call SetSpriteMovementBytesToFF
|
|
ld a, SPRITE_FACING_LEFT
|
|
ldh [hSpriteFacingDirection], a
|
|
call SetSpriteFacingDirectionAndDelay
|
|
call Delay3
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
inc a ; PLAYER_DIR_RIGHT
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, $1
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, HS_CERULEAN_CAVE_GUY
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_MT_MOON_CRATER_GUARD
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_ROUTE_1_OAK
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
ld a, HS_BILLS_NIDORINO
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_MANSION_GUARD
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_YUJIROU
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_YUJIROU_REMATCH
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
ld a, $2
|
|
ld [wHallOfFameCurScript], a
|
|
ret
|
|
|
|
HallOfFame_TextPointers:
|
|
dw HallofFameRoomText1
|
|
|
|
HallofFameRoomText1:
|
|
text_far _HallofFameRoomText1
|
|
text_end
|