diff --git a/asm/d/d_bomb.s b/asm/d/d_bomb.s deleted file mode 100644 index 1f86965280c..00000000000 --- a/asm/d/d_bomb.s +++ /dev/null @@ -1,55 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 80031f94 - - -/* 80031F94 0002EED4 38 80 00 00 */ li r4, 0 -/* 80031F98 0002EED8 80 A3 04 9C */ lwz r5, 0x49c(r3) -/* 80031F9C 0002EEDC 54 A0 04 A5 */ rlwinm. r0, r5, 0, 0x12, 0x12 -/* 80031FA0 0002EEE0 40 82 00 20 */ bne lbl_80031FC0 -/* 80031FA4 0002EEE4 54 A0 02 D7 */ rlwinm. r0, r5, 0, 0xb, 0xb -/* 80031FA8 0002EEE8 40 82 00 18 */ bne lbl_80031FC0 -/* 80031FAC 0002EEEC 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80031FB0 0002EEF0 28 00 00 02 */ cmplwi r0, 2 -/* 80031FB4 0002EEF4 41 82 00 0C */ beq lbl_80031FC0 -/* 80031FB8 0002EEF8 28 00 00 01 */ cmplwi r0, 1 -/* 80031FBC 0002EEFC 40 82 00 08 */ bne lbl_80031FC4 -lbl_80031FC0: -/* 80031FC0 0002EF00 38 80 00 01 */ li r4, 1 -lbl_80031FC4: -/* 80031FC4 0002EF04 7C 83 23 78 */ mr r3, r4 -/* 80031FC8 0002EF08 4E 80 00 20 */ blr -/* 80031FCC 0002EF0C 38 80 00 00 */ li r4, 0 -/* 80031FD0 0002EF10 A8 03 00 08 */ lha r0, 8(r3) -/* 80031FD4 0002EF14 2C 00 02 21 */ cmpwi r0, 0x221 -/* 80031FD8 0002EF18 40 82 00 14 */ bne lbl_80031FEC -/* 80031FDC 0002EF1C 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80031FE0 0002EF20 28 00 00 04 */ cmplwi r0, 4 -/* 80031FE4 0002EF24 40 82 00 08 */ bne lbl_80031FEC -/* 80031FE8 0002EF28 38 80 00 01 */ li r4, 1 -lbl_80031FEC: -/* 80031FEC 0002EF2C 7C 83 23 78 */ mr r3, r4 -/* 80031FF0 0002EF30 4E 80 00 20 */ blr -/* 80031FF4 0002EF34 38 80 00 00 */ li r4, 0 -/* 80031FF8 0002EF38 A8 03 00 08 */ lha r0, 8(r3) -/* 80031FFC 0002EF3C 2C 00 02 21 */ cmpwi r0, 0x221 -/* 80032000 0002EF40 40 82 00 14 */ bne lbl_80032014 -/* 80032004 0002EF44 80 03 0B 4C */ lwz r0, 0xb4c(r3) -/* 80032008 0002EF48 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8003200C 0002EF4C 41 82 00 08 */ beq lbl_80032014 -/* 80032010 0002EF50 38 80 00 01 */ li r4, 1 -lbl_80032014: -/* 80032014 0002EF54 7C 83 23 78 */ mr r3, r4 -/* 80032018 0002EF58 4E 80 00 20 */ blr -/* 8003201C 0002EF5C 38 80 00 00 */ li r4, 0 -/* 80032020 0002EF60 A8 03 00 08 */ lha r0, 8(r3) -/* 80032024 0002EF64 2C 00 02 21 */ cmpwi r0, 0x221 -/* 80032028 0002EF68 40 82 00 14 */ bne lbl_8003203C -/* 8003202C 0002EF6C 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80032030 0002EF70 28 00 00 07 */ cmplwi r0, 7 -/* 80032034 0002EF74 40 82 00 08 */ bne lbl_8003203C -/* 80032038 0002EF78 38 80 00 01 */ li r4, 1 -lbl_8003203C: -/* 8003203C 0002EF7C 7C 83 23 78 */ mr r3, r4 -/* 80032040 0002EF80 4E 80 00 20 */ blr - diff --git a/include/d/d_bomb/d_bomb.h b/include/d/d_bomb/d_bomb.h new file mode 100644 index 00000000000..d2aef9c456c --- /dev/null +++ b/include/d/d_bomb/d_bomb.h @@ -0,0 +1,20 @@ +#include "global.h" + +class fopAc_ac_c; + +class dBomb_c{ +public: + bool checkStateCarry(); + bool checkFlowerBombWait(fopAc_ac_c* param_1); + bool checkWaterBomb(fopAc_ac_c* param_1); + bool checkInsectBombMove(fopAc_ac_c* param_1); +private: + u8 p1[0x8]; + s16 unk_1; + u8 p2[0xA4]; + u32 unk_2; + u8 p3[0x3E8]; + u32 unk_3; + u8 p4[0x6AA]; + u32 unk_4; +}; \ No newline at end of file diff --git a/ldscript.lcf b/ldscript.lcf index c05bae80e50..78ce49f6b47 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -758,6 +758,10 @@ SECTIONS { "__dt__7JKRFileFv" = 0x802D7B90; } FORCEACTIVE { + checkStateCarry__7dBomb_cFv + checkFlowerBombWait__7dBomb_cFP10fopAc_ac_c + checkWaterBomb__7dBomb_cFP10fopAc_ac_c + checkInsectBombMove__7dBomb_cFP10fopAc_ac_c set__17dSv_horse_place_cFPCcRC4cXyzsSc setLightDropNum__16dSv_light_drop_cFUcUc addFishCount__18dSv_fishing_info_cFUc diff --git a/obj_files.mk b/obj_files.mk index d1d7bf38b59..31b63427f50 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -87,7 +87,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/src/d/d_com/d_com_inf_game.o \ $(BUILD_DIR)/asm/d/com/inf/d_com_inf_game.o \ $(BUILD_DIR)/asm/d/com/d_com_static.o \ - $(BUILD_DIR)/asm/d/d_bomb.o \ + $(BUILD_DIR)/src/d/d_bomb.o \ $(BUILD_DIR)/asm/d/d_lib.o \ $(BUILD_DIR)/src/d/d_save/d_save.o \ $(BUILD_DIR)/asm/d/save/d_save_init.o \ diff --git a/src/d/d_bomb.cpp b/src/d/d_bomb.cpp index 4bf93c8658d..62ed3360069 100644 --- a/src/d/d_bomb.cpp +++ b/src/d/d_bomb.cpp @@ -1 +1,17 @@ -// ok +#include "d/d_bomb/d_bomb.h" + +bool dBomb_c::checkStateCarry(){ + return ((unk_3 & 0x2000) != 0 || (unk_3 & 0x100000) != 0 || unk_2 == 2 || unk_2 == 1); +} + +bool dBomb_c::checkFlowerBombWait(fopAc_ac_c* param_1){ + return (unk_1 == 0x221 && unk_2 == 4); +} + +bool dBomb_c::checkWaterBomb(fopAc_ac_c* param_1){ + return (unk_1 == 0x221 && (unk_4 & 0x10)!=0); +} + +bool dBomb_c::checkInsectBombMove(fopAc_ac_c* param_1){ + return (unk_1 == 0x221 && unk_2 == 7); +} \ No newline at end of file