daObjFPillar2_c OK (#2214)

This commit is contained in:
hatal175 2024-10-17 07:57:17 +03:00 committed by GitHub
parent ec07abb09b
commit 2aa441e40b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 548 additions and 588 deletions

2
.clangd Normal file
View File

@ -0,0 +1,2 @@
CompileFlags:
Add: [-Wno-c++11-compat-deprecated-writable-strings]

View File

@ -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
@ -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
@ -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
@ -72,7 +72,7 @@ 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
@ -80,4 +80,4 @@ __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

View File

@ -1796,7 +1796,7 @@ config.libs = [
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"),

View File

@ -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"
/**
@ -13,12 +17,25 @@
*/
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();
@ -26,11 +43,45 @@ public:
/* 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);

File diff suppressed because it is too large Load Diff