d_a_obj_tombo OK (#2537)

This commit is contained in:
hatal175 2025-07-19 00:41:46 +03:00 committed by GitHub
parent 6bc4faa5f7
commit 9f65aa92a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 755 additions and 853 deletions

View File

@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
l_HIOInit = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

View File

@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

View File

@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

View File

@ -2143,7 +2143,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_toby"),
ActorRel(NonMatching, "d_a_obj_tobyhouse"),
ActorRel(NonMatching, "d_a_obj_togeTrap"),
ActorRel(NonMatching, "d_a_obj_tombo"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tombo"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado2"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tp"),

View File

@ -1,6 +1,9 @@
#ifndef D_A_OBJ_TOMBO_H
#define D_A_OBJ_TOMBO_H
#include "JSystem/JHostIO/JORReflexible.h"
#include "d/actor/d_a_player.h"
#include "d/d_cc_d.h"
#include "d/d_insect.h"
/**
@ -11,14 +14,20 @@
* @details
*
*/
class daObjTOMBO_c : public fopAc_ac_c {
class daObjTOMBO_c : public dInsect_c {
public:
enum Action {
ACTION_WAIT,
ACTION_MOVE,
ACTION_LINK,
};
/* 80D19200 */ void InitCcSph();
/* 80D1926C */ void SetCcSph();
/* 80D192E4 */ void CreateHeap();
/* 80D192E4 */ int CreateHeap();
/* 80D19658 */ void WaitAction();
/* 80D19744 */ void SpeedSet();
/* 80D19834 */ void CheckWater();
/* 80D19834 */ bool CheckWater();
/* 80D199F4 */ void CheckGround();
/* 80D19B48 */ void CheckWall();
/* 80D19C34 */ void SearchLink();
@ -29,25 +38,44 @@ public:
/* 80D1A514 */ void Insect_Release();
/* 80D1A524 */ void ParticleSet();
/* 80D1A648 */ void BoomChk();
/* 80D1A904 */ void Execute();
/* 80D1A904 */ int Execute();
/* 80D1AB20 */ void ObjHit();
/* 80D1AC84 */ void Z_BufferChk();
/* 80D1AE00 */ void Delete();
/* 80D1AE00 */ int Delete();
/* 80D1AE68 */ void setBaseMtx();
/* 80D1AFC8 */ void CreateChk();
/* 80D1B174 */ void create();
/* 80D1AFC8 */ bool CreateChk();
/* 80D1B174 */ int create();
inline int Draw();
private:
/* 0x568 */ u8 field_0x568[0xa18 - 0x568];
/* 0x590 */ dCcD_Stts mStts;
/* 0x5CC */ dCcD_Sph mSph;
/* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
/* 0x710 */ bool mIsHitByBoomerang;
/* 0x711 */ u8 mAction;
/* 0x712 */ u8 field_0x712;
/* 0x714 */ s16 field_0x714[2];
/* 0x718 */ s16 field_0x718;
/* 0x71C */ f32 field_0x71c;
/* 0x720 */ f32 field_0x720;
/* 0x724 */ s16 field_0x724;
/* 0x726 */ u8 field_0x726[0x73c - 0x726];
/* 0x73C */ cXyz field_0x73c;
/* 0x748 */ mDoExt_brkAnm* mBrk;
/* 0x74C */ mDoExt_btkAnm* mBtk;
/* 0x750 */ f32 field_0x750;
/* 0x754 */ u32 field_0x754;
/* 0x758 */ f32 mParticleScale;
/* 0x75C */ u8 field_0x75c;
/* 0x760 */ Z2Creature mCreature;
/* 0x7F0 */ dBgS_AcchCir mAcchCir;
/* 0x830 */ mDoExt_McaMorfSO* mpMorf;
/* 0x834 */ dBgS_ObjAcch mAcch;
/* 0xA0C */ request_of_phase_process_class mPhase;
/* 0xA14 */ bool mIsHIOOwner;
};
STATIC_ASSERT(sizeof(daObjTOMBO_c) == 0xa18);
class daObj_TomHIO_c {
public:
/* 80D191CC */ daObj_TomHIO_c();
/* 80D1B618 */ ~daObj_TomHIO_c();
};
#endif /* D_A_OBJ_TOMBO_H */

View File

@ -24,7 +24,7 @@ daObj_AriHIO_c::daObj_AriHIO_c() {
}
/* 80BA5410-80BA5414 000008 0002+02 1/2 0/0 0/0 .rodata l_ari_itemno */
static u8 const l_ari_itemno[2] = {0xD4, 0xD5};
static u8 const l_ari_itemno[2] = {fpcNm_ITEM_M_ANT, fpcNm_ITEM_F_ANT};
/* 80BA26BC-80BA2728 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjARI_cFv */
void daObjARI_c::InitCcSph() {

View File

@ -292,7 +292,7 @@ void daObjCHO_c::Insect_Release() {
}
/* 80BCC630-80BCC634 0000B8 0002+02 1/2 0/0 0/0 .rodata l_cho_itemno */
static u8 const l_cho_itemno[2] = {0xC2, 0xC3};
static u8 const l_cho_itemno[2] = {fpcNm_ITEM_M_BUTTERFLY, fpcNm_ITEM_F_BUTTERFLY};
// Some unused function went here.
// This fake function is here in its place to make the literals match

View File

@ -274,7 +274,7 @@ void daObjDAN_c::Insect_Release() {
}
/* 80BDC42C-80BDC430 00007C 0002+02 1/2 0/0 0/0 .rodata l_dan_itemno */
static u8 const l_dan_itemno[2] = {0xCA, 0xCB};
static u8 const l_dan_itemno[2] = {fpcNm_ITEM_M_DANGOMUSHI, fpcNm_ITEM_F_DANGOMUSHI};
/* 80BDB0E8-80BDB264 000C48 017C+00 1/1 0/0 0/0 .text Z_BufferChk__10daObjDAN_cFv */
void daObjDAN_c::Z_BufferChk() {

View File

@ -512,7 +512,7 @@ void daObjKABUTO_c::Insect_Release() {
}
/* 80C2E1E0-80C2E1E4 0000D0 0002+02 1/2 0/0 0/0 .rodata l_kab_itemno */
static u8 const l_kab_itemno[2] = {0xC0, 0xC1};
static u8 const l_kab_itemno[2] = {fpcNm_ITEM_M_BEETLE, fpcNm_ITEM_F_BEETLE};
// Some unused function went here.
// This fake function is here in its place to make the literals match

View File

@ -520,7 +520,7 @@ void daObjKAM_c::Insect_Release() {
field_0x980 = 1;
}
static u8 const l_kam_itemno[2] = {0xCC, 0xCD};
static u8 const l_kam_itemno[2] = {fpcNm_ITEM_M_MANTIS, fpcNm_ITEM_F_MANTIS};
f32 floatDummy() {
return -9.0f;

View File

@ -6,6 +6,7 @@
#include "d/actor/d_a_obj_kuwagata.h"
#include "d/d_cc_d.h"
#include "dol2asm.h"
#include "f_pc/f_pc_name.h"
@ -550,12 +551,9 @@ void daObjKUW_c::Insect_Release() {
/* ############################################################################################## */
/* 80C4D548-80C4D54C 0000B8 0002+02 1/2 0/0 0/0 .rodata l_kuw_itemno */
SECTION_RODATA static u16 const l_kuw_itemno[1 + 1 /* padding */] = {
0xC4C5,
/* padding */
0x0000,
static u8 const l_kuw_itemno[2] = {
fpcNm_ITEM_M_STAG_BEETLE, fpcNm_ITEM_F_STAG_BEETLE,
};
COMPILER_STRIP_GATE(0x80C4D548, &l_kuw_itemno);
/* 80C4D54C-80C4D550 0000BC 0004+00 0/0 0/0 0/0 .rodata @4438 */
#pragma push

View File

@ -552,7 +552,7 @@ void daObjNAN_c::action() {
/* ############################################################################################## */
/* 80CA3270-80CA3274 0000B4 0002+02 0/1 0/0 0/0 .rodata l_nan_itemno */
static u8 const l_nan_itemno[2] = {
0xC8, 0xC9,
fpcNm_ITEM_M_NANAFUSHI, fpcNm_ITEM_F_NANAFUSHI,
};
/* 80CA276C-80CA2904 0022AC 0198+00 1/1 0/0 0/0 .text execute__10daObjNAN_cFv */

File diff suppressed because it is too large Load Diff