setup b_ob_class

This commit is contained in:
TakaRikka
2023-03-02 04:13:22 -08:00
parent d31bbf8d13
commit a87d86078f
7 changed files with 344 additions and 443 deletions
+3 -1
View File
@@ -641,6 +641,8 @@ public:
};
enum daAlink_FTANM {
FTANM_UNK_3 = 3,
FTANM_UNK_4 = 4,
FTANM_UNK_8 = 8,
FTANM_UNK_13 = 0x13,
FTANM_UNK_14 = 0x14,
@@ -2239,7 +2241,7 @@ public:
/* 800FC2F4 */ int procHangLeverDownInit();
/* 800FC390 */ int procHangLeverDown();
/* 800FC5A4 */ void setDragonHangPos();
/* 800FC6B4 */ void setOctaIealHangPos();
/* 800FC6B4 */ int setOctaIealHangPos();
/* 800FC748 */ void setBossBodyHangPos();
/* 800FC77C */ int procBossBodyHangInit(fopAc_ac_c*);
/* 800FC870 */ int procBossBodyHang();
+176 -1
View File
@@ -1,6 +1,181 @@
#ifndef D_A_B_OB_H
#define D_A_B_OB_H
#include "dolphin/types.h"
#include "d/cc/d_cc_uty.h"
#include "d/com/d_com_inf_game.h"
struct Z2CreatureOI : public Z2CreatureEnemy {
/* 802C2578 */ Z2CreatureOI();
/* 802C2670 */ void init(Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*,
Vec*);
/* 802C2C84 */ void startTentacleSound(JAISoundID, u8, u32, s8);
/* 802C2CD4 */ void startTentacleSoundLevel(JAISoundID, u8, f32, u32, s8);
/* 802C25EC */ virtual void deleteObject();
/* 802C2864 */ virtual void framework(u32, s8);
/* 802C29D4 */ virtual void startCreatureSoundLevel(JAISoundID, u32, s8);
/* 0x0A4 */ Z2SoundObjSimple field_0xa4;
/* 0x0C4 */ Z2SoundObjSimple field_0xc4;
/* 0x0E4 */ Z2SoundObjSimple field_0xe4;
/* 0x104 */ Z2SoundObjSimple field_0x104[8];
};
struct ob_part_s {
/* 8061A658 */ ~ob_part_s();
/* 8061A72C */ ob_part_s();
/* 0x00 */ mDoExt_McaMorf* field_0x0;
/* 0x04 */ mDoExt_McaMorf* field_0x4;
/* 0x08 */ mDoExt_McaMorf* field_0x8;
/* 0x0C */ mDoExt_McaMorf* field_0xc;
/* 0x10 */ mDoExt_McaMorf* field_0x10;
/* 0x14 */ cXyz field_0x14;
/* 0x20 */ csXyz field_0x20;
/* 0x26 */ s16 field_0x26;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ csXyz field_0x2c;
/* 0x32 */ csXyz field_0x32;
/* 0x38 */ csXyz field_0x38;
/* 0x40 */ dCcD_Sph mSph;
}; // Size: 0x178
struct ob_ke_s {
/* 8061A3A0 */ ~ob_ke_s();
/* 8061A41C */ ob_ke_s();
/* 0x000 */ cXyz field_0x0[20];
/* 0x0F0 */ cXyz field_0xf0[20];
/* 0x1E0 */ cXyz field_0x1e0;
}; // Size: 0x1EC
class b_ob_class : public fopEn_enemy_c {
public:
/* 8061A0C0 */ b_ob_class();
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* field_0x5b4;
/* 0x05B8 */ u8 field_0x5b8[0x5BC - 0x5B8];
/* 0x05BC */ f32 field_0x5bc;
/* 0x05C0 */ ob_part_s mParts[20];
/* 0x2320 */ int field_0x2320;
/* 0x2324 */ cXyz field_0x2324[512];
/* 0x3B24 */ csXyz field_0x3b24[512];
/* 0x4724 */ J3DModel* field_0x4724;
/* 0x4728 */ mDoExt_btkAnm* field_0x4728;
/* 0x472C */ mDoExt_brkAnm* field_0x472c;
/* 0x4730 */ f32 field_0x4730;
/* 0x4734 */ int mAnmResID;
/* 0x4738 */ int field_0x4738;
/* 0x4738 */ u8 field_0x473c;
/* 0x4740 */ f32 field_0x4740;
/* 0x4744 */ u8 field_0x4744;
/* 0x4745 */ u8 field_0x4745;
/* 0x4748 */ u32 field_0x4748;
/* 0x474C */ u8 field_0x474c;
/* 0x474D */ u8 field_0x474d;
/* 0x474E */ u8 field_0x474e[0x4750 - 0x474e];
/* 0x4750 */ s16 field_0x4750;
/* 0x4752 */ s16 field_0x4752;
/* 0x4754 */ s16 field_0x4754;
/* 0x4756 */ s16 field_0x4756;
/* 0x4758 */ cXyz field_0x4758;
/* 0x4764 */ csXyz field_0x4764;
/* 0x476A */ s16 field_0x476a;
/* 0x476C */ s16 mYAngleToPlayer;
/* 0x476E */ s16 mXAngleToPlayer;
/* 0x4770 */ f32 mDistToPlayer;
/* 0x4774 */ u8 field_0x4774[0x4778 - 0x4774];
/* 0x4778 */ s16 field_0x4778;
/* 0x477A */ s16 field_0x477a;
/* 0x477C */ s16 field_0x477c;
/* 0x477E */ s16 field_0x477e;
/* 0x4780 */ s16 field_0x4780;
/* 0x4782 */ u8 field_0x4782[0x4784 - 0x4782];
/* 0x05AC */ s16 field_0x4784;
/* 0x4786 */ u8 field_0x4786[0x4788 - 0x4786];
/* 0x4788 */ int field_0x4788;
/* 0x478C */ int field_0x478c;
/* 0x4790 */ int field_0x4790;
/* 0x4794 */ s16 field_0x4794;
/* 0x4798 */ f32 field_0x4798;
/* 0x479C */ f32 field_0x479c;
/* 0x47A0 */ f32 field_0x47a0;
/* 0x47A4 */ u8 field_0x47a4[0x47aa - 0x47a4];
/* 0x47AA */ s16 field_0x47aa;
/* 0x47AC */ s16 field_0x47ac;
/* 0x47AE */ s16 field_0x47ae;
/* 0x47B0 */ s16 field_0x47b0;
/* 0x47B4 */ int field_0x47b4;
/* 0x47B8 */ s16 field_0x47b8;
/* 0x47BA */ s16 field_0x47ba;
/* 0x47BC */ s16 field_0x47bc;
/* 0x47C0 */ f32 field_0x47c0;
/* 0x47C4 */ s16 field_0x47c4;
/* 0x47C8 */ int field_0x47c8;
/* 0x47CC */ dCcD_Stts field_0x47cc;
/* 0x4808 */ dCcD_Sph mCcSph;
/* 0x4940 */ dCcD_Sph mCoreSph;
/* 0x4A78 */ dCcU_AtInfo mAtInfo;
/* 0x4A9C */ u8 field_0x4a9c[0x4aa0 - 0x4a9c];
/* 0x4AA0 */ dCcD_Stts field_0x4aa0;
/* 0x4ADC */ dCcD_Sph mBodySph;
/* 0x4C14 */ dCcD_Sph field_0x4c14;
/* 0x4D4C */ dBgS_AcchCir field_0x4d4c;
/* 0x4D8C */ dBgS_ObjAcch field_0x4d8c;
/* 0x4F64 */ u32 mTentacleActorIDs[8];
/* 0x4F84 */ ob_ke_s field_0x4f84[5];
/* 0x5920 */ mDoExt_3DlineMat0_c field_0x5920;
/* 0x593C */ Z2CreatureEnemy field_0x593c;
/* 0x59E0 */ Z2CreatureOI field_0x59e0;
/* 0x5BE4 */ cXyz field_0x5be4[13];
/* 0x5C80 */ s16 mDemoAction;
/* 0x5C82 */ s16 field_0x5c82;
/* 0x5C84 */ cXyz field_0x5c84;
/* 0x5C90 */ cXyz field_0x5c90;
/* 0x5C9C */ cXyz field_0x5c9c;
/* 0x5CA8 */ cXyz field_0x5ca8;
/* 0x5CB4 */ f32 field_0x5cb4;
/* 0x5CB8 */ f32 field_0x5cb8;
/* 0x5CBC */ f32 field_0x5cbc;
/* 0x5CC0 */ f32 field_0x5cc0;
/* 0x5CC4 */ f32 field_0x5cc4;
/* 0x5CC8 */ f32 field_0x5cc8;
/* 0x5CCC */ f32 field_0x5ccc;
/* 0x5CD0 */ f32 field_0x5cd0;
/* 0x5CD4 */ f32 field_0x5cd4;
/* 0x5CD8 */ f32 field_0x5cd8;
/* 0x5CDC */ f32 field_0x5cdc;
/* 0x5CE0 */ s16 field_0x5ce0;
/* 0x5CE4 */ f32 field_0x5ce4;
/* 0x5CE8 */ int field_0x5ce8;
/* 0x5CEC */ cXyz field_0x5cec;
/* 0x5CF8 */ s16 field_0x5cf8;
/* 0x5CFC */ f32 field_0x5cfc;
/* 0x5D00 */ f32 field_0x5d00;
/* 0x5D04 */ f32 field_0x5d04;
/* 0x5D08 */ s16 field_0x5d08;
/* 0x5D0A */ s16 field_0x5d0a;
/* 0x5D0C */ s16 field_0x5d0c;
/* 0x5D0E */ u8 field_0x5d0e[0x5d11 - 0x5d0e];
/* 0x5D11 */ s8 field_0x5d11;
/* 0x5D12 */ s8 field_0x5d12;
/* 0x5D14 */ f32 field_0x5d14;
/* 0x5D18 */ u8 field_0x5d18;
/* 0x5D19 */ u8 field_0x5d19[0x5d24 - 0x5d19];
/* 0x5D24 */ u32 field_0x5d24[3];
/* 0x5D30 */ u8 field_0x5d30[0x5d38 - 0x5D30];
/* 0x5D38 */ u32 field_0x5d38;
/* 0x5D3C */ s16 field_0x5d3c;
/* 0x5D40 */ u32 field_0x5d40;
/* 0x5D44 */ u8 field_0x5d44[0x5d88 - 0x5d44];
/* 0x5D88 */ u32 field_0x5d88;
/* 0x5D8C */ u32 field_0x5d8c;
/* 0x5D90 */ u8 field_0x5d90[0x5dd4 - 0x5d90];
/* 0x5DD4 */ u32 field_0x5dd4;
/* 0x5DD8 */ int field_0x5dd8;
/* 0x5DDC */ f32 field_0x5ddc;
/* 0x5DE0 */ u8 field_0x5de0;
};
#endif /* D_A_B_OB_H */
+1 -14
View File
@@ -1,20 +1,7 @@
#ifndef D_A_B_OH2_H
#define D_A_B_OH2_H
#include "d/com/d_com_inf_game.h"
// fix/move to d_a_b_ob later
class b_ob_class : public fopEn_enemy_c {
public:
/* 0x05AC */ u8 field_0x5ac[0x5c0 - 0x5ac];
/* 0x05C0 */ mDoExt_McaMorf* field_0x5c0;
/* 0x05C4 */ u8 field_0x5c4[0x4752 - 0x5c4];
/* 0x4752 */ s16 field_0x4752;
/* 0x4754 */ u8 field_0x4754[0x47a0 - 0x4754];
/* 0x47A0 */ f32 field_0x47a0;
/* 0x47A4 */ u8 field_0x47a4[0x5d04 - 0x47a4];
/* 0x5D04 */ f32 field_0x5d04;
};
#include "rel/d/a/b/d_a_b_ob/d_a_b_ob.h"
class b_oh2_class : public fopEn_enemy_c {
public:
@@ -31,6 +31,8 @@ public:
/* 80CFCD04 */ virtual int Draw();
/* 80CFCD98 */ virtual int Delete();
void setHangPlayer() { mHangPlayer = 1; }
/* 0x5A0 */ dEvLib_callback_c field_0x5a0;
/* 0x5B0 */ request_of_phase_process_class mPhase;
/* 0x5B8 */ J3DModel* mpModel;
+82 -388
View File
@@ -5,7 +5,6 @@
#include "rel/d/a/b/d_a_b_ob/d_a_b_ob.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
@@ -15,346 +14,15 @@ namespace std {
/* 8061AACC */ void fabsf(f32);
};
struct request_of_phase_process_class {};
struct Vec {};
struct cXyz {
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266B84 */ void operator*(f32) const;
/* 80611408 */ ~cXyz();
/* 8061AD60 */ cXyz(f32, f32, f32);
/* 8061AA8C */ cXyz(cXyz const&);
/* 8061A654 */ cXyz();
/* 8061A95C */ void operator+=(Vec const&);
/* 8061A9AC */ void operator=(cXyz const&);
/* 8061ABF4 */ void set(f32, f32, f32);
/* 8061AC0C */ void abs() const;
};
struct obj_ystone_class {
/* 8061AA70 */ void setCurrentPos(cXyz);
};
struct ob_part_s {
/* 8061A658 */ ~ob_part_s();
/* 8061A72C */ ob_part_s();
};
struct ob_ke_s {
/* 8061A3A0 */ ~ob_ke_s();
/* 8061A41C */ ob_ke_s();
};
struct mDoMtx_stack_c {
/* 8000CCC8 */ void push();
/* 8000CD14 */ void pop();
/* 8000CD9C */ void transM(f32, f32, f32);
/* 8000CE38 */ void scaleM(f32, f32, f32);
/* 8061A924 */ void multVecZero(Vec*);
static u8 now[48];
};
struct mDoGph_gInf_c {
/* 80008078 */ void onBlure();
};
struct mDoExt_morf_c {
/* 8061AB4C */ void setPlaySpeed(f32);
/* 8061AD20 */ void isStop();
};
struct J3DMaterialTable {};
struct J3DAnmTextureSRTKey {};
struct mDoExt_btkAnm {
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
};
struct J3DAnmTevRegKey {};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {
/* 802C06F4 */ void stopAnime();
};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 800111C0 */ void entryDL();
/* 800111EC */ void modelCalc();
};
struct mDoExt_McaMorf {
/* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
/* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
/* 800105C8 */ void play(Vec*, u32, s8);
/* 80010680 */ void entryDL();
/* 800106AC */ void modelCalc();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daPy_py_c {
/* 8061A89C */ void cancelOriginalDemo();
/* 8061A9C8 */ void changeDemoMode(u32, int, int, s16);
/* 8061A9DC */ void changeOriginalDemo();
};
struct daB_OB_HIO_c {
/* 8061056C */ daB_OB_HIO_c();
/* 8061A808 */ ~daB_OB_HIO_c();
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
/* 8006FB10 */ void StartQuake(int, int, cXyz);
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_memBit_c {
/* 80034918 */ void onDungeonItem(int);
/* 80034934 */ void isDungeonItem(int) const;
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {
/* 8061AAB8 */ csXyz(csXyz const&);
/* 8061A650 */ csXyz();
/* 802673F4 */ csXyz(s16, s16, s16);
/* 80611EF8 */ ~csXyz();
/* 8061A990 */ void operator=(csXyz const&);
};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
};
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
};
struct dEvt_info_c {
/* 8061AA00 */ void onCondition(u16);
/* 8061AA10 */ void checkCommandDemoAccrpt();
};
struct dEvt_control_c {
/* 80042468 */ void reset();
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
/* 806185F4 */ void checkSkipEdge();
/* 8061AB54 */ void startCheckSkipEdge(void*);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dCcU_AtInfo {};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
/* 8061A5F4 */ ~dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800840E4 */ ~dCcD_GObjInf();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
};
struct dCamera_c {
/* 801614AC */ void Start();
/* 801614D0 */ void Stop();
/* 8016300C */ void SetTrimSize(s32);
/* 80180B40 */ void Set(cXyz, cXyz, s16, f32);
/* 80180C18 */ void Reset(cXyz, cXyz);
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 8061A484 */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 8061A4F4 */ ~dBgS_AcchCir();
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8026F708 */ void SetR(f32);
/* 8061A564 */ ~cM3dGSph();
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 8061A5AC */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_GStts {
/* 8061A7C0 */ ~cCcD_GStts();
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct b_ob_class {
/* 8061A0C0 */ b_ob_class();
};
struct _GXTexObj {};
struct Z2SeqMgr {
/* 802AF010 */ void bgmStart(u32, u32, s32);
/* 802AF408 */ void bgmStop(u32, s32);
/* 802AF49C */ void subBgmStart(u32);
/* 802AFB94 */ void bgmStreamPrepare(u32);
/* 802AFE18 */ void bgmStreamPlay();
/* 802AFF8C */ void changeBgmStatus(s32);
};
struct JAISoundID {
/* 8061AC04 */ JAISoundID(u32);
};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2CreatureOI {
/* 802C2578 */ Z2CreatureOI();
/* 802C2670 */ void init(Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*, Vec*,
Vec*);
/* 802C2CD4 */ void startTentacleSoundLevel(JAISoundID, u8, f32, u32, s8);
};
struct Z2CreatureEnemy {
/* 802C0F64 */ Z2CreatureEnemy();
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JPABaseEmitter {
/* 8061AAA8 */ void becomeDeleteEmitter();
};
struct JMath {
static u8 sincosTable_[65536];
};
struct JGeometry {
template <typename A1>
struct TVec3 {};
/* TVec3<f32> */
struct TVec3__template0 {};
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DModel {
/* 8061A948 */ void getAnmMtx(int);
};
struct J3DJoint {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 8032842C */ void checkPass(f32);
/* 80619C14 */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@@ -448,7 +116,7 @@ extern "C" void startCheckSkipEdge__14dEvt_control_cFPv();
extern "C" static void dComIfGp_getEvent__Fv();
extern "C" static void mDoAud_seStart__FUlPC3VecUlSc();
extern "C" void set__4cXyzFfff();
extern "C" void __ct__10JAISoundIDFUl();
extern "C" void __ct__10JAISoundIDFUl(JAISoundID* this_, u32 param_0);
extern "C" void abs__4cXyzCFv();
extern "C" void isStop__13mDoExt_morf_cFv();
extern "C" static void dComIfGp_getVibration__Fv();
@@ -593,11 +261,6 @@ extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECSquareMag();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __cvt_fp2unsigned();
@@ -620,23 +283,15 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" extern u32 __float_nan;
extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4];
extern "C" extern u8 struct_80450C98[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
@@ -1289,7 +944,8 @@ static asm void daB_OB_Draw(b_ob_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::~cXyz() {
// asm cXyz::~cXyz() {
extern "C" asm void __dt__4cXyzFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__4cXyzFv.s"
}
@@ -1443,7 +1099,8 @@ static asm void bombfishset(b_ob_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm csXyz::~csXyz() {
// asm csXyz::~csXyz() {
extern "C" asm void __dt__5csXyzFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__5csXyzFv.s"
}
@@ -2157,7 +1814,8 @@ static asm void demo_camera(b_ob_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_particle_getEmitter(u32 param_0) {
// static asm void dComIfGp_particle_getEmitter(u32 param_0) {
extern "C" asm void dComIfGp_particle_getEmitter__FUl() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_particle_getEmitter__FUl.s"
}
@@ -2168,8 +1826,9 @@ static asm void dComIfGp_particle_getEmitter(u32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_particle_set(u32 param_0, u16 param_1, cXyz const* param_2,
csXyz const* param_3, cXyz const* param_4) {
/* static asm void dComIfGp_particle_set(u32 param_0, u16 param_1, cXyz const* param_2,
csXyz const* param_3, cXyz const* param_4) { */
extern "C" asm void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz.s"
}
@@ -2907,7 +2566,8 @@ static asm void useHeapInit(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__12J3DFrameCtrlFv.s"
}
@@ -2986,7 +2646,8 @@ asm ob_ke_s::ob_ke_s() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__12dBgS_ObjAcchFv.s"
}
@@ -2996,7 +2657,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__12dBgS_AcchCirFv.s"
}
@@ -3006,7 +2668,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
// asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__8cM3dGSphFv.s"
}
@@ -3016,7 +2679,8 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__8cM3dGAabFv.s"
}
@@ -3026,19 +2690,22 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_GStts::~dCcD_GStts() {
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__10dCcD_GSttsFv.s"
}
#pragma pop
/* 8061A650-8061A654 00A1D0 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
csXyz::csXyz() {
// csXyz::csXyz() {
extern "C" void __ct__5csXyzFv() {
/* empty function */
}
/* 8061A654-8061A658 00A1D4 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */
cXyz::cXyz() {
// cXyz::cXyz() {
extern "C" void __ct__4cXyzFv() {
/* empty function */
}
@@ -3066,7 +2733,8 @@ asm ob_part_s::ob_part_s() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcD_GStts::~cCcD_GStts() {
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__dt__10cCcD_GSttsFv.s"
}
@@ -3141,7 +2809,8 @@ static asm void dComIfGp_event_reset() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGs_onStageBossEnemy() {
// static asm void dComIfGs_onStageBossEnemy() {
extern "C" asm void dComIfGs_onStageBossEnemy__Fv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGs_onStageBossEnemy__Fv.s"
}
@@ -3152,7 +2821,8 @@ static asm void dComIfGs_onStageBossEnemy() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMtx_stack_c::multVecZero(Vec* param_0) {
// asm void mDoMtx_stack_c::multVecZero(Vec* param_0) {
extern "C" asm void multVecZero__14mDoMtx_stack_cFP3Vec() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/multVecZero__14mDoMtx_stack_cFP3Vec.s"
}
@@ -3162,7 +2832,8 @@ asm void mDoMtx_stack_c::multVecZero(Vec* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DModel::getAnmMtx(int param_0) {
// asm void J3DModel::getAnmMtx(int param_0) {
extern "C" asm void getAnmMtx__8J3DModelFi() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/getAnmMtx__8J3DModelFi.s"
}
@@ -3172,7 +2843,8 @@ asm void J3DModel::getAnmMtx(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator+=(Vec const& param_0) {
// asm void cXyz::operator+=(Vec const& param_0) {
extern "C" asm void __apl__4cXyzFRC3Vec() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__apl__4cXyzFRC3Vec.s"
}
@@ -3182,7 +2854,8 @@ asm void cXyz::operator+=(Vec const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator=(csXyz const& param_0) {
// asm void csXyz::operator=(csXyz const& param_0) {
extern "C" asm void __as__5csXyzFRC5csXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__as__5csXyzFRC5csXyz.s"
}
@@ -3192,7 +2865,8 @@ asm void csXyz::operator=(csXyz const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator=(cXyz const& param_0) {
// asm void cXyz::operator=(cXyz const& param_0) {
extern "C" asm void __as__4cXyzFRC4cXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__as__4cXyzFRC4cXyz.s"
}
@@ -3222,7 +2896,8 @@ asm void daPy_py_c::changeOriginalDemo() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daPy_getPlayerActorClass() {
// static asm void daPy_getPlayerActorClass() {
extern "C" asm void daPy_getPlayerActorClass__Fv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/daPy_getPlayerActorClass__Fv.s"
}
@@ -3242,7 +2917,8 @@ asm void dEvt_info_c::onCondition(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvt_info_c::checkCommandDemoAccrpt() {
// asm void dEvt_info_c::checkCommandDemoAccrpt() {
extern "C" asm void checkCommandDemoAccrpt__11dEvt_info_cFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/checkCommandDemoAccrpt__11dEvt_info_cFv.s"
}
@@ -3252,7 +2928,8 @@ asm void dEvt_info_c::checkCommandDemoAccrpt() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getCamera(int param_0) {
// static asm void dComIfGp_getCamera(int param_0) {
extern "C" asm void dComIfGp_getCamera__Fi() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_getCamera__Fi.s"
}
@@ -3262,7 +2939,8 @@ static asm void dComIfGp_getCamera(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getPlayerCameraID(int param_0) {
// static asm void dComIfGp_getPlayerCameraID(int param_0) {
extern "C" asm void dComIfGp_getPlayerCameraID__Fi() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_getPlayerCameraID__Fi.s"
}
@@ -3272,7 +2950,8 @@ static asm void dComIfGp_getPlayerCameraID(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getPlayer(int param_0) {
// static asm void dComIfGp_getPlayer(int param_0) {
extern "C" asm void dComIfGp_getPlayer__Fi() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_getPlayer__Fi.s"
}
@@ -3292,7 +2971,8 @@ asm void obj_ystone_class::setCurrentPos(cXyz param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::cXyz(cXyz const& param_0) {
// asm cXyz::cXyz(cXyz const& param_0) {
extern "C" asm void __ct__4cXyzFRC4cXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__ct__4cXyzFRC4cXyz.s"
}
@@ -3302,7 +2982,8 @@ asm cXyz::cXyz(cXyz const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JPABaseEmitter::becomeDeleteEmitter() {
// asm void JPABaseEmitter::becomeDeleteEmitter() {
extern "C" asm void becomeDeleteEmitter__14JPABaseEmitterFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/becomeDeleteEmitter__14JPABaseEmitterFv.s"
}
@@ -3312,7 +2993,8 @@ asm void JPABaseEmitter::becomeDeleteEmitter() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm csXyz::csXyz(csXyz const& param_0) {
// asm csXyz::csXyz(csXyz const& param_0) {
extern "C" asm void __ct__5csXyzFRC5csXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__ct__5csXyzFRC5csXyz.s"
}
@@ -3322,7 +3004,8 @@ asm csXyz::csXyz(csXyz const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void std::fabsf(f32 param_0) {
// asm void std::fabsf(f32 param_0) {
extern "C" asm void fabsf__3stdFf() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/fabsf__3stdFf.s"
}
@@ -3333,8 +3016,9 @@ asm void std::fabsf(f32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_particle_set(u16 param_0, cXyz const* param_1, csXyz const* param_2,
cXyz const* param_3) {
/* static asm void dComIfGp_particle_set(u16 param_0, cXyz const* param_1, csXyz const* param_2,
cXyz const* param_3) { */
extern "C" asm void dComIfGp_particle_set__FUsPC4cXyzPC5csXyzPC4cXyz() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_particle_set__FUsPC4cXyzPC5csXyzPC4cXyz.s"
}
@@ -3344,7 +3028,8 @@ static asm void dComIfGp_particle_set(u16 param_0, cXyz const* param_1, csXyz co
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_morf_c::setPlaySpeed(f32 param_0) {
// asm void mDoExt_morf_c::setPlaySpeed(f32 param_0) {
extern "C" asm void setPlaySpeed__13mDoExt_morf_cFf() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/setPlaySpeed__13mDoExt_morf_cFf.s"
}
@@ -3354,7 +3039,8 @@ asm void mDoExt_morf_c::setPlaySpeed(f32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvt_control_c::startCheckSkipEdge(void* param_0) {
// asm void dEvt_control_c::startCheckSkipEdge(void* param_0) {
extern "C" asm void startCheckSkipEdge__14dEvt_control_cFPv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/startCheckSkipEdge__14dEvt_control_cFPv.s"
}
@@ -3364,7 +3050,8 @@ asm void dEvt_control_c::startCheckSkipEdge(void* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getEvent() {
// static asm void dComIfGp_getEvent() {
extern "C" asm void dComIfGp_getEvent__Fv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_getEvent__Fv.s"
}
@@ -3374,7 +3061,8 @@ static asm void dComIfGp_getEvent() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void mDoAud_seStart(u32 param_0, Vec const* param_1, u32 param_2, s8 param_3) {
// static asm void mDoAud_seStart(u32 param_0, Vec const* param_1, u32 param_2, s8 param_3) {
extern "C" asm void mDoAud_seStart__FUlPC3VecUlSc() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/mDoAud_seStart__FUlPC3VecUlSc.s"
}
@@ -3384,22 +3072,25 @@ static asm void mDoAud_seStart(u32 param_0, Vec const* param_1, u32 param_2, s8
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) {
// asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) {
extern "C" asm void set__4cXyzFfff() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/set__4cXyzFfff.s"
}
#pragma pop
/* 8061AC04-8061AC0C -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */
JAISoundID::JAISoundID(u32 param_0) {
*(u32*)this = (u32)(param_0);
// JAISoundID::JAISoundID(u32 param_0) {
extern "C" void __ct__10JAISoundIDFUl(JAISoundID* this_, u32 param_0) {
*(u32*)this_ = (u32)(param_0);
}
/* 8061AC0C-8061AD20 00A78C 0114+00 1/1 0/0 0/0 .text abs__4cXyzCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::abs() const {
// asm void cXyz::abs() const {
extern "C" asm void abs__4cXyzCFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/abs__4cXyzCFv.s"
}
@@ -3409,7 +3100,8 @@ asm void cXyz::abs() const {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_morf_c::isStop() {
// asm void mDoExt_morf_c::isStop() {
extern "C" asm void isStop__13mDoExt_morf_cFv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/isStop__13mDoExt_morf_cFv.s"
}
@@ -3419,7 +3111,8 @@ asm void mDoExt_morf_c::isStop() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_getVibration() {
// static asm void dComIfGp_getVibration() {
extern "C" asm void dComIfGp_getVibration__Fv() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/dComIfGp_getVibration__Fv.s"
}
@@ -3429,7 +3122,8 @@ static asm void dComIfGp_getVibration() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) {
// asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) {
extern "C" asm void __ct__4cXyzFfff() {
nofralloc
#include "asm/rel/d/a/b/d_a_b_ob/d_a_b_ob/__ct__4cXyzFfff.s"
}
+2 -2
View File
@@ -139,10 +139,10 @@ static void action(b_oh2_class* i_this) {
break;
}
PSMTXCopy(boss->field_0x5c0->getModel()->i_getAnmMtx(i_this->field_0x5c8 + 8),
PSMTXCopy(boss->mParts[0].field_0x0->getModel()->i_getAnmMtx(i_this->field_0x5c8 + 8),
mDoMtx_stack_c::get());
mDoMtx_stack_c::multVecZero(&i_this->current.pos);
PSMTXCopy(boss->field_0x5c0->getModel()->i_getAnmMtx(0), mDoMtx_stack_c::get());
PSMTXCopy(boss->mParts[0].field_0x0->getModel()->i_getAnmMtx(0), mDoMtx_stack_c::get());
local_20.set(0.0f, 0.0f, i_this->field_0x5c8 * 20.0f + 650.0f);
mDoMtx_stack_c::multVec(&local_20, &vstack_2C);
+78 -37
View File
@@ -1,3 +1,4 @@
#include "rel/d/a/b/d_a_b_ob/d_a_b_ob.h"
#include "rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h"
/* 800F9FDC-800F9FFC 0F491C 0020+00 2/2 0/0 0/0 .text getHangMoveAnmSpeed__9daAlink_cFv
@@ -475,14 +476,18 @@ asm void daAlink_c::setDragonHangPos() {
#pragma pop
/* 800FC6B4-800FC748 0F6FF4 0094+00 1/1 0/0 0/0 .text setOctaIealHangPos__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setOctaIealHangPos() {
nofralloc
#include "asm/d/a/d_a_alink/setOctaIealHangPos__9daAlink_cFv.s"
int daAlink_c::setOctaIealHangPos() {
b_ob_class* ob_p = (b_ob_class*)field_0x280c.getActor();
if (ob_p == NULL) {
return 0;
}
mDoMtx_stack_c::copy(ob_p->mParts[0].field_0x0->getModel()->i_getAnmMtx(0));
mDoMtx_stack_c::transM(FLOAT_LABEL(lit_6108), lit_24400, lit_24401);
mDoMtx_stack_c::multVecZero(&current.pos);
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &shape_angle);
return 1;
}
#pragma pop
/* 800FC748-800FC77C 0F7088 0034+00 2/2 0/0 0/0 .text setBossBodyHangPos__9daAlink_cFv */
void daAlink_c::setBossBodyHangPos() {
@@ -1332,14 +1337,44 @@ int daAlink_c::procRoofHangSideMove() {
/* 801013B8-80101534 0FBCF8 017C+00 1/1 0/0 0/0 .text procRoofHangTurnInit__9daAlink_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procRoofHangTurnInit() {
nofralloc
#include "asm/d/a/d_a_alink/procRoofHangTurnInit__9daAlink_cFv.s"
int daAlink_c::procRoofHangTurnInit() {
commonProcInit(PROC_ROOF_HANG_TURN);
f32 anm_speed;
if ((s16)(field_0x2fe2 - shape_angle.y) < 0) {
anm_speed = -daAlinkHIO_roofHang_c0::m.field_0x44;
field_0x3008 = 1;
shape_angle.y += 0x8000;
setOldRootQuaternion(0, -0x8000, 0);
field_0x2060->getOldFrameTransInfo(0)->mTranslate.z = lit_26275;
field_0x300c = field_0x2fe2;
field_0x3478 = FLOAT_LABEL(lit_6108);
field_0x347c = lit_7625;
} else {
anm_speed = daAlinkHIO_roofHang_c0::m.field_0x44;
field_0x3008 = 0;
field_0x300c = field_0x2fe2 + 0x8000;
field_0x3478 = lit_7625;
field_0x347c = lit_26276;
}
current.angle.y = shape_angle.y;
setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, daAlinkHIO_roofHang_c0::m.field_0x48);
if (field_0x3008 != 0) {
setFaceBasicTexture(FTANM_UNK_4);
} else {
setFaceBasicTexture(FTANM_UNK_3);
}
field_0x2f98 = 4;
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
speed.y = tmp_0;
dComIfGp_setPlayerStatus1(0, 0x100000);
return 1;
}
#pragma pop
/* 80101534-8010163C 0FBE74 0108+00 1/0 0/0 0/0 .text procRoofHangTurn__9daAlink_cFv */
int daAlink_c::procRoofHangTurn() {
@@ -1370,25 +1405,40 @@ int daAlink_c::procRoofHangTurn() {
}
/* 8010163C-801016AC 0FBF7C 0070+00 2/2 0/0 0/0 .text setRoofHangSwitch__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setRoofHangSwitch() {
nofralloc
#include "asm/d/a/d_a_alink/setRoofHangSwitch__9daAlink_cFv.s"
void daAlink_c::setRoofHangSwitch() {
daObjSwHang_c* swhang_p = (daObjSwHang_c*)field_0x280c.getActor();
current.pos = swhang_p->getHangPos();
current.pos.y -= lit_25916;
swhang_p->setHangPlayer();
}
#pragma pop
/* 801016AC-801017AC 0FBFEC 0100+00 1/1 0/0 0/0 .text
* procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/a/d_a_alink/procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c.s"
int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) {
commonProcInit(PROC_ROOF_SWITCH_HANG);
deleteEquipItem(TRUE, FALSE);
setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.field_0x0);
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
speed.y = tmp_0;
mNormalSpeed = tmp_0;
field_0x280c.setData(param_0);
setRoofHangSwitch();
if (cLib_distanceAngleS(param_0->shape_angle.y, shape_angle.y) > 0x4000) {
current.angle.y = param_0->shape_angle.y + 0x8000;
} else {
current.angle.y = param_0->shape_angle.y;
}
setOldRootQuaternion(0, current.angle.y - shape_angle.y, 0);
shape_angle.y = current.angle.y;
field_0x2f99 = 0x50;
field_0x300c = 0;
return 1;
}
#pragma pop
/* 801017AC-80101874 0FC0EC 00C8+00 1/0 0/0 0/0 .text procRoofSwitchHang__9daAlink_cFv */
int daAlink_c::procRoofSwitchHang() {
@@ -1414,15 +1464,6 @@ int daAlink_c::procRoofSwitchHang() {
}
/* 80101874-80101890 0FC1B4 001C+00 2/2 0/0 0/0 .text getHangPos__13daObjSwHang_cFv */
/* #pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz daObjSwHang_c::getHangPos() {
nofralloc
#include "asm/d/a/d_a_alink/getHangPos__13daObjSwHang_cFv.s"
}
#pragma pop
*/
cXyz daObjSwHang_c::getHangPos() {
return mHangPos;
}