Prefix all Items and PlayerItems

This commit is contained in:
octorock 2021-03-15 23:44:00 +01:00
parent ac16219ff4
commit 7846a38551
22 changed files with 136 additions and 112 deletions

View File

@ -39,8 +39,8 @@ sub_08019468: @ 0x08019468
_0801947E:
pop {pc}
thumb_func_start SwordBeam
SwordBeam: @ 0x08019480
thumb_func_start PlayerItemSwordBeam
PlayerItemSwordBeam: @ 0x08019480
push {lr}
ldr r2, _08019494 @ =gUnk_080B43F4
ldrb r1, [r0, #0xc]
@ -3875,8 +3875,8 @@ _0801B178:
.align 2, 0
_0801B184: .4byte gUnk_02000CC0
thumb_func_start sub_0801B188
sub_0801B188: @ 0x0801B188
thumb_func_start PlayerItemBomb
PlayerItemBomb: @ 0x0801B188
push {r4, lr}
adds r4, r0, #0
ldr r0, _0801B1E0 @ =gUnk_080B77C8
@ -4278,8 +4278,8 @@ _0801B432:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_0801B45C
sub_0801B45C: @ 0x0801B45C
thumb_func_start PlayerItem3
PlayerItem3: @ 0x0801B45C
push {r4, lr}
adds r4, r0, #0
ldr r1, _0801B48C @ =gUnk_080B77FC
@ -4843,8 +4843,8 @@ _0801B874:
.align 2, 0
_0801B894: .4byte gUnk_080B782E
thumb_func_start sub_0801B898
sub_0801B898: @ 0x0801B898
thumb_func_start PlayerItemC
PlayerItemC: @ 0x0801B898
push {lr}
ldr r2, _0801B8AC @ =gUnk_080B7840
ldrb r1, [r0, #0xc]
@ -5027,8 +5027,8 @@ sub_0801B9F0: @ 0x0801B9F0
bl sub_08017744
pop {pc}
thumb_func_start SwordSpin
SwordSpin: @ 0x0801BA00
thumb_func_start PlayerItemSwordSpin
PlayerItemSwordSpin: @ 0x0801BA00
push {lr}
ldr r2, _0801BA14 @ =gUnk_080B7870
ldrb r1, [r0, #0xc]

View File

@ -206,8 +206,8 @@ _08054A34:
_08054A38: .4byte gUnk_080FE320
_08054A3C: .4byte gUnk_0811E454
thumb_func_start sub_08054A40
sub_08054A40: @ 0x08054A40
thumb_func_start PlayerItemLantern
PlayerItemLantern: @ 0x08054A40
push {r4, lr}
adds r4, r0, #0
ldr r1, _08054A5C @ =gUnk_080FEEA8

View File

@ -844,8 +844,8 @@ GetSpriteSubEntryOffsetDataPointer: @ 0x080700C8
.align 2, 0
_080700E4: .4byte gUnk_089FB780
thumb_func_start sub_080700E8
sub_080700E8: @ 0x080700E8
thumb_func_start PlayerItem12
PlayerItem12: @ 0x080700E8
push {lr}
ldr r2, _080700FC @ =gUnk_0811B98C
ldrb r1, [r0, #0xc]
@ -1331,8 +1331,8 @@ _0807049E:
_080704B4: .4byte gRoomControls
_080704B8: .4byte 0x00000199
thumb_func_start sub_080704BC
sub_080704BC: @ 0x080704BC
thumb_func_start PlayerItemPacciCane
PlayerItemPacciCane: @ 0x080704BC
push {lr}
ldr r2, _080704D0 @ =gUnk_0811B9D8
ldrb r1, [r0, #0xc]

View File

@ -4331,8 +4331,8 @@ sub_080752E8: @ 0x080752E8
.align 2, 0
_080752FC: .4byte gItemFunctions
thumb_func_start DebugItem
DebugItem: @ 0x08075300
thumb_func_start ItemDebug
ItemDebug: @ 0x08075300
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
@ -4342,8 +4342,8 @@ DebugItem: @ 0x08075300
bl sub_08077E78
pop {r4, r5, pc}
thumb_func_start Sword
Sword: @ 0x08075314
thumb_func_start ItemSword
ItemSword: @ 0x08075314
push {lr}
ldr r2, _08075330 @ =gPlayerState
adds r2, #0xa8
@ -5231,8 +5231,8 @@ _080759E8: .4byte gPlayerState
_080759EC: .4byte gPlayerEntity
_080759F0: .4byte 0xF7FFFFFF
thumb_func_start Lantern
Lantern: @ 0x080759F4
thumb_func_start ItemLantern
ItemLantern: @ 0x080759F4
push {lr}
ldr r3, _08075A08 @ =gUnk_0811BD68
ldrb r2, [r0, #4]
@ -5622,8 +5622,8 @@ _08075D0E:
.align 2, 0
_08075D10: .4byte gPlayerEntity
thumb_func_start sub_08075D14
sub_08075D14: @ 0x08075D14
thumb_func_start ItemBoomerang
ItemBoomerang: @ 0x08075D14
push {lr}
ldr r3, _08075D28 @ =gUnk_0811BD78
ldrb r2, [r0, #4]
@ -5724,8 +5724,8 @@ _08075DD8:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start Bow
Bow: @ 0x08075DDC
thumb_func_start ItemBow
ItemBow: @ 0x08075DDC
push {lr}
ldr r3, _08075DF0 @ =gUnk_0811BD80
ldrb r2, [r0, #4]
@ -5989,8 +5989,8 @@ _08075FD8:
.align 2, 0
_08075FDC: .4byte gPlayerState
thumb_func_start Bomb
Bomb: @ 0x08075FE0
thumb_func_start ItemBomb
ItemBomb: @ 0x08075FE0
push {lr}
ldr r3, _08075FF4 @ =gUnk_0811BD98
ldrb r2, [r0, #4]
@ -6221,8 +6221,8 @@ _080761A0:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start TryPickupObject
TryPickupObject: @ 0x080761A8
thumb_func_start ItemTryPickupObject
ItemTryPickupObject: @ 0x080761A8
push {lr}
ldr r3, _080761BC @ =gUnk_0811BDB4
ldrb r2, [r0, #4]
@ -6819,8 +6819,8 @@ _0807663A:
.align 2, 0
_0807663C: .4byte gPlayerState
thumb_func_start RocsCape
RocsCape: @ 0x08076640
thumb_func_start ItemRocsCape
ItemRocsCape: @ 0x08076640
push {r4, r5, lr}
adds r3, r0, #0
adds r4, r1, #0
@ -7052,8 +7052,8 @@ _080767F8:
_080767FE:
pop {r4, r5, pc}
thumb_func_start sub_08076800
sub_08076800: @ 0x08076800
thumb_func_start ItemPegasusBoots
ItemPegasusBoots: @ 0x08076800
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8

View File

@ -403,8 +403,8 @@ _08077110:
.align 2, 0
_08077114: .4byte gPlayerEntity
thumb_func_start MoleMitts
MoleMitts: @ 0x08077118
thumb_func_start ItemMoleMitts
ItemMoleMitts: @ 0x08077118
push {lr}
ldr r3, _0807712C @ =gUnk_0811BE04
ldrb r2, [r0, #4]
@ -912,8 +912,8 @@ _08077518:
_0807751A:
pop {r4, r5, r6, r7, pc}
thumb_func_start JarEmpty
JarEmpty: @ 0x0807751C
thumb_func_start ItemJarEmpty
ItemJarEmpty: @ 0x0807751C
push {lr}
ldr r3, _08077530 @ =gUnk_0811BE28
ldrb r2, [r0, #4]

View File

@ -397,8 +397,8 @@ _080A2D6E:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_080A2D74
sub_080A2D74: @ 0x080A2D74
thumb_func_start PlayerItemShield
PlayerItemShield: @ 0x080A2D74
push {lr}
adds r2, r0, #0
ldr r0, [r2, #0x6c]
@ -787,8 +787,8 @@ _080A3068:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_080A306C
sub_080A306C: @ 0x080A306C
thumb_func_start PlayerItem15
PlayerItem15: @ 0x080A306C
push {lr}
ldr r2, _080A3080 @ =gUnk_08127270
ldrb r1, [r0, #0xc]

View File

@ -3982,8 +3982,8 @@ sub_080A7528: @ 0x080A7528
_080A753C: .4byte gUnk_08129030
_080A7540: .4byte gUnk_02032EC0
thumb_func_start sub_080A7544
sub_080A7544: @ 0x080A7544
thumb_func_start PlayerItemSword
PlayerItemSword: @ 0x080A7544
push {r4, lr}
adds r4, r0, #0
ldr r1, _080A7584 @ =gUnk_0812905C
@ -15582,8 +15582,8 @@ _080ACBC6:
.align 2, 0
_080ACBC8: .4byte 0x00000119
thumb_func_start sub_080ACBCC
sub_080ACBCC: @ 0x080ACBCC
thumb_func_start PlayerItem10
PlayerItem10: @ 0x080ACBCC
push {r4, lr}
adds r4, r0, #0
ldr r0, _080ACBFC @ =gPlayerState
@ -16026,8 +16026,8 @@ _080ACF0C:
.align 2, 0
_080ACF10: .4byte gUnk_0812AAE8
thumb_func_start sub_080ACF14
sub_080ACF14: @ 0x080ACF14
thumb_func_start PlayerItem13
PlayerItem13: @ 0x080ACF14
push {lr}
ldr r2, _080ACF28 @ =gUnk_081320A8
ldrb r1, [r0, #0xd]

View File

@ -156,8 +156,8 @@ sub_080ADA14: @ 0x080ADA14
_080ADA28: .4byte gUnk_03006580
_080ADA2C: .4byte gOamCmd
thumb_func_start sub_080ADA30
sub_080ADA30: @ 0x080ADA30
thumb_func_start PlayerItemGustJar
PlayerItemGustJar: @ 0x080ADA30
push {r4, lr}
adds r4, r0, #0
ldr r1, _080ADA60 @ =gPlayerState

View File

@ -6,8 +6,8 @@
.text
thumb_func_start Ocarina
Ocarina: @ 0x08076B78
thumb_func_start ItemOcarina
ItemOcarina: @ 0x08076B78
push {lr}
ldr r3, _08076B94 @ =gOcarinaStates

View File

@ -6,8 +6,8 @@
.text
thumb_func_start CellOverwriteSet
CellOverwriteSet: @ 0x0801BEF8
thumb_func_start PlayerItemCellOverwriteSet
PlayerItemCellOverwriteSet: @ 0x0801BEF8
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb

View File

@ -370,7 +370,7 @@ gUnk_08109AA8:: @ 08109AA8
gUnk_08109AB8:: @ 08109AB8
.incbin "baserom.gba", 0x109AB8, 0x0000010
.include "data/const/playerItem/item11.inc"
.include "data/const/playerItem/playerItem11.inc"
@ TODO convert .inc files into .s files and include them in linker.ld
.include "data/animations/npc/gentari.inc"

View File

@ -5,21 +5,21 @@
#include "entity.h"
#include "player.h"
extern void DebugItem(ItemBehavior*, u32);
extern void Sword(ItemBehavior*, u32);
extern void Bomb(ItemBehavior*, u32);
extern void Bow(ItemBehavior*, u32);
extern void sub_08075D14(ItemBehavior*, u32);
extern void Shield(ItemBehavior*, u32);
extern void Lantern(ItemBehavior*, u32);
extern void GustJar(ItemBehavior*, u32);
extern void PacciCane(ItemBehavior*, u32);
extern void MoleMitts(ItemBehavior*, u32);
extern void RocsCape(ItemBehavior*, u32);
extern void sub_08076800(ItemBehavior*, u32);
extern void Ocarina(ItemBehavior*, u32);
extern void TryPickupObject(ItemBehavior*, u32);
extern void JarEmpty(ItemBehavior*, u32);
extern void ItemDebug(ItemBehavior*, u32);
extern void ItemSword(ItemBehavior*, u32);
extern void ItemBomb(ItemBehavior*, u32);
extern void ItemBow(ItemBehavior*, u32);
extern void ItemBoomerang(ItemBehavior*, u32);
extern void ItemShield(ItemBehavior*, u32);
extern void ItemLantern(ItemBehavior*, u32);
extern void ItemGustJar(ItemBehavior*, u32);
extern void ItemPacciCane(ItemBehavior*, u32);
extern void ItemMoleMitts(ItemBehavior*, u32);
extern void ItemRocsCape(ItemBehavior*, u32);
extern void ItemPegasusBoots(ItemBehavior*, u32);
extern void ItemOcarina(ItemBehavior*, u32);
extern void ItemTryPickupObject(ItemBehavior*, u32);
extern void ItemJarEmpty(ItemBehavior*, u32);
/* On hold until naming conflicts are resolved */
/*

View File

@ -309,14 +309,14 @@ SECTIONS {
/* C source compiled without interworking */
asm/code_08018500.o(.text);
src/code_08018C58.o(.text);
src/item11.o(.text);
asm/item11.o(.text);
src/playerItem/playerItem11.o(.text);
asm/playerItem11.o(.text);
src/createBowEntity.o(.text);
asm/createBowEntity.o(.text);
asm/bowUse.o(.text);
asm/sub_08019410.o(.text);
asm/code_08019444.o(.text);
asm/cellOverwriteSet.o(.text);
asm/playerItemCellOverwriteSet.o(.text);
asm/code_0801C1D4.o(.text);
asm/drawUI.o(.text);
asm/code_0801C370.o(.text);
@ -537,7 +537,7 @@ SECTIONS {
asm/code_0805EC04.o(.text);
src/code_0805F9A0.o(.text);
src/debugScreen.o(.text);
src/item14.o(.text);
src/playerItem/playerItem14.o(.text);
/* npcs */
src/npc/gentari.o(.text);
src/npc/festari.o(.text);

View File

@ -3,6 +3,6 @@
extern void (*const gUnk_080B3E30[])(Entity*);
void sub_08018FCC(Entity* this) {
void PlayerItemBow(Entity* this) {
gUnk_080B3E30[(this->action)](this);
}

View File

@ -5,10 +5,12 @@
// TODO - How does this relate to PlayerItemFunctions? Is this just a lookup table?
void (*const gItemFunctions[])(ItemBehavior*, u32) = {
DebugItem, Sword, Sword, Sword, Sword, Sword, Sword, Bomb,
Bomb, Bow, Bow, sub_08075D14, sub_08075D14, Shield, Shield, Lantern,
Lantern, GustJar, PacciCane, MoleMitts, RocsCape, sub_08076800, DebugItem, Ocarina,
DebugItem, DebugItem, DebugItem, TryPickupObject, JarEmpty, JarEmpty, JarEmpty, JarEmpty,
ItemDebug, ItemSword, ItemSword, ItemSword, ItemSword, ItemSword, ItemSword,
ItemBomb, ItemBomb, ItemBow, ItemBow, ItemBoomerang, ItemBoomerang, ItemShield,
ItemShield, ItemLantern, ItemLantern, ItemGustJar, ItemPacciCane, ItemMoleMitts, ItemRocsCape,
ItemPegasusBoots, ItemDebug, ItemOcarina, ItemDebug, ItemDebug, ItemDebug, ItemTryPickupObject,
ItemJarEmpty, ItemJarEmpty, ItemJarEmpty, ItemJarEmpty,
};
extern void sub_08077E78(ItemBehavior*, u32);
@ -61,7 +63,7 @@ void OcarinaUse(ItemBehavior *beh, u32 arg1)
}
#endif
void PacciCane(ItemBehavior* beh, u32 arg1) {
void ItemPacciCane(ItemBehavior* beh, u32 arg1) {
gUnk_0811BDE0[beh->stateID](beh, arg1);
}
@ -83,7 +85,7 @@ void sub_08076CBC(ItemBehavior* beh, u32 arg1) {
}
}
void Shield(ItemBehavior* beh, u32 arg1) {
void ItemShield(ItemBehavior* beh, u32 arg1) {
gUnk_0811BDE8[beh->stateID](beh, arg1);
}
@ -121,7 +123,7 @@ void sub_08076D94(ItemBehavior* beh, u32 arg1) {
}
}
void GustJar(ItemBehavior* beh, u32 arg1) {
void ItemGustJar(ItemBehavior* beh, u32 arg1) {
gPlayerState.field_0xa8 = 3;
gUnk_0811BDF4[beh->stateID](beh, arg1);
}

View File

@ -279,10 +279,10 @@ u16 sub_08056300(u16* arr) {
return 0xff;
}
void NulledItem() {
void PlayerItemNulled2() {
DeleteThisEntity();
}
void sub_08056330() {
void PlayerItemNulled() {
DeleteThisEntity();
}

View File

@ -55,8 +55,8 @@ void sub_08057920(Manager* this) {
DiggingCaveEntrance* tmp;
u8 roomID;
roomID = gRoomControls.roomID;
for (tmp = diggingCaveEntrances[gRoomControls.areaID]; (tmp = sub_08057AA8(tmp, roomID)) != 0 && !sub_0805795C(this, tmp);
tmp++)
for (tmp = diggingCaveEntrances[gRoomControls.areaID];
(tmp = sub_08057AA8(tmp, roomID)) != 0 && !sub_0805795C(this, tmp); tmp++)
;
}

View File

@ -1,30 +1,52 @@
#include "global.h"
#include "functions.h"
extern void sub_080A7544();
extern void sub_0801B188();
extern void sub_0801B45C();
extern void sub_08018FCC();
extern void sub_080A2D74();
extern void sub_08054A40();
extern void sub_08056330();
extern void sub_080ADA30();
extern void sub_080704BC();
extern void sub_0801B898();
extern void CellOverwriteSet();
extern void SwordSpin();
extern void SwordBeam();
extern void sub_080ACBCC();
extern void Item11();
extern void sub_080700E8();
extern void sub_080ACF14();
extern void Item14();
extern void sub_080A306C();
extern void NulledItem();
extern void PlayerItemSword();
extern void PlayerItemBomb();
extern void PlayerItem3();
extern void PlayerItemBow();
extern void PlayerItemShield();
extern void PlayerItemLantern();
extern void PlayerItemNulled();
extern void PlayerItemGustJar();
extern void PlayerItemPacciCane();
extern void PlayerItemC();
extern void PlayerItemCellOverwriteSet();
extern void PlayerItemSwordSpin();
extern void PlayerItemSwordBeam();
extern void PlayerItem10();
extern void PlayerItem11();
extern void PlayerItem12();
extern void PlayerItem13();
extern void PlayerItem14();
extern void PlayerItem15();
extern void PlayerItemNulled2();
void (*const gPlayerItemFunctions[])() = {
DeleteEntity, sub_080A7544, sub_0801B188, sub_0801B45C, sub_08018FCC, sub_080A2D74, sub_08054A40,
sub_08056330, sub_080ADA30, sub_080704BC, DeleteEntity, DeleteEntity, sub_0801B898, CellOverwriteSet,
SwordSpin, SwordBeam, sub_080ACBCC, Item11, sub_080700E8, sub_080ACF14, Item14,
sub_080A306C, SwordBeam, NulledItem, CellOverwriteSet
DeleteEntity,
PlayerItemSword,
PlayerItemBomb,
PlayerItem3,
PlayerItemBow,
PlayerItemShield,
PlayerItemLantern,
PlayerItemNulled,
PlayerItemGustJar,
PlayerItemPacciCane,
DeleteEntity,
DeleteEntity,
PlayerItemC,
PlayerItemCellOverwriteSet,
PlayerItemSwordSpin,
PlayerItemSwordBeam,
PlayerItem10,
PlayerItem11,
PlayerItem12,
PlayerItem13,
PlayerItem14,
PlayerItem15,
PlayerItemSwordBeam,
PlayerItemNulled2,
PlayerItemCellOverwriteSet
};

View File

@ -13,7 +13,7 @@ extern Hitbox gUnk_080B3E18;
extern u8 gUnk_080B3DE0[];
extern Hitbox* gUnk_080B3DE8[];
void Item11(Entity* this) {
void PlayerItem11(Entity* this) {
if (this->currentHealth) {
this->iframes = 0;
gUnk_080B3DD0[this->action](this);

View File

@ -10,7 +10,7 @@ extern u8 gUnk_08003E44;
void sub_0805FC74(Entity*);
void Item14(Entity* this) {
void PlayerItem14(Entity* this) {
gUnk_08109AC8[this->action](this);
}