mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-06 03:28:35 -04:00
work on d_a_agb
This commit is contained in:
@@ -35,7 +35,6 @@ public:
|
||||
JUTNameTab* getMaterialName() const { return mMaterialName; }
|
||||
|
||||
u16 getMaterialNum() const { return mMaterialNum; }
|
||||
bool isLocked() const { return field_0x1c == 1; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mMaterialNum;
|
||||
@@ -43,9 +42,9 @@ private:
|
||||
/* 0x08 */ J3DMaterial** mMaterialNodePointer;
|
||||
/* 0x0C */ JUTNameTab* mMaterialName;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ J3DTexture* mTexture;
|
||||
/* 0x18 */ JUTNameTab* mTextureName;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ J3DTexture* mTexture;
|
||||
/* 0x1C */ JUTNameTab* mTextureName;
|
||||
}; // Size: 0x20
|
||||
|
||||
#endif /* J3DMATERIALATTACH_H */
|
||||
|
||||
@@ -59,7 +59,6 @@ public:
|
||||
u16 checkBumpFlag() const { return mbHasBumpArray; }
|
||||
void setBumpFlag(u32 flag) { mbHasBumpArray = flag; }
|
||||
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
|
||||
bool isLocked() { return mMaterialTable.isLocked(); }
|
||||
void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); }
|
||||
void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); }
|
||||
void entryTexNoAnimator(J3DAnmTexPattern* anm) { mMaterialTable.entryTexNoAnimator(anm); }
|
||||
|
||||
@@ -16,9 +16,9 @@ public:
|
||||
void result_common(int, u32, u32*);
|
||||
void resultStatus_common(int, u32, u8*);
|
||||
void doJoyBoot(int, s32, s32, u8*, u32, JUTGba_Func, void*);
|
||||
void resultJoyBoot(int, u8*);
|
||||
int resultJoyBoot(int, u8*);
|
||||
void doInitProbe(int, JUTGba_Func, void*);
|
||||
void resultInitProbe(int, u32*);
|
||||
int resultInitProbe(int, u32*);
|
||||
void doProbe(int, JUTGba_Func, void*);
|
||||
BOOL resultProbe(int, u32*);
|
||||
void doReset(int, JUTGba_Func, void*);
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
void SetExtChk(cBgS_Chk&);
|
||||
bool ChkSameActorPid(unsigned int) const;
|
||||
|
||||
void setActorPid(u32 pid) { mActorPid = pid; }
|
||||
void SetActorPid(u32 pid) { mActorPid = pid; }
|
||||
u32 GetActorPid() const { return mActorPid; }
|
||||
void SetPolyPassChk(cBgS_PolyPassChk* p_chk) { mPolyPassChk = p_chk; }
|
||||
void SetGrpPassChk(cBgS_GrpPassChk* p_chk) { mGrpPassChk = p_chk; }
|
||||
|
||||
@@ -20,6 +20,7 @@ public:
|
||||
void SetNowY(f32 y) { mNowY = y; }
|
||||
const cXyz& GetPointP() { return m_pos; }
|
||||
u32 GetWallPrecheck() const { return mWallPrecheck; }
|
||||
void OffWall() { mFlags &= ~2; }
|
||||
|
||||
private:
|
||||
/* 0x24 */ cXyz m_pos;
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
#ifndef D_A_AGB_H
|
||||
#define D_A_AGB_H
|
||||
|
||||
#include "d/d_bg_s.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
|
||||
class daAgb_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daAgb_HIO_c();
|
||||
virtual ~daAgb_HIO_c() {}
|
||||
|
||||
/* 0x04 */ J3DGXColorS10 field_0x04[2];
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
};
|
||||
|
||||
class msg_class;
|
||||
class dMsgCtrl_c {
|
||||
public:
|
||||
int init(u16);
|
||||
int execute();
|
||||
~dMsgCtrl_c();
|
||||
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x04 */ u32 mMsgID;
|
||||
/* 0x08 */ msg_class* mpMsg;
|
||||
};
|
||||
|
||||
class daAgb_c : public fopAc_ac_c {
|
||||
public:
|
||||
void NameConv();
|
||||
int uploadInitCheck();
|
||||
int uploadPortCheckWait();
|
||||
int uploadSelect();
|
||||
int uploadJoyboot1();
|
||||
int uploadJoyboot2();
|
||||
int uploadMessageLoad();
|
||||
int uploadMessageLoad2();
|
||||
int uploadConnect();
|
||||
int uploadMessageSend();
|
||||
int uploadRetryWait();
|
||||
int uploadMsgEndWait();
|
||||
int uploadMsgEndTimer();
|
||||
void modeLoad();
|
||||
void modeLookAttention();
|
||||
u8 DungeonNoGet();
|
||||
void MapNoSet(u8, u8, u8);
|
||||
void onFree();
|
||||
void onHold();
|
||||
void offHold();
|
||||
void resetCursor(bool);
|
||||
bool FlashCheck();
|
||||
void FlagsRecv();
|
||||
void SwitchOn();
|
||||
void GbaItemUse();
|
||||
void Shopping();
|
||||
void FlagsSend(u32);
|
||||
void CursorMove(fopAc_ac_c*, u32);
|
||||
void modeMove();
|
||||
void modeDelete();
|
||||
int createHeap();
|
||||
|
||||
daAgb_c();
|
||||
|
||||
inline void modeProcCall();
|
||||
|
||||
static int mEffect;
|
||||
|
||||
struct daAgb_GbaFlg {
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u16 field_0x4;
|
||||
/* 0x6 */ u16 field_0x6;
|
||||
};
|
||||
static daAgb_GbaFlg mGbaFlg;
|
||||
|
||||
struct daAgb_Switch {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x1 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
u8 field_0x5[0x8 - 0x5];
|
||||
};
|
||||
static daAgb_Switch mSwitch;
|
||||
|
||||
struct daAgb_Item {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
};
|
||||
static daAgb_Item mItem;
|
||||
static u8 mShop;
|
||||
static u8 mItemBuy;
|
||||
static u8 DungeonNoTable[];
|
||||
|
||||
struct daAgb_Flags {
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5_0 : 1;
|
||||
/* 0x5 */ u8 field_0x5_1 : 1;
|
||||
/* 0x5 */ u8 field_0x5_2 : 1;
|
||||
/* 0x5 */ u8 field_0x5_3 : 3;
|
||||
/* 0x5 */ u8 field_0x5_6 : 1;
|
||||
/* 0x5 */ u8 field_0x5_7 : 1;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
/* 0x8 */ u8 field_0x8;
|
||||
/* 0x9 */ u8 field_0x9;
|
||||
/* 0xA */ u8 field_0xa;
|
||||
/* 0xB */ u8 field_0xb_0 : 1;
|
||||
/* 0xB */ u8 field_0xb_3 : 5;
|
||||
/* 0xB */ u8 field_0xb_6 : 1;
|
||||
/* 0xB */ u8 field_0xb_7 : 1;
|
||||
};
|
||||
|
||||
static daAgb_Flags mFlags;
|
||||
|
||||
typedef int (daAgb_c::*uploadFunc)();
|
||||
static uploadFunc uploadFuncTable[];
|
||||
|
||||
/* 0x290 */ request_of_phase_process_class mPhase;
|
||||
/* 0x298 */ J3DModel* mpModel;
|
||||
/* 0x29C */ mDoExt_brkAnm mBrk;
|
||||
/* 0x2B4 */ GXTexObj mTexObj;
|
||||
/* 0x2D4 */ dBgS_LinkCrrPos mCrrPos;
|
||||
/* 0x424 */ dBgS_LinkAcch mAcch;
|
||||
/* 0x5E8 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x628 */ f32 field_0x628;
|
||||
/* 0x62C */ f32 field_0x62c;
|
||||
/* 0x630 */ u16 field_0x630;
|
||||
/* 0x632 */ u16 field_0x632;
|
||||
/* 0x634 */ cXyz field_0x634;
|
||||
/* 0x640 */ int field_0x640;
|
||||
/* 0x648 */ u64 mPlayerName;
|
||||
/* 0x650 */ u32 field_0x650;
|
||||
/* 0x654 */ int field_0x654;
|
||||
/* 0x658 */ u16 field_0x658;
|
||||
/* 0x65A */ u16 field_0x65a;
|
||||
/* 0x65C */ u16 field_0x65c;
|
||||
/* 0x65E */ u16 field_0x65e;
|
||||
/* 0x660 */ u16 field_0x660;
|
||||
/* 0x662 */ u16 field_0x662;
|
||||
/* 0x664 */ u16 field_0x664;
|
||||
/* 0x666 */ u8 mPortNo;
|
||||
/* 0x667 */ u8 field_0x667[0x669 - 0x667];
|
||||
/* 0x669 */ u8 mMode;
|
||||
/* 0x66A */ u8 mUploadAction;
|
||||
/* 0x66B */ u8 field_0x66b;
|
||||
/* 0x66C */ u8 field_0x66c;
|
||||
/* 0x66D */ u8 field_0x66d;
|
||||
/* 0x66E */ u8 field_0x66e;
|
||||
/* 0x66F */ s8 field_0x66f;
|
||||
/* 0x670 */ u8 field_0x670;
|
||||
/* 0x671 */ u8 field_0x671;
|
||||
/* 0x672 */ u8 field_0x672;
|
||||
/* 0x673 */ u8 field_0x673;
|
||||
/* 0x674 */ u8 field_0x674;
|
||||
/* 0x675 */ u8 field_0x675;
|
||||
/* 0x676 */ u8 field_0x676;
|
||||
/* 0x677 */ u8 field_0x677;
|
||||
/* 0x678 */ u8 field_0x678;
|
||||
/* 0x679 */ u8 field_0x679;
|
||||
/* 0x67A */ bool field_0x67a;
|
||||
/* 0x67B */ u8 field_0x67b;
|
||||
/* 0x67C */ u8 field_0x67c;
|
||||
/* 0x67D */ u8 field_0x67d;
|
||||
/* 0x67E */ u8 field_0x67e;
|
||||
/* 0x67F */ u8 field_0x67f;
|
||||
/* 0x680 */ u8 field_0x680;
|
||||
/* 0x684 */ dPa_followEcallBack field_0x684;
|
||||
};
|
||||
|
||||
#endif /* D_A_AGB_H */
|
||||
@@ -90,14 +90,14 @@ public:
|
||||
/* 0x300 */ f32 field_0x300;
|
||||
/* 0x304 */ daPy_demo_c mDemo;
|
||||
|
||||
virtual MtxP getLeftHandMatrix();
|
||||
virtual MtxP getRightHandMatrix();
|
||||
virtual void getGroundY();
|
||||
virtual MtxP getLeftHandMatrix() = 0;
|
||||
virtual MtxP getRightHandMatrix() = 0;
|
||||
virtual void getGroundY() = 0;
|
||||
virtual void getTactMusic() const;
|
||||
virtual void getTactTimerCancel() const;
|
||||
virtual void checkPlayerGuard() const;
|
||||
virtual void getGrabMissActor();
|
||||
virtual void checkPlayerFly() const;
|
||||
virtual u32 checkPlayerFly() const;
|
||||
virtual void checkFrontRoll() const;
|
||||
virtual void checkBottleSwing() const;
|
||||
virtual void checkCutCharge() const;
|
||||
@@ -106,8 +106,8 @@ public:
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual f32 getBaseAnimeFrameRate();
|
||||
virtual void getBaseAnimeFrame();
|
||||
virtual f32 getBaseAnimeFrameRate() = 0;
|
||||
virtual void getBaseAnimeFrame() = 0;
|
||||
virtual void getItemID() const;
|
||||
virtual void getThrowBoomerangID() const;
|
||||
virtual void getGrabActorID() const;
|
||||
|
||||
@@ -97,11 +97,6 @@ public:
|
||||
/* 0x0 */ u8 field_0x0[0x28];
|
||||
};
|
||||
|
||||
class dPa_smokeEcallBack {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x20];
|
||||
};
|
||||
|
||||
class dPa_cutTurnEcallBack_c {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x10];
|
||||
@@ -189,11 +184,9 @@ public:
|
||||
void getBoomerangCatchPos() const;
|
||||
void getLineTopPos();
|
||||
void getHookshotRootPos() const;
|
||||
void getModelJointMtx(u16);
|
||||
void seStartOnlyReverb(u32);
|
||||
void seStartMapInfo(u32);
|
||||
void seStartSwordCut(u32);
|
||||
void voiceStart(u32);
|
||||
void itemButton() const;
|
||||
void itemTrigger() const;
|
||||
void getReadyItem();
|
||||
@@ -223,8 +216,6 @@ public:
|
||||
void setTextureScrollResource(J3DAnmTextureSRTKey*, int);
|
||||
void loadTextureScrollResource(u32, int);
|
||||
void playTextureAnime();
|
||||
void checkPlayerGuard() const;
|
||||
void setOutPower(f32, s16, int);
|
||||
void checkSightLine(f32, cXyz*);
|
||||
void setBootsModel(J3DModel**);
|
||||
void setItemModel();
|
||||
@@ -482,14 +473,7 @@ public:
|
||||
void setHandModel(daPy_lk_c::daPy_ANM);
|
||||
void getAnmData(daPy_lk_c::daPy_ANM) const;
|
||||
void checkGrabWeapon(int);
|
||||
void onDekuSpReturnFlg(u8);
|
||||
void changeTextureAnime(u16, u16, int);
|
||||
void setThrowDamage(cXyz*, s16, f32, f32, int);
|
||||
void setPlayerPosAndAngle(cXyz*, s16);
|
||||
void setPlayerPosAndAngle(cXyz*, csXyz*);
|
||||
void setPlayerPosAndAngle(float(*)[4]);
|
||||
void endDemoMode();
|
||||
void getBokoFlamePos(cXyz*);
|
||||
void setAuraEffect();
|
||||
void setWaterRipple();
|
||||
void setFootEffectType(int, cXyz*, int, int);
|
||||
@@ -708,7 +692,6 @@ public:
|
||||
void procCrawlEnd_init(int, s16, s16);
|
||||
void procCrawlEnd();
|
||||
void checkGrabSpecialHeavyState();
|
||||
void getGrabMissActor();
|
||||
void setWeaponBlur();
|
||||
void checkGrabBarrelSearch(int);
|
||||
void setGrabItemPos();
|
||||
@@ -835,27 +818,6 @@ public:
|
||||
void procRopeThrowCatch();
|
||||
void procRopeUpHang_init();
|
||||
void procRopeUpHang();
|
||||
void checkRopeReadyAnime() const;
|
||||
void checkRopeTag();
|
||||
void checkPlayerNoDraw();
|
||||
void getGroundY();
|
||||
MtxP getLeftHandMatrix();
|
||||
MtxP getRightHandMatrix();
|
||||
void checkPlayerFly() const;
|
||||
void checkFrontRoll() const;
|
||||
void checkBottleSwing() const;
|
||||
void checkCutCharge() const;
|
||||
void checkTactWait() const;
|
||||
f32 getBaseAnimeFrameRate();
|
||||
void getBaseAnimeFrame();
|
||||
void getItemID() const;
|
||||
void getThrowBoomerangID() const;
|
||||
void getGrabActorID() const;
|
||||
void checkGrabBarrel();
|
||||
void onFrollCrashFlg(u32);
|
||||
void getOldSpeedY();
|
||||
void checkComboCutTurn() const;
|
||||
void cancelChangeTextureAnime();
|
||||
void checkBoomerangAnime() const;
|
||||
void throwBoomerang();
|
||||
void returnBoomerang();
|
||||
@@ -886,7 +848,6 @@ public:
|
||||
void procBowMove_init();
|
||||
void procBowMove();
|
||||
void checkHookshotReturn();
|
||||
void setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
void setHookshotModel();
|
||||
void setHookshotSight();
|
||||
void freeHookshotItem();
|
||||
@@ -919,11 +880,8 @@ public:
|
||||
void checkEndTactMusic() const;
|
||||
void getTactMetronomeRate();
|
||||
void checkTactLastInput();
|
||||
void setTactZev(unsigned int, int, char*);
|
||||
void getTactTopPos(cXyz*);
|
||||
void getTactNormalWait() const;
|
||||
void getTactMusic() const;
|
||||
void getTactTimerCancel() const;
|
||||
void checkTactPlayMelody();
|
||||
void resetTactCount();
|
||||
void procTactWait_init(int);
|
||||
@@ -1043,6 +1001,44 @@ public:
|
||||
void procCutKesa();
|
||||
void checkNoControll() const;
|
||||
|
||||
virtual MtxP getLeftHandMatrix();
|
||||
virtual MtxP getRightHandMatrix();
|
||||
virtual void getGroundY();
|
||||
virtual void getTactMusic() const;
|
||||
virtual void getTactTimerCancel() const;
|
||||
virtual void checkPlayerGuard() const;
|
||||
virtual void getGrabMissActor();
|
||||
virtual u32 checkPlayerFly() const;
|
||||
virtual void checkFrontRoll() const;
|
||||
virtual void checkBottleSwing() const;
|
||||
virtual void checkCutCharge() const;
|
||||
virtual void getBokoFlamePos(cXyz*);
|
||||
virtual void checkTactWait() const;
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual f32 getBaseAnimeFrameRate();
|
||||
virtual void getBaseAnimeFrame();
|
||||
virtual void getItemID() const;
|
||||
virtual void getThrowBoomerangID() const;
|
||||
virtual void getGrabActorID() const;
|
||||
virtual void checkGrabBarrel();
|
||||
virtual void checkPlayerNoDraw();
|
||||
virtual void checkRopeTag();
|
||||
virtual void checkRopeReadyAnime() const;
|
||||
virtual void voiceStart(u32);
|
||||
virtual void setOutPower(f32, s16, int);
|
||||
virtual void onFrollCrashFlg(u32);
|
||||
virtual void getModelJointMtx(u16);
|
||||
virtual void getOldSpeedY();
|
||||
virtual void setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, s16);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, csXyz*);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setThrowDamage(cXyz*, s16, f32, f32, int);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime();
|
||||
|
||||
/* 0x0320 */ request_of_phase_process_class mPhsLoad;
|
||||
/* 0x0328 */ J3DModelData* mpModelData;
|
||||
/* 0x032C */ J3DModel* mpCLModel;
|
||||
@@ -1218,7 +1214,8 @@ public:
|
||||
/* 0x3532 */ s16 field_0x3532;
|
||||
/* 0x3534 */ u8 field_0x3534[0x3544 - 0x3534];
|
||||
/* 0x3544 */ s16 field_0x3544;
|
||||
/* 0x3546 */ u8 field_0x3546[0x354E - 0x3546];
|
||||
/* 0x3546 */ u8 field_0x3546[0x354C - 0x3546];
|
||||
/* 0x354C */ s16 field_0x354c;
|
||||
/* 0x354E */ s16 field_0x354e;
|
||||
/* 0x3550 */ u8 field_0x3550[0x3554 - 0x3550];
|
||||
/* 0x3554 */ s16 field_0x3554;
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_cyl.h"
|
||||
#include "d/d_bg_s_chk.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "global.h"
|
||||
|
||||
@@ -122,4 +126,52 @@ public:
|
||||
bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); }
|
||||
}; // Size: 0x1404
|
||||
|
||||
class dBgS_CrrPos : public cBgS_PolyInfo, public dBgS_Chk, public cBgS_Chk {
|
||||
public:
|
||||
dBgS_CrrPos();
|
||||
void CrrPos(dBgS&);
|
||||
|
||||
virtual ~dBgS_CrrPos() {}
|
||||
|
||||
void Set(cXyz* i_pos, cXyz* i_line, void* param_2, cXyz* param_3) {
|
||||
mpLine0 = i_line;
|
||||
pm_pos = i_pos;
|
||||
field_0x058 = param_2;
|
||||
SetActorPid(-1);
|
||||
field_0x3c = param_3->y;
|
||||
field_0x40 = param_3->z;
|
||||
}
|
||||
|
||||
void SetGndUpY(f32 param_0) { mOffsY2 = param_0; }
|
||||
|
||||
void ClrNoRoof() {
|
||||
mGndChk.OffWall();
|
||||
field_0x38 &= ~8;
|
||||
}
|
||||
|
||||
/* 0x038 */ u32 field_0x38;
|
||||
/* 0x03C */ f32 field_0x3c;
|
||||
/* 0x040 */ f32 field_0x40;
|
||||
/* 0x044 */ cXyz* pm_pos;
|
||||
/* 0x048 */ cXyz* mpLine0;
|
||||
/* 0x04C */ u8 field_0x04C[0x058 - 0x04C];
|
||||
/* 0x058 */ void* field_0x058;
|
||||
/* 0x05C */ f32 field_0x05c;
|
||||
/* 0x060 */ u8 field_0x060;
|
||||
/* 0x064 */ f32 mOffsY2;
|
||||
/* 0x068 */ f32 field_0x068;
|
||||
/* 0x06C */ cM3dGCyl mCyl0;
|
||||
/* 0x084 */ cM3dGCyl mCyl1;
|
||||
/* 0x09C */ cM3dGLin mLin;
|
||||
/* 0x0B8 */ cBgS_GndChk mGndChk;
|
||||
/* 0x0F8 */ cBgS_LinChk mLinChk;
|
||||
}; // Size: 0x150
|
||||
|
||||
class dBgS_LinkCrrPos : public dBgS_CrrPos {
|
||||
public:
|
||||
dBgS_LinkCrrPos();
|
||||
|
||||
virtual ~dBgS_LinkCrrPos() {}
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_H */
|
||||
@@ -194,9 +194,9 @@ STATIC_ASSERT(sizeof(dBgS_Acch) == 0x1C4);
|
||||
|
||||
class dBgS_LinkAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_LinkAcch() { /* SetLink(); */ }
|
||||
dBgS_LinkAcch() { SetLink(); }
|
||||
|
||||
/* 80140F30 */ virtual ~dBgS_LinkAcch();
|
||||
/* 80140F30 */ virtual ~dBgS_LinkAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_ObjAcch : public dBgS_Acch {
|
||||
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
s8 getPlayerCameraID(int idx) { return mCurCamera[idx]; }
|
||||
|
||||
int getItemRupeeCount() { return mItemRupeeCount; }
|
||||
void setItemRupeeCount(int count) { mItemRupeeCount += count; }
|
||||
void setItemRupeeCount(s32 count) { mItemRupeeCount += count; }
|
||||
void setMessageCountNumber(s16 num) { mMsgCountNumber = num; }
|
||||
|
||||
void setLkDemoAnmArchive(JKRArchive* i_arc) { mpLkDArc = i_arc; }
|
||||
@@ -189,7 +189,17 @@ public:
|
||||
s32 getTimerMode() { return mTimerInfo.mTimerMode; }
|
||||
|
||||
s16 getItemMagicCount() { return mItemMagicCount; }
|
||||
void setItemMagicCount(s16 magic) { mItemMagicCount = magic; }
|
||||
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
|
||||
|
||||
void setItemLifeCount(f32 num) {
|
||||
mItemLifeCount += num;
|
||||
}
|
||||
|
||||
u8 checkMesgCancelButton() { return field_0x4949; }
|
||||
|
||||
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[param_0][i] |= flag; }
|
||||
void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[param_0][i] &= ~flag; }
|
||||
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[param_0][i]; }
|
||||
|
||||
/* 0x0000 */ dBgS mBgS;
|
||||
/* 0x1404 */ dCcS mCcS;
|
||||
@@ -572,6 +582,10 @@ inline BOOL dComIfGs_isSwitch(s32 i_no, s32 i_roomNo) {
|
||||
return g_dComIfG_gameInfo.save.isSwitch(i_no, i_roomNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_revSwitch(int i_no, int i_roomNo) {
|
||||
g_dComIfG_gameInfo.save.revSwitch(i_no, i_roomNo);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onItem(int bitNo, int roomNo) {
|
||||
g_dComIfG_gameInfo.save.onItem(bitNo, roomNo);
|
||||
}
|
||||
@@ -676,6 +690,38 @@ inline void dComIfGs_setWindX(s16 i_windX) {
|
||||
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().setWindX(i_windX);
|
||||
}
|
||||
|
||||
inline const char* dComIfGs_getPlayerName() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerInfo().getPlayerName();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getGbaRupeeCount() {
|
||||
return g_dComIfG_gameInfo.save.getDan().getGbaRupeeCount();
|
||||
}
|
||||
|
||||
inline void dComIfGs_incGbaRupeeCount() {
|
||||
g_dComIfG_gameInfo.save.getDan().incGbaRupeeCount();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_checkBaitItemEmpty() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().checkBaitItemEmpty();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getBombMax() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getItemMax().getBombNum();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getArrowMax() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getItemMax().getArrowNum();
|
||||
}
|
||||
|
||||
inline u16 dComIfGs_getMaxLife() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMaxLife();
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getMaxMagic() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMaxMagic();
|
||||
}
|
||||
|
||||
/**
|
||||
* === PLAY ===
|
||||
*/
|
||||
@@ -996,10 +1042,14 @@ inline int dComIfGp_getItemRupeeCount() {
|
||||
return g_dComIfG_gameInfo.play.getItemRupeeCount();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setItemRupeeCount(int count) {
|
||||
inline void dComIfGp_setItemRupeeCount(s32 count) {
|
||||
g_dComIfG_gameInfo.play.setItemRupeeCount(count);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setItemLifeCount(f32 amount) {
|
||||
g_dComIfG_gameInfo.play.setItemLifeCount(amount);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setMessageCountNumber(s16 num) {
|
||||
g_dComIfG_gameInfo.play.setMessageCountNumber(num);
|
||||
}
|
||||
@@ -1016,6 +1066,19 @@ inline void dComIfGp_setItemMagicCount(s16 magic) {
|
||||
g_dComIfG_gameInfo.play.setItemMagicCount(magic);
|
||||
}
|
||||
|
||||
inline u8 dComIfGp_checkMesgCancelButton() {
|
||||
return g_dComIfG_gameInfo.play.checkMesgCancelButton();
|
||||
}
|
||||
|
||||
inline bool dComIfGp_checkPlayerStatus0(int param_0, u32 flag) {
|
||||
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
inline bool dComIfGp_checkPlayerStatus1(int param_0, u32 flag) {
|
||||
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* === EVENT ===*/
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
s16 getEventIdx(const char*, u8);
|
||||
void order(s16);
|
||||
void startCheck(s16);
|
||||
void startCheckOld(const char*);
|
||||
BOOL startCheckOld(const char*);
|
||||
BOOL endCheck(s16);
|
||||
BOOL endCheckOld(const char*);
|
||||
int getMyStaffId(const char*, fopAc_ac_c*, int);
|
||||
|
||||
@@ -297,7 +297,8 @@ struct KAMOME_EFF {
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ u8 field_0x18[0x1E - 0x18];
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ s16 field_0x1c;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
};
|
||||
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ class dMap_c {
|
||||
public:
|
||||
static void create();
|
||||
void isEnableEnlargementScroll();
|
||||
void isEnableDispMap();
|
||||
static bool isEnableDispMap();
|
||||
void getKindMapType();
|
||||
static void remove();
|
||||
void setImage(int, int, f32);
|
||||
@@ -17,7 +17,7 @@ public:
|
||||
void mapDrawFrame(u8);
|
||||
void mapDrawEnlargementSize(f32, f32, f32, f32, u8);
|
||||
void mapDrawRealSize(f32, f32, u8);
|
||||
void mapAGBSendIslandData();
|
||||
static void mapAGBSendIslandData();
|
||||
void setPlayerStayAgbMapTypeNow(f32, f32);
|
||||
void agbMapNoSet(u8, u8);
|
||||
void agbMapNoSetCall();
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
void drawPointMain(u8, u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void drawPointAgb(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void getTypeAgbGcFromTypeAcs(u8, u8*, u8*);
|
||||
void drawPointSingle(u8, f32, f32, f32, s8, s16, u8, u8, u8);
|
||||
static void drawPointSingle(u8, f32, f32, f32, s8, s16, u8, u8, u8);
|
||||
void drawActorPointMiniMap(fopAc_ac_c*);
|
||||
void mapBufferSendAGB_commonCursor();
|
||||
void mapBufferSendAGB_ocean();
|
||||
|
||||
+12
-1
@@ -12,6 +12,8 @@ public:
|
||||
u8 getWalletSize() { return mWalletSize; }
|
||||
int getRupee() const { return mRupee; }
|
||||
u8 getMagic() { return mMagic; }
|
||||
u8 getMaxMagic() { return mMaxMagic; }
|
||||
u16 getMaxLife() { return mMaxLife; }
|
||||
|
||||
/* 0x00 */ u16 mMaxLife;
|
||||
/* 0x02 */ u16 mLife;
|
||||
@@ -128,6 +130,9 @@ class dSv_player_item_max_c {
|
||||
public:
|
||||
/* 800598D8 */ void init();
|
||||
|
||||
u8 getArrowNum() const { return mArrowNum; }
|
||||
u8 getBombNum() const { return mBombNum; }
|
||||
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 mArrowNum;
|
||||
/* 0x2 */ u8 mBombNum;
|
||||
@@ -260,6 +265,8 @@ class dSv_player_info_c {
|
||||
public:
|
||||
/* 8005BE84 */ void init();
|
||||
|
||||
const char* getPlayerName() const { return mPlayerName; }
|
||||
|
||||
/* 0x00 */ u8 field_0x0[0x10];
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x10 */ u16 field_0x12;
|
||||
@@ -492,8 +499,11 @@ public:
|
||||
/* 8005CD60 */ BOOL isSwitch(int);
|
||||
/* 8005CE10 */ BOOL revSwitch(int);
|
||||
|
||||
u8 getGbaRupeeCount() { return mGbaRupeeCount; }
|
||||
void incGbaRupeeCount() { mGbaRupeeCount++; }
|
||||
|
||||
/* 0x0 */ s8 mStageNo;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x1 */ u8 mGbaRupeeCount;
|
||||
/* 0x4 */ u32 mSwitch[2];
|
||||
}; // Size: 0xC
|
||||
|
||||
@@ -645,6 +655,7 @@ public:
|
||||
dSv_restart_c& getRestart() { return mRestart; }
|
||||
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
|
||||
dSv_memory_c& getMemory() { return mMemory; }
|
||||
dSv_danBit_c& getDan() { return mDan; }
|
||||
dSv_zone_c& getZone(int id) { return mZone[id]; }
|
||||
|
||||
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
|
||||
|
||||
@@ -548,8 +548,8 @@ inline void fopAcM_seStartCurrent(fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
}
|
||||
|
||||
inline void fopAcM_seStart(fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
s8 roomNo = fopAcM_GetRoomNo(actor);
|
||||
// mDoAud_seStart(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
|
||||
s32 roomNo = fopAcM_GetRoomNo(actor);
|
||||
mDoAud_seStart(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
|
||||
@@ -67,5 +67,6 @@ inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3
|
||||
}
|
||||
|
||||
u32 fopMsgM_searchMessageNumber(u32);
|
||||
void fopMsgM_messageSendOn();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,6 +31,7 @@ public:
|
||||
/* 800164BC */ virtual s32 execute();
|
||||
|
||||
void* getMemAddress() const { return mData; }
|
||||
s32 getMemSize() const { return mDataSize; }
|
||||
|
||||
private:
|
||||
/* 0x14 */ u8 mMountDirection;
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
int mDoGaC_SendEntry(u8, u32);
|
||||
int mDoGaC_SendStatusCheck(u8);
|
||||
int mDoGaC_SendEndCheck(u8);
|
||||
bool mDoGaC_RecvStatusCheck(u8);
|
||||
BOOL mDoGaC_RecvStatusCheck(u8);
|
||||
void mDoGaC_DataStatusReset(u8);
|
||||
int mDoGaC_StatusSendSet(u8);
|
||||
void mDoGaC_ProbeCheck0();
|
||||
@@ -96,6 +96,8 @@ public:
|
||||
extern mDoGaC_agbCom_c g_mDoGaC_gbaCom;
|
||||
extern mDoGaC_DataManag_c TestDataManager[16];
|
||||
|
||||
u32 BigLittleChange(u32);
|
||||
|
||||
inline u8 mDoGaC_getPortNo() {
|
||||
return g_mDoGaC_gbaCom.getPortNo();
|
||||
}
|
||||
|
||||
@@ -44,9 +44,4 @@ u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
|
||||
GXTlutObj* o_tlutObj);
|
||||
void mDoLib_pos2camera(Vec* src, Vec* dst);
|
||||
|
||||
// was causing redefinition issues
|
||||
//inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
|
||||
// return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
|
||||
//}
|
||||
|
||||
#endif /* M_DO_M_DO_LIB_H */
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
/* 8024738C-80247418 .text __ct__11cBgS_GndChkFv */
|
||||
cBgS_GndChk::cBgS_GndChk() {
|
||||
m_pos = cXyz::Zero;
|
||||
setActorPid(0xFFFFFFFF);
|
||||
SetActorPid(0xFFFFFFFF);
|
||||
mFlags = 2;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ void cBgS_LinChk::ct() {
|
||||
mLin.mStart = zero;
|
||||
mLin.mEnd = zero;
|
||||
field_0x40 = zero;
|
||||
setActorPid(-1);
|
||||
SetActorPid(-1);
|
||||
field_0x4c = 0;
|
||||
mFrontFlag = 1;
|
||||
mBackFlag = 0;
|
||||
@@ -23,7 +23,7 @@ void cBgS_LinChk::Set2(cXyz* pStart, cXyz* pEnd, unsigned int actorPid) {
|
||||
mLin.mStart.set(*pStart);
|
||||
mLin.mEnd.set(*pEnd);
|
||||
field_0x40 = *pEnd;
|
||||
setActorPid(actorPid);
|
||||
SetActorPid(actorPid);
|
||||
field_0x4c &= ~0x10;
|
||||
ClearPi();
|
||||
}
|
||||
|
||||
+1042
-176
File diff suppressed because it is too large
Load Diff
+53
-2
@@ -7,7 +7,9 @@
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_kankyo.h"
|
||||
#include "d/d_kankyo_wether.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
|
||||
/* 8008AA30-8008AB3C .text vectle_calc__FP10DOUBLE_POSP4cXyz */
|
||||
void vectle_calc(DOUBLE_POS* i_pos, cXyz* o_out) {
|
||||
@@ -93,7 +95,15 @@ void dKyr_kamome_move() {
|
||||
|
||||
/* 8008B44C-8008B504 .text dKyr_wind_init__Fv */
|
||||
void dKyr_wind_init() {
|
||||
/* Nonmatching */
|
||||
g_env_light.mpWind->mbHasCustomWindPower = false;
|
||||
g_env_light.mpWind->field_0x759 = 0;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
g_env_light.mpWind->mKamomeEff[i].field_0x1e = 0;
|
||||
g_env_light.mpWind->mKamomeEff[i].field_0x18 = 0.0f;
|
||||
g_env_light.mpWind->mKamomeEff[i].field_0x1c = cM_rndF(1800.0f);
|
||||
g_env_light.mpWind->mKamomeEff[i].mpBaseEmitter = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8008B504-8008C4BC .text dKyr_wind_move__Fv */
|
||||
@@ -102,8 +112,49 @@ void dKyr_wind_move() {
|
||||
}
|
||||
|
||||
/* 8008C624-8008C888 .text dKyr_lenzflare_move__Fv */
|
||||
// NONMATCHING
|
||||
void dKyr_lenzflare_move() {
|
||||
/* Nonmatching */
|
||||
dKankyo_sun_Packet* sun_p = g_env_light.mpSunPacket;
|
||||
dKankyo_sunlenz_Packet* lenz_p = g_env_light.mpSunlenzPacket;
|
||||
camera_class* camera_p = dComIfGp_getCamera(0);
|
||||
|
||||
if (!(g_env_light.mpSunPacket->mVisibility < 0.0001f)) {
|
||||
cXyz eyeVect;
|
||||
dKy_set_eyevect_calc(dComIfGp_getCamera(0), &eyeVect, 7200.0005f, 7200.0005f);
|
||||
|
||||
cXyz sunDirSmth;
|
||||
dKyr_get_vectle_calc(&eyeVect, sun_p->mPos, &sunDirSmth);
|
||||
lenz_p->mPositions[0] = sun_p->mPos[0];
|
||||
lenz_p->mPositions[1] = sun_p->mPos[0];
|
||||
|
||||
cXyz projected;
|
||||
mDoLib_project(lenz_p->mPositions, &projected);
|
||||
|
||||
cXyz center;
|
||||
center.x = 320.0f;
|
||||
center.y = 240.0f;
|
||||
center.z = 0.0f;
|
||||
|
||||
cXyz vectle;
|
||||
dKyr_get_vectle_calc(¢er, &projected, &vectle);
|
||||
s16 angle = cM_atan2s(vectle.x, vectle.y);
|
||||
|
||||
lenz_p->mAngleDeg = angle;
|
||||
lenz_p->mAngleDeg *= 0.005493164f;
|
||||
lenz_p->mAngleDeg += 180.0f;
|
||||
|
||||
cXyz camFwd;
|
||||
dKyr_get_vectle_calc(&camera_p->mLookat.mEye, &camera_p->mLookat.mCenter, &camFwd);
|
||||
|
||||
f32 var_f4 = sunDirSmth.abs(camFwd);
|
||||
var_f4 = (var_f4 * 350.0f) + 250.0f;
|
||||
|
||||
for (int i = 2; i < 8; i++) {
|
||||
lenz_p->mPositions[i].x = sun_p->mPos[0].x - i * sunDirSmth.x * var_f4;
|
||||
lenz_p->mPositions[i].y = sun_p->mPos[0].y - i * sunDirSmth.y * var_f4;
|
||||
lenz_p->mPositions[i].z = sun_p->mPos[0].z - i * sunDirSmth.z * var_f4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 8008C888-8008C8B8 .text dKyr_moon_arrival_check__Fv */
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
mDoGaC_agbCom_c g_mDoGaC_gbaCom;
|
||||
mDoGaC_DataManag_c TestDataManager[16];
|
||||
|
||||
static u32 BigLittleChange(u32);
|
||||
|
||||
/* 8001A498-8001A4C0 .text ProbeCheck_0__FP11JUTGbaParamPv */
|
||||
void ProbeCheck_0(JUTGbaParam*, void*) {
|
||||
g_mDoGaC_gbaCom.mDoGaC_ProbeCheck0();
|
||||
@@ -358,8 +356,8 @@ int mDoGaC_agbCom_c::mDoGaC_SendEndCheck(u8 param_0) {
|
||||
}
|
||||
|
||||
/* 8001ADE4-8001AE04 .text mDoGaC_RecvStatusCheck__15mDoGaC_agbCom_cFUc */
|
||||
bool mDoGaC_agbCom_c::mDoGaC_RecvStatusCheck(u8 param_0) {
|
||||
return field_0x110[param_0].field_0x4 == 8;
|
||||
BOOL mDoGaC_agbCom_c::mDoGaC_RecvStatusCheck(u8 param_0) {
|
||||
return field_0x110[param_0].field_0x4 == 8 ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8001AE04-8001AE44 .text mDoGaC_DataStatusReset__15mDoGaC_agbCom_cFUc */
|
||||
|
||||
Reference in New Issue
Block a user