Add more tilemap documentation

This commit is contained in:
octorock 2024-01-06 18:12:53 +01:00
parent 06dc158598
commit 560dfa45b1
39 changed files with 4306 additions and 4280 deletions

View File

@ -8,7 +8,7 @@
@ custom libgcc implementation @ custom libgcc implementation
.code 16 .code 16
_08000ED8: _divide_by_zero:
movs r0, #0 movs r0, #0
movs r1, #0 movs r1, #0
movs r2, #0 movs r2, #0
@ -17,14 +17,14 @@ _08000ED8:
thumb_func_start __divsi3 thumb_func_start __divsi3
__divsi3: @ 0x08000EE0 __divsi3: @ 0x08000EE0
cmp r1, #0 cmp r1, #0
beq _08000ED8 beq _divide_by_zero
svc #6 svc #6
bx lr bx lr
thumb_func_start __modsi3 thumb_func_start __modsi3
__modsi3: @ 0x08000EE8 __modsi3: @ 0x08000EE8
cmp r1, #0 cmp r1, #0
beq _08000ED8 beq _divide_by_zero
svc #6 svc #6
adds r0, r1, #0 adds r0, r1, #0
bx lr bx lr

View File

@ -126,12 +126,12 @@
.2byte \paramB, \paramC, \paramD .2byte \paramB, \paramC, \paramD
.endm .endm
.macro chest type, id, item, subnum, tileset_id .macro chest type, id, item, subnum, tileSet_id
.2byte (\map_x) << 4 .2byte (\map_x) << 4
.2byte (\map_y) << 4 .2byte (\map_y) << 4
.2byte \pixel_width .2byte \pixel_width
.2byte \pixel_height .2byte \pixel_height
.2byte \tileset_id .2byte \tileSet_id
.endm .endm
.macro delayed_entity_raw subtype:req, paramA=0, paramB=0, layer=0, x=0, y=0, paramC=0, paramD=0, conditions=0 .macro delayed_entity_raw subtype:req, paramA=0, paramB=0, layer=0, x=0, y=0, paramC=0, paramD=0, conditions=0

View File

@ -16,12 +16,12 @@
.set BOTTOM_TILES, gMapBottom+0x7004 .set BOTTOM_TILES, gMapBottom+0x7004
.set BOTTOM_ACTTILES, gMapBottom+0xb004 .set BOTTOM_ACTTILES, gMapBottom+0xb004
.macro room_header map_x, map_y, pixel_width, pixel_height, tileset_id .macro room_header map_x, map_y, pixel_width, pixel_height, tileSet_id
.2byte (\map_x) << 4 .2byte (\map_x) << 4
.2byte (\map_y) << 4 .2byte (\map_y) << 4
.2byte \pixel_width .2byte \pixel_width
.2byte \pixel_height .2byte \pixel_height
.2byte \tileset_id .2byte \tileSet_id
.endm .endm
@ -31,11 +31,11 @@
.4byte (\compressed << 0x1F) | (\size) .4byte (\compressed << 0x1F) | (\size)
.endm .endm
.macro tileset_tiles src_offset, dest, size, compressed, terminator=0 .macro tileSet_tiles src_offset, dest, size, compressed, terminator=0
map_data \src_offset, \dest, \size, \compressed, \terminator map_data \src_offset, \dest, \size, \compressed, \terminator
.endm .endm
.macro tileset_palette_set id, terminator=0 .macro tileSet_palette_set id, terminator=0
.4byte (!(\terminator) << 0x1F) | (\id) .4byte (!(\terminator) << 0x1F) | (\id)
.4byte 0x0 .4byte 0x0
.4byte 0x0 .4byte 0x0

View File

@ -30,7 +30,7 @@ FindValueForKey: @ 0x08007DD6
adds r0, r3, #0 // move the found value into r0 adds r0, r3, #0 // move the found value into r0
pop {pc} pop {pc}
thumb_func_start FindEntryForKey // TODO rename thumb_func_start FindEntryForKey
FindEntryForKey: @ 0x08007DE0 FindEntryForKey: @ 0x08007DE0
subs r1, #4 subs r1, #4
_08007DE2: _08007DE2:

View File

@ -19565,8 +19565,7 @@
"JP", "JP",
"DEMO_USA", "DEMO_USA",
"DEMO_JP" "DEMO_JP"
], ]
"TODO": "which variants?"
}, },
{ {
"path": "gfx/fixedTypeGfx_502.4bpp", "path": "gfx/fixedTypeGfx_502.4bpp",
@ -23255,7 +23254,6 @@
"path": "gfx/gGfx_72_1.4bpp", "path": "gfx/gGfx_72_1.4bpp",
"start": 8647424, "start": 8647424,
"size": 2048, "size": 2048,
"TODO": "WHAT WAS ASSET EXTRACTION THINKING HERE?",
"type": "gfx", "type": "gfx",
"variants": [ "variants": [
"EU" "EU"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -110,8 +110,8 @@ gAreaRoomMap_HyruleField_0:: @ 081034B8
map_top offset_gAreaRoomMap_HyruleField_WesternWoodsSouth_top, 0x30C, 1, 1 map_top offset_gAreaRoomMap_HyruleField_WesternWoodsSouth_top, 0x30C, 1, 1
gAreaRoomMap_HyruleField_1:: @ 081034D0 gAreaRoomMap_HyruleField_1:: @ 081034D0
tileset_tiles offset_gAreaTileset_HyruleField_0_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_0_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_2, 0x6008000, 0x4000, 1
.4byte 0x80000010, 0x0, 0x0 .4byte 0x80000010, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_SouthHyruleField_bottom, 0x152A, 1 map_bottom offset_gAreaRoomMap_HyruleField_SouthHyruleField_bottom, 0x152A, 1
map_top offset_gAreaRoomMap_HyruleField_SouthHyruleField_top, 0x152A, 1, 1 map_top offset_gAreaRoomMap_HyruleField_SouthHyruleField_top, 0x152A, 1, 1
@ -121,36 +121,36 @@ gAreaRoomMap_HyruleField_2:: @ 0810350C
map_top offset_gAreaRoomMap_HyruleField_EasternHillsSouth_top, 0x30C, 1, 1 map_top offset_gAreaRoomMap_HyruleField_EasternHillsSouth_top, 0x30C, 1, 1
gAreaRoomMap_HyruleField_3:: @ 08103524 gAreaRoomMap_HyruleField_3:: @ 08103524
tileset_tiles offset_gAreaTileset_HyruleField_0_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_0_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_2, 0x6008000, 0x4000, 1
.4byte 0x80000010, 0x0, 0x0 .4byte 0x80000010, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_EasternHillsCenter_bottom, 0x3C0, 1 map_bottom offset_gAreaRoomMap_HyruleField_EasternHillsCenter_bottom, 0x3C0, 1
map_top offset_gAreaRoomMap_HyruleField_EasternHillsCenter_top, 0x3C0, 1, 1 map_top offset_gAreaRoomMap_HyruleField_EasternHillsCenter_top, 0x3C0, 1, 1
gAreaRoomMap_HyruleField_4:: @ 08103560 gAreaRoomMap_HyruleField_4:: @ 08103560
tileset_tiles offset_gAreaTileset_HyruleField_1_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_1_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_1_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_1_2, 0x6008000, 0x4000, 1
.4byte 0x80000043, 0x0, 0x0 .4byte 0x80000043, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_EasternHillsNorth_bottom, 0x7F8, 1 map_bottom offset_gAreaRoomMap_HyruleField_EasternHillsNorth_bottom, 0x7F8, 1
map_top offset_gAreaRoomMap_HyruleField_EasternHillsNorth_top, 0x7F8, 1, 1 map_top offset_gAreaRoomMap_HyruleField_EasternHillsNorth_top, 0x7F8, 1, 1
gAreaRoomMap_HyruleField_5:: @ 0810359C gAreaRoomMap_HyruleField_5:: @ 0810359C
tileset_tiles offset_gAreaTileset_HyruleField_1_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_1_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_1_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_1_2, 0x6008000, 0x4000, 1
.4byte 0x80000043, 0x0, 0x0 .4byte 0x80000043, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_LonLonRanch_bottom, 0x1518, 1 map_bottom offset_gAreaRoomMap_HyruleField_LonLonRanch_bottom, 0x1518, 1
map_top offset_gAreaRoomMap_HyruleField_LonLonRanch_top, 0x1518, 1, 1 map_top offset_gAreaRoomMap_HyruleField_LonLonRanch_top, 0x1518, 1, 1
gAreaRoomMap_HyruleField_6:: @ 081035D8 gAreaRoomMap_HyruleField_6:: @ 081035D8
tileset_tiles offset_gAreaTileset_HyruleField_2_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_2_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_2_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_2_2, 0x6008000, 0x4000, 1
.4byte 0x8000002E, 0x0, 0x0 .4byte 0x8000002E, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_NorthHyruleField_bottom, 0x189C, 1 map_bottom offset_gAreaRoomMap_HyruleField_NorthHyruleField_bottom, 0x189C, 1
map_top offset_gAreaRoomMap_HyruleField_NorthHyruleField_top, 0x189C, 1, 1 map_top offset_gAreaRoomMap_HyruleField_NorthHyruleField_top, 0x189C, 1, 1
gAreaRoomMap_HyruleField_7:: @ 08103614 gAreaRoomMap_HyruleField_7:: @ 08103614
tileset_tiles offset_gAreaTileset_HyruleField_0_0, 0x6000000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_0, 0x6000000, 0x4000, 1
tileset_tiles offset_gAreaTileset_HyruleField_0_2, 0x6008000, 0x4000, 1 tileSet_tiles offset_gAreaTileSet_HyruleField_0_2, 0x6008000, 0x4000, 1
.4byte 0x80000010, 0x0, 0x0 .4byte 0x80000010, 0x0, 0x0
map_bottom offset_gAreaRoomMap_HyruleField_TrilbyHighlands_bottom, 0xE10, 1 map_bottom offset_gAreaRoomMap_HyruleField_TrilbyHighlands_bottom, 0xE10, 1
map_top offset_gAreaRoomMap_HyruleField_TrilbyHighlands_top, 0xE10, 1, 1 map_top offset_gAreaRoomMap_HyruleField_TrilbyHighlands_top, 0xE10, 1, 1

View File

@ -5,7 +5,7 @@
.align 2 .align 2
@ x, y, width, height, tileset_id @ x, y, width, height, tileSet_id
gAreaRoomHeaders_MinishWoods:: @ 0811C488 gAreaRoomHeaders_MinishWoods:: @ 0811C488
room_header 0xBA, 0x87, 0x3F0, 0x3F0, 0 room_header 0xBA, 0x87, 0x3F0, 0x3F0, 0

View File

@ -7,326 +7,326 @@
.include "map_offsets.inc" .include "map_offsets.inc"
gAreaTiles_MinishWoods:: @ 081026AC gAreaTiles_MinishWoods:: @ 081026AC
tiles_bottom offset_gAreaTileset_MinishWoods_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_MinishWoods_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_MinishWoods_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_MinishWoods_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishWoods_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishWoods_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_MinishWoods_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_MinishWoods_top, 0xFFC, 1, 1
gAreaTiles_LakeHylia:: @ 081026DC gAreaTiles_LakeHylia:: @ 081026DC
tiles_bottom offset_gAreaTileset_LakeHylia_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_LakeHylia_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_LakeHylia_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_LakeHylia_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_LakeHylia_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_LakeHylia_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_LakeHylia_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_LakeHylia_top, 0xFFC, 1, 1
gAreaTiles_CastorWilds:: @ 0810270C gAreaTiles_CastorWilds:: @ 0810270C
tiles_bottom offset_gAreaTileset_CastorWilds_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_CastorWilds_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_CastorWilds_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_CastorWilds_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_CastorWilds_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_CastorWilds_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_CastorWilds_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_CastorWilds_top, 0xFFC, 1, 1
gAreaTiles_HyruleTown:: @ 0810273C gAreaTiles_HyruleTown:: @ 0810273C
tiles_bottom offset_gAreaTileset_HyruleTown_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_HyruleTown_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_HyruleTown_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HyruleTown_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HyruleTown_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_HyruleTown_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_HyruleTown_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HyruleTown_top, 0xFFC, 1, 1
gAreaTiles_MtCrenel:: @ 0810276C gAreaTiles_MtCrenel:: @ 0810276C
tiles_bottom offset_gAreaTileset_MtCrenel_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_MtCrenel_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_MtCrenel_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_MtCrenel_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_MtCrenel_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_MtCrenel_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_MtCrenel_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_MtCrenel_top, 0xFFC, 1, 1
gAreaTiles_HyruleField:: @ 0810279C gAreaTiles_HyruleField:: @ 0810279C
tiles_bottom offset_gAreaTileset_HyruleField_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_HyruleField_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_HyruleField_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HyruleField_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HyruleField_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_HyruleField_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_HyruleField_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HyruleField_top, 0xFFC, 1, 1
gAreaTiles_CastleGarden:: @ 081027CC gAreaTiles_CastleGarden:: @ 081027CC
tiles_bottom offset_gAreaTileset_CastleGarden_bottom, 0x3000, 1 tiles_bottom offset_gAreaTileSet_CastleGarden_bottom, 0x3000, 1
tiles_top offset_gAreaTileset_CastleGarden_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_CastleGarden_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_CastleGarden_bottom, 0xC00, 1 tile_types_bottom offset_gAreaTileSetTypes_CastleGarden_bottom, 0xC00, 1
tile_types_top offset_gAreaTilesetTypes_CastleGarden_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_CastleGarden_top, 0xFFC, 1, 1
gAreaTiles_CloudTops:: @ 081027FC gAreaTiles_CloudTops:: @ 081027FC
tiles_bottom offset_gAreaTileset_CloudTops_bottom, 0x3FB0, 1 tiles_bottom offset_gAreaTileSet_CloudTops_bottom, 0x3FB0, 1
tiles_top offset_gAreaTileset_CloudTops_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_CloudTops_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_CloudTops_bottom, 0xFEC, 1 tile_types_bottom offset_gAreaTileSetTypes_CloudTops_bottom, 0xFEC, 1
tile_types_top offset_gAreaTilesetTypes_CloudTops_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_CloudTops_top, 0xFFC, 1, 1
gAreaTiles_RoyalValley:: @ 0810282C gAreaTiles_RoyalValley:: @ 0810282C
tiles_bottom offset_gAreaTileset_RoyalValley_bottom, 0x4000, 1 tiles_bottom offset_gAreaTileSet_RoyalValley_bottom, 0x4000, 1
tiles_top offset_gAreaTileset_RoyalValley_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_RoyalValley_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_RoyalValley_bottom, 0x1000, 1 tile_types_bottom offset_gAreaTileSetTypes_RoyalValley_bottom, 0x1000, 1
tile_types_top offset_gAreaTilesetTypes_RoyalValley_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_RoyalValley_top, 0xFFC, 1, 1
gAreaTiles_Beanstalks:: @ 0810285C gAreaTiles_Beanstalks:: @ 0810285C
tiles_bottom offset_gAreaTileset_Beanstalks_bottom, 0x5A8, 1 tiles_bottom offset_gAreaTileSet_Beanstalks_bottom, 0x5A8, 1
tile_types_bottom offset_gAreaTilesetTypes_Beanstalks_bottom, 0x16A, 1, 1 tile_types_bottom offset_gAreaTileSetTypes_Beanstalks_bottom, 0x16A, 1, 1
gAreaTiles_CrenelCaves:: @ 08102874 gAreaTiles_CrenelCaves:: @ 08102874
tiles_bottom offset_gAreaTileset_MinishHouseInteriors_bottom, 0x3F80, 1 tiles_bottom offset_gAreaTileSet_MinishHouseInteriors_bottom, 0x3F80, 1
tiles_top offset_gAreaTileset_MinishHouseInteriors_top, 0x3F40, 1 tiles_top offset_gAreaTileSet_MinishHouseInteriors_top, 0x3F40, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishHouseInteriors_bottom, 0xFE0, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishHouseInteriors_bottom, 0xFE0, 1
tile_types_top offset_gAreaTilesetTypes_MinishHouseInteriors_top, 0xFD0, 1, 1 tile_types_top offset_gAreaTileSetTypes_MinishHouseInteriors_top, 0xFD0, 1, 1
gAreaTiles_GreatFairies:: @ 081028A4 gAreaTiles_GreatFairies:: @ 081028A4
tiles_bottom offset_gAreaTileset_GreatFairies_bottom, 0x17A8, 1 tiles_bottom offset_gAreaTileSet_GreatFairies_bottom, 0x17A8, 1
tiles_top offset_gAreaTileset_GreatFairies_top, 0x1070, 1 tiles_top offset_gAreaTileSet_GreatFairies_top, 0x1070, 1
tile_types_bottom offset_gAreaTilesetTypes_GreatFairies_bottom, 0x5EA, 1 tile_types_bottom offset_gAreaTileSetTypes_GreatFairies_bottom, 0x5EA, 1
tile_types_top offset_gAreaTilesetTypes_GreatFairies_top, 0x41C, 1, 1 tile_types_top offset_gAreaTileSetTypes_GreatFairies_top, 0x41C, 1, 1
gAreaTiles_MinishVillage:: @ 081028D4 gAreaTiles_MinishVillage:: @ 081028D4
tiles_bottom offset_gAreaTileset_MinishVillage_bottom, 0x35A8, 1 tiles_bottom offset_gAreaTileSet_MinishVillage_bottom, 0x35A8, 1
tiles_top offset_gAreaTileset_MinishVillage_top, 0x3228, 1 tiles_top offset_gAreaTileSet_MinishVillage_top, 0x3228, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishVillage_bottom, 0xD6A, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishVillage_bottom, 0xD6A, 1
tile_types_top offset_gAreaTilesetTypes_MinishVillage_top, 0xC8A, 1, 1 tile_types_top offset_gAreaTileSetTypes_MinishVillage_top, 0xC8A, 1, 1
gAreaTiles_MelarisMine:: @ 08102904 gAreaTiles_MelarisMine:: @ 08102904
tiles_bottom offset_gAreaTileset_MelarisMine_bottom, 0x27C0, 1 tiles_bottom offset_gAreaTileSet_MelarisMine_bottom, 0x27C0, 1
tiles_top offset_gAreaTileset_MelarisMine_top, 0x308, 1 tiles_top offset_gAreaTileSet_MelarisMine_top, 0x308, 1
tile_types_bottom offset_gAreaTilesetTypes_MelarisMine_bottom, 0x9F0, 1 tile_types_bottom offset_gAreaTileSetTypes_MelarisMine_bottom, 0x9F0, 1
tile_types_top offset_gAreaTilesetTypes_MelarisMine_top, 0xC2, 1, 1 tile_types_top offset_gAreaTileSetTypes_MelarisMine_top, 0xC2, 1, 1
gAreaTiles_MnishPaths1:: @ 08102934 gAreaTiles_MnishPaths1:: @ 08102934
tiles_bottom offset_gAreaTileset_MinishPaths_bottom, 0x1420, 1 tiles_bottom offset_gAreaTileSet_MinishPaths_bottom, 0x1420, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishPaths_bottom, 0x508, 1, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishPaths_bottom, 0x508, 1, 1
gAreaTiles_CrenelMinishPaths:: @ 0810294C gAreaTiles_CrenelMinishPaths:: @ 0810294C
tiles_bottom offset_gAreaTileset_CrenelMinishPaths_bottom, 0x1EB8, 1 tiles_bottom offset_gAreaTileSet_CrenelMinishPaths_bottom, 0x1EB8, 1
tile_types_bottom offset_gAreaTilesetTypes_CrenelMinishPaths_bottom, 0x7AE, 1, 1 tile_types_bottom offset_gAreaTileSetTypes_CrenelMinishPaths_bottom, 0x7AE, 1, 1
gAreaTiles_MinishHouseInteriors:: @ 08102964 gAreaTiles_MinishHouseInteriors:: @ 08102964
tiles_bottom offset_gAreaTileset_MinishHouseInteriors_bottom, 0x3F80, 1 tiles_bottom offset_gAreaTileSet_MinishHouseInteriors_bottom, 0x3F80, 1
tiles_top offset_gAreaTileset_MinishHouseInteriors_top, 0x3F40, 1 tiles_top offset_gAreaTileSet_MinishHouseInteriors_top, 0x3F40, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishHouseInteriors_bottom, 0xFE0, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishHouseInteriors_bottom, 0xFE0, 1
tile_types_top offset_gAreaTilesetTypes_MinishHouseInteriors_top, 0xFD0, 1, 1 tile_types_top offset_gAreaTileSetTypes_MinishHouseInteriors_top, 0xFD0, 1, 1
gAreaTiles_HouseInteriors1:: @ 08102994 gAreaTiles_HouseInteriors1:: @ 08102994
tiles_bottom offset_gAreaTileset_HouseInteriors1_bottom, 0x3188, 1 tiles_bottom offset_gAreaTileSet_HouseInteriors1_bottom, 0x3188, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HouseInteriors1_bottom, 0xC62, 1 tile_types_bottom offset_gAreaTileSetTypes_HouseInteriors1_bottom, 0xC62, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_HouseInteriors2:: @ 081029C4 gAreaTiles_HouseInteriors2:: @ 081029C4
tiles_bottom offset_gAreaTileset_HouseInteriors2_bottom, 0x33A0, 1 tiles_bottom offset_gAreaTileSet_HouseInteriors2_bottom, 0x33A0, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HouseInteriors2_bottom, 0xCE8, 1 tile_types_bottom offset_gAreaTileSetTypes_HouseInteriors2_bottom, 0xCE8, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_HouseInteriors4:: @ 081029F4 gAreaTiles_HouseInteriors4:: @ 081029F4
tiles_bottom offset_gAreaTileset_HouseInteriors4_bottom, 0x33A0, 1 tiles_bottom offset_gAreaTileSet_HouseInteriors4_bottom, 0x33A0, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HouseInteriors4_bottom, 0xCE8, 1 tile_types_bottom offset_gAreaTileSetTypes_HouseInteriors4_bottom, 0xCE8, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_HouseInteriors3:: @ 08102A24 gAreaTiles_HouseInteriors3:: @ 08102A24
tiles_bottom offset_gAreaTileset_HouseInteriors3_bottom, 0x2F20, 1 tiles_bottom offset_gAreaTileSet_HouseInteriors3_bottom, 0x2F20, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_HouseInteriors3_bottom, 0xBC8, 1 tile_types_bottom offset_gAreaTileSetTypes_HouseInteriors3_bottom, 0xBC8, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_TreeInteriors:: @ 08102A54 gAreaTiles_TreeInteriors:: @ 08102A54
tiles_bottom offset_gAreaTileset_TreeInteriors_bottom, 0x3000, 1 tiles_bottom offset_gAreaTileSet_TreeInteriors_bottom, 0x3000, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_TreeInteriors_bottom, 0xC00, 1 tile_types_bottom offset_gAreaTileSetTypes_TreeInteriors_bottom, 0xC00, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_Dojos:: @ 08102A84 gAreaTiles_Dojos:: @ 08102A84
tiles_bottom offset_gAreaTileset_Dojos_bottom, 0x33A0, 1 tiles_bottom offset_gAreaTileSet_Dojos_bottom, 0x33A0, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_Dojos_bottom, 0xCE8, 1 tile_types_bottom offset_gAreaTileSetTypes_Dojos_bottom, 0xCE8, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_MinishCracks:: @ 08102AB4 gAreaTiles_MinishCracks:: @ 08102AB4
tiles_bottom offset_gAreaTileset_MinishCracks_bottom, 0x3180, 1 tiles_bottom offset_gAreaTileSet_MinishCracks_bottom, 0x3180, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishCracks_bottom, 0xC60, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishCracks_bottom, 0xC60, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_ArmosInteriors:: @ 08102AE4 gAreaTiles_ArmosInteriors:: @ 08102AE4
tiles_bottom offset_gAreaTileset_ArmosInteriors_bottom, 0xC50, 1 tiles_bottom offset_gAreaTileSet_ArmosInteriors_bottom, 0xC50, 1
tiles_top offset_gAreaTileset_ArmosInteriors_top, 0xC50, 1 tiles_top offset_gAreaTileSet_ArmosInteriors_top, 0xC50, 1
tile_types_bottom offset_gAreaTilesetTypes_ArmosInteriors_bottom, 0x314, 1 tile_types_bottom offset_gAreaTileSetTypes_ArmosInteriors_bottom, 0x314, 1
tile_types_top offset_gAreaTilesetTypes_ArmosInteriors_top, 0x314, 1, 1 tile_types_top offset_gAreaTileSetTypes_ArmosInteriors_top, 0x314, 1, 1
gAreaTiles_MinishRafters:: @ 08102B14 gAreaTiles_MinishRafters:: @ 08102B14
tiles_bottom offset_gAreaTileset_MinishRafters_bottom, 0x1A30, 1 tiles_bottom offset_gAreaTileSet_MinishRafters_bottom, 0x1A30, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishRafters_bottom, 0x68C, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishRafters_bottom, 0x68C, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_GoronCave:: @ 08102B44 gAreaTiles_GoronCave:: @ 08102B44
tiles_bottom offset_gAreaTileset_GoronCave_bottom, 0x3F80, 1 tiles_bottom offset_gAreaTileSet_GoronCave_bottom, 0x3F80, 1
tiles_top offset_gAreaTileset_GoronCave_top, 0x3400, 1 tiles_top offset_gAreaTileSet_GoronCave_top, 0x3400, 1
tile_types_bottom offset_gAreaTilesetTypes_GoronCave_bottom, 0xFE0, 1 tile_types_bottom offset_gAreaTileSetTypes_GoronCave_bottom, 0xFE0, 1
tile_types_top offset_gAreaTilesetTypes_GoronCave_top, 0xD00, 1, 1 tile_types_top offset_gAreaTileSetTypes_GoronCave_top, 0xD00, 1, 1
gAreaTiles_WindTribeTower:: @ 08102B74 gAreaTiles_WindTribeTower:: @ 08102B74
tiles_bottom offset_gAreaTileset_WindTribeTower_bottom, 0x2EB0, 1 tiles_bottom offset_gAreaTileSet_WindTribeTower_bottom, 0x2EB0, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_WindTribeTower_bottom, 0xBAC, 1 tile_types_bottom offset_gAreaTileSetTypes_WindTribeTower_bottom, 0xBAC, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_WindTribeTowerRoof:: @ 08102BA4 gAreaTiles_WindTribeTowerRoof:: @ 08102BA4
tiles_bottom offset_gAreaTileset_WindTribeTowerRoof_bottom, 0xBC0, 1 tiles_bottom offset_gAreaTileSet_WindTribeTowerRoof_bottom, 0xBC0, 1
tiles_top offset_gAreaTileset_WindTribeTowerRoof_top, 0xBC0, 1 tiles_top offset_gAreaTileSet_WindTribeTowerRoof_top, 0xBC0, 1
tile_types_bottom offset_gAreaTilesetTypes_WindTribeTowerRoof_bottom, 0x2F0, 1 tile_types_bottom offset_gAreaTileSetTypes_WindTribeTowerRoof_bottom, 0x2F0, 1
tile_types_top offset_gAreaTilesetTypes_WindTribeTowerRoof_top, 0x2F0, 1, 1 tile_types_top offset_gAreaTileSetTypes_WindTribeTowerRoof_top, 0x2F0, 1, 1
gAreaTiles_MinishCaves:: @ 08102BD4 gAreaTiles_MinishCaves:: @ 08102BD4
tiles_bottom offset_gAreaTileset_MinishCaves_bottom, 0x3F80, 1 tiles_bottom offset_gAreaTileSet_MinishCaves_bottom, 0x3F80, 1
tiles_top offset_gAreaTileset_MinishCaves_top, 0x3F80, 1 tiles_top offset_gAreaTileSet_MinishCaves_top, 0x3F80, 1
tile_types_bottom offset_gAreaTilesetTypes_MinishCaves_bottom, 0xFE0, 1 tile_types_bottom offset_gAreaTileSetTypes_MinishCaves_bottom, 0xFE0, 1
tile_types_top offset_gAreaTilesetTypes_MinishCaves_top, 0xFE0, 1, 1 tile_types_top offset_gAreaTileSetTypes_MinishCaves_top, 0xFE0, 1, 1
gAreaTiles_CastleGardenMinishHoles:: @ 08102C04 gAreaTiles_CastleGardenMinishHoles:: @ 08102C04
tiles_bottom offset_gAreaTileset_CastleGardenMinishHoles_bottom, 0x13A8, 1 tiles_bottom offset_gAreaTileSet_CastleGardenMinishHoles_bottom, 0x13A8, 1
tiles_top offset_gAreaTileset_CastleGardenMinishHoles_top, 0x1680, 1 tiles_top offset_gAreaTileSet_CastleGardenMinishHoles_top, 0x1680, 1
tile_types_bottom offset_gAreaTilesetTypes_CastleGardenMinishHoles_bottom, 0x4EA, 1 tile_types_bottom offset_gAreaTileSetTypes_CastleGardenMinishHoles_bottom, 0x4EA, 1
tile_types_top offset_gAreaTilesetTypes_CastleGardenMinishHoles_top, 0x5A0, 1, 1 tile_types_top offset_gAreaTileSetTypes_CastleGardenMinishHoles_top, 0x5A0, 1, 1
gAreaTiles_EzloCutscene:: @ 08102C34 gAreaTiles_EzloCutscene:: @ 08102C34
tiles_bottom offset_gAreaTileset_EzloCutscene_bottom, 0x1A20, 1 tiles_bottom offset_gAreaTileSet_EzloCutscene_bottom, 0x1A20, 1
tiles_top offset_gAreaTileset_HouseInteriors1_top, 0x3FF0, 1 tiles_top offset_gAreaTileSet_HouseInteriors1_top, 0x3FF0, 1
tile_types_bottom offset_gAreaTilesetTypes_EzloCutscene_bottom, 0x688, 1 tile_types_bottom offset_gAreaTileSetTypes_EzloCutscene_bottom, 0x688, 1
tile_types_top offset_gAreaTilesetTypes_HouseInteriors1_top, 0xFFC, 1, 1 tile_types_top offset_gAreaTileSetTypes_HouseInteriors1_top, 0xFFC, 1, 1
gAreaTiles_HyruleTownUnderground:: @ 08102C64 gAreaTiles_HyruleTownUnderground:: @ 08102C64
tiles_bottom offset_gAreaTileset_40_bottom, 0x3E80, 1 tiles_bottom offset_gAreaTileSet_40_bottom, 0x3E80, 1
tiles_top offset_gAreaTileset_40_top, 0x3610, 1 tiles_top offset_gAreaTileSet_40_top, 0x3610, 1
tile_types_bottom offset_gAreaTilesetTypes_40_bottom, 0xFA0, 1 tile_types_bottom offset_gAreaTileSetTypes_40_bottom, 0xFA0, 1
tile_types_top offset_gAreaTilesetTypes_40_top, 0xD84, 1, 1 tile_types_top offset_gAreaTileSetTypes_40_top, 0xD84, 1, 1
gAreaTiles_DeepwoodShrine:: @ 08102C94 gAreaTiles_DeepwoodShrine:: @ 08102C94
tiles_bottom offset_gAreaTileset_DeepwoodShrine_bottom, 0x3B28, 1 tiles_bottom offset_gAreaTileSet_DeepwoodShrine_bottom, 0x3B28, 1
tiles_top offset_gAreaTileset_DeepwoodShrine_top, 0x3620, 1 tiles_top offset_gAreaTileSet_DeepwoodShrine_top, 0x3620, 1
tile_types_bottom offset_gAreaTilesetTypes_DeepwoodShrine_bottom, 0xECA, 1 tile_types_bottom offset_gAreaTileSetTypes_DeepwoodShrine_bottom, 0xECA, 1
tile_types_top offset_gAreaTilesetTypes_DeepwoodShrine_top, 0xD88, 1, 1 tile_types_top offset_gAreaTileSetTypes_DeepwoodShrine_top, 0xD88, 1, 1
gAreaTiles_DeepwoodShrineBoss:: @ 08102CC4 gAreaTiles_DeepwoodShrineBoss:: @ 08102CC4
tiles_bottom offset_gAreaTileset_DeepwoodShrineBoss_bottom, 0x3620, 1 tiles_bottom offset_gAreaTileSet_DeepwoodShrineBoss_bottom, 0x3620, 1
tiles_top offset_gAreaTileset_DeepwoodShrineBoss_top, 0x11F8, 1 tiles_top offset_gAreaTileSet_DeepwoodShrineBoss_top, 0x11F8, 1
tile_types_bottom offset_gAreaTilesetTypes_DeepwoodShrineBoss_bottom, 0xD88, 1 tile_types_bottom offset_gAreaTileSetTypes_DeepwoodShrineBoss_bottom, 0xD88, 1
tile_types_top offset_gAreaTilesetTypes_DeepwoodShrineBoss_top, 0x47E, 1, 1 tile_types_top offset_gAreaTileSetTypes_DeepwoodShrineBoss_top, 0x47E, 1, 1
gAreaTiles_DeepwoodShrineEntry:: @ 08102CF4 gAreaTiles_DeepwoodShrineEntry:: @ 08102CF4
tiles_bottom offset_gAreaTileset_DeepwoodShrineEntry_bottom, 0xD08, 1 tiles_bottom offset_gAreaTileSet_DeepwoodShrineEntry_bottom, 0xD08, 1
tiles_top offset_gAreaTileset_DeepwoodShrineEntry_top, 0x9F8, 1 tiles_top offset_gAreaTileSet_DeepwoodShrineEntry_top, 0x9F8, 1
tile_types_bottom offset_gAreaTilesetTypes_DeepwoodShrineEntry_bottom, 0x342, 1 tile_types_bottom offset_gAreaTileSetTypes_DeepwoodShrineEntry_bottom, 0x342, 1
tile_types_top offset_gAreaTilesetTypes_DeepwoodShrineEntry_top, 0x27E, 1, 1 tile_types_top offset_gAreaTileSetTypes_DeepwoodShrineEntry_top, 0x27E, 1, 1
gAreaTiles_CaveOfFlames:: @ 08102D24 gAreaTiles_CaveOfFlames:: @ 08102D24
tiles_bottom offset_gAreaTileset_CaveOfFlames_bottom, 0x3B08, 1 tiles_bottom offset_gAreaTileSet_CaveOfFlames_bottom, 0x3B08, 1
tiles_top offset_gAreaTileset_CaveOfFlames_top, 0x3F28, 1 tiles_top offset_gAreaTileSet_CaveOfFlames_top, 0x3F28, 1
tile_types_bottom offset_gAreaTilesetTypes_CaveOfFlames_bottom, 0xEC2, 1 tile_types_bottom offset_gAreaTileSetTypes_CaveOfFlames_bottom, 0xEC2, 1
tile_types_top offset_gAreaTilesetTypes_CaveOfFlames_top, 0xFCA, 1, 1 tile_types_top offset_gAreaTileSetTypes_CaveOfFlames_top, 0xFCA, 1, 1
gAreaTiles_CaveOfFlamesBoss:: @ 08102D54 gAreaTiles_CaveOfFlamesBoss:: @ 08102D54
tiles_bottom offset_gAreaTileset_CaveOfFlamesBoss_bottom, 0x3B08, 1 tiles_bottom offset_gAreaTileSet_CaveOfFlamesBoss_bottom, 0x3B08, 1
tiles_top offset_gAreaTileset_CaveOfFlamesBoss_top, 0x3610, 1 tiles_top offset_gAreaTileSet_CaveOfFlamesBoss_top, 0x3610, 1
tile_types_bottom offset_gAreaTilesetTypes_CaveOfFlamesBoss_bottom, 0xEC2, 1 tile_types_bottom offset_gAreaTileSetTypes_CaveOfFlamesBoss_bottom, 0xEC2, 1
tile_types_top offset_gAreaTilesetTypes_CaveOfFlamesBoss_top, 0xD84, 1, 1 tile_types_top offset_gAreaTileSetTypes_CaveOfFlamesBoss_top, 0xD84, 1, 1
gAreaTiles_FortressOfWinds:: @ 08102D84 gAreaTiles_FortressOfWinds:: @ 08102D84
tiles_bottom offset_gAreaTileset_CastorDarknut_bottom, 0x3868, 1 tiles_bottom offset_gAreaTileSet_CastorDarknut_bottom, 0x3868, 1
tiles_top offset_gAreaTileset_CastorDarknut_top, 0x3850, 1 tiles_top offset_gAreaTileSet_CastorDarknut_top, 0x3850, 1
tile_types_bottom offset_gAreaTilesetTypes_CastorDarknut_bottom, 0xE1A, 1 tile_types_bottom offset_gAreaTileSetTypes_CastorDarknut_bottom, 0xE1A, 1
tile_types_top offset_gAreaTilesetTypes_CastorDarknut_top, 0xE14, 1, 1 tile_types_top offset_gAreaTileSetTypes_CastorDarknut_top, 0xE14, 1, 1
gAreaTiles_FortressOfWindsTop:: @ 08102DB4 gAreaTiles_FortressOfWindsTop:: @ 08102DB4
tiles_bottom offset_gAreaTileset_FortressOfWindsTop_bottom, 0x1440, 1 tiles_bottom offset_gAreaTileSet_FortressOfWindsTop_bottom, 0x1440, 1
tiles_top offset_gAreaTileset_FortressOfWindsTop_top, 0x1368, 1 tiles_top offset_gAreaTileSet_FortressOfWindsTop_top, 0x1368, 1
tile_types_bottom offset_gAreaTilesetTypes_FortressOfWindsTop_bottom, 0x510, 1 tile_types_bottom offset_gAreaTileSetTypes_FortressOfWindsTop_bottom, 0x510, 1
tile_types_top offset_gAreaTilesetTypes_FortressOfWindsTop_top, 0x4DA, 1, 1 tile_types_top offset_gAreaTileSetTypes_FortressOfWindsTop_top, 0x4DA, 1, 1
gAreaTiles_InnerMazaal:: @ 08102DE4 gAreaTiles_InnerMazaal:: @ 08102DE4
tiles_bottom offset_gAreaTileset_InnerMazaal_bottom, 0x3C00, 1 tiles_bottom offset_gAreaTileSet_InnerMazaal_bottom, 0x3C00, 1
tiles_top offset_gAreaTileset_InnerMazaal_top, 0x3E70, 1 tiles_top offset_gAreaTileSet_InnerMazaal_top, 0x3E70, 1
tile_types_bottom offset_gAreaTilesetTypes_InnerMazaal_bottom, 0xF00, 1 tile_types_bottom offset_gAreaTileSetTypes_InnerMazaal_bottom, 0xF00, 1
tile_types_top offset_gAreaTilesetTypes_InnerMazaal_top, 0xF9C, 1, 1 tile_types_top offset_gAreaTileSetTypes_InnerMazaal_top, 0xF9C, 1, 1
gAreaTiles_TempleOfDroplets:: @ 08102E14 gAreaTiles_TempleOfDroplets:: @ 08102E14
tiles_bottom offset_gAreaTileset_TempleOfDroplets_bottom, 0x3D68, 1 tiles_bottom offset_gAreaTileSet_TempleOfDroplets_bottom, 0x3D68, 1
tiles_top offset_gAreaTileset_TempleOfDroplets_top, 0x4000, 1 tiles_top offset_gAreaTileSet_TempleOfDroplets_top, 0x4000, 1
tile_types_bottom offset_gAreaTilesetTypes_TempleOfDroplets_bottom, 0xF5A, 1 tile_types_bottom offset_gAreaTileSetTypes_TempleOfDroplets_bottom, 0xF5A, 1
tile_types_top offset_gAreaTilesetTypes_TempleOfDroplets_top, 0x1000, 1, 1 tile_types_top offset_gAreaTileSetTypes_TempleOfDroplets_top, 0x1000, 1, 1
gAreaTiles_61:: @ 08102E44 gAreaTiles_61:: @ 08102E44
tiles_bottom offset_gAreaTileset_Null61_bottom, 0x600, 1 tiles_bottom offset_gAreaTileSet_Null61_bottom, 0x600, 1
tiles_top offset_gAreaTileset_Null61_top, 0x398, 1 tiles_top offset_gAreaTileSet_Null61_top, 0x398, 1
tile_types_bottom offset_gAreaTilesetTypes_Null61_bottom, 0x180, 1 tile_types_bottom offset_gAreaTileSetTypes_Null61_bottom, 0x180, 1
tile_types_top offset_gAreaTilesetTypes_Null61_top, 0xE6, 1, 1 tile_types_top offset_gAreaTileSetTypes_Null61_top, 0xE6, 1, 1
gAreaTiles_RoyalCrypt:: @ 08102E74 gAreaTiles_RoyalCrypt:: @ 08102E74
tiles_bottom offset_gAreaTileset_RoyalCrypt_bottom, 0x3610, 1 tiles_bottom offset_gAreaTileSet_RoyalCrypt_bottom, 0x3610, 1
tiles_top offset_gAreaTileset_RoyalCrypt_top, 0x3610, 1 tiles_top offset_gAreaTileSet_RoyalCrypt_top, 0x3610, 1
tile_types_bottom offset_gAreaTilesetTypes_RoyalCrypt_bottom, 0xD84, 1 tile_types_bottom offset_gAreaTileSetTypes_RoyalCrypt_bottom, 0xD84, 1
tile_types_top offset_gAreaTilesetTypes_RoyalCrypt_top, 0xD84, 1, 1 tile_types_top offset_gAreaTileSetTypes_RoyalCrypt_top, 0xD84, 1, 1
gAreaTiles_PalaceOfWinds:: @ 08102EA4 gAreaTiles_PalaceOfWinds:: @ 08102EA4
tiles_bottom offset_gAreaTileset_PalaceOfWinds_bottom, 0x3620, 1 tiles_bottom offset_gAreaTileSet_PalaceOfWinds_bottom, 0x3620, 1
tiles_top offset_gAreaTileset_PalaceOfWinds_top, 0x3620, 1 tiles_top offset_gAreaTileSet_PalaceOfWinds_top, 0x3620, 1
tile_types_bottom offset_gAreaTilesetTypes_PalaceOfWinds_bottom, 0xD88, 1 tile_types_bottom offset_gAreaTileSetTypes_PalaceOfWinds_bottom, 0xD88, 1
tile_types_top offset_gAreaTilesetTypes_PalaceOfWinds_top, 0xD88, 1, 1 tile_types_top offset_gAreaTileSetTypes_PalaceOfWinds_top, 0xD88, 1, 1
gAreaTiles_PalaceOfWindsBoss:: @ 08102ED4 gAreaTiles_PalaceOfWindsBoss:: @ 08102ED4
tiles_top offset_gAreaTileset_PalaceOfWindsBoss_top, 0x108, 1 tiles_top offset_gAreaTileSet_PalaceOfWindsBoss_top, 0x108, 1
tile_types_top offset_gAreaTilesetTypes_PalaceOfWindsBoss_top, 0x42, 1, 1 tile_types_top offset_gAreaTileSetTypes_PalaceOfWindsBoss_top, 0x42, 1, 1
gAreaTiles_Sanctuary:: @ 08102EEC gAreaTiles_Sanctuary:: @ 08102EEC
tiles_bottom offset_gAreaTileset_Sanctuary_bottom, 0x3620, 1 tiles_bottom offset_gAreaTileSet_Sanctuary_bottom, 0x3620, 1
tiles_top offset_gAreaTileset_Sanctuary_top, 0x3620, 1 tiles_top offset_gAreaTileSet_Sanctuary_top, 0x3620, 1
tile_types_bottom offset_gAreaTilesetTypes_Sanctuary_bottom, 0xD88, 1 tile_types_bottom offset_gAreaTileSetTypes_Sanctuary_bottom, 0xD88, 1
tile_types_top offset_gAreaTilesetTypes_Sanctuary_top, 0xD88, 1, 1 tile_types_top offset_gAreaTileSetTypes_Sanctuary_top, 0xD88, 1, 1
gAreaTiles_HyruleCastle:: @ 08102F1C gAreaTiles_HyruleCastle:: @ 08102F1C
tiles_bottom offset_gAreaTileset_HyruleCastle_bottom, 0x37C0, 1 tiles_bottom offset_gAreaTileSet_HyruleCastle_bottom, 0x37C0, 1
tiles_top offset_gAreaTileset_HyruleCastle_top, 0x3610, 1 tiles_top offset_gAreaTileSet_HyruleCastle_top, 0x3610, 1
tile_types_bottom offset_gAreaTilesetTypes_HyruleCastle_bottom, 0xDF0, 1 tile_types_bottom offset_gAreaTileSetTypes_HyruleCastle_bottom, 0xDF0, 1
tile_types_top offset_gAreaTilesetTypes_HyruleCastle_top, 0xD84, 1, 1 tile_types_top offset_gAreaTileSetTypes_HyruleCastle_top, 0xD84, 1, 1
gAreaTiles_SanctuaryEntrance:: @ 08102F4C gAreaTiles_SanctuaryEntrance:: @ 08102F4C
tiles_bottom offset_gAreaTileset_SanctuaryEntrance_bottom, 0x1478, 1 tiles_bottom offset_gAreaTileSet_SanctuaryEntrance_bottom, 0x1478, 1
tiles_top offset_gAreaTileset_SanctuaryEntrance_top, 0xFF0, 1 tiles_top offset_gAreaTileSet_SanctuaryEntrance_top, 0xFF0, 1
tile_types_bottom offset_gAreaTilesetTypes_SanctuaryEntrance_bottom, 0x51E, 1 tile_types_bottom offset_gAreaTileSetTypes_SanctuaryEntrance_bottom, 0x51E, 1
tile_types_top offset_gAreaTilesetTypes_SanctuaryEntrance_top, 0x3FC, 1, 1 tile_types_top offset_gAreaTileSetTypes_SanctuaryEntrance_top, 0x3FC, 1, 1
gAreaTiles_DarkHyruleCastle:: @ 08102F7C gAreaTiles_DarkHyruleCastle:: @ 08102F7C
tiles_bottom offset_gAreaTileset_DarkHyruleCastle_bottom, 0x3FD8, 1 tiles_bottom offset_gAreaTileSet_DarkHyruleCastle_bottom, 0x3FD8, 1
tiles_top offset_gAreaTileset_DarkHyruleCastle_top, 0x37C0, 1 tiles_top offset_gAreaTileSet_DarkHyruleCastle_top, 0x37C0, 1
tile_types_bottom offset_gAreaTilesetTypes_DarkHyruleCastle_bottom, 0xFF6, 1 tile_types_bottom offset_gAreaTileSetTypes_DarkHyruleCastle_bottom, 0xFF6, 1
tile_types_top offset_gAreaTilesetTypes_DarkHyruleCastle_top, 0xDF0, 1, 1 tile_types_top offset_gAreaTileSetTypes_DarkHyruleCastle_top, 0xDF0, 1, 1
gAreaTiles_DarkHyruleCastleOutside:: @ 08102FAC gAreaTiles_DarkHyruleCastleOutside:: @ 08102FAC
tiles_bottom offset_gAreaTileset_DarkHyruleCastleOutside_bottom, 0x3340, 1 tiles_bottom offset_gAreaTileSet_DarkHyruleCastleOutside_bottom, 0x3340, 1
tiles_top offset_gAreaTileset_DarkHyruleCastleOutside_top, 0x1EF0, 1 tiles_top offset_gAreaTileSet_DarkHyruleCastleOutside_top, 0x1EF0, 1
tile_types_bottom offset_gAreaTilesetTypes_DarkHyruleCastleOutside_bottom, 0xCD0, 1 tile_types_bottom offset_gAreaTileSetTypes_DarkHyruleCastleOutside_bottom, 0xCD0, 1
tile_types_top offset_gAreaTilesetTypes_DarkHyruleCastleOutside_top, 0x7BC, 1, 1 tile_types_top offset_gAreaTileSetTypes_DarkHyruleCastleOutside_top, 0x7BC, 1, 1
gAreaTiles_DarkHyruleCastleBridge:: @ 08102FDC gAreaTiles_DarkHyruleCastleBridge:: @ 08102FDC
tiles_bottom offset_gAreaTileset_DarkHyruleCastleBridge_bottom, 0x3610, 1 tiles_bottom offset_gAreaTileSet_DarkHyruleCastleBridge_bottom, 0x3610, 1
tiles_top offset_gAreaTileset_DarkHyruleCastleBridge_top, 0x3610, 1 tiles_top offset_gAreaTileSet_DarkHyruleCastleBridge_top, 0x3610, 1
tile_types_bottom offset_gAreaTilesetTypes_DarkHyruleCastleBridge_bottom, 0xD84, 1 tile_types_bottom offset_gAreaTileSetTypes_DarkHyruleCastleBridge_bottom, 0xD84, 1
tile_types_top offset_gAreaTilesetTypes_DarkHyruleCastleBridge_top, 0xD84, 1, 1 tile_types_top offset_gAreaTileSetTypes_DarkHyruleCastleBridge_top, 0xD84, 1, 1
gAreaTiles_VaatisArms:: @ 0810300C gAreaTiles_VaatisArms:: @ 0810300C
tiles_bottom offset_gAreaTileset_VaatisArms_bottom, 0x17C8, 1 tiles_bottom offset_gAreaTileSet_VaatisArms_bottom, 0x17C8, 1
tiles_top offset_gAreaTileset_VaatisArms_top, 0xBC0, 1 tiles_top offset_gAreaTileSet_VaatisArms_top, 0xBC0, 1
tile_types_bottom offset_gAreaTilesetTypes_VaatisArms_bottom, 0x5F2, 1 tile_types_bottom offset_gAreaTileSetTypes_VaatisArms_bottom, 0x5F2, 1
tile_types_top offset_gAreaTilesetTypes_VaatisArms_top, 0x2F0, 1, 1 tile_types_top offset_gAreaTileSetTypes_VaatisArms_top, 0x2F0, 1, 1
gAreaTiles_Vaati3:: @ 0810303C gAreaTiles_Vaati3:: @ 0810303C
tiles_bottom offset_gAreaTileset_Vaati3_bottom, 0xE80, 1 tiles_bottom offset_gAreaTileSet_Vaati3_bottom, 0xE80, 1
tiles_top offset_gAreaTileset_Vaati3_top, 0x9B8, 1 tiles_top offset_gAreaTileSet_Vaati3_top, 0x9B8, 1
tile_types_bottom offset_gAreaTilesetTypes_Vaati3_bottom, 0x3A0, 1 tile_types_bottom offset_gAreaTileSetTypes_Vaati3_bottom, 0x3A0, 1
tile_types_top offset_gAreaTilesetTypes_Vaati3_top, 0x26E, 1, 1 tile_types_top offset_gAreaTileSetTypes_Vaati3_top, 0x26E, 1, 1
gAreaTiles_Vaati2:: @ 0810306C gAreaTiles_Vaati2:: @ 0810306C
tiles_bottom offset_gAreaTileset_Vaati2_bottom, 0x850, 1 tiles_bottom offset_gAreaTileSet_Vaati2_bottom, 0x850, 1
tiles_top offset_gAreaTileset_Vaati2_top, 0x298, 1 tiles_top offset_gAreaTileSet_Vaati2_top, 0x298, 1
tile_types_bottom offset_gAreaTilesetTypes_Vaati2_bottom, 0x214, 1 tile_types_bottom offset_gAreaTileSetTypes_Vaati2_bottom, 0x214, 1
tile_types_top offset_gAreaTilesetTypes_Vaati2_top, 0xA6, 1, 1 tile_types_top offset_gAreaTileSetTypes_Vaati2_top, 0xA6, 1, 1
gAreaTiles:: @ 0810309C gAreaTiles:: @ 0810309C

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ SCRIPT_START script_IntroCameraTarget
SetFadeTime 0x0002 SetFadeTime 0x0002
@ Fade in @ Fade in
SetFade4 SetFade4
WaitForFadeFinish @ TODO wait for fade to be finished WaitForFadeFinish
Wait 0x0078 Wait 0x0078
SetSyncFlag 0x00000004 SetSyncFlag 0x00000004
Call sub_08053648 Call sub_08053648

View File

@ -22,7 +22,7 @@ typedef struct {
u16 pixel_height; u16 pixel_height;
u16 map_x; u16 map_x;
u16 map_y; u16 map_y;
MapDataDefinition* tileset; MapDataDefinition* tileSet;
MapDataDefinition* map; MapDataDefinition* map;
MapDataDefinition* tiles; MapDataDefinition* tiles;
void* bg_anim; void* bg_anim;
@ -82,7 +82,7 @@ typedef struct {
u16 map_y; u16 map_y;
u16 pixel_width; u16 pixel_width;
u16 pixel_height; u16 pixel_height;
u16 tileset_id; u16 tileSet_id;
} FORCE_WORD_ALIGNED RoomHeader; } FORCE_WORD_ALIGNED RoomHeader;
static_assert(sizeof(RoomHeader) == 0xa); static_assert(sizeof(RoomHeader) == 0xa);
extern RoomHeader* gAreaRoomHeaders[]; extern RoomHeader* gAreaRoomHeaders[];

View File

@ -49,11 +49,11 @@ typedef struct {
/*0x0b*/ SaveFile saves[3]; /*0x0b*/ SaveFile saves[3];
} struct_02019EE0; } struct_02019EE0;
extern struct_02019EE0 gMapDataBottomSpecial; extern struct_02019EE0 gMapDataBottomSpecial;
// TODO size: 0x8000 from ClearTilemaps? // TODO size: 0x8000 from ClearTileMaps?
extern void sub_08056FEC(u32, struct_020227E8*); extern void sub_08056FEC(u32, struct_020227E8*);
extern u32 ShowTextBox(u32 textIndexOrPtr, const Font* font); extern u32 ShowTextBox(u32 textIndexOrPtr, const Font* font);
extern void ClearTilemaps(void); extern void ClearTileMaps(void);
extern void ResetSaveFile(u32); extern void ResetSaveFile(u32);
extern WStruct* sub_0805F2C8(void); extern WStruct* sub_0805F2C8(void);
extern u32 sub_0805F7DC(u32, WStruct*); extern u32 sub_0805F7DC(u32, WStruct*);

View File

@ -96,7 +96,7 @@ extern void MinishPortalManager_Main();
extern void DiggingCaveEntranceManager_Main(); extern void DiggingCaveEntranceManager_Main();
extern void BridgeManager_Main(); extern void BridgeManager_Main();
extern void SpecialWarpManager_Main(); extern void SpecialWarpManager_Main();
extern void MinishVillageTilesetManager_Main(); extern void MinishVillageTileSetManager_Main();
extern void HorizontalMinishPathBackgroundManager_Main(); extern void HorizontalMinishPathBackgroundManager_Main();
extern void MinishRaftersBackgroundManager_Main(); extern void MinishRaftersBackgroundManager_Main();
extern void EzloHintManager_Main(); extern void EzloHintManager_Main();
@ -107,7 +107,7 @@ extern void EntitySpawnManager_Main();
extern void MiscManager_Main(); extern void MiscManager_Main();
extern void WeatherChangeManager_Main(); extern void WeatherChangeManager_Main();
extern void FlagAndOperatorManager_Main(); extern void FlagAndOperatorManager_Main();
extern void HyruleTownTilesetManager_Main(); extern void HyruleTownTileSetManager_Main();
extern void HouseSignManager_Main(); extern void HouseSignManager_Main();
extern void SteamOverlayManager_Main(); extern void SteamOverlayManager_Main();
extern void TempleOfDropletsManager_Main(); extern void TempleOfDropletsManager_Main();

View File

@ -8,6 +8,6 @@ typedef struct {
u8 field_0x20; u8 field_0x20;
u8 field_0x21; u8 field_0x21;
u8 field_0x22; u8 field_0x22;
} HyruleTownTilesetManager; } HyruleTownTileSetManager;
#endif // HYRULETOWNTILESETMANAGER_H #endif // HYRULETOWNTILESETMANAGER_H

View File

@ -7,6 +7,6 @@ typedef struct {
Manager base; Manager base;
u8 unk_20; u8 unk_20;
u8 unk_21[0x1F]; u8 unk_21[0x1F];
} MinishVillageTilesetManager; } MinishVillageTileSetManager;
#endif // MINISHVILLAGETILESETMANAGER_H #endif // MINISHVILLAGETILESETMANAGER_H

View File

@ -4,20 +4,33 @@
#include "screen.h" #include "screen.h"
/** /**
* @page TileMap TileMap * @page TileMap Tile Map
* @brief The map consists of tiles to create the world. * @brief The map consists of tiles to create the world.
* *
* 16x16 tiles * GBA graphics are made out of tiles with a size of 8px by 8px. We call those tiles *subTiles*.
* 8x8 subTiles * Four of those subTiles are combined together to form a bigger 16px by 16px tile (usually called metaTile). We call these *tiles*.
* *
* tileIndex index into the tile set * Each map can be up to 64 * 64 tiles big. The map consists of two layers of tiles gMapTop and gMapBottom.
* 0 to 0x800, special tiles at 0x4000 to 0x4096 * To access the map array the tilePos index can be used which goes from 0 to 64 * 64 = 4096.
* tilePos index into the current map * Each value in the MapLayer.mapData is a tileIndex which defined which tile of the tileSet should be used.
* tileType * The tileSet contains tiles from 0 to 2048. Special tileIndex from 0x4000 to 0x4096 can be used to denote special tiles.
* collisionData *
* * A tile is created from four subTiles. The subTiles for each tile in the tileSet are stored in MapLayer.subTiles. This is loaded for the current area from gAreaTileSets_*.
* The subTiles can also be flipped or the palette changed. This is stored in bits 0xa to 0xf, see https://www.coranac.com/tonc/text/regbg.htm#sec-map.
*
* Each tile in the tileSet also has a tileType defined. This is stored in MapLayer.tileTypes and loaded from gAreaTileSetTypes_*.
* The inverse dictionary from tileType to tileIndex is stored in MapLayer.tileIndices.
*
* The map also stores the collision for each tile in the tileMap layer in MapLayer.collisionData. By default this is filled from gMapTileTypeToCollisionData based on the tileType of the tiles.
* But it can also be loaded from gRoomCollisionMap_*.
* In MapLayer.actTiles some additional type for each tile is stored which is filled from gMapTileTypeToActTile based on the tileType of the tiles.
*/ */
// Maximum width or height of a map in tiles.
#define MAX_MAP_SIZE 64
// Maximum amount of tiles in a tileSet.
#define TILESET_SIZE 2048
/** /**
* @brief Layer of the TileMap. * @brief Layer of the TileMap.
* @ingroup TileMap * @ingroup TileMap
@ -27,62 +40,80 @@ typedef struct {
/** /**
* tileIndex for each tile on the current layer. * tileIndex for each tile on the current layer.
*/ */
/*0x0004*/ u16 mapData[0x40 * 0x40]; /*0x0004*/ u16 mapData[MAX_MAP_SIZE * MAX_MAP_SIZE];
/** /**
* Collision data for each tile on the current layer. * Collision data for each tile on the current layer.
* @see CollisionData * @see CollisionData
*/ */
/*0x2004*/ u8 collisionData[0x40 * 0x40]; /*0x2004*/ u8 collisionData[MAX_MAP_SIZE * MAX_MAP_SIZE];
/** /**
* Copy of the map data. * Copy of the map data.
* @see mapData * @see mapData
*/ */
/*0x3004*/ u16 mapDataOriginal[0x40 * 0x40]; /*0x3004*/ u16 mapDataOriginal[MAX_MAP_SIZE * MAX_MAP_SIZE];
/** /**
* Maps from the tileIndex to the tileType. * Maps from the tileIndex to the tileType.
* @see TileType * @see TileType
*/ */
/*0x5004*/ u16 tileTypes[0x800]; /*0x5004*/ u16 tileTypes[TILESET_SIZE];
/** /**
* Maps from a tileType to a tileIndex. Inverse of @see tileTypes. * Maps from a tileType to a tileIndex. Inverse of @see tileTypes.
* @see TileType * @see TileType
*/ */
/*0x6004*/ u16 tileIndices[0x800]; /*0x6004*/ u16 tileIndices[TILESET_SIZE];
/** /**
* Maps from a tile index to the four sub tiles (with attributes) it consists of. * Maps from a tile index to the four sub tiles (with attributes) it consists of.
* @see https://www.coranac.com/tonc/text/regbg.htm#sec-map * @see https://www.coranac.com/tonc/text/regbg.htm#sec-map
*/ */
/*0x7004*/ u16 subTiles[0x800 * 4]; /*0x7004*/ u16 subTiles[TILESET_SIZE * 4];
/** /**
* Some sort of special behavior for tiles? Falling into holes or jumping off walls does not work when this is all zero. * Some sort of special behavior for tiles? Falling into holes or jumping off walls does not work when this is all zero.
* @see ActTile * @see ActTile
*/ */
/*0xb004*/ u8 actTiles[0x40*0x40]; /*0xb004*/ u8 actTiles[MAX_MAP_SIZE * MAX_MAP_SIZE];
} MapLayer; } MapLayer;
extern MapLayer gMapTop; extern MapLayer gMapTop;
extern MapLayer gMapBottom; extern MapLayer gMapBottom;
extern MapLayer* GetLayerByIndex(u32 layer);
/*
Definition where some map data is found and where it should be copied to.
Defined using the map_data asm macro, e.g. in map_headers.s
*/
typedef struct {
u32 src;
void* dest;
u32 size;
} MapDataDefinition;
// There is another map data definition following.
#define MAP_MULTIPLE 0x80000000
// The src is compressed.
#define MAP_COMPRESSED 0x80000000
typedef enum { typedef enum {
LAYER_BOTTOM = 1, LAYER_BOTTOM = 1,
LAYER_TOP = 2, LAYER_TOP = 2,
} LayerIndex; } LayerIndex;
/**
* Returns the MapLayer for a layer of the map.
*
* @param layer @see LayerIndex
*/
extern MapLayer* GetLayerByIndex(u32 layer);
// There is another map data definition following.
#define MAP_MULTIPLE 0x80000000
// The src is compressed.
#define MAP_COMPRESSED 0x80000000
/**
* Definition where some map data is found and where it should be copied to.
* Defined using the map_data asm macro, e.g. in map_headers.s
*/
typedef struct {
/**
* @brief Source offset from gMapData.
*
* MAP_MULTIPLE bit is set if there is another MapDataDefinition following.
*/
u32 src;
/**
* Target pointer where to load or decompress the map data to.
*/
void* dest;
/**
* @brief Size of the map data in bytes.
*
* MAP_COMPRESSED bit is set if the map data is compressed.
*/
u32 size;
} MapDataDefinition;
#endif // MAP_H #endif // MAP_H

View File

@ -56,7 +56,7 @@ typedef struct {
/*0x28*/ union SplitWord bg3OffsetX; /*0x28*/ union SplitWord bg3OffsetX;
/*0x2C*/ union SplitWord bg3OffsetY; /*0x2C*/ union SplitWord bg3OffsetY;
/*0x30*/ Entity* camera_target; /*0x30*/ Entity* camera_target;
/*0x34*/ u32 tileset; // TODO Should be MapDataDefinition*, but then SetupTileSet does not match. /*0x34*/ u32 tileSet; // TODO Should be MapDataDefinition*, but then LoadRoomTileSet does not match.
} RoomControls; } RoomControls;
extern RoomControls gRoomControls; extern RoomControls gRoomControls;

View File

@ -3,10 +3,10 @@
#include "global.h" #include "global.h"
// gMapDataTopSpecial and gMapDataBottomSpecial are tilemaps of 8x8 pixels. But they are also reused for other data in // gMapDataTopSpecial and gMapDataBottomSpecial are tileMaps of 8x8 pixels. But they are also reused for other data in
// other parts of the game. // other parts of the game.
// Rendered tilemaps https://www.coranac.com/tonc/text/regbg.htm#sec-map // Rendered tileMaps https://www.coranac.com/tonc/text/regbg.htm#sec-map
extern u16 gMapDataTopSpecial[0x4000]; extern u16 gMapDataTopSpecial[0x4000];
extern u16 gMapDataBottomSpecial[0x4000]; extern u16 gMapDataBottomSpecial[0x4000];

View File

@ -430,7 +430,7 @@ SECTIONS {
src/manager/diggingCaveEntranceManager.o(.text); src/manager/diggingCaveEntranceManager.o(.text);
src/manager/bridgeManager.o(.text); src/manager/bridgeManager.o(.text);
src/manager/specialWarpManager.o(.text); src/manager/specialWarpManager.o(.text);
src/manager/minishVillageTilesetManager.o(.text); src/manager/minishVillageTileSetManager.o(.text);
src/manager/horizontalMinishPathBackgroundManager.o(.text); src/manager/horizontalMinishPathBackgroundManager.o(.text);
src/manager/minishRaftersBackgroundManager.o(.text); src/manager/minishRaftersBackgroundManager.o(.text);
src/manager/ezloHintManager.o(.text); src/manager/ezloHintManager.o(.text);
@ -441,7 +441,7 @@ SECTIONS {
src/manager/miscManager.o(.text); src/manager/miscManager.o(.text);
src/manager/weatherChangeManager.o(.text); src/manager/weatherChangeManager.o(.text);
src/manager/flagAndOperatorManager.o(.text); src/manager/flagAndOperatorManager.o(.text);
src/manager/hyruleTownTilesetManager.o(.text); src/manager/hyruleTownTileSetManager.o(.text);
src/manager/houseSignManager.o(.text); src/manager/houseSignManager.o(.text);
src/manager/steamOverlayManager.o(.text); src/manager/steamOverlayManager.o(.text);
src/manager/templeOfDropletsManager.o(.text); src/manager/templeOfDropletsManager.o(.text);
@ -599,7 +599,7 @@ SECTIONS {
src/playerUtils.o(.text); src/playerUtils.o(.text);
src/flags.o(.text); src/flags.o(.text);
src/save.o(.text); src/save.o(.text);
src/screenTilemap.o(.text); src/screenTileMap.o(.text);
src/script.o(.text); src/script.o(.text);
src/scroll.o(.text); src/scroll.o(.text);
/* objects */ /* objects */
@ -1130,7 +1130,7 @@ SECTIONS {
src/manager/minishPortalManager.o(.rodata); src/manager/minishPortalManager.o(.rodata);
src/manager/diggingCaveEntranceManager.o(.rodata); src/manager/diggingCaveEntranceManager.o(.rodata);
src/manager/bridgeManager.o(.rodata); src/manager/bridgeManager.o(.rodata);
src/manager/minishVillageTilesetManager.o(.rodata); src/manager/minishVillageTileSetManager.o(.rodata);
. = ALIGN(4); . = ALIGN(4);
src/manager/minishRaftersBackgroundManager.o(.rodata); src/manager/minishRaftersBackgroundManager.o(.rodata);
src/manager/ezloHintManager.o(.rodata); src/manager/ezloHintManager.o(.rodata);
@ -1139,7 +1139,7 @@ SECTIONS {
src/manager/tileChangeObserveManager.o(.rodata); src/manager/tileChangeObserveManager.o(.rodata);
src/manager/miscManager.o(.rodata); src/manager/miscManager.o(.rodata);
src/manager/weatherChangeManager.o(.rodata); src/manager/weatherChangeManager.o(.rodata);
src/manager/hyruleTownTilesetManager.o(.rodata); src/manager/hyruleTownTileSetManager.o(.rodata);
src/manager/houseSignManager.o(.rodata); src/manager/houseSignManager.o(.rodata);
src/manager/steamOverlayManager.o(.rodata); src/manager/steamOverlayManager.o(.rodata);
src/manager/templeOfDropletsManager.o(.rodata); src/manager/templeOfDropletsManager.o(.rodata);

View File

@ -20,7 +20,7 @@
extern void sub_0807C898(void); extern void sub_0807C898(void);
extern void sub_0805BB74(s32); extern void sub_0805BB74(s32);
extern void LoadRoomGfx(void); extern void LoadRoomGfx(void);
extern void SetupTileSet(void); extern void LoadRoomTileSet(void);
extern void sub_0807C4F8(void); extern void sub_0807C4F8(void);
extern void gMapData; extern void gMapData;
@ -1014,7 +1014,7 @@ void RenderMapLayerToSubTileMap(u16* subTileMap, MapLayer* mapLayer) {
u16 tileX; u16 tileX;
u32 tilePosAndLayer; u32 tilePosAndLayer;
u32 layerIndex; u32 layerIndex;
// Index into the tileset at MapLayer.tiles // Index into the tileSet at MapLayer.tiles
u32 tileSetIndex; u32 tileSetIndex;
if (mapLayer == &gMapBottom) { if (mapLayer == &gMapBottom) {
@ -1187,8 +1187,8 @@ u32 sub_0801AE34(void) {
void sub_0801AE44(bool32 loadGfx) { void sub_0801AE44(bool32 loadGfx) {
void (*func)(void); void (*func)(void);
gRoomControls.tileset = (u32)NULL; gRoomControls.tileSet = (u32)NULL;
SetupTileSet(); LoadRoomTileSet();
if (loadGfx != 0) { if (loadGfx != 0) {
LoadRoomGfx(); LoadRoomGfx();
} }

View File

@ -3,9 +3,9 @@
/* /*
Tiles for the borders of the cave that are loaded during the transition. Tiles for the borders of the cave that are loaded during the transition.
When the player goes inside a cave during the start of the enter transition the border tilemap is loaded and at the When the player goes inside a cave during the start of the enter transition the border tileMap is loaded and at the
end the tilemap for the cave is loaded. When the player goes out of a cave during the start of the leave transition end the tileMap for the cave is loaded. When the player goes out of a cave during the start of the leave transition
the border tilemap is loaded and at the end the tilemap for the outside is loaded. the border tileMap is loaded and at the end the tileMap for the outside is loaded.
*/ */
const MapDataDefinition gCaveBorder_LakeWoods_enter_start[] = { const MapDataDefinition gCaveBorder_LakeWoods_enter_start[] = {

View File

@ -1115,7 +1115,6 @@ void sub_08036998(OctorokBossEntity* this) {
s32 tmp3; s32 tmp3;
s32 a, b; s32 a, b;
// TODO regalloc in this awful structure here
tmp2 = &this->timer; tmp2 = &this->timer;
tmp = super->subtimer + (tmp3 = (u8)*tmp2); tmp = super->subtimer + (tmp3 = (u8)*tmp2);
*tmp2 = tmp; *tmp2 = tmp;

View File

@ -401,14 +401,14 @@ void sub_080256B4(PuffstoolEntity* this) {
bool32 sub_0802571C(PuffstoolEntity* this) { bool32 sub_0802571C(PuffstoolEntity* this) {
RoomControls* ctrl = &gRoomControls; RoomControls* ctrl = &gRoomControls;
u16 xDiff = (super->x.HALF.HI - ctrl->origin_x + 8) & -0x10; u16 roomX = (super->x.HALF.HI - ctrl->origin_x + 8) & -0x10;
u16 yDiff = (super->y.HALF.HI - ctrl->origin_y + 8) & -0x10; u16 roomY = (super->y.HALF.HI - ctrl->origin_y + 8) & -0x10;
u16 unk = this->unk_7a; u16 unk = this->unk_7a;
u16 i; u16 i;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
u16 sVar3 = xDiff + gUnk_080CC020[unk + 0]; u16 sVar3 = roomX + gUnk_080CC020[unk + 0];
u16 sVar4 = yDiff + gUnk_080CC020[unk + 1]; u16 sVar4 = roomY + gUnk_080CC020[unk + 1];
if (sub_080257EC(this, sVar3, sVar4)) { if (sub_080257EC(this, sVar3, sVar4)) {
this->unk_7c = sVar3 + ctrl->origin_x; this->unk_7c = sVar3 + ctrl->origin_x;
@ -429,25 +429,25 @@ bool32 sub_0802571C(PuffstoolEntity* this) {
bool32 sub_080257EC(PuffstoolEntity* this, u32 x, u32 y) { bool32 sub_080257EC(PuffstoolEntity* this, u32 x, u32 y) {
u16 tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x00, super->collisionLayer); u16 tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x00, super->collisionLayer);
if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && if (tileType != TILE_TYPE_786 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 &&
gMapTileTypeToCollisionData[tileType] == 0) { gMapTileTypeToCollisionData[tileType] == 0) {
return TRUE; return TRUE;
} }
tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x00, super->collisionLayer); tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x00, super->collisionLayer);
if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && if (tileType != TILE_TYPE_786 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 &&
gMapTileTypeToCollisionData[tileType] == 0) { gMapTileTypeToCollisionData[tileType] == 0) {
return TRUE; return TRUE;
} }
tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x10, super->collisionLayer); tileType = GetTileTypeAtRoomCoords(x - 0x00, y - 0x10, super->collisionLayer);
if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && if (tileType != TILE_TYPE_786 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 &&
gMapTileTypeToCollisionData[tileType] == 0) { gMapTileTypeToCollisionData[tileType] == 0) {
return TRUE; return TRUE;
} }
tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x10, super->collisionLayer); tileType = GetTileTypeAtRoomCoords(x - 0x10, y - 0x10, super->collisionLayer);
if (tileType != 0x312 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 && if (tileType != TILE_TYPE_786 && gMapTileTypeToActTile[tileType] != ACT_TILE_22 &&
gMapTileTypeToCollisionData[tileType] == 0) { gMapTileTypeToCollisionData[tileType] == 0) {
return TRUE; return TRUE;
} }
@ -482,11 +482,10 @@ bool32 sub_080258C4(PuffstoolEntity* this) {
} }
} }
// regalloc
bool32 sub_0802594C(PuffstoolEntity* this, u32 param_2) { bool32 sub_0802594C(PuffstoolEntity* this, u32 param_2) {
s16 xDiff; s16 xDiff;
s16 yDiff; s16 yDiff;
s16 iVar9; s16 x;
u32 layer; u32 layer;
const s8* unk = gUnk_080CC090[param_2]; const s8* unk = gUnk_080CC090[param_2];
layer = super->collisionLayer; layer = super->collisionLayer;
@ -495,24 +494,24 @@ bool32 sub_0802594C(PuffstoolEntity* this, u32 param_2) {
do { do {
u8 bVar7; u8 bVar7;
u8 bVar4; u8 bVar4;
s16 iVar11; s16 y;
u8 bVar5; u8 bVar5;
u8 bVar6; u8 bVar6;
iVar9 = xDiff + unk[0]; x = xDiff + unk[0];
iVar11 = yDiff + unk[1]; y = yDiff + unk[1];
bVar4 = GetCollisionDataAtWorldCoords(iVar9 - 0x00, iVar11 - 0x00, layer); bVar4 = GetCollisionDataAtWorldCoords(x - 0x00, y - 0x00, layer);
bVar5 = GetCollisionDataAtWorldCoords(iVar9 - 0x10, iVar11 - 0x00, layer); bVar5 = GetCollisionDataAtWorldCoords(x - 0x10, y - 0x00, layer);
bVar6 = GetCollisionDataAtWorldCoords(iVar9 - 0x00, iVar11 - 0x10, layer); bVar6 = GetCollisionDataAtWorldCoords(x - 0x00, y - 0x10, layer);
bVar7 = GetCollisionDataAtWorldCoords(iVar9 - 0x10, iVar11 - 0x10, layer); bVar7 = GetCollisionDataAtWorldCoords(x - 0x10, y - 0x10, layer);
if ((bVar4 | bVar5 | bVar6 | bVar7) == 0) { if ((bVar4 | bVar5 | bVar6 | bVar7) == 0) {
this->unk_7c = gRoomControls.origin_x + iVar9; this->unk_7c = gRoomControls.origin_x + x;
this->unk_7e = gRoomControls.origin_y + iVar11; this->unk_7e = gRoomControls.origin_y + y;
return TRUE; return TRUE;
} }
unk += 2; unk += 2;
} while (unk[0] != 0x7f); } while (unk[0] != 0x7f);
return 0; return FALSE;
} }
void sub_08025A54(PuffstoolEntity* this) { void sub_08025A54(PuffstoolEntity* this) {

View File

@ -400,7 +400,7 @@ static void HandleFileScreenEnter(void) {
MemClear((void*)VRAM, 0x80); // clear palettes MemClear((void*)VRAM, 0x80); // clear palettes
MessageInitialize(); MessageInitialize();
EraseAllEntities(); EraseAllEntities();
ClearTilemaps(); ClearTileMaps();
ResetPalettes(); ResetPalettes();
ResetPaletteTable(0); ResetPaletteTable(0);
MemClear(&gHUD, sizeof(gHUD)); MemClear(&gHUD, sizeof(gHUD));

View File

@ -138,7 +138,7 @@ static void GameTask_Init(void) {
MemClear(&gUI, sizeof(gUI)); MemClear(&gUI, sizeof(gUI));
EraseAllEntities(); EraseAllEntities();
SetBGDefaults(); SetBGDefaults();
ClearTilemaps(); ClearTileMaps();
ResetPalettes(); ResetPalettes();
ResetPaletteTable(1); ResetPaletteTable(1);
sub_0806FD8C(); sub_0806FD8C();

View File

@ -33,7 +33,7 @@ void InitRoomResInfo(RoomResInfo* info, RoomHeader* hdr, u32 area, u32 room);
void sub_080532E4(void); void sub_080532E4(void);
void ResetTimerFlags(void); void ResetTimerFlags(void);
extern void** gAreaTilesets[]; extern void** gAreaTileSets[];
extern void** gAreaRoomMaps[]; extern void** gAreaRoomMaps[];
extern void* gAreaTiles[]; extern void* gAreaTiles[];
extern void** gAreaTable[]; extern void** gAreaTable[];
@ -544,7 +544,7 @@ void InitAllRoomResInfo(void) {
RoomResInfo* info = gArea.roomResInfos; RoomResInfo* info = gArea.roomResInfos;
u32 i; u32 i;
for (i = 0; i < MAX_ROOMS && *(u16*)r_hdr != 0xFFFF; i++, r_hdr++) { for (i = 0; i < MAX_ROOMS && *(u16*)r_hdr != 0xFFFF; i++, r_hdr++) {
if (r_hdr->tileset_id != 0xFFFF) if (r_hdr->tileSet_id != 0xFFFF)
InitRoomResInfo(info, r_hdr, gRoomControls.area, i); InitRoomResInfo(info, r_hdr, gRoomControls.area, i);
info++; info++;
} }
@ -556,7 +556,7 @@ void InitRoomResInfo(RoomResInfo* info, RoomHeader* r_hdr, u32 area, u32 room) {
info->map_y = r_hdr->map_y; info->map_y = r_hdr->map_y;
info->pixel_width = r_hdr->pixel_width; info->pixel_width = r_hdr->pixel_width;
info->pixel_height = r_hdr->pixel_height; info->pixel_height = r_hdr->pixel_height;
info->tileset = *(gAreaTilesets[area] + r_hdr->tileset_id); info->tileSet = *(gAreaTileSets[area] + r_hdr->tileSet_id);
info->map = *(gAreaRoomMaps[area] + room); info->map = *(gAreaRoomMaps[area] + room);
info->tiles = gAreaTiles[area]; info->tiles = gAreaTiles[area];
info->bg_anim = (void*)gUnk_080B755C[area]; info->bg_anim = (void*)gUnk_080B755C[area];
@ -648,7 +648,7 @@ void LoadAuxiliaryRoom(u32 area, u32 room) {
void sub_08052FF4(u32 area, u32 room) { void sub_08052FF4(u32 area, u32 room) {
RoomHeader* r_hdr = NULL; RoomHeader* r_hdr = NULL;
ClearTilemaps(); ClearTileMaps();
SetBGDefaults(); SetBGDefaults();
gRoomControls.area = area; gRoomControls.area = area;
gRoomControls.room = room; gRoomControls.room = room;
@ -660,7 +660,7 @@ void sub_08052FF4(u32 area, u32 room) {
gArea.currentRoomInfo.map_y = r_hdr->map_y; gArea.currentRoomInfo.map_y = r_hdr->map_y;
gArea.currentRoomInfo.pixel_width = r_hdr->pixel_width; gArea.currentRoomInfo.pixel_width = r_hdr->pixel_width;
gArea.currentRoomInfo.pixel_height = r_hdr->pixel_height; gArea.currentRoomInfo.pixel_height = r_hdr->pixel_height;
gArea.currentRoomInfo.tileset = *(gAreaTilesets[area] + r_hdr->tileset_id); gArea.currentRoomInfo.tileSet = *(gAreaTileSets[area] + r_hdr->tileSet_id);
gArea.currentRoomInfo.map = *(gAreaRoomMaps[area] + room); gArea.currentRoomInfo.map = *(gAreaRoomMaps[area] + room);
gArea.currentRoomInfo.tiles = gAreaTiles[area]; gArea.currentRoomInfo.tiles = gAreaTiles[area];
gArea.currentRoomInfo.bg_anim = (void*)gUnk_080B755C[area]; gArea.currentRoomInfo.bg_anim = (void*)gUnk_080B755C[area];

View File

@ -9,7 +9,7 @@ void (*const gMiscManagerunctions[])() = {
DiggingCaveEntranceManager_Main, DiggingCaveEntranceManager_Main,
BridgeManager_Main, BridgeManager_Main,
SpecialWarpManager_Main, SpecialWarpManager_Main,
MinishVillageTilesetManager_Main, MinishVillageTileSetManager_Main,
HorizontalMinishPathBackgroundManager_Main, HorizontalMinishPathBackgroundManager_Main,
MinishRaftersBackgroundManager_Main, MinishRaftersBackgroundManager_Main,
EzloHintManager_Main, EzloHintManager_Main,
@ -20,7 +20,7 @@ void (*const gMiscManagerunctions[])() = {
MiscManager_Main, MiscManager_Main,
WeatherChangeManager_Main, WeatherChangeManager_Main,
FlagAndOperatorManager_Main, FlagAndOperatorManager_Main,
HyruleTownTilesetManager_Main, HyruleTownTileSetManager_Main,
HouseSignManager_Main, HouseSignManager_Main,
SteamOverlayManager_Main, SteamOverlayManager_Main,
TempleOfDropletsManager_Main, TempleOfDropletsManager_Main,

View File

@ -1,10 +1,10 @@
/** /**
* @file hyruleTownTilesetManager.c * @file hyruleTownTileSetManager.c
* @ingroup Managers * @ingroup Managers
* *
* @brief Swap tileset data in hyrule town depending on the position. * @brief Swap tileSet data in hyrule town depending on the position.
*/ */
#include "manager/hyruleTownTilesetManager.h" #include "manager/hyruleTownTileSetManager.h"
#include "area.h" #include "area.h"
#include "asm.h" #include "asm.h"
#include "flags.h" #include "flags.h"
@ -13,8 +13,8 @@
#include "room.h" #include "room.h"
#include "tiles.h" #include "tiles.h"
void sub_08059A58(HyruleTownTilesetManager*); void sub_08059A58(HyruleTownTileSetManager*);
void sub_08059A2C(HyruleTownTilesetManager*); void sub_08059A2C(HyruleTownTileSetManager*);
static const u16 gUnk_08108398[] = { 0x0, 0x0, 0x0, 0x3f0, 0x200, 0x1, 0x0, 0x280, 0x3f0, 0x140, 0xff }; static const u16 gUnk_08108398[] = { 0x0, 0x0, 0x0, 0x3f0, 0x200, 0x1, 0x0, 0x280, 0x3f0, 0x140, 0xff };
static const u16 gUnk_081083AE[] = { 0x2, 0x0, 0x0, 0x180, 0x3c0, 0x3, 0x280, 0x0, 0x170, 0x3c0, 0xff }; static const u16 gUnk_081083AE[] = { 0x2, 0x0, 0x0, 0x180, 0x3c0, 0x3, 0x280, 0x0, 0x170, 0x3c0, 0xff };
@ -25,7 +25,7 @@ static const u16 gUnk_081083F2[] = { 0x5, 0x0, 0x1b0, 0x190, 0x140, 0x4, 0x0, 0x
void sub_08059CC0(u32, u32); void sub_08059CC0(u32, u32);
void sub_08059B18(void); void sub_08059B18(void);
bool32 sub_08059C8C(HyruleTownTilesetManager*, u32, u8*, const u16*); bool32 sub_08059C8C(HyruleTownTileSetManager*, u32, u8*, const u16*);
extern u32 gUnk_086E8460; extern u32 gUnk_086E8460;
@ -60,7 +60,7 @@ static const Unknown gUnk_08108468[] = {
}; };
extern const u8 gGlobalGfxAndPalettes[]; extern const u8 gGlobalGfxAndPalettes[];
void HyruleTownTilesetManager_Main(HyruleTownTilesetManager* this) { void HyruleTownTileSetManager_Main(HyruleTownTileSetManager* this) {
if (super->action == 0) { if (super->action == 0) {
super->action = 1; super->action = 1;
this->field_0x22 = 0xff; this->field_0x22 = 0xff;
@ -72,7 +72,7 @@ void HyruleTownTilesetManager_Main(HyruleTownTilesetManager* this) {
sub_08059A58(this); sub_08059A58(this);
} }
void sub_08059A2C(HyruleTownTilesetManager* this) { void sub_08059A2C(HyruleTownTileSetManager* this) {
gRoomVars.graphicsGroups[2] = 0xff; gRoomVars.graphicsGroups[2] = 0xff;
gRoomVars.graphicsGroups[1] = 0xff; gRoomVars.graphicsGroups[1] = 0xff;
gRoomVars.graphicsGroups[0] = 0xff; gRoomVars.graphicsGroups[0] = 0xff;
@ -82,7 +82,7 @@ void sub_08059A2C(HyruleTownTilesetManager* this) {
sub_08059A58(this); sub_08059A58(this);
} }
void sub_08059A58(HyruleTownTilesetManager* this) { void sub_08059A58(HyruleTownTileSetManager* this) {
if (gRoomControls.area != AREA_FESTIVAL_TOWN) { if (gRoomControls.area != AREA_FESTIVAL_TOWN) {
if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_08108398) != 0) { if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_08108398) != 0) {
sub_08059CC0(0, (u32)this->field_0x20); sub_08059CC0(0, (u32)this->field_0x20);
@ -144,7 +144,7 @@ void sub_08059B18(void) {
} }
} }
bool32 sub_08059C8C(HyruleTownTilesetManager* this, u32 param_2, u8* param_3, const u16* param_4) { bool32 sub_08059C8C(HyruleTownTileSetManager* this, u32 param_2, u8* param_3, const u16* param_4) {
bool32 bVar2; bool32 bVar2;
*param_3 = CheckRegionsOnScreen(param_4); *param_3 = CheckRegionsOnScreen(param_4);

View File

@ -1,17 +1,17 @@
/** /**
* @file minishVillageTilesetManager.c * @file minishVillageTileSetManager.c
* @ingroup Managers * @ingroup Managers
* *
* @brief Swap tileset data in minish village depending on the position * @brief Swap tileSet data in minish village depending on the position
*/ */
#include "manager/minishVillageTilesetManager.h" #include "manager/minishVillageTileSetManager.h"
#include "asm.h" #include "asm.h"
#include "common.h" #include "common.h"
#include "functions.h" #include "functions.h"
#include "main.h" #include "main.h"
void sub_08057E30(void*); void sub_08057E30(void*);
bool32 sub_08057E40(MinishVillageTilesetManager*); bool32 sub_08057E40(MinishVillageTileSetManager*);
void sub_08057E7C(u32); void sub_08057E7C(u32);
extern const u8 gGlobalGfxAndPalettes[]; extern const u8 gGlobalGfxAndPalettes[];
@ -54,7 +54,7 @@ const u32 gUnk_081080A4[0x50] = {
const u8 gUnk_081081E4[] = { 0x16, 0x17, 0x17, 0x18, 0x18 }; const u8 gUnk_081081E4[] = { 0x16, 0x17, 0x17, 0x18, 0x18 };
#ifdef EU #ifdef EU
void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) { void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) {
u32 tmp; u32 tmp;
const u32* tmp2; const u32* tmp2;
s32 tmp3; s32 tmp3;
@ -103,7 +103,7 @@ void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) {
} }
} }
#else #else
void MinishVillageTilesetManager_Main(MinishVillageTilesetManager* this) { void MinishVillageTileSetManager_Main(MinishVillageTileSetManager* this) {
u32 tmp; u32 tmp;
const u32* tmp2; const u32* tmp2;
if (super->action == 0) { if (super->action == 0) {
@ -156,7 +156,7 @@ void sub_08057E30(void* this) {
sub_08057E7C(gRoomVars.graphicsGroups[0]); sub_08057E7C(gRoomVars.graphicsGroups[0]);
} }
bool32 sub_08057E40(MinishVillageTilesetManager* this) { bool32 sub_08057E40(MinishVillageTileSetManager* this) {
u32 tmp = CheckRegionsOnScreen(gUnk_08108050); u32 tmp = CheckRegionsOnScreen(gUnk_08108050);
if (tmp != 0xFF) { if (tmp != 0xFF) {
gRoomVars.graphicsGroups[0] = tmp; gRoomVars.graphicsGroups[0] = tmp;

View File

@ -18,7 +18,7 @@
#include "save.h" #include "save.h"
#include "screen.h" #include "screen.h"
#include "screenTransitions.h" #include "screenTransitions.h"
#include "tilemap.h" #include "tileMap.h"
#include "tiles.h" #include "tiles.h"
static void sub_08077E54(ItemBehavior* beh); static void sub_08077E54(ItemBehavior* beh);
@ -69,7 +69,7 @@ extern u8 gUpdateVisibleTiles;
bool32 sub_0807BF88(u32, u32, RoomResInfo*); bool32 sub_0807BF88(u32, u32, RoomResInfo*);
void SetupTileSet(void); void LoadRoomTileSet(void);
void ForceSetPlayerState(u32 framestate); void ForceSetPlayerState(u32 framestate);
InteractableObject* sub_080784E4(void); InteractableObject* sub_080784E4(void);
@ -3309,7 +3309,7 @@ void SetTileType(u32 tileType, u32 tilePos, u32 layer) {
dest = gMapDataTopSpecial + offset; dest = gMapDataTopSpecial + offset;
} }
subTiles = mapLayer->subTiles + tileIndex * 4; subTiles = mapLayer->subTiles + tileIndex * 4;
// Copy over the tilemap entries (tile_attrs) to the special map data but in a different order. // Copy over the tileMap entries (tile_attrs) to the special map data but in a different order.
dest[0] = subTiles[0]; dest[0] = subTiles[0];
dest[1] = subTiles[1]; dest[1] = subTiles[1];
dest[0x80] = subTiles[2]; dest[0x80] = subTiles[2];
@ -3813,7 +3813,7 @@ void sub_0807BFA8(void) {
gRoomControls.height = (gArea.pCurrentRoomInfo)->pixel_height; gRoomControls.height = (gArea.pCurrentRoomInfo)->pixel_height;
} }
void SetupTileSet(void) { void LoadRoomTileSet(void) {
s32 index; s32 index;
u16* tileTypes; u16* tileTypes;
u16* tileIndices; u16* tileIndices;
@ -3826,9 +3826,9 @@ void SetupTileSet(void) {
MemFill16(0xffff, gMapTop.tileTypes, 0x1000); MemFill16(0xffff, gMapTop.tileTypes, 0x1000);
gMapTop.tileTypes[0] = 0; gMapTop.tileTypes[0] = 0;
if ((void*)gRoomControls.tileset != (gArea.pCurrentRoomInfo)->tileset) { if ((void*)gRoomControls.tileSet != (gArea.pCurrentRoomInfo)->tileSet) {
gRoomControls.tileset = (u32)(gArea.pCurrentRoomInfo)->tileset; gRoomControls.tileSet = (u32)(gArea.pCurrentRoomInfo)->tileSet;
LoadMapData((gArea.pCurrentRoomInfo)->tileset); LoadMapData((gArea.pCurrentRoomInfo)->tileSet);
} }
LoadMapData((gArea.pCurrentRoomInfo)->tiles); LoadMapData((gArea.pCurrentRoomInfo)->tiles);
@ -3912,7 +3912,7 @@ void LoadRoomGfx(void) {
FillActTileForLayer(&gMapBottom); FillActTileForLayer(&gMapBottom);
FillActTileForLayer(&gMapTop); FillActTileForLayer(&gMapTop);
if (!clearBottomMap) { if (!clearBottomMap) {
// Render the complete bottom and top tilemaps into the tilemaps. // Render the complete bottom and top tileMaps into the tileMaps.
RenderMapLayerToSubTileMap(gMapDataBottomSpecial, &gMapBottom); RenderMapLayerToSubTileMap(gMapDataBottomSpecial, &gMapBottom);
RenderMapLayerToSubTileMap(gMapDataTopSpecial, &gMapTop); RenderMapLayerToSubTileMap(gMapDataTopSpecial, &gMapTop);
} else { } else {
@ -4152,7 +4152,7 @@ void InitializeCamera() {
u32 tmp1; u32 tmp1;
u32 tmp2; u32 tmp2;
SetupTileSet(); LoadRoomTileSet();
LoadRoomGfx(); LoadRoomGfx();
roomControls = &gRoomControls; roomControls = &gRoomControls;
target = gRoomControls.camera_target; target = gRoomControls.camera_target;
@ -4212,7 +4212,7 @@ void sub_0807C810(void) {
DiggingCaveEntranceTransition* ptr; DiggingCaveEntranceTransition* ptr;
Entity* player; Entity* player;
RoomControls* ctrls; RoomControls* ctrls;
SetupTileSet(); LoadRoomTileSet();
ptr = &gDiggingCaveEntranceTransition; ptr = &gDiggingCaveEntranceTransition;
player = &gPlayerEntity.base; player = &gPlayerEntity.base;
ctrls = &gRoomControls; ctrls = &gRoomControls;

View File

@ -300,7 +300,6 @@ void sub_080AA320(MandiblesProjectileEntity* this) {
parent->unk_80 = 0x50; parent->unk_80 = 0x50;
parent->base.speed = 0; parent->base.speed = 0;
parent->base.direction = sub_08049F84(&parent->base, 0); parent->base.direction = sub_08049F84(&parent->base, 0);
// TODO regalloc
uVar2 = Direction8Round(parent->base.direction + 4); uVar2 = Direction8Round(parent->base.direction + 4);
super->animationState = uVar2 >> 2; super->animationState = uVar2 >> 2;
parent->base.animationState = DirectionRound(uVar2) >> 2; parent->base.animationState = DirectionRound(uVar2) >> 2;

View File

@ -14,7 +14,7 @@
#include "object.h" #include "object.h"
#include "screen.h" #include "screen.h"
#include "structures.h" #include "structures.h"
#include "tilemap.h" #include "tileMap.h"
#include "tiles.h" #include "tiles.h"
extern void UpdateScreenShake(void); extern void UpdateScreenShake(void);
@ -582,7 +582,7 @@ void UpdateIsDiggingCave(void) {
gDiggingCaveEntranceTransition.isDiggingCave = 0; gDiggingCaveEntranceTransition.isDiggingCave = 0;
} }
void ClearTilemaps(void) { void ClearTileMaps(void) {
MemClear(&gRoomControls, sizeof(gRoomControls)); MemClear(&gRoomControls, sizeof(gRoomControls));
MemClear(&gDiggingCaveEntranceTransition, sizeof(gDiggingCaveEntranceTransition)); MemClear(&gDiggingCaveEntranceTransition, sizeof(gDiggingCaveEntranceTransition));
gRoomControls.unk_22 = 0xffff; gRoomControls.unk_22 = 0xffff;

View File

@ -31,7 +31,7 @@ void SubTileSetAsset::convertToHumanReadable(const std::vector<char>& baserom) {
cmd.push_back(toolsPath / "bin" / "gbagfx"); cmd.push_back(toolsPath / "bin" / "gbagfx");
cmd.push_back(decompressedPath); cmd.push_back(decompressedPath);
cmd.push_back(assetPath); cmd.push_back(assetPath);
// This creates a better looking tilemap but in some cases not all tiles are used, so it adds additional data when converting back to binary. // This creates a better looking tileMap but in some cases not all tiles are used, so it adds additional data when converting back to binary.
//cmd.push_back("-mwidth"); //cmd.push_back("-mwidth");
//cmd.push_back("32"); //cmd.push_back("32");
check_call(cmd); check_call(cmd);

View File

@ -264,7 +264,7 @@ std::unique_ptr<BaseAsset> getAssetHandlerByType(const std::filesystem::path& pa
} }
std::unique_ptr<BaseAsset> assetHandler; std::unique_ptr<BaseAsset> assetHandler;
if (type == "subtileset") { if (type == "subTileSet") {
assetHandler = std::make_unique<SubTileSetAsset>(path, start, size, asset); assetHandler = std::make_unique<SubTileSetAsset>(path, start, size, asset);
} else if (type == "animation") { } else if (type == "animation") {
assetHandler = std::make_unique<AnimationAsset>(path, start, size, asset); assetHandler = std::make_unique<AnimationAsset>(path, start, size, asset);
@ -280,8 +280,8 @@ std::unique_ptr<BaseAsset> getAssetHandlerByType(const std::filesystem::path& pa
assetHandler = std::make_unique<GfxAsset>(path, start, size, asset); assetHandler = std::make_unique<GfxAsset>(path, start, size, asset);
} else if (type == "palette") { } else if (type == "palette") {
assetHandler = std::make_unique<PaletteAsset>(path, start, size, asset); assetHandler = std::make_unique<PaletteAsset>(path, start, size, asset);
} else if (type == "tilemap" || } else if (type == "tileMap" ||
type == "tileset_types" || type == "tileset" || type == "tileSet_types" || type == "tileSet" ||
type == "map_mapping1" || type == "map_mapping2" || type == "map_mapping1" || type == "map_mapping2" ||
type == "map_collision") { type == "map_collision") {
assetHandler = std::make_unique<MapAsset>(path, start, size, asset); assetHandler = std::make_unique<MapAsset>(path, start, size, asset);

View File

@ -37,7 +37,7 @@ unsigned char* LZDecompress(unsigned char* src, int srcSize, int* uncompressedSi
int blockPos = destPos - blockDistance; int blockPos = destPos - blockDistance;
// Some Ruby/Sapphire tilesets overflow. // Some Ruby/Sapphire tileSets overflow.
if (destPos + blockSize > destSize) { if (destPos + blockSize > destSize) {
blockSize = destSize - destPos; blockSize = destSize - destPos;
fprintf(stderr, "Destination buffer overflow.\n"); fprintf(stderr, "Destination buffer overflow.\n");

View File

@ -312,7 +312,7 @@ void HandleLZCompressCommand(char* inputPath, char* outputPath, int argc, char**
} }
} }
// The overflow option allows a quirk in some of Ruby/Sapphire's tilesets // The overflow option allows a quirk in some of Ruby/Sapphire's tileSets
// to be reproduced. It works by appending a number of zeros to the data // to be reproduced. It works by appending a number of zeros to the data
// before compressing it and then amending the LZ header's size field to // before compressing it and then amending the LZ header's size field to
// reflect the expected size. This will cause an overflow when decompressing // reflect the expected size. This will cause an overflow when decompressing