diff --git a/assets/assets.json b/assets/assets.json index a4858372..8edb1f49 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -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, diff --git a/data/const/object/jailBars.s b/data/const/object/jailBars.s deleted file mode 100644 index 4f5aa48f..00000000 --- a/data/const/object/jailBars.s +++ /dev/null @@ -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" diff --git a/include/functions.h b/include/functions.h index 1f7d35cf..10d18e30 100644 --- a/include/functions.h +++ b/include/functions.h @@ -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*); diff --git a/linker.ld b/linker.ld index 391fd7d6..d696e6ab 100644 --- a/linker.ld +++ b/linker.ld @@ -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); diff --git a/src/beanstalkSubtask.c b/src/beanstalkSubtask.c index 6ed3af67..455738b8 100644 --- a/src/beanstalkSubtask.c +++ b/src/beanstalkSubtask.c @@ -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++; diff --git a/src/object/jailBars.c b/src/object/jailBars.c index 3758a766..ba563f9e 100644 --- a/src/object/jailBars.c +++ b/src/object/jailBars.c @@ -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); }