mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-29 09:40:56 -04:00
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:
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user