Skip to content

Commit

Permalink
daObjFPillar2_c OK (#2214)
Browse files Browse the repository at this point in the history
  • Loading branch information
hatal175 authored Oct 17, 2024
1 parent ec07abb commit 2aa441e
Show file tree
Hide file tree
Showing 5 changed files with 522 additions and 562 deletions.
2 changes: 2 additions & 0 deletions .clangd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CompileFlags:
Add: [-Wno-c++11-compat-deprecated-writable-strings]
22 changes: 11 additions & 11 deletions config/GZ2E01/rels/d_a_obj_firepillar2/symbols.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global
CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local
initBaseMtx__15daObjFPillar2_cFv = .text:0x00000098; // type:function size:0x84 scope:global
setBaseMtx__15daObjFPillar2_cFv = .text:0x0000011C; // type:function size:0x80 scope:global
Create__15daObjFPillar2_cFv = .text:0x0000019C; // type:function size:0x258 scope:global
Expand All @@ -22,10 +22,10 @@ actionOnInit__15daObjFPillar2_cFv = .text:0x00001028; // type:function size:0x16
actionOn__15daObjFPillar2_cFv = .text:0x00001190; // type:function size:0x3E4 scope:global
draw__15daObjFPillar2_cFv = .text:0x00001574; // type:function size:0xC4 scope:global
_delete__15daObjFPillar2_cFv = .text:0x00001638; // type:function size:0x150 scope:global
daObjFPillar2_Draw__FP15daObjFPillar2_c = .text:0x00001788; // type:function size:0x20 scope:global
daObjFPillar2_Execute__FP15daObjFPillar2_c = .text:0x000017A8; // type:function size:0x20 scope:global
daObjFPillar2_Delete__FP15daObjFPillar2_c = .text:0x000017C8; // type:function size:0x20 scope:global
daObjFPillar2_Create__FP10fopAc_ac_c = .text:0x000017E8; // type:function size:0x20 scope:global
daObjFPillar2_Draw__FP15daObjFPillar2_c = .text:0x00001788; // type:function size:0x20 scope:local
daObjFPillar2_Execute__FP15daObjFPillar2_c = .text:0x000017A8; // type:function size:0x20 scope:local
daObjFPillar2_Delete__FP15daObjFPillar2_c = .text:0x000017C8; // type:function size:0x20 scope:local
daObjFPillar2_Create__FP10fopAc_ac_c = .text:0x000017E8; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00001808; // type:function size:0x48 scope:global
cLib_calcTimer<Uc>__FPUc = .text:0x00001850; // type:function size:0x1C scope:global
@36@__dt__12dBgS_ObjAcchFv = .text:0x0000186C; // type:function size:0x8 scope:local
Expand Down Expand Up @@ -57,11 +57,11 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4295 = .rodata:0x00000054; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000058; // type:object size:0xA scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
l_arcName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte
l_cull_box = .data:0x00000024; // type:object size:0x18 scope:global data:float
l_cps_src = .data:0x0000003C; // type:object size:0x4C scope:global
l_arcName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte
l_cull_box = .data:0x00000024; // type:object size:0x18 scope:local data:float
l_cps_src = .data:0x0000003C; // type:object size:0x4C scope:local
@3934 = .data:0x00000088; // type:object size:0xC scope:local
@3935 = .data:0x00000094; // type:object size:0xC scope:local
@3936 = .data:0x000000A0; // type:object size:0xC scope:local
Expand All @@ -72,12 +72,12 @@ l_yogan_headL_id$4092 = .data:0x000000E0; // type:object size:0x6 scope:local
l_yogan_headM_id$4093 = .data:0x000000E8; // type:object size:0x6 scope:local
l_yogan_headS_id$4094 = .data:0x000000F0; // type:object size:0x6 scope:local
l_yogan_head_id$4095 = .data:0x000000F8; // type:object size:0xC scope:local
l_daObjFPillar2_Method = .data:0x00000104; // type:object size:0x20 scope:global
l_daObjFPillar2_Method = .data:0x00000104; // type:object size:0x20 scope:local
g_profile_Obj_FirePillar2 = .data:0x00000124; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x00000154; // type:object size:0xC scope:global
__vt__10cCcD_GStts = .data:0x00000160; // type:object size:0xC scope:global
__vt__10dCcD_GStts = .data:0x0000016C; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x00000178; // type:object size:0xC scope:global
__vt__12dBgS_ObjAcch = .data:0x00000184; // type:object size:0x24 scope:global
__vt__12J3DFrameCtrl = .data:0x000001A8; // type:object size:0xC scope:global
lbl_448_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
lbl_448_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1796,7 +1796,7 @@ def JSystemLib(lib_name, objects, progress_category="third_party"):
ActorRel(Matching, "d_a_obj_fireWood"),
ActorRel(Matching, "d_a_obj_fireWood2"),
ActorRel(Matching, "d_a_obj_firepillar"),
ActorRel(NonMatching, "d_a_obj_firepillar2"),
ActorRel(Matching, "d_a_obj_firepillar2"),
ActorRel(NonMatching, "d_a_obj_flag"),
ActorRel(NonMatching, "d_a_obj_flag2"),
ActorRel(NonMatching, "d_a_obj_flag3"),
Expand Down
65 changes: 58 additions & 7 deletions include/d/actor/d_a_obj_firepillar2.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
#ifndef D_A_OBJ_FIREPILLAR2_H
#define D_A_OBJ_FIREPILLAR2_H

#include "JSystem/JParticle/JPAEmitter.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"

/**
Expand All @@ -13,24 +17,71 @@
*/
class daObjFPillar2_c : public fopAc_ac_c {
public:
typedef void (daObjFPillar2_c::*actionFunc)();

enum Kind {
KIND_PIPE_FIRE,
KIND_MAGMA_POLE,
};

enum Action {
ACTION_OFF,
ACTION_ON_WAIT,
ACTION_ON,
};

/* 80BE9CD8 */ void initBaseMtx();
/* 80BE9D5C */ void setBaseMtx();
/* 80BE9DDC */ void Create();
/* 80BEA034 */ void CreateHeap();
/* 80BEA228 */ void create();
/* 80BEA584 */ void execute();
/* 80BE9DDC */ int Create();
/* 80BEA034 */ int CreateHeap();
/* 80BEA228 */ int create();
/* 80BEA584 */ int execute();
/* 80BEA734 */ void action();
/* 80BEA808 */ void actionOffInit();
/* 80BEA854 */ void actionOff();
/* 80BEA98C */ void actionOnWaitInit();
/* 80BEAAE4 */ void actionOnWait();
/* 80BEAC68 */ void actionOnInit();
/* 80BEADD0 */ void actionOn();
/* 80BEB1B4 */ void draw();
/* 80BEB278 */ void _delete();
/* 80BEB1B4 */ int draw();
/* 80BEB278 */ int _delete();

u8 getKind() { return (field_0x97a >> 4) & 0xf; }
u8 getSize() { return (field_0x97a) & 0xf; }
u8 getArg0() { return fopAcM_GetParamBit(this,8,8); }
u8 getSwNo() { return fopAcM_GetParamBit(this,0,8); }

private:
/* 0x568 */ u8 field_0x568[0x9ec - 0x568];
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mModel;
/* 0x574 */ mDoExt_bckAnm* mBck;
/* 0x578 */ mDoExt_btkAnm* mBtk;
/* 0x57C */ dBgS_ObjAcch mAcch;
/* 0x754 */ dBgS_AcchCir mAcchCir;
/* 0x794 */ dCcD_Stts mStts;
/* 0x7D0 */ dCcD_Cps mCps;
/* 0x914 */ Mtx mMtx;
/* 0x944 */ cXyz field_0x944;
/* 0x950 */ cXyz field_0x950;
/* 0x95C */ cM3dGCpsS field_0x95c;
/* 0x978 */ u16 mActionTimer;
/* 0x97A */ u16 field_0x97a;
/* 0x97C */ s16 field_0x97c;
/* 0x97E */ bool mInitAngles;
/* 0x97F */ u8 mAction;
/* 0x980 */ JPABaseEmitter* field_0x980;
/* 0x984 */ JPABaseEmitter* field_0x984;
/* 0x988 */ JPABaseEmitter* mPipeFireEmitters[3];
/* 0x994 */ f32 mPipeFireRate;
/* 0x998 */ f32 mPipeFireDirectionalSpeed;
/* 0x99C */ f32 mPipeFireScale;
/* 0x9A0 */ f32 mPipeFireLifeTime;
/* 0x9A4 */ JPABaseEmitter* mMagmaPoleEmitters[3];
/* 0x9B0 */ cXyz mYoganScale;
/* 0x9BC */ Z2SoundObjSimple mSoundObj;
/* 0x9DC */ cXyz mSoundPos;
/* 0x9E8 */ s8 mSoundDir;
/* 0x9E9 */ u8 mFirePipeTimer;
};

STATIC_ASSERT(sizeof(daObjFPillar2_c) == 0x9ec);
Expand Down
Loading

0 comments on commit 2aa441e

Please sign in to comment.