mirror of https://github.com/zeldaret/tmc
Add more tilemap documentation
This commit is contained in:
parent
06dc158598
commit
560dfa45b1
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
3938
assets/map.json
3938
assets/map.json
File diff suppressed because it is too large
Load Diff
1624
data/map/map_data.s
1624
data/map/map_data.s
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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[];
|
||||||
|
|
|
||||||
|
|
@ -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*);
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
|
|
||||||
10
linker.ld
10
linker.ld
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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[] = {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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];
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue