Skip to content

Commit 9f65aa9

Browse files
authored
d_a_obj_tombo OK (#2537)
1 parent 6bc4faa commit 9f65aa9

File tree

13 files changed

+659
-757
lines changed

13 files changed

+659
-757
lines changed

config/GZ2E01/rels/d_a_obj_tombo/symbols.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
109109
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
110110
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
111111
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
112-
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
112+
l_HIOInit = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
113113
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
114114
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

config/GZ2J01/rels/d_a_obj_tombo/symbols.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
109109
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
110110
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
111111
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
112-
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
112+
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
113113
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
114114
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

config/GZ2P01/rels/d_a_obj_tombo/symbols.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,6 @@ __vt__14dBgS_ObjGndChk = .data:0x000000A4; // type:object size:0x30 scope:global
109109
__vt__12J3DFrameCtrl = .data:0x000000D4; // type:object size:0xC scope:global
110110
__vt__14daObj_TomHIO_c = .data:0x000000E0; // type:object size:0xC scope:global
111111
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
112-
lbl_666_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
112+
l_HIOInit = .bss:0x00000008; // type:object size:0x1 data:byte scope:local
113113
@3770 = .bss:0x0000000C; // type:object size:0xC scope:local
114114
l_HIO = .bss:0x00000018; // type:object size:0x14 scope:global align:4 data:float

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2143,7 +2143,7 @@ def MatchingFor(*versions) -> bool:
21432143
ActorRel(NonMatching, "d_a_obj_toby"),
21442144
ActorRel(NonMatching, "d_a_obj_tobyhouse"),
21452145
ActorRel(NonMatching, "d_a_obj_togeTrap"),
2146-
ActorRel(NonMatching, "d_a_obj_tombo"),
2146+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tombo"),
21472147
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado"),
21482148
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tornado2"),
21492149
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_tp"),

include/d/actor/d_a_obj_tombo.h

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#ifndef D_A_OBJ_TOMBO_H
22
#define D_A_OBJ_TOMBO_H
33

4+
#include "JSystem/JHostIO/JORReflexible.h"
5+
#include "d/actor/d_a_player.h"
6+
#include "d/d_cc_d.h"
47
#include "d/d_insect.h"
58

69
/**
@@ -11,14 +14,20 @@
1114
* @details
1215
*
1316
*/
14-
class daObjTOMBO_c : public fopAc_ac_c {
17+
class daObjTOMBO_c : public dInsect_c {
1518
public:
19+
enum Action {
20+
ACTION_WAIT,
21+
ACTION_MOVE,
22+
ACTION_LINK,
23+
};
24+
1625
/* 80D19200 */ void InitCcSph();
1726
/* 80D1926C */ void SetCcSph();
18-
/* 80D192E4 */ void CreateHeap();
27+
/* 80D192E4 */ int CreateHeap();
1928
/* 80D19658 */ void WaitAction();
2029
/* 80D19744 */ void SpeedSet();
21-
/* 80D19834 */ void CheckWater();
30+
/* 80D19834 */ bool CheckWater();
2231
/* 80D199F4 */ void CheckGround();
2332
/* 80D19B48 */ void CheckWall();
2433
/* 80D19C34 */ void SearchLink();
@@ -29,25 +38,44 @@ class daObjTOMBO_c : public fopAc_ac_c {
2938
/* 80D1A514 */ void Insect_Release();
3039
/* 80D1A524 */ void ParticleSet();
3140
/* 80D1A648 */ void BoomChk();
32-
/* 80D1A904 */ void Execute();
41+
/* 80D1A904 */ int Execute();
3342
/* 80D1AB20 */ void ObjHit();
3443
/* 80D1AC84 */ void Z_BufferChk();
35-
/* 80D1AE00 */ void Delete();
44+
/* 80D1AE00 */ int Delete();
3645
/* 80D1AE68 */ void setBaseMtx();
37-
/* 80D1AFC8 */ void CreateChk();
38-
/* 80D1B174 */ void create();
46+
/* 80D1AFC8 */ bool CreateChk();
47+
/* 80D1B174 */ int create();
48+
49+
inline int Draw();
3950

4051
private:
41-
/* 0x568 */ u8 field_0x568[0xa18 - 0x568];
52+
/* 0x590 */ dCcD_Stts mStts;
53+
/* 0x5CC */ dCcD_Sph mSph;
54+
/* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
55+
/* 0x710 */ bool mIsHitByBoomerang;
56+
/* 0x711 */ u8 mAction;
57+
/* 0x712 */ u8 field_0x712;
58+
/* 0x714 */ s16 field_0x714[2];
59+
/* 0x718 */ s16 field_0x718;
60+
/* 0x71C */ f32 field_0x71c;
61+
/* 0x720 */ f32 field_0x720;
62+
/* 0x724 */ s16 field_0x724;
63+
/* 0x726 */ u8 field_0x726[0x73c - 0x726];
64+
/* 0x73C */ cXyz field_0x73c;
65+
/* 0x748 */ mDoExt_brkAnm* mBrk;
66+
/* 0x74C */ mDoExt_btkAnm* mBtk;
67+
/* 0x750 */ f32 field_0x750;
68+
/* 0x754 */ u32 field_0x754;
69+
/* 0x758 */ f32 mParticleScale;
70+
/* 0x75C */ u8 field_0x75c;
71+
/* 0x760 */ Z2Creature mCreature;
72+
/* 0x7F0 */ dBgS_AcchCir mAcchCir;
73+
/* 0x830 */ mDoExt_McaMorfSO* mpMorf;
74+
/* 0x834 */ dBgS_ObjAcch mAcch;
75+
/* 0xA0C */ request_of_phase_process_class mPhase;
76+
/* 0xA14 */ bool mIsHIOOwner;
4277
};
4378

4479
STATIC_ASSERT(sizeof(daObjTOMBO_c) == 0xa18);
4580

46-
class daObj_TomHIO_c {
47-
public:
48-
/* 80D191CC */ daObj_TomHIO_c();
49-
/* 80D1B618 */ ~daObj_TomHIO_c();
50-
};
51-
52-
5381
#endif /* D_A_OBJ_TOMBO_H */

src/d/actor/d_a_obj_ari.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ daObj_AriHIO_c::daObj_AriHIO_c() {
2424
}
2525

2626
/* 80BA5410-80BA5414 000008 0002+02 1/2 0/0 0/0 .rodata l_ari_itemno */
27-
static u8 const l_ari_itemno[2] = {0xD4, 0xD5};
27+
static u8 const l_ari_itemno[2] = {fpcNm_ITEM_M_ANT, fpcNm_ITEM_F_ANT};
2828

2929
/* 80BA26BC-80BA2728 00011C 006C+00 1/1 0/0 0/0 .text InitCcSph__10daObjARI_cFv */
3030
void daObjARI_c::InitCcSph() {

src/d/actor/d_a_obj_cho.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ void daObjCHO_c::Insect_Release() {
292292
}
293293

294294
/* 80BCC630-80BCC634 0000B8 0002+02 1/2 0/0 0/0 .rodata l_cho_itemno */
295-
static u8 const l_cho_itemno[2] = {0xC2, 0xC3};
295+
static u8 const l_cho_itemno[2] = {fpcNm_ITEM_M_BUTTERFLY, fpcNm_ITEM_F_BUTTERFLY};
296296

297297
// Some unused function went here.
298298
// This fake function is here in its place to make the literals match

src/d/actor/d_a_obj_dan.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ void daObjDAN_c::Insect_Release() {
274274
}
275275

276276
/* 80BDC42C-80BDC430 00007C 0002+02 1/2 0/0 0/0 .rodata l_dan_itemno */
277-
static u8 const l_dan_itemno[2] = {0xCA, 0xCB};
277+
static u8 const l_dan_itemno[2] = {fpcNm_ITEM_M_DANGOMUSHI, fpcNm_ITEM_F_DANGOMUSHI};
278278

279279
/* 80BDB0E8-80BDB264 000C48 017C+00 1/1 0/0 0/0 .text Z_BufferChk__10daObjDAN_cFv */
280280
void daObjDAN_c::Z_BufferChk() {

src/d/actor/d_a_obj_kabuto.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ void daObjKABUTO_c::Insect_Release() {
512512
}
513513

514514
/* 80C2E1E0-80C2E1E4 0000D0 0002+02 1/2 0/0 0/0 .rodata l_kab_itemno */
515-
static u8 const l_kab_itemno[2] = {0xC0, 0xC1};
515+
static u8 const l_kab_itemno[2] = {fpcNm_ITEM_M_BEETLE, fpcNm_ITEM_F_BEETLE};
516516

517517
// Some unused function went here.
518518
// This fake function is here in its place to make the literals match

src/d/actor/d_a_obj_kamakiri.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ void daObjKAM_c::Insect_Release() {
520520
field_0x980 = 1;
521521
}
522522

523-
static u8 const l_kam_itemno[2] = {0xCC, 0xCD};
523+
static u8 const l_kam_itemno[2] = {fpcNm_ITEM_M_MANTIS, fpcNm_ITEM_F_MANTIS};
524524

525525
f32 floatDummy() {
526526
return -9.0f;

0 commit comments

Comments
 (0)