From 4ff8bf526bd4cb7b2568ede018df342c14b13346 Mon Sep 17 00:00:00 2001 From: "Brandon M. M. Green" Date: Thu, 9 Jul 2026 14:05:32 +0000 Subject: [PATCH] Phase 16: Reconcile tileset files (bike_riding, bookshelf, collision, cut_tree, door, dungeon, escape_rope, ledge, pair_collision, spinner, tileset_headers, warp_carpet, warp_pad_hole, water) --- .../bike_riding_tilesets_reconcile.asm | 7 ++ .../tilesets/bookshelf_tile_ids_reconcile.asm | 20 +++ .../tilesets/collision_tile_ids_reconcile.asm | 62 +++++++++ .../tilesets/cut_tree_blocks_reconcile.asm | 13 ++ wla/data/tilesets/door_tile_ids_reconcile.asm | 49 ++++++++ .../tilesets/dungeon_tilesets_reconcile.asm | 13 ++ .../escape_rope_tilesets_reconcile.asm | 7 ++ wla/data/tilesets/ledge_tiles_reconcile.asm | 11 ++ .../pair_collision_tile_ids_reconcile.asm | 23 ++++ wla/data/tilesets/spinner_tiles_reconcile.asm | 70 +++++++++++ .../tilesets/tileset_headers_reconcile.asm | 119 ++++++++++++++++++ .../warp_carpet_tile_ids_reconcile.asm | 7 ++ .../warp_pad_hole_tile_ids_reconcile.asm | 7 ++ .../tilesets/water_tilesets_reconcile.asm | 12 ++ 14 files changed, 420 insertions(+) create mode 100644 wla/data/tilesets/bike_riding_tilesets_reconcile.asm create mode 100644 wla/data/tilesets/bookshelf_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/collision_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/cut_tree_blocks_reconcile.asm create mode 100644 wla/data/tilesets/door_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/dungeon_tilesets_reconcile.asm create mode 100644 wla/data/tilesets/escape_rope_tilesets_reconcile.asm create mode 100644 wla/data/tilesets/ledge_tiles_reconcile.asm create mode 100644 wla/data/tilesets/pair_collision_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/spinner_tiles_reconcile.asm create mode 100644 wla/data/tilesets/tileset_headers_reconcile.asm create mode 100644 wla/data/tilesets/warp_carpet_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/warp_pad_hole_tile_ids_reconcile.asm create mode 100644 wla/data/tilesets/water_tilesets_reconcile.asm diff --git a/wla/data/tilesets/bike_riding_tilesets_reconcile.asm b/wla/data/tilesets/bike_riding_tilesets_reconcile.asm new file mode 100644 index 000000000..aedd88150 --- /dev/null +++ b/wla/data/tilesets/bike_riding_tilesets_reconcile.asm @@ -0,0 +1,7 @@ +BikeRidingTilesets:: +.DB OVERWORLD +.DB FOREST +.DB UNDERGROUND +.DB SHIP_PORT +.DB CAVERN +.DB -1 diff --git a/wla/data/tilesets/bookshelf_tile_ids_reconcile.asm b/wla/data/tilesets/bookshelf_tile_ids_reconcile.asm new file mode 100644 index 000000000..921743274 --- /dev/null +++ b/wla/data/tilesets/bookshelf_tile_ids_reconcile.asm @@ -0,0 +1,20 @@ +BookshelfTileIDs:: +; tileset id, bookshelf tile id, text id +.DB PLATEAU, $30, IndigoPlateauStatues +.DB HOUSE, $3D, TownMapText +.DB HOUSE, $1E, BookOrSculptureText +.DB MANSION, $32, BookOrSculptureText +.DB REDS_HOUSE_1, $32, BookOrSculptureText +.DB LAB, $28, BookOrSculptureText +.DB LOBBY, $16, ElevatorText +.DB GYM, $1D, BookOrSculptureText +.DB DOJO, $1D, BookOrSculptureText +.DB GATE, $22, BookOrSculptureText +.DB MART, $54, PokemonStuffText +.DB MART, $55, PokemonStuffText +.DB POKECENTER, $54, PokemonStuffText +.DB POKECENTER, $55, PokemonStuffText +.DB LOBBY, $50, PokemonStuffText +.DB LOBBY, $52, PokemonStuffText +.DB SHIP, $36, BookOrSculptureText +.DB -1 diff --git a/wla/data/tilesets/collision_tile_ids_reconcile.asm b/wla/data/tilesets/collision_tile_ids_reconcile.asm new file mode 100644 index 000000000..2b70000ef --- /dev/null +++ b/wla/data/tilesets/collision_tile_ids_reconcile.asm @@ -0,0 +1,62 @@ +Underground_Coll:: +.DB $0b, $0c, $13, $15, $18 + +Overworld_Coll:: + +RedsHouse1_Coll:: +RedsHouse2_Coll:: +.DB $01, $02, $03, $11, $12, $13, $14, $1c, $1a + +Mart_Coll:: +Pokecenter_Coll:: +.DB $11, $1a, $1c, $3c, $5e + +Dojo_Coll:: +Gym_Coll:: +.DB $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 + +Forest_Coll:: +.DB $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f + +House_Coll:: +.DB $01, $12, $14, $28, $32, $37, $44, $54, $5c + +ForestGate_Coll:: +Museum_Coll:: +Gate_Coll:: +.DB $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e + +Ship_Coll:: +.DB $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a + +ShipPort_Coll:: +.DB $0a, $1a, $32, $3b + +Cemetery_Coll:: +.DB $01, $10, $13, $1b, $22, $42, $52 + +Interior_Coll:: +.DB $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 + +Cavern_Coll:: +.DB $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 + +; unused + +Lobby_Coll:: +.DB $14, $17, $1a, $1c, $20, $38, $45 + +Mansion_Coll:: +.DB $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 + +Lab_Coll:: +.DB $0c, $26, $16, $1e, $34, $37 + +Club_Coll:: +.DB $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 + +Facility_Coll:: +.DB $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e + +Plateau_Coll:: +.DB $1b, $23, $2c, $2d, $3b, $45 diff --git a/wla/data/tilesets/cut_tree_blocks_reconcile.asm b/wla/data/tilesets/cut_tree_blocks_reconcile.asm new file mode 100644 index 000000000..d7fe11e7c --- /dev/null +++ b/wla/data/tilesets/cut_tree_blocks_reconcile.asm @@ -0,0 +1,13 @@ +CutTreeBlockSwaps: +; first byte = tileset block containing the cut tree +; second byte = corresponding tileset block after the cut animation happens +.DB $32, $6D +.DB $33, $6C +.DB $34, $6F +.DB $35, $4C +.DB $60, $6E +.DB $0B, $0A +.DB $3C, $35 +.DB $3F, $35 +.DB $3D, $36 +.DB -1 diff --git a/wla/data/tilesets/door_tile_ids_reconcile.asm b/wla/data/tilesets/door_tile_ids_reconcile.asm new file mode 100644 index 000000000..a34a0fede --- /dev/null +++ b/wla/data/tilesets/door_tile_ids_reconcile.asm @@ -0,0 +1,49 @@ +; Format: bank label, pointer target — DW pairs of (bank, offset) +DoorTileIDPointers:: +.DW OVERWORLD, .OverworldDoorTileIDs +.DW FOREST, .ForestDoorTileIDs +.DW MART, .MartDoorTileIDs +.DW HOUSE, .HouseDoorTileIDs +.DW FOREST_GATE, .TilesetMuseumDoorTileIDs +.DW MUSEUM, .TilesetMuseumDoorTileIDs +.DW GATE, .TilesetMuseumDoorTileIDs +.DW SHIP, .ShipDoorTileIDs +.DW LOBBY, .LobbyDoorTileIDs +.DW MANSION, .MansionDoorTileIDs +.DW LAB, .LabDoorTileIDs +.DW FACILITY, .FacilityDoorTileIDs +.DW PLATEAU, .PlateauDoorTileIDs +.DB 0 ; end + +.OverworldDoorTileIDs: +.DB $1B, $58 + +.ForestDoorTileIDs: +.DB $3a + +.MartDoorTileIDs: +.DB $5e + +.HouseDoorTileIDs: +.DB $54 + +.TilesetMuseumDoorTileIDs: +.DB $3b + +.ShipDoorTileIDs: +.DB $1e + +.LobbyDoorTileIDs: +.DB $1c, $38, $1a + +.MansionDoorTileIDs: +.DB $1a, $1c, $53 + +.LabDoorTileIDs: +.DB $34 + +.FacilityDoorTileIDs: +.DB $43, $58, $1b + +.PlateauDoorTileIDs: +.DB $3b, $1b diff --git a/wla/data/tilesets/dungeon_tilesets_reconcile.asm b/wla/data/tilesets/dungeon_tilesets_reconcile.asm new file mode 100644 index 000000000..9e545a2ab --- /dev/null +++ b/wla/data/tilesets/dungeon_tilesets_reconcile.asm @@ -0,0 +1,13 @@ +DungeonTilesets: +.DB FOREST +.DB MUSEUM +.DB SHIP +.DB CAVERN +.DB LOBBY +.DB MANSION +.DB GATE +.DB LAB +.DB FACILITY +.DB CEMETERY +.DB GYM +.DB -1 diff --git a/wla/data/tilesets/escape_rope_tilesets_reconcile.asm b/wla/data/tilesets/escape_rope_tilesets_reconcile.asm new file mode 100644 index 000000000..f7b64e693 --- /dev/null +++ b/wla/data/tilesets/escape_rope_tilesets_reconcile.asm @@ -0,0 +1,7 @@ +EscapeRopeTilesets:: +.DB FOREST +.DB CEMETERY +.DB CAVERN +.DB FACILITY +.DB INTERIOR +.DB -1 diff --git a/wla/data/tilesets/ledge_tiles_reconcile.asm b/wla/data/tilesets/ledge_tiles_reconcile.asm new file mode 100644 index 000000000..12440d9d8 --- /dev/null +++ b/wla/data/tilesets/ledge_tiles_reconcile.asm @@ -0,0 +1,11 @@ +LedgeTiles:: +; player direction, tile player standing on, ledge tile, input required +.DB SPRITE_FACING_DOWN, $2C, $37, PAD_DOWN +.DB SPRITE_FACING_DOWN, $39, $36, PAD_DOWN +.DB SPRITE_FACING_DOWN, $39, $37, PAD_DOWN +.DB SPRITE_FACING_LEFT, $2C, $27, PAD_LEFT +.DB SPRITE_FACING_LEFT, $39, $27, PAD_LEFT +.DB SPRITE_FACING_RIGHT, $2C, $0D, PAD_RIGHT +.DB SPRITE_FACING_RIGHT, $2C, $1D, PAD_RIGHT +.DB SPRITE_FACING_RIGHT, $39, $0D, PAD_RIGHT +.DB -1 diff --git a/wla/data/tilesets/pair_collision_tile_ids_reconcile.asm b/wla/data/tilesets/pair_collision_tile_ids_reconcile.asm new file mode 100644 index 000000000..fd8c782c7 --- /dev/null +++ b/wla/data/tilesets/pair_collision_tile_ids_reconcile.asm @@ -0,0 +1,23 @@ +TilePairCollisionsLand: +; FORMAT: tileset number, tile 1, tile 2 +; terminated by -1 +; these entries indicate that the player may not cross between tile 1 and tile 2 +; it's mainly used to simulate differences in elevation +.DB CAVERN, $20, $05 +.DB CAVERN, $41, $05 +.DB FOREST, $30, $2E +.DB CAVERN, $2A, $05 +.DB CAVERN, $05, $21 +.DB FOREST, $52, $2E +.DB FOREST, $55, $2E +.DB FOREST, $56, $2E +.DB FOREST, $20, $2E +.DB FOREST, $5E, $2E +.DB FOREST, $5F, $2E +.DB -1 + +TilePairCollisionsWater: +.DB FOREST, $14, $2E +.DB FOREST, $48, $2E +.DB CAVERN, $14, $05 +.DB -1 diff --git a/wla/data/tilesets/spinner_tiles_reconcile.asm b/wla/data/tilesets/spinner_tiles_reconcile.asm new file mode 100644 index 000000000..fc4083395 --- /dev/null +++ b/wla/data/tilesets/spinner_tiles_reconcile.asm @@ -0,0 +1,70 @@ +; Format: source, offset, dest — DW pairs of (tile pointer, size) +FacilitySpinnerArrows:: +.DW SpinnerArrowAnimTiles tile 0 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $20 +.DW SpinnerArrowAnimTiles tile 1 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $21 +.DW SpinnerArrowAnimTiles tile 2 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $30 +.DW SpinnerArrowAnimTiles tile 3 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $31 +; Facility_GFX arrows +.DW Facility_GFX tile 0 +.DB 1 +.DB BANK(Facility_GFX) +.DW vTileset tile $20 +.DW Facility_GFX tile 1 +.DB 1 +.DB BANK(Facility_GFX) +.DW vTileset tile $21 +.DW Facility_GFX tile 2 +.DB 1 +.DB BANK(Facility_GFX) +.DW vTileset tile $30 +.DW Facility_GFX tile 3 +.DB 1 +.DB BANK(Facility_GFX) +.DW vTileset tile $31 + +GymSpinnerArrows:: +.DW SpinnerArrowAnimTiles tile 1 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $3c +.DW SpinnerArrowAnimTiles tile 3 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $3d +.DW SpinnerArrowAnimTiles tile 0 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $4c +.DW SpinnerArrowAnimTiles tile 2 +.DB 1 +.DB BANK(SpinnerArrowAnimTiles) +.DW vTileset tile $4d +; Gym_GFX arrows +.DW Gym_GFX tile 0 +.DB 1 +.DB BANK(Gym_GFX) +.DW vTileset tile $3c +.DW Gym_GFX tile 1 +.DB 1 +.DB BANK(Gym_GFX) +.DW vTileset tile $3d +.DW Gym_GFX tile 2 +.DB 1 +.DB BANK(Gym_GFX) +.DW vTileset tile $4c +.DW Gym_GFX tile 3 +.DB 1 +.DB BANK(Gym_GFX) +.DW vTileset tile $4d diff --git a/wla/data/tilesets/tileset_headers_reconcile.asm b/wla/data/tilesets/tileset_headers_reconcile.asm new file mode 100644 index 000000000..aee1027b0 --- /dev/null +++ b/wla/data/tilesets/tileset_headers_reconcile.asm @@ -0,0 +1,119 @@ +Tilesets:: +; name, 3 counter tiles, grass tile, animations +table_width 12 +.DB BANK(Overworld_GFX) +.DW Overworld_Block, Overworld_GFX, Overworld_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER_FLOWER +.DB BANK(RedsHouse1_GFX) +.DW Redshouse1_Block, Redshouse1_GFX, Redshouse1_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Mart_GFX) +.DW Mart_Block, Mart_GFX, Mart_Coll +.DB $18,$19,$1E, -1, TILEANIM_NONE +.DB BANK(Forest_GFX) +.DW Forest_Block, Forest_GFX, Forest_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER +.DB BANK(RedsHouse2_GFX) +.DW Redshouse2_Block, Redshouse2_GFX, Redshouse2_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Dojo_GFX) +.DW Dojo_Block, Dojo_GFX, Dojo_Coll +.DB $3A, -1, -1 +.DB -1 +.DB TILEANIM_WATER_FLOWER +.DB BANK(Pokecenter_GFX) +.DW Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll +.DB $18,$19,$1E, -1, TILEANIM_NONE +.DB BANK(Gym_GFX) +.DW Gym_Block, Gym_GFX, Gym_Coll +.DB $3A, -1, -1 +.DB -1 +.DB TILEANIM_WATER_FLOWER +.DB BANK(House_GFX) +.DW House_Block, House_GFX, House_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(ForestGate_GFX) +.DW Forestgate_Block, Forestgate_GFX, Forestgate_Coll +.DB $17,$32, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Museum_GFX) +.DW Museum_Block, Museum_GFX, Museum_Coll +.DB $17,$32, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Underground_GFX) +.DW Underground_Block, Underground_GFX, Underground_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Gate_GFX) +.DW Gate_Block, Gate_GFX, Gate_Coll +.DB $17,$32, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Ship_GFX) +.DW Ship_Block, Ship_GFX, Ship_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER +.DB BANK(ShipPort_GFX) +.DW Shipport_Block, Shipport_GFX, Shipport_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER +.DB BANK(Cemetery_GFX) +.DW Cemetery_Block, Cemetery_GFX, Cemetery_Coll +.DB $12, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Interior_GFX) +.DW Interior_Block, Interior_GFX, Interior_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Cavern_GFX) +.DW Cavern_Block, Cavern_GFX, Cavern_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER +.DB BANK(Lobby_GFX) +.DW Lobby_Block, Lobby_GFX, Lobby_Coll +.DB $15,$36, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Mansion_GFX) +.DW Mansion_Block, Mansion_GFX, Mansion_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Lab_GFX) +.DW Lab_Block, Lab_GFX, Lab_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Club_GFX) +.DW Club_Block, Club_GFX, Club_Coll +.DB $07,$17, -1 +.DB -1 +.DB TILEANIM_NONE +.DB BANK(Facility_GFX) +.DW Facility_Block, Facility_GFX, Facility_Coll +.DB $12, -1, -1 +.DB -1 +.DB TILEANIM_WATER +.DB BANK(Plateau_GFX) +.DW Plateau_Block, Plateau_GFX, Plateau_Coll +.DB -1, -1, -1 +.DB -1 +.DB TILEANIM_WATER diff --git a/wla/data/tilesets/warp_carpet_tile_ids_reconcile.asm b/wla/data/tilesets/warp_carpet_tile_ids_reconcile.asm new file mode 100644 index 000000000..ff8434110 --- /dev/null +++ b/wla/data/tilesets/warp_carpet_tile_ids_reconcile.asm @@ -0,0 +1,7 @@ +WarpTileListPointers:: +; tileset id, tile id, value for [wStandingOnWarpPadOrHole] +.DB FACILITY, $20, 1 ; warp pad +.DB FACILITY, $11, 2 ; hole +.DB CAVERN, $22, 2 ; hole +.DB INTERIOR, $55, 1 ; warp pad +.DB -1 diff --git a/wla/data/tilesets/warp_pad_hole_tile_ids_reconcile.asm b/wla/data/tilesets/warp_pad_hole_tile_ids_reconcile.asm new file mode 100644 index 000000000..2c0912412 --- /dev/null +++ b/wla/data/tilesets/warp_pad_hole_tile_ids_reconcile.asm @@ -0,0 +1,7 @@ +WarpPadAndHoleData: +; tileset id, tile id, value for [wStandingOnWarpPadOrHole] +.DB FACILITY, $20, 1 ; warp pad +.DB FACILITY, $11, 2 ; hole +.DB CAVERN, $22, 2 ; hole +.DB INTERIOR, $55, 1 ; warp pad +.DB -1 diff --git a/wla/data/tilesets/water_tilesets_reconcile.asm b/wla/data/tilesets/water_tilesets_reconcile.asm new file mode 100644 index 000000000..c696401e9 --- /dev/null +++ b/wla/data/tilesets/water_tilesets_reconcile.asm @@ -0,0 +1,12 @@ +WaterTilesets:: +; tilesets with water +.DB OVERWORLD +.DB FOREST +.DB DOJO +.DB GYM +.DB SHIP +.DB SHIP_PORT +.DB CAVERN +.DB FACILITY +.DB PLATEAU +.DB -1