mirror of
https://github.com/pret/poketcg2.git
synced 2026-10-02 06:40:36 -04:00
Merge pull request #31 from mdraves91/all-map-header-ptrs
dumping entire MapHeaderPtrs table and associated data structures
This commit is contained in:
+116
-116
@@ -990,122 +990,122 @@ Func_c646:
|
||||
; bank and offset table of data for Func_d421 and Func_33b7
|
||||
; table corresponds to MAP_* IDs (do not confuse with MAP_GFX_*)
|
||||
MapHeaderPtrs::
|
||||
dba OverworldTCG_MapHeader ; $00
|
||||
dba OverworldGR_MapHeader ; $01
|
||||
dbw $10, $4db3 ; $02
|
||||
dbw $0f, $4603 ; $03
|
||||
dbw $0f, $47dc ; $04
|
||||
dba IshiharasHouse_MapHeader ; $05
|
||||
dbw $0f, $4b88 ; $06
|
||||
dbw $0f, $4c62 ; $07
|
||||
dba LightningClub_MapHeader ; $08
|
||||
dba PsychicClubEntrance_MapHeader ; $09
|
||||
dba PsychicClubLobby_MapHeader ; $0a
|
||||
dba PsychicClub_MapHeader ; $0b
|
||||
dba RockClubEntrance_MapHeader ; $0c
|
||||
dba RockClubLobby_MapHeader ; $0d
|
||||
dba RockClub_MapHeader ; $0e
|
||||
dba FightingClubEntrance_MapHeader ; $0f
|
||||
dba FightingClubLobby_MapHeader ; $10
|
||||
dba FightingClub_MapHeader ; $11
|
||||
dba GrassClubEntrance_MapHeader ; $12
|
||||
dbw $0f, $4ee6 ; $13
|
||||
dba GrassClub_MapHeader ; $14
|
||||
dba ScienceClubEntrance_MapHeader ; $15
|
||||
dba ScienceClubLobby_MapHeader ; $16
|
||||
dba ScienceClub_MapHeader ; $17
|
||||
dba WaterClubEntrance_MapHeader ; $18
|
||||
dba WaterClubLobby_MapHeader ; $19
|
||||
dba WaterClub_MapHeader ; $1a
|
||||
dba FireClubEntrance_MapHeader ; $1b
|
||||
dba FireClubLobby_MapHeader ; $1c
|
||||
dba FireClub_MapHeader ; $1d
|
||||
dbw $0d, $4575 ; $1e
|
||||
dbw $0d, $4773 ; $1f
|
||||
dbw $0f, $519e ; $20
|
||||
dbw $0f, $52d7 ; $21
|
||||
dbw $10, $5592 ; $22
|
||||
dba PokemonDomeEntrance_MapHeader ; $23
|
||||
dbw $0f, $55d1 ; $24
|
||||
dbw $0f, $5d58 ; $25
|
||||
dba OverheadIslands_MapHeader ; $26
|
||||
dbw $0d, $4aaf ; $27
|
||||
dbw $10, $5be9 ; $28
|
||||
dbw $0f, $6698 ; $29
|
||||
dbw $0f, $68e0 ; $2a
|
||||
dbw $0f, $6cea ; $2b
|
||||
dbw $0f, $6efa ; $2c
|
||||
dbw $0d, $4ba8 ; $2d
|
||||
dbw $0d, $4e4d ; $2e
|
||||
dbw $0f, $704c ; $2f
|
||||
dbw $0f, $71f2 ; $30
|
||||
dbw $0d, $509f ; $31
|
||||
dbw $0f, $73c2 ; $32
|
||||
dbw $0c, $518a ; $33
|
||||
dbw $0c, $5324 ; $34
|
||||
dbw $10, $5e8e ; $35
|
||||
dbw $0c, $53ce ; $36
|
||||
dbw $0d, $5288 ; $37
|
||||
dbw $10, $65cf ; $38
|
||||
dbw $0c, $54fe ; $39
|
||||
dbw $0c, $55d8 ; $3a
|
||||
dbw $0c, $5785 ; $3b
|
||||
dbw $0c, $5973 ; $3c
|
||||
dbw $0c, $5b29 ; $3d
|
||||
dbw $0d, $54a2 ; $3e
|
||||
dbw $0c, $5cbf ; $3f
|
||||
dbw $0c, $5dd2 ; $40
|
||||
dbw $0c, $5fad ; $41
|
||||
dbw $0c, $6148 ; $42
|
||||
dbw $0c, $641e ; $43
|
||||
dbw $0c, $6531 ; $44
|
||||
dbw $0c, $6696 ; $45
|
||||
dbw $0c, $6804 ; $46
|
||||
dbw $0c, $696d ; $47
|
||||
dbw $0c, $6beb ; $48
|
||||
dbw $0c, $6e20 ; $49
|
||||
dbw $0c, $6f5b ; $4a
|
||||
dbw $0f, $75ab ; $4b
|
||||
dbw $0c, $70c0 ; $4c
|
||||
dbw $0d, $55de ; $4d
|
||||
dbw $0d, $580f ; $4e
|
||||
dbw $0c, $724d ; $4f
|
||||
dbw $0c, $7357 ; $50
|
||||
dbw $0d, $5989 ; $51
|
||||
dbw $10, $6e2b ; $52
|
||||
dbw $0c, $7506 ; $53
|
||||
dbw $0c, $75da ; $54
|
||||
dbw $0c, $762f ; $55
|
||||
dbw $0c, $7723 ; $56
|
||||
dbw $0c, $7766 ; $57
|
||||
dbw $0c, $77bb ; $58
|
||||
dbw $0c, $7822 ; $59
|
||||
dbw $0c, $7928 ; $5a
|
||||
dbw $0c, $797d ; $5b
|
||||
dbw $0c, $79b2 ; $5c
|
||||
dbw $0c, $7a19 ; $5d
|
||||
dbw $0c, $7ab4 ; $5e
|
||||
dbw $0c, $7b1b ; $5f
|
||||
dbw $0c, $7ba4 ; $60
|
||||
dbw $0d, $5c10 ; $61
|
||||
dbw $0c, $7bf9 ; $62
|
||||
dbw $0d, $5c9a ; $63
|
||||
dbw $0f, $77b5 ; $64
|
||||
dbw $0c, $7d2e ; $65
|
||||
dbw $10, $6e80 ; $66
|
||||
dbw $0c, $7d63 ; $67
|
||||
dbw $0f, $7884 ; $68
|
||||
dbw $0d, $5d36 ; $69
|
||||
dbw $0d, $5f14 ; $6a
|
||||
dbw $0d, $6097 ; $6b
|
||||
dbw $0d, $6173 ; $6c
|
||||
dbw $0d, $631f ; $6d
|
||||
dbw $0d, $6c9b ; $6e
|
||||
dbw $0c, $7d98 ; $6f
|
||||
dbw $0d, $6f9a ; $70
|
||||
dbw $0d, $7365 ; $71
|
||||
dbw $0d, $75df ; $72
|
||||
dbw $10, $6ed5 ; $73
|
||||
dba OverworldTcg_MapHeader
|
||||
dba OverworldGr_MapHeader
|
||||
dba MasonLaboratoryMain_MapHeader
|
||||
dba MasonLaboratorySide1_MapHeader
|
||||
dba MasonLaboratorySide2_MapHeader
|
||||
dba IshiharasHouse_MapHeader
|
||||
dba LightningClubEntrance_MapHeader
|
||||
dba LightningClubLobby_MapHeader
|
||||
dba LightningClub_MapHeader
|
||||
dba PsychicClubEntrance_MapHeader
|
||||
dba PsychicClubLobby_MapHeader
|
||||
dba PsychicClub_MapHeader
|
||||
dba RockClubEntrance_MapHeader
|
||||
dba RockClubLobby_MapHeader
|
||||
dba RockClub_MapHeader
|
||||
dba FightingClubEntrance_MapHeader
|
||||
dba FightingClubLobby_MapHeader
|
||||
dba FightingClub_MapHeader
|
||||
dba GrassClubEntrance_MapHeader
|
||||
dba GrassClubLobby_MapHeader
|
||||
dba GrassClub_MapHeader
|
||||
dba ScienceClubEntrance_MapHeader
|
||||
dba ScienceClubLobby_MapHeader
|
||||
dba ScienceClub_MapHeader
|
||||
dba WaterClubEntrance_MapHeader
|
||||
dba WaterClubLobby_MapHeader
|
||||
dba WaterClub_MapHeader
|
||||
dba FireClubEntrance_MapHeader
|
||||
dba FireClubLobby_MapHeader
|
||||
dba FireClub_MapHeader
|
||||
dba TcgAirportEntrance_MapHeader
|
||||
dba TcgAirport_MapHeader
|
||||
dba TcgChallengeHallEntrance_MapHeader
|
||||
dba TcgChallengeHallLobby_MapHeader
|
||||
dba TcgChallengeHall_MapHeader
|
||||
dba PokemonDomeEntrance_MapHeader
|
||||
dba PokemonDome_MapHeader
|
||||
dba PokemonDomeBack_MapHeader
|
||||
dba OverheadIslands_MapHeader
|
||||
dba GrAirportEntrance_MapHeader
|
||||
dba GrAirport_MapHeader
|
||||
dba IshiharasVilla1_MapHeader
|
||||
dba IshiharasVilla2_MapHeader
|
||||
dba GameCenterEntrance_MapHeader
|
||||
dba GameCenterLobby_MapHeader
|
||||
dba GameCenter1_MapHeader
|
||||
dba GameCenter2_MapHeader
|
||||
dba CardDungeonPawn_MapHeader
|
||||
dba CardDungeonKnight_MapHeader
|
||||
dba CardDungeonBishop_MapHeader
|
||||
dba CardDungeonRook_MapHeader
|
||||
dba CardDungeonQueen_MapHeader
|
||||
dba SealedFortEntrance_MapHeader
|
||||
dba SealedFort_MapHeader
|
||||
dba GrChallengeHallEntrance_MapHeader
|
||||
dba GrChallengeHallLobby_MapHeader
|
||||
dba GrChallengeHall_MapHeader
|
||||
dba GrassFortEntrance_MapHeader
|
||||
dba GrassFortLobby_MapHeader
|
||||
dba GrassFortMidori_MapHeader
|
||||
dba GrassFortYuta_MapHeader
|
||||
dba GrassFortMiyuki_MapHeader
|
||||
dba GrassFortMorino_MapHeader
|
||||
dba LightningFortEntrance_MapHeader
|
||||
dba LightningFortLobby_MapHeader
|
||||
dba LightningFortRenna_MapHeader
|
||||
dba LightningFortIchikawa_MapHeader
|
||||
dba LightningFortCatherine_MapHeader
|
||||
dba FireFortEntrance_MapHeader
|
||||
dba FireFortLobby_MapHeader
|
||||
dba FireFortJes_MapHeader
|
||||
dba FireFortYuki_MapHeader
|
||||
dba FireFortShoko_MapHeader
|
||||
dba FireFortHidero_MapHeader
|
||||
dba WaterFortEntrance_MapHeader
|
||||
dba WaterFortLobby_MapHeader
|
||||
dba WaterFortMiyajima_MapHeader
|
||||
dba WaterFortSenta_MapHeader
|
||||
dba WaterFortAira_MapHeader
|
||||
dba WaterFortKanoko_MapHeader
|
||||
dba FightingFortEntrance_MapHeader
|
||||
dba FightingFort_MapHeader
|
||||
dba FightingFortMaze1_MapHeader
|
||||
dba FightingFortMaze2_MapHeader
|
||||
dba FightingFortMaze3_MapHeader
|
||||
dba FightingFortMaze4_MapHeader
|
||||
dba FightingFortMaze5_MapHeader
|
||||
dba FightingFortMaze6_MapHeader
|
||||
dba FightingFortMaze7_MapHeader
|
||||
dba FightingFortMaze8_MapHeader
|
||||
dba FightingFortMaze9_MapHeader
|
||||
dba FightingFortMaze10_MapHeader
|
||||
dba FightingFortMaze11_MapHeader
|
||||
dba FightingFortMaze12_MapHeader
|
||||
dba FightingFortMaze13_MapHeader
|
||||
dba FightingFortMaze14_MapHeader
|
||||
dba FightingFortMaze15_MapHeader
|
||||
dba FightingFortMaze16_MapHeader
|
||||
dba FightingFortMaze17_MapHeader
|
||||
dba FightingFortMaze18_MapHeader
|
||||
dba FightingFortMaze19_MapHeader
|
||||
dba FightingFortMaze20_MapHeader
|
||||
dba FightingFortMaze21_MapHeader
|
||||
dba FightingFortMaze22_MapHeader
|
||||
dba FightingFortBasement_MapHeader
|
||||
dba FightingFortGoda_MapHeader
|
||||
dba FightingFortGrace_MapHeader
|
||||
dba PsychicStrongholdEntrance_MapHeader
|
||||
dba PsychicStrongholdLobby_MapHeader
|
||||
dba PsychicStronghold_MapHeader
|
||||
dba PsychicStrongholdMami_MapHeader
|
||||
dba ColorlessAltarEntrance_MapHeader
|
||||
dba ColorlessAltar_MapHeader
|
||||
dba GrCastleEntrance_MapHeader
|
||||
dba GrCastle_MapHeader
|
||||
dba GrCastleBiruritchi_MapHeader
|
||||
|
||||
INCLUDE "data/npc_duelists.asm"
|
||||
; 0xcc9b
|
||||
|
||||
+1360
-3
File diff suppressed because it is too large
Load Diff
@@ -11,3 +11,862 @@ Func_341c4:
|
||||
ld a, [wNextMusic]
|
||||
farcall PlayAfterCurrentSong
|
||||
ret
|
||||
|
||||
SECTION "Bank d@4575", ROMX[$4575], BANK[$d]
|
||||
TcgAirportEntrance_MapHeader:
|
||||
db MAP_GFX_TCG_AIRPORT_ENTRANCE
|
||||
dba TcgAirportEntrance_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
TcgAirportEntrance_StepEvents:
|
||||
map_exit 5, 12, OVERWORLD_MAP_TCG, 5, 7, SOUTH
|
||||
map_exit 6, 12, OVERWORLD_MAP_TCG, 5, 7, SOUTH
|
||||
map_exit 11, 6, MAP_TCG_AIRPORT, 1, 9, EAST
|
||||
map_exit 11, 7, MAP_TCG_AIRPORT, 1, 10, EAST
|
||||
ow_script 9, 6, $0d, $462d
|
||||
ow_script 9, 7, $0d, $462d
|
||||
db $ff
|
||||
|
||||
TcgAirportEntrance_NPCs:
|
||||
npc OW_GR_5, 10, 7, WEST, $46bc
|
||||
npc OW_GR_CLERK_1, 7, 3, SOUTH, $0
|
||||
npc OW_GR_GAL_1, 3, 2, NORTH, $0
|
||||
npc OW_MANIA_5, 1, 7, EAST, $0
|
||||
db $ff
|
||||
|
||||
TcgAirportEntrance_NPCInteractions:
|
||||
npc_script OW_GR_5, $0d, $468f
|
||||
npc_script OW_GR_GAL_1, $0d, $471c
|
||||
npc_script OW_MANIA_5, $0d, $4742
|
||||
db $ff
|
||||
|
||||
TcgAirportEntrance_OWInteractions:
|
||||
ow_script 7, 5, $0d, $46f6
|
||||
db $ff
|
||||
|
||||
TcgAirportEntrance_MapScripts:
|
||||
dbw $00, $45f1
|
||||
dbw $06, $460d
|
||||
dbw $08, $461d
|
||||
dbw $07, $4614
|
||||
dbw $01, $45fd
|
||||
db $ff
|
||||
; gap from 0x345f1 to 0x34773
|
||||
|
||||
SECTION "Bank d@4773", ROMX[$4773], BANK[$d]
|
||||
|
||||
TcgAirport_MapHeader:
|
||||
db MAP_GFX_TCG_AIRPORT
|
||||
dba TcgAirport_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
TcgAirport_StepEvents:
|
||||
map_exit 0, 9, MAP_TCG_AIRPORT_ENTRANCE, 10, 6, WEST
|
||||
map_exit 0, 10, MAP_TCG_AIRPORT_ENTRANCE, 10, 7, WEST
|
||||
_ow_coordinate_function 11, 8, 0, 0, 0, 3, $0d, $49cd
|
||||
ow_script 10, 9, $0d, $49cd
|
||||
ow_script 9, 9, $0d, $49cd
|
||||
_ow_coordinate_function 8, 8, 0, 0, 0, 1, $0d, $49cd
|
||||
db $ff
|
||||
|
||||
TcgAirport_NPCs:
|
||||
npc OW_GR_5, 10, 8, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
TcgAirport_NPCInteractions:
|
||||
npc_script OW_GR_5, $0d, $4910
|
||||
db $ff
|
||||
|
||||
TcgAirport_MapScripts:
|
||||
dbw $00, $47ce
|
||||
dbw $06, $47da
|
||||
dbw $08, $489d
|
||||
dbw $07, $47e1
|
||||
dbw $02, $47ea
|
||||
dbw $0f, $4873
|
||||
db $ff
|
||||
; gap from 0x347ce to 0x34aaf
|
||||
|
||||
SECTION "Bank d@4aaf", ROMX[$4aaf], BANK[$d]
|
||||
|
||||
GrAirportEntrance_MapHeader:
|
||||
db MAP_GFX_GR_AIRPORT_ENTRANCE
|
||||
dba GrAirportEntrance_MapScripts
|
||||
db MUSIC_GROVERWORLD
|
||||
|
||||
GrAirportEntrance_StepEvents:
|
||||
map_exit 5, 12, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 6, 12, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 0, 6, MAP_GR_AIRPORT, 12, 9, WEST
|
||||
map_exit 0, 7, MAP_GR_AIRPORT, 12, 10, WEST
|
||||
db $ff
|
||||
|
||||
GrAirportEntrance_NPCs:
|
||||
npc OW_GR_CLERK_2, 4, 3, SOUTH, $0
|
||||
npc OW_GR_PAPPY_1, 10, 3, WEST, $0
|
||||
npc OW_GR_LASS_3, 5, 8, WEST, $0
|
||||
db $ff
|
||||
|
||||
GrAirportEntrance_NPCInteractions:
|
||||
npc_script OW_GR_CLERK_6, $0d, $4b36
|
||||
npc_script OW_GR_PAPPY_1, $0d, $4b51
|
||||
npc_script OW_GR_LASS_3, $0d, $4b77
|
||||
db $ff
|
||||
|
||||
GrAirportEntrance_OWInteractions:
|
||||
ow_script 4, 5, $0d, $4b36
|
||||
ow_script 8, 2, $0d, $4b9d
|
||||
db $ff
|
||||
|
||||
GrAirportEntrance_MapScripts:
|
||||
dbw $06, $4b16
|
||||
dbw $08, $4b26
|
||||
dbw $07, $4b1d
|
||||
db $ff
|
||||
; gap from 0x34b16 to 0x34ba8
|
||||
|
||||
SECTION "Bank d@4ba8", ROMX[$4ba8], BANK[$d]
|
||||
|
||||
GameCenter1_MapHeader:
|
||||
db MAP_GFX_GAME_CENTER_1
|
||||
dba GameCenter1_MapScripts
|
||||
db MUSIC_GAMECORNER
|
||||
|
||||
GameCenter1_StepEvents:
|
||||
map_exit 5, 14, MAP_GAME_CENTER_ENTRANCE, 5, 1, SOUTH
|
||||
map_exit 6, 14, MAP_GAME_CENTER_ENTRANCE, 6, 1, SOUTH
|
||||
map_exit 11, 6, MAP_GAME_CENTER_2, 1, 6, EAST
|
||||
map_exit 11, 7, MAP_GAME_CENTER_2, 1, 7, EAST
|
||||
db $ff
|
||||
|
||||
GameCenter1_NPCs:
|
||||
npc OW_MONOCLE_2, 7, 4, SOUTH, $0
|
||||
npc OW_DEALER_BOY_1, 1, 9, SOUTH, $0
|
||||
npc OW_DEALER_GIRL_1, 9, 10, WEST, $0
|
||||
npc OW_GR_GAL_3, 3, 5, EAST, $0
|
||||
npc OW_BUTCH_3, 8, 8, EAST, $0
|
||||
db $ff
|
||||
; gap from 0x34bf1 to 0x34c06
|
||||
|
||||
SECTION "Bank d@4c06", ROMX[$4c06], BANK[$d]
|
||||
|
||||
GameCenter1_OWInteractions:
|
||||
ow_script 5, 4, $0d, $4d15
|
||||
ow_script 6, 4, $0d, $4d15
|
||||
ow_script 2, 9, $0d, $4d35
|
||||
db $ff
|
||||
|
||||
GameCenter1_MapScripts:
|
||||
dbw $06, $4c2c
|
||||
dbw $08, $4c3c
|
||||
dbw $07, $4c33
|
||||
db $ff
|
||||
; gap from 0x34c2c to 0x34e4d
|
||||
|
||||
SECTION "Bank d@4e4d", ROMX[$4e4d], BANK[$d]
|
||||
|
||||
GameCenter2_MapHeader:
|
||||
db MAP_GFX_GAME_CENTER_2
|
||||
dba GameCenter2_MapScripts
|
||||
db MUSIC_GAMECORNER
|
||||
|
||||
GameCenter2_StepEvents:
|
||||
map_exit 0, 6, MAP_GAME_CENTER_1, 10, 6, WEST
|
||||
map_exit 0, 7, MAP_GAME_CENTER_1, 10, 7, WEST
|
||||
db $ff
|
||||
|
||||
GameCenter2_NPCs:
|
||||
npc OW_DEALER_BOY_2, 1, 10, SOUTH, $0
|
||||
npc OW_CHIP_GIRL_2, 10, 10, SOUTH, $0
|
||||
npc OW_DEALER_GIRL_2, 7, 3, SOUTH, $0
|
||||
npc OW_MANIA_7, 2, 4, EAST, $0
|
||||
npc OW_GAMBLER, 4, 10, NORTH, $0
|
||||
npc OW_GR_WOMAN_2, 8, 10, NORTH, $0
|
||||
db $ff
|
||||
|
||||
GameCenter2_NPCInteractions:
|
||||
npc_script OW_DEALER_BOY_2, $0d, $4f25
|
||||
npc_script OW_CHIP_GIRL_2, $0d, $4f50
|
||||
npc_script OW_DEALER_GIRL_2, $0d, $4f7b
|
||||
npc_script OW_MANIA_7, $0d, $5016
|
||||
npc_script OW_GAMBLER, $0d, $5047
|
||||
npc_script OW_GR_WOMAN_2, $0d, $506f
|
||||
db $ff
|
||||
|
||||
GameCenter2_OWInteractions:
|
||||
_ow_coordinate_function 2, 10, 1, 0, 0, 0, $07, $596e
|
||||
_ow_coordinate_function 3, 10, 1, 0, 0, 0, $07, $596e
|
||||
_ow_coordinate_function 4, 10, 1, 0, 0, 0, $07, $596e
|
||||
_ow_coordinate_function 7, 10, 5, 0, 0, 0, $07, $596e
|
||||
_ow_coordinate_function 8, 10, 5, 0, 0, 0, $07, $596e
|
||||
_ow_coordinate_function 9, 10, 5, 0, 0, 0, $07, $596e
|
||||
db $ff
|
||||
|
||||
GameCenter2_MapScripts:
|
||||
dbw $06, $4ee7
|
||||
dbw $08, $4ef7
|
||||
dbw $07, $4eee
|
||||
dbw $02, $4f07
|
||||
db $ff
|
||||
; gap from 0x34ee7 to 0x3509f
|
||||
|
||||
SECTION "Bank d@509f", ROMX[$509f], BANK[$d]
|
||||
|
||||
CardDungeonBishop_MapHeader:
|
||||
db MAP_GFX_CARD_DUNGEON_BISHOP
|
||||
dba CardDungeonBishop_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
CardDungeonBishop_StepEvents:
|
||||
map_exit 4, 0, MAP_CARD_DUNGEON_ROOK, 4, 8, NORTH
|
||||
map_exit 5, 0, MAP_CARD_DUNGEON_ROOK, 5, 8, NORTH
|
||||
db $ff
|
||||
|
||||
CardDungeonBishop_NPCs:
|
||||
npc OW_BISHOP, 5, 3, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
CardDungeonBishop_NPCInteractions:
|
||||
npc_script OW_BISHOP, $0d, $512c
|
||||
db $ff
|
||||
|
||||
CardDungeonBishop_OWInteractions:
|
||||
ow_script 4, 1, $0d, $5273
|
||||
ow_script 5, 1, $0d, $5273
|
||||
db $ff
|
||||
|
||||
CardDungeonBishop_MapScripts:
|
||||
dbw $06, $50e6
|
||||
dbw $08, $50f6
|
||||
dbw $09, $5127
|
||||
dbw $07, $50ed
|
||||
dbw $02, $5106
|
||||
db $ff
|
||||
; gap from 0x350e6 to 0x35288
|
||||
|
||||
SECTION "Bank d@5288", ROMX[$5288], BANK[$d]
|
||||
|
||||
GrChallengeHallLobby_MapHeader:
|
||||
db MAP_GFX_GR_CHALLENGE_HALL_LOBBY
|
||||
dba GrChallengeHallLobby_MapScripts
|
||||
db MUSIC_GROVERWORLD
|
||||
|
||||
GrChallengeHallLobby_StepEvents:
|
||||
map_exit 13, 6, MAP_GR_CHALLENGE_HALL_ENTRANCE, 1, 3, EAST
|
||||
map_exit 13, 7, MAP_GR_CHALLENGE_HALL_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
GrChallengeHallLobby_NPCs:
|
||||
npc OW_GR_GRANNY_1, 3, 5, WEST, $0
|
||||
npc OW_GAL_3, 2, 10, NORTH, $53ce
|
||||
npc OW_GR_CHAP, 8, 9, EAST, $5444
|
||||
npc OW_GR_WOMAN_3, 12, 8, WEST, $0
|
||||
npc OW_GR_CLERK_3, 5, 2, SOUTH, $0
|
||||
npc OW_GR_CLERK_4, 8, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrChallengeHallLobby_NPCInteractions:
|
||||
npc_script OW_GR_GRANNY_1, $0d, $5342
|
||||
npc_script OW_GAL_3, $0d, $53a8
|
||||
npc_script OW_GR_WOMAN_3, $0d, $5451
|
||||
npc_script OW_GR_CHAP, $0d, $53e5
|
||||
db $ff
|
||||
|
||||
GrChallengeHallLobby_OWInteractions:
|
||||
ow_script 1, 2, $03, $5411
|
||||
ow_script 2, 2, $03, $5411
|
||||
ow_script 5, 4, $0f, $41d0
|
||||
ow_script 8, 4, $0f, $42d9
|
||||
db $ff
|
||||
|
||||
GrChallengeHallLobby_MapScripts:
|
||||
dbw $06, $5322
|
||||
dbw $08, $5332
|
||||
dbw $07, $5329
|
||||
dbw $01, $5308
|
||||
db $ff
|
||||
; gap from 0x35308 to 0x354a2
|
||||
|
||||
SECTION "Bank d@54a2", ROMX[$54a2], BANK[$d]
|
||||
|
||||
GrassFortMorino_MapHeader:
|
||||
db MAP_GFX_GRASS_FORT_MORINO
|
||||
dba GrassFortMorino_MapScripts
|
||||
db MUSIC_FORT_1
|
||||
|
||||
GrassFortMorino_StepEvents:
|
||||
map_exit 6, 15, MAP_GRASS_FORT_MIYUKI, 5, 1, SOUTH
|
||||
map_exit 7, 15, MAP_GRASS_FORT_MIYUKI, 6, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
GrassFortMorino_NPCs:
|
||||
npc OW_MORINO, 7, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrassFortMorino_NPCInteractions:
|
||||
npc_script OW_MORINO, $0d, $54fb
|
||||
db $ff
|
||||
|
||||
GrassFortMorino_MapScripts:
|
||||
dbw $06, $54d3
|
||||
dbw $08, $54e3
|
||||
dbw $09, $54eb
|
||||
dbw $07, $54da
|
||||
db $ff
|
||||
; gap from 0x354d3 to 0x354f6
|
||||
|
||||
SECTION "Bank d@54f6", ROMX[$54f6], BANK[$d]
|
||||
|
||||
GrassFortMorino_AfterDuelScripts:
|
||||
npc_script OW_MORINO, $0d, $5596
|
||||
db $ff
|
||||
; gap from 0x354fb to 0x355de
|
||||
|
||||
SECTION "Bank d@55de", ROMX[$55de], BANK[$d]
|
||||
|
||||
WaterFortSenta_MapHeader:
|
||||
db MAP_GFX_WATER_FORT_SENTA
|
||||
dba WaterFortSenta_MapScripts
|
||||
db MUSIC_FORT_1
|
||||
|
||||
WaterFortSenta_StepEvents:
|
||||
map_exit 6, 11, MAP_WATER_FORT_MIYAJIMA, 4, 1, SOUTH
|
||||
map_exit 7, 11, MAP_WATER_FORT_MIYAJIMA, 5, 1, SOUTH
|
||||
map_exit 13, 5, MAP_WATER_FORT_AIRA, 1, 6, EAST
|
||||
map_exit 13, 6, MAP_WATER_FORT_AIRA, 1, 7, EAST
|
||||
db $ff
|
||||
|
||||
WaterFortSenta_NPCs:
|
||||
npc OW_SENTA, 6, 3, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
WaterFortSenta_NPCInteractions:
|
||||
npc_script OW_SENTA, $0d, $5679
|
||||
db $ff
|
||||
|
||||
WaterFortSenta_MapScripts:
|
||||
dbw $06, $5624
|
||||
dbw $08, $5661
|
||||
dbw $09, $5669
|
||||
dbw $07, $562b
|
||||
dbw $02, $5634
|
||||
db $ff
|
||||
; gap from 0x35624 to 0x35674
|
||||
|
||||
SECTION "Bank d@5674", ROMX[$5674], BANK[$d]
|
||||
|
||||
WaterFortSenta_AfterDuelScripts:
|
||||
npc_script OW_SENTA, $0d, $56e8
|
||||
db $ff
|
||||
; gap from 0x35679 to 0x3580f
|
||||
|
||||
SECTION "Bank d@580f", ROMX[$580f], BANK[$d]
|
||||
|
||||
WaterFortAira_MapHeader:
|
||||
db MAP_GFX_WATER_FORT_AIRA
|
||||
dba WaterFortAira_MapScripts
|
||||
db MUSIC_FORT_1
|
||||
|
||||
WaterFortAira_StepEvents:
|
||||
map_exit 0, 6, MAP_WATER_FORT_SENTA, 12, 5, WEST
|
||||
map_exit 0, 7, MAP_WATER_FORT_SENTA, 12, 6, WEST
|
||||
map_exit 4, 0, MAP_WATER_FORT_KANOKO, 6, 12, NORTH
|
||||
map_exit 5, 0, MAP_WATER_FORT_KANOKO, 7, 12, NORTH
|
||||
db $ff
|
||||
|
||||
WaterFortAira_NPCs:
|
||||
npc OW_AIRA, 4, 5, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
WaterFortAira_NPCInteractions:
|
||||
npc_script OW_AIRA, $0d, $589a
|
||||
db $ff
|
||||
|
||||
WaterFortAira_MapScripts:
|
||||
dbw $06, $5855
|
||||
dbw $08, $5882
|
||||
dbw $09, $588a
|
||||
dbw $07, $585c
|
||||
dbw $02, $5865
|
||||
db $ff
|
||||
; gap from 0x35855 to 0x35895
|
||||
|
||||
SECTION "Bank d@5895", ROMX[$5895], BANK[$d]
|
||||
|
||||
WaterFortAira_AfterDuelScripts:
|
||||
npc_script OW_AIRA, $0d, $58f3
|
||||
db $ff
|
||||
; gap from 0x3589a to 0x35989
|
||||
|
||||
SECTION "Bank d@5989", ROMX[$5989], BANK[$d]
|
||||
|
||||
FightingFort_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT
|
||||
dba FightingFort_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFort_StepEvents:
|
||||
map_exit 7, 0, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 8, 0, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 7, 8, MAP_FIGHTING_FORT_ENTRANCE, 4, 1, SOUTH
|
||||
map_exit 8, 8, MAP_FIGHTING_FORT_ENTRANCE, 5, 1, SOUTH
|
||||
map_exit 3, 1, MAP_FIGHTING_FORT_MAZE_1, 4, 7, NORTH
|
||||
map_exit 12, 1, MAP_FIGHTING_FORT_MAZE_3, 4, 7, NORTH
|
||||
map_exit 1, 4, MAP_FIGHTING_FORT_BASEMENT, 1, 6, NORTH
|
||||
db $ff
|
||||
|
||||
FightingFort_NPCs:
|
||||
npc OW_KAMIYA, 6, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
FightingFort_NPCInteractions:
|
||||
npc_script OW_KAMIYA, $0d, $5b16
|
||||
db $ff
|
||||
|
||||
FightingFort_OWInteractions:
|
||||
ow_script 7, 1, $0d, $5be4
|
||||
ow_script 8, 1, $0d, $5be4
|
||||
db $ff
|
||||
|
||||
FightingFort_MapScripts:
|
||||
dbw $06, $59fd
|
||||
dbw $08, $5a7c
|
||||
dbw $09, $5a8c
|
||||
dbw $07, $5a04
|
||||
dbw $02, $5a0d
|
||||
db $ff
|
||||
; gap from 0x359fd to 0x35a97
|
||||
|
||||
SECTION "Bank d@5a97", ROMX[$5a97], BANK[$d]
|
||||
|
||||
FightingFort_AfterDuelScripts:
|
||||
npc_script OW_KAMIYA, $0d, $5b82
|
||||
db $ff
|
||||
; gap from 0x35a9c to 0x35c10
|
||||
|
||||
SECTION "Bank d@5c10", ROMX[$5c10], BANK[$d]
|
||||
|
||||
FightingFortMaze16_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_MAZE_16
|
||||
dba FightingFortMaze16_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortMaze16_StepEvents:
|
||||
map_exit 4, 8, MAP_FIGHTING_FORT_MAZE_11, 4, 1, SOUTH
|
||||
map_exit 5, 8, MAP_FIGHTING_FORT_MAZE_11, 5, 1, SOUTH
|
||||
map_exit 4, 0, MAP_FIGHTING_FORT_MAZE_20, 4, 7, NORTH
|
||||
map_exit 5, 0, MAP_FIGHTING_FORT_MAZE_20, 5, 7, NORTH
|
||||
map_exit 0, 3, MAP_FIGHTING_FORT_MAZE_15, 8, 3, WEST
|
||||
map_exit 0, 4, MAP_FIGHTING_FORT_MAZE_15, 8, 4, WEST
|
||||
_ow_coordinate_function 4, 6, 104, 10, 1, 2, $0d, $5c86
|
||||
_ow_coordinate_function 5, 6, 104, 10, 1, 2, $0d, $5c86
|
||||
db $ff
|
||||
|
||||
FightingFortMaze16_MapScripts:
|
||||
dbw $06, $5c68
|
||||
dbw $0f, $5c6f
|
||||
dbw $02, $5c7b
|
||||
db $ff
|
||||
; gap from 0x35c68 to 0x35c9a
|
||||
|
||||
SECTION "Bank d@5c9a", ROMX[$5c9a], BANK[$d]
|
||||
|
||||
FightingFortMaze18_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_MAZE_18
|
||||
dba FightingFortMaze18_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortMaze18_StepEvents:
|
||||
map_exit 4, 8, MAP_FIGHTING_FORT_MAZE_13, 4, 1, SOUTH
|
||||
map_exit 5, 8, MAP_FIGHTING_FORT_MAZE_13, 5, 1, SOUTH
|
||||
map_exit 4, 0, MAP_FIGHTING_FORT_MAZE_22, 4, 7, NORTH
|
||||
map_exit 5, 0, MAP_FIGHTING_FORT_MAZE_22, 5, 7, NORTH
|
||||
map_exit 0, 3, MAP_FIGHTING_FORT_MAZE_17, 8, 3, WEST
|
||||
map_exit 0, 4, MAP_FIGHTING_FORT_MAZE_17, 8, 4, WEST
|
||||
map_exit 9, 3, MAP_FIGHTING_FORT_MAZE_19, 1, 3, EAST
|
||||
map_exit 9, 4, MAP_FIGHTING_FORT_MAZE_19, 1, 4, EAST
|
||||
_ow_coordinate_function 4, 6, 104, 10, 1, 2, $0d, $5d22
|
||||
_ow_coordinate_function 5, 6, 104, 10, 1, 2, $0d, $5d22
|
||||
db $ff
|
||||
|
||||
FightingFortMaze18_MapScripts:
|
||||
dbw $06, $5d04
|
||||
dbw $0f, $5d0b
|
||||
dbw $02, $5d17
|
||||
db $ff
|
||||
; gap from 0x35d04 to 0x35d36
|
||||
|
||||
SECTION "Bank d@5d36", ROMX[$5d36], BANK[$d]
|
||||
|
||||
FightingFortGoda_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_GODA
|
||||
dba FightingFortGoda_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortGoda_StepEvents:
|
||||
map_exit 5, 10, MAP_FIGHTING_FORT_MAZE_15, 4, 1, SOUTH
|
||||
map_exit 6, 10, MAP_FIGHTING_FORT_MAZE_15, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
FightingFortGoda_NPCs:
|
||||
npc OW_GODA, 5, 4, SOUTH, $0
|
||||
npc OW_MITCH, 6, 2, SOUTH, $5de2
|
||||
db $ff
|
||||
|
||||
FightingFortGoda_NPCInteractions:
|
||||
npc_script OW_GODA, $0d, $5def
|
||||
db $ff
|
||||
|
||||
FightingFortGoda_OWInteractions:
|
||||
ow_script 6, 4, $0d, $5dc0
|
||||
db $ff
|
||||
|
||||
FightingFortGoda_MapScripts:
|
||||
dbw $06, $5d7a
|
||||
dbw $08, $5da0
|
||||
dbw $09, $5db0
|
||||
dbw $07, $5d81
|
||||
dbw $02, $5d8a
|
||||
db $ff
|
||||
; gap from 0x35d7a to 0x35dbb
|
||||
|
||||
SECTION "Bank d@5dbb", ROMX[$5dbb], BANK[$d]
|
||||
|
||||
FightingFortGoda_AfterDuelScripts:
|
||||
npc_script OW_GODA, $0d, $5e5e
|
||||
db $ff
|
||||
; gap from 0x35dc0 to 0x35f14
|
||||
|
||||
SECTION "Bank d@5f14", ROMX[$5f14], BANK[$d]
|
||||
|
||||
FightingFortGrace_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_GRACE
|
||||
dba FightingFortGrace_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortGrace_StepEvents:
|
||||
map_exit 4, 10, MAP_FIGHTING_FORT_MAZE_5, 4, 1, SOUTH
|
||||
map_exit 5, 10, MAP_FIGHTING_FORT_MAZE_5, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
FightingFortGrace_NPCs:
|
||||
npc OW_GRACE, 4, 2, SOUTH, $0
|
||||
npc OW_CHEST_CLOSED, 5, 1, SOUTH, $6062
|
||||
npc OW_CHEST_OPENED, 5, 1, SOUTH, $6082
|
||||
db $ff
|
||||
|
||||
FightingFortGrace_NPCInteractions:
|
||||
npc_script OW_GRACE, $0d, $5f81
|
||||
npc_script OW_CHEST_CLOSED, $0d, $6049
|
||||
npc_script OW_CHEST_OPENED, $0d, $6077
|
||||
db $ff
|
||||
|
||||
FightingFortGrace_MapScripts:
|
||||
dbw $06, $5f59
|
||||
dbw $08, $5f69
|
||||
dbw $09, $5f71
|
||||
dbw $07, $5f60
|
||||
db $ff
|
||||
; gap from 0x35f59 to 0x35f7c
|
||||
|
||||
SECTION "Bank d@5f7c", ROMX[$5f7c], BANK[$d]
|
||||
|
||||
FightingFortGrace_AfterDuelScripts:
|
||||
npc_script OW_GRACE, $0d, $5ffb
|
||||
db $ff
|
||||
; gap from 0x35f81 to 0x36097
|
||||
|
||||
SECTION "Bank d@6097", ROMX[$6097], BANK[$d]
|
||||
|
||||
PsychicStrongholdEntrance_MapHeader:
|
||||
db MAP_GFX_PSYCHIC_STRONGHOLD_ENTRANCE
|
||||
dba PsychicStrongholdEntrance_MapScripts
|
||||
db MUSIC_FORT_2
|
||||
|
||||
PsychicStrongholdEntrance_StepEvents:
|
||||
map_exit 4, 8, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 5, 8, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 0, 3, MAP_PSYCHIC_STRONGHOLD_LOBBY, 12, 6, WEST
|
||||
map_exit 0, 4, MAP_PSYCHIC_STRONGHOLD_LOBBY, 12, 7, WEST
|
||||
map_exit 4, 0, MAP_PSYCHIC_STRONGHOLD, 7, 11, NORTH
|
||||
map_exit 5, 0, MAP_PSYCHIC_STRONGHOLD, 8, 11, NORTH
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdEntrance_NPCs:
|
||||
npc OW_GR_CLERK_12, 3, 1, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdEntrance_NPCInteractions:
|
||||
npc_script OW_GR_CLERK_12, $0d, $6148
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdEntrance_MapScripts:
|
||||
dbw $06, $6104
|
||||
dbw $08, $6140
|
||||
dbw $07, $610b
|
||||
dbw $02, $6114
|
||||
dbw $10, $60ef
|
||||
db $ff
|
||||
; gap from 0x360ef to 0x36173
|
||||
|
||||
SECTION "Bank d@6173", ROMX[$6173], BANK[$d]
|
||||
|
||||
PsychicStrongholdLobby_MapHeader:
|
||||
db MAP_GFX_PSYCHIC_STRONGHOLD_LOBBY
|
||||
dba PsychicStrongholdLobby_MapScripts
|
||||
db MUSIC_FORT_2
|
||||
|
||||
PsychicStrongholdLobby_StepEvents:
|
||||
map_exit 13, 6, MAP_PSYCHIC_STRONGHOLD_ENTRANCE, 1, 3, EAST
|
||||
map_exit 13, 7, MAP_PSYCHIC_STRONGHOLD_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdLobby_NPCs:
|
||||
npc OW_GAL_1, 2, 6, WEST, $0
|
||||
npc OW_MANIA_6, 5, 9, EAST, $0
|
||||
npc OW_GR_LASS_5, 10, 4, EAST, $0
|
||||
npc OW_IMAKUNI_RED, 12, 1, NORTH, $6310
|
||||
npc OW_GR_CLERK_3, 5, 2, SOUTH, $0
|
||||
npc OW_GR_CLERK_4, 8, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdLobby_NPCInteractions:
|
||||
npc_script OW_GAL_1, $0d, $6250
|
||||
npc_script OW_MANIA_6, $0d, $62c4
|
||||
npc_script OW_GR_LASS_5, $0d, $62ea
|
||||
npc_script OW_IMAKUNI_RED, $0f, $44e0
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdLobby_OWInteractions:
|
||||
ow_script 1, 2, $03, $5411
|
||||
ow_script 2, 2, $03, $5411
|
||||
ow_script 5, 4, $0f, $41d0
|
||||
ow_script 8, 4, $0f, $42d9
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdLobby_MapScripts:
|
||||
dbw $06, $620e
|
||||
dbw $08, $621e
|
||||
dbw $09, $622e
|
||||
dbw $0b, $6234
|
||||
dbw $07, $6215
|
||||
dbw $10, $61f9
|
||||
db $ff
|
||||
; gap from 0x361f9 to 0x3631f
|
||||
|
||||
SECTION "Bank d@631f", ROMX[$631f], BANK[$d]
|
||||
|
||||
PsychicStronghold_MapHeader:
|
||||
db MAP_GFX_PSYCHIC_STRONGHOLD
|
||||
dba PsychicStronghold_MapScripts
|
||||
db MUSIC_FORT_2
|
||||
|
||||
PsychicStronghold_StepEvents:
|
||||
_ow_coordinate_function 7, 12, 107, 4, 1, 2, $0d, $6bc8
|
||||
_ow_coordinate_function 8, 12, 107, 5, 1, 2, $0d, $6bc8
|
||||
_ow_coordinate_function 7, 3, 110, 7, 10, 0, $0d, $6be5
|
||||
_ow_coordinate_function 8, 3, 110, 8, 10, 0, $0d, $6be5
|
||||
db $ff
|
||||
|
||||
PsychicStronghold_NPCs:
|
||||
npc OW_MIWA, 5, 7, SOUTH, $0
|
||||
npc OW_KEVIN, 3, 5, SOUTH, $0
|
||||
npc OW_YOSUKE, 10, 7, SOUTH, $0
|
||||
npc OW_RYOKO, 12, 5, SOUTH, $0
|
||||
npc OW_STRONGHOLD_PLATFORM, 6, 3, SOUTH, $6b8f
|
||||
db $ff
|
||||
|
||||
PsychicStronghold_NPCInteractions:
|
||||
npc_script OW_MIWA, $0d, $6712
|
||||
npc_script OW_KEVIN, $0d, $682a
|
||||
npc_script OW_YOSUKE, $0d, $6921
|
||||
npc_script OW_RYOKO, $0d, $6a2a
|
||||
db $ff
|
||||
|
||||
PsychicStronghold_MapScripts:
|
||||
dbw $06, $638f
|
||||
dbw $08, $6440
|
||||
dbw $12, $6448
|
||||
dbw $09, $6490
|
||||
dbw $07, $6396
|
||||
dbw $02, $639f
|
||||
dbw $0f, $6434
|
||||
db $ff
|
||||
; gap from 0x3638f to 0x3649b
|
||||
|
||||
SECTION "Bank d@649b", ROMX[$649b], BANK[$d]
|
||||
|
||||
PsychicStronghold_AfterDuelScripts:
|
||||
npc_script OW_MIWA, $0d, $678e
|
||||
npc_script OW_KEVIN, $0d, $6887
|
||||
npc_script OW_YOSUKE, $0d, $6990
|
||||
npc_script OW_RYOKO, $0d, $6ad3
|
||||
db $ff
|
||||
; gap from 0x364ac to 0x36c9b
|
||||
|
||||
SECTION "Bank d@6c9b", ROMX[$6c9b], BANK[$d]
|
||||
|
||||
PsychicStrongholdMami_MapHeader:
|
||||
db MAP_GFX_PSYCHIC_STRONGHOLD_MAMI
|
||||
dba PsychicStrongholdMami_MapScripts
|
||||
db MUSIC_FORT_2
|
||||
|
||||
PsychicStrongholdMami_StepEvents:
|
||||
_ow_coordinate_function 7, 10, 109, 7, 3, 2, $0d, $6f7f
|
||||
_ow_coordinate_function 8, 10, 109, 8, 3, 2, $0d, $6f7f
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdMami_NPCs:
|
||||
npc OW_MAMI, 7, 2, NORTH, $0
|
||||
npc OW_ROD, 8, 2, SOUTH, $6e03
|
||||
npc OW_STRONGHOLD_PLATFORM, 6, 10, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdMami_NPCInteractions:
|
||||
npc_script OW_MAMI, $0d, $6e18
|
||||
npc_script OW_ROD, $0d, $6de8
|
||||
db $ff
|
||||
|
||||
PsychicStrongholdMami_MapScripts:
|
||||
dbw $06, $6ce5
|
||||
dbw $08, $6d21
|
||||
dbw $12, $6d29
|
||||
dbw $09, $6d65
|
||||
dbw $07, $6cec
|
||||
dbw $02, $6cf5
|
||||
dbw $0f, $6d1e
|
||||
db $ff
|
||||
; gap from 0x36ce5 to 0x36d70
|
||||
|
||||
SECTION "Bank d@6d70", ROMX[$6d70], BANK[$d]
|
||||
|
||||
PsychicStrongholdMami_AfterDuelScripts:
|
||||
npc_script OW_MAMI, $0d, $6e9b
|
||||
db $ff
|
||||
; gap from 0x36d75 to 0x36f9a
|
||||
|
||||
SECTION "Bank d@6f9a", ROMX[$6f9a], BANK[$d]
|
||||
|
||||
ColorlessAltar_MapHeader:
|
||||
db MAP_GFX_COLORLESS_ALTAR
|
||||
dba ColorlessAltar_MapScripts
|
||||
db MUSIC_FORT_4
|
||||
|
||||
ColorlessAltar_StepEvents:
|
||||
map_exit 5, 11, MAP_COLORLESS_ALTAR_ENTRANCE, 4, 1, SOUTH
|
||||
map_exit 6, 11, MAP_COLORLESS_ALTAR_ENTRANCE, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
ColorlessAltar_NPCs:
|
||||
npc OW_NISHIJIMA, 6, 6, NORTH, $0
|
||||
npc OW_ISHII, 6, 3, NORTH, $0
|
||||
npc OW_SAMEJIMA, 5, 4, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
ColorlessAltar_NPCInteractions:
|
||||
npc_script OW_NISHIJIMA, $0d, $7082
|
||||
npc_script OW_ISHII, $0d, $7179
|
||||
npc_script OW_SAMEJIMA, $0d, $728d
|
||||
db $ff
|
||||
|
||||
ColorlessAltar_MapScripts:
|
||||
dbw $06, $6fe2
|
||||
dbw $08, $7011
|
||||
dbw $09, $7019
|
||||
dbw $07, $6fe9
|
||||
dbw $02, $6ff2
|
||||
db $ff
|
||||
; gap from 0x36fe2 to 0x37024
|
||||
|
||||
SECTION "Bank d@7024", ROMX[$7024], BANK[$d]
|
||||
|
||||
ColorlessAltar_AfterDuelScripts:
|
||||
npc_script OW_NISHIJIMA, $0d, $713b
|
||||
npc_script OW_ISHII, $0d, $724a
|
||||
npc_script OW_SAMEJIMA, $0d, $7329
|
||||
db $ff
|
||||
; gap from 0x37031 to 0x37365
|
||||
|
||||
SECTION "Bank d@7365", ROMX[$7365], BANK[$d]
|
||||
|
||||
GrCastleEntrance_MapHeader:
|
||||
db MAP_GFX_GR_CASTLE_ENTRANCE
|
||||
dba GrCastleEntrance_MapScripts
|
||||
db MUSIC_GRCASTLE
|
||||
|
||||
GrCastleEntrance_StepEvents:
|
||||
map_exit 4, 8, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 5, 8, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 6, 8, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
db $ff
|
||||
|
||||
GrCastleEntrance_NPCs:
|
||||
npc OW_GR_CLERK_14, 7, 3, SOUTH, $0
|
||||
npc OW_GR_CLERK_15, 3, 3, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrCastleEntrance_NPCInteractions:
|
||||
npc_script OW_GR_CLERK_14, $0d, $7493
|
||||
npc_script OW_GR_CLERK_15, $0d, $7534
|
||||
db $ff
|
||||
|
||||
GrCastleEntrance_OWInteractions:
|
||||
ow_script 4, 3, $0d, $7480
|
||||
ow_script 5, 3, $0d, $7480
|
||||
ow_script 6, 3, $0d, $7480
|
||||
db $ff
|
||||
|
||||
GrCastleEntrance_MapScripts:
|
||||
dbw $00, $73cb
|
||||
dbw $06, $740f
|
||||
dbw $08, $746b
|
||||
dbw $07, $7416
|
||||
dbw $02, $741f
|
||||
dbw $09, $747b
|
||||
db $ff
|
||||
; gap from 0x373cb to 0x375df
|
||||
|
||||
SECTION "Bank d@75df", ROMX[$75df], BANK[$d]
|
||||
|
||||
GrCastle_MapHeader:
|
||||
db MAP_GFX_GR_CASTLE
|
||||
dba GrCastle_MapScripts
|
||||
db MUSIC_GRCASTLE
|
||||
|
||||
GrCastle_StepEvents:
|
||||
map_exit 6, 15, MAP_GR_CASTLE_ENTRANCE, 4, 3, SOUTH
|
||||
map_exit 7, 15, MAP_GR_CASTLE_ENTRANCE, 5, 3, SOUTH
|
||||
map_exit 8, 15, MAP_GR_CASTLE_ENTRANCE, 6, 3, SOUTH
|
||||
map_exit 6, 0, MAP_GR_CASTLE_BIRURITCHI, 6, 14, NORTH
|
||||
map_exit 7, 0, MAP_GR_CASTLE_BIRURITCHI, 7, 14, NORTH
|
||||
map_exit 8, 0, MAP_GR_CASTLE_BIRURITCHI, 8, 14, NORTH
|
||||
ow_script 6, 5, $0d, $7a5f
|
||||
ow_script 7, 5, $0d, $7a5f
|
||||
ow_script 8, 5, $0d, $7a5f
|
||||
db $ff
|
||||
|
||||
GrCastle_NPCs:
|
||||
npc OW_KANZAKI, 9, 9, WEST, $0
|
||||
npc OW_RUI, 5, 9, EAST, $0
|
||||
db $ff
|
||||
|
||||
GrCastle_NPCInteractions:
|
||||
npc_script OW_KANZAKI, $0d, $7809
|
||||
npc_script OW_RUI, $0d, $792d
|
||||
db $ff
|
||||
|
||||
GrCastle_MapScripts:
|
||||
dbw $06, $765c
|
||||
dbw $08, $76ed
|
||||
dbw $09, $76f5
|
||||
dbw $07, $7663
|
||||
dbw $02, $766c
|
||||
db $ff
|
||||
; gap from 0x3765c to 0x37700
|
||||
|
||||
SECTION "Bank d@7700", ROMX[$7700], BANK[$d]
|
||||
|
||||
GrCastle_AfterDuelScripts:
|
||||
npc_script OW_KANZAKI, $0d, $78cf
|
||||
npc_script OW_RUI, $0d, $7a21
|
||||
db $ff
|
||||
|
||||
@@ -226,3 +226,778 @@ Func_3c3ca:
|
||||
farcall PlayAfterCurrentSong
|
||||
ret
|
||||
; 0x3c441
|
||||
|
||||
SECTION "Bank f@4603", ROMX[$4603], BANK[$f]
|
||||
MasonLaboratorySide1_MapHeader:
|
||||
db MAP_GFX_MASON_LABORATORY_SIDE_1
|
||||
dba MasonLaboratorySide1_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
MasonLaboratorySide1_StepEvents:
|
||||
map_exit 0, 5, MAP_MASON_LABORATORY_MAIN, 12, 5, WEST
|
||||
map_exit 0, 6, MAP_MASON_LABORATORY_MAIN, 12, 6, WEST
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide1_NPCs:
|
||||
npc OW_TECH_13, 4, 3, SOUTH, $0
|
||||
npc OW_TECH_14, 7, 3, SOUTH, $0
|
||||
npc OW_TECH_15, 3, 8, NORTH, $0
|
||||
npc OW_TECH_16, 7, 9, EAST, $0
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide1_NPCInteractions:
|
||||
npc_script OW_TECH_13, $0f, $4739
|
||||
npc_script OW_TECH_14, $0f, $475f
|
||||
npc_script OW_TECH_15, $0f, $477a
|
||||
npc_script OW_TECH_16, $0f, $47ab
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide1_OWInteractions:
|
||||
ow_script 2, 3, $0f, $46c3
|
||||
ow_script 3, 3, $0f, $46c3
|
||||
ow_script 8, 10, $0f, $46e8
|
||||
ow_script 9, 10, $0f, $46e8
|
||||
ow_script 8, 3, $0f, $4715
|
||||
ow_script 9, 3, $0f, $4715
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide1_MapScripts:
|
||||
dbw $06, $4689
|
||||
dbw $08, $46b3
|
||||
dbw $07, $4690
|
||||
dbw $02, $4697
|
||||
db $ff
|
||||
; gap from 0x3c689 to 0x3c7dc
|
||||
|
||||
SECTION "Bank f@47dc", ROMX[$47dc], BANK[$f]
|
||||
|
||||
MasonLaboratorySide2_MapHeader:
|
||||
db MAP_GFX_MASON_LABORATORY_SIDE_2
|
||||
dba MasonLaboratorySide2_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
MasonLaboratorySide2_StepEvents:
|
||||
map_exit 13, 11, MAP_MASON_LABORATORY_MAIN, 1, 5, EAST
|
||||
map_exit 13, 12, MAP_MASON_LABORATORY_MAIN, 1, 6, EAST
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide2_NPCs:
|
||||
npc OW_AARON, 11, 2, NORTH, $0
|
||||
npc OW_TECH_17, 10, 11, EAST, $0
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide2_NPCInteractions:
|
||||
npc_script OW_AARON, $0f, $484c
|
||||
npc_script OW_TECH_17, $0f, $4a4d
|
||||
db $ff
|
||||
|
||||
MasonLaboratorySide2_MapScripts:
|
||||
dbw $06, $4817
|
||||
dbw $08, $4825
|
||||
dbw $09, $482d
|
||||
dbw $07, $481e
|
||||
db $ff
|
||||
; gap from 0x3c817 to 0x3c83b
|
||||
|
||||
SECTION "Bank f@483b", ROMX[$483b], BANK[$f]
|
||||
|
||||
MasonLaboratorySide2_AfterDuelScripts:
|
||||
npc_script OW_MINT, $0f, $4931
|
||||
npc_script OW_DR_MASON, $0f, $497e
|
||||
npc_script OW_RONALD, $0f, $49cb
|
||||
npc_script OW_ISHIHARA, $0f, $4a28
|
||||
db $ff
|
||||
; gap from 0x3c84c to 0x3cb88
|
||||
|
||||
SECTION "Bank f@4b88", ROMX[$4b88], BANK[$f]
|
||||
|
||||
LightningClubEntrance_MapHeader:
|
||||
db MAP_GFX_LIGHTNING_CLUB_ENTRANCE
|
||||
dba LightningClubEntrance_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
LightningClubEntrance_StepEvents:
|
||||
map_exit 4, 8, OVERWORLD_MAP_TCG, 2, 5, SOUTH
|
||||
map_exit 5, 8, OVERWORLD_MAP_TCG, 2, 5, SOUTH
|
||||
map_exit 0, 3, MAP_LIGHTNING_CLUB_LOBBY, 14, 6, WEST
|
||||
map_exit 0, 4, MAP_LIGHTNING_CLUB_LOBBY, 14, 7, WEST
|
||||
map_exit 4, 0, MAP_LIGHTNING_CLUB, 6, 14, NORTH
|
||||
map_exit 5, 0, MAP_LIGHTNING_CLUB, 7, 14, NORTH
|
||||
db $ff
|
||||
|
||||
LightningClubEntrance_MapScripts:
|
||||
dbw $06, $4bf4
|
||||
dbw $02, $4bfb
|
||||
dbw $0b, $4c37
|
||||
dbw $01, $4bd4
|
||||
dbw $10, $4be4
|
||||
db $ff
|
||||
; gap from 0x3cbd4 to 0x3cc62
|
||||
|
||||
SECTION "Bank f@4c62", ROMX[$4c62], BANK[$f]
|
||||
|
||||
LightningClubLobby_MapHeader:
|
||||
db MAP_GFX_LIGHTNING_CLUB_LOBBY
|
||||
dba LightningClubLobby_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
LightningClubLobby_StepEvents:
|
||||
map_exit 15, 6, MAP_LIGHTNING_CLUB_ENTRANCE, 1, 3, EAST
|
||||
map_exit 15, 7, MAP_LIGHTNING_CLUB_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
LightningClubLobby_NPCs:
|
||||
npc OW_JENNIFER, 9, 8, EAST, $4db1
|
||||
npc OW_BRANDON, 9, 6, EAST, $4db1
|
||||
npc OW_LASS3_2, 11, 2, NORTH, $0
|
||||
npc OW_HOOD_4, 9, 4, SOUTH, $0
|
||||
npc OW_LASS1_3, 5, 6, EAST, $4e9b
|
||||
npc OW_GR_LASS_7, 5, 6, EAST, $4ea8
|
||||
npc OW_CHAP_2, 8, 9, WEST, $0
|
||||
npc OW_CLERK_1, 2, 2, SOUTH, $0
|
||||
npc OW_CLERK_2, 4, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
LightningClubLobby_NPCInteractions:
|
||||
npc_script OW_JENNIFER, $0f, $4d4b
|
||||
npc_script OW_BRANDON, $0f, $4d7e
|
||||
npc_script OW_LASS3_2, $0f, $4dc6
|
||||
npc_script OW_HOOD_4, $0f, $4e39
|
||||
npc_script OW_LASS1_3, $0f, $4e6a
|
||||
npc_script OW_GR_LASS_7, $0f, $4e6a
|
||||
npc_script OW_CHAP_2, $0f, $4eb5
|
||||
db $ff
|
||||
|
||||
LightningClubLobby_OWInteractions:
|
||||
ow_script 8, 2, $03, $5411
|
||||
ow_script 9, 2, $03, $5411
|
||||
ow_script 2, 4, $0f, $41b9
|
||||
ow_script 4, 4, $0f, $42d9
|
||||
ow_script 12, 2, $10, $4294
|
||||
ow_script 13, 2, $10, $42aa
|
||||
ow_script 14, 2, $10, $42c0
|
||||
db $ff
|
||||
|
||||
LightningClubLobby_MapScripts:
|
||||
dbw $06, $4d2b
|
||||
dbw $08, $4d3b
|
||||
dbw $07, $4d32
|
||||
dbw $01, $4d1b
|
||||
db $ff
|
||||
; gap from 0x3cd1b to 0x3cee6
|
||||
|
||||
SECTION "Bank f@4ee6", ROMX[$4ee6], BANK[$f]
|
||||
|
||||
GrassClubLobby_MapHeader:
|
||||
db MAP_GFX_GRASS_CLUB_LOBBY
|
||||
dba GrassClubLobby_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
GrassClubLobby_StepEvents:
|
||||
map_exit 15, 6, MAP_GRASS_CLUB_ENTRANCE, 1, 3, EAST
|
||||
map_exit 15, 7, MAP_GRASS_CLUB_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
GrassClubLobby_NPCs:
|
||||
npc OW_BRITTANY, 7, 9, WEST, $50ec
|
||||
npc OW_KRISTIN, 6, 6, EAST, $50ec
|
||||
npc OW_HEATHER, 10, 8, EAST, $50ec
|
||||
npc OW_GRANNY, 3, 10, EAST, $5189
|
||||
npc OW_LASS2_3, 11, 4, SOUTH, $5189
|
||||
npc OW_GIRL_5, 7, 8, WEST, $5189
|
||||
npc OW_CLERK_1, 2, 2, SOUTH, $0
|
||||
npc OW_CLERK_2, 4, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrassClubLobby_NPCInteractions:
|
||||
npc_script OW_BRITTANY, $0f, $4fd8
|
||||
npc_script OW_KRISTIN, $0f, $5064
|
||||
npc_script OW_HEATHER, $0f, $50a8
|
||||
npc_script OW_GRANNY, $0f, $5101
|
||||
npc_script OW_LASS2_3, $0f, $5127
|
||||
npc_script OW_GIRL_5, $0f, $5158
|
||||
db $ff
|
||||
|
||||
GrassClubLobby_OWInteractions:
|
||||
ow_script 8, 2, $03, $5411
|
||||
ow_script 9, 2, $03, $5411
|
||||
ow_script 2, 4, $0f, $41b9
|
||||
ow_script 4, 4, $0f, $42d9
|
||||
ow_script 12, 2, $10, $418c
|
||||
ow_script 13, 2, $10, $41a2
|
||||
ow_script 14, 2, $10, $41b8
|
||||
db $ff
|
||||
|
||||
GrassClubLobby_MapScripts:
|
||||
dbw $06, $4fa8
|
||||
dbw $08, $4fb8
|
||||
dbw $07, $4faf
|
||||
dbw $09, $4fc8
|
||||
dbw $01, $4f98
|
||||
db $ff
|
||||
; gap from 0x3cf98 to 0x3cfd3
|
||||
|
||||
SECTION "Bank f@4fd3", ROMX[$4fd3], BANK[$f]
|
||||
|
||||
GrassClubLobby_AfterDuelScripts:
|
||||
npc_script OW_BRITTANY, $0f, $502b
|
||||
db $ff
|
||||
; gap from 0x3cfd8 to 0x3d19e
|
||||
|
||||
SECTION "Bank f@519e", ROMX[$519e], BANK[$f]
|
||||
|
||||
TcgChallengeHallEntrance_MapHeader:
|
||||
db MAP_GFX_TCG_CHALLENGE_HALL_ENTRANCE
|
||||
dba TcgChallengeHallEntrance_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
TcgChallengeHallEntrance_StepEvents:
|
||||
map_exit 4, 8, OVERWORLD_MAP_TCG, 4, 2, SOUTH
|
||||
map_exit 5, 8, OVERWORLD_MAP_TCG, 4, 2, SOUTH
|
||||
map_exit 0, 3, MAP_TCG_CHALLENGE_HALL_LOBBY, 14, 6, WEST
|
||||
map_exit 0, 4, MAP_TCG_CHALLENGE_HALL_LOBBY, 14, 7, WEST
|
||||
map_exit 4, 0, MAP_TCG_CHALLENGE_HALL, 7, 14, NORTH
|
||||
map_exit 5, 0, MAP_TCG_CHALLENGE_HALL, 8, 14, NORTH
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallEntrance_NPCs:
|
||||
npc OW_CLERK_3, 3, 1, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallEntrance_NPCInteractions:
|
||||
npc_script OW_CLERK_3, $0f, $5271
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallEntrance_MapScripts:
|
||||
dbw $06, $5259
|
||||
dbw $08, $5269
|
||||
dbw $07, $5260
|
||||
dbw $01, $51f6
|
||||
dbw $04, $5210
|
||||
db $ff
|
||||
; gap from 0x3d1f6 to 0x3d2d7
|
||||
|
||||
SECTION "Bank f@52d7", ROMX[$52d7], BANK[$f]
|
||||
|
||||
TcgChallengeHallLobby_MapHeader:
|
||||
db MAP_GFX_TCG_CHALLENGE_HALL_LOBBY
|
||||
dba TcgChallengeHallLobby_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
TcgChallengeHallLobby_StepEvents:
|
||||
map_exit 15, 6, MAP_TCG_CHALLENGE_HALL_ENTRANCE, 1, 3, EAST
|
||||
map_exit 15, 7, MAP_TCG_CHALLENGE_HALL_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallLobby_NPCs:
|
||||
npc OW_CHAP_3, 10, 4, SOUTH, $0
|
||||
npc OW_GAL_3, 7, 9, EAST, $55a3
|
||||
npc OW_HOOD_5, 5, 6, EAST, $55a3
|
||||
npc OW_PAPPY_4, 4, 9, EAST, $55ba
|
||||
npc OW_TECH_7, 9, 10, NORTH, $55ba
|
||||
npc OW_GIRL_6, 13, 9, WEST, $55ba
|
||||
npc OW_CLERK_1, 2, 2, SOUTH, $0
|
||||
npc OW_CLERK_2, 4, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallLobby_NPCInteractions:
|
||||
npc_script OW_CHAP_3, $0f, $53c0
|
||||
npc_script OW_GAL_3, $0f, $54e9
|
||||
npc_script OW_HOOD_5, $0f, $5511
|
||||
npc_script OW_PAPPY_4, $0f, $5539
|
||||
npc_script OW_TECH_7, $0f, $556d
|
||||
npc_script OW_GIRL_6, $0f, $5588
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallLobby_OWInteractions:
|
||||
ow_script 8, 2, $03, $5411
|
||||
ow_script 9, 2, $03, $5411
|
||||
ow_script 2, 4, $0f, $41b9
|
||||
ow_script 4, 4, $0f, $42d9
|
||||
ow_script 12, 2, $10, $4318
|
||||
ow_script 13, 2, $10, $432e
|
||||
ow_script 14, 2, $10, $4344
|
||||
db $ff
|
||||
|
||||
TcgChallengeHallLobby_MapScripts:
|
||||
dbw $06, $53a0
|
||||
dbw $08, $53b0
|
||||
dbw $07, $53a7
|
||||
dbw $01, $5386
|
||||
db $ff
|
||||
; gap from 0x3d386 to 0x3d5d1
|
||||
|
||||
SECTION "Bank f@55d1", ROMX[$55d1], BANK[$f]
|
||||
|
||||
PokemonDome_MapHeader:
|
||||
db MAP_GFX_POKEMON_DOME
|
||||
dba PokemonDome_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
PokemonDome_StepEvents:
|
||||
map_exit 7, 15, MAP_POKEMON_DOME_ENTRANCE, 11, 1, SOUTH
|
||||
map_exit 8, 15, MAP_POKEMON_DOME_ENTRANCE, 12, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
PokemonDome_NPCs:
|
||||
npc OW_COURTNEY, 3, 6, EAST, $57e2
|
||||
npc OW_STEVE, 9, 6, EAST, $5889
|
||||
npc OW_JACK, 12, 6, WEST, $592c
|
||||
npc OW_ROD, 6, 6, SOUTH, $59b1
|
||||
npc OW_GR_5, 7, 8, SOUTH, $59fc
|
||||
npc OW_LASS1_5, 7, 4, SOUTH, $5af0
|
||||
npc OW_LASS2_5, 8, 4, SOUTH, $5af0
|
||||
npc OW_GR_LASS_8, 4, 12, EAST, $5af0
|
||||
npc OW_YOUNGSTER_5, 9, 8, SOUTH, $5af0
|
||||
npc OW_SWIMMER, 2, 5, EAST, $5af0
|
||||
db $ff
|
||||
|
||||
PokemonDome_NPCInteractions:
|
||||
npc_script OW_COURTNEY, $0f, $5768
|
||||
npc_script OW_STEVE, $0f, $5805
|
||||
npc_script OW_JACK, $0f, $58ac
|
||||
npc_script OW_ROD, $0f, $594f
|
||||
npc_script OW_GR_5, $0f, $59d4
|
||||
npc_script OW_LASS1_5, $0f, $5a09
|
||||
npc_script OW_LASS2_5, $0f, $5a09
|
||||
npc_script OW_GR_LASS_8, $0f, $5a6c
|
||||
npc_script OW_YOUNGSTER_5, $0f, $5a97
|
||||
npc_script OW_SWIMMER, $0f, $5abf
|
||||
db $ff
|
||||
|
||||
PokemonDome_OWInteractions:
|
||||
ow_script 7, 1, $0f, $5b13
|
||||
ow_script 8, 1, $0f, $5b13
|
||||
db $ff
|
||||
|
||||
PokemonDome_MapScripts:
|
||||
dbw $06, $56ba
|
||||
dbw $08, $5740
|
||||
dbw $09, $5750
|
||||
dbw $07, $56c1
|
||||
dbw $02, $56ca
|
||||
dbw $04, $5719
|
||||
dbw $0f, $5734
|
||||
dbw $01, $567b
|
||||
db $ff
|
||||
; gap from 0x3d67b to 0x3d75b
|
||||
|
||||
SECTION "Bank f@575b", ROMX[$575b], BANK[$f]
|
||||
|
||||
PokemonDome_AfterDuelScripts:
|
||||
npc_script OW_COURTNEY, $0f, $57c6
|
||||
npc_script OW_STEVE, $0f, $586d
|
||||
npc_script OW_JACK, $0f, $5910
|
||||
db $ff
|
||||
; gap from 0x3d768 to 0x3dd58
|
||||
|
||||
SECTION "Bank f@5d58", ROMX[$5d58], BANK[$f]
|
||||
|
||||
PokemonDomeBack_MapHeader:
|
||||
db MAP_GFX_POKEMON_DOME_BACK
|
||||
dba PokemonDomeBack_MapScripts
|
||||
db MUSIC_POKEMONDOME
|
||||
|
||||
PokemonDomeBack_StepEvents:
|
||||
map_exit 7, 15, MAP_POKEMON_DOME, 7, 1, SOUTH
|
||||
map_exit 8, 15, MAP_POKEMON_DOME, 8, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
PokemonDomeBack_NPCs:
|
||||
npc OW_COURTNEY, 7, 13, SOUTH, $0
|
||||
npc OW_STEVE, 8, 12, SOUTH, $0
|
||||
npc OW_JACK, 8, 13, SOUTH, $0
|
||||
npc OW_ROD, 7, 12, SOUTH, $0
|
||||
npc OW_GAL_3, 7, 2, SOUTH, $668b
|
||||
db $ff
|
||||
|
||||
PokemonDomeBack_MapScripts:
|
||||
dbw $06, $5da8
|
||||
dbw $09, $5e72
|
||||
dbw $07, $5daf
|
||||
dbw $02, $5db8
|
||||
dbw $04, $5e67
|
||||
dbw $0b, $5e91
|
||||
dbw $0e, $5eca
|
||||
dbw $0f, $5e6f
|
||||
db $ff
|
||||
; gap from 0x3dda8 to 0x3e698
|
||||
|
||||
SECTION "Bank f@6698", ROMX[$6698], BANK[$f]
|
||||
|
||||
IshiharasVilla1_MapHeader:
|
||||
db MAP_GFX_ISHIHARAS_VILLA_1
|
||||
dba IshiharasVilla1_MapScripts
|
||||
db MUSIC_ISHIHARA
|
||||
|
||||
IshiharasVilla1_StepEvents:
|
||||
map_exit 4, 10, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 5, 10, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 4, 0, MAP_ISHIHARAS_VILLA_2, 4, 7, NORTH
|
||||
map_exit 5, 0, MAP_ISHIHARAS_VILLA_2, 5, 7, NORTH
|
||||
db $ff
|
||||
|
||||
IshiharasVilla1_NPCs:
|
||||
npc OW_ISHIHARA, 6, 5, WEST, $67d6
|
||||
npc OW_GR_GAL_4, 2, 2, NORTH, $68d3
|
||||
db $ff
|
||||
; gap from 0x3e6cf to 0x3e6d8
|
||||
|
||||
SECTION "Bank f@66d8", ROMX[$66d8], BANK[$f]
|
||||
|
||||
IshiharasVilla1_OWInteractions:
|
||||
ow_script 7, 2, $03, $5411
|
||||
ow_script 8, 2, $03, $5411
|
||||
db $ff
|
||||
|
||||
IshiharasVilla1_MapScripts:
|
||||
dbw $06, $672a
|
||||
dbw $08, $673a
|
||||
dbw $09, $67bb
|
||||
dbw $07, $6731
|
||||
dbw $0c, $674a
|
||||
dbw $0d, $6778
|
||||
dbw $0b, $6787
|
||||
dbw $01, $6704
|
||||
db $ff
|
||||
; gap from 0x3e704 to 0x3e8e0
|
||||
|
||||
SECTION "Bank f@68e0", ROMX[$68e0], BANK[$f]
|
||||
|
||||
IshiharasVilla2_MapHeader:
|
||||
db MAP_GFX_ISHIHARAS_VILLA_2
|
||||
dba IshiharasVilla2_MapScripts
|
||||
db MUSIC_ISHIHARA
|
||||
|
||||
IshiharasVilla2_StepEvents:
|
||||
map_exit 4, 8, MAP_ISHIHARAS_VILLA_1, 4, 1, SOUTH
|
||||
map_exit 5, 8, MAP_ISHIHARAS_VILLA_1, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
IshiharasVilla2_NPCs:
|
||||
npc OW_ISHIHARA, 5, 4, SOUTH, $6a55
|
||||
npc OW_GR_GAL_4, 4, 2, NORTH, $6cd5
|
||||
db $ff
|
||||
|
||||
IshiharasVilla2_NPCInteractions:
|
||||
npc_script OW_ISHIHARA, $0f, $6a12
|
||||
npc_script OW_GR_GAL_4, $0f, $6c75
|
||||
db $ff
|
||||
|
||||
IshiharasVilla2_OWInteractions:
|
||||
ow_script 1, 2, $10, $43de
|
||||
ow_script 2, 2, $10, $43f4
|
||||
ow_script 3, 2, $10, $440a
|
||||
ow_script 6, 2, $10, $4420
|
||||
ow_script 7, 2, $10, $4436
|
||||
ow_script 8, 2, $10, $444c
|
||||
db $ff
|
||||
|
||||
IshiharasVilla2_MapScripts:
|
||||
dbw $06, $6981
|
||||
dbw $08, $6991
|
||||
dbw $07, $6988
|
||||
dbw $0c, $69a1
|
||||
dbw $0d, $69cf
|
||||
dbw $0b, $69de
|
||||
dbw $01, $695b
|
||||
db $ff
|
||||
; gap from 0x3e95b to 0x3ecea
|
||||
|
||||
SECTION "Bank f@6cea", ROMX[$6cea], BANK[$f]
|
||||
|
||||
GameCenterEntrance_MapHeader:
|
||||
db MAP_GFX_GAME_CENTER_ENTRANCE
|
||||
dba GameCenterEntrance_MapScripts
|
||||
db MUSIC_GAMECORNER
|
||||
|
||||
GameCenterEntrance_StepEvents:
|
||||
map_exit 5, 15, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 6, 15, OVERWORLD_MAP_GR, 4, 4, SOUTH
|
||||
map_exit 0, 6, MAP_GAME_CENTER_LOBBY, 12, 6, WEST
|
||||
map_exit 0, 7, MAP_GAME_CENTER_LOBBY, 12, 7, WEST
|
||||
map_exit 5, 0, MAP_GAME_CENTER_1, 5, 13, NORTH
|
||||
map_exit 6, 0, MAP_GAME_CENTER_1, 6, 13, NORTH
|
||||
ow_script 5, 9, $0d, $426f
|
||||
ow_script 6, 9, $0d, $426f
|
||||
ow_script 6, 2, $0f, $6e9e
|
||||
ow_script 5, 10, $0f, $6ec7
|
||||
ow_script 6, 10, $0f, $6ec7
|
||||
db $ff
|
||||
|
||||
GameCenterEntrance_NPCs:
|
||||
npc OW_GR_CLERK_16, 9, 2, SOUTH, $0
|
||||
npc OW_GR_CLERK_17, 2, 2, SOUTH, $0
|
||||
npc OW_CHIP_GIRL_1, 5, 2, SOUTH, $0
|
||||
npc OW_MONOCLE_1, 4, 9, EAST, $0
|
||||
db $ff
|
||||
|
||||
GameCenterEntrance_NPCInteractions:
|
||||
npc_script OW_CHIP_GIRL_1, $0f, $6e11
|
||||
npc_script OW_MONOCLE_1, $0f, $6e83
|
||||
db $ff
|
||||
|
||||
GameCenterEntrance_OWInteractions:
|
||||
ow_script 9, 4, $0f, $6db2
|
||||
ow_script 2, 4, $0f, $6db7
|
||||
db $ff
|
||||
|
||||
GameCenterEntrance_MapScripts:
|
||||
dbw $06, $6d92
|
||||
dbw $08, $6da2
|
||||
dbw $07, $6d99
|
||||
db $ff
|
||||
; gap from 0x3ed92 to 0x3eefa
|
||||
|
||||
SECTION "Bank f@6efa", ROMX[$6efa], BANK[$f]
|
||||
|
||||
GameCenterLobby_MapHeader:
|
||||
db MAP_GFX_GAME_CENTER_LOBBY
|
||||
dba GameCenterLobby_MapScripts
|
||||
db MUSIC_GAMECORNER
|
||||
|
||||
GameCenterLobby_StepEvents:
|
||||
map_exit 13, 6, MAP_GAME_CENTER_ENTRANCE, 1, 6, EAST
|
||||
map_exit 13, 7, MAP_GAME_CENTER_ENTRANCE, 1, 6, EAST
|
||||
db $ff
|
||||
|
||||
GameCenterLobby_NPCs:
|
||||
npc OW_TECH_8, 10, 4, WEST, $0
|
||||
npc OW_GR_LASS_6, 8, 9, EAST, $0
|
||||
npc OW_GR_PAPPY_3, 3, 7, SOUTH, $0
|
||||
npc OW_IMAKUNI_RED, 12, 1, NORTH, $703d
|
||||
npc OW_GR_CLERK_3, 5, 2, SOUTH, $0
|
||||
npc OW_GR_CLERK_4, 8, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GameCenterLobby_NPCInteractions:
|
||||
npc_script OW_TECH_8, $0f, $6fd6
|
||||
npc_script OW_GR_LASS_6, $0f, $6ff1
|
||||
npc_script OW_GR_PAPPY_3, $0f, $7017
|
||||
npc_script OW_IMAKUNI_RED, $0f, $44e0
|
||||
db $ff
|
||||
|
||||
GameCenterLobby_OWInteractions:
|
||||
ow_script 1, 2, $03, $5411
|
||||
ow_script 2, 2, $03, $5411
|
||||
ow_script 5, 4, $0f, $41d0
|
||||
ow_script 8, 4, $0f, $42d9
|
||||
db $ff
|
||||
|
||||
GameCenterLobby_MapScripts:
|
||||
dbw $06, $6f95
|
||||
dbw $08, $6fa5
|
||||
dbw $09, $6fb5
|
||||
dbw $0b, $6fba
|
||||
dbw $07, $6f9c
|
||||
dbw $10, $6f80
|
||||
db $ff
|
||||
; gap from 0x3ef80 to 0x3f04c
|
||||
|
||||
SECTION "Bank f@704c", ROMX[$704c], BANK[$f]
|
||||
|
||||
CardDungeonPawn_MapHeader:
|
||||
db MAP_GFX_CARD_DUNGEON_PAWN
|
||||
dba CardDungeonPawn_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
CardDungeonPawn_StepEvents:
|
||||
map_exit 4, 0, MAP_CARD_DUNGEON_KNIGHT, 4, 8, NORTH
|
||||
map_exit 5, 0, MAP_CARD_DUNGEON_KNIGHT, 5, 8, NORTH
|
||||
db $ff
|
||||
|
||||
CardDungeonPawn_NPCs:
|
||||
npc OW_PAWN, 4, 4, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
CardDungeonPawn_NPCInteractions:
|
||||
npc_script OW_PAWN, $0f, $70d9
|
||||
db $ff
|
||||
|
||||
CardDungeonPawn_OWInteractions:
|
||||
ow_script 4, 1, $0f, $71de
|
||||
ow_script 5, 1, $0f, $71de
|
||||
db $ff
|
||||
|
||||
CardDungeonPawn_MapScripts:
|
||||
dbw $06, $7093
|
||||
dbw $08, $70a3
|
||||
dbw $09, $70d4
|
||||
dbw $07, $709a
|
||||
dbw $02, $70b3
|
||||
db $ff
|
||||
; gap from 0x3f093 to 0x3f1f2
|
||||
|
||||
SECTION "Bank f@71f2", ROMX[$71f2], BANK[$f]
|
||||
|
||||
CardDungeonKnight_MapHeader:
|
||||
db MAP_GFX_CARD_DUNGEON_KNIGHT
|
||||
dba CardDungeonKnight_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
CardDungeonKnight_StepEvents:
|
||||
map_exit 4, 0, MAP_CARD_DUNGEON_BISHOP, 4, 8, NORTH
|
||||
map_exit 5, 0, MAP_CARD_DUNGEON_BISHOP, 5, 8, NORTH
|
||||
db $ff
|
||||
|
||||
CardDungeonKnight_NPCs:
|
||||
npc OW_KNIGHT, 4, 3, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
CardDungeonKnight_NPCInteractions:
|
||||
npc_script OW_KNIGHT, $0f, $727f
|
||||
db $ff
|
||||
|
||||
CardDungeonKnight_OWInteractions:
|
||||
ow_script 4, 1, $0f, $73ad
|
||||
ow_script 5, 1, $0f, $73ad
|
||||
db $ff
|
||||
|
||||
CardDungeonKnight_MapScripts:
|
||||
dbw $06, $7239
|
||||
dbw $08, $7249
|
||||
dbw $09, $727a
|
||||
dbw $07, $7240
|
||||
dbw $02, $7259
|
||||
db $ff
|
||||
; gap from 0x3f239 to 0x3f3c2
|
||||
|
||||
SECTION "Bank f@73c2", ROMX[$73c2], BANK[$f]
|
||||
|
||||
CardDungeonRook_MapHeader:
|
||||
db MAP_GFX_CARD_DUNGEON_ROOK
|
||||
dba CardDungeonRook_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
CardDungeonRook_StepEvents:
|
||||
map_exit 4, 0, MAP_CARD_DUNGEON_QUEEN, 4, 10, NORTH
|
||||
map_exit 5, 0, MAP_CARD_DUNGEON_QUEEN, 5, 10, NORTH
|
||||
db $ff
|
||||
|
||||
CardDungeonRook_NPCs:
|
||||
npc OW_ROOK, 5, 3, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
CardDungeonRook_NPCInteractions:
|
||||
npc_script OW_ROOK, $0f, $744f
|
||||
db $ff
|
||||
|
||||
CardDungeonRook_OWInteractions:
|
||||
ow_script 4, 1, $0f, $7596
|
||||
ow_script 5, 1, $0f, $7596
|
||||
db $ff
|
||||
|
||||
CardDungeonRook_MapScripts:
|
||||
dbw $06, $7409
|
||||
dbw $08, $7419
|
||||
dbw $09, $744a
|
||||
dbw $07, $7410
|
||||
dbw $02, $7429
|
||||
db $ff
|
||||
; gap from 0x3f409 to 0x3f5ab
|
||||
|
||||
SECTION "Bank f@75ab", ROMX[$75ab], BANK[$f]
|
||||
|
||||
WaterFortLobby_MapHeader:
|
||||
db MAP_GFX_WATER_FORT_LOBBY
|
||||
dba WaterFortLobby_MapScripts
|
||||
db MUSIC_FORT_1
|
||||
|
||||
WaterFortLobby_StepEvents:
|
||||
map_exit 13, 6, MAP_WATER_FORT_ENTRANCE, 1, 3, EAST
|
||||
map_exit 13, 7, MAP_WATER_FORT_ENTRANCE, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
WaterFortLobby_NPCs:
|
||||
npc OW_SPECS_2, 10, 10, WEST, $7718
|
||||
npc OW_GR_LAD_3, 10, 10, WEST, $7735
|
||||
npc OW_GR_GRANNY_2, 2, 7, SOUTH, $0
|
||||
npc OW_GR_GAL_2, 5, 9, NORTH, $0
|
||||
npc OW_IMAKUNI_RED, 12, 1, NORTH, $77a6
|
||||
npc OW_GR_CLERK_3, 5, 2, SOUTH, $0
|
||||
npc OW_GR_CLERK_4, 8, 2, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
WaterFortLobby_NPCInteractions:
|
||||
npc_script OW_SPECS_2, $0f, $7691
|
||||
npc_script OW_GR_LAD_3, $0f, $7691
|
||||
npc_script OW_GR_GRANNY_2, $0f, $7752
|
||||
npc_script OW_GR_GAL_2, $0f, $7780
|
||||
npc_script OW_IMAKUNI_RED, $0f, $44e0
|
||||
db $ff
|
||||
|
||||
WaterFortLobby_OWInteractions:
|
||||
ow_script 1, 2, $03, $5411
|
||||
ow_script 2, 2, $03, $5411
|
||||
ow_script 5, 4, $0f, $41d0
|
||||
ow_script 8, 4, $0f, $42d9
|
||||
db $ff
|
||||
|
||||
WaterFortLobby_MapScripts:
|
||||
dbw $06, $7650
|
||||
dbw $08, $7660
|
||||
dbw $09, $7670
|
||||
dbw $0b, $7675
|
||||
dbw $07, $7657
|
||||
dbw $10, $763b
|
||||
db $ff
|
||||
; gap from 0x3f63b to 0x3f7b5
|
||||
|
||||
SECTION "Bank f@77b5", ROMX[$77b5], BANK[$f]
|
||||
|
||||
FightingFortMaze19_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_MAZE_19
|
||||
dba FightingFortMaze19_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortMaze19_StepEvents:
|
||||
map_exit 4, 8, MAP_FIGHTING_FORT_MAZE_14, 4, 1, SOUTH
|
||||
map_exit 5, 8, MAP_FIGHTING_FORT_MAZE_14, 5, 1, SOUTH
|
||||
map_exit 0, 3, MAP_FIGHTING_FORT_MAZE_18, 8, 3, WEST
|
||||
map_exit 0, 4, MAP_FIGHTING_FORT_MAZE_18, 8, 4, WEST
|
||||
db $ff
|
||||
|
||||
FightingFortMaze19_NPCs:
|
||||
npc OW_CHEST_CLOSED, 5, 3, SOUTH, $7830
|
||||
npc OW_CHEST_OPENED, 5, 3, SOUTH, $784b
|
||||
db $ff
|
||||
|
||||
FightingFortMaze19_NPCInteractions:
|
||||
npc_script OW_CHEST_CLOSED, $0f, $7817
|
||||
npc_script OW_CHEST_OPENED, $0f, $783d
|
||||
db $ff
|
||||
|
||||
FightingFortMaze19_MapScripts:
|
||||
dbw $06, $77ff
|
||||
dbw $08, $780f
|
||||
dbw $07, $7806
|
||||
db $ff
|
||||
; gap from 0x3f7ff to 0x3f884
|
||||
|
||||
SECTION "Bank f@7884", ROMX[$7884], BANK[$f]
|
||||
|
||||
FightingFortBasement_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_BASEMENT
|
||||
dba FightingFortBasement_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortBasement_StepEvents:
|
||||
map_exit 1, 6, MAP_FIGHTING_FORT, 1, 4, SOUTH
|
||||
db $ff
|
||||
|
||||
FightingFortBasement_NPCs:
|
||||
npc OW_CHEST_CLOSED, 1, 1, SOUTH, $7925
|
||||
npc OW_CHEST_OPENED, 1, 1, SOUTH, $7951
|
||||
db $ff
|
||||
|
||||
FightingFortBasement_NPCInteractions:
|
||||
npc_script OW_CHEST_CLOSED, $0f, $790c
|
||||
npc_script OW_CHEST_OPENED, $0f, $7932
|
||||
db $ff
|
||||
|
||||
FightingFortBasement_MapScripts:
|
||||
dbw $06, $78b6
|
||||
dbw $08, $7904
|
||||
dbw $07, $78bd
|
||||
dbw $02, $78c6
|
||||
db $ff
|
||||
|
||||
+313
-3
@@ -1,11 +1,11 @@
|
||||
SECTION "Bank 10@4462", ROMX[$4462], BANK[$10]
|
||||
|
||||
OverworldTCG_MapHeader:
|
||||
OverworldTcg_MapHeader:
|
||||
db OVERWORLD_MAP_GFX_TCG
|
||||
dba OverworldTCG_MapScripts
|
||||
dba OverworldTcg_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
OverworldTCG_MapScripts:
|
||||
OverworldTcg_MapScripts:
|
||||
dbw $01, Func_40474
|
||||
dbw $02, Func_4048a
|
||||
dbw $04, Func_4053b
|
||||
@@ -627,3 +627,313 @@ DoGRShipMovement:
|
||||
db $50, $78, EAST
|
||||
db $ff, $ff ; end
|
||||
; 0x40db3
|
||||
|
||||
SECTION "Bank 10@4db3", ROMX[$4db3], BANK[$10]
|
||||
|
||||
MasonLaboratoryMain_MapHeader:
|
||||
db MAP_GFX_MASON_LABORATORY_MAIN
|
||||
dba MasonLaboratoryMain_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
MasonLaboratoryMain_StepEvents:
|
||||
_ow_coordinate_function 6, 14, 0, 1, 7, 2, $10, $4fff
|
||||
_ow_coordinate_function 7, 14, 0, 1, 7, 2, $10, $4fff
|
||||
map_exit 0, 5, MAP_MASON_LABORATORY_SIDE_2, 12, 11, WEST
|
||||
map_exit 0, 6, MAP_MASON_LABORATORY_SIDE_2, 12, 12, WEST
|
||||
map_exit 13, 5, MAP_MASON_LABORATORY_SIDE_1, 1, 5, EAST
|
||||
map_exit 13, 6, MAP_MASON_LABORATORY_SIDE_1, 1, 6, EAST
|
||||
db $ff
|
||||
|
||||
MasonLaboratoryMain_NPCs:
|
||||
npc OW_DR_MASON, 7, 5, SOUTH, $0
|
||||
npc OW_SAM, 2, 7, EAST, $0
|
||||
npc OW_TECH_9, 3, 2, SOUTH, $0
|
||||
npc OW_TECH_10, 11, 8, SOUTH, $0
|
||||
npc OW_TECH_11, 9, 10, WEST, $0
|
||||
npc OW_TECH_12, 10, 4, WEST, $0
|
||||
npc OW_RONALD, 3, 6, SOUTH, $521d
|
||||
db $ff
|
||||
|
||||
MasonLaboratoryMain_NPCInteractions:
|
||||
npc_script OW_DR_MASON, $10, $5188
|
||||
npc_script OW_SAM, $10, $5233
|
||||
npc_script OW_TECH_9, $10, $5370
|
||||
npc_script OW_TECH_10, $10, $5396
|
||||
npc_script OW_TECH_11, $10, $53bc
|
||||
npc_script OW_TECH_12, $10, $53e2
|
||||
npc_script OW_RONALD, $10, $51f2
|
||||
db $ff
|
||||
|
||||
MasonLaboratoryMain_OWInteractions:
|
||||
ow_script 1, 2, $03, $5411
|
||||
ow_script 2, 2, $03, $5411
|
||||
ow_script 6, 3, $10, $501d
|
||||
ow_script 7, 3, $10, $501d
|
||||
db $ff
|
||||
|
||||
MasonLaboratoryMain_MapScripts:
|
||||
dbw $06, $4e83
|
||||
dbw $08, $4f04
|
||||
dbw $09, $4f21
|
||||
dbw $11, $4f14
|
||||
dbw $07, $4e8a
|
||||
dbw $02, $4e91
|
||||
dbw $01, $4e72
|
||||
db $ff
|
||||
; gap from 0x40e72 to 0x40f3d
|
||||
|
||||
SECTION "Bank 10@4f3d", ROMX[$4f3d], BANK[$10]
|
||||
|
||||
MasonLaboratoryMain_AfterDuelScripts:
|
||||
npc_script OW_DR_MASON, $10, $533e
|
||||
npc_script OW_SAM, $10, $52c0
|
||||
db $ff
|
||||
; gap from 0x40f46 to 0x41592
|
||||
|
||||
SECTION "Bank 10@5592", ROMX[$5592], BANK[$10]
|
||||
|
||||
TcgChallengeHall_MapHeader:
|
||||
db MAP_GFX_TCG_CHALLENGE_HALL
|
||||
dba TcgChallengeHall_MapScripts
|
||||
db MUSIC_OVERWORLD
|
||||
|
||||
TcgChallengeHall_StepEvents:
|
||||
map_exit 7, 15, MAP_TCG_CHALLENGE_HALL_ENTRANCE, 4, 1, SOUTH
|
||||
map_exit 8, 15, MAP_TCG_CHALLENGE_HALL_ENTRANCE, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
TcgChallengeHall_NPCs:
|
||||
npc OW_GAL_3, 7, 2, SOUTH, $5768
|
||||
npc OW_LASS2_5, 10, 9, SOUTH, $5768
|
||||
npc OW_LASS1_5, 5, 9, SOUTH, $5768
|
||||
npc OW_MAN_3, 7, 10, SOUTH, $5751
|
||||
db $ff
|
||||
|
||||
TcgChallengeHall_NPCInteractions:
|
||||
npc_script OW_LASS1_5, $10, $5662
|
||||
npc_script OW_LASS2_5, $10, $5705
|
||||
npc_script OW_MAN_3, $10, $5720
|
||||
db $ff
|
||||
|
||||
TcgChallengeHall_MapScripts:
|
||||
dbw $06, $55f3
|
||||
dbw $08, $5622
|
||||
dbw $09, $562a
|
||||
dbw $07, $55fa
|
||||
dbw $01, $55e6
|
||||
dbw $02, $5603
|
||||
dbw $0b, $563b
|
||||
db $ff
|
||||
; gap from 0x415e6 to 0x41be9
|
||||
|
||||
SECTION "Bank 10@5be9", ROMX[$5be9], BANK[$10]
|
||||
|
||||
GrAirport_MapHeader:
|
||||
db MAP_GFX_GR_AIRPORT
|
||||
dba GrAirport_MapScripts
|
||||
db MUSIC_GROVERWORLD
|
||||
|
||||
GrAirport_StepEvents:
|
||||
map_exit 13, 9, MAP_GR_AIRPORT_ENTRANCE, 1, 6, EAST
|
||||
map_exit 13, 10, MAP_GR_AIRPORT_ENTRANCE, 1, 7, EAST
|
||||
_ow_coordinate_function 5, 8, 0, 0, 0, 3, $10, $5dac
|
||||
ow_script 4, 9, $10, $5dac
|
||||
ow_script 3, 9, $10, $5dac
|
||||
_ow_coordinate_function 2, 8, 0, 0, 0, 1, $10, $5dac
|
||||
db $ff
|
||||
|
||||
GrAirport_NPCs:
|
||||
npc OW_GR_5, 4, 8, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrAirport_NPCInteractions:
|
||||
npc_script OW_GR_5, $10, $5cd3
|
||||
db $ff
|
||||
|
||||
GrAirport_MapScripts:
|
||||
dbw $00, $5c44
|
||||
dbw $06, $5c50
|
||||
dbw $08, $5ccb
|
||||
dbw $07, $5c57
|
||||
dbw $02, $5c60
|
||||
dbw $0f, $5ca1
|
||||
db $ff
|
||||
; gap from 0x41c44 to 0x41e8e
|
||||
|
||||
SECTION "Bank 10@5e8e", ROMX[$5e8e], BANK[$10]
|
||||
|
||||
SealedFort_MapHeader:
|
||||
db MAP_GFX_SEALED_FORT
|
||||
dba SealedFort_MapScripts
|
||||
db MUSIC_FORT_4
|
||||
|
||||
SealedFort_StepEvents:
|
||||
map_exit 5, 12, MAP_SEALED_FORT_ENTRANCE, 4, 1, SOUTH
|
||||
map_exit 6, 12, MAP_SEALED_FORT_ENTRANCE, 5, 1, SOUTH
|
||||
map_exit 7, 12, MAP_SEALED_FORT_ENTRANCE, 6, 1, SOUTH
|
||||
ow_script 6, 6, $10, $5f66
|
||||
db $ff
|
||||
|
||||
SealedFort_OWInteractions:
|
||||
ow_script 6, 2, $10, $5fe1
|
||||
ow_script 2, 2, $10, $607e
|
||||
ow_script 3, 2, $10, $6119
|
||||
ow_script 4, 2, $10, $61b4
|
||||
ow_script 5, 2, $10, $624f
|
||||
ow_script 9, 2, $10, $62ec
|
||||
ow_script 7, 2, $10, $6387
|
||||
ow_script 8, 2, $10, $6424
|
||||
ow_script 10, 2, $10, $64bf
|
||||
db $ff
|
||||
|
||||
SealedFort_MapScripts:
|
||||
dbw $06, $5f14
|
||||
dbw $08, $5f1b
|
||||
dbw $09, $5f36
|
||||
db $ff
|
||||
; gap from 0x41f14 to 0x41f41
|
||||
|
||||
SECTION "Bank 10@5f41", ROMX[$5f41], BANK[$10]
|
||||
|
||||
SealedFort_AfterDuelScripts:
|
||||
npc_script OW_TOBICHAN, $10, $6050
|
||||
npc_script OW_EIJI, $10, $60eb
|
||||
npc_script OW_MAGICIAN, $10, $6186
|
||||
npc_script OW_TOSHIRON, $10, $6221
|
||||
npc_script OW_PIERROT, $10, $62be
|
||||
npc_script OW_ANNA, $10, $6359
|
||||
npc_script OW_DEE, $10, $63f6
|
||||
npc_script OW_MASQUERADE, $10, $6491
|
||||
npc_script OW_YUI, $10, $652c
|
||||
db $ff
|
||||
; gap from 0x41f66 to 0x425cf
|
||||
|
||||
SECTION "Bank 10@65cf", ROMX[$65cf], BANK[$10]
|
||||
|
||||
GrChallengeHall_MapHeader:
|
||||
db MAP_GFX_GR_CHALLENGE_HALL
|
||||
dba GrChallengeHall_MapScripts
|
||||
db MUSIC_GROVERWORLD
|
||||
|
||||
GrChallengeHall_StepEvents:
|
||||
map_exit 7, 15, MAP_GR_CHALLENGE_HALL_ENTRANCE, 4, 1, SOUTH
|
||||
map_exit 8, 15, MAP_GR_CHALLENGE_HALL_ENTRANCE, 5, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
GrChallengeHall_NPCs:
|
||||
npc OW_GAL_3, 7, 2, SOUTH, $694a
|
||||
npc OW_LASS1_6, 4, 8, SOUTH, $694a
|
||||
npc OW_LASS2_7, 11, 8, SOUTH, $694a
|
||||
npc OW_GR_STAFF, 8, 6, NORTH, $699f
|
||||
db $ff
|
||||
|
||||
GrChallengeHall_NPCInteractions:
|
||||
npc_script OW_LASS1_6, $10, $688d
|
||||
npc_script OW_LASS2_7, $10, $692f
|
||||
npc_script OW_GR_STAFF, $10, $6961
|
||||
db $ff
|
||||
|
||||
GrChallengeHall_OWInteractions:
|
||||
ow_script 7, 3, $10, $671f
|
||||
ow_script 8, 3, $10, $671f
|
||||
db $ff
|
||||
|
||||
GrChallengeHall_MapScripts:
|
||||
dbw $06, $6639
|
||||
dbw $08, $66b9
|
||||
dbw $09, $66d6
|
||||
dbw $11, $66c9
|
||||
dbw $07, $6640
|
||||
dbw $02, $666e
|
||||
dbw $01, $6649
|
||||
dbw $0b, $66f8
|
||||
db $ff
|
||||
; gap from 0x42639 to 0x42e2b
|
||||
|
||||
SECTION "Bank 10@6e2b", ROMX[$6e2b], BANK[$10]
|
||||
|
||||
FightingFortMaze1_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_MAZE_1
|
||||
dba FightingFortMaze1_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortMaze1_StepEvents:
|
||||
map_exit 4, 8, MAP_FIGHTING_FORT, 3, 2, SOUTH
|
||||
map_exit 5, 8, MAP_FIGHTING_FORT, 3, 2, SOUTH
|
||||
map_exit 4, 0, MAP_FIGHTING_FORT_MAZE_6, 4, 7, NORTH
|
||||
map_exit 5, 0, MAP_FIGHTING_FORT_MAZE_6, 5, 7, NORTH
|
||||
map_exit 9, 3, MAP_FIGHTING_FORT_MAZE_2, 1, 3, EAST
|
||||
map_exit 9, 4, MAP_FIGHTING_FORT_MAZE_2, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
FightingFortMaze1_MapScripts:
|
||||
dbw $06, $6e6e
|
||||
dbw $02, $6e75
|
||||
db $ff
|
||||
; gap from 0x42e6e to 0x42e80
|
||||
|
||||
SECTION "Bank 10@6e80", ROMX[$6e80], BANK[$10]
|
||||
|
||||
FightingFortMaze21_MapHeader:
|
||||
db MAP_GFX_FIGHTING_FORT_MAZE_21
|
||||
dba FightingFortMaze21_MapScripts
|
||||
db MUSIC_FORT_3
|
||||
|
||||
FightingFortMaze21_StepEvents:
|
||||
map_exit 4, 8, MAP_FIGHTING_FORT_MAZE_17, 4, 1, SOUTH
|
||||
map_exit 5, 8, MAP_FIGHTING_FORT_MAZE_17, 5, 1, SOUTH
|
||||
map_exit 0, 3, MAP_FIGHTING_FORT_MAZE_20, 8, 3, WEST
|
||||
map_exit 0, 4, MAP_FIGHTING_FORT_MAZE_20, 8, 4, WEST
|
||||
map_exit 9, 3, MAP_FIGHTING_FORT_MAZE_22, 1, 3, EAST
|
||||
map_exit 9, 4, MAP_FIGHTING_FORT_MAZE_22, 1, 4, EAST
|
||||
db $ff
|
||||
|
||||
FightingFortMaze21_MapScripts:
|
||||
dbw $06, $6ec3
|
||||
dbw $02, $6eca
|
||||
db $ff
|
||||
; gap from 0x42ec3 to 0x42ed5
|
||||
|
||||
SECTION "Bank 10@6ed5", ROMX[$6ed5], BANK[$10]
|
||||
|
||||
GrCastleBiruritchi_MapHeader:
|
||||
db MAP_GFX_GR_CASTLE_BIRURITCHI
|
||||
dba GrCastleBiruritchi_MapScripts
|
||||
db MUSIC_GRCASTLE
|
||||
|
||||
GrCastleBiruritchi_StepEvents:
|
||||
map_exit 6, 15, MAP_GR_CASTLE, 6, 1, SOUTH
|
||||
map_exit 7, 15, MAP_GR_CASTLE, 7, 1, SOUTH
|
||||
map_exit 8, 15, MAP_GR_CASTLE, 8, 1, SOUTH
|
||||
db $ff
|
||||
|
||||
GrCastleBiruritchi_NPCs:
|
||||
npc OW_BIRURITCHI, 7, 5, SOUTH, $0
|
||||
db $ff
|
||||
|
||||
GrCastleBiruritchi_NPCInteractions:
|
||||
npc_script OW_BIRURITCHI, $10, $7136
|
||||
db $ff
|
||||
|
||||
GrCastleBiruritchi_OWInteractions:
|
||||
ow_script 4, 12, $10, $71bf
|
||||
ow_script 10, 12, $10, $71bf
|
||||
db $ff
|
||||
|
||||
GrCastleBiruritchi_MapScripts:
|
||||
dbw $06, $6f2e
|
||||
dbw $08, $6fad
|
||||
dbw $09, $6fbd
|
||||
dbw $07, $6f35
|
||||
dbw $02, $6f3e
|
||||
dbw $0b, $6fcd
|
||||
dbw $04, $6f86
|
||||
dbw $0f, $6fa1
|
||||
db $ff
|
||||
; gap from 0x42f2e to 0x42fc8
|
||||
|
||||
SECTION "Bank 10@6fc8", ROMX[$6fc8], BANK[$10]
|
||||
|
||||
GrCastleBiruritchi_AfterDuelScripts:
|
||||
npc_script OW_BIRURITCHI, $10, $71a6
|
||||
db $ff
|
||||
|
||||
+542
-4
@@ -451,14 +451,552 @@ cards = {
|
||||
|
||||
decks = {}
|
||||
|
||||
directions = []
|
||||
directions = [
|
||||
"NORTH",
|
||||
"EAST",
|
||||
"SOUTH",
|
||||
"WEST"
|
||||
]
|
||||
|
||||
events = []
|
||||
|
||||
maps = []
|
||||
maps = [
|
||||
"OVERWORLD_MAP_TCG",
|
||||
"OVERWORLD_MAP_GR",
|
||||
"MAP_MASON_LABORATORY_MAIN",
|
||||
"MAP_MASON_LABORATORY_SIDE_1",
|
||||
"MAP_MASON_LABORATORY_SIDE_2",
|
||||
"MAP_ISHIHARAS_HOUSE",
|
||||
"MAP_LIGHTNING_CLUB_ENTRANCE",
|
||||
"MAP_LIGHTNING_CLUB_LOBBY",
|
||||
"MAP_LIGHTNING_CLUB",
|
||||
"MAP_PSYCHIC_CLUB_ENTRANCE",
|
||||
"MAP_PSYCHIC_CLUB_LOBBY",
|
||||
"MAP_PSYCHIC_CLUB",
|
||||
"MAP_ROCK_CLUB_ENTRANCE",
|
||||
"MAP_ROCK_CLUB_LOBBY",
|
||||
"MAP_ROCK_CLUB",
|
||||
"MAP_FIGHTING_CLUB_ENTRANCE",
|
||||
"MAP_FIGHTING_CLUB_LOBBY",
|
||||
"MAP_FIGHTING_CLUB",
|
||||
"MAP_GRASS_CLUB_ENTRANCE",
|
||||
"MAP_GRASS_CLUB_LOBBY",
|
||||
"MAP_GRASS_CLUB",
|
||||
"MAP_SCIENCE_CLUB_ENTRANCE",
|
||||
"MAP_SCIENCE_CLUB_LOBBY",
|
||||
"MAP_SCIENCE_CLUB",
|
||||
"MAP_WATER_CLUB_ENTRANCE",
|
||||
"MAP_WATER_CLUB_LOBBY",
|
||||
"MAP_WATER_CLUB",
|
||||
"MAP_FIRE_CLUB_ENTRANCE",
|
||||
"MAP_FIRE_CLUB_LOBBY",
|
||||
"MAP_FIRE_CLUB",
|
||||
"MAP_TCG_AIRPORT_ENTRANCE",
|
||||
"MAP_TCG_AIRPORT",
|
||||
"MAP_TCG_CHALLENGE_HALL_ENTRANCE",
|
||||
"MAP_TCG_CHALLENGE_HALL_LOBBY",
|
||||
"MAP_TCG_CHALLENGE_HALL",
|
||||
"MAP_POKEMON_DOME_ENTRANCE",
|
||||
"MAP_POKEMON_DOME",
|
||||
"MAP_POKEMON_DOME_BACK",
|
||||
"MAP_OVERHEAD_ISLANDS",
|
||||
"MAP_GR_AIRPORT_ENTRANCE",
|
||||
"MAP_GR_AIRPORT",
|
||||
"MAP_ISHIHARAS_VILLA_1",
|
||||
"MAP_ISHIHARAS_VILLA_2",
|
||||
"MAP_GAME_CENTER_ENTRANCE",
|
||||
"MAP_GAME_CENTER_LOBBY",
|
||||
"MAP_GAME_CENTER_1",
|
||||
"MAP_GAME_CENTER_2",
|
||||
"MAP_CARD_DUNGEON_PAWN",
|
||||
"MAP_CARD_DUNGEON_KNIGHT",
|
||||
"MAP_CARD_DUNGEON_BISHOP",
|
||||
"MAP_CARD_DUNGEON_ROOK",
|
||||
"MAP_CARD_DUNGEON_QUEEN",
|
||||
"MAP_SEALED_FORT_ENTRANCE",
|
||||
"MAP_SEALED_FORT",
|
||||
"MAP_GR_CHALLENGE_HALL_ENTRANCE",
|
||||
"MAP_GR_CHALLENGE_HALL_LOBBY",
|
||||
"MAP_GR_CHALLENGE_HALL",
|
||||
"MAP_GRASS_FORT_ENTRANCE",
|
||||
"MAP_GRASS_FORT_LOBBY",
|
||||
"MAP_GRASS_FORT_MIDORI",
|
||||
"MAP_GRASS_FORT_YUTA",
|
||||
"MAP_GRASS_FORT_MIYUKI",
|
||||
"MAP_GRASS_FORT_MORINO",
|
||||
"MAP_LIGHTNING_FORT_ENTRANCE",
|
||||
"MAP_LIGHTNING_FORT_LOBBY",
|
||||
"MAP_LIGHTNING_FORT_RENNA",
|
||||
"MAP_LIGHTNING_FORT_ICHIKAWA",
|
||||
"MAP_LIGHTNING_FORT_CATHERINE",
|
||||
"MAP_FIRE_FORT_ENTRANCE",
|
||||
"MAP_FIRE_FORT_LOBBY",
|
||||
"MAP_FIRE_FORT_JES",
|
||||
"MAP_FIRE_FORT_YUKI",
|
||||
"MAP_FIRE_FORT_SHOKO",
|
||||
"MAP_FIRE_FORT_HIDERO",
|
||||
"MAP_WATER_FORT_ENTRANCE",
|
||||
"MAP_WATER_FORT_LOBBY",
|
||||
"MAP_WATER_FORT_MIYAJIMA",
|
||||
"MAP_WATER_FORT_SENTA",
|
||||
"MAP_WATER_FORT_AIRA",
|
||||
"MAP_WATER_FORT_KANOKO",
|
||||
"MAP_FIGHTING_FORT_ENTRANCE",
|
||||
"MAP_FIGHTING_FORT",
|
||||
"MAP_FIGHTING_FORT_MAZE_1",
|
||||
"MAP_FIGHTING_FORT_MAZE_2",
|
||||
"MAP_FIGHTING_FORT_MAZE_3",
|
||||
"MAP_FIGHTING_FORT_MAZE_4",
|
||||
"MAP_FIGHTING_FORT_MAZE_5",
|
||||
"MAP_FIGHTING_FORT_MAZE_6",
|
||||
"MAP_FIGHTING_FORT_MAZE_7",
|
||||
"MAP_FIGHTING_FORT_MAZE_8",
|
||||
"MAP_FIGHTING_FORT_MAZE_9",
|
||||
"MAP_FIGHTING_FORT_MAZE_10",
|
||||
"MAP_FIGHTING_FORT_MAZE_11",
|
||||
"MAP_FIGHTING_FORT_MAZE_12",
|
||||
"MAP_FIGHTING_FORT_MAZE_13",
|
||||
"MAP_FIGHTING_FORT_MAZE_14",
|
||||
"MAP_FIGHTING_FORT_MAZE_15",
|
||||
"MAP_FIGHTING_FORT_MAZE_16",
|
||||
"MAP_FIGHTING_FORT_MAZE_17",
|
||||
"MAP_FIGHTING_FORT_MAZE_18",
|
||||
"MAP_FIGHTING_FORT_MAZE_19",
|
||||
"MAP_FIGHTING_FORT_MAZE_20",
|
||||
"MAP_FIGHTING_FORT_MAZE_21",
|
||||
"MAP_FIGHTING_FORT_MAZE_22",
|
||||
"MAP_FIGHTING_FORT_BASEMENT",
|
||||
"MAP_FIGHTING_FORT_GODA",
|
||||
"MAP_FIGHTING_FORT_GRACE",
|
||||
"MAP_PSYCHIC_STRONGHOLD_ENTRANCE",
|
||||
"MAP_PSYCHIC_STRONGHOLD_LOBBY",
|
||||
"MAP_PSYCHIC_STRONGHOLD",
|
||||
"MAP_PSYCHIC_STRONGHOLD_MAMI",
|
||||
"MAP_COLORLESS_ALTAR_ENTRANCE",
|
||||
"MAP_COLORLESS_ALTAR",
|
||||
"MAP_GR_CASTLE_ENTRANCE",
|
||||
"MAP_GR_CASTLE",
|
||||
"MAP_GR_CASTLE_BIRURITCHI"
|
||||
]
|
||||
|
||||
npcs = []
|
||||
mapgfx = [
|
||||
"OVERWORLD_MAP_GFX_TCG",
|
||||
"OVERWORLD_MAP_GFX_GR",
|
||||
"MAP_GFX_MASON_LABORATORY_MAIN",
|
||||
"MAP_GFX_MASON_LABORATORY_SIDE_1",
|
||||
"MAP_GFX_MASON_LABORATORY_SIDE_2",
|
||||
"MAP_GFX_ISHIHARAS_HOUSE",
|
||||
"MAP_GFX_LIGHTNING_CLUB_ENTRANCE",
|
||||
"MAP_GFX_LIGHTNING_CLUB_LOBBY",
|
||||
"MAP_GFX_LIGHTNING_CLUB_1",
|
||||
"MAP_GFX_LIGHTNING_CLUB_2",
|
||||
"MAP_GFX_PSYCHIC_CLUB_ENTRANCE",
|
||||
"MAP_GFX_PSYCHIC_CLUB_LOBBY",
|
||||
"MAP_GFX_PSYCHIC_CLUB",
|
||||
"MAP_GFX_ROCK_CLUB_ENTRANCE",
|
||||
"MAP_GFX_ROCK_CLUB_LOBBY",
|
||||
"MAP_GFX_ROCK_CLUB",
|
||||
"MAP_GFX_FIGHTING_CLUB_ENTRANCE",
|
||||
"MAP_GFX_FIGHTING_CLUB_LOBBY",
|
||||
"MAP_GFX_FIGHTING_CLUB",
|
||||
"MAP_GFX_GRASS_CLUB_ENTRANCE",
|
||||
"MAP_GFX_GRASS_CLUB_LOBBY",
|
||||
"MAP_GFX_GRASS_CLUB",
|
||||
"MAP_GFX_SCIENCE_CLUB_ENTRANCE",
|
||||
"MAP_GFX_SCIENCE_CLUB_LOBBY",
|
||||
"MAP_GFX_SCIENCE_CLUB",
|
||||
"MAP_GFX_WATER_CLUB_ENTRANCE",
|
||||
"MAP_GFX_WATER_CLUB_LOBBY",
|
||||
"MAP_GFX_WATER_CLUB",
|
||||
"MAP_GFX_FIRE_CLUB_ENTRANCE",
|
||||
"MAP_GFX_FIRE_CLUB_LOBBY",
|
||||
"MAP_GFX_FIRE_CLUB",
|
||||
"MAP_GFX_TCG_AIRPORT_ENTRANCE",
|
||||
"MAP_GFX_TCG_AIRPORT",
|
||||
"MAP_GFX_TCG_CHALLENGE_HALL_ENTRANCE",
|
||||
"MAP_GFX_TCG_CHALLENGE_HALL_LOBBY",
|
||||
"MAP_GFX_TCG_CHALLENGE_HALL",
|
||||
"MAP_GFX_POKEMON_DOME_ENTRANCE",
|
||||
"MAP_GFX_POKEMON_DOME",
|
||||
"MAP_GFX_OVERHEAD_ISLANDS",
|
||||
"MAP_GFX_GR_AIRPORT_ENTRANCE",
|
||||
"MAP_GFX_GR_AIRPORT",
|
||||
"MAP_GFX_ISHIHARAS_VILLA_1",
|
||||
"MAP_GFX_ISHIHARAS_VILLA_2",
|
||||
"MAP_GFX_GAME_CENTER_ENTRANCE",
|
||||
"MAP_GFX_GAME_CENTER_LOBBY",
|
||||
"MAP_GFX_GAME_CENTER_1",
|
||||
"MAP_GFX_GAME_CENTER_2",
|
||||
"MAP_GFX_CARD_DUNGEON_PAWN",
|
||||
"MAP_GFX_CARD_DUNGEON_KNIGHT",
|
||||
"MAP_GFX_CARD_DUNGEON_BISHOP",
|
||||
"MAP_GFX_CARD_DUNGEON_ROOK",
|
||||
"MAP_GFX_CARD_DUNGEON_QUEEN",
|
||||
"MAP_GFX_SEALED_FORT_ENTRANCE",
|
||||
"MAP_GFX_SEALED_FORT",
|
||||
"MAP_GFX_GR_CHALLENGE_HALL_ENTRANCE",
|
||||
"MAP_GFX_GR_CHALLENGE_HALL_LOBBY",
|
||||
"MAP_GFX_GR_CHALLENGE_HALL",
|
||||
"MAP_GFX_GRASS_FORT_ENTRANCE",
|
||||
"MAP_GFX_GRASS_FORT_LOBBY",
|
||||
"MAP_GFX_GRASS_FORT_MIDORI",
|
||||
"MAP_GFX_GRASS_FORT_YUTA",
|
||||
"MAP_GFX_GRASS_FORT_MIYUKI",
|
||||
"MAP_GFX_GRASS_FORT_MORINO",
|
||||
"MAP_GFX_LIGHTNING_FORT_ENTRANCE",
|
||||
"MAP_GFX_LIGHTNING_FORT_LOBBY",
|
||||
"MAP_GFX_LIGHTNING_FORT_RENNA",
|
||||
"MAP_GFX_LIGHTNING_FORT_ICHIKAWA",
|
||||
"MAP_GFX_LIGHTNING_FORT_CATHERINE",
|
||||
"MAP_GFX_FIRE_FORT_ENTRANCE",
|
||||
"MAP_GFX_FIRE_FORT_LOBBY",
|
||||
"MAP_GFX_FIRE_FORT_JES",
|
||||
"MAP_GFX_FIRE_FORT_YUKI",
|
||||
"MAP_GFX_FIRE_FORT_SHOKO",
|
||||
"MAP_GFX_FIRE_FORT_HIDERO",
|
||||
"MAP_GFX_WATER_FORT_ENTRANCE",
|
||||
"MAP_GFX_WATER_FORT_LOBBY",
|
||||
"MAP_GFX_WATER_FORT_MIYAJIMA",
|
||||
"MAP_GFX_WATER_FORT_SENTA",
|
||||
"MAP_GFX_WATER_FORT_AIRA",
|
||||
"MAP_GFX_WATER_FORT_KANOKO",
|
||||
"MAP_GFX_FIGHTING_FORT_ENTRANCE",
|
||||
"MAP_GFX_FIGHTING_FORT",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_1",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_2",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_3",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_4",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_5",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_6",
|
||||
"MAP_GFX_FIGHTING_FORT_GODA",
|
||||
"MAP_GFX_FIGHTING_FORT_GRACE",
|
||||
"MAP_GFX_PSYCHIC_STRONGHOLD_ENTRANCE",
|
||||
"MAP_GFX_PSYCHIC_STRONGHOLD_LOBBY",
|
||||
"MAP_GFX_PSYCHIC_STRONGHOLD",
|
||||
"MAP_GFX_PSYCHIC_STRONGHOLD_MAMI",
|
||||
"MAP_GFX_COLORLESS_ALTAR_ENTRANCE",
|
||||
"MAP_GFX_COLORLESS_ALTAR",
|
||||
"MAP_GFX_GR_CASTLE_ENTRANCE",
|
||||
"MAP_GFX_GR_CASTLE",
|
||||
"MAP_GFX_GR_CASTLE_BIRURITCHI",
|
||||
"MAP_GFX_POKEMON_DOME_BACK",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_7",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_8",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_9",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_10",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_11",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_12",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_13",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_14",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_15",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_16",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_17",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_18",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_19",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_20",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_21",
|
||||
"MAP_GFX_FIGHTING_FORT_MAZE_22",
|
||||
"MAP_GFX_FIGHTING_FORT_BASEMENT",
|
||||
"MAP_GFX_GR_CHALLENGE_HALL_2"
|
||||
]
|
||||
|
||||
npcs = [
|
||||
"OW_MARK",
|
||||
"OW_MINT",
|
||||
"OW_DR_MASON",
|
||||
"OW_RONALD",
|
||||
"OW_ISHIHARA",
|
||||
"OW_IMAKUNI_BLACK",
|
||||
"OW_SAM",
|
||||
"OW_AARON",
|
||||
"OW_PAPPY_1",
|
||||
"OW_GENE",
|
||||
"OW_MATTHEW",
|
||||
"OW_RYAN",
|
||||
"OW_ANDREW",
|
||||
"OW_MITCH",
|
||||
"OW_MICHAEL",
|
||||
"OW_CHRIS",
|
||||
"OW_JESSICA",
|
||||
"OW_NIKKI",
|
||||
"OW_BRITTANY",
|
||||
"OW_KRISTIN",
|
||||
"OW_HEATHER",
|
||||
"OW_RICK",
|
||||
"OW_DAVID",
|
||||
"OW_JOSEPH",
|
||||
"OW_ERIK",
|
||||
"OW_AMY",
|
||||
"OW_AMY_LOUNGE",
|
||||
"OW_JOSHUA",
|
||||
"OW_SARA",
|
||||
"OW_AMANDA",
|
||||
"OW_KEN",
|
||||
"OW_JOHN",
|
||||
"OW_ADAM",
|
||||
"OW_JONATHAN",
|
||||
"OW_ISAAC",
|
||||
"OW_JENNIFER",
|
||||
"OW_NICHOLAS",
|
||||
"OW_BRANDON",
|
||||
"OW_MURRAY",
|
||||
"OW_ROBERT",
|
||||
"OW_DANIEL",
|
||||
"OW_STEPHANIE",
|
||||
"OW_COURTNEY",
|
||||
"OW_STEVE",
|
||||
"OW_JACK",
|
||||
"OW_ROD",
|
||||
"OW_GR_1",
|
||||
"OW_GR_2",
|
||||
"OW_GR_3",
|
||||
"OW_GR_4",
|
||||
"OW_GR_5",
|
||||
"OW_GR_LAD_1",
|
||||
"OW_MIDORI",
|
||||
"OW_YUTA",
|
||||
"OW_MIYUKI",
|
||||
"OW_MORINO",
|
||||
"OW_GR_LASS_1",
|
||||
"OW_RENNA",
|
||||
"OW_ICHIKAWA",
|
||||
"OW_CATHERINE",
|
||||
"OW_GR_GRANNY_1",
|
||||
"OW_MIYAJIMA_ALT",
|
||||
"OW_JES",
|
||||
"OW_YUKI",
|
||||
"OW_SHOKO",
|
||||
"OW_HIDERO",
|
||||
"OW_SPECS_2",
|
||||
"OW_MIYAJIMA",
|
||||
"OW_SENTA",
|
||||
"OW_AIRA",
|
||||
"OW_KANOKO",
|
||||
"OW_GODA",
|
||||
"OW_GRACE",
|
||||
"OW_KAMIYA",
|
||||
"OW_GAL_1",
|
||||
"OW_MIWA",
|
||||
"OW_KEVIN",
|
||||
"OW_YOSUKE",
|
||||
"OW_RYOKO",
|
||||
"OW_MAMI",
|
||||
"OW_NISHIJIMA",
|
||||
"OW_ISHII",
|
||||
"OW_SAMEJIMA",
|
||||
"OW_KANZAKI",
|
||||
"OW_RUI",
|
||||
"OW_BIRURITCHI",
|
||||
"OW_TOBICHAN",
|
||||
"OW_EIJI",
|
||||
"OW_MAGICIAN",
|
||||
"OW_TOSHIRON",
|
||||
"OW_PIERROT",
|
||||
"OW_ANNA",
|
||||
"OW_DEE",
|
||||
"OW_MASQUERADE",
|
||||
"OW_PAWN",
|
||||
"OW_KNIGHT",
|
||||
"OW_BISHOP",
|
||||
"OW_ROOK",
|
||||
"OW_QUEEN",
|
||||
"OW_GR_X",
|
||||
"OW_CLERK_1",
|
||||
"OW_CLERK_2",
|
||||
"OW_GR_CLERK_1",
|
||||
"OW_GR_CLERK_2",
|
||||
"OW_GR_CLERK_3",
|
||||
"OW_GR_CLERK_4",
|
||||
"OW_LASS2_2",
|
||||
"OW_WOMAN",
|
||||
"OW_CHAP_1",
|
||||
"OW_LAD_3",
|
||||
"OW_PAPPY_2",
|
||||
"OW_SPECS_3",
|
||||
"OW_LAD4",
|
||||
"OW_GIRL_4",
|
||||
"OW_GRANNY",
|
||||
"OW_LASS2_3",
|
||||
"OW_GIRL_5",
|
||||
"OW_MAN_2",
|
||||
"OW_LAD_5",
|
||||
"OW_SPECS_4",
|
||||
"OW_TECH_6",
|
||||
"OW_PAPPY_3",
|
||||
"OW_LASS1_2",
|
||||
"OW_LASS2_4",
|
||||
"OW_HOOD_3",
|
||||
"OW_MANIA_4",
|
||||
"OW_GAL_2",
|
||||
"OW_LASS3_2",
|
||||
"OW_HOOD_4",
|
||||
"OW_LASS1_3",
|
||||
"OW_CHAP_2",
|
||||
"OW_SPECS_5",
|
||||
"OW_LASS1_4",
|
||||
"OW_LAD_6",
|
||||
"OW_GR_LASS_2",
|
||||
"OW_GR_CLERK_5",
|
||||
"OW_GR_GAL_1",
|
||||
"OW_MANIA_5",
|
||||
"OW_CLERK_3",
|
||||
"OW_CHAP_3",
|
||||
"OW_GAL_3",
|
||||
"OW_HOOD_5",
|
||||
"OW_MAN_3",
|
||||
"OW_PAPPY_4",
|
||||
"OW_TECH_7",
|
||||
"OW_GIRL_6",
|
||||
"OW_LASS1_5",
|
||||
"OW_LASS2_5",
|
||||
"OW_GR_CLERK_6",
|
||||
"OW_GR_PAPPY_1",
|
||||
"OW_GR_LASS_3",
|
||||
"OW_GR_CLERK_7",
|
||||
"OW_GR_LAD_2",
|
||||
"OW_GR_PAPPY_2",
|
||||
"OW_GR_LASS_4",
|
||||
"OW_GR_CLERK_8",
|
||||
"OW_GR_WOMAN_1",
|
||||
"OW_BUTCH_1",
|
||||
"OW_TAP",
|
||||
"OW_GR_CLERK_9",
|
||||
"OW_YOUNGSTER_4",
|
||||
"OW_GR_CLERK_10",
|
||||
"OW_GR_GRANNY_2",
|
||||
"OW_GR_GAL_2",
|
||||
"OW_GR_CLERK_11",
|
||||
"OW_GR_CLERK_12",
|
||||
"OW_MANIA_6",
|
||||
"OW_GR_LASS_5",
|
||||
"OW_GR_CLERK_13",
|
||||
"OW_TECH_8",
|
||||
"OW_GR_LASS_6",
|
||||
"OW_GR_PAPPY_3",
|
||||
"OW_CAPTURED_AMY",
|
||||
"OW_CAPTURED_SARA",
|
||||
"OW_CAPTURED_AMANDA",
|
||||
"OW_WARP_SPARKLES",
|
||||
"OW_YUI",
|
||||
"OW_IMAKUNI_RED",
|
||||
"OW_BUTCH_2",
|
||||
"OW_TECH_9",
|
||||
"OW_TECH_10",
|
||||
"OW_TECH_11",
|
||||
"OW_TECH_12",
|
||||
"OW_TECH_13",
|
||||
"OW_TECH_14",
|
||||
"OW_TECH_15",
|
||||
"OW_TECH_16",
|
||||
"OW_TECH_17",
|
||||
"OW_GR_CLERK_14",
|
||||
"OW_GR_CLERK_15",
|
||||
"OW_GR_CLERK_16",
|
||||
"OW_GR_CLERK_17",
|
||||
"OW_CHIP_GIRL_1",
|
||||
"OW_MONOCLE_1",
|
||||
"OW_MONOCLE_2",
|
||||
"OW_DEALER_BOY_1",
|
||||
"OW_DEALER_GIRL_1",
|
||||
"OW_DEALER_BOY_2",
|
||||
"OW_CHIP_GIRL_2",
|
||||
"OW_DEALER_GIRL_2",
|
||||
"OW_VOLCANO_SMOKE_TCG",
|
||||
"OW_VOLCANO_SMOKE_GR",
|
||||
"OW_CURSOR_TCG",
|
||||
"OW_CURSOR_GR",
|
||||
"OW_GR_CROSS",
|
||||
"OW_GR_CASTLE_FLAG",
|
||||
"OW_CHEST_CLOSED",
|
||||
"OW_CHEST_OPENED",
|
||||
"OW_GR_BLIMP_BEAM",
|
||||
"OW_GR_BLIMP",
|
||||
"OW_POD_DOORS",
|
||||
"OW_GR_LAD_3",
|
||||
"OW_GR_LASS_7",
|
||||
"OW_GR_LASS_8",
|
||||
"OW_YOUNGSTER_5",
|
||||
"OW_SWIMMER",
|
||||
"OW_GR_GAL_3",
|
||||
"OW_BUTCH_3",
|
||||
"OW_MANIA_7",
|
||||
"OW_GAMBLER",
|
||||
"OW_GR_WOMAN_2",
|
||||
"OW_GR_GAL_4",
|
||||
"OW_GR_CLERK_18",
|
||||
"OW_GR_CHAP",
|
||||
"OW_GR_WOMAN_3",
|
||||
"OW_GR_STAFF",
|
||||
"OW_LASS1_6",
|
||||
"OW_LASS2_7",
|
||||
"OW_RED_FORT_COIN",
|
||||
"OW_BLUE_FORT_COIN",
|
||||
"OW_WHITE_CASTLE_COIN",
|
||||
"OW_PURPLE_CASTLE_COIN",
|
||||
"OW_STRONGHOLD_PLATFORM"
|
||||
]
|
||||
|
||||
sfxs = []
|
||||
|
||||
songs = []
|
||||
songs = [
|
||||
"MUSIC_STOP",
|
||||
"MUSIC_TITLESCREEN",
|
||||
"MUSIC_DUELTHEME_1",
|
||||
"MUSIC_DUELTHEME_2",
|
||||
"MUSIC_DUELTHEME_3",
|
||||
"MUSIC_PAUSEMENU",
|
||||
"MUSIC_PCMAINMENU",
|
||||
"MUSIC_DECKMACHINE",
|
||||
"MUSIC_CARDPOP",
|
||||
"MUSIC_OVERWORLD",
|
||||
"MUSIC_POKEMONDOME",
|
||||
"MUSIC_CHALLENGEHALL",
|
||||
"MUSIC_CLUB_1",
|
||||
"MUSIC_CLUB_2",
|
||||
"MUSIC_CLUB_3",
|
||||
"MUSIC_RONALD",
|
||||
"MUSIC_IMAKUNI",
|
||||
"MUSIC_HALLOFHONOR",
|
||||
"MUSIC_12",
|
||||
"MUSIC_13",
|
||||
"MUSIC_HERECOMESGR",
|
||||
"MUSIC_GROVERWORLD",
|
||||
"MUSIC_FORT_1",
|
||||
"MUSIC_FORT_2",
|
||||
"MUSIC_FORT_3",
|
||||
"MUSIC_FORT_4",
|
||||
"MUSIC_GRCASTLE",
|
||||
"MUSIC_1B",
|
||||
"MUSIC_GRCHALLENGECUP",
|
||||
"MUSIC_GAMECORNER",
|
||||
"MUSIC_GRBLIMP",
|
||||
"MUSIC_GRDUELTHEME_1",
|
||||
"MUSIC_GRDUELTHEME_2",
|
||||
"MUSIC_GRDUELTHEME_3",
|
||||
"MUSIC_22",
|
||||
"MUSIC_ISHIHARA",
|
||||
"MUSIC_IMAKUNI2",
|
||||
"MUSIC_CREDITS",
|
||||
"MUSIC_26",
|
||||
"MUSIC_27",
|
||||
"MUSIC_MATCHSTART_1",
|
||||
"MUSIC_MATCHSTART_2",
|
||||
"MUSIC_MATCHSTART_3",
|
||||
"MUSIC_MATCHVICTORY",
|
||||
"MUSIC_MATCHLOSS",
|
||||
"MUSIC_MATCHDRAW",
|
||||
"MUSIC_UNUSED_2E",
|
||||
"MUSIC_BOOSTER_PACK",
|
||||
"MUSIC_MEDAL",
|
||||
"MUSIC_UNUSED_31",
|
||||
"MUSIC_DITTY_1",
|
||||
"MUSIC_DITTY_2",
|
||||
"MUSIC_DITTY_3",
|
||||
"MUSIC_DITTY_4",
|
||||
"MUSIC_DITTY_5",
|
||||
"MUSIC_37",
|
||||
"MUSIC_38",
|
||||
"MUSIC_39",
|
||||
"MUSIC_DITTY6",
|
||||
"MUSIC_3B"
|
||||
]
|
||||
|
||||
@@ -0,0 +1,391 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from constants import cards
|
||||
from constants import decks
|
||||
from constants import directions
|
||||
from constants import events
|
||||
from constants import maps
|
||||
from constants import mapgfx
|
||||
from constants import npcs
|
||||
from constants import sfxs
|
||||
from constants import songs
|
||||
|
||||
from script_extractor import sort_and_filter
|
||||
from script_extractor import get_bank
|
||||
from script_extractor import get_relative_address
|
||||
from script_extractor import make_blob
|
||||
|
||||
args = None
|
||||
rom = None
|
||||
|
||||
# get absolute pointer stored at an address in the rom
|
||||
# if bank is None, assumes the pointer refers to the same bank as the bank it is located in
|
||||
def get_pointer(address, bank=None):
|
||||
raw_pointer = rom[address + 1] * 0x100 + rom[address]
|
||||
if raw_pointer < 0x4000:
|
||||
bank = 0
|
||||
if bank is None:
|
||||
bank = get_bank(address)
|
||||
return (raw_pointer % 0x4000) + bank * 0x4000
|
||||
|
||||
def make_address_comment(address):
|
||||
if args.address_comments:
|
||||
return ": ; {:x} ({:x}:{:x})\n".format(address, get_bank(address), get_relative_address(address))
|
||||
else:
|
||||
return ":\n"
|
||||
|
||||
def dump_npcs(function_address, map_name_camelcase):
|
||||
# the functions should always start with <ld hl, xxx_NPCs>
|
||||
if rom[function_address] == 0x21:
|
||||
table_start_address = get_pointer(function_address + 1)
|
||||
else:
|
||||
print("WARN: {}_NPCs table not found in function {:x}".format(map_name_camelcase, function_address))
|
||||
return []
|
||||
|
||||
address = table_start_address
|
||||
|
||||
label = map_name_camelcase + "_NPCs"
|
||||
output = label + make_address_comment(address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
npc_id = npcs[rom[address]]
|
||||
x_coord = rom[address+1]
|
||||
y_coord = rom[address+2]
|
||||
direction = directions[rom[address+3]]
|
||||
ptr = get_pointer(address+4)
|
||||
raw_ptr = rom[address+4] + (rom[address+5])*0x100
|
||||
|
||||
if args.function_labels:
|
||||
output += "\tnpc {}, {}, {}, {}, Func_{:x}\n".format(
|
||||
npc_id, x_coord, y_coord, direction, ptr
|
||||
)
|
||||
else:
|
||||
output += "\tnpc {}, {}, {}, {}, ${:x}\n".format(
|
||||
npc_id, x_coord, y_coord, direction, raw_ptr
|
||||
)
|
||||
|
||||
address += 6
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
return [make_blob(table_start_address, output, address+1)]
|
||||
|
||||
def dump_stepevents(function_address, map_name_camelcase):
|
||||
# the functions should always have:
|
||||
# <ld hl, xxx_StepEvents>
|
||||
# <call Func_324d>
|
||||
temp = function_address
|
||||
while rom[temp] != 0xc9: # ret
|
||||
if rom[temp] == 0x21 and rom[temp+3] == 0xcd and rom[temp+4] == 0x4d and rom[temp+5] == 0x32:
|
||||
table_start_address = get_pointer(temp + 1)
|
||||
break
|
||||
temp += 1
|
||||
if table_start_address is None:
|
||||
print("WARN: {}_StepEvents table not found in function {:x}".format(map_name_camelcase, function_address))
|
||||
return []
|
||||
|
||||
address = table_start_address
|
||||
|
||||
label = map_name_camelcase + "_StepEvents"
|
||||
output = label + make_address_comment(address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
output += dump_ow_coordinate_function(address)
|
||||
|
||||
address += 9
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
return [make_blob(table_start_address, output, address+1)]
|
||||
|
||||
def dump_npcinteractions(function_address, map_name_camelcase):
|
||||
# the functions should always have:
|
||||
# <ld hl, xxx_NPCInteractions>
|
||||
# <call Func_328c>
|
||||
# ONLY LightningFortCatherine calls <Func_32aa instead>
|
||||
temp = function_address
|
||||
table_start_address = None
|
||||
while rom[temp] != 0xc9: # ret
|
||||
if rom[temp] == 0x21 and rom[temp+3] == 0xcd and (rom[temp+4] in [0x8c,0xaa]) and rom[temp+5] == 0x32:
|
||||
table_start_address = get_pointer(temp + 1)
|
||||
break
|
||||
temp += 1
|
||||
if table_start_address is None:
|
||||
print("WARN: {}_NPCInteractions table not found in function {:x}".format(map_name_camelcase, function_address))
|
||||
return []
|
||||
|
||||
|
||||
address = table_start_address
|
||||
|
||||
label = map_name_camelcase + "_NPCInteractions"
|
||||
output = label + make_address_comment(address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
npc_id = npcs[rom[address]]
|
||||
ptr = get_pointer(address+2)
|
||||
bank = rom[address+1]
|
||||
raw_ptr = rom[address+2] + (rom[address+3])*0x100
|
||||
|
||||
if args.function_labels:
|
||||
output += "\tnpc_script {}, Func_{:x}\n".format(npc_id,ptr)
|
||||
else:
|
||||
output += "\tnpc_script {}, ${:02x}, ${:x}\n".format(npc_id, bank, raw_ptr)
|
||||
|
||||
address += 4
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
return [make_blob(table_start_address, output, address+1)]
|
||||
|
||||
def dump_afterduelscripts(function_address, map_name_camelcase):
|
||||
# the functions should always have:
|
||||
# <ld hl, xxx_AfterDuelScripts>
|
||||
# <ld a, [$d60e]>
|
||||
temp = function_address
|
||||
table_start_address = None
|
||||
while rom[temp] != 0xc9: # ret
|
||||
if rom[temp] == 0x21:
|
||||
table_start_address = get_pointer(temp + 1)
|
||||
break
|
||||
temp += 1
|
||||
if table_start_address is None:
|
||||
print("WARN: {}_AfterDuelScripts table not found in function {:x}".format(map_name_camelcase, function_address))
|
||||
return []
|
||||
|
||||
|
||||
address = table_start_address
|
||||
|
||||
label = map_name_camelcase +"_AfterDuelScripts"
|
||||
output = label + make_address_comment(address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
npc_id = npcs[rom[address]]
|
||||
ptr = get_pointer(address+2)
|
||||
bank = rom[address+1]
|
||||
raw_ptr = rom[address+2] + (rom[address+3])*0x100
|
||||
|
||||
if args.function_labels:
|
||||
output += "\tnpc_script {}, Func_{:x}\n".format(npc_id,ptr)
|
||||
else:
|
||||
output += "\tnpc_script {}, ${:02x}, ${:x}\n".format(npc_id, bank, raw_ptr)
|
||||
|
||||
address += 4
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
return [make_blob(table_start_address, output, address+1)]
|
||||
|
||||
def dump_ow_coordinate_function(address):
|
||||
x_coord = rom[address]
|
||||
y_coord = rom[address+1]
|
||||
a_register = rom[address+2]
|
||||
d_register = rom[address+3]
|
||||
e_register = rom[address+4]
|
||||
b_register = rom[address+5]
|
||||
function_addr = get_pointer(address+7, rom[address+6])
|
||||
bank = rom[address+6]
|
||||
raw_ptr = rom[address+7] + (rom[address+8])*0x100
|
||||
|
||||
# see map_exit macro
|
||||
if(function_addr == 0xd3c4):
|
||||
output = "\tmap_exit {}, {}, {}, {}, {}, {}\n".format(
|
||||
x_coord, y_coord, maps[a_register], d_register, e_register, directions[b_register]
|
||||
)
|
||||
# see ow_script macro
|
||||
elif a_register == 0 and d_register == 0 and e_register == 0 and b_register == 0:
|
||||
if args.function_labels:
|
||||
output = "\tow_script {}, {}, Func_{:x}\n".format(
|
||||
x_coord, y_coord, function_addr
|
||||
)
|
||||
else:
|
||||
output = "\tow_script {}, {}, ${:02x}, ${:x}\n".format(
|
||||
x_coord, y_coord, bank, raw_ptr
|
||||
)
|
||||
# generic case
|
||||
else:
|
||||
if args.function_labels:
|
||||
output = "\t_ow_coordinate_function {}, {}, {}, {}, {}, {}, Func_{:x}\n".format(
|
||||
x_coord, y_coord, a_register, d_register, e_register, b_register, function_addr
|
||||
)
|
||||
else:
|
||||
output = "\t_ow_coordinate_function {}, {}, {}, {}, {}, {}, ${:02x}, ${:x}\n".format(
|
||||
x_coord, y_coord, a_register, d_register, e_register, b_register, bank, raw_ptr
|
||||
)
|
||||
return output
|
||||
|
||||
def dump_owinteractions(function_address, map_name_camelcase):
|
||||
# the functions should always have:
|
||||
# <ld hl, xxx_OWInteractions>
|
||||
# <call Func_32bf>
|
||||
# Only the two SealedFort maps instead have: <call Func_324d.asm_3254>
|
||||
table_start_address = None
|
||||
temp = function_address
|
||||
while rom[temp] != 0xc9: # ret
|
||||
if rom[temp] == 0x21 and rom[temp+3] == 0xcd and (rom[temp+4] in [0xbf,0x54]) and rom[temp+5] == 0x32:
|
||||
table_start_address = get_pointer(temp + 1)
|
||||
break
|
||||
temp += 1
|
||||
if table_start_address is None:
|
||||
print("WARN: {}_OWInteractions table not found in function {:x}".format(map_name_camelcase,function_address))
|
||||
return []
|
||||
|
||||
address = table_start_address
|
||||
|
||||
label = map_name_camelcase + "_OWInteractions"
|
||||
output = label + make_address_comment(address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
output += dump_ow_coordinate_function(address)
|
||||
|
||||
address += 9
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
return [make_blob(table_start_address, output, address+1)]
|
||||
|
||||
def dump_mapscripts_table(address, map_name_camelcase):
|
||||
blobs = []
|
||||
|
||||
start_address = address
|
||||
output = ""
|
||||
label = map_name_camelcase + "_MapScripts"
|
||||
output += label + make_address_comment(start_address)
|
||||
|
||||
current_byte = rom[address]
|
||||
while current_byte != 0xff:
|
||||
script_type = rom[address]
|
||||
function_ptr = get_pointer(address+1)
|
||||
raw_ptr = rom[address+1] + (rom[address+2])*0x100
|
||||
|
||||
if args.function_labels:
|
||||
output += "\tdbw ${:02x}, Func_{:x}\n".format(script_type, function_ptr)
|
||||
else:
|
||||
output += "\tdbw ${:02x}, ${:04x}\n".format(script_type, raw_ptr)
|
||||
|
||||
if script_type == 6:
|
||||
blobs += dump_stepevents(function_ptr, map_name_camelcase)
|
||||
elif script_type == 7:
|
||||
blobs += dump_npcs(function_ptr, map_name_camelcase)
|
||||
elif script_type == 8:
|
||||
blobs += dump_npcinteractions(function_ptr, map_name_camelcase)
|
||||
blobs += dump_owinteractions(function_ptr, map_name_camelcase)
|
||||
elif script_type == 9:
|
||||
blobs += dump_afterduelscripts(function_ptr, map_name_camelcase)
|
||||
|
||||
address += 3
|
||||
current_byte = rom[address]
|
||||
|
||||
output += "\tdb $ff\n"
|
||||
|
||||
blobs.append(make_blob(start_address, output, address+1))
|
||||
return blobs
|
||||
|
||||
def dump_mapheader(start_address, map_name_camelcase):
|
||||
blobs = []
|
||||
|
||||
output = ""
|
||||
address = start_address
|
||||
|
||||
map_gfx = mapgfx[rom[address]]
|
||||
mapscripts_ptr = get_pointer(address+2, rom[address+1])
|
||||
music = songs[rom[address+4]]
|
||||
|
||||
output = map_name_camelcase + "_MapHeader" + make_address_comment(start_address)
|
||||
output += "\tdb " + map_gfx + "\n"
|
||||
output += "\tdba " + map_name_camelcase + "_MapScripts\n"
|
||||
output += "\tdb " + music + "\n"
|
||||
|
||||
blobs.append(make_blob(start_address, output, start_address+5))
|
||||
blobs += (dump_mapscripts_table(mapscripts_ptr, map_name_camelcase))
|
||||
|
||||
return blobs
|
||||
|
||||
def macro_case_to_pascalcase(name: str):
|
||||
return name.replace("MAP", "").replace("_", " ").title().replace(" ", "")
|
||||
|
||||
def dump_mapheadersptrs_table(start_address):
|
||||
blobs = []
|
||||
output = "MapHeaderPtrs::\n"
|
||||
|
||||
address = start_address
|
||||
|
||||
# there are 0x73 maps in the game
|
||||
for i in range(0x73+1):
|
||||
current_map = maps[i]
|
||||
map_name_camelcase = macro_case_to_pascalcase(current_map)
|
||||
map_header_address = get_pointer(address+1, rom[address])
|
||||
|
||||
output += "\tdba " + map_name_camelcase + "_MapHeader\n"
|
||||
|
||||
blobs += dump_mapheader(map_header_address, map_name_camelcase)
|
||||
address += 3
|
||||
|
||||
blobs.append(make_blob(start_address, output, address))
|
||||
return blobs
|
||||
|
||||
def fill_gap(start, end):
|
||||
output = ""
|
||||
for address in range(start, end):
|
||||
output += "\tdb ${:x}\n".format(rom[address])
|
||||
output += "\n"
|
||||
return output
|
||||
|
||||
def sort_and_filter(blobs):
|
||||
blobs.sort(key=lambda b: (b["start"], b["end"], not b["output"].startswith(";")))
|
||||
filtered = []
|
||||
for blob, next in zip(blobs, blobs[1:]+[None]):
|
||||
if next and blob["start"] == next["start"] and blob["output"] == next["output"]:
|
||||
continue
|
||||
if next and blob["end"] < next["start"] and get_bank(blob["end"]) == get_bank(next["start"]):
|
||||
if args.fill_gaps:
|
||||
blob["output"] += fill_gap(blob["end"], next["start"])
|
||||
else:
|
||||
blob["output"] += "; gap from 0x{:x} to 0x{:x}\n\n".format(blob["end"], next["start"])
|
||||
|
||||
# bit of a sketchy place to add SECTIONs to the output, but it works well
|
||||
bank = get_bank(next["start"])
|
||||
raw_addr = next["start"] - ((bank-1)*0x4000)
|
||||
blob["output"] += 'SECTION "Bank {:x}@{:04x}", ROMX[${:04x}], BANK[${:x}]\n'.format(bank, raw_addr, raw_addr, bank)
|
||||
blob["output"] += '\n'
|
||||
filtered.append(blob)
|
||||
if len(filtered) > 0:
|
||||
filtered[-1]["output"] = filtered[-1]["output"].rstrip("\n")
|
||||
return filtered
|
||||
|
||||
if __name__ == "__main__":
|
||||
ap = argparse.ArgumentParser(description="Pokemon TCG 2 Script Extractor")
|
||||
ap.add_argument("-a", "--address-comments", action="store_true", help="add address comments after labels")
|
||||
ap.add_argument("-b", "--allow-backward-jumps", action="store_true", help="extract scripts that are found before the starting address")
|
||||
ap.add_argument("-g", "--fill-gaps", action="store_true", help="use 'db's to fill the gaps between visited locations")
|
||||
ap.add_argument("-f", "--function-labels", action="store_true", help="use function labels (Func_xxx) instead of raw bank/addr bytes")
|
||||
ap.add_argument("-i", "--ignore-errors", action="store_true", help="silently proceed to the next address if an error occurs")
|
||||
ap.add_argument("-r", "--rom", default="baserom.gbc", help="rom file to extract script from")
|
||||
ap.add_argument("-s", "--symfile", default="poketcg2.sym", help="symfile to extract symbols from")
|
||||
|
||||
args = ap.parse_args()
|
||||
rom = bytearray(open(args.rom, "rb").read())
|
||||
blobs = []
|
||||
|
||||
map_header_table_addr = 0xc651
|
||||
blobs += dump_mapheadersptrs_table(map_header_table_addr)
|
||||
|
||||
blobs = sort_and_filter(blobs)
|
||||
output = ""
|
||||
for blob in blobs:
|
||||
output += blob["output"]
|
||||
print(output)
|
||||
Reference in New Issue
Block a user