work on d_a_agb

This commit is contained in:
TakaRikka
2023-09-23 00:00:37 -07:00
parent 0b034a877e
commit ee401fb19f
25 changed files with 1484 additions and 261 deletions
@@ -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); }
+2 -2
View File
@@ -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*);
+1 -1
View File
@@ -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;
+186
View File
@@ -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 */
+6 -6
View File
@@ -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;
+40 -43
View File
@@ -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;
+52
View File
@@ -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 */
+2 -2
View File
@@ -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 {
+66 -3
View File
@@ -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 ===*/
+1 -1
View File
@@ -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);
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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(); }
+2 -2
View File
@@ -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" {
+1
View File
@@ -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
+1
View File
@@ -31,6 +31,7 @@ public:
/* 800164BC */ virtual s32 execute();
void* getMemAddress() const { return mData; }
s32 getMemSize() const { return mDataSize; }
private:
/* 0x14 */ u8 mMountDirection;
+3 -1
View File
@@ -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();
}
-5
View File
@@ -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 */
+1 -1
View File
@@ -9,6 +9,6 @@
/* 8024738C-80247418 .text __ct__11cBgS_GndChkFv */
cBgS_GndChk::cBgS_GndChk() {
m_pos = cXyz::Zero;
setActorPid(0xFFFFFFFF);
SetActorPid(0xFFFFFFFF);
mFlags = 2;
}
+2 -2
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+53 -2
View File
@@ -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(&center, &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 */
+2 -4
View File
@@ -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 */