diff --git a/data/const/enemy/bowMoblin.s b/data/const/enemy/bowMoblin.s deleted file mode 100644 index b6701321..00000000 --- a/data/const/enemy/bowMoblin.s +++ /dev/null @@ -1,33 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_080CFF78:: @ 080CFF78 - .4byte sub_0803C180 - .4byte sub_0803C198 - .4byte sub_08001324 - .4byte sub_0804A7D4 - .4byte sub_08001242 - .4byte nullsub_168 - -gUnk_080CFF90:: @ 080CFF90 - .4byte sub_0803C1E0 - .4byte sub_0803C234 - .4byte sub_0803C2DC - .4byte sub_0803C344 - .4byte sub_0803C400 - -gUnk_080CFFA4:: @ 080CFFA4 - .incbin "bowMoblin/gUnk_080CFFA4.bin" - -gUnk_080CFFAC:: @ 080CFFAC - .incbin "bowMoblin/gUnk_080CFFAC.bin" - -gUnk_080CFFBC:: @ 080CFFBC - .incbin "bowMoblin/gUnk_080CFFBC.bin" - -gUnk_080CFFC4:: @ 080CFFC4 - .incbin "bowMoblin/gUnk_080CFFC4.bin" - diff --git a/data/const/enemy/octorokGolden.s b/data/const/enemy/octorokGolden.s deleted file mode 100644 index 315b5818..00000000 --- a/data/const/enemy/octorokGolden.s +++ /dev/null @@ -1,24 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_080CF46C:: @ 080CF46C - .4byte sub_08037C84 - .4byte sub_08037C9C - .4byte sub_08001324 - .4byte sub_08037CC0 - .4byte sub_08001242 - .4byte sub_08037C84 - -gUnk_080CF484:: @ 080CF484 - .4byte sub_08037CE4 - .4byte sub_08037D0C - .4byte sub_08037D54 - -gUnk_080CF490:: @ 080CF490 - .incbin "octorokGolden/gUnk_080CF490.bin" - -gUnk_080CF498:: @ 080CF498 - .incbin "octorokGolden/gUnk_080CF498.bin" diff --git a/data/const/object/barrelInside.s b/data/const/object/barrelInside.s deleted file mode 100644 index 13e148d9..00000000 --- a/data/const/object/barrelInside.s +++ /dev/null @@ -1,11 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08120C80:: @ 08120C80 - .incbin "barrelInside/gUnk_08120C80.bin" - -gUnk_08120C92:: @ 08120C92 - .incbin "barrelInside/gUnk_08120C92.bin" diff --git a/data/const/object/steam.s b/data/const/object/steam.s deleted file mode 100644 index 6b254940..00000000 --- a/data/const/object/steam.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08123484:: @ 08123484 - .incbin "steam/gUnk_08123484.bin" - - diff --git a/linker.ld b/linker.ld index 244b2ec5..a08e377b 100644 --- a/linker.ld +++ b/linker.ld @@ -1048,7 +1048,7 @@ SECTIONS { data/const/enemy/flyingPot.o(.rodata); data/const/enemy/gibdo.o(.rodata); data/animations/enemy/gibdo.o(.rodata); - data/const/enemy/octorokGolden.o(.rodata); + src/enemy/octorokGolden.o(.rodata); data/const/enemy/tektiteGolden.o(.rodata); data/const/enemy/ropeGolden.o(.rodata); data/const/enemy/cloudPiranha.o(.rodata); @@ -1064,7 +1064,7 @@ SECTIONS { src/enemy/mazaalBracelet.o(.rodata); data/animations/enemy/mazaalBracelet.o(.rodata); data/const/enemy/takkuri.o(.rodata); - data/const/enemy/bowMoblin.o(.rodata); + src/enemy/bowMoblin.o(.rodata); data/animations/enemy/bowMoblin.o(.rodata); src/enemy/lakitu.o(.rodata); data/animations/enemy/lakitu.o(.rodata); @@ -1402,7 +1402,7 @@ SECTIONS { data/animations/object/pressurePlate.o(.rodata); data/const/object/bigBarrel.o(.rodata); data/animations/object/bigBarrel.o(.rodata); - data/const/object/barrelInside.o(.rodata); + src/object/barrelInside.o(.rodata); data/const/object/pushableStatue.o(.rodata); data/animations/object/pushableStatue.o(.rodata); data/const/object/ambientClouds.o(.rodata); @@ -1508,7 +1508,7 @@ SECTIONS { data/const/object/macroDecorations.o(.rodata); data/const/object/object79.o(.rodata); data/animations/object/object79.o(.rodata); - data/const/object/steam.o(.rodata); + src/object/steam.o(.rodata); data/const/object/pushableLever.o(.rodata); data/animations/object/pushableLever.o(.rodata); data/const/object/macroShoes.o(.rodata); diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index 2889b8ac..61f93cae 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -37,16 +37,16 @@ extern Entity* sub_08049DF4(u32); extern u32 sub_0806FC80(Entity*, Entity*, s32); void sub_0803C664(BowMoblinEntity*); -extern void (*const gUnk_080CFF78[])(BowMoblinEntity*); -extern void (*const gUnk_080CFF90[])(BowMoblinEntity*); +void (*const gUnk_080CFF78[])(Entity*); +void (*const gUnk_080CFF90[])(BowMoblinEntity*); -extern const s8 gUnk_080CFFC4[8]; -extern const s8 gUnk_080CFFA4[8]; -extern const s8 gUnk_080CFFAC[16]; -extern const u16 gUnk_080CFFBC[4]; +const s8 gUnk_080CFFA4[8]; +const s8 gUnk_080CFFAC[16]; +const u16 gUnk_080CFFBC[4]; +const s8 gUnk_080CFFC4[8]; void BowMoblin(Entity* this) { - EnemyFunctionHandler(this, (EntityActionArray)gUnk_080CFF78); + EnemyFunctionHandler(this, gUnk_080CFF78); SetChildOffset(this, 0, 1, -0x18); } @@ -389,3 +389,31 @@ void sub_0803C714(BowMoblinEntity* this) { PositionRelative(super, child, offsetX, offsetY); } + +void (*const gUnk_080CFF78[])(Entity*) = { + (EntityActionPtr)sub_0803C180, (EntityActionPtr)sub_0803C198, sub_08001324, sub_0804A7D4, sub_08001242, + (EntityActionPtr)nullsub_168, +}; + +void (*const gUnk_080CFF90[])(BowMoblinEntity*) = { + sub_0803C1E0, sub_0803C234, sub_0803C2DC, sub_0803C344, sub_0803C400, +}; + +const s8 gUnk_080CFFA4[8] = { + 0x18, 0x20, 0x30, 0x40, 0x60, 0x6c, 0x78, 0x91, +}; + +const s8 gUnk_080CFFAC[16] = { + 0xf8, 0xc, 0xf4, 0x8, 0x4, 0xfa, 0x6, 0xfc, 0x0, 0xfd, 0x1, 0x3, 0xff, 0x2, 0x0, 0xfe, +}; + +const u16 gUnk_080CFFBC[4] = { + 0xe, + 0xe000, + 0xe0, + 0xe00, +}; + +const s8 gUnk_080CFFC4[8] = { + -5, -20, 15, -12, 4, -4, -15, -12, +}; diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c index c98817c4..66d0eee6 100644 --- a/src/enemy/octorokGolden.c +++ b/src/enemy/octorokGolden.c @@ -2,11 +2,11 @@ #include "enemy.h" #include "functions.h" +void (*const gUnk_080CF46C[])(Entity*); +void (*const gUnk_080CF484[])(Entity*); extern void (*const gUnk_080012C8[])(Entity*); -extern void (*const gUnk_080CF46C[])(Entity*); -extern void (*const gUnk_080CF484[])(Entity*); -extern s8 gUnk_080CF490[]; -extern u8 gUnk_080CF498[]; +const s8 gUnk_080CF490[]; +const u8 gUnk_080CF498[]; extern u16* GetLayerByIndex(u32); extern s32 sub_080012DC(Entity*); @@ -82,7 +82,7 @@ void sub_08037D54(Entity* this) { if (this->frame & 0x2) { Entity* proj = CreateProjectileWithParent(this, 1, 0); if (proj) { - s8* ptr; + const s8* ptr; s32 dir; proj->direction = this->direction; ptr = gUnk_080CF490 + (this->direction >> 2); @@ -110,7 +110,7 @@ void sub_08037D54(Entity* this) { void sub_08037E14(Entity* this) { u32 dir; u16* pLayer; - s8* ptr; + const s8* ptr; s32 x, y; this->actionDelay = 0x8; dir = (GetFacingDirection(this, &gPlayerEntity) + 4) & 0x18; @@ -144,3 +144,21 @@ bool32 sub_08037E90(Entity* this) { return 0; } + +void (*const gUnk_080CF46C[])(Entity*) = { + sub_08037C84, sub_08037C9C, sub_08001324, sub_08037CC0, sub_08001242, sub_08037C84, +}; + +void (*const gUnk_080CF484[])(Entity*) = { + sub_08037CE4, + sub_08037D0C, + sub_08037D54, +}; + +const s8 gUnk_080CF490[] = { + 0, -3, 4, 0, 0, 2, -4, 0, +}; + +const u8 gUnk_080CF498[] = { + 0, -12, 12, 0, 0, 12, -12, 0, +}; diff --git a/src/object/barrelInside.c b/src/object/barrelInside.c index 4448f9d2..ea09fd37 100644 --- a/src/object/barrelInside.c +++ b/src/object/barrelInside.c @@ -1,10 +1,10 @@ #include "entity.h" -extern u8 gUnk_08120C80[]; -extern u8 gUnk_08120C92[]; +const u8 gUnk_08120C80[]; +const u8 gUnk_08120C92[]; void BarrelInside(Entity* this) { - u8* ptr; + const u8* ptr; if (this->action == 0) { this->action = 1; this->spriteSettings.draw = 1; @@ -27,3 +27,11 @@ void BarrelInside(Entity* this) { } } } + +const u8 gUnk_08120C80[] = { + 2, 5, 2, 2, 5, 2, 3, 4, 2, 3, 6, 3, 3, 5, 3, 3, 6, 3, +}; + +const u8 gUnk_08120C92[] = { + 4, 6, 7, 0, 0, 0, +}; diff --git a/src/object/steam.c b/src/object/steam.c index afa616be..eaf2938e 100644 --- a/src/object/steam.c +++ b/src/object/steam.c @@ -5,7 +5,7 @@ #include "room.h" #include "asm.h" -extern u8 gUnk_08123484[]; +const u8 gUnk_08123484[]; typedef struct { Entity base; @@ -57,3 +57,7 @@ void Steam(Entity* _this) { super->spriteOffsetX = gUnk_08123484[super->field_0xf]; super->spriteOffsetY = gUnk_08123484[super->field_0xf] + *ptr; } + +const u8 gUnk_08123484[] = { + 0xfc, 0xfd, 0xfe, 0xff, 0x0, 0x1, 0x2, 0x3, 0x4, 0x3, 0x2, 0x1, 0x0, 0xff, 0xfe, 0xfd, +};