diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-02-20 00:12:28 +0000 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-02-20 00:12:28 +0000 |
commit | 2c41ada0776025dfc2ed8e7f3c2962d3d2fe129c (patch) | |
tree | e5efd35ede76d12f3294ca011ccceb094040a992 /src | |
parent | b1bd405470fd89ee9a2d085c61a834b7de252a31 (diff) |
Map event tilemaps
Diffstat (limited to 'src')
-rw-r--r-- | src/constants/map_constants.asm | 14 | ||||
-rw-r--r-- | src/constants/tilemap_constants.asm | 212 | ||||
-rw-r--r-- | src/engine/bank03.asm | 36 | ||||
-rw-r--r-- | src/engine/bank04.asm | 2 | ||||
-rw-r--r-- | src/engine/bank07.asm | 2 | ||||
-rw-r--r-- | src/engine/bank20.asm | 100 | ||||
-rw-r--r-- | src/macros/scripts.asm | 1 | ||||
-rw-r--r-- | src/sram.asm | 4 | ||||
-rw-r--r-- | src/wram.asm | 10 |
9 files changed, 201 insertions, 180 deletions
diff --git a/src/constants/map_constants.asm b/src/constants/map_constants.asm index be5ee7d..a2654f8 100644 --- a/src/constants/map_constants.asm +++ b/src/constants/map_constants.asm @@ -78,3 +78,17 @@ MAP_SCRIPT_CLOSE_TEXTBOX EQU $0e const MAP_SGB_PALS_8 ; $8 const MAP_SGB_PALS_9 ; $9 const MAP_SGB_PALS_10 ; $a + + const_def 0 + const MAP_EVENT_POKEMON_DOME_DOOR ; $0 + const MAP_EVENT_HALL_OF_HONOR_DOOR ; $1 + const MAP_EVENT_FIGHTING_DECK_MACHINE ; $2 + const MAP_EVENT_ROCK_DECK_MACHINE ; $3 + const MAP_EVENT_WATER_DECK_MACHINE ; $4 + const MAP_EVENT_LIGHTNING_DECK_MACHINE ; $5 + const MAP_EVENT_GRASS_DECK_MACHINE ; $6 + const MAP_EVENT_PSYCHIC_DECK_MACHINE ; $7 + const MAP_EVENT_SCIENCE_DECK_MACHINE ; $8 + const MAP_EVENT_FIRE_DECK_MACHINE ; $9 + const MAP_EVENT_CHALLENGE_MACHINE ; $a +NUM_MAP_EVENTS EQU const_value diff --git a/src/constants/tilemap_constants.asm b/src/constants/tilemap_constants.asm index 4a64930..a3a1538 100644 --- a/src/constants/tilemap_constants.asm +++ b/src/constants/tilemap_constants.asm @@ -1,107 +1,107 @@ const_def - const TILEMAP_OVERWORLD_MAP ; $00 - const TILEMAP_OVERWORLD_MAP_CGB ; $01 - const TILEMAP_MASON_LABORATORY ; $02 - const TILEMAP_MASON_LABORATORY_CGB ; $03 - const TILEMAP_UNKNOWN_1 ; $04 - const TILEMAP_UNKNOWN_1_CGB ; $05 - const TILEMAP_DECK_MACHINE_ROOM ; $06 - const TILEMAP_DECK_MACHINE_ROOM_CGB ; $07 - const TILEMAP_UNKNOWN_2 ; $08 - const TILEMAP_UNKNOWN_2_CGB ; $09 - const TILEMAP_ISHIHARA ; $0a - const TILEMAP_ISHIHARA_CGB ; $0b - const TILEMAP_FIGHTING_CLUB_ENTRANCE ; $0c - const TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB ; $0d - const TILEMAP_ROCK_CLUB_ENTRANCE ; $0e - const TILEMAP_ROCK_CLUB_ENTRANCE_CGB ; $0f - const TILEMAP_WATER_CLUB_ENTRANCE ; $10 - const TILEMAP_WATER_CLUB_ENTRANCE_CGB ; $11 - const TILEMAP_LIGHTNING_CLUB_ENTRANCE ; $12 - const TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB ; $13 - const TILEMAP_GRASS_CLUB_ENTRANCE ; $14 - const TILEMAP_GRASS_CLUB_ENTRANCE_CGB ; $15 - const TILEMAP_PSYCHIC_CLUB_ENTRANCE ; $16 - const TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB ; $17 - const TILEMAP_SCIENCE_CLUB_ENTRANCE ; $18 - const TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB ; $19 - const TILEMAP_FIRE_CLUB_ENTRANCE ; $1a - const TILEMAP_FIRE_CLUB_ENTRANCE_CGB ; $1b - const TILEMAP_CHALLENGE_HALL_ENTRANCE ; $1c - const TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB ; $1d - const TILEMAP_CLUB_LOBBY ; $1e - const TILEMAP_CLUB_LOBBY_CGB ; $1f - const TILEMAP_FIGHTING_CLUB ; $20 - const TILEMAP_FIGHTING_CLUB_CGB ; $21 - const TILEMAP_ROCK_CLUB ; $22 - const TILEMAP_ROCK_CLUB_CGB ; $23 - const TILEMAP_WATER_CLUB ; $24 - const TILEMAP_WATER_CLUB_CGB ; $25 - const TILEMAP_LIGHTNING_CLUB ; $26 - const TILEMAP_LIGHTNING_CLUB_CGB ; $27 - const TILEMAP_GRASS_CLUB ; $28 - const TILEMAP_GRASS_CLUB_CGB ; $29 - const TILEMAP_PSYCHIC_CLUB ; $2a - const TILEMAP_PSYCHIC_CLUB_CGB ; $2b - const TILEMAP_SCIENCE_CLUB ; $2c - const TILEMAP_SCIENCE_CLUB_CGB ; $2d - const TILEMAP_FIRE_CLUB ; $2e - const TILEMAP_FIRE_CLUB_CGB ; $2f - const TILEMAP_CHALLENGE_HALL ; $30 - const TILEMAP_CHALLENGE_HALL_CGB ; $31 - const TILEMAP_POKEMON_DOME_ENTRANCE ; $32 - const TILEMAP_POKEMON_DOME_ENTRANCE_CGB ; $33 - const TILEMAP_UNKNOWN_3 ; $34 - const TILEMAP_UNKNOWN_3_CGB ; $35 - const TILEMAP_POKEMON_DOME ; $36 - const TILEMAP_POKEMON_DOME_CGB ; $37 - const TILEMAP_UNKNOWN_4 ; $38 - const TILEMAP_UNKNOWN_4_CGB ; $39 - const TILEMAP_HALL_OF_HONOR ; $3a - const TILEMAP_HALL_OF_HONOR_CGB ; $3b - const TILEMAP_CARD_POP_CGB ; $3c - const TILEMAP_CARD_POP ; $3d - const TILEMAP_GRASS_MEDAL ; $3e - const TILEMAP_SCIENCE_MEDAL ; $3f - const TILEMAP_FIRE_MEDAL ; $40 - const TILEMAP_WATER_MEDAL ; $41 - const TILEMAP_LIGHTNING_MEDAL ; $42 - const TILEMAP_FIGHTING_MEDAL ; $43 - const TILEMAP_ROCK_MEDAL ; $44 - const TILEMAP_PSYCHIC_MEDAL ; $45 - const TILEMAP_GAMEBOY_LINK_CGB ; $46 - const TILEMAP_GAMEBOY_LINK ; $47 - const TILEMAP_GAMEBOY_LINK_CONNECTING_CGB ; $48 - const TILEMAP_GAMEBOY_LINK_CONNECTING ; $49 - const TILEMAP_GAMEBOY_PRINTER_CGB ; $4a - const TILEMAP_GAMEBOY_PRINTER ; $4b - const TILEMAP_COLOSSEUM ; $4c - const TILEMAP_COLOSSEUM_CGB ; $4d - const TILEMAP_EVOLUTION ; $4e - const TILEMAP_EVOLUTION_CGB ; $4f - const TILEMAP_MYSTERY ; $50 - const TILEMAP_MYSTERY_CGB ; $51 - const TILEMAP_LABORATORY ; $52 - const TILEMAP_LABORATORY_CGB ; $53 - const TILEMAP_CHARIZARD_INTRO ; $54 - const TILEMAP_CHARIZARD_INTRO_CGB ; $55 - const TILEMAP_SCYTHER_INTRO ; $56 - const TILEMAP_SCYTHER_INTRO_CGB ; $57 - const TILEMAP_AERODACTYL_INTRO ; $58 - const TILEMAP_AERODACTYL_INTRO_CGB ; $59 - const TILEMAP_JAPANESE_TITLE_SCREEN ; $5a - const TILEMAP_JAPANESE_TITLE_SCREEN_CGB ; $5b - const TILEMAP_SOLID_TILES_1 ; $5c - const TILEMAP_SOLID_TILES_2 ; $5d - const TILEMAP_SOLID_TILES_3 ; $5e - const TILEMAP_JAPANESE_TITLE_SCREEN_2 ; $5f - const TILEMAP_JAPANESE_TITLE_SCREEN_2_CGB ; $60 - const TILEMAP_SOLID_TILES_4 ; $61 - const TILEMAP_PLAYER ; $62 - const TILEMAP_OPPONENT ; $63 - const TILEMAP_TITLE_SCREEN ; $64 - const TILEMAP_TITLE_SCREEN_CGB ; $65 - const TILEMAP_COPYRIGHT ; $66 - const TILEMAP_COPYRIGHT_CGB ; $67 - const TILEMAP_NINTENDO ; $68 - const TILEMAP_COMPANIES ; $69 + const TILEMAP_OVERWORLD_MAP ; $00 + const TILEMAP_OVERWORLD_MAP_CGB ; $01 + const TILEMAP_MASON_LABORATORY ; $02 + const TILEMAP_MASON_LABORATORY_CGB ; $03 + const TILEMAP_CHALLENGE_MACHINE_MAP_EVENT ; $04 + const TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB ; $05 + const TILEMAP_DECK_MACHINE_ROOM ; $06 + const TILEMAP_DECK_MACHINE_ROOM_CGB ; $07 + const TILEMAP_DECK_MACHINE_MAP_EVENT ; $08 + const TILEMAP_DECK_MACHINE_MAP_EVENT_CGB ; $09 + const TILEMAP_ISHIHARA ; $0a + const TILEMAP_ISHIHARA_CGB ; $0b + const TILEMAP_FIGHTING_CLUB_ENTRANCE ; $0c + const TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB ; $0d + const TILEMAP_ROCK_CLUB_ENTRANCE ; $0e + const TILEMAP_ROCK_CLUB_ENTRANCE_CGB ; $0f + const TILEMAP_WATER_CLUB_ENTRANCE ; $10 + const TILEMAP_WATER_CLUB_ENTRANCE_CGB ; $11 + const TILEMAP_LIGHTNING_CLUB_ENTRANCE ; $12 + const TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB ; $13 + const TILEMAP_GRASS_CLUB_ENTRANCE ; $14 + const TILEMAP_GRASS_CLUB_ENTRANCE_CGB ; $15 + const TILEMAP_PSYCHIC_CLUB_ENTRANCE ; $16 + const TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB ; $17 + const TILEMAP_SCIENCE_CLUB_ENTRANCE ; $18 + const TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB ; $19 + const TILEMAP_FIRE_CLUB_ENTRANCE ; $1a + const TILEMAP_FIRE_CLUB_ENTRANCE_CGB ; $1b + const TILEMAP_CHALLENGE_HALL_ENTRANCE ; $1c + const TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB ; $1d + const TILEMAP_CLUB_LOBBY ; $1e + const TILEMAP_CLUB_LOBBY_CGB ; $1f + const TILEMAP_FIGHTING_CLUB ; $20 + const TILEMAP_FIGHTING_CLUB_CGB ; $21 + const TILEMAP_ROCK_CLUB ; $22 + const TILEMAP_ROCK_CLUB_CGB ; $23 + const TILEMAP_WATER_CLUB ; $24 + const TILEMAP_WATER_CLUB_CGB ; $25 + const TILEMAP_LIGHTNING_CLUB ; $26 + const TILEMAP_LIGHTNING_CLUB_CGB ; $27 + const TILEMAP_GRASS_CLUB ; $28 + const TILEMAP_GRASS_CLUB_CGB ; $29 + const TILEMAP_PSYCHIC_CLUB ; $2a + const TILEMAP_PSYCHIC_CLUB_CGB ; $2b + const TILEMAP_SCIENCE_CLUB ; $2c + const TILEMAP_SCIENCE_CLUB_CGB ; $2d + const TILEMAP_FIRE_CLUB ; $2e + const TILEMAP_FIRE_CLUB_CGB ; $2f + const TILEMAP_CHALLENGE_HALL ; $30 + const TILEMAP_CHALLENGE_HALL_CGB ; $31 + const TILEMAP_POKEMON_DOME_ENTRANCE ; $32 + const TILEMAP_POKEMON_DOME_ENTRANCE_CGB ; $33 + const TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT ; $34 + const TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT_CGB ; $35 + const TILEMAP_POKEMON_DOME ; $36 + const TILEMAP_POKEMON_DOME_CGB ; $37 + const TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT ; $38 + const TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT_CGB ; $39 + const TILEMAP_HALL_OF_HONOR ; $3a + const TILEMAP_HALL_OF_HONOR_CGB ; $3b + const TILEMAP_CARD_POP_CGB ; $3c + const TILEMAP_CARD_POP ; $3d + const TILEMAP_GRASS_MEDAL ; $3e + const TILEMAP_SCIENCE_MEDAL ; $3f + const TILEMAP_FIRE_MEDAL ; $40 + const TILEMAP_WATER_MEDAL ; $41 + const TILEMAP_LIGHTNING_MEDAL ; $42 + const TILEMAP_FIGHTING_MEDAL ; $43 + const TILEMAP_ROCK_MEDAL ; $44 + const TILEMAP_PSYCHIC_MEDAL ; $45 + const TILEMAP_GAMEBOY_LINK_CGB ; $46 + const TILEMAP_GAMEBOY_LINK ; $47 + const TILEMAP_GAMEBOY_LINK_CONNECTING_CGB ; $48 + const TILEMAP_GAMEBOY_LINK_CONNECTING ; $49 + const TILEMAP_GAMEBOY_PRINTER_CGB ; $4a + const TILEMAP_GAMEBOY_PRINTER ; $4b + const TILEMAP_COLOSSEUM ; $4c + const TILEMAP_COLOSSEUM_CGB ; $4d + const TILEMAP_EVOLUTION ; $4e + const TILEMAP_EVOLUTION_CGB ; $4f + const TILEMAP_MYSTERY ; $50 + const TILEMAP_MYSTERY_CGB ; $51 + const TILEMAP_LABORATORY ; $52 + const TILEMAP_LABORATORY_CGB ; $53 + const TILEMAP_CHARIZARD_INTRO ; $54 + const TILEMAP_CHARIZARD_INTRO_CGB ; $55 + const TILEMAP_SCYTHER_INTRO ; $56 + const TILEMAP_SCYTHER_INTRO_CGB ; $57 + const TILEMAP_AERODACTYL_INTRO ; $58 + const TILEMAP_AERODACTYL_INTRO_CGB ; $59 + const TILEMAP_JAPANESE_TITLE_SCREEN ; $5a + const TILEMAP_JAPANESE_TITLE_SCREEN_CGB ; $5b + const TILEMAP_SOLID_TILES_1 ; $5c + const TILEMAP_SOLID_TILES_2 ; $5d + const TILEMAP_SOLID_TILES_3 ; $5e + const TILEMAP_JAPANESE_TITLE_SCREEN_2 ; $5f + const TILEMAP_JAPANESE_TITLE_SCREEN_2_CGB ; $60 + const TILEMAP_SOLID_TILES_4 ; $61 + const TILEMAP_PLAYER ; $62 + const TILEMAP_OPPONENT ; $63 + const TILEMAP_TITLE_SCREEN ; $64 + const TILEMAP_TITLE_SCREEN_CGB ; $65 + const TILEMAP_COPYRIGHT ; $66 + const TILEMAP_COPYRIGHT_CGB ; $67 + const TILEMAP_NINTENDO ; $68 + const TILEMAP_COMPANIES ; $69 diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 84a499c..d2065ae 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -459,12 +459,12 @@ Func_c34e: ; c34e (3:434e) Func_c36a: ; c36a (3:436a) xor a - ld [wd323], a + ld [wOWMapEvents], a ld a, [wCurMap] cp POKEMON_DOME_ENTRANCE jr nz, .asm_c379 xor a - ld [wd323 + 1], a + ld [wOWMapEvents + 1], a .asm_c379 ret @@ -3453,7 +3453,7 @@ MasonLabLoadMap: ; d549 (3:5549) jp SetNextNPCAndScript MasonLabCloseTextBox: ; d55e (3:555e) - ld a, $0a + ld a, MAP_EVENT_CHALLENGE_MACHINE farcall Func_80b89 ret @@ -3945,13 +3945,13 @@ DeckMachineRoomAfterDuel: ; d89f (3:589f) db $00 DeckMachineRoomCloseTextBox: ; d8ad (3:58ad) - ld a, $02 + ld a, MAP_EVENT_FIGHTING_DECK_MACHINE .asm_d8af push af farcall Func_80b89 pop af inc a - cp $0a + cp MAP_EVENT_FIRE_DECK_MACHINE + 1 jr c, .asm_d8af ret @@ -4046,7 +4046,7 @@ Script_d93f: ; d93f (3:593f) .ows_d95a play_sfx SFX_5A max_out_event_value EVENT_FIGHTING_DECK_MACHINE_ACTIVE - replace_map_blocks $02 + replace_map_blocks MAP_EVENT_FIGHTING_DECK_MACHINE print_text Text060a .ows_d963 ask_question_jump_default_yes Text060b, .ows_d969 @@ -4099,7 +4099,7 @@ Script_d995: ; d995 (3:5995) .ows_d9b0 play_sfx SFX_5A max_out_event_value EVENT_ROCK_DECK_MACHINE_ACTIVE - replace_map_blocks $03 + replace_map_blocks MAP_EVENT_ROCK_DECK_MACHINE print_text Text060a .ows_d9b9 ask_question_jump_default_yes Text060b, .ows_d9bf @@ -4127,7 +4127,7 @@ Script_d9c2: ; d9c2 (3:59c2) .ows_d9dd play_sfx SFX_5A max_out_event_value EVENT_WATER_DECK_MACHINE_ACTIVE - replace_map_blocks $04 + replace_map_blocks MAP_EVENT_WATER_DECK_MACHINE print_text Text060a .ows_d9e6 ask_question_jump_default_yes Text060b, .ows_d9ec @@ -4155,7 +4155,7 @@ Script_d9ef: ; d9ef (3:59ef) .ows_da0a play_sfx SFX_5A max_out_event_value EVENT_LIGHTNING_DECK_MACHINE_ACTIVE - replace_map_blocks $05 + replace_map_blocks MAP_EVENT_LIGHTNING_DECK_MACHINE print_text Text060a .ows_da13 ask_question_jump_default_yes Text060b, .ows_da19 @@ -4183,7 +4183,7 @@ Script_da1c: ; da1c (3:5a1c) .ows_da37 play_sfx SFX_5A max_out_event_value EVENT_GRASS_DECK_MACHINE_ACTIVE - replace_map_blocks $06 + replace_map_blocks MAP_EVENT_GRASS_DECK_MACHINE print_text Text060a .ows_da40 ask_question_jump_default_yes Text060b, .ows_da46 @@ -4211,7 +4211,7 @@ Script_da49: ; da49 (3:5a49) .ows_da64 play_sfx SFX_5A max_out_event_value EVENT_PSYCHIC_DECK_MACHINE_ACTIVE - replace_map_blocks $07 + replace_map_blocks MAP_EVENT_PSYCHIC_DECK_MACHINE print_text Text060a .ows_da6d ask_question_jump_default_yes Text060b, .ows_da73 @@ -4239,7 +4239,7 @@ Script_da76: ; da76 (3:5a76) .ows_da91 play_sfx SFX_5A max_out_event_value EVENT_SCIENCE_DECK_MACHINE_ACTIVE - replace_map_blocks $08 + replace_map_blocks MAP_EVENT_SCIENCE_DECK_MACHINE print_text Text060a .ows_da9a ask_question_jump_default_yes Text060b, .ows_daa0 @@ -4267,7 +4267,7 @@ Script_daa3: ; daa3 (3:5aa3) .ows_dabe play_sfx SFX_5A max_out_event_value EVENT_FIRE_DECK_MACHINE_ACTIVE - replace_map_blocks $09 + replace_map_blocks MAP_EVENT_FIRE_DECK_MACHINE print_text Text060a .ows_dac7 ask_question_jump_default_yes Text060b, .ows_dacd @@ -8387,7 +8387,7 @@ PokemonDomeEntranceLoadMap: ; f607 (3:7607) ret PokemonDomeEntranceCloseTextBox: ; f62a (3:762a) - ld a, $00 + ld a, MAP_EVENT_POKEMON_DOME_DOOR farcall Func_80b89 ret @@ -8479,7 +8479,7 @@ Script_f6af: ; f6af (3:76af) .ows_f6b9 print_npc_text Text0559 play_sfx SFX_0F - replace_map_blocks $00 + replace_map_blocks MAP_EVENT_POKEMON_DOME_DOOR do_frames 30 move_player NORTH, 1 quit_script_fully @@ -8540,7 +8540,7 @@ PokemonDomeLoadMap: ; f706 (3:7706) jp SetNextScript PokemonDomeCloseTextBox: ; f718 (3:7718) - ld a, $01 + ld a, MAP_EVENT_HALL_OF_HONOR_DOOR farcall Func_80b89 ret @@ -9040,7 +9040,7 @@ Script_BeatRod: ; faae (3:7aae) move_active_npc NPCMovement_fb96 set_active_npc_direction SOUTH play_sfx SFX_0F - replace_map_blocks $01 + replace_map_blocks MAP_EVENT_HALL_OF_HONOR_DOOR set_event EVENT_POKEMON_DOME_STATE, POKEMON_DOME_DEFEATED max_out_event_value EVENT_HALL_OF_HONOR_DOORS_OPEN print_text_quit_fully Text05a4 @@ -9050,7 +9050,7 @@ Script_BeatRod: ; faae (3:7aae) override_song MUSIC_STOP set_event EVENT_RONALD_POKEMON_DOME_STATE, RONALD_CHALLENGED play_sfx SFX_0F - replace_map_blocks $01 + replace_map_blocks MAP_EVENT_HALL_OF_HONOR_DOOR move_active_npc NPCMovement_fbd2 set_default_song MUSIC_RONALD play_default_song diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index b1fb692..b780b36 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1194,7 +1194,7 @@ Func_11430: ; 11430 (4:5430) dw wNPCDuelist, 1, $ff00 ; sNPCDuelist dw wChallengeHallNPC, 1, $ff00 ; sChallengeHallNPC dw wd698, 4, $ff00 ; sb818 - dw wd323, 11, $ff00 ; sb81c + dw wOWMapEvents, 11, $ff00 ; sOWMapEvents dw Data_1156c, 1, $ff00 ; sb827 dw wd0b8, 1, $ff00 ; sb828 dw wd0b9, 1, $ff00 ; sb829 diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 018787e..85de56b 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -1710,7 +1710,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad) call Func_1d705 call Func_1c858 xor a - ld [wd323 + 1], a + ld [wOWMapEvents + 1], a ld a, MUSIC_CREDITS call PlaySong farcall Func_10031 diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index ad2ffd1..4b5aa1a 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -1160,12 +1160,12 @@ StoreOWFramesetSubgroup: ; 805c1 (20:45c1) INCLUDE "data/map_ow_framesets.asm" -; clears wd323 +; clears wOWMapEvents Func_80b7a: ; 80b7a (20:4b7a) push hl push bc ld c, $b - ld hl, wd323 + ld hl, wOWMapEvents xor a .loop ld [hli], a @@ -1176,6 +1176,7 @@ Func_80b7a: ; 80b7a (20:4b7a) ret ; 0x80b89 +; a = MAP_EVENT_* constant Func_80b89: ; 80b89 (20:4b89) push hl push bc @@ -1183,8 +1184,8 @@ Func_80b89: ; 80b89 (20:4b89) ld c, a ld a, TRUE ld [wWriteBGMapToSRAM], a - ld b, $00 - ld hl, wd323 + ld b, $0 + ld hl, wOWMapEvents add hl, bc ld a, [hl] or a @@ -1223,7 +1224,7 @@ Func_80baa: ; 80baa (20:4baa) push af ld b, $0 - ld hl, wd323 + ld hl, wOWMapEvents add hl, bc ld a, $1 ld [hl], a @@ -1232,7 +1233,7 @@ Func_80baa: ; 80baa (20:4baa) add a ld c, a ld b, $0 - ld hl, .unknown_80c21 + ld hl, .tilemap_pointers add hl, bc ld a, [hli] ld h, [hl] @@ -1281,41 +1282,42 @@ Func_80baa: ; 80baa (20:4baa) pop hl ret -.unknown_80c21 - dw .data_1 - dw .data_2 - dw .data_3 - dw .data_4 - dw .data_5 - dw .data_6 - dw .data_7 - dw .data_8 - dw .data_9 - dw .data_10 - dw .data_11 - -.data_1 - db $16, $00, TILEMAP_UNKNOWN_3, TILEMAP_UNKNOWN_3_CGB -.data_2 - db $0e, $00, TILEMAP_UNKNOWN_4, TILEMAP_UNKNOWN_4_CGB -.data_3 - db $06, $02, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_4 - db $0a, $02, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_5 - db $0e, $02, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_6 - db $12, $02, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_7 - db $0e, $0a, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_8 - db $12, $0a, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_9 - db $0e, $12, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_10 - db $12, $12, TILEMAP_UNKNOWN_2, TILEMAP_UNKNOWN_2_CGB -.data_11 - db $0a, $00, TILEMAP_UNKNOWN_1, TILEMAP_UNKNOWN_1_CGB +.tilemap_pointers + dw .PokemonDomeDoor ; MAP_EVENT_POKEMON_DOME_DOOR + dw .HallOfHonorDoor ; MAP_EVENT_HALL_OF_HONOR_DOOR + dw .FightingDeckMachine ; MAP_EVENT_FIGHTING_DECK_MACHINE + dw .RockDeckMachine ; MAP_EVENT_ROCK_DECK_MACHINE + dw .WaterDeckMachine ; MAP_EVENT_WATER_DECK_MACHINE + dw .LightningDeckMachine ; MAP_EVENT_LIGHTNING_DECK_MACHINE + dw .GrassDeckMachine ; MAP_EVENT_GRASS_DECK_MACHINE + dw .PsychicDeckMachine ; MAP_EVENT_PSYCHIC_DECK_MACHINE + dw .ScienceDeckMachine ; MAP_EVENT_SCIENCE_DECK_MACHINE + dw .FireDeckMachine ; MAP_EVENT_FIRE_DECK_MACHINE + dw .ChallengeMachine ; MAP_EVENT_CHALLENGE_MACHINE + +; x coordinate, y coordinate, non-cgb tilemap, cgb tilemap +.PokemonDomeDoor + db $16, $00, TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT, TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT_CGB +.HallOfHonorDoor + db $0e, $00, TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT, TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT_CGB +.FightingDeckMachine + db $06, $02, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.RockDeckMachine + db $0a, $02, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.WaterDeckMachine + db $0e, $02, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.LightningDeckMachine + db $12, $02, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.GrassDeckMachine + db $0e, $0a, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.PsychicDeckMachine + db $12, $0a, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.ScienceDeckMachine + db $0e, $12, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.FireDeckMachine + db $12, $12, TILEMAP_DECK_MACHINE_MAP_EVENT, TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +.ChallengeMachine + db $0a, $00, TILEMAP_CHALLENGE_MACHINE_MAP_EVENT, TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB ret ; unreferenced stray ret? @@ -1607,12 +1609,12 @@ Tilemaps: ; 80e67 (20:4e67) tilemap OverworldMapCGBTilemap, TILESET_OVERWORLD_MAP ; TILEMAP_OVERWORLD_MAP_CGB tilemap MasonLaboratoryTilemap, TILESET_MASON_LABORATORY ; TILEMAP_MASON_LABORATORY tilemap MasonLaboratoryCGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_MASON_LABORATORY_CGB - tilemap Unknown1Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNKNOWN_1 - tilemap Unknown1CGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNKNOWN_1_CGB + tilemap Unknown1Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT + tilemap Unknown1CGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB tilemap DeckMachineRoomTilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_ROOM tilemap DeckMachineRoomCGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_ROOM_CGB - tilemap Unknown2Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNKNOWN_2 - tilemap Unknown2CGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNKNOWN_2_CGB + tilemap Unknown2Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_MAP_EVENT + tilemap Unknown2CGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_MAP_EVENT_CGB tilemap IshiharaTilemap, TILESET_ISHIHARA ; TILEMAP_ISHIHARA tilemap IshiharaCGBTilemap, TILESET_ISHIHARA ; TILEMAP_ISHIHARA_CGB tilemap FightingClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_FIGHTING_CLUB_ENTRANCE @@ -1655,12 +1657,12 @@ Tilemaps: ; 80e67 (20:4e67) tilemap ChallengeHallCGBTilemap, TILESET_CHALLENGE_HALL ; TILEMAP_CHALLENGE_HALL_CGB tilemap PokemonDomeEntranceTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_ENTRANCE tilemap PokemonDomeEntranceCGBTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_ENTRANCE_CGB - tilemap Unknown3Tilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_UNKNOWN_3 - tilemap Unknown3CGBTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_UNKNOWN_3_CGB + tilemap Unknown3Tilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT + tilemap Unknown3CGBTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT_CGB tilemap PokemonDomeTilemap, TILESET_POKEMON_DOME ; TILEMAP_POKEMON_DOME tilemap PokemonDomeCGBTilemap, TILESET_POKEMON_DOME ; TILEMAP_POKEMON_DOME_CGB - tilemap Unknown4Tilemap, TILESET_POKEMON_DOME ; TILEMAP_UNKNOWN_4 - tilemap Unknown4CGBTilemap, TILESET_POKEMON_DOME ; TILEMAP_UNKNOWN_4_CGB + tilemap Unknown4Tilemap, TILESET_POKEMON_DOME ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT + tilemap Unknown4CGBTilemap, TILESET_POKEMON_DOME ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT_CGB tilemap HallOfHonorTilemap, TILESET_HALL_OF_HONOR ; TILEMAP_HALL_OF_HONOR tilemap HallOfHonorCGBTilemap, TILESET_HALL_OF_HONOR ; TILEMAP_HALL_OF_HONOR_CGB tilemap CardPopCGBTilemap, TILESET_CARD_POP ; TILEMAP_CARD_POP_CGB diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm index bd500a2..10336ef 100644 --- a/src/macros/scripts.asm +++ b/src/macros/scripts.asm @@ -461,6 +461,7 @@ ENDM ; Replaces map blocks ; used for deck machines, challenge machine, Pokemon Dome doors, Hall of Honor doors etc +; accepts as argument any of MAP_EVENT_* constants replace_map_blocks: MACRO run_command ScriptCommand_ReplaceMapBlocks db \1 ; id diff --git a/src/sram.asm b/src/sram.asm index f2ffbf2..dfcf9c9 100644 --- a/src/sram.asm +++ b/src/sram.asm @@ -122,8 +122,8 @@ sChallengeHallNPC:: ; b817 sb818:: ; b818 ds $4 -sb81c:: ; b81c - ds $b +sOWMapEvents:: ; b81c + ds NUM_MAP_EVENTS sb827:: ; b827 ds $1 diff --git a/src/wram.asm b/src/wram.asm index 7ad068b..9a6dffb 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -28,7 +28,7 @@ NEXTU ; before $ef is initialized to 0 when starting decompression. wDecompressionSecondaryBuffer:: ; c000 ds $ef -wDecompressionSecondaryBufferStart:: ; ; c0ef +wDecompressionSecondaryBufferStart:: ; c0ef ds $11 ENDU @@ -2246,8 +2246,12 @@ wCurOWFrameDuration:: ; d321 wNumLoadedFramesetSubgroups:: ; d322 ds $1 -wd323:: ; d323 - ds $b +; holds the current state of each event +; each corresponding to a MAP_EVENT_* constant +; if $0, doors are closed / deck machines are deactivated +; if $1, doors are open / deck machines are activated +wOWMapEvents:: ; d323 + ds NUM_MAP_EVENTS ; the OWMAP_* value for the current overworld map selection wOverworldMapSelection:: ; d32e |