diff --git a/asm/melee/it/items/itgamewatchturtle.s b/asm/melee/it/items/itgamewatchturtle.s deleted file mode 100644 index eb60b3c6f8..0000000000 --- a/asm/melee/it/items/itgamewatchturtle.s +++ /dev/null @@ -1,241 +0,0 @@ -.include "macros.inc" - -.section .text - -.global it_802C6F40 -it_802C6F40: -/* 802C6F40 002C3B20 7C 08 02 A6 */ mflr r0 -/* 802C6F44 002C3B24 38 E0 00 00 */ li r7, 0 -/* 802C6F48 002C3B28 90 01 00 04 */ stw r0, 4(r1) -/* 802C6F4C 002C3B2C 38 00 00 76 */ li r0, 0x76 -/* 802C6F50 002C3B30 38 C0 00 01 */ li r6, 1 -/* 802C6F54 002C3B34 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802C6F58 002C3B38 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 802C6F5C 002C3B3C 93 C1 00 78 */ stw r30, 0x78(r1) -/* 802C6F60 002C3B40 7C BE 2B 78 */ mr r30, r5 -/* 802C6F64 002C3B44 93 A1 00 74 */ stw r29, 0x74(r1) -/* 802C6F68 002C3B48 3B A3 00 00 */ addi r29, r3, 0 -/* 802C6F6C 002C3B4C 90 01 00 28 */ stw r0, 0x28(r1) -/* 802C6F70 002C3B50 80 64 00 00 */ lwz r3, 0(r4) -/* 802C6F74 002C3B54 80 04 00 04 */ lwz r0, 4(r4) -/* 802C6F78 002C3B58 90 61 00 40 */ stw r3, 0x40(r1) -/* 802C6F7C 002C3B5C 38 61 00 20 */ addi r3, r1, 0x20 -/* 802C6F80 002C3B60 90 01 00 44 */ stw r0, 0x44(r1) -/* 802C6F84 002C3B64 80 04 00 08 */ lwz r0, 8(r4) -/* 802C6F88 002C3B68 90 01 00 48 */ stw r0, 0x48(r1) -/* 802C6F8C 002C3B6C 80 81 00 40 */ lwz r4, 0x40(r1) -/* 802C6F90 002C3B70 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802C6F94 002C3B74 C0 02 D8 E0 */ lfs f0, it_804DD2C0@sda21(r2) -/* 802C6F98 002C3B78 90 81 00 34 */ stw r4, 0x34(r1) -/* 802C6F9C 002C3B7C 90 01 00 38 */ stw r0, 0x38(r1) -/* 802C6FA0 002C3B80 80 01 00 48 */ lwz r0, 0x48(r1) -/* 802C6FA4 002C3B84 90 01 00 3C */ stw r0, 0x3c(r1) -/* 802C6FA8 002C3B88 D0 21 00 58 */ stfs f1, 0x58(r1) -/* 802C6FAC 002C3B8C B0 E1 00 5C */ sth r7, 0x5c(r1) -/* 802C6FB0 002C3B90 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 802C6FB4 002C3B94 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 802C6FB8 002C3B98 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 802C6FBC 002C3B9C 93 A1 00 20 */ stw r29, 0x20(r1) -/* 802C6FC0 002C3BA0 80 01 00 20 */ lwz r0, 0x20(r1) -/* 802C6FC4 002C3BA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802C6FC8 002C3BA8 88 01 00 64 */ lbz r0, 0x64(r1) -/* 802C6FCC 002C3BAC 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18 -/* 802C6FD0 002C3BB0 98 01 00 64 */ stb r0, 0x64(r1) -/* 802C6FD4 002C3BB4 90 E1 00 60 */ stw r7, 0x60(r1) -/* 802C6FD8 002C3BB8 4B FA 1B 41 */ bl Item_80268B18 -/* 802C6FDC 002C3BBC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802C6FE0 002C3BC0 41 82 00 44 */ beq .L_802C7024 -/* 802C6FE4 002C3BC4 80 BF 00 2C */ lwz r5, 0x2c(r31) -/* 802C6FE8 002C3BC8 38 7F 00 00 */ addi r3, r31, 0 -/* 802C6FEC 002C3BCC 38 9D 00 00 */ addi r4, r29, 0 -/* 802C6FF0 002C3BD0 80 C5 00 C4 */ lwz r6, 0xc4(r5) -/* 802C6FF4 002C3BD4 7F C5 F3 78 */ mr r5, r30 -/* 802C6FF8 002C3BD8 83 C6 00 04 */ lwz r30, 4(r6) -/* 802C6FFC 002C3BDC 4B FA 3B 59 */ bl Item_8026AB54 -/* 802C7000 002C3BE0 38 7F 00 00 */ addi r3, r31, 0 -/* 802C7004 002C3BE4 38 9D 00 00 */ addi r4, r29, 0 -/* 802C7008 002C3BE8 4B F5 ED D1 */ bl db_80225DD8 -/* 802C700C 002C3BEC 80 BE 00 00 */ lwz r5, 0(r30) -/* 802C7010 002C3BF0 38 7F 00 00 */ addi r3, r31, 0 -/* 802C7014 002C3BF4 38 9D 00 00 */ addi r4, r29, 0 -/* 802C7018 002C3BF8 4B FB 5E 4D */ bl it_8027CE64 -/* 802C701C 002C3BFC 7F E3 FB 78 */ mr r3, r31 -/* 802C7020 002C3C00 48 00 00 08 */ b .L_802C7028 -.L_802C7024: -/* 802C7024 002C3C04 38 60 00 00 */ li r3, 0 -.L_802C7028: -/* 802C7028 002C3C08 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802C702C 002C3C0C 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 802C7030 002C3C10 83 C1 00 78 */ lwz r30, 0x78(r1) -/* 802C7034 002C3C14 83 A1 00 74 */ lwz r29, 0x74(r1) -/* 802C7038 002C3C18 38 21 00 80 */ addi r1, r1, 0x80 -/* 802C703C 002C3C1C 7C 08 03 A6 */ mtlr r0 -/* 802C7040 002C3C20 4E 80 00 20 */ blr - -.global it_802C7044 -it_802C7044: -/* 802C7044 002C3C24 7C 08 02 A6 */ mflr r0 -/* 802C7048 002C3C28 90 01 00 04 */ stw r0, 4(r1) -/* 802C704C 002C3C2C 94 21 FF F8 */ stwu r1, -8(r1) -/* 802C7050 002C3C30 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 802C7054 002C3C34 80 63 05 18 */ lwz r3, 0x518(r3) -/* 802C7058 002C3C38 28 03 00 00 */ cmplwi r3, 0 -/* 802C705C 002C3C3C 41 82 00 08 */ beq .L_802C7064 -/* 802C7060 002C3C40 4B E8 42 85 */ bl ftGw_AttackAirN_ItemTurtleSetFlag -.L_802C7064: -/* 802C7064 002C3C44 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802C7068 002C3C48 38 21 00 08 */ addi r1, r1, 8 -/* 802C706C 002C3C4C 7C 08 03 A6 */ mtlr r0 -/* 802C7070 002C3C50 4E 80 00 20 */ blr - -.global it_802C7074 -it_802C7074: -/* 802C7074 002C3C54 7C 08 02 A6 */ mflr r0 -/* 802C7078 002C3C58 90 01 00 04 */ stw r0, 4(r1) -/* 802C707C 002C3C5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802C7080 002C3C60 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802C7084 002C3C64 7C 7F 1B 78 */ mr r31, r3 -/* 802C7088 002C3C68 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 802C708C 002C3C6C 28 03 00 00 */ cmplwi r3, 0 -/* 802C7090 002C3C70 41 82 00 1C */ beq .L_802C70AC -/* 802C7094 002C3C74 80 63 05 18 */ lwz r3, 0x518(r3) -/* 802C7098 002C3C78 28 03 00 00 */ cmplwi r3, 0 -/* 802C709C 002C3C7C 41 82 00 08 */ beq .L_802C70A4 -/* 802C70A0 002C3C80 4B E8 42 45 */ bl ftGw_AttackAirN_ItemTurtleSetFlag -.L_802C70A4: -/* 802C70A4 002C3C84 7F E3 FB 78 */ mr r3, r31 -/* 802C70A8 002C3C88 4B FA 38 45 */ bl Item_8026A8EC -.L_802C70AC: -/* 802C70AC 002C3C8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802C70B0 002C3C90 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802C70B4 002C3C94 38 21 00 20 */ addi r1, r1, 0x20 -/* 802C70B8 002C3C98 7C 08 03 A6 */ mtlr r0 -/* 802C70BC 002C3C9C 4E 80 00 20 */ blr - -.global it_802C70C0 -it_802C70C0: -/* 802C70C0 002C3CA0 7C 08 02 A6 */ mflr r0 -/* 802C70C4 002C3CA4 90 01 00 04 */ stw r0, 4(r1) -/* 802C70C8 002C3CA8 94 21 FF F8 */ stwu r1, -8(r1) -/* 802C70CC 002C3CAC 4B FA 46 59 */ bl it_8026B724 -/* 802C70D0 002C3CB0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802C70D4 002C3CB4 38 21 00 08 */ addi r1, r1, 8 -/* 802C70D8 002C3CB8 7C 08 03 A6 */ mtlr r0 -/* 802C70DC 002C3CBC 4E 80 00 20 */ blr - -.global it_802C70E0 -it_802C70E0: -/* 802C70E0 002C3CC0 7C 08 02 A6 */ mflr r0 -/* 802C70E4 002C3CC4 90 01 00 04 */ stw r0, 4(r1) -/* 802C70E8 002C3CC8 94 21 FF F8 */ stwu r1, -8(r1) -/* 802C70EC 002C3CCC 4B FA 46 51 */ bl it_8026B73C -/* 802C70F0 002C3CD0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802C70F4 002C3CD4 38 21 00 08 */ addi r1, r1, 8 -/* 802C70F8 002C3CD8 7C 08 03 A6 */ mtlr r0 -/* 802C70FC 002C3CDC 4E 80 00 20 */ blr - -.global it_802C7100 -it_802C7100: -/* 802C7100 002C3CE0 7C 08 02 A6 */ mflr r0 -/* 802C7104 002C3CE4 90 01 00 04 */ stw r0, 4(r1) -/* 802C7108 002C3CE8 38 00 00 00 */ li r0, 0 -/* 802C710C 002C3CEC 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 802C7110 002C3CF0 93 E1 00 14 */ stw r31, 0x14(r1) -/* 802C7114 002C3CF4 7C 7F 1B 78 */ mr r31, r3 -/* 802C7118 002C3CF8 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 802C711C 002C3CFC 90 03 0D AC */ stw r0, 0xdac(r3) -/* 802C7120 002C3D00 80 03 05 18 */ lwz r0, 0x518(r3) -/* 802C7124 002C3D04 28 00 00 00 */ cmplwi r0, 0 -/* 802C7128 002C3D08 41 82 00 1C */ beq .L_802C7144 -/* 802C712C 002C3D0C 38 7F 00 00 */ addi r3, r31, 0 -/* 802C7130 002C3D10 38 80 00 00 */ li r4, 0 -/* 802C7134 002C3D14 38 A0 00 02 */ li r5, 2 -/* 802C7138 002C3D18 4B FA 1D 25 */ bl Item_80268E5C -/* 802C713C 002C3D1C 7F E3 FB 78 */ mr r3, r31 -/* 802C7140 002C3D20 4B FA 23 8D */ bl Item_802694CC -.L_802C7144: -/* 802C7144 002C3D24 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 802C7148 002C3D28 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 802C714C 002C3D2C 38 21 00 18 */ addi r1, r1, 0x18 -/* 802C7150 002C3D30 7C 08 03 A6 */ mtlr r0 -/* 802C7154 002C3D34 4E 80 00 20 */ blr - -.global it_802C7158 -it_802C7158: -/* 802C7158 002C3D38 7C 08 02 A6 */ mflr r0 -/* 802C715C 002C3D3C 38 80 00 01 */ li r4, 1 -/* 802C7160 002C3D40 90 01 00 04 */ stw r0, 4(r1) -/* 802C7164 002C3D44 38 A0 00 02 */ li r5, 2 -/* 802C7168 002C3D48 94 21 FF F8 */ stwu r1, -8(r1) -/* 802C716C 002C3D4C 4B FA 1C F1 */ bl Item_80268E5C -/* 802C7170 002C3D50 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802C7174 002C3D54 38 21 00 08 */ addi r1, r1, 8 -/* 802C7178 002C3D58 7C 08 03 A6 */ mtlr r0 -/* 802C717C 002C3D5C 4E 80 00 20 */ blr - -.global it_802C7180 -it_802C7180: -/* 802C7180 002C3D60 7C 08 02 A6 */ mflr r0 -/* 802C7184 002C3D64 90 01 00 04 */ stw r0, 4(r1) -/* 802C7188 002C3D68 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 802C718C 002C3D6C 93 E1 00 24 */ stw r31, 0x24(r1) -/* 802C7190 002C3D70 7C 7F 1B 78 */ mr r31, r3 -/* 802C7194 002C3D74 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 802C7198 002C3D78 80 63 05 18 */ lwz r3, 0x518(r3) -/* 802C719C 002C3D7C 28 03 00 00 */ cmplwi r3, 0 -/* 802C71A0 002C3D80 41 82 00 0C */ beq .L_802C71AC -/* 802C71A4 002C3D84 4B E8 41 DD */ bl ftGw_AttackAirN_ItemCheckTurtleRemove -/* 802C71A8 002C3D88 48 00 00 08 */ b .L_802C71B0 -.L_802C71AC: -/* 802C71AC 002C3D8C 38 60 00 01 */ li r3, 1 -.L_802C71B0: -/* 802C71B0 002C3D90 2C 03 00 00 */ cmpwi r3, 0 -/* 802C71B4 002C3D94 41 82 00 20 */ beq .L_802C71D4 -/* 802C71B8 002C3D98 80 7F 00 2C */ lwz r3, 0x2c(r31) -/* 802C71BC 002C3D9C 80 63 05 18 */ lwz r3, 0x518(r3) -/* 802C71C0 002C3DA0 28 03 00 00 */ cmplwi r3, 0 -/* 802C71C4 002C3DA4 41 82 00 08 */ beq .L_802C71CC -/* 802C71C8 002C3DA8 4B E8 41 1D */ bl ftGw_AttackAirN_ItemTurtleSetFlag -.L_802C71CC: -/* 802C71CC 002C3DAC 38 60 00 01 */ li r3, 1 -/* 802C71D0 002C3DB0 48 00 00 08 */ b .L_802C71D8 -.L_802C71D4: -/* 802C71D4 002C3DB4 38 60 00 00 */ li r3, 0 -.L_802C71D8: -/* 802C71D8 002C3DB8 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 802C71DC 002C3DBC 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 802C71E0 002C3DC0 38 21 00 28 */ addi r1, r1, 0x28 -/* 802C71E4 002C3DC4 7C 08 03 A6 */ mtlr r0 -/* 802C71E8 002C3DC8 4E 80 00 20 */ blr - -.global it_802C71EC -it_802C71EC: -/* 802C71EC 002C3DCC 7C 08 02 A6 */ mflr r0 -/* 802C71F0 002C3DD0 90 01 00 04 */ stw r0, 4(r1) -/* 802C71F4 002C3DD4 94 21 FF F8 */ stwu r1, -8(r1) -/* 802C71F8 002C3DD8 4B FA 46 9D */ bl it_8026B894 -/* 802C71FC 002C3DDC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802C7200 002C3DE0 38 21 00 08 */ addi r1, r1, 8 -/* 802C7204 002C3DE4 7C 08 03 A6 */ mtlr r0 -/* 802C7208 002C3DE8 4E 80 00 20 */ blr - - -.section .data - .balign 8 -.global it_803F7918 -it_803F7918: - .4byte 0 - .4byte it_802C7180 - .4byte NULL - .4byte NULL - .4byte 1 - .4byte it_802C7180 - .4byte NULL - .4byte NULL - - -.section .sdata2 - .balign 8 -.global it_804DD2C0 -it_804DD2C0: - .4byte 0x00000000 diff --git a/configure.py b/configure.py index 987c452a6d..41baf00511 100755 --- a/configure.py +++ b/configure.py @@ -981,7 +981,7 @@ def RuntimeLib(lib_name: str, objects: Objects) -> LibDict: Object(NonMatching, "melee/it/items/itgamewatchmanhole.c"), Object(NonMatching, "melee/it/items/itgamewatchfire.c"), Object(NonMatching, "melee/it/items/itgamewatchparachute.c"), - Object(NonMatching, "melee/it/items/itgamewatchturtle.c"), + Object(Matching, "melee/it/items/itgamewatchturtle.c"), Object(NonMatching, "melee/it/items/itgamewatchbreath.c"), Object(NonMatching, "melee/it/items/itkirbygamewatchchefpan.c"), Object(NonMatching, "melee/it/items/itgamewatchjudge.c"), diff --git a/obj_files.mk b/obj_files.mk index 1255cb61a6..a21b85b746 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -661,7 +661,7 @@ TEXT_O_FILES +=\ $(BUILD_DIR)/asm/melee/it/items/itgamewatchmanhole.s.o\ $(BUILD_DIR)/asm/melee/it/items/itgamewatchfire.s.o\ $(BUILD_DIR)/asm/melee/it/items/itgamewatchparachute.s.o\ - $(BUILD_DIR)/asm/melee/it/items/itgamewatchturtle.s.o\ + $(BUILD_DIR)/src/melee/it/items/itgamewatchturtle.c.o\ $(BUILD_DIR)/asm/melee/it/items/itgamewatchbreath.s.o\ $(BUILD_DIR)/asm/melee/it/items/itkirbygamewatchchefpan.s.o\ $(BUILD_DIR)/asm/melee/it/items/itgamewatchjudge.s.o\ diff --git a/src/melee/ft/chara/ftGameWatch/ftGw_AttackAir.c b/src/melee/ft/chara/ftGameWatch/ftGw_AttackAir.c index 423d382691..b4f4972975 100644 --- a/src/melee/ft/chara/ftGameWatch/ftGw_AttackAir.c +++ b/src/melee/ft/chara/ftGameWatch/ftGw_AttackAir.c @@ -13,6 +13,7 @@ #include "ftCommon/ftCo_LandingAir.h" #include "ftGameWatch/types.h" #include "it/items/it_27CF.h" +#include "it/items/itgamewatchturtle.h" #include "lb/lb_00B0.h" #include diff --git a/src/melee/it/items/it_27CF.h b/src/melee/it/items/it_27CF.h index 26e23ec133..8f95834de2 100644 --- a/src/melee/it/items/it_27CF.h +++ b/src/melee/it/items/it_27CF.h @@ -150,11 +150,6 @@ /* 2C6DB8 */ void it_802C6DB8(Item_GObj*); /* 2C6DD8 */ void it_802C6DD8(Item_GObj*); /* 2C6E50 */ void it_802C6E50(Item_GObj*); -/* 2C6F40 */ HSD_GObj* it_802C6F40(Item_GObj*, Vec3*, s32, float); -/* 2C7074 */ void it_802C7074(Item_GObj*); -/* 2C70C0 */ void it_802C70C0(Item_GObj*); -/* 2C70E0 */ void it_802C70E0(Item_GObj*); -/* 2C7158 */ void it_802C7158(Item_GObj*); /* 2C720C */ HSD_GObj* it_802C720C(Item_GObj*, Vec3*, s32, float); /* 2C7340 */ void it_802C7340(Item_GObj*); /* 2C738C */ void it_802C738C(Item_GObj*); diff --git a/src/melee/it/items/itgamewatchturtle.c b/src/melee/it/items/itgamewatchturtle.c index 8b13789179..f9ea719e03 100644 --- a/src/melee/it/items/itgamewatchturtle.c +++ b/src/melee/it/items/itgamewatchturtle.c @@ -1 +1,121 @@ +#include "itgamewatchturtle.h" +#include +#include +#include +#include +#include +#include +#include + +void it_8027CE64(HSD_GObj*, Item_GObj*, s32); /* extern */ + +ItemStateTable it_803F7918[] = { + { + 0, + it_802C7180, + NULL, + NULL, + }, + { + 1, + it_802C7180, + NULL, + NULL, + }, +}; + +Item_GObj* it_802C6F40(HSD_GObj* parent, Vec3* pos, u8 arg2, f32 dir) +{ + SpawnItem spawn_item; + HSD_GObj* item_gobj; + int* temp_r30; + + spawn_item.kind = It_Kind_GameWatch_Turtle; + spawn_item.prev_pos = *pos; + spawn_item.pos = spawn_item.prev_pos; + spawn_item.facing_dir = dir; + spawn_item.x3C_damage = 0; + spawn_item.vel.x = spawn_item.vel.y = spawn_item.vel.z = 0.0f; + spawn_item.x0_parent_gobj = parent; + + spawn_item.x4_parent_gobj2 = spawn_item.x0_parent_gobj; + spawn_item.x44_flag.bits.b0 = true; + spawn_item.x40 = 0; + item_gobj = Item_80268B18(&spawn_item); + if (item_gobj != NULL) { + Item* it = GET_ITEM(item_gobj); + temp_r30 = it->xC4_article_data->x4_specialAttributes; + Item_8026AB54(item_gobj, parent, arg2); + db_80225DD8(item_gobj, parent); + it_8027CE64(item_gobj, parent, *temp_r30); + return item_gobj; + } + return NULL; +} + +void it_802C7044(Item_GObj* item_gobj) +{ + Item* it = GET_ITEM(item_gobj); + if (it->owner != NULL) { + ftGw_AttackAirN_ItemTurtleSetFlag(it->owner); + } +} + +void it_802C7074(Item_GObj* item_gobj) +{ + Item* it = GET_ITEM(item_gobj); + u32 unused; + if (it != NULL) { + if (it->owner != NULL) { + ftGw_AttackAirN_ItemTurtleSetFlag(it->owner); + } + Item_8026A8EC(item_gobj); + } +} + +void it_802C70C0(Item_GObj* item_gobj) +{ + it_8026B724(item_gobj); +} + +void it_802C70E0(Item_GObj* item_gobj) +{ + it_8026B73C(item_gobj); +} + +void it_802C7100(Item_GObj* item_gobj) +{ + Item* it = GET_ITEM(item_gobj); + it->xDAC_itcmd_var0 = 0; + if (it->owner != NULL) { + Item_80268E5C(item_gobj, 0, ITEM_ANIM_UPDATE); + Item_802694CC(item_gobj); + } +} + +void it_802C7158(HSD_GObj* arg0) +{ + Item_80268E5C(arg0, 1, ITEM_ANIM_UPDATE); +} + +bool it_802C7180(Item_GObj* item_gobj) +{ + Item* it = GET_ITEM(item_gobj); + u32 unused[2]; + if (it->owner != NULL ? ftGw_AttackAirN_ItemCheckTurtleRemove(it->owner) + : true) + { + Item* it = GET_ITEM(item_gobj); + if (it->owner != NULL) { + ftGw_AttackAirN_ItemTurtleSetFlag(it->owner); + } + return true; + } + return false; +} + +void it_802C71EC(HSD_GObj* arg0, HSD_GObj* arg1) +{ + it_8026B894(arg0, arg1); +} diff --git a/src/melee/it/items/itgamewatchturtle.h b/src/melee/it/items/itgamewatchturtle.h index 0b7bd3fc3f..e35826cd56 100644 --- a/src/melee/it/items/itgamewatchturtle.h +++ b/src/melee/it/items/itgamewatchturtle.h @@ -1,13 +1,21 @@ #ifndef GALE01_2C6F40 #define GALE01_2C6F40 -#include "it/forward.h" +#include -#include "it/items/types.h" +#include +#include -/* 2C7044 */ void it_802C7044(Item_GObj*); -/* 2C7100 */ void it_802C7100(Item_GObj*); -/* 2C71EC */ void it_802C71EC(Item_GObj*, Item_GObj*); -/* 3F7918 */ extern ItemStateTable it_803F7918[]; +extern ItemStateTable it_803F7918[]; + +Item_GObj* it_802C6F40(HSD_GObj* parent, Vec3* pos, u8 arg2, f32 dir); +void it_802C7044(Item_GObj* item_gobj); +void it_802C7074(Item_GObj* item_gobj); +void it_802C70C0(Item_GObj*); +void it_802C70E0(Item_GObj*); +void it_802C7100(Item_GObj* item_gobj); +void it_802C7158(HSD_GObj* arg0); +bool it_802C7180(Item_GObj* item_gobj); +void it_802C71EC(HSD_GObj*, HSD_GObj*); #endif