Merge pull request #31 from mdraves91/all-map-header-ptrs

dumping entire MapHeaderPtrs table and associated data structures
This commit is contained in:
dannye
2025-10-04 16:37:32 -05:00
committed by GitHub
7 changed files with 4356 additions and 126 deletions
+116 -116
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+859
View File
@@ -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
+775
View File
@@ -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
View File
@@ -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
View File
@@ -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"
]
+391
View File
@@ -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)