d_a_agbsw0 Almost OK

Biggest gaps are where it needs other actor classes, couple functions with regalloc issues too
This commit is contained in:
SuperDude88
2023-09-24 20:34:09 -04:00
parent 83e28a5fc2
commit 0220c2a510
12 changed files with 2553 additions and 231 deletions
+2
View File
@@ -142,6 +142,8 @@ public:
void setDoButtonQuake();
void stopDoButtonQuake(int);
void getRopePos() const;
BOOL checkConfuse() { return field_0x2a0 & 0x100; }
};
#endif /* D_A_PLAYER */
+1 -1
View File
@@ -472,7 +472,7 @@ public:
void simpleAnmPlay(J3DAnmBase*);
void setHandModel(daPy_lk_c::daPy_ANM);
void getAnmData(daPy_lk_c::daPy_ANM) const;
void checkGrabWeapon(int);
BOOL checkGrabWeapon(int);
void endDemoMode();
void setAuraEffect();
void setWaterRipple();
+48 -7
View File
@@ -179,6 +179,7 @@ public:
u8 getShipRoomId() { return mShipRoomId; }
void setAgb(fopAc_ac_c* i_agb) { mpAgb = (daAgb_c*)i_agb; }
daAgb_c* getAgb() { return mpAgb; }
void setIkadaShipBeforePos(Vec& i_pos) { mIkadaLinkPos = i_pos; }
void setIkadaShipId(u8 i_id) { mIkadaShipId = i_id; }
@@ -202,11 +203,12 @@ public:
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]; }
u8 getSelectItem(int idx) { return mEquippedItems[idx]; }
void setCurrentGrafPort(J2DOrthoGraph* i_graf) { mCurrentGrafPort = i_graf; }
void setCurrentWindow(dDlst_window_c* i_window) { mCurrentWindow = i_window; }
void setCurrentView(view_class* i_view) { mCurrentView = i_view; }
void setCurrentViewport(view_port_class* i_viewport) { mCurrentViewport = i_viewport; }
/* 0x0000 */ dBgS mBgS;
/* 0x1404 */ dCcS mCcS;
/* 0x3DF8 */ dADM mADM;
@@ -436,10 +438,6 @@ inline int dComIfGs_getRupee() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getRupee();
}
inline u8 dComIfGs_getMagic() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMagic();
}
inline u8 dComIfGs_getItem(int param_0) {
return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(param_0);
}
@@ -464,11 +462,19 @@ inline BOOL dComIfGs_isGetCollectMap(int i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_itemNo - 1);
}
inline u8 dComIfGs_getArrowNum() {
inline BOOL dComIfGs_isCollectMapTriforce(int i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getMap().isTriforce(i_itemNo - 1);
}
inline BOOL dComIfGs_isOpenCollectMap(int i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getMap().isOpenMap(i_itemNo - 1);
}
inline u32 dComIfGs_getArrowNum() {
return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getArrowNum();
}
inline u8 dComIfGs_getBombNum() {
inline u32 dComIfGs_getBombNum() {
return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getBombNum();
}
@@ -496,6 +502,10 @@ inline u8 dComIfGs_getEventReg(u16 i_reg) {
return g_dComIfG_gameInfo.save.getEvent().getEventReg(i_reg);
}
inline BOOL dComIfGs_isOceanSvBit(u8 i_grid, u16 i_bit) {
return g_dComIfG_gameInfo.save.getOcean().isOceanSvBit(i_grid, i_bit);
}
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.save.getEvent().isEventBit(id);
}
@@ -544,6 +554,9 @@ inline void dComIfGs_onSaveTbox(int i_stageNo, int i_no) {
g_dComIfG_gameInfo.save.getSavedata().getSave(i_stageNo).getBit().onTbox(i_no);
}
void dComIfGs_onStageTbox(int i_stageNo, int i_no);
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no);
BOOL dComIfGs_isStageBossEnemy(int i_stageNo);
inline BOOL dComIfGs_isStageBossEnemy() {
@@ -578,6 +591,10 @@ inline BOOL dComIfGs_isSymbol(u8 i_no) {
return g_dComIfG_gameInfo.save.getPlayer().getCollect().isSymbol(i_no);
}
inline BOOL dComIfGs_isDungeonItemBossKey() {
return g_dComIfG_gameInfo.save.getMemory().getBit().isDungeonItemBossKey();
}
inline void dComIfGs_onSwitch(int i_no, int i_roomNo) {
g_dComIfG_gameInfo.save.onSwitch(i_no, i_roomNo);
}
@@ -710,6 +727,10 @@ inline void dComIfGs_incGbaRupeeCount() {
g_dComIfG_gameInfo.save.getDan().incGbaRupeeCount();
}
inline u8 dComIfGs_checkBaitItem(u8 item) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().checkBaitItem(item);
}
inline u8 dComIfGs_checkBaitItemEmpty() {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().checkBaitItemEmpty();
}
@@ -722,14 +743,26 @@ inline u8 dComIfGs_getArrowMax() {
return g_dComIfG_gameInfo.save.getPlayer().getItemMax().getArrowNum();
}
inline u16 dComIfGs_getLife() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getLife();
}
inline u16 dComIfGs_getMaxLife() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMaxLife();
}
inline u8 dComIfGs_getMagic() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMagic();
}
inline u8 dComIfGs_getMaxMagic() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusA().getMaxMagic();
}
inline u8 dComIfGs_getKeyNum() {
return g_dComIfG_gameInfo.save.getMemory().getBit().getKeyNum();
}
u8 dComIfGs_checkGetItemNum(u8 i_itemNo);
/**
@@ -1036,6 +1069,10 @@ inline void dComIfGp_setAgb(fopAc_ac_c* i_agb) {
g_dComIfG_gameInfo.play.setAgb(i_agb);
}
inline daAgb_c* dComIfGp_getAgb() {
return g_dComIfG_gameInfo.play.getAgb();
}
inline daPy_py_c* daPy_getPlayerActorClass() {
return (daPy_py_c*)dComIfGp_getPlayer(0);
}
@@ -1092,6 +1129,10 @@ inline bool dComIfGp_checkPlayerStatus1(int param_0, u32 flag) {
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag);
}
inline u8 dComIfGp_getSelectItem(int idx) {
return g_dComIfG_gameInfo.play.getSelectItem(idx);
}
inline void dComIfGp_setCurrentGrafPort(J2DOrthoGraph* i_graf) {
g_dComIfG_gameInfo.play.setCurrentGrafPort(i_graf);
}
+1
View File
@@ -387,6 +387,7 @@ class sub_kankyo__class;
int dKy_getdaytime_hour();
int dKy_getdaytime_minute();
int dKy_get_dayofweek();
u32 dKy_moon_type_chk();
BOOL dKy_checkEventNightStop();
void dKy_set_nexttime(f32);
void dKy_Sound_set(cXyz i_pos, int param_1, unsigned int i_actorID, int param_3);
+1
View File
@@ -331,6 +331,7 @@ void dKyw_wether_proc();
void dKyw_rain_set(int);
void dKyw_wind_set();
void dKyw_wind_init();
int dKyw_get_windsdir();
void dKyw_pntwind_init();
void dKy_wave_chan_init();
f32 dKyw_get_wind_pow();
+4
View File
@@ -71,4 +71,8 @@ public:
static void mapBufferSendAGB(int);
};
inline void dMap_drawPoint(u8 param_1, f32 param_2, f32 param_3, f32 param_4, s8 param_5, s16 param_6, u8 param_7, u8 param_8, u8 param_9) {
dMap_c::drawPointSingle(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9);
}
#endif /* D_MAP_H */
+7 -4
View File
@@ -13,6 +13,7 @@ public:
int getRupee() const { return mRupee; }
u8 getMagic() { return mMagic; }
u8 getMaxMagic() { return mMaxMagic; }
u16 getLife() { return mLife; }
u16 getMaxLife() { return mMaxLife; }
/* 0x00 */ u16 mMaxLife;
@@ -114,8 +115,8 @@ public:
/* 80059894 */ void decTimer();
/* 800598D0 */ u16 getTimer();
u8 getArrowNum() const { return mArrowNum; }
u8 getBombNum() const { return mBombNum; }
u32 getArrowNum() const { return mArrowNum; }
u32 getBombNum() const { return mBombNum; }
/* 0x0 */ u16 mTimer;
/* 0x2 */ u8 field_0x2;
@@ -449,8 +450,8 @@ STATIC_ASSERT(sizeof(dSv_memBit_c) == 0x24);
class dSv_ocean_c {
public:
/* 8005C8E8 */ void init();
/* 8005C908 */ void onOceanSvBit(u8, u16);
/* 8005C9E8 */ BOOL isOceanSvBit(u8, u16);
/* 8005C908 */ void onOceanSvBit(u8 i_grid, u16 i_bit);
/* 8005C9E8 */ BOOL isOceanSvBit(u8 i_grid, u16 i_bit);
/* 0x0 */ u16 field_0x0[50];
};
@@ -614,6 +615,7 @@ public:
/* 8005D860 */ void init();
dSv_player_c& getPlayer() { return mPlayer; }
dSv_ocean_c& getOcean() { return mOcean; }
dSv_event_c& getEvent() { return mEvent; }
dSv_memory_c& getSave(int i_stageNo) { return mMemory[i_stageNo]; }
@@ -651,6 +653,7 @@ public:
dSv_save_c& getSavedata() { return mSavedata; }
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
dSv_ocean_c& getOcean() { return mSavedata.getOcean(); }
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
dSv_restart_c& getRestart() { return mRestart; }
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
+4 -6
View File
@@ -468,10 +468,10 @@ s32 fopAcM_createItem(cXyz* p_pos, int itemNo, int param_3, int roomNo, int para
int param_7, cXyz* p_scale);
void* fopAcM_fastCreateItem2(cXyz* p_pos, int itemNo, int param_3, int roomNo, int param_5,
csXyz* p_angle, cXyz* p_scale);
csXyz* p_angle, int, cXyz* p_scale);
void* fopAcM_fastCreateItem(cXyz* p_pos, int i_itemNo, int i_roomNo, csXyz* p_angle,
cXyz* p_scale, f32* p_speedF, f32* p_speedY, int param_8,
cXyz* p_scale, f32 p_speedF, f32 p_speedY, f32 param_8,
int param_9, createFunc p_createFunc);
s32 fopAcM_createBokkuri(u16, cXyz*, int, int, int, cXyz*, int, int);
@@ -537,13 +537,11 @@ inline f32 fopAcM_searchPlayerDistance(fopAc_ac_c* actor) {
s8 dComIfGp_getReverb(int roomNo);
inline void fopAcM_seStartCurrent(fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
s8 reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(actor));
mDoAud_seStart(sfxID, &actor->current.pos, param_2, reverb);
mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
}
inline void fopAcM_seStart(fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
s32 roomNo = fopAcM_GetRoomNo(actor);
mDoAud_seStart(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
mDoAud_seStart(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
}
extern "C" {
+2474 -205
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1598,7 +1598,7 @@ void daPy_lk_c::getAnmData(daPy_lk_c::daPy_ANM) const {
}
/* 8012894C-80128988 .text checkGrabWeapon__9daPy_lk_cFi */
void daPy_lk_c::checkGrabWeapon(int) {
BOOL daPy_lk_c::checkGrabWeapon(int) {
/* Nonmatching */
}
+1 -1
View File
@@ -2728,7 +2728,7 @@ void dKy_instant_rainchg() {
}
/* 801973B8-80197404 .text dKy_moon_type_chk__Fv */
int dKy_moon_type_chk() {
u32 dKy_moon_type_chk() {
int weekday = dKy_get_dayofweek();
if (dComIfGs_getTime() < 180.0f) {
+9 -6
View File
@@ -685,13 +685,16 @@ void mDoGaC_agbCom_c::mDoGaC_ReadResult() {
}
}
/* 8001BA34-8001BA68 .text BigLittleChange__FUl */
// NONMATCHING - not even close
u32 BigLittleChange(u32 param_0) {
u8 b1 = param_0 >> 8;
u8 b2 = param_0 >> 0x10;
u8 b3 = param_0 >> 0x18;
return (param_0 << 0x18) | (b1 << 0x10) | (b2 << 8) | b3;
u32 big = param_0;
u32 little;
reinterpret_cast<u8*>(&little)[0] = reinterpret_cast<u8*>(&big)[3];
reinterpret_cast<u8*>(&little)[1] = reinterpret_cast<u8*>(&big)[2];
reinterpret_cast<u8*>(&little)[2] = reinterpret_cast<u8*>(&big)[1];
reinterpret_cast<u8*>(&little)[3] = reinterpret_cast<u8*>(&big)[0];
return little;
}
/* 8001BAA0-8001BADC .text __dt__15mDoGaC_agbCom_cFv */