Put const data in jailBars

This commit is contained in:
Tal Hayon 2022-04-18 13:30:57 +03:00
parent 2fe7c42dcf
commit 268ac11430
6 changed files with 20 additions and 37 deletions

View File

@ -44007,16 +44007,6 @@
"size": 12,
"type": "animation"
},
{
"path": "jailBars/gUnk_08124960.bin",
"start": 1198432,
"size": 26
},
{
"path": "jailBars/gUnk_0812497A.bin",
"start": 1198458,
"size": 26
},
{
"path": "animations/gSpriteAnimations_ObjectB2_0.bin",
"start": 1198520,

View File

@ -1,17 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_08124950:: @ 08124950
.4byte sub_080A08C4
.4byte sub_080A0910
.4byte sub_080A0938
.4byte nullsub_127
gUnk_08124960:: @ 08124960
.incbin "jailBars/gUnk_08124960.bin"
gUnk_0812497A:: @ 0812497A
.incbin "jailBars/gUnk_0812497A.bin"

View File

@ -41,7 +41,7 @@ extern void SetDirtTile(u32);
* @param basePosition the position the offsets in tileData are based on
* @param layer the tile layer
*/
extern void SetMultipleTiles(TileData* tileData, u32 basePosition, u32 layer);
extern void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer);
extern void TryLoadPrologueHyruleTown(void);
extern void UnloadGFXSlots(Entity*);
extern void UnloadOBJPalette(Entity*);

View File

@ -1545,7 +1545,7 @@ SECTIONS {
src/object/objectAF.o(.rodata);
data/animations/object/objectAF.o(.rodata);
src/object/metalDoor.o(.rodata);
data/const/object/jailBars.o(.rodata);
src/object/jailBars.o(.rodata);
data/animations/object/jailBars.o(.rodata);
data/animations/object/objectB2.o(.rodata);
src/object/objectB3.o(.rodata);

View File

@ -499,7 +499,7 @@ void sub_0801AE44(s32 param_1) {
UpdateScrollVram();
}
void SetMultipleTiles(TileData* tileData, u32 basePosition, u32 layer) {
void SetMultipleTiles(const TileData* tileData, u32 basePosition, u32 layer) {
while (tileData->tile != -1) {
SetTile((u16)tileData->tile, basePosition + tileData->position, layer);
tileData++;

View File

@ -6,13 +6,19 @@
#include "functions.h"
static void SetJailBarTiles(Entity*, u32);
extern void (*const gUnk_08124950[])(Entity*);
extern TileData gUnk_08124960[];
extern TileData gUnk_0812497A[];
void sub_080A08C4(Entity*);
void sub_080A0910(Entity*);
void sub_080A0938(Entity*);
void nullsub_127(Entity*);
void JailBars(Entity* this) {
gUnk_08124950[this->action](this);
static void (*const actionFuncs[])(Entity*) = {
sub_080A08C4,
sub_080A0910,
sub_080A0938,
nullsub_127,
};
actionFuncs[this->action](this);
}
void sub_080A08C4(Entity* this) {
@ -49,11 +55,15 @@ void nullsub_127(Entity* this) {
}
static void SetJailBarTiles(Entity* this, u32 arg1) {
TileData* puVar1;
static const s16 gUnk_08124960[] = { 0x4023, -0x3, 0x4023, -0x2, 0x4023, -0x1, 0x4023,
0x0, 0x4023, 0x1, 0x4023, 0x2, -0x1 };
static const s16 gUnk_0812497A[] = { 0x4023, -0x3, 0x4023, -0x2, 0x4088, -0x1, 0x4087,
0x0, 0x4023, 0x1, 0x4023, 0x2, -0x1 };
const s16* puVar1;
puVar1 = gUnk_08124960;
if (arg1 == 1) {
puVar1 = gUnk_0812497A;
}
SetMultipleTiles(puVar1, COORD_TO_TILE(this), 1);
SetMultipleTiles((const TileData*)puVar1, COORD_TO_TILE(this), 1);
}