mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
d001ced41b
This introduces `def_script_pointers`, `def_text_pointers`, and `object_const_def` macros, and applies them to all maps. Most other map labels have also been identified.
303 lines
7.4 KiB
NASM
303 lines
7.4 KiB
NASM
RocketHideoutB2F_Script:
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, RocketHideout2TrainerHeaders
|
|
ld de, RocketHideoutB2F_ScriptPointers
|
|
ld a, [wRocketHideoutB2FCurScript]
|
|
call ExecuteCurMapScriptInTable
|
|
ld [wRocketHideoutB2FCurScript], a
|
|
ret
|
|
|
|
RocketHideoutB2F_ScriptPointers:
|
|
def_script_pointers
|
|
dw_const RocketHideoutB2FDefaultScript, SCRIPT_ROCKETHIDEOUTB2F_DEFAULT
|
|
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_ROCKETHIDEOUTB2F_START_BATTLE
|
|
dw_const EndTrainerBattle, SCRIPT_ROCKETHIDEOUTB2F_END_BATTLE
|
|
dw_const RocketHideoutB2FPlayerSpinningScript, SCRIPT_ROCKETHIDEOUTB2F_PLAYER_SPINNING
|
|
|
|
RocketHideoutB2FDefaultScript:
|
|
ld a, [wYCoord]
|
|
ld b, a
|
|
ld a, [wXCoord]
|
|
ld c, a
|
|
ld hl, RocketHideout2ArrowTilePlayerMovement
|
|
call DecodeArrowMovementRLE
|
|
cp $ff
|
|
jp z, CheckFightingMapTrainers
|
|
ld hl, wd736
|
|
set 7, [hl]
|
|
call StartSimulatingJoypadStates
|
|
ld a, SFX_ARROW_TILES
|
|
call PlaySound
|
|
ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
|
|
ld [wJoyIgnore], a
|
|
ld a, SCRIPT_ROCKETHIDEOUTB2F_PLAYER_SPINNING
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
RocketHideout2ArrowTilePlayerMovement:
|
|
map_coord_movement 4, 9, RocketHideout2ArrowMovement1
|
|
map_coord_movement 4, 11, RocketHideout2ArrowMovement2
|
|
map_coord_movement 4, 15, RocketHideout2ArrowMovement3
|
|
map_coord_movement 4, 16, RocketHideout2ArrowMovement4
|
|
map_coord_movement 4, 19, RocketHideout2ArrowMovement1
|
|
map_coord_movement 4, 22, RocketHideout2ArrowMovement5
|
|
map_coord_movement 5, 14, RocketHideout2ArrowMovement6
|
|
map_coord_movement 6, 22, RocketHideout2ArrowMovement7
|
|
map_coord_movement 6, 24, RocketHideout2ArrowMovement8
|
|
map_coord_movement 8, 9, RocketHideout2ArrowMovement9
|
|
map_coord_movement 8, 12, RocketHideout2ArrowMovement10
|
|
map_coord_movement 8, 15, RocketHideout2ArrowMovement8
|
|
map_coord_movement 8, 19, RocketHideout2ArrowMovement9
|
|
map_coord_movement 8, 23, RocketHideout2ArrowMovement11
|
|
map_coord_movement 9, 14, RocketHideout2ArrowMovement12
|
|
map_coord_movement 9, 22, RocketHideout2ArrowMovement12
|
|
map_coord_movement 10, 9, RocketHideout2ArrowMovement13
|
|
map_coord_movement 10, 10, RocketHideout2ArrowMovement14
|
|
map_coord_movement 10, 15, RocketHideout2ArrowMovement15
|
|
map_coord_movement 10, 17, RocketHideout2ArrowMovement16
|
|
map_coord_movement 10, 19, RocketHideout2ArrowMovement17
|
|
map_coord_movement 10, 25, RocketHideout2ArrowMovement2
|
|
map_coord_movement 11, 14, RocketHideout2ArrowMovement18
|
|
map_coord_movement 11, 16, RocketHideout2ArrowMovement19
|
|
map_coord_movement 11, 18, RocketHideout2ArrowMovement12
|
|
map_coord_movement 12, 9, RocketHideout2ArrowMovement20
|
|
map_coord_movement 12, 11, RocketHideout2ArrowMovement21
|
|
map_coord_movement 12, 13, RocketHideout2ArrowMovement22
|
|
map_coord_movement 12, 17, RocketHideout2ArrowMovement23
|
|
map_coord_movement 13, 10, RocketHideout2ArrowMovement24
|
|
map_coord_movement 13, 12, RocketHideout2ArrowMovement25
|
|
map_coord_movement 13, 16, RocketHideout2ArrowMovement26
|
|
map_coord_movement 13, 18, RocketHideout2ArrowMovement27
|
|
map_coord_movement 13, 19, RocketHideout2ArrowMovement28
|
|
map_coord_movement 13, 22, RocketHideout2ArrowMovement29
|
|
map_coord_movement 13, 23, RocketHideout2ArrowMovement30
|
|
map_coord_movement 14, 17, RocketHideout2ArrowMovement31
|
|
map_coord_movement 15, 16, RocketHideout2ArrowMovement12
|
|
map_coord_movement 16, 14, RocketHideout2ArrowMovement32
|
|
map_coord_movement 16, 16, RocketHideout2ArrowMovement33
|
|
map_coord_movement 16, 18, RocketHideout2ArrowMovement34
|
|
map_coord_movement 17, 10, RocketHideout2ArrowMovement35
|
|
map_coord_movement 17, 11, RocketHideout2ArrowMovement36
|
|
db -1 ; end
|
|
|
|
;format: direction, count
|
|
;each list is read starting from the $FF and working backwards
|
|
RocketHideout2ArrowMovement1:
|
|
db D_LEFT, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement2:
|
|
db D_RIGHT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement3:
|
|
db D_UP, 4
|
|
db D_RIGHT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement4:
|
|
db D_UP, 4
|
|
db D_RIGHT, 4
|
|
db D_UP, 1
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement5:
|
|
db D_LEFT, 2
|
|
db D_UP, 3
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement6:
|
|
db D_DOWN, 2
|
|
db D_RIGHT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement7:
|
|
db D_UP, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement8:
|
|
db D_UP, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement9:
|
|
db D_LEFT, 6
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement10:
|
|
db D_UP, 1
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement11:
|
|
db D_LEFT, 6
|
|
db D_UP, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement12:
|
|
db D_DOWN, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement13:
|
|
db D_LEFT, 8
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement14:
|
|
db D_LEFT, 8
|
|
db D_UP, 1
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement15:
|
|
db D_LEFT, 8
|
|
db D_UP, 6
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement16:
|
|
db D_UP, 2
|
|
db D_RIGHT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement17:
|
|
db D_UP, 2
|
|
db D_RIGHT, 4
|
|
db D_UP, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement18:
|
|
db D_DOWN, 2
|
|
db D_RIGHT, 4
|
|
db D_DOWN, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement19:
|
|
db D_DOWN, 2
|
|
db D_RIGHT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement20:
|
|
db D_LEFT, 10
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement21:
|
|
db D_LEFT, 10
|
|
db D_UP, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement22:
|
|
db D_LEFT, 10
|
|
db D_UP, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement23:
|
|
db D_UP, 2
|
|
db D_RIGHT, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement24:
|
|
db D_RIGHT, 1
|
|
db D_DOWN, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement25:
|
|
db D_RIGHT, 1
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement26:
|
|
db D_DOWN, 2
|
|
db D_RIGHT, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement27:
|
|
db D_DOWN, 2
|
|
db D_LEFT, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement28:
|
|
db D_UP, 2
|
|
db D_RIGHT, 4
|
|
db D_UP, 2
|
|
db D_LEFT, 3
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement29:
|
|
db D_DOWN, 2
|
|
db D_LEFT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement30:
|
|
db D_LEFT, 6
|
|
db D_UP, 4
|
|
db D_LEFT, 5
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement31:
|
|
db D_UP, 2
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement32:
|
|
db D_UP, 1
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement33:
|
|
db D_UP, 3
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement34:
|
|
db D_UP, 5
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement35:
|
|
db D_RIGHT, 1
|
|
db D_DOWN, 2
|
|
db D_LEFT, 4
|
|
db -1 ; end
|
|
|
|
RocketHideout2ArrowMovement36:
|
|
db D_LEFT, 10
|
|
db D_UP, 2
|
|
db D_LEFT, 5
|
|
db -1 ; end
|
|
|
|
RocketHideoutB2FPlayerSpinningScript:
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
jr nz, LoadSpinnerArrowTiles
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld hl, wd736
|
|
res 7, [hl]
|
|
ld a, SCRIPT_ROCKETHIDEOUTB2F_DEFAULT
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
INCLUDE "engine/overworld/spinners.asm"
|
|
|
|
RocketHideoutB2F_TextPointers:
|
|
def_text_pointers
|
|
dw_const RocketHideoutB2FRocketText, TEXT_ROCKETHIDEOUTB2F_ROCKET
|
|
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB2F_MOON_STONE
|
|
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB2F_NUGGET
|
|
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB2F_TM_HORN_DRILL
|
|
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB2F_SUPER_POTION
|
|
|
|
RocketHideout2TrainerHeaders:
|
|
def_trainers
|
|
RocketHideout2TrainerHeader0:
|
|
trainer EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0, 4, RocketHideoutB1FRocketBattleText, RocketHideoutB1FRocketEndBattleText, RocketHideoutB1FRocketAfterBattleText
|
|
db -1 ; end
|
|
|
|
RocketHideoutB2FRocketText:
|
|
text_asm
|
|
ld hl, RocketHideout2TrainerHeader0
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
RocketHideoutB1FRocketBattleText:
|
|
text_far _RocketHideoutB1FRocketBattleText
|
|
text_end
|
|
|
|
RocketHideoutB1FRocketEndBattleText:
|
|
text_far _RocketHideoutB1FRocketEndBattleText
|
|
text_end
|
|
|
|
RocketHideoutB1FRocketAfterBattleText:
|
|
text_far _RocketHideoutB1FRocketAfterBattleText
|
|
text_end
|