big d_a_alink pass (#214)

* d_a_alink pass1 wip

* more d_a_alink work

* remove asm

* more daalink work

* 20% dol code decompiled

* fixed some nonmatchings for building

* a few daalink functions and labeling some HIO data
This commit is contained in:
TakaRikka
2022-12-19 11:06:32 -08:00
committed by GitHub
parent 1114b13da8
commit ca71275bbe
727 changed files with 15610 additions and 33013 deletions
+94 -1
View File
@@ -1,6 +1,99 @@
#ifndef D_A_ARROW_H
#define D_A_ARROW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_procname.h"
#include "d/cc/d_cc_d.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/bg/d_bg_s_lin_chk.h"
#include "d/particle/d_particle.h"
class daArrow_c : public fopAc_ac_c {
public:
/* 80499C6C */ void createHeap();
/* 80499D8C */ void atHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80499FBC */ void decAlphaBlur();
/* 8049A04C */ void setBlur();
/* 8049A110 */ void setLightArrowHitMark(cXyz const*);
/* 8049A1EC */ void setLightChargeEffect(int);
/* 8049A370 */ void setArrowWaterNextPos(cXyz*, cXyz*);
/* 8049A76C */ void setArrowAt(f32);
/* 8049A9CC */ void arrowShooting();
/* 8049AC84 */ void setBombArrowExplode(cXyz*);
/* 8049ACE0 */ void setRoomInfo();
/* 8049AD74 */ void clearNearActorData();
/* 8049AD94 */ void getVibAngle();
/* 8049AE64 */ void setNormalMatrix();
/* 8049AF18 */ void setSmokePos();
/* 8049AFEC */ void setKeepMatrix();
/* 8049B120 */ void setStopActorMatrix();
/* 8049B214 */ void setBombMoveEffect();
/* 8049B370 */ void checkReget();
/* 8049B45C */ void procWait();
/* 8049B764 */ void procMove();
/* 8049C700 */ void procReturnInit(int);
/* 8049C874 */ void procReturn();
/* 8049CB70 */ void procBGStop();
/* 8049CC60 */ void procActorStop();
/* 8049CCCC */ void procActorControllStop();
/* 8049CCF0 */ void procSlingHitInit(cXyz*, dCcD_GObjInf*);
/* 8049CE50 */ void procSlingHit();
/* 8049CEA0 */ void execute();
/* 8049D0CC */ void draw();
/* 8049D440 */ void create();
/* 8049D98C */ ~daArrow_c();
void setBombArrowExplode() { field_0x950 = 0; }
bool checkBombArrow() const { return mIsBombArrow == true; }
static fopAc_ac_c* makeArrow(fopAc_ac_c* i_player, u16 param_1) {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_ARROW,
param_1 << 8,
&i_player->current.pos,
fopAcM_GetRoomNo(i_player),
NULL,
NULL,
-1,
NULL,
NULL);
}
/* 0x568 */ J3DModel* field_0x568;
/* 0x56C */ dBgS_ArrowLinChk field_0x56c;
/* 0x5DC */ dBgS_ObjLinChk field_0x5dc;
/* 0x64C */ dCcD_Stts field_0x64c;
/* 0x688 */ dCcD_Cps field_0x688;
/* 0x7CC */ dCcD_Sph field_0x7cc;
/* 0x904 */ Z2SoundObjArrow field_0x904;
/* 0x93C */ bool mIsBombArrow;
/* 0x93D */ u8 field_0x93d[0x948 - 0x93D];
/* 0x948 */ u8 mReverb;
/* 0x949 */ u8 field_0x949[0x950 - 0x949];
/* 0x950 */ u16 field_0x950;
/* 0x952 */ s16 field_0x952;
/* 0x954 */ s16 field_0x954;
/* 0x956 */ u16 field_0x956;
/* 0x958 */ csXyz field_0x958;
/* 0x960 */ int field_0x960;
/* 0x964 */ u32 field_0x964;
/* 0x968 */ u32 field_0x968;
/* 0x96C */ u8 field_0x96c[0x994 - 0x96C];
/* 0x994 */ u32 mHitAcID;
/* 0x998 */ f32 field_0x998;
/* 0x99C */ f32 field_0x99c;
/* 0x9A0 */ f32 mOutLengthRate;
/* 0x9A4 */ f32 mFlyMax;
/* 0x9A8 */ cXyz field_0x9a8;
/* 0x9B4 */ cXyz field_0x9b4;
/* 0x9C0 */ cXyz mStartPos;
/* 0x9CC */ cXyz field_0x9cc;
/* 0x9D8 */ cXyz field_0x9d8;
/* 0x9E4 */ cXyz field_0x9e4;
/* 0x9F0 */ cXyz mSmokePos;
/* 0x9FC */ cXyz field_0x9fc;
/* 0xA08 */ daPy_actorKeep_c field_0xa08;
/* 0xA10 */ dPa_hermiteEcallBack_c field_0xa10;
/* 0xA28 */ void (daArrow_c::*mProcFunc)();
};
#endif /* D_A_ARROW_H */
+39 -12
View File
@@ -4,9 +4,9 @@
#include "JSystem/J2DGraph/J2DScreen.h"
#include "Z2AudioLib/Z2SoundObject.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/particle/d_particle_copoly.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
class daBoomerang_sight_c {
public:
@@ -20,6 +20,8 @@ public:
/* 804A278C */ virtual ~daBoomerang_sight_c();
u8 getReserve() const { return mReserve; }
private:
/* 0x04 */ J2DScreen* field_0x4;
/* 0x08 */ J2DPane* field_0x8;
@@ -60,7 +62,8 @@ class daAlink_c;
class daBoomerang_c : public fopAc_ac_c {
public:
enum daBoomerang_FLG0 {
/* 0x80 */ WIND_CATCH = 0x80,
/* 0x800 */ FLG0_LOCK_DIST_CANCEL = 0x800,
/* 0x080 */ WIND_CATCH = 0x80,
};
/* 8049F280 */ void windModelCallBack();
@@ -91,26 +94,34 @@ public:
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }
void onWindCatch() { onStateFlg0(WIND_CATCH); }
bool checkForceDelete() const { return mForceDelete; }
void onForceDelete() { mForceDelete = true; }
bool checkCharge() const { return true; }
void setThrow() { fopAcM_SetParam(this, 1); }
void setAimActor(fopAc_ac_c* i_actor) { (this->*mpSetAimActorFn)(i_actor); }
void cancelLockActor(fopAc_ac_c* i_actor) { (this->*mpCancelLockActorFn)(i_actor); }
u8 getLockReserve() const { return mSight.getReserve(); }
bool getLockCntMax() { return mLockCnt >= 5; }
void onLockDistanceCancel() { onStateFlg0(FLG0_LOCK_DIST_CANCEL); }
private:
/* 0x568 */ daMirror_c* field_0x568;
/* 0x568 */ J3DModel* field_0x568;
/* 0x56C */ J3DModel* field_0x56c;
/* 0x570 */ daAlink_c* field_0x570;
/* 0x574 */ u8 field_0x574[0x1C];
/* 0x570 */ J3DAnmTextureSRTKey* m_windBtk;
/* 0x574 */ mDoExt_bckAnm field_0x574;
/* 0x590 */ J3DModel* field_0x590;
/* 0x594 */ void* field_0x594;
/* 0x594 */ J3DAnmTextureSRTKey* m_waitEffBtk;
/* 0x598 */ daBoomerang_sight_c mSight;
/* 0x6A8 */ int field_0x6a8;
/* 0x6AC */ int field_0x6ac[5];
/* 0x6A8 */ u32 field_0x6a8;
/* 0x6AC */ u32 field_0x6ac[5];
/* 0x6C0 */ fopAc_ac_c* field_0x6c0[5];
/* 0x6D4 */ u8 field_0x6d4[8];
/* 0x6D4 */ fopAc_ac_c* field_0x6d4;
/* 0x6D8 */ u8 field_0x6d8[4];
/* 0x6DC */ cXyz field_0x6dc[5];
/* 0x718 */ u8 field_0x718[5];
/* 0x720 */ Z2SoundObjSimple field_0x720;
/* 0x740 */ dBgS_Acch field_0x740;
/* 0x918 */ dPaPo_c field_0x918;
/* 0x950 */ u8 field_0x950;
/* 0x950 */ u8 mLockCnt;
/* 0x951 */ u8 field_0x951;
/* 0x952 */ u8 field_0x952;
/* 0x953 */ u8 field_0x953;
@@ -125,6 +136,22 @@ private:
/* 0x960 */ s16 field_0x960;
/* 0x962 */ s16 field_0x962;
/* 0x964 */ u32 mStateFlg0;
};
/* 0x968 */ u8 field_0x968[0x990 - 0x968];
/* 0x990 */ cXyz field_0x990;
/* 0x99C */ cXyz field_0x99c;
/* 0x9A8 */ f32 field_0x9a8;
/* 0x9AC */ cXyz field_0x9ac;
/* 0x9B8 */ cXyz field_0x9b8;
/* 0x9C4 */ cXyz field_0x9c4;
/* 0x9D0 */ dCcD_Stts field_0x9d0;
/* 0xA0C */ dCcD_Cps field_0xa0c;
/* 0xB50 */ dCcD_Cyl field_0xb50;
/* 0xC8C */ dBgS_BoomerangLinChk field_0xc8c;
/* 0xCFC */ dBgS_ObjLinChk field_0xcfc;
/* 0xD6C */ dBgS_ObjGndChk field_0xd6c;
/* 0xDC0 */ int (daBoomerang_c::*mpProcFn)();
/* 0xDCC */ void (daBoomerang_c::*mpSetAimActorFn)(fopAc_ac_c*);
/* 0xDD8 */ void (daBoomerang_c::*mpCancelLockActorFn)(fopAc_ac_c*);
}; // Size: 0xDE4
#endif /* D_A_BOOMERANG_H */
+78 -1
View File
@@ -1,6 +1,83 @@
#ifndef D_A_CANOE_H
#define D_A_CANOE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/bg/d_bg_s_lin_chk.h"
#include "Z2AudioLib/Z2SoundObject.h"
#include "SSystem/SComponent/c_phase.h"
class daCanoe_c : public fopAc_ac_c {
public:
/* 804DA5F4 */ void createHeap();
/* 804DA740 */ void create();
/* 804DAEA8 */ ~daCanoe_c();
/* 804DB008 */ void setRoomInfo();
/* 804DB0B0 */ void setMatrix();
/* 804DB3F4 */ void setCollision();
/* 804DB578 */ void posMove();
/* 804DB754 */ void checkGomikabe(cBgS_PolyInfo&);
/* 804DB7AC */ void setFrontBackPos();
/* 804DB828 */ void frontBackBgCheck();
/* 804DC330 */ void setPaddleEffect();
/* 804DC554 */ void setCanoeSliderEffect();
/* 804DC7B4 */ void execute();
/* 804DD35C */ void draw();
J3DModel* getModel() { return mpModel; }
MtxP getModelMtx() { return mpModel->getBaseTRMtx(); }
bool checkTandem() { return fopAcM_GetParam(this) == 2; }
bool checkJumpRideFlg() { return mJumpRideFlg; }
void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; }
void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; }
/* 0x0568 */ request_of_phase_process_class mPhaseReq;
/* 0x0570 */ J3DModel* mpModel;
/* 0x0574 */ J3DModel* mpPaddleModel;
/* 0x0578 */ J3DModel* mpMaskModel;
/* 0x057C */ dCcD_Stts field_0x57c;
/* 0x05B8 */ dBgS_AcchCir field_0x5b8[9];
/* 0x07F8 */ dBgS_LinkAcch field_0x7f8[3];
/* 0x0D80 */ dCcD_Cyl field_0xd80[5];
/* 0x13AC */ dBgS_LinkLinChk field_0x13ac;
/* 0x141C */ Z2SoundObjSimple field_0x141c;
/* 0x143C */ char* mResName;
/* 0x1440 */ u8 mPaddleWaterType;
/* 0x1441 */ u8 field_0x1441;
/* 0x1442 */ u8 field_0x1442;
/* 0x1443 */ u8 mJumpRideFlg;
/* 0x1444 */ u8 field_0x1444;
/* 0x1445 */ u8 mReverb;
/* 0x1446 */ u8 field_0x1446[0x1448 - 0x1446];
/* 0x1448 */ s16 field_0x1448;
/* 0x144A */ u8 field_0x144a[0x144C - 0x144A];
/* 0x144C */ s16 mAimAngle;
/* 0x144E */ s16 field_0x144e;
/* 0x1450 */ s16 field_0x1450;
/* 0x1452 */ s16 field_0x1452;
/* 0x1454 */ s16 field_0x1454;
/* 0x1456 */ s16 field_0x1456;
/* 0x1458 */ s16 field_0x1458;
/* 0x145A */ s16 field_0x145a;
/* 0x145C */ s16 field_0x145c;
/* 0x145E */ s16 field_0x145e;
/* 0x1460 */ s16 field_0x1460;
/* 0x1464 */ u32 mRodID;
/* 0x1468 */ f32 mAimSpeed;
/* 0x146C */ f32 mShapeOffsetY;
/* 0x1470 */ f32 field_0x1470;
/* 0x1474 */ u32 field_0x1474;
/* 0x1478 */ u8 field_0x1478[0x1480 - 0x1478];
/* 0x1480 */ u32 field_0x1480;
/* 0x1484 */ u8 field_0x1484[0x1490 - 0x1484];
/* 0x1490 */ u32 field_0x1490;
/* 0x1494 */ cXyz field_0x1494;
/* 0x14A0 */ cXyz field_0x14a0;
/* 0x14AC */ cXyz field_0x14ac;
/* 0x14B8 */ cXyz field_0x14b8;
/* 0x14C4 */ cXyz field_0x14c4;
/* 0x14D0 */ cXyz field_0x14d0;
}; // Size: 0x14DC
#endif /* D_A_CANOE_H */
+5 -5
View File
@@ -28,15 +28,15 @@ public:
NULL);
}
fopAc_ac_c* getControllActor() { return mControllActor.getActor(); }
fopAc_ac_c* getControllActor() { return mControllAcKeep.getActor(); }
fopAc_ac_c* getCameraActor() { return mCameraActor.getActor(); }
fopAc_ac_c* getCameraActor() { return mCameraAcKeep.getActor(); }
void setThrow() { fopAcM_SetParam(this, 2); }
private:
/* 0x568 */ J3DModel* field_568;
/* 0x56C */ mDoExt_bckAnm field_0x56c;
/* 0x56C */ mDoExt_bckAnm mBckAnm;
/* 0x588 */ J3DAnmTevRegKey* field_0x588;
/* 0x58C */ J3DAnmTextureSRTKey* field_0x58c;
/* 0x590 */ dCcD_Stts field_0x590;
@@ -46,8 +46,8 @@ private:
/* 0x731 */ u8 field_0x731;
/* 0x732 */ u8 field_0x732;
/* 0x734 */ cXyz field_0x734;
/* 0x740 */ daPy_actorKeep_c mControllActor;
/* 0x748 */ daPy_actorKeep_c mCameraActor;
/* 0x740 */ daPy_actorKeep_c mControllAcKeep;
/* 0x748 */ daPy_actorKeep_c mCameraAcKeep;
}; // Size: 0x750
#endif /* D_A_CROD_H */
+70 -1
View File
@@ -1,6 +1,75 @@
#ifndef D_A_CSTATUE_H
#define D_A_CSTATUE_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/particle/d_particle_copoly.h"
#include "f_op/f_op_actor.h"
class daCstatue_c : public fopAc_ac_c {
public:
/* 806636AC */ void atHitCallback(fopAc_ac_c*);
/* 806636EC */ void createHeap();
/* 80663D28 */ void create();
/* 80664840 */ ~daCstatue_c();
/* 80664AA0 */ void setRoomInfo();
/* 80664B38 */ void setMatrix();
/* 80664C9C */ void posMove();
/* 8066555C */ void setCollision();
/* 80665E14 */ void checkHammerReverse();
/* 80665F80 */ void setDemo();
/* 80666390 */ void setAnime();
/* 80666B80 */ void initBrk(u16);
/* 80666BF8 */ void initStopBrkBtk();
/* 80666C38 */ void initStartBrkBtk();
/* 80666DE8 */ void execute();
/* 80667438 */ void draw();
bool checkNotSmallType() const { return mType == 1; }
static u8 const m_bckIdxTable[70 + 2 /* padding */];
/* 0x568 */ char* mResName;
/* 0x56C */ request_of_phase_process_class mPhaseReq;
/* 0x574 */ J3DModel* field_0x574;
/* 0x578 */ mDoExt_McaMorfSO* field_0x578;
/* 0x57C */ mDoExt_btkAnm field_0x57c;
/* 0x594 */ mDoExt_brkAnm field_0x594;
/* 0x5AC */ dBgS_AcchCir field_0x5ac[4];
/* 0x6AC */ dBgS_StatueAcch field_0x6ac;
/* 0x884 */ dCcD_Stts field_0x884;
/* 0x8C0 */ dCcD_Cyl field_0x8c0;
/* 0x9FC */ dCcD_Cyl* field_0x9fc;
/* 0xA00 */ dCcD_Cps* field_0xa00;
/* 0xA04 */ dCcD_Cps* field_0xa04;
/* 0xA08 */ dCcD_Sph* field_0xa08;
/* 0xA0C */ mDoExt_invisibleModel field_0xa0c;
/* 0xA14 */ Z2Creature field_0xa14;
/* 0xAA4 */ dPaPo_c field_0xaa4;
/* 0xADC */ u8 mReverb;
/* 0xADD */ u8 mType;
/* 0xADE */ u8 field_0xade;
/* 0xADF */ u8 field_0xadf;
/* 0xAE0 */ u8 field_0xae0;
/* 0xAE1 */ u8 field_0xae1;
/* 0xAE2 */ u8 field_0xae2;
/* 0xAE3 */ u8 field_0xae3;
/* 0xAE4 */ u8 field_0xae4;
/* 0xAE5 */ u8 mBossAtGndHit;
/* 0xAE6 */ u8 field_0xae6[0xAE8 - 0xAE6];
/* 0xAE8 */ s16 field_0xae8;
/* 0xAEA */ s16 field_0xaea;
/* 0xAEC */ u32 mStateFlg0;
/* 0xAF0 */ u32 field_0xaf0;
/* 0xAF4 */ f32 field_0xaf4;
/* 0xAF8 */ f32 field_0xaf8;
/* 0xAFC */ f32 field_0xafc;
/* 0xB00 */ f32 field_0xb00;
/* 0xB04 */ f32 field_0xb04;
/* 0xB08 */ cXyz field_0xb08;
/* 0xB14 */ cXyz field_0xb14;
/* 0xB20 */ cXyz mBallPos;
}; // Size: 0xB2C
#endif /* D_A_CSTATUE_H */
+13 -7
View File
@@ -51,6 +51,7 @@ public:
enum daHorse_FLG0 {
/* 0x00000020 */ RODEO_LEFT = 0x20,
/* 0x00000040 */ RIDE_START_FLG = 0x40,
/* 0x00000080 */ NO_DRAW_WAIT = 0x80,
/* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000,
/* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000,
/* 0x80000000 */ RODEO_MODE = 0x80000000
@@ -158,6 +159,11 @@ public:
void i_changeDemoMode(u32 param_0, int param_1) { field_0x1740 = param_0; field_0x1728 = param_1; }
void i_changeOriginalDemo() { field_0x16b8 = 3; field_0x1728 = 0; }
void i_setHorsePosAndAngle(cXyz const* i_pos, s16 i_angle) { (this->*mpSetHorsePosAngleFn)(i_pos, i_angle); }
void onRideFlg() { (this->*mpOnRideFlgFn)(); }
void onStateFlg0(daHorse_FLG0 flag) { mStateFlg0 |= flag; }
void offStateFlg0(daHorse_FLG0 flag) { mStateFlg0 &= ~flag; }
void offNoDrawWait() { offStateFlg0(NO_DRAW_WAIT); }
int checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); }
bool checkTurnStandCamera() const { return checkResetStateFlg0(TURN_STAND_CAMERA); }
bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); }
@@ -226,13 +232,13 @@ public:
/* 0x17C4 */ cXyz mDemoPos0;
/* 0x17D0 */ u8 field_0x17d0[0x18A4 - 0x17D0];
/* 0x18A4 */ int (daHorse_c::*mpProcFn)();
/* 0x18A4 */ int (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&);
/* 0x18A4 */ void (daHorse_c::*mpSetReinPosHandFn)(int);
/* 0x18A4 */ void (daHorse_c::*mpSetReinPosNormalFn)();
/* 0x18A4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*);
/* 0x18A4 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle);
/* 0x18A4 */ void (daHorse_c::*mpOnRideFlgFn)();
/* 0x18A4 */ void (daHorse_c::*mpOffRideFlgFn)();
/* 0x18B0 */ int (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&);
/* 0x18BC */ void (daHorse_c::*mpSetReinPosHandFn)(int);
/* 0x18C8 */ void (daHorse_c::*mpSetReinPosNormalFn)();
/* 0x18D4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*);
/* 0x18E0 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle);
/* 0x18EC */ void (daHorse_c::*mpOnRideFlgFn)();
/* 0x18F8 */ void (daHorse_c::*mpOffRideFlgFn)();
};
#endif /* D_A_HORSE_H */
+69 -1
View File
@@ -1,6 +1,74 @@
#ifndef D_A_MG_ROD_H
#define D_A_MG_ROD_H
#include "dolphin/types.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/msg/d_msg_flow.h"
#include "f_op/f_op_actor.h"
struct mg_rod_s {
/* 0x0 */ cXyz field_0x0[16];
};
struct mg_line_s {
/* 0x0 */ cXyz field_0x0[100];
};
struct mg_hook_s {
/* 0x00 */ cXyz field_0x0[2];
/* 0x18 */ u8 field_0x18[0x20 - 0x18];
};
class dmg_rod_class : public fopAc_ac_c {
public:
/* 804BAC0C */ dmg_rod_class();
f32 getRodStickX() { return mRodStickX; }
f32 getRodStickY() { return mRodStickY; }
bool checkRodEquipPermission() { return field_0x1514 == 0; }
private:
/* 0x0568 */ u8 field_0x568[0x5A4 - 0x568];
/* 0x05A4 */ mg_rod_s field_0x5a4;
/* 0x0664 */ u8 field_0x664[0x6AC - 0x664];
/* 0x06AC */ cXyz field_0x6ac;
/* 0x06B8 */ cXyz field_0x6b8;
/* 0x06C4 */ u8 field_0x6c4[0x6C8 - 0x6C4];
/* 0x06C8 */ cXyz field_0x6c8;
/* 0x06D4 */ cXyz field_0x6d4;
/* 0x06E0 */ u8 field_0x6e0[0x6EC - 0x6E0];
/* 0x06EC */ cXyz field_0x6ec;
/* 0x06F8 */ u8 field_0x6f8[0x71C - 0x6F8];
/* 0x071C */ csXyz field_0x71c[6];
/* 0x0740 */ u8 field_0x740[0x744 - 0x740];
/* 0x0744 */ cXyz field_0x744;
/* 0x0750 */ cXyz field_0x750;
/* 0x075C */ u8 field_0x75c[0x764 - 0x75C];
/* 0x0764 */ cXyz field_0x764;
/* 0x0770 */ mg_line_s field_0x770;
/* 0x0C20 */ u8 field_0xc20[0xFAC - 0xC20];
/* 0x0FAC */ mg_hook_s field_0xfac[2];
/* 0x0FEC */ u8 field_0xfec[0x1060 - 0xFEC];
/* 0x1060 */ cXyz field_0x1060;
/* 0x106C */ cXyz field_0x106c;
/* 0x1078 */ cXyz field_0x1078;
/* 0x1084 */ csXyz field_0x1084;
/* 0x108A */ u8 field_0x108a[0x10B4 - 0x108A];
/* 0x10B4 */ Z2Creature field_0x10b4;
/* 0x1144 */ u8 field_0x1144[0x1190 - 0x1144];
/* 0x1190 */ dBgS_AcchCir field_0x1190;
/* 0x11D0 */ dBgS_ObjAcch field_0x11d0;
/* 0x13A8 */ u8 field_0x13a8[0x1474 - 0x13A8];
/* 0x1474 */ dMsgFlow_c mMsgFlow;
/* 0x14C0 */ u8 field_0x14c0[0x14C8 - 0x14C0];
/* 0x14C8 */ f32 mRodStickX;
/* 0x14CC */ f32 mRodStickY;
/* 0x14D0 */ u8 field_0x14d0[0x1514 - 0x14D0];
/* 0x1514 */ u8 field_0x1514;
/* 0x1515 */ u8 field_0x1515[0x1518 - 0x1515];
/* 0x1518 */ dCcD_Stts field_0x1518;
/* 0x1554 */ dCcD_Sph field_0x1554;
};
#endif /* D_A_MG_ROD_H */
@@ -15,6 +15,7 @@ public:
u32 getSwNo() { return fopAcM_GetParam(this) >> 0x18; }
u16 getOffEventBit() { return orig.angle.z & 0xFFF; }
u16 getOnEventBit() { return orig.angle.x & 0xFFF; }
u8 getPathID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; }
void setSceneChangeOK() { mSceneChangeOK = true; }
/* 0x568 */ Mtx mMatrix;
+21 -1
View File
@@ -1,6 +1,26 @@
#ifndef D_A_SKIP_2D_H
#define D_A_SKIP_2D_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
class daSkip2D_c : public fopAc_ac_c {
public:
daSkip2D_c() {
initiate();
}
/* 80D4D498 */ int createHeap();
/* 80D4D4F4 */ int create();
/* 80D4D588 */ int destroy();
/* 80D4D590 */ int draw();
/* 80D4D5D0 */ int execute();
/* 80D4D5D8 */ void initiate();
/* 80D4D674 */ virtual ~daSkip2D_c() {}
/* 0x56C */ u32 field_0x56c;
/* 0x570 */ dMeterButton_c* mpButton;
/* 0x574 */ u8 field_0x574;
}; // Size: 0x578
#endif /* D_A_SKIP_2D_H */
@@ -36,6 +36,7 @@ public:
bool checkSpinnerTagEnd() const { return mSpinnerTag == 5; }
bool checkSpinnerTagIntoIncRot() const { return mSpinnerTag == 4; }
bool checkSpinnerTagInto() const { return mSpinnerTag == 3; }
bool checkGroundHit() { return mAcch.ChkGroundHit(); }
u8 getButtonJump() const { return mButtonJump; }
u8 getJumpFlg() const { return mJumpFlg; }
@@ -1,6 +1,20 @@
#ifndef D_A_TAG_HINIT_H
#define D_A_TAG_HINIT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
class daTagHinit_c : public fopAc_ac_c {
public:
/* 805A3758 */ int create();
/* 805A3820 */ ~daTagHinit_c();
/* 805A389C */ int execute();
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 field_0x56a;
/* 0x56B */ u8 field_0x56b;
/* 0x56C */ u16 field_0x56c;
/* 0x56E */ u16 field_0x56e;
};
#endif /* D_A_TAG_HINIT_H */
@@ -1,6 +1,21 @@
#ifndef D_A_TAG_SETRESTART_H
#define D_A_TAG_SETRESTART_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagRestart_c : public fopAc_ac_c {
public:
/* 80D603F8 */ int Create();
/* 80D6048C */ int create();
/* 80D60560 */ int execute();
/* 80D60744 */ int _delete();
/* 0x568 */ s8 mPlayerRoomNo;
/* 0x56C */ cXyz field_0x56c[4];
};
namespace daTagRestart_prm {
inline u8 getFRoomNo(daTagRestart_c* i_tag) { return fopAcM_GetParam(i_tag); }
};
#endif /* D_A_TAG_SETRESTART_H */
@@ -1,6 +1,24 @@
#ifndef D_A_TAG_WARA_HOWL_H
#define D_A_TAG_WARA_HOWL_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagWrHowl_c : public fopAc_ac_c {
public:
/* 80D63F38 */ daTagWrHowl_c();
/* 80D63FD4 */ int create();
/* 80D6402C */ int Delete();
/* 80D64034 */ int draw();
/* 80D6403C */ int execute();
/* 80D64090 */ void init();
/* 80D640B4 */ bool chkWlfInTag();
/* 80D63F74 */ virtual ~daTagWrHowl_c();
u8 getTuneId() { return fopAcM_GetParamBit(this, 4, 4); }
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
};
#endif /* D_A_TAG_WARA_HOWL_H */