Some bank3 documentation

This commit is contained in:
luckytyphlosion 2015-10-04 15:17:30 -04:00
parent 79aa0bfbc6
commit 3db446ca4f
9 changed files with 658 additions and 166 deletions

View File

@ -1,2 +1,2 @@
DungeonTilesets: ; c7b2 (3:47b2)
DungeonTilesets: ; c54c (3:454c)
db FOREST, MUSEUM, SHIP, CAVERN, LOBBY, MANSION, GATE, LAB, FACILITY, CEMETERY, GYM, $FF

View File

@ -4,7 +4,7 @@
; Table of 2-Byte pointers, one pointer per map,
; goes up to Map_F7, ends with $FFFF.
; points to table listing all missable object in the area
MapHSPointers: ; c8f5 (3:48f5)
MapHSPointers: ; c69b (3:469b)
dw MapHS00
dw MapHS01
dw MapHS02
@ -68,7 +68,7 @@ MapHSPointers: ; c8f5 (3:48f5)
dw MapHSXX
dw MapHS3D
dw MapHSXX
dw MapHSXX
dw MapHS3F
dw MapHSXX
dw MapHSXX
dw MapHSXX
@ -253,6 +253,7 @@ MapHSPointers: ; c8f5 (3:48f5)
dw MapHSXX
dw MapHSXX
dw MapHSXX
dw MapHSXX ; beach house
dw $FFFF
; Structure:
@ -269,23 +270,24 @@ MapHSPointers: ; c8f5 (3:48f5)
Hide equ $11
Show equ $15
MapHSXX: ; cae7 (3:4ae7)
MapHSXX: ; c88f (3:488f)
db $FF,$FF,$FF
MapHS00: ; caea (3:4aea)
MapHS00: ; c892 (3:4892)
db PALLET_TOWN,$01,Hide
MapHS01: ; caed (3:4aed)
MapHS01: ; c895 (3:4895)
db VIRIDIAN_CITY,$05,Show
db VIRIDIAN_CITY,$07,Hide
MapHS02: ; caf3 (3:4af3)
db VIRIDIAN_CITY,$08,Hide
MapHS02: ; c89e (3:489e)
db PEWTER_CITY,$03,Show
db PEWTER_CITY,$05,Show
MapHS03: ; caf9 (3:4af9)
MapHS03: ; c8a4 (3:48a4)
db CERULEAN_CITY,$01,Hide
db CERULEAN_CITY,$02,Show
db CERULEAN_CITY,$06,Hide
db CERULEAN_CITY,$0A,Show
db CERULEAN_CITY,$0B,Show
MapHS0A: ; cb08 (3:4b08)
MapHS0A: ; c8b3 (3:48b3)
db SAFFRON_CITY,$01,Show
db SAFFRON_CITY,$02,Show
db SAFFRON_CITY,$03,Show
@ -301,86 +303,86 @@ MapHS0A: ; cb08 (3:4b08)
db SAFFRON_CITY,$0D,Hide
db SAFFRON_CITY,$0E,Show
db SAFFRON_CITY,$0F,Hide
MapHS0D: ; cb35 (3:4b35)
MapHS0D: ; c8e0 (3:48e0)
db ROUTE_2,$01,Show
db ROUTE_2,$02,Show
MapHS0F: ; cb3b (3:4b3b)
MapHS0F: ; c8e6 (3:48e6)
db ROUTE_4,$03,Show
MapHS14: ; cb3e (3:4b3e)
MapHS14: ; c8e9 (3:48e9)
db ROUTE_9,$0A,Show
MapHS17: ; cb41 (3:4b41)
MapHS17: ; c8ec (3:48ec)
db ROUTE_12,$01,Show
db ROUTE_12,$09,Show
db ROUTE_12,$0A,Show
MapHS1A: ; cb4a (3:4b4a)
MapHS1A: ; c8f5 (3:48f5)
db ROUTE_15,$0B,Show
MapHS1B: ; cb4d (3:4b4d)
MapHS1B: ; c8f8 (3:48f8)
db ROUTE_16,$07,Show
MapHS21: ; cb50 (3:4b50)
MapHS21: ; c8fb (3:48fb)
db ROUTE_22,$01,Hide
db ROUTE_22,$02,Hide
MapHS23: ; cb56 (3:4b56)
MapHS23: ; c901 (3:4901)
db ROUTE_24,$01,Show
db ROUTE_24,$08,Show
MapHS24: ; cb5c (3:4b5c)
MapHS24: ; c907 (3:4907)
db ROUTE_25,$0A,Show
MapHS27: ; cb5f (3:4b5f)
MapHS27: ; c90a (3:490a)
db BLUES_HOUSE,$01,Show
db BLUES_HOUSE,$02,Hide
db BLUES_HOUSE,$03,Show
MapHS28: ; cb68 (3:4b68)
MapHS28: ; c913 (3:4913)
db OAKS_LAB,$01,Show
db OAKS_LAB,$02,Show
db OAKS_LAB,$03,Show
db OAKS_LAB,$03,Hide
db OAKS_LAB,$04,Show
db OAKS_LAB,$05,Hide
db OAKS_LAB,$06,Show
db OAKS_LAB,$07,Show
db OAKS_LAB,$08,Hide
MapHS2D: ; cb80 (3:4b80)
db OAKS_LAB,$05,Show
db OAKS_LAB,$06,Hide
MapHS2D: ; c925 (3:4925)
db VIRIDIAN_GYM,$01,Show
db VIRIDIAN_GYM,$0B,Show
MapHS34: ; cb86 (3:4b86)
MapHS34: ; c92b (3:492b)
db MUSEUM_1F,$05,Show
MapHSE4: ; cb89 (3:4b89)
MapHS3F: ; c92e (3:492e) ; bulbasaur adoption house
db CERULEAN_HOUSE,$02,Show
MapHSE4: ; c931 (3:4931)
db UNKNOWN_DUNGEON_1,$01,Show
db UNKNOWN_DUNGEON_1,$02,Show
db UNKNOWN_DUNGEON_1,$03,Show
MapHS8F: ; cb92 (3:4b92)
db UNKNOWN_DUNGEON_1,$04,Show
MapHS8F: ; c93d (3:493d)
db POKEMONTOWER_2,$01,Show
MapHS90: ; cb95 (3:4b95)
MapHS90: ; c940 (3:4940)
db POKEMONTOWER_3,$04,Show
MapHS91: ; cb98 (3:4b98)
MapHS91: ; c943 (3:4943)
db POKEMONTOWER_4,$04,Show
db POKEMONTOWER_4,$05,Show
db POKEMONTOWER_4,$06,Show
MapHS92: ; cba1 (3:4ba1)
MapHS92: ; c94c (3:494c)
db POKEMONTOWER_5,$06,Show
MapHS93: ; cba4 (3:4ba4)
MapHS93: ; c94f (3:494f)
db POKEMONTOWER_6,$04,Show
db POKEMONTOWER_6,$05,Show
MapHS94: ; cbaa (3:4baa)
db POKEMONTOWER_7,$01,Show
db POKEMONTOWER_7,$02,Show
MapHS94: ; c955 (3:4955)
db POKEMONTOWER_7,$01,Hide ; jessie & james?
db POKEMONTOWER_7,$02,Hide
db POKEMONTOWER_7,$03,Show
db POKEMONTOWER_7,$04,Show
MapHS95: ; cbb6 (3:4bb6)
MapHS95: ; c95e (3:495e)
db LAVENDER_HOUSE_1,$05,Hide
MapHS84: ; cbb9 (3:4bb9)
MapHS84: ; c961 (3:4961)
db CELADON_MANSION_5,$02,Show
MapHS87: ; cbbc (3:4bbc)
MapHS87: ; c964 (3:4964)
db GAME_CORNER,$0B,Show
MapHS9B: ; cbbf (3:4bbf)
MapHS9B: ; c967 (3:4967)
db FUCHSIA_HOUSE_2,$02,Show
MapHSA5: ; cbc2 (3:4bc2)
MapHSA5: ; c96a (3:496a)
db MANSION_1,$02,Show
db MANSION_1,$03,Show
MapHSB1: ; cbc8 (3:4bc8)
MapHSB1: ; c970 (3:4970)
db FIGHTING_DOJO,$06,Show
db FIGHTING_DOJO,$07,Show
MapHSB5: ; cbce (3:4bce)
MapHSB5: ; c976 (3:4976)
db SILPH_CO_1F,$01,Hide
MapHS53: ; cbd1 (3:4bd1)
MapHS53: ; c979 (3:4979)
db POWER_PLANT,$01,Show
db POWER_PLANT,$02,Show
db POWER_PLANT,$03,Show
@ -395,84 +397,88 @@ MapHS53: ; cbd1 (3:4bd1)
db POWER_PLANT,$0C,Show
db POWER_PLANT,$0D,Show
db POWER_PLANT,$0E,Show
MapHSC2: ; cbfb (3:4bfb)
MapHSC2: ; c9a3 (3:49a3)
db VICTORY_ROAD_2,$06,Show
db VICTORY_ROAD_2,$07,Show
db VICTORY_ROAD_2,$08,Show
db VICTORY_ROAD_2,$09,Show
db VICTORY_ROAD_2,$0A,Show
db VICTORY_ROAD_2,$0D,Show
MapHS58: ; cc0d (3:4c0d)
MapHS58: ; c9b5 (3:49b5)
db BILLS_HOUSE,$01,Show
db BILLS_HOUSE,$02,Hide
db BILLS_HOUSE,$03,Hide
MapHS33: ; cc16 (3:4c16)
db VIRIDIAN_FOREST,$05,Show
db VIRIDIAN_FOREST,$06,Show
MapHS33: ; c9be (3:49be)
db VIRIDIAN_FOREST,$07,Show
MapHS3B: ; cc1f (3:4c1f)
db VIRIDIAN_FOREST,$08,Show
db VIRIDIAN_FOREST,$09,Show
MapHS3B: ; c9c7 (3:49c7)
db MT_MOON_1,$08,Show
db MT_MOON_1,$09,Show
db MT_MOON_1,$0A,Show
db MT_MOON_1,$0B,Show
db MT_MOON_1,$0C,Show
db MT_MOON_1,$0D,Show
MapHS3D: ; cc31 (3:4c31)
db MT_MOON_3,$06,Show
MapHS3D: ; c9d9 (3:49d9)
db MT_MOON_3,$02,Hide
db MT_MOON_3,$06,Hide
db MT_MOON_3,$07,Show
db MT_MOON_3,$08,Show
db MT_MOON_3,$09,Show
MapHS60: ; cc3d (3:4c3d)
db MT_MOON_3,$0A,Show
MapHS60: ; c9eb (3:49eb)
db SS_ANNE_2,$02,Hide
MapHS66: ; cc40 (3:4c40)
MapHS66: ; c9ee (3:49ee)
db SS_ANNE_8,$0A,Show
MapHS67: ; cc43 (3:4c43)
MapHS67: ; c9f1 (3:49f1)
db SS_ANNE_9,$06,Show
db SS_ANNE_9,$09,Show
MapHS68: ; cc49 (3:4c49)
MapHS68: ; c9f7 (3:49f7)
db SS_ANNE_10,$09,Show
db SS_ANNE_10,$0A,Show
db SS_ANNE_10,$0B,Show
MapHSC6: ; cc52 (3:4c52)
MapHSC6: ; ca00 (3:4a00)
db VICTORY_ROAD_3,$05,Show
db VICTORY_ROAD_3,$06,Show
db VICTORY_ROAD_3,$0A,Show
MapHSC7: ; cc5b (3:4c5b)
MapHSC7: ; ca09 (3:4a09)
db ROCKET_HIDEOUT_1,$06,Show
db ROCKET_HIDEOUT_1,$07,Show
MapHSC8: ; cc61 (3:4c61)
MapHSC8: ; ca0f (3:4a0f)
db ROCKET_HIDEOUT_2,$02,Show
db ROCKET_HIDEOUT_2,$03,Show
db ROCKET_HIDEOUT_2,$04,Show
db ROCKET_HIDEOUT_2,$05,Show
MapHSC9: ; cc6d (3:4c6d)
MapHSC9: ; ca1b (3:4a1b)
db ROCKET_HIDEOUT_3,$03,Show
db ROCKET_HIDEOUT_3,$04,Show
MapHSCA: ; cc73 (3:4c73)
MapHSCA: ; ca21 (3:4a21)
db ROCKET_HIDEOUT_4,$01,Show
db ROCKET_HIDEOUT_4,$02,Hide
db ROCKET_HIDEOUT_4,$03,Hide
db ROCKET_HIDEOUT_4,$05,Show
db ROCKET_HIDEOUT_4,$06,Show
db ROCKET_HIDEOUT_4,$07,Show
db ROCKET_HIDEOUT_4,$08,Hide
db ROCKET_HIDEOUT_4,$09,Hide
MapHSCF: ; cc85 (3:4c85)
MapHSCF: ; ca39 (3:4a39)
db SILPH_CO_2F,$01,Show
db SILPH_CO_2F,$02,Show
db SILPH_CO_2F,$03,Show
db SILPH_CO_2F,$04,Show
db SILPH_CO_2F,$05,Show
MapHSD0: ; cc94 (3:4c94)
MapHSD0: ; ca48 (3:4a48)
db SILPH_CO_3F,$02,Show
db SILPH_CO_3F,$03,Show
db SILPH_CO_3F,$04,Show
MapHSD1: ; cc9d (3:4c9d)
MapHSD1: ; ca51 (3:4a51)
db SILPH_CO_4F,$02,Show
db SILPH_CO_4F,$03,Show
db SILPH_CO_4F,$04,Show
db SILPH_CO_4F,$05,Show
db SILPH_CO_4F,$06,Show
db SILPH_CO_4F,$07,Show
MapHSD2: ; ccaf (3:4caf)
MapHSD2: ; ca63 (3:4a63)
db SILPH_CO_5F,$02,Show
db SILPH_CO_5F,$03,Show
db SILPH_CO_5F,$04,Show
@ -480,13 +486,13 @@ MapHSD2: ; ccaf (3:4caf)
db SILPH_CO_5F,$06,Show
db SILPH_CO_5F,$07,Show
db SILPH_CO_5F,$08,Show
MapHSD3: ; ccc4 (3:4cc4)
MapHSD3: ; ca78 (3:4a78)
db SILPH_CO_6F,$06,Show
db SILPH_CO_6F,$07,Show
db SILPH_CO_6F,$08,Show
db SILPH_CO_6F,$09,Show
db SILPH_CO_6F,$0A,Show
MapHSD4: ; ccd3 (3:4cd3)
MapHSD4: ; ca87 (3:4a87)
db SILPH_CO_7F,$05,Show
db SILPH_CO_7F,$06,Show
db SILPH_CO_7F,$07,Show
@ -495,83 +501,93 @@ MapHSD4: ; ccd3 (3:4cd3)
db SILPH_CO_7F,$0A,Show
db SILPH_CO_7F,$0B,Show
db SILPH_CO_7F,$0C,Show
MapHSD5: ; cceb (3:4ceb)
MapHSD5: ; ca9f (3:4a9f)
db SILPH_CO_8F,$02,Show
db SILPH_CO_8F,$03,Show
db SILPH_CO_8F,$04,Show
MapHSE9: ; ccf4 (3:4cf4)
MapHSE9: ; caa8 (3:4aa8)
db SILPH_CO_9F,$02,Show
db SILPH_CO_9F,$03,Show
db SILPH_CO_9F,$04,Show
MapHSEA: ; ccfd (3:4cfd)
MapHSEA: ; cab1 (3:4ab1)
db SILPH_CO_10F,$01,Show
db SILPH_CO_10F,$02,Show
db SILPH_CO_10F,$03,Show
db SILPH_CO_10F,$04,Show
db SILPH_CO_10F,$05,Show
db SILPH_CO_10F,$06,Show
MapHSEB: ; cd0f (3:4d0f)
MapHSEB: ; cac3 (3:4ac3)
db SILPH_CO_11F,$03,Show
db SILPH_CO_11F,$04,Show
db SILPH_CO_11F,$05,Show
MapHSF4: ; cd18 (3:4d18)
db SILPH_CO_11F,$06,Show
MapHSF4: ; cacf (3:4acf)
db $F4,$02,Show
MapHSD6: ; cd1b (3:4d1b)
MapHSD6: ; cad2 (3:4ad2)
db MANSION_2,$02,Show
MapHSD7: ; cd1e (3:4d1e)
MapHSD7: ; cad5 (3:4ad5)
db MANSION_3,$03,Show
db MANSION_3,$04,Show
MapHSD8: ; cd24 (3:4d24)
MapHSD8: ; cadb (3:4adb)
db MANSION_4,$03,Show
db MANSION_4,$04,Show
db MANSION_4,$05,Show
db MANSION_4,$06,Show
db MANSION_4,$08,Show
MapHSD9: ; cd33 (3:4d33)
MapHSD9: ; caea (3:4aea)
db SAFARI_ZONE_EAST,$01,Show
db SAFARI_ZONE_EAST,$02,Show
db SAFARI_ZONE_EAST,$03,Show
db SAFARI_ZONE_EAST,$04,Show
MapHSDA: ; cd3f (3:4d3f)
MapHSDA: ; caf6 (3:4af6)
db SAFARI_ZONE_NORTH,$01,Show
db SAFARI_ZONE_NORTH,$02,Show
MapHSDB: ; cd45 (3:4d45)
MapHSDB: ; cafc (3:4afc)
db SAFARI_ZONE_WEST,$01,Show
db SAFARI_ZONE_WEST,$02,Show
db SAFARI_ZONE_WEST,$03,Show
db SAFARI_ZONE_WEST,$04,Show
MapHSDC: ; cd51 (3:4d51)
MapHSDC: ; cb08 (3:4b08)
db SAFARI_ZONE_CENTER,$01,Show
MapHSE2: ; cd54 (3:4d54)
MapHSE2: ; cb0b (3:4b0b)
db UNKNOWN_DUNGEON_2,$01,Show
db UNKNOWN_DUNGEON_2,$02,Show
db UNKNOWN_DUNGEON_2,$03,Show
MapHSE3: ; cd5d (3:4d5d)
db UNKNOWN_DUNGEON_2,$04,Show
MapHSE3: ; cb17 (3:4b17)
db UNKNOWN_DUNGEON_3,$01,Show
db UNKNOWN_DUNGEON_3,$02,Show
db UNKNOWN_DUNGEON_3,$03,Show
MapHS6C: ; cd66 (3:4d66)
db UNKNOWN_DUNGEON_3,$04,Show
db UNKNOWN_DUNGEON_3,$05,Show
MapHS6C: ; cb26 (3:4b26)
db VICTORY_ROAD_1,$03,Show
db VICTORY_ROAD_1,$04,Show
MapHS78: ; cd6c (3:4d6c)
MapHS78: ; cb2c (3:4b2c)
db CHAMPIONS_ROOM,$02,Hide
MapHSC0: ; cd6f (3:4d6f)
MapHSC0: ; cb2f (3:4b2f)
db SEAFOAM_ISLANDS_1,$01,Show
db SEAFOAM_ISLANDS_1,$02,Show
MapHS9F: ; cd75 (3:4d75)
MapHS9F: ; cb35 (3:4b35)
db SEAFOAM_ISLANDS_2,$01,Hide
db SEAFOAM_ISLANDS_2,$02,Hide
MapHSA0: ; cd7b (3:4d7b)
MapHSA0: ; cb3b (3:4b3b)
db SEAFOAM_ISLANDS_3,$01,Hide
db SEAFOAM_ISLANDS_3,$02,Hide
MapHSA1: ; cd81 (3:4d81)
MapHSA1: ; cb41 (3:4b41)
db SEAFOAM_ISLANDS_4,$02,Show
db SEAFOAM_ISLANDS_4,$03,Show
db SEAFOAM_ISLANDS_4,$05,Hide
db SEAFOAM_ISLANDS_4,$06,Hide
MapHSA2: ; cd8d (3:4d8d)
MapHSA2: ; cb4d (3:4b4d)
db SEAFOAM_ISLANDS_5,$01,Hide
db SEAFOAM_ISLANDS_5,$02,Hide
db SEAFOAM_ISLANDS_5,$03,Show
db $FF,$01,Show
MapHS27Copy: ; cb56 (3:4b56)
; doesn't seem to be referenced
db BLUES_HOUSE,$01,Show
db BLUES_HOUSE,$02,Hide
db BLUES_HOUSE,$03,Show
db $FF,$01,Show

View File

@ -1,26 +1,28 @@
Tilesets: ; c7be (3:47be)
tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR
tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR
tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE
tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR
tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR
tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR
tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR
tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR
tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR
tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE
tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE
tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR
tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE
tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR
tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR
tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR
tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE
tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE
tileset BeachHouse_Block, BeachHouse_GFX, BeachHouse_Coll, $FF,$FF,$FF, $FF, INDOOR
Tilesets: ; c558 (3:4558)
dr $c558,$c684
;tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR
;tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR
;tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE
;tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR
;tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR
;tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR
;tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR
;tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR
;tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR
;tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE
;tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE
;tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR
;tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE
;tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR
;tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR
;tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR
;tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE
;tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE
;tileset BeachHouse_Block, BeachHouse_GFX, BeachHouse_Coll, $FF,$FF,$FF, $FF, INDOOR

View File

@ -51,10 +51,7 @@ asm_f601d: ; f601d (f:601d)
ld a,[W_LONEATTACKNO]
and a
jp z,InitBattle_Common
ld hl,Func_f430a
ld b,BANK(Func_f430a)
ld d,$4
call Bankswitch ; useless since already in bank3d
callabd_Func_f430a $4 ; useless since already in bank3d
jp InitBattle_Common
InitWildBattle: ; f607c (3d:607c)

View File

@ -247,10 +247,7 @@ BillsPCDeposit: ; 2156d (8:556d)
ld a, [wcf91]
call PlayCry
.asm_215cf
ld hl, Func_f430a
ld b, BANK(Func_f430a)
ld d, $7
call Bankswitch
callabd_Func_f430a $7
ld a, PARTY_TO_BOX
ld [wMoveMonType], a
call MoveMon

View File

@ -97,6 +97,20 @@ callab: MACRO
call Bankswitch
ENDM
calladb_Func_f430a: MACRO
ld hl, Func_f430a
ld d, \1
ld b, BANK(Func_f430a)
call Bankswitch
ENDM
callabd_Func_f430a: MACRO
ld hl, Func_f430a
ld b, BANK(Func_f430a)
ld d, \1
call Bankswitch
ENDM
jpba: MACRO
ld b, BANK(\1)
ld hl, \1

View File

@ -2262,8 +2262,7 @@ PrintSafariZoneSteps: ; c52f (3:452f)
cp UNKNOWN_DUNGEON_2
ret nc
coord hl, 0, 0
ld b, 3
ld c, 7
lb bc, 3, 7
call TextBoxBorder
coord hl, 1, 1
ld de, wSafariSteps
@ -2277,26 +2276,26 @@ PrintSafariZoneSteps: ; c52f (3:452f)
call PlaceString
ld a, [W_NUMSAFARIBALLS]
cp 10
jr nc, .asm_c56d
jr nc, .numSafariBallsTwoDigits
coord hl, 5, 3
ld a, " "
ld [hl], a
.asm_c56d
.numSafariBallsTwoDigits
coord hl, 6, 3
ld de, W_NUMSAFARIBALLS
lb bc, 1, 2
jp PrintNumber
SafariSteps: ; c579 (3:4579)
SafariSteps: ; c2c4 (3:42c4)
db "/500@"
SafariBallText: ; c57e (3:457e)
SafariBallText: ; c5c9 (3:45c9)
db "BALL×× @"
GetTileAndCoordsInFrontOfPlayer: ; c586 (3:4586)
GetTileAndCoordsInFrontOfPlayer: ; c2d4 (3:42d4)
call GetPredefRegisters
_GetTileAndCoordsInFrontOfPlayer: ; c589 (3:4589)
_GetTileAndCoordsInFrontOfPlayer: ; c2d4 (3:42d4)
ld a, [W_YCOORD]
ld d, a
ld a, [W_XCOORD]
@ -2333,7 +2332,7 @@ _GetTileAndCoordsInFrontOfPlayer: ; c589 (3:4589)
ld [wTileInFrontOfPlayer], a
ret
GetTileTwoStepsInFrontOfPlayer: ; c5be (3:45be)
GetTileTwoStepsInFrontOfPlayer: ; c309 (3:4309)
xor a
ld [$ffdb], a
ld hl, W_YCOORD
@ -2381,18 +2380,10 @@ GetTileTwoStepsInFrontOfPlayer: ; c5be (3:45be)
ld [wTileInFrontOfPlayer], a
ret
CheckForCollisionWhenPushingBoulder: ; c60b (3:460b)
CheckForCollisionWhenPushingBoulder: ; c356 (3:4356)
call GetTileTwoStepsInFrontOfPlayer
ld hl, W_TILESETCOLLISIONPTR
ld a, [hli]
ld h, [hl]
ld l, a
.loop
ld a, [hli]
cp $ff
jr z, .done ; if the tile two steps ahead is not passable
cp c
jr nz, .loop
call IsTilePassable
jr c, .done
ld hl, TilePairCollisionsLand
call CheckForTilePairCollisions2
ld a, $ff
@ -2407,7 +2398,7 @@ CheckForCollisionWhenPushingBoulder: ; c60b (3:460b)
ret
; sets a to $ff if there is a collision and $00 if there is no collision
CheckForBoulderCollisionWithSprites: ; c636 (3:4636)
CheckForBoulderCollisionWithSprites: ; c378 (3:4378)
ld a, [wBoulderSpriteIndex]
dec a
swap a
@ -2484,10 +2475,16 @@ CheckForBoulderCollisionWithSprites: ; c636 (3:4636)
xor a
ret
ApplyOutOfBattlePoisonDamage: ; c69c (3:469c)
ApplyOutOfBattlePoisonDamage: ; c3de (3:43de)
ld a, [wd730]
add a
jp c, .noBlackOut ; no black out if joypad states are being simulated
ld a, [wd493]
bit 7, a
jp nz, .noBlackOut
ld a, [wd72e]
bit 6, a
jp nz, .noBlackout
ld a, [wPartyCount]
and a
jp z, .noBlackOut
@ -2540,6 +2537,12 @@ ApplyOutOfBattlePoisonDamage: ; c69c (3:469c)
ld a, $d0
ld [hSpriteIndexOrTextID], a
call DisplayTextID
callab Func_fce18
jr nc, .curMonNotPlayerPikachu
ld e, $3
callab Func_f0000
callab_Func_f430a_ld_d $9
.curMonNotPlayerPikachu
pop de
pop hl
.nextMon
@ -2597,30 +2600,47 @@ ApplyOutOfBattlePoisonDamage: ; c69c (3:469c)
ld [wOutOfBattleBlackout], a
ret
LoadTilesetHeader: ; c754 (3:4754)
Func_c4c7: ; c4c7 (3:44c7)
ld a, [wStepCounter]
and a
jr nz, .asm_c4de
call Random
and $1
jr z, .asm_c4de
callab_Func_f430a_ld_d $6
.asm_c4de
ld hl, wd471
ld a, [hl]
cp $80
jr z, .asm_c4ef
jr c, .asm_c4ea
dec a
dec a
.asm_c4ea
inc a
ld [hl], a
cp $80
ret nz
.asm_c4ef
xor a
ld [wd49c], a
ret
LoadTilesetHeader: ; c4f4 (3:44f4)
call GetPredefRegisters
push hl
ld d, 0
ld a, [W_CURMAPTILESET]
add a
add a
ld b, a
add a
add b ; a = tileset * 12
jr nc, .noCarry
inc d
.noCarry
ld e, a
ld hl, Tilesets
add hl, de
add hl, de
add hl, de
ld de, W_TILESETBANK
ld c, $b
.copyTilesetHeaderLoop
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .copyTilesetHeaderLoop
ld bc, $b
call CopyData
ld a, [hl]
ld [hTilesetType], a
xor a
@ -2634,13 +2654,13 @@ LoadTilesetHeader: ; c754 (3:4754)
call IsInArray
pop de
pop hl
jr c, .asm_c797
jr c, .notDungeonTileset
ld a, [W_CURMAPTILESET]
ld b, a
ld a, [hPreviousTileset]
cp b
jr z, .done
.asm_c797
.notDungeonTileset
ld a, [wDestinationWarpID]
cp $ff
jr z, .done
@ -2658,7 +2678,7 @@ INCLUDE "data/dungeon_tilesets.asm"
INCLUDE "data/tileset_headers.asm"
IncrementDayCareMonExp: ; c8de (3:48de)
IncrementDayCareMonExp: ; c684 (3:4684)
ld a, [W_DAYCARE_IN_USE]
and a
ret z

View File

@ -2532,7 +2532,11 @@ wd473:: ds 1
wd47a:: ds 1
ds 30
ds 24
wd493:: ds 1
ds 5
wUnknownSerialFlag_d499:: ds 1 ; d498
wUnknownSerialFlag_d49a:: ds 1 ; d499

View File

@ -344,10 +344,452 @@ IsPlayerStandingOnDoorTileOrWarpTile: ; c1e6 (3:41e6)
ret
INCLUDE "data/warp_tile_ids.asm"
PrintSafariZoneSteps: ; c27b (3:427b)
dr $c27b,$c2d4
ld a, [W_CURMAP]
cp SAFARI_ZONE_EAST
ret c
cp UNKNOWN_DUNGEON_2
ret nc
coord hl, 0, 0
lb bc, 3, 7
call TextBoxBorder
coord hl, 1, 1
ld de, wSafariSteps
lb bc, 2, 3
call PrintNumber
coord hl, 4, 1
ld de, SafariSteps
call PlaceString
coord hl, 1, 3
ld de, SafariBallText
call PlaceString
ld a, [W_NUMSAFARIBALLS]
cp 10
jr nc, .numSafariBallsTwoDigits
coord hl, 5, 3
ld a, " "
ld [hl], a
.numSafariBallsTwoDigits
coord hl, 6, 3
ld de, W_NUMSAFARIBALLS
lb bc, 1, 2
jp PrintNumber
SafariSteps: ; c2c4 (3:42c4)
db "/500@"
SafariBallText: ; c5c9 (3:42c9)
db "BALL×× @"
GetTileAndCoordsInFrontOfPlayer: ; c2d4 (3:42d1)
call GetPredefRegisters
_GetTileAndCoordsInFrontOfPlayer: ; c2d4 (3:42d4)
dr $c2d4,$cb62
ld a, [W_YCOORD]
ld d, a
ld a, [W_XCOORD]
ld e, a
ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
and a ; cp SPRITE_FACING_DOWN
jr nz, .notFacingDown
; facing down
aCoord 8, 11
inc d
jr .storeTile
.notFacingDown
cp SPRITE_FACING_UP
jr nz, .notFacingUp
; facing up
aCoord 8, 7
dec d
jr .storeTile
.notFacingUp
cp SPRITE_FACING_LEFT
jr nz, .notFacingLeft
; facing left
aCoord 6, 9
dec e
jr .storeTile
.notFacingLeft
cp SPRITE_FACING_RIGHT
jr nz, .storeTile
; facing right
aCoord 10, 9
inc e
.storeTile
ld c, a
ld [wTileInFrontOfPlayer], a
ret
GetTileTwoStepsInFrontOfPlayer: ; c309 (3:4309)
xor a
ld [$ffdb], a
ld hl, W_YCOORD
ld a, [hli]
ld d, a
ld e, [hl]
ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
and a ; cp SPRITE_FACING_DOWN
jr nz, .notFacingDown
; facing down
ld hl, $ffdb
set 0, [hl]
aCoord 8, 13
inc d
jr .storeTile
.notFacingDown
cp SPRITE_FACING_UP
jr nz, .notFacingUp
; facing up
ld hl, $ffdb
set 1, [hl]
aCoord 8, 5
dec d
jr .storeTile
.notFacingUp
cp SPRITE_FACING_LEFT
jr nz, .notFacingLeft
; facing left
ld hl, $ffdb
set 2, [hl]
aCoord 4, 9
dec e
jr .storeTile
.notFacingLeft
cp SPRITE_FACING_RIGHT
jr nz, .storeTile
; facing right
ld hl, $ffdb
set 3, [hl]
aCoord 12, 9
inc e
.storeTile
ld c, a
ld [wTileInFrontOfBoulderAndBoulderCollisionResult], a
ld [wTileInFrontOfPlayer], a
ret
CheckForCollisionWhenPushingBoulder: ; c356 (3:4356)
call GetTileTwoStepsInFrontOfPlayer
call IsTilePassable
jr c, .done
ld hl, TilePairCollisionsLand
call CheckForTilePairCollisions2
ld a, $ff
jr c, .done ; if there is an elevation difference between the current tile and the one two steps ahead
ld a, [wTileInFrontOfBoulderAndBoulderCollisionResult]
cp $15 ; stairs tile
ld a, $ff
jr z, .done ; if the tile two steps ahead is stairs
call CheckForBoulderCollisionWithSprites
.done
ld [wTileInFrontOfBoulderAndBoulderCollisionResult], a
ret
; sets a to $ff if there is a collision and $00 if there is no collision
CheckForBoulderCollisionWithSprites: ; c378 (3:4378)
ld a, [wBoulderSpriteIndex]
dec a
swap a
ld d, 0
ld e, a
ld hl, wSpriteStateData2 + $14
add hl, de
ld a, [hli] ; map Y position
ld [$ffdc], a
ld a, [hl] ; map X position
ld [$ffdd], a
ld a, [W_NUMSPRITES]
ld c, a
ld de, $f
ld hl, wSpriteStateData2 + $14
ld a, [$ffdb]
and $3 ; facing up or down?
jr z, .pushingHorizontallyLoop
.pushingVerticallyLoop
inc hl
ld a, [$ffdd]
cp [hl]
jr nz, .nextSprite1 ; if X coordinates don't match
dec hl
ld a, [hli]
ld b, a
ld a, [$ffdb]
rrca
jr c, .pushingDown
; pushing up
ld a, [$ffdc]
dec a
jr .compareYCoords
.pushingDown
ld a, [$ffdc]
inc a
.compareYCoords
cp b
jr z, .failure
.nextSprite1
dec c
jr z, .success
add hl, de
jr .pushingVerticallyLoop
.pushingHorizontallyLoop
ld a, [hli]
ld b, a
ld a, [$ffdc]
cp b
jr nz, .nextSprite2
ld b, [hl]
ld a, [$ffdb]
bit 2, a
jr nz, .pushingLeft
; pushing right
ld a, [$ffdd]
inc a
jr .compareXCoords
.pushingLeft
ld a, [$ffdd]
dec a
.compareXCoords
cp b
jr z, .failure
.nextSprite2
dec c
jr z, .success
add hl, de
jr .pushingHorizontallyLoop
.failure
ld a, $ff
ret
.success
xor a
ret
ApplyOutOfBattlePoisonDamage: ; c3de (3:43de)
ld a, [wd730]
add a
jp c, .noBlackOut ; no black out if joypad states are being simulated
ld a, [wd493]
bit 7, a
jp nz, .noBlackOut
ld a, [wd72e]
bit 6, a
jp nz, .noBlackOut
ld a, [wPartyCount]
and a
jp z, .noBlackOut
call IncrementDayCareMonExp
call Func_c4c7
ld a, [wStepCounter]
and $3 ; is the counter a multiple of 4?
jp nz, .skipPoisonEffectAndSound ; only apply poison damage every fourth step
ld [wWhichPokemon], a
ld hl, wPartyMon1Status
ld de, wPartySpecies
.applyDamageLoop
ld a, [hl]
and (1 << PSN)
jr z, .nextMon2 ; not poisoned
dec hl
dec hl
ld a, [hld]
ld b, a
ld a, [hli]
or b
jr z, .nextMon ; already fainted
; subtract 1 from HP
ld a, [hl]
dec a
ld [hld], a
inc a
jr nz, .noBorrow
; borrow 1 from upper byte of HP
dec [hl]
inc hl
jr .nextMon
.noBorrow
ld a, [hli]
or [hl]
jr nz, .nextMon ; didn't faint from damage
; the mon fainted from the damage
push hl
inc hl
inc hl
ld [hl], a
ld a, [de]
ld [wd11e], a
push de
ld a, [wWhichPokemon]
ld hl, wPartyMonNicks
call GetPartyMonName
xor a
ld [wJoyIgnore], a
call EnableAutoTextBoxDrawing
ld a, $d0
ld [hSpriteIndexOrTextID], a
call DisplayTextID
callab Func_fce18
jr nc, .curMonNotPlayerPikachu
ld e, $3
callab Func_f0000
calladb_Func_f430a $9
.curMonNotPlayerPikachu
pop de
pop hl
.nextMon
inc hl
inc hl
.nextMon2
inc de
ld a, [de]
inc a
jr z, .applyDamageLoopDone
ld bc, wPartyMon2 - wPartyMon1
add hl, bc
push hl
ld hl, wWhichPokemon
inc [hl]
pop hl
jr .applyDamageLoop
.applyDamageLoopDone
ld hl, wPartyMon1Status
ld a, [wPartyCount]
ld d, a
ld e, 0
.countPoisonedLoop
ld a, [hl]
and (1 << PSN)
or e
ld e, a
ld bc, wPartyMon2 - wPartyMon1
add hl, bc
dec d
jr nz, .countPoisonedLoop
ld a, e
and a ; are any party members poisoned?
jr z, .skipPoisonEffectAndSound
ld b, $2
predef ChangeBGPalColor0_4Frames ; change BG white to dark grey for 4 frames
ld a, SFX_POISONED
call PlaySound
.skipPoisonEffectAndSound
predef AnyPartyAlive
ld a, d
and a
jr nz, .noBlackOut
call EnableAutoTextBoxDrawing
ld a, $d1
ld [hSpriteIndexOrTextID], a
call DisplayTextID
ld hl, wd72e
set 5, [hl]
ld a, $ff
jr .done
.noBlackOut
xor a
.done
ld [wOutOfBattleBlackout], a
ret
Func_c4c7: ; c4c7 (3:44c7)
ld a, [wStepCounter]
and a
jr nz, .asm_c4de
call Random
and $1
jr z, .asm_c4de
calladb_Func_f430a $6
.asm_c4de
ld hl, wd471
ld a, [hl]
cp $80
jr z, .asm_c4ef
jr c, .asm_c4ea
dec a
dec a
.asm_c4ea
inc a
ld [hl], a
cp $80
ret nz
.asm_c4ef
xor a
ld [wd49c], a
ret
LoadTilesetHeader: ; c4f4 (3:44f4)
call GetPredefRegisters
push hl
ld d, 0
ld a, [W_CURMAPTILESET]
add a
add a
ld e, a
ld hl, Tilesets
add hl, de
add hl, de
add hl, de
ld de, W_TILESETBANK
ld bc, $b
call CopyData
ld a, [hl]
ld [hTilesetType], a
xor a
ld [$ffd8], a
pop hl
ld a, [W_CURMAPTILESET]
push hl
push de
ld hl, DungeonTilesets
ld de, $1
call IsInArray
pop de
pop hl
jr c, .notDungeonTileset
ld a, [W_CURMAPTILESET]
ld b, a
ld a, [hPreviousTileset]
cp b
jr z, .done
.notDungeonTileset
ld a, [wDestinationWarpID]
cp $ff
jr z, .done
call LoadDestinationWarpPosition
ld a, [W_YCOORD]
and $1
ld [W_YBLOCKCOORD], a
ld a, [W_XCOORD]
and $1
ld [W_XBLOCKCOORD], a
.done
ret
INCLUDE "data/dungeon_tilesets.asm"
INCLUDE "data/tileset_headers.asm"
IncrementDayCareMonExp: ; c684 (3:4684)
ld a, [W_DAYCARE_IN_USE]
and a
ret z
ld hl, wDayCareMonExp + 2
inc [hl]
ret nz
dec hl
inc [hl]
ret nz
dec hl
inc [hl]
ld a, [hl]
cp $50
ret c
ld a, $50
ld [hl], a
ret
INCLUDE "data/hide_show_data.asm"
LoadWildData: ; cb62 (3:4b62)
dr $cb62,$d2ed
UseItem_: ; d2ed (3:52ed)