diff --git a/assets/assets.json b/assets/assets.json index c89644bb..31faaf38 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -41971,11 +41971,6 @@ "size": 4, "type": "animation" }, - { - "path": "railtrack/gUnk_081205E0.bin", - "start": 1181152, - "size": 4 - }, { "path": "lilypadLarge/gUnk_08120620.bin", "start": 1181216, diff --git a/data/const/object/railtrack.s b/data/const/object/railtrack.s deleted file mode 100644 index 601e4e47..00000000 --- a/data/const/object/railtrack.s +++ /dev/null @@ -1,14 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_081205D0:: @ 081205D0 - .4byte sub_080851AC - .4byte sub_08085264 - .4byte sub_080852B4 - .4byte sub_08085308 - -gUnk_081205E0:: @ 081205E0 - .incbin "railtrack/gUnk_081205E0.bin" diff --git a/linker.ld b/linker.ld index 71c4e144..f847aa6f 100644 --- a/linker.ld +++ b/linker.ld @@ -1350,7 +1350,7 @@ SECTIONS { src/object/playerClone.o(.rodata); src/object/object11.o(.rodata); src/object/object12.o(.rodata); - data/const/object/railtrack.o(.rodata); + src/object/railtrack.o(.rodata); data/animations/object/railtrack.o(.rodata); data/const/object/lilypadLarge.o(.rodata); src/object/object15.o(.rodata); diff --git a/src/object/railtrack.c b/src/object/railtrack.c index e021ac7e..187dd928 100644 --- a/src/object/railtrack.c +++ b/src/object/railtrack.c @@ -6,17 +6,24 @@ #include "flags.h" #include "functions.h" -extern void sub_08085394(Entity*); -extern void sub_0808543C(Entity*); -extern u32 sub_080854A8(Entity*); - -extern void (*const gUnk_081205D0[])(Entity*); +void sub_08085394(Entity*); +void sub_0808543C(Entity*); +void sub_080851AC(Entity*); +void sub_08085264(Entity*); +void sub_080852B4(Entity*); +void sub_08085308(Entity*); +u32 sub_080854A8(Entity*); extern s8 gUnk_080B4488[][2]; -extern u16 gUnk_081205E0[]; void Railtrack(Entity* this) { - gUnk_081205D0[this->action](this); + static void (*const actionFuncs[])(Entity*) = { + sub_080851AC, + sub_08085264, + sub_080852B4, + sub_08085308, + }; + actionFuncs[this->action](this); } void sub_080851AC(Entity* this) { @@ -101,6 +108,8 @@ void sub_08085308(Entity* this) { } } +static const u16 gUnk_081205E0[] = { 0x4018, 0x4019 }; + void sub_08085394(Entity* this) { u32 uVar1; u16* layerData;