all d_a_alink functions attempted (#2239)

* more work on alink

* alink wip

* little more work

* setEyeMove

* 14 left

* auto ground hit

* all d_a_alink functions attempted
This commit is contained in:
TakaRikka 2024-11-09 02:09:36 -08:00 committed by GitHub
parent 80f30409f1
commit 083991a8d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 5121 additions and 242 deletions

View File

@ -85,7 +85,7 @@ void cM3d_CalcVecAngle(const Vec&, short*, short*);
void cM3d_CalcVecZAngle(const Vec&, csXyz*);
static void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*);
static int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*);
bool cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*);
BOOL cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*);
f32 cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*);
f32 cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*);
int cM3d_2PlaneLinePosNearPos(const cM3dGPla&, const cM3dGPla&, const Vec*, Vec*);

View File

@ -26,15 +26,22 @@ public:
cXyz* GetNP() { return &mNormal; }
const cXyz* GetNP() const { return &mNormal; }
f32 GetD() const { return mD; }
void SetupFrom3Vtx(const Vec* v1, const Vec* v2, const Vec* v3) {
cM3d_CalcPla(v1, v2, v3, &mNormal, &mD);
}
f32 getCrossY_NonIsZero(const cXyz *param_1) {
return ((-mNormal.x * param_1->x - mNormal.z * param_1->z) - mD) / mNormal.y;
}
bool cross(cM3dGLin const& line, Vec& point) {
return cM3d_Cross_LinPla(&line, this, &point, true, true);
}
f32 getSignedLenPos(const cXyz* param_0) const {
return cM3d_SignedLenPlaAndPos(this, param_0);
}
};
#endif

View File

@ -118,6 +118,7 @@ public:
s16 getAppearFlg() const { return mAppearFlg; }
s16 getHitFlg() const { return mHitFlg; }
cXyz& getHitPos() { return mHitPos; }
f32 getKeepMinY() { return mKeepMinY; }
void onAppearFlg() { mAppearFlg = true; }
@ -156,7 +157,18 @@ public:
static void decMorfFrame() { cLib_calcTimer<u8>(&m_morf_frame); }
static void setMorfFrame(u8 i_frame) { m_morf_frame = i_frame; }
static u8 getMorfFrame() { return m_morf_frame; }
static void onEyeMoveFlg() { m_eye_move_flg = true; }
static void offEyeMoveFlg() { m_eye_move_flg = false; }
static bool getEyeMoveFlg() { return m_eye_move_flg; }
f32* getNowOffsetXP() { return &mNowOffsetX; }
f32* getNowOffsetYP() { return &mNowOffsetY; }
void setNowOffsetX(f32 i_offset) { mNowOffsetX = i_offset; }
void setNowOffsetY(f32 i_offset) { mNowOffsetY = i_offset; }
static bool m_eye_move_flg;
static u8 m_morf_frame;
/* 0x0F4 */ f32 field_0xf4;
@ -669,8 +681,10 @@ public:
enum daAlink_FTANM {
FTANM_UNK_0 = 0,
FTANM_UNK_1 = 1,
FTANM_UNK_3 = 3,
FTANM_UNK_4 = 4,
FTANM_UNK_5 = 5,
FTANM_UNK_8 = 8,
FTANM_UNK_9 = 9,
FTANM_UNK_13 = 0x13,
@ -681,6 +695,7 @@ public:
FTANM_UNK_23 = 0x23,
FTANM_UNK_27 = 0x27,
FTANM_UNK_2D = 0x2D,
FTANM_UNK_39 = 0x39,
FTANM_UNK_48 = 0x48,
FTANM_UNK_75 = 0x75,
FTANM_UNK_76 = 0x76,
@ -690,6 +705,7 @@ public:
FTANM_UNK_7C = 0x7C,
FTANM_UNK_8A = 0x8A,
FTANM_UNK_8B = 0x8B,
FTANM_UNK_8C = 0x8C,
FTANM_UNK_8D = 0x8D,
FTANM_UNK_8E = 0x8E,
FTANM_UNK_8F = 0x8F,
@ -700,6 +716,7 @@ public:
FTANM_UNK_95 = 0x95,
FTANM_UNK_96 = 0x96,
FTANM_UNK_97 = 0x97,
FTANM_UNK_98 = 0x98,
FTANM_UNK_99 = 0x99,
FTANM_UNK_9A = 0x9A,
FTANM_UNK_9B = 0x9B,
@ -1310,29 +1327,29 @@ public:
/* 8009DA98 */ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
/* 8009DC6C */ void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*);
/* 8009DD90 */ void jointControll(int);
/* 8009DD90 */ int jointControll(int);
/* 8009E7B8 */ void setUpperFront();
/* 8009E91C */ void changeBlendRate(int);
/* 8009EB18 */ void resetRootMtx();
/* 8009EB58 */ bool modelCallBack(int);
/* 8009ECA0 */ void headModelCallBack(int);
/* 8009ECA0 */ int headModelCallBack(int);
/* 8009EF7C */ int wolfModelCallBack(int);
/* 8009F034 */ void setHatAngle();
/* 8009FFF8 */ void calcHairAngle(s16*);
/* 800A002C */ void setHairAngle(cXyz*, f32, f32);
/* 800A0744 */ void setLookPosFromOut(cXyz*);
/* 800A07D8 */ bool checkAttentionPosAngle(cXyz*);
/* 800A0868 */ void checkActorPosAngle(fopAc_ac_c*, cXyz**);
/* 800A093C */ void getNeckAimPos(cXyz*, int*, int);
/* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*);
/* 800A0868 */ bool checkActorPosAngle(fopAc_ac_c*, cXyz**);
/* 800A093C */ cXyz* getNeckAimPos(cXyz*, int*, int);
/* 800A142C */ s16 getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*);
/* 800A1AEC */ void setEyeMove(cXyz*, s16, s16);
/* 800A1F90 */ void setNeckAngle();
/* 800A2198 */ bool commonLineCheck(cXyz*, cXyz*);
/* 800A21E0 */ static s16 getMoveBGActorName(cBgS_PolyInfo&, int);
/* 800A2280 */ fopAc_ac_c* checkGoronRide();
/* 800A22E8 */ void setMoveSlantAngle();
/* 800A2710 */ void setArmMatrix();
/* 800A29DC */ void setFootMatrix();
/* 800A2710 */ int setArmMatrix();
/* 800A29DC */ int setFootMatrix();
/* 800A2C24 */ void setMatrixOffset(f32*, f32);
/* 800A2CE0 */ int setLegAngle(f32, daAlink_footData_c*, s16*, s16*, int);
/* 800A3430 */ void footBgCheck();
@ -1362,7 +1379,7 @@ public:
/* 800A7950 */ bool checkWindSpeedOnAngle() const;
/* 800A79EC */ bool checkWindSpeedOnAngleAnime(int) const;
/* 800A7A5C */ bool checkDashAnime() const;
/* 800A7ABC */ void checkWindWallRate(cXyz const&);
/* 800A7ABC */ f32 checkWindWallRate(cXyz const&);
/* 800A7CB0 */ void setWindSpeed();
/* 800A8310 */ void setBodyPartPos();
/* 800A87F8 */ void setAttentionPos();
@ -1409,9 +1426,9 @@ public:
/* 800AD340 */ void setUpperAnimeBase(u16);
/* 800AD374 */ void setUpperAnimeBaseMorf(u16, f32);
/* 800AD3A8 */ void setUpperAnimeBaseSpeed(u16, f32, f32);
/* 800AD3D8 */ void setUpperAnime(u16, daAlink_c::daAlink_UPPER, f32, f32, s16, f32);
/* 800AD3D8 */ int setUpperAnime(u16, daAlink_c::daAlink_UPPER, f32, f32, s16, f32);
/* 800AD6F0 */ void setUpperAnimeParam(u16, daAlink_c::daAlink_UPPER, daAlinkHIO_anm_c const*);
/* 800AD724 */ void resetUpperAnime(daAlink_c::daAlink_UPPER, f32);
/* 800AD724 */ int resetUpperAnime(daAlink_c::daAlink_UPPER, f32);
/* 800AD8F4 */ void setUnderAnimeMorf(f32);
/* 800AD964 */ int setUnderAnime(u16, daAlink_c::daAlink_UNDER, f32, f32, s16, f32);
/* 800ADAB8 */ int setUnderAnimeParam(u16, daAlink_c::daAlink_UNDER, daAlinkHIO_anm_c const*);
@ -1426,7 +1443,7 @@ public:
/* 800AF4B0 */ void setFaceBck(u16, int, u16);
/* 800AF61C */ void setFaceBtp(u16, int, u16);
/* 800AF7D0 */ void setFaceBtk(u16, int, u16);
/* 800AF8A0 */ void setFaceBasicTexture(daAlink_c::daAlink_FTANM);
/* 800AF8A0 */ daAlink_FTANM setFaceBasicTexture(daAlink_c::daAlink_FTANM);
/* 800AF9A8 */ void setFaceBasicAnime(daAlink_c::daAlink_ANM);
/* 800AFAA8 */ void setFacePriTexture(daAlink_c::daAlink_FTANM);
/* 800AFB14 */ void setFacePriAnime(daAlink_c::daAlink_ANM);
@ -2191,7 +2208,7 @@ public:
/* 800F3BEC */ f32 getCanoeCres() const;
/* 800F3C18 */ f32 getCanoeSpeedRate() const;
/* 800F3C44 */ s16 getCanoeMaxRotSpeed() const;
/* 800F3CCC */ cXyz* getCanoeLocalPaddleTop();
/* 800F3CCC */ static cXyz* getCanoeLocalPaddleTop();
/* 800F3CF8 */ BOOL checkCanoeRideTandem();
/* 800F3D58 */ BOOL checkFishingRodAndLureItem() const;
/* 800F3DA0 */ void initFishingRodHand();
@ -3237,6 +3254,7 @@ public:
BOOL checkCopyRodControllAnime() const { return checkUpperAnime(0x202); }
BOOL checkWolfHeadDamageAnime() const { return checkUpperAnime(0x2A7); }
BOOL checkExchangeRodAnime() const { return checkUpperAnime(0x68); }
BOOL checkReelAnime() const { return checkUpperAnime(0x1FB); }
int checkWolfEyeUp() const { return mWolfEyeUp; }
void onModeFlg(u32 flag) { mModeFlg |= flag; }
@ -3486,6 +3504,7 @@ public:
bool checkRootTransZClearMode() { return field_0x2f99 & 4; }
bool checkRootTransXClearMode() { return field_0x2f99 & 1; }
bool checkRootTransYClearMode() { return field_0x2f99 & 2; }
bool checkRootTransClearContinueMode() { return field_0x2f99 & 8; }
s16 checkWindStoneHowl() {return mProcVar4.field_0x3010; }
u8 getCorrectCurveID() { return mZ2WolfHowlMgr.getCorrectCurveID(); }
u8 getCorrectLineNum() { return mZ2WolfHowlMgr.getCorrectLineNum(); }
@ -3506,6 +3525,8 @@ public:
u8 getBStatus() { return dComIfGp_getAStatus(); }
void setRStatus(u8 param_0, u8 param_1) { dComIfGp_setRStatus(param_0, param_1); }
BOOL checkWindSpeedMoveXZ() const { return mWindSpeed.abs2XZ() > 1.0f; }
inline bool checkWindSpeedOnXZ() const;
inline void startRestartRoomFromOut(int, u32, int);
inline u16 getReadyItem();
@ -3690,14 +3711,14 @@ public:
/* 0x028F0 */ fpc_ProcID mMsgClassID;
/* 0x028F4 */ int mAtnActorID;
/* 0x028F8 */ fpc_ProcID field_0x28f8;
/* 0x028FC */ int field_0x28fc;
/* 0x028FC */ fpc_ProcID field_0x28fc;
/* 0x02900 */ u32 field_0x2900;
/* 0x02904 */ daAlink_footData_c mFootData1[2];
/* 0x02A4C */ daAlink_footData_c mFootData2[2];
/* 0x02B94 */ f32 field_0x2b94;
/* 0x02B98 */ f32 field_0x2b98;
/* 0x02B98 */ f32 field_0x2b9c;
/* 0x02BA0 */ f32* field_0x2ba0;
/* 0x02BA0 */ f32 field_0x2ba0;
/* 0x02BA4 */ f32 field_0x2ba4;
/* 0x02BA8 */ f32 mSinkShapeOffset;
/* 0x02BAC */ f32 mAcchCirWallH[3];
@ -3709,7 +3730,7 @@ public:
/* 0x02CA8 */ Z2CreatureLink mZ2Link;
/* 0x02D78 */ u8* field_0x2d78;
/* 0x02D7C */ daPy_frameCtrl_c* field_0x2d7c;
/* 0x02D80 */ int field_0x2d80;
/* 0x02D80 */ void* field_0x2d80;
/* 0x02D84 */ Z2WolfHowlMgr mZ2WolfHowlMgr;
/* 0x02E44 */ dJntCol_c field_0x2e44;
/* 0x02E54 */ dPaPoF_c field_0x2e54;
@ -3871,9 +3892,7 @@ public:
/* 0x03060 */ s16 field_0x3060;
/* 0x03062 */ s16 field_0x3062;
/* 0x03064 */ s16 field_0x3064;
/* 0x03066 */ s16 field_0x3066;
/* 0x03068 */ u8 field_0x3068[2];
/* 0x0306A */ s16 field_0x306a;
/* 0x03066 */ s16 field_0x3066[3];
/* 0x0306C */ s16 field_0x306c;
/* 0x0306E */ s16 field_0x306e;
/* 0x03070 */ s16 field_0x3070;
@ -3903,7 +3922,7 @@ public:
/* 0x030A8 */ u16 field_0x30a8;
/* 0x030AA */ u16 field_0x30aa;
/* 0x030AC */ s16 mWolfEyeUp;
/* 0x030AE */ u16 field_0x30ae;
/* 0x030AE */ s16 field_0x30ae;
/* 0x030B0 */ s16 field_0x30b0;
/* 0x030B2 */ s16 field_0x30b2;
/* 0x030B4 */ u16 field_0x30b4;
@ -3977,7 +3996,7 @@ public:
/* 0x0319C */ int field_0x319c;
/* 0x031A0 */ u32 mModeFlg;
/* 0x031A4 */ int field_0x31a4;
/* 0x031A8 */ u8 field_0x31a8[8];
/* 0x031A8 */ u32 field_0x31a8[2];
/* 0x031B0 */ u32 field_0x31b0[3];
/* 0x031BC */ u32 field_0x31bc;
/* 0x031C0 */ u32 field_0x31c0;

View File

@ -71,8 +71,12 @@ public:
/* 8060EAE0 */ void CreateHeap();
/* 8060F0D0 */ void create();
bool isDown() { return field_0xb01 != 0; }
private:
/* 0x5ac */ u8 field_0x5ac[0x26cc - 0x5ac];
/* 0x05AC */ u8 field_0x5ac[0xB01 - 0x5AC];
/* 0x0B01 */ u8 field_0xb01;
/* 0x0B02 */ u8 field_0xb02[0x26CC - 0xB02];
};
STATIC_ASSERT(sizeof(daB_MGN_c) == 0x26cc);

View File

@ -212,7 +212,7 @@ public:
/* 0x00 */ ANM_NONE = 0,
};
void onForcePanic();
void onForcePanic() { onEndResetStateFlg0(ERFLG0_FORCE_PANIC); }
u32 checkForceNormalColor() const;
u32 checkForceTiredColor() const;
static bool checkMidnaTired();

View File

@ -11,7 +11,7 @@
* @details
*
*/
class daNpc_Bou_c : public fopAc_ac_c {
class daNpc_Bou_c : public daNpcT_c {
public:
/* 8096CF8C */ ~daNpc_Bou_c();
/* 8096D0D8 */ void create();
@ -26,20 +26,7 @@ public:
/* 8096DA78 */ void getType();
/* 8096DADC */ void isDelete();
/* 8096DBBC */ void reset();
/* 8096DD44 */ void afterJntAnm(int);
/* 8096DDC8 */ void setParam();
/* 8096DF9C */ void checkChangeEvt();
/* 8096E0EC */ void setAfterTalkMotion();
/* 8096E18C */ void srchActors();
/* 8096E27C */ void evtTalk();
/* 8096E31C */ bool evtEndProc();
/* 8096E324 */ void evtCutProc();
/* 8096E3EC */ void action();
/* 8096E7E0 */ void beforeMove();
/* 8096E8A4 */ void setAttnPos();
/* 8096EB14 */ void setCollision();
/* 8096EC6C */ bool drawDbgInfo();
/* 8096EC74 */ void changeAnm(int*, int*);
/* 8096ECC0 */ void selectAction();
/* 8096ED3C */ void chkAction(int (daNpc_Bou_c::*)(void*));
/* 8096ED68 */ void setAction(int (daNpc_Bou_c::*)(void*));
@ -58,18 +45,55 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_evtData_c const*, char**);
/* 809727B4 */ s32 getEyeballMaterialNo();
/* 809727BC */ s32 getHeadJointNo();
/* 809727C4 */ s32 getNeckJointNo();
/* 809727CC */ bool getBackboneJointNo();
/* 809727D4 */ void checkChangeJoint(int);
/* 809727E4 */ void checkRemoveJoint(int);
/* 809727D4 */ virtual int checkChangeJoint(int);
/* 809727E4 */ virtual int checkRemoveJoint(int);
/* 809727CC */ virtual s32 getBackboneJointNo();
/* 809727C4 */ virtual s32 getNeckJointNo();
/* 809727BC */ virtual s32 getHeadJointNo();
/* 809727B4 */ virtual s32 getEyeballMaterialNo();
/* 8096DD44 */ virtual void afterJntAnm(int);
/* 8096DDC8 */ virtual void setParam();
/* 8096DF9C */ virtual bool checkChangeEvt();
/* 8096E27C */ virtual bool evtTalk();
/* 8096E31C */ virtual bool evtEndProc();
/* 8096E324 */ virtual bool evtCutProc();
/* 8096E0EC */ virtual void setAfterTalkMotion();
/* 8096E3EC */ virtual void action();
/* 8096E7E0 */ virtual void beforeMove();
/* 8096E8A4 */ virtual void setAttnPos();
/* 8096EB14 */ virtual void setCollision();
/* 8096EC6C */ virtual int drawDbgInfo();
/* 8096EC74 */ virtual void changeAnm(int*, int*);
static void* mCutNameList[9];
static u8 mCutList[108];
BOOL speakTo() {
if (field_0xf80 == 4) {
if (current.pos.absXZ(daPy_getPlayerActorClass()->current.pos) < 1100.0f && strlen(field_0x570[5].eventName) != 0) {
u32 len = strlen(field_0x574[field_0x570[5].num]);
if (len != 0) {
eventInfo.setArchiveName(field_0x574[field_0x570[5].num]);
dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName());
}
field_0xe1c = dComIfGp_getEventManager().getEventIdx(this, field_0x570[5].eventName, 0xFF);
fopAcM_orderOtherEventId(this, field_0xe1c, 0xFF, 0xFFFF, 4, 1);
return 1;
}
}
return 0;
}
private:
/* 0x568 */ u8 field_0x568[0xffc - 0x568];
/* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40];
/* 0xE44 */ dCcD_Cyl field_0xe44;
/* 0xF80 */ u8 field_0xf80;
/* 0xF84 */ daNpcT_ActorMngr_c field_0xf84[3];
/* 0xF9C */ daNpcT_Path_c field_0xf9c;
/* 0xFC4 */ u8 field_0xfc4[0xFFC - 0xFC4];
};
STATIC_ASSERT(sizeof(daNpc_Bou_c) == 0xffc);

View File

@ -11,7 +11,7 @@
* @details
*
*/
class daNpc_Kolin_c : public fopAc_ac_c {
class daNpc_Kolin_c : public daNpcT_c {
public:
/* 80553FEC */ ~daNpc_Kolin_c();
/* 80554138 */ void create();
@ -24,21 +24,7 @@ public:
/* 80554A90 */ void getType();
/* 80554B30 */ void isDelete();
/* 80554CB0 */ void reset();
/* 80554EBC */ void afterJntAnm(int);
/* 80554F48 */ void setParam();
/* 80555118 */ void checkChangeEvt();
/* 8055523C */ void setAfterTalkMotion();
/* 805552DC */ void srchActors();
/* 80555448 */ void evtTalk();
/* 805554E8 */ void evtCutProc();
/* 805555B0 */ void action();
/* 8055574C */ void beforeMove();
/* 80555810 */ void setAttnPos();
/* 80555B48 */ void setCollision();
/* 80555CE4 */ bool drawDbgInfo();
/* 80555CEC */ void drawOtherMdl();
/* 80555DC4 */ void changeAnm(int*, int*);
/* 80555DEC */ void changeBck(int*, int*);
/* 80555E38 */ void selectAction();
/* 80555F28 */ void chkAction(int (daNpc_Kolin_c::*)(void*));
/* 80555F54 */ void setAction(int (daNpc_Kolin_c::*)(void*));
@ -64,20 +50,62 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
daNpcT_evtData_c const*, char**);
/* 8055A498 */ s32 getEyeballMaterialNo();
/* 8055A4A0 */ s32 getHeadJointNo();
/* 8055A4A8 */ s32 getNeckJointNo();
/* 8055A4B0 */ bool getBackboneJointNo();
/* 8055A4B8 */ void checkChangeJoint(int);
/* 8055A4C8 */ void checkRemoveJoint(int);
/* 8055A4D8 */ s32 getFootLJointNo();
/* 8055A4E0 */ s32 getFootRJointNo();
/* 8055A4B8 */ virtual int checkChangeJoint(int);
/* 8055A4C8 */ virtual int checkRemoveJoint(int);
/* 8055A4B0 */ virtual s32 getBackboneJointNo();
/* 8055A4A8 */ virtual s32 getNeckJointNo();
/* 8055A4A0 */ virtual s32 getHeadJointNo();
/* 8055A4D8 */ virtual s32 getFootLJointNo();
/* 8055A4E0 */ virtual s32 getFootRJointNo();
/* 8055A498 */ virtual s32 getEyeballMaterialNo();
/* 80554EBC */ virtual void afterJntAnm(int);
/* 80554F48 */ virtual void setParam();
/* 80555118 */ virtual bool checkChangeEvt();
/* 80555448 */ virtual bool evtTalk();
/* 805554E8 */ virtual bool evtCutProc();
/* 8055523C */ virtual void setAfterTalkMotion();
/* 805555B0 */ virtual void action();
/* 8055574C */ virtual void beforeMove();
/* 80555810 */ virtual void setAttnPos();
/* 80555B48 */ virtual void setCollision();
/* 80555CE4 */ virtual int drawDbgInfo();
/* 80555CEC */ virtual void drawOtherMdl();
/* 80555DC4 */ virtual void changeAnm(int*, int*);
/* 80555DEC */ virtual void changeBck(int*, int*);
static void* mCutNameList[11];
static u8 mCutList[132];
BOOL orderNoRideEvt() {
if (field_0xf84 == 11) {
s16 var_r28 = (s16)(fopAcM_searchPlayerAngleY(this) - home.angle.y);
int var_r29 = 3;
if (var_r28 < 0) {
var_r29 = 2;
}
if (strlen(field_0x570[var_r29].eventName) != 0) {
u32 len = strlen(field_0x574[field_0x570[var_r29].num]);
if (len != 0) {
eventInfo.setArchiveName(field_0x574[field_0x570[var_r29].num]);
dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName());
}
field_0xe1c = dComIfGp_getEventManager().getEventIdx(this, field_0x570[var_r29].eventName, 0xFF);
fopAcM_orderOtherEventId(this, field_0xe1c, 0xFF, 0xFFFF, 4, 1);
return 1;
}
}
return 0;
}
private:
/* 0x568 */ u8 field_0x568[0x1020 - 0x568];
/* 0x0E40 */ u8 field_0xe40[0xF84 - 0xE40];
/* 0x0F84 */ u8 field_0xf84;
/* 0x0F85 */ u8 field_0xf85[0x1020 - 0xF85];
};
STATIC_ASSERT(sizeof(daNpc_Kolin_c) == 0x1020);

View File

@ -19,6 +19,7 @@ public:
void onDrawFlg() { mDrawFlag = true; }
void offDrawFlg() { mDrawFlag = false; }
void setPos(const cXyz* i_pos) { mPos = *i_pos; }
cXyz* getPosP() { return &mPos; }
/* 0x04 */ bool mDrawFlag;
/* 0x05 */ u8 field_0x5[3];
@ -79,6 +80,8 @@ public:
u8* getBuffer() { return mBuffer; }
bool checkNoSetIdx() const { return mIdx == 0xFFFF; }
bool checkNoSetPriIdx() const { return mPriIdx == 0xFFFF; }
u16 getArcNo() const { return mArcNo; }
void setIdx(u16 i_idx) { mIdx = i_idx; }
private:
/* 0x00 */ u16 mIdx;
@ -213,7 +216,7 @@ public:
/* 0x05D4 */ cXyz mRightHandPos;
/* 0x05E0 */ cXyz mLeftFootPos;
/* 0x05EC */ cXyz mRightFootPos;
/* 0x05F8 */ u8 field_0x5f8[0xC];
/* 0x05F8 */ cXyz field_0x5f8;
/* 0x0604 */ daPy_demo_c mDemo;
public:
@ -258,12 +261,14 @@ public:
FLG1_UNK_10000000 = 0x10000000,
FLG1_UNK_4000000 = 0x4000000,
FLG1_IS_WOLF = 0x2000000,
FLG1_UNK_1000000 = 0x1000000,
FLG1_UNK_800000 = 0x800000,
FLG1_DASH_MODE = 0x400000,
FLG1_UNK_200000 = 0x200000,
FLG1_UNK_100000 = 0x100000,
FLG1_MIDNA_ATN_POS = 0x80000,
FLG1_UNK_40000 = 0x40000,
FLG1_UNK_20000 = 0x20000,
FLG1_UNK_10000 = 0x10000,
FLG1_UNK_8000 = 0x8000,
FLG1_THROW_DAMAGE = 0x4000,
@ -276,6 +281,7 @@ public:
FLG1_UNK_40 = 0x40,
FLG1_UNK_20 = 0x20,
FLG1_UNK_10 = 0x10,
FLG1_UNK_8 = 8,
FLG1_UNK_4 = 4,
FLG1_UNK_2 = 2,
FLG1_UNK_1 = 1,
@ -374,6 +380,7 @@ public:
ERFLG0_UNK_40000 = 0x40000,
ERFLG0_UNK_20000 = 0x20000,
ERFLG0_UNK_10000 = 0x10000,
ERFLG0_UNK_4000 = 0x4000,
ERFLG0_UNK_2000 = 0x2000,
ERFLG0_UNK_1000 = 0x1000,
ERFLG0_UNK_400 = 0x400,
@ -441,6 +448,7 @@ public:
RFLG0_UNK_10000000 = 0x10000000,
RFLG0_UNK_8000000 = 0x8000000,
RFLG0_UNK_4000000 = 0x4000000,
RFLG0_UNK_2000000 = 0x2000000,
RFLG0_GRAB_PUT_START = 0x400000,
RFLG0_WOLF_GROWL = 0x200000,
RFLG0_UNK_80000 = 0x80000,

View File

@ -85,6 +85,8 @@ public:
/* 80073CEC */ void proc();
/* 80073D08 */ int request(fopAc_ac_c*, f32, f32, f32, s16, int);
fopAc_ac_c* getLookTarget() { return convPId(mLookTargetID); }
private:
u32 field_0x0;
s32 field_0x4;
@ -234,6 +236,10 @@ public:
param_5);
}
fopAc_ac_c* getLookTarget() {
return mLookTarget.getLookTarget();
}
void Init(fopAc_ac_c* param_0, u32 i_padNo) {
mpPlayer = param_0;
mPadNo = i_padNo;

View File

@ -193,7 +193,7 @@ public:
// inline dupe
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
bool i_ChkGroundHit() const { return m_flags & GROUND_HIT; }
u32 i_ChkGroundHit() const { return m_flags & GROUND_HIT; }
public:
/* 0x02C */ u32 m_flags;

View File

@ -2060,6 +2060,10 @@ inline void dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_hor
i_downDist, i_angle, param_5);
}
inline fopAc_ac_c* dComIfGp_att_getLookTarget() {
return dComIfGp_getAttention().getLookTarget();
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}

View File

@ -53,6 +53,7 @@ void dKy_actor_addcol_amb_set(s16 r, s16 g, s16 b, f32 factor);
void dKy_bg_addcol_amb_set(s16 r, s16 g, s16 b, f32 factor);
int dKy_WolfEyeLight_set(cXyz* param_0, f32 param_1, f32 param_2, f32 param_3,
GXColor* param_4, f32 param_5, u8 param_6, u8 param_7);
BOOL dKy_TeachWind_existence_chk();
struct LIGHT_INFLUENCE {
/* 0x00 */ cXyz mPosition;

View File

@ -3,6 +3,7 @@
#include "Z2AudioLib/Z2AudioMgr.h"
#include "Z2AudioLib/Z2EnvSeMgr.h"
#include "Z2AudioLib/Z2Creature.h"
class mDoAud_zelAudio_c : public Z2AudioMgr {
public:
@ -156,6 +157,12 @@ inline void mDoAud_setCameraGroupInfo(u8 param_0) {
Z2AudioMgr::getInterface()->setCameraGroupInfo(param_0);
}
inline void mDoAud_setLinkShieldType(s32 param_0, s32 param_1) {
if (Z2GetLink() != NULL) {
Z2GetLink()->setLinkShieldType(param_0, param_1);
}
}
inline void mDoAud_mEnvse_framework() {
g_mEnvSeMgr.framework();
}

View File

@ -450,7 +450,8 @@ struct mDoExt_MtxCalcAnmBlendTbl
}
}
/* 800D00BC */ J3DAnmTransform* getAnm(int);
J3DAnmTransform* getAnm(int i) { return mAnmRatio[i].getAnmTransform(); }
f32 getRatio(int i) { return mAnmRatio[i].getRatio(); }
/* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl() {}
/* 8000F26C */ virtual void calc();

View File

@ -212,6 +212,10 @@ public:
*/
/* 8000CF44 */ static void ZXYrotM(csXyz const& xyz);
static void quatS(const Quaternion* quat) {
MTXQuat(now, (PSQuaternion*)quat);
}
/* 8000CF7C */ static void quatM(Quaternion const*);
/* 8000D070 */ ~mDoMtx_stack_c() {} // inline

View File

@ -2150,7 +2150,7 @@ static int cM3d_2PlaneCrossLine(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB
/* 8026E8A0-8026E980 2691E0 00E0+00 0/0 1/1 0/0 .text
* cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec */
bool cM3d_3PlaneCrossPos(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, const cM3dGPla& pPlaneC,
BOOL cM3d_3PlaneCrossPos(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, const cM3dGPla& pPlaneC,
Vec* pVecOut) {
cM3dGLin lin;
if (!cM3d_2PlaneCrossLine(pPlaneA, pPlaneB, &lin)) {

File diff suppressed because it is too large Load Diff

View File

@ -1113,7 +1113,7 @@ void daNpc_Bou_c::setParam() {
}
/* 8096DF9C-8096E0EC 0010FC 0150+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_Bou_cFv */
void daNpc_Bou_c::checkChangeEvt() {
bool daNpc_Bou_c::checkChangeEvt() {
// NONMATCHING
}
@ -1138,7 +1138,7 @@ void daNpc_Bou_c::srchActors() {
}
/* 8096E27C-8096E31C 0013DC 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_Bou_cFv */
void daNpc_Bou_c::evtTalk() {
bool daNpc_Bou_c::evtTalk() {
// NONMATCHING
}
@ -1148,7 +1148,7 @@ bool daNpc_Bou_c::evtEndProc() {
}
/* 8096E324-8096E3EC 001484 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_Bou_cFv */
void daNpc_Bou_c::evtCutProc() {
bool daNpc_Bou_c::evtCutProc() {
// NONMATCHING
}
@ -1233,7 +1233,7 @@ void daNpc_Bou_c::setCollision() {
}
/* 8096EC6C-8096EC74 001DCC 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_Bou_cFv */
bool daNpc_Bou_c::drawDbgInfo() {
int daNpc_Bou_c::drawDbgInfo() {
return false;
}
@ -1678,13 +1678,13 @@ REGISTER_CTORS(0x809725A8, __sinit_d_a_npc_bou_cpp);
/* 809726D4-809727B4 005834 00E0+00 1/1 0/0 0/0 .text
* __ct__11daNpc_Bou_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
*/
daNpc_Bou_c::daNpc_Bou_c(daNpcT_faceMotionAnmData_c const* param_0,
/* daNpc_Bou_c::daNpc_Bou_c(daNpcT_faceMotionAnmData_c const* param_0,
daNpcT_motionAnmData_c const* param_1,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
daNpcT_evtData_c const* param_6, char** param_7) {
// NONMATCHING
}
} */
/* 809727B4-809727BC 005914 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__11daNpc_Bou_cFv */
s32 daNpc_Bou_c::getEyeballMaterialNo() {
@ -1703,19 +1703,19 @@ s32 daNpc_Bou_c::getNeckJointNo() {
/* 809727CC-809727D4 00592C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_Bou_cFv
*/
bool daNpc_Bou_c::getBackboneJointNo() {
s32 daNpc_Bou_c::getBackboneJointNo() {
return true;
}
/* 809727D4-809727E4 005934 0010+00 1/0 0/0 0/0 .text checkChangeJoint__11daNpc_Bou_cFi
*/
void daNpc_Bou_c::checkChangeJoint(int param_0) {
int daNpc_Bou_c::checkChangeJoint(int param_0) {
// NONMATCHING
}
/* 809727E4-809727F4 005944 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__11daNpc_Bou_cFi
*/
void daNpc_Bou_c::checkRemoveJoint(int param_0) {
int daNpc_Bou_c::checkRemoveJoint(int param_0) {
// NONMATCHING
}

View File

@ -1254,7 +1254,7 @@ void daNpc_Kolin_c::setParam() {
/* 80555118-8055523C 001218 0124+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Kolin_cFv
*/
void daNpc_Kolin_c::checkChangeEvt() {
bool daNpc_Kolin_c::checkChangeEvt() {
// NONMATCHING
}
@ -1274,12 +1274,12 @@ void daNpc_Kolin_c::srchActors() {
}
/* 80555448-805554E8 001548 00A0+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Kolin_cFv */
void daNpc_Kolin_c::evtTalk() {
bool daNpc_Kolin_c::evtTalk() {
// NONMATCHING
}
/* 805554E8-805555B0 0015E8 00C8+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Kolin_cFv */
void daNpc_Kolin_c::evtCutProc() {
bool daNpc_Kolin_c::evtCutProc() {
// NONMATCHING
}
@ -1517,7 +1517,7 @@ void daNpc_Kolin_c::setCollision() {
}
/* 80555CE4-80555CEC 001DE4 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Kolin_cFv */
bool daNpc_Kolin_c::drawDbgInfo() {
int daNpc_Kolin_c::drawDbgInfo() {
return false;
}
@ -2133,14 +2133,14 @@ REGISTER_CTORS(0x8055A25C, __sinit_d_a_npc_kolin_cpp);
/* 8055A3B8-8055A498 0064B8 00E0+00 1/1 0/0 0/0 .text
* __ct__13daNpc_Kolin_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
*/
daNpc_Kolin_c::daNpc_Kolin_c(daNpcT_faceMotionAnmData_c const* param_0,
/* daNpc_Kolin_c::daNpc_Kolin_c(daNpcT_faceMotionAnmData_c const* param_0,
daNpcT_motionAnmData_c const* param_1,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2,
int param_3,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4,
int param_5, daNpcT_evtData_c const* param_6, char** param_7) {
// NONMATCHING
}
} */
/* 8055A498-8055A4A0 006598 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__13daNpc_Kolin_cFv */
s32 daNpc_Kolin_c::getEyeballMaterialNo() {
@ -2160,19 +2160,19 @@ s32 daNpc_Kolin_c::getNeckJointNo() {
}
/* 8055A4B0-8055A4B8 0065B0 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__13daNpc_Kolin_cFv */
bool daNpc_Kolin_c::getBackboneJointNo() {
return true;
s32 daNpc_Kolin_c::getBackboneJointNo() {
return 1;
}
/* 8055A4B8-8055A4C8 0065B8 0010+00 1/0 0/0 0/0 .text checkChangeJoint__13daNpc_Kolin_cFi
*/
void daNpc_Kolin_c::checkChangeJoint(int param_0) {
int daNpc_Kolin_c::checkChangeJoint(int param_0) {
// NONMATCHING
}
/* 8055A4C8-8055A4D8 0065C8 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__13daNpc_Kolin_cFi
*/
void daNpc_Kolin_c::checkRemoveJoint(int param_0) {
int daNpc_Kolin_c::checkRemoveJoint(int param_0) {
// NONMATCHING
}
@ -2381,4 +2381,4 @@ static u8 data_8055B498[4];
static u8 data_8055B49C[4];
#pragma pop
/* 8055A77C-8055A77C 0001C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8055A77C-8055A77C 0001C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */