d_meter_map / some d_a_alink

This commit is contained in:
TakaRikka
2021-12-27 05:15:35 -08:00
parent 2074bd72d9
commit 38037ea1a0
38 changed files with 1748 additions and 1704 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ public:
operator u32() const { return this->mId; }
void operator=(JAISoundID const&);
JAISoundID(u32 pId);
JAISoundID(u32 pId) { mId = pId; };
JAISoundID(JAISoundID const& other);
+4
View File
@@ -57,4 +57,8 @@ public:
STATIC_ASSERT(sizeof(Z2AudioMgr) == 0x138C);
inline Z2AudioMgr* Z2GetAudioMgr() {
return Z2AudioMgr::getInterface();
}
#endif /* Z2AUDIOMGR_H */
+5 -110
View File
@@ -452,7 +452,7 @@ public:
/* 800A1F90 */ void setNeckAngle();
/* 800A2198 */ bool commonLineCheck(cXyz*, cXyz*);
/* 800A21E0 */ static s16 getMoveBGActorName(cBgS_PolyInfo&, int);
/* 800A2280 */ void checkGoronRide();
/* 800A2280 */ fopAc_ac_c* checkGoronRide();
/* 800A22E8 */ void setMoveSlantAngle();
/* 800A2710 */ void setArmMatrix();
/* 800A29DC */ void setFootMatrix();
@@ -462,7 +462,7 @@ public:
/* 800A39B8 */ void handBgCheck();
/* 800A3C8C */ JKRHeap* setItemHeap();
/* 800A3CE4 */ void setIdxMask(u16*, u16*);
/* 800A3D0C */ void getAnimeResource(daPy_anmHeap_c*, u16, u32);
/* 800A3D0C */ void* getAnimeResource(daPy_anmHeap_c*, u16, u32);
/* 800A3D7C */ J3DModel* initModel(J3DModelData*, u32, u32);
/* 800A3E30 */ void initModel(u16, u32);
/* 800A3E98 */ void initModelEnv(u16, u32);
@@ -653,7 +653,7 @@ public:
/* 800B9580 */ void swordUnequip();
/* 800B9640 */ void itemEquip(u16);
/* 800B96A4 */ void itemUnequip(u16, f32);
/* 800B97EC */ void checkFastUnequip();
/* 800B97EC */ bool checkFastUnequip();
/* 800B983C */ void allUnequip(int);
/* 800B994C */ BOOL checkItemChangeFromButton();
/* 800B9D2C */ BOOL checkNextActionFromButton();
@@ -2318,7 +2318,7 @@ public:
bool checkFisingRodLure() const { return mEquipItem == 0x105; }
bool doTrigger() const { return mItemTrigger & 0x10; }
u32 getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; }
bool checkInputOnR() const { return field_0x33ac <= 0.05f; }
bool checkInputOnR() const { return field_0x33ac > 0.05f; }
static int getSightBti() { return 0x5B; }
bool checkBoomerangChargeEndWait() const {
return mEquipItem != 0x102 && checkBoomerangAnime();
@@ -2331,6 +2331,7 @@ public:
field_0x2fa3 = 0;
field_0x2844.clearData();
}
s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); }
BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; }
@@ -4356,112 +4357,6 @@ public:
static daAlinkHIO_hookshot_c1 const m;
};
class daHorseRein_c {
private:
/* 0x00 */ cXyz* field_0x0[2];
/* 0x08 */ int field_0x8[2];
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ cXyz field_0x1c;
}; // Size: 0x28
class daHorseFootData_c {
private:
/* 0x0 */ u8 field_0x0[0xE4];
}; // Size: 0xE4
class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
/* 0x010 */ MOVE_ACCEPT = 0x10,
/* 0x080 */ RIDE_RUN_FLG = 0x80,
/* 0x100 */ CUT_TURN_CANCEL = 0x100,
};
enum daHorse_RFLG0 {
/* 0x02 */ ENEMY_SEARCH = 2,
/* 0x08 */ LASH_DASH_START = 8,
/* 0x10 */ TURN_STAND = 0x10,
/* 0x40 */ TURN_STAND_CAMERA = 0x40,
};
enum daHorse_FLG0 {
/* 0x00000020 */ RODEO_LEFT = 0x20,
/* 0x00000040 */ RIDE_START_FLG = 0x40,
/* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000,
/* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000,
/* 0x80000000 */ RODEO_MODE = 0x80000000
};
fopAc_ac_c* getZeldaActor();
bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; }
bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; }
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; }
bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; }
private:
/* 0x0568 */ u8 field_0x568[8];
/* 0x0570 */ J3DModel* field_0x570;
/* 0x0574 */ void* field_0x574;
/* 0x0578 */ J3DFrameCtrl field_0x578;
/* 0x058C */ int field_0x58c;
/* 0x0590 */ u8 field_0x590[4];
/* 0x0594 */ mDoExt_AnmRatioPack field_0x594[3];
/* 0x05AC */ void* field_0x5ac;
/* 0x05B0 */ daPy_frameCtrl_c field_0x5b0[3];
/* 0x05F8 */ u8 field_0x5f8[4];
/* 0x05FC */ dBgS_AcchCir field_0x5fc[3];
/* 0x06BC */ dBgS_Acch field_0x6bc;
/* 0x0894 */ dCcD_Stts field_0x894;
/* 0x08D0 */ dBgS_HorseLinChk field_0x8d0;
/* 0x0940 */ dCcD_Cyl field_0x940[3];
/* 0x0CF4 */ dCcD_Cyl field_0xcf4;
/* 0x0E30 */ dCcD_Cyl field_0xe30;
/* 0x0F6C */ dCcD_Sph field_0xf6c;
/* 0x10A4 */ Z2CreatureRide field_0x10a4;
/* 0x1140 */ u8 field_0x1140[0x10];
/* 0x1150 */ daHorseRein_c field_0x1150[3];
/* 0x11C8 */ u8 field_0x11c8[0x40];
/* 0x1208 */ dMsgFlow_c field_0x1208;
/* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep;
/* 0x125C */ u8 field_0x125c[0xC8];
/* 0x1324 */ daHorseFootData_c mFootData[4];
/* 0x16B4 */ u8 field_0x16b4;
/* 0x16B5 */ u8 field_0x16b5[3];
/* 0x16B8 */ u8 field_0x16b8;
/* 0x16B9 */ u8 field_0x16b9[2];
/* 0x16BB */ u8 mRodeoPointCnt;
/* 0x16BC */ u8 field_0x16bc[0x36];
/* 0x16F2 */ s16 mAimNeckAngleY;
/* 0x16F4 */ u8 field_0x16f4[0xA];
/* 0x16FC */ s16 mDemoMoveAngle;
/* 0x16FE */ u8 field_0x16fe[4];
/* 0x1702 */ s16 field_0x1702;
/* 0x1704 */ u8 field_0x1704[2];
/* 0x1706 */ s16 mCowHitAngle;
/* 0x1708 */ s16 mCowHit;
/* 0x170A */ u8 field_0x170a[0x1E];
/* 0x1728 */ int field_0x1728;
/* 0x172C */ u8 field_0x172c[0x14];
/* 0x1740 */ u32 field_0x1740;
/* 0x1744 */ u32 mStateFlg0;
/* 0x1748 */ u32 mResetStateFlg0;
/* 0x174C */ u32 mEndResetStateFlg0;
/* 0x1750 */ f32 mMorfFrame;
/* 0x1754 */ u8 field_0x1754[0x14];
/* 0x1768 */ f32 field_0x1768;
/* 0x176C */ f32 field_0x176c;
/* 0x1770 */ f32 field_0x1770;
/* 0x1774 */ u8 field_0x1774[0x14];
/* 0x1788 */ f32 mDemoStickR;
/* 0x178C */ f32 mNormalMaxSpeedF;
/* 0x1790 */ f32 mLashMaxSpeedF;
/* 0x1794 */ u8 field_0x1794[0x30];
/* 0x17C4 */ cXyz mDemoPos0;
};
class mDoExt_morf_c;
class daMidna_c : public fopAc_ac_c {
+1 -23
View File
@@ -1,31 +1,9 @@
#ifndef D_A_D_A_HORSE_STATIC_H
#define D_A_D_A_HORSE_STATIC_H
#include "Z2AudioLib/Z2Creature.h"
#include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h"
#include "dolphin/types.h"
class e_wb_class {
public:
BOOL checkWait(void);
void setPlayerRideNow(void);
void setPlayerRide(void);
void getOff(void);
BOOL checkDownDamage(void);
u8 checkNormalRideMode(void) const;
void setRunRideMode(void);
private:
u8 unk0[0x5b4];
s16 unk1460;
u8 unk1462[0x36];
Z2CreatureRide mZ2Ride;
u8 unk1673[7];
s16 unk1680;
u16 unk1682;
u8 unk1684[0x2a];
u16 unk1726;
};
class daTagHstop_c {
static daTagHstop_c* m_top;
};
+16 -1
View File
@@ -64,6 +64,7 @@ public:
void resetPriIdx() { mPriIdx = 0xffff; }
void resetArcNo() { mArcNo = 0xffff; }
bool checkNoSetArcNo() const { return mArcNo == 0xFFFF; }
void setBufferSize(u32 size) { mBufferSize = size; }
private:
/* 0x00 */ u16 mIdx;
@@ -212,6 +213,7 @@ public:
enum daPy_ERFLG0 {
ERFLG0_UNK_8000000 = 0x8000000,
ERFLG0_UNK_1000000 = 0x1000000,
ERFLG0_UNK_800000 = 0x800000,
ERFLG0_UNK_100000 = 0x100000,
ERFLG0_UNK_2 = 2,
ERFLG0_UNK_1 = 1,
@@ -221,9 +223,13 @@ public:
UNK_FORCE_PUT_POS = 0x2000,
ERFLG1_UNK_1 = 1,
};
enum daPy_ERFLG2 {};
enum daPy_ERFLG2 {
ERFLG2_UNK_100 = 0x100,
};
enum daPy_RFLG0 {
RFLG0_UNK_8000000 = 0x8000000,
RFLG0_UNK_4000 = 0x4000,
ENEMY_ATTENTION_LOCK = 0x1000,
RFLG0_UNK_80 = 0x80,
RFLG0_UNK_40 = 0x40,
RFLG0_UNK_2 = 0x2,
@@ -316,6 +322,11 @@ public:
int checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
int checkMagneBootsOn() const;
void changeDemoPos0(cXyz const*);
void changeDemoMode(u32, int, int, s16);
void changeDemoParam2(s16);
void cancelOriginalDemo();
void changeOriginalDemo();
virtual cXyz* getMidnaAtnPos() const;
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
@@ -494,10 +505,13 @@ public:
}
return sumouCameraMode;
}
bool i_getSumouMode() const { return getSumouCameraMode(); }
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); }
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); }
bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); }
// some functions use these function as an inline
// is there a better way to handle this?
@@ -515,6 +529,7 @@ public:
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; }
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; }
+4
View File
@@ -53,6 +53,10 @@ public:
virtual ~cBgS() {}
virtual void Ct();
virtual void Dt();
fopAc_ac_c* GetActorPointer(cBgS_PolyInfo const& info) const {
return GetActorPointer(info.GetBgIndex());
}
}; // Size: 0x1404
class dBgS_Acch;
+18 -2
View File
@@ -72,6 +72,7 @@ enum PlayerPtr { LINK_PTR, HORSE_PTR };
class daHorse_c;
class dPa_control_c;
class daAlink_c;
class dMsgObject_c;
class dComIfG_play_c {
public:
@@ -110,7 +111,7 @@ public:
// inlines
bool& isPauseFlag() { return mPauseFlag; }
void* getMsgObjectClass() { return mMsgObjectClass; }
dMsgObject_c* getMsgObjectClass() { return mMsgObjectClass; }
dStage_roomControl_c* getRoomControl() { return &mRoomControl; }
dStage_stageDt_c& getStage() { return mStageData; }
dEvt_control_c& getEvent() { return mEvent; }
@@ -303,7 +304,7 @@ public:
/* 0x04E74 */ daAlink_c* mPlayer[1];
/* 0x04E78 */ s8 mPlayerCameraID[4];
/* 0x04E7C */ void* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong
/* 0x04E84 */ void* mMsgObjectClass;
/* 0x04E84 */ dMsgObject_c* mMsgObjectClass;
/* 0x04E88 */ float mItemLifeCount;
/* 0x04E8C */ int mItemRupeeCount;
/* 0x04E90 */ s16 mItemKeyNumCount;
@@ -543,6 +544,9 @@ s8 dComIfGs_getWarpRoomNo();
char* dComIfG_getRoomArcName(int);
int dComIfGp_getSelectItemNum(int);
int dComIfGp_getSelectItemMaxNum(int);
void dComIfGp_mapShow();
void dComIfGp_mapHide();
bool dComIfGp_checkMapShow();
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -728,6 +732,10 @@ inline s32 dComIfGs_isDungeonItemMap() {
return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemMap();
}
inline s32 dComIfGs_isDungeonItemCompass() {
return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemCompass();
}
inline s32 dComIfGs_isDungeonItemBossKey() {
return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemBossKey();
}
@@ -1407,4 +1415,12 @@ inline void* dComIfGp_getPlayer(int idx) {
return g_dComIfG_gameInfo.play.getPlayer(idx);
}
inline void dComIfGd_set2DOpa(dDlst_base_c* dlst) {
g_dComIfG_gameInfo.drawlist.set2DOpa(dlst);
}
inline dMsgObject_c* dComIfGp_getMsgObjectClass() {
return g_dComIfG_gameInfo.play.getMsgObjectClass();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+6 -2
View File
@@ -191,6 +191,10 @@ public:
/* 800568D8 */ void wipeIn(f32);
/* 80056900 */ void calcWipe();
void set2DOpa(dDlst_base_c* dlst) {
set(field_0x1b4, field_0x1b8, dlst);
}
static u8 mWipeDlst[72];
static u8 mWipeColor[4];
static f32 mWipeRate;
@@ -228,8 +232,8 @@ private:
/* 0x000B0 */ dDlst_list_c** field_0xb0;
/* 0x000B4 */ dDlst_list_c** field_0xb4; // array?
/* 0x000B8 */ u8 field_0xb8[0xFC];
/* 0x001B4 */ dDlst_list_c* field_0x1b4;
/* 0x001B8 */ dDlst_list_c** field_0x1b8;
/* 0x001B4 */ dDlst_base_c** field_0x1b4;
/* 0x001B8 */ dDlst_base_c** field_0x1b8;
/* 0x001BC */ dDlst_list_c** field_0x1bc; // array?
/* 0x001C0 */ u8 field_0x1c0[0x7C];
/* 0x0023C */ dDlst_list_c* field_0x23c;
+11 -1
View File
@@ -99,7 +99,9 @@ struct dStage_Multi_c {};
struct dStage_SoundInfo_c {};
struct dStage_FileList_dt_c {};
struct dStage_FileList_dt_c {
/* 0x0 */ u32 field_0x0;
};
struct dStage_dPnt_c {};
@@ -681,6 +683,10 @@ inline u32 dStage_stagInfo_GetEscapeWarp(stage_stag_info_class* pstag) {
return pstag->field_0x10 >> 0x18;
}
inline u32 dStage_stagInfo_GetMiniMap(stage_stag_info_class* pstag) {
return (pstag->field_0x0a >> 0xD) & 7;
}
inline s8 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}
@@ -697,4 +703,8 @@ inline s8 dStage_sclsInfo_getTimeH(stage_scls_info_class* p_info) {
return (p_info->field_0xa >> 4) | (p_info->field_0xb & 16);
}
inline u32 dStage_FileList_dt_getMiniMap(dStage_FileList_dt_c* p_fList) {
return p_fList->field_0x0 >> 3 & 7;
}
#endif /* D_D_STAGE_H */
+1
View File
@@ -83,6 +83,7 @@ public:
bool runCheck() { return field_0xe5 != 0; }
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
u8 getMode() const { return mMode; }
u16 checkHind(u16 flag) { return flag & mHindFlag; }
bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; }
+78
View File
@@ -1,6 +1,84 @@
#ifndef D_MAP_D_MAP_PATH_H
#define D_MAP_D_MAP_PATH_H
#include "d/d_drawlist.h"
#include "dolphin/types.h"
class dDrawPath_c : public dDlst_base_c {
public:
struct line_class {};
struct poly_class {};
struct group_class {};
struct floor_class {};
struct room_class {};
/* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
/* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
/* 8002AD3C */ virtual ~dDrawPath_c();
/* 8002ABF0 */ virtual bool isDrawType(int);
virtual void getColor(int) = 0;
/* 8002AD84 */ virtual void getLineColor(int, int);
virtual void getLineWidth(int) = 0;
virtual void isSwitch(dDrawPath_c::group_class const*) = 0;
virtual void isRenderingFloor(int) = 0;
virtual void getFirstRoomPointer() = 0;
virtual void getNextRoomPointer() = 0;
/* 8003CCC4 */ virtual void drawPath();
/* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*);
/* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*);
/* 8003CC24 */ virtual void rendering(dDrawPath_c::room_class const*);
};
class dDrawPathWithNormalPattern_c : public dDrawPath_c {
public:
/* 8002ACE0 */ virtual ~dDrawPathWithNormalPattern_c();
};
class dRenderingMap_c : public dDrawPathWithNormalPattern_c {
public:
/* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const;
/* 8003CDAC */ void renderingMap();
/* 8002AC74 */ virtual ~dRenderingMap_c();
virtual void beforeDrawPath() = 0;
virtual void afterDrawPath() = 0;
virtual void preDrawPath() = 0;
virtual void postDrawPath() = 0;
virtual void isDrawPath() = 0;
virtual void preRenderingMap() = 0;
virtual void postRenderingMap() = 0;
virtual void getBackColor() const = 0;
};
class dRenderingFDAmap_c : public dRenderingMap_c {
public:
/* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
/* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
/* 8003D0AC */ void drawBack() const;
/* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*);
/* 8002ABF8 */ virtual ~dRenderingFDAmap_c();
/* 8003D188 */ virtual void preRenderingMap();
/* 8003D320 */ virtual void postRenderingMap();
/* 8003D68C */ virtual void getDecoLineColor(int, int);
/* 8003D6B8 */ virtual void getDecorationLineWidth(int);
private:
/* 0x04 */ int field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 mCmPerTexel;
/* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ u16 field_0x20;
/* 0x22 */ u16 field_0x22;
}; // Size: 0x24
#endif /* D_MAP_D_MAP_PATH_H */
+136
View File
@@ -1,6 +1,142 @@
#ifndef D_MAP_D_MAP_PATH_DMAP_H
#define D_MAP_D_MAP_PATH_DMAP_H
#include "d/map/d_map_path.h"
#include "d/d_stage.h"
#include "dolphin/types.h"
struct dTres_c {
struct data_s {};
struct typeGroupData_c {};
struct list_class {};
/* 8009BCB4 */ void addData(dTres_c::list_class*, s8);
/* 8009C360 */ void getFirstData(u8);
/* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*);
/* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*);
/* 8009C4B0 */ void getTypeToTypeGroupNo(u8);
static u8 mTypeGroupListAll[204 + 4 /* padding */];
};
class dMpath_c {
public:
/* 8003F758 */ static u8 isExistMapPathData();
/* 8003F760 */ void getTopBottomFloorNo(s8*, s8*);
/* 8003F7E8 */ void createWork();
/* 8003FA40 */ void setPointer(s8, void*, int);
/* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*);
/* 8003FB70 */ void create();
/* 8003FBD0 */ void reset();
/* 8003FC70 */ void remove();
static u8 mLayerList[4];
static f32 mMinX;
static f32 mMaxX;
static f32 mMinZ;
static f32 mMaxZ;
static f32 mAllCenterX;
static f32 mAllCenterZ;
static f32 mAllSizeX;
static f32 mAllSizeZ;
};
struct dMapInfo_n {
/* 8003ECA0 */ void chkGetCompass();
/* 8003ECD8 */ void chkGetMap();
/* 8003ED10 */ void isVisitedRoom(int);
/* 8003ED60 */ void correctionOriginPos(s8, Vec*);
/* 8003EDC0 */ void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
/* 8003EDEC */ void rotAngle(dStage_FileList2_dt_c const*, Vec*);
/* 8003EE5C */ static Vec getMapPlayerPos();
/* 8003EF20 */ void getMapPlayerAngleY();
/* 8003EF70 */ void getConstRestartIconPointer();
/* 8003F02C */ void getMapRestartPos();
/* 8003F0F8 */ void getMapRestartAngleY();
/* 8003F19C */ void getRoomCenter(int, f32*, f32*);
/* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
};
class renderingDAmap_c : public dRenderingFDAmap_c {
public:
/* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const;
/* 8003FCC8 */ void init(u8*, u16, u16, u16, u16);
/* 8003FD08 */ void entry(f32, f32, f32, int, s8);
/* 8003FE6C */ void setSingleRoomSetting();
/* 8003FFF4 */ void getFirstDrawRoomNo();
/* 80040094 */ void getNextDrawRoomNo(int);
/* 8003FE18 */ virtual void draw();
/* 8002B150 */ virtual ~renderingDAmap_c();
/* 8003FD9C */ virtual void isSwitch(dDrawPath_c::group_class const*);
/* 8003FE54 */ virtual void isRenderingFloor(int);
/* 80040134 */ virtual void getFirstRoomPointer();
/* 800401E8 */ virtual void getNextRoomPointer();
/* 8003FF14 */ virtual void preDrawPath();
/* 8003FFC4 */ virtual void postDrawPath();
/* 800402C0 */ virtual void isDrawPath();
/* 8003FE4C */ virtual void getBackColor() const;
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
/* 800402E8 */ virtual void getNextDrawLayerNo(int);
/* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const;
/* 80040AE4 */ virtual void getIconGroupNumber(u8) const;
virtual void hasMap() const = 0;
virtual void isRendAllRoom() const = 0;
virtual void isRendDoor() const = 0;
virtual bool isCheckFloor() const = 0;
virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
/* 8003FFEC */ virtual void getRoomNoSingle();
/* 8003FE70 */ virtual void isDrawRoom(int, int) const;
/* 800409B4 */ virtual void isDrawRoomIcon(int, int) const;
bool isDraw() const {
return mDraw;
}
private:
/* 0x24 */ int field_0x24;
/* 0x28 */ int field_0x28;
/* 0x2C */ int mRoomNoSingle;
/* 0x30 */ u8 field_0x30;
/* 0x31 */ bool mDraw;
}; // Size: 0x34
class stage_tgsc_data_class;
class renderingPlusDoor_c : public renderingDAmap_c {
public:
/* 80040574 */ void drawDoor1();
/* 800405B8 */ void drawDoor2();
/* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
/* 80040710 */ void checkDispDoorS(int, int, f32);
/* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
/* 8002B0B4 */ virtual ~renderingPlusDoor_c();
/* 8004145C */ virtual void beforeDrawPath();
/* 80040518 */ virtual void afterDrawPath();
virtual bool isRendRestart() const = 0;
virtual bool isRendCursor() const = 0;
virtual bool isRendIcon() const = 0;
};
class renderingPlusDoorAndCursor_c : public renderingPlusDoor_c {
public:
/* 80040B00 */ void drawTreasure();
/* 80040E84 */ void drawTreasureAfterPlayer();
/* 80041208 */ void drawIconSingle(Vec const&, f32, f32);
/* 800412C0 */ void drawCursor(Vec const&, s16, int, f32);
/* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c();
/* 800402FC */ virtual void afterDrawPath();
/* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
/* 80040A94 */ virtual void getFirstData(u8);
/* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*);
virtual void getPlayerCursorSize() = 0;
virtual void getRestartCursorSize() = 0;
};
#endif /* D_MAP_D_MAP_PATH_DMAP_H */
+3
View File
@@ -172,4 +172,7 @@ private:
/* 0x154 */ bool mPauseWindow;
};
BOOL dMw_LEFT_TRIGGER();
BOOL dMw_RIGHT_TRIGGER();
#endif /* D_MENU_D_MENU_WINDOW_H */
+41 -7
View File
@@ -10,13 +10,6 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
struct dMsgObject_c {
/* 802384C4 */ static void setLetterNameID(u16);
/* 802379AC */ void setKillMessageFlag();
/* 8023822C */ void getStatus();
/* 802371E4 */ void isPlaceMessage();
};
struct JMSMesgEntry_c {
/* 0x00 */ u32 mStringOffset;
/* 0x04 */ u16 mStringId;
@@ -133,6 +126,14 @@ public:
bool isUseButton(int param_0) { return param_0 & mUseButton; }
void setMeterMapClass(dMeterMap_c* p_map) { mMeterMap = p_map; }
void resetGameStatus() { mGameStatus = 0; }
void setMapStatus(u8 status) { mMapStatus = status; }
u8 getMapStatus() { return mMapStatus; }
void setPauseStatus(u8 status) { mPauseStatus = status; }
void resetPauseStatus() { mPauseStatus = 0; }
u8 getPauseStatus() { return mPauseStatus; }
bool isGameStatus(int status) { return mGameStatus & status; }
void setMapKeyDirection(u16 direction) { mMapKeyDirection = direction; }
bool isSub2DStatus(int flag) { return mSub2DStatus & (1 << flag); }
public:
/* 0x04 */ u8 unk4[4];
@@ -220,6 +221,7 @@ public:
extern dMeter2Info_c g_meter2_info;
void dMeter2Info_setSword(u8, bool);
void dMeter2Info_set2DVibration();
inline void dMeter2Info_Initialize() {
g_meter2_info.init();
@@ -305,4 +307,36 @@ inline void dMeter2Info_resetGameStatus() {
g_meter2_info.resetGameStatus();
}
inline void dMeter2Info_setMapStatus(u8 status) {
g_meter2_info.setMapStatus(status);
}
inline u8 dMeter2Info_getMapStatus() {
return g_meter2_info.getMapStatus();
}
inline void dMeter2Info_setPauseStatus(u8 status) {
g_meter2_info.setPauseStatus(status);
}
inline void dMeter2Info_resetPauseStatus() {
g_meter2_info.resetPauseStatus();
}
inline u8 dMeter2Info_getPauseStatus() {
return g_meter2_info.getPauseStatus();
}
inline bool dMeter2Info_isGameStatus(int status) {
return g_meter2_info.isGameStatus(status);
}
inline void dMeter2Info_setMapKeyDirection(u16 direction) {
g_meter2_info.setMapKeyDirection(direction);
}
inline bool dMeter2Info_isSub2DStatus(int flag) {
return g_meter2_info.isSub2DStatus(flag);
}
#endif /* D_METER_D_METER2_INFO_H */
+158 -16
View File
@@ -2,39 +2,181 @@
#define D_METER_D_METER_MAP_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J2DGraph/J2DPicture.h"
#include "d/map/d_map_path_dmap.h"
#include "dolphin/types.h"
class dMeterMap_c {
// move renderingAmap_c + dMap_c later
class renderingAmap_c : public renderingPlusDoorAndCursor_c {
public:
/* 8020D49C */ void isEnableDispMap();
/* 8020D528 */ void getMapDispSizeTypeNo();
/* 800288C4 */ void getDispType() const;
/* 80028BB4 */ void isDrawOutSideTrim();
/* 80028C4C */ void getOutSideBlackLineNumber();
/* 80028C60 */ void isOutSideBlackLine();
/* 80028C90 */ void getLineWidthSub(int);
/* 80029160 */ void getStayType() const;
/* 8002AE6C */ renderingAmap_c();
/* 800284D0 */ virtual void draw();
/* 8002ADB0 */ virtual ~renderingAmap_c();
/* 80028EE4 */ virtual void getLineColor(int, int);
/* 80028DD4 */ virtual void getLineWidth(int);
/* 80028A10 */ virtual void drawPath();
/* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*);
/* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*);
/* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*);
/* 80028960 */ virtual void beforeDrawPath();
/* 800289D0 */ virtual void afterDrawPath();
/* 80028FB4 */ virtual void getDecoLineColor(int, int);
/* 80028CF4 */ virtual void getDecorationLineWidth(int);
/* 80029058 */ virtual void getIconGroupNumber(u8) const;
/* 80029078 */ virtual void hasMap() const;
/* 8002911C */ virtual void isRendAllRoom() const;
/* 800290C0 */ virtual void isRendDoor() const;
/* 80029104 */ virtual bool isCheckFloor() const;
/* 80029190 */ virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
/* 8002910C */ virtual bool isRendRestart() const;
/* 80029114 */ virtual bool isRendCursor() const;
/* 8002B000 */ virtual bool isRendIcon() const;
/* 800284BC */ virtual void getIconSize(u8) const;
/* 80028B04 */ virtual void getPlayerCursorSize();
/* 80028B10 */ virtual void getRestartCursorSize();
virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
virtual bool isSpecialOutline() = 0;
private:
/* 0x34 */ s32 m_outSideBlackLineCnt;
/* 0x38 */ s32 field_0x38;
/* 0x3C */ s32 field_0x3c;
}; // Size: 0x40
class dMap_c : public renderingAmap_c {
public:
/* 8002974C */ void copyPalette();
/* 8002A064 */ void copyPalette(int, int, f32);
/* 80029F84 */ void setMapPaletteColorAlphaPer(int, f32);
/* 800297A8 */ void setMapPaletteColorAlphaPer(int, int, f32);
/* 80029818 */ void resCopy();
/* 80029874 */ dMap_c(int, int, int, int);
/* 80029A1C */ void _remove();
/* 80029A8C */ void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 80029C10 */ void getPack(int, f32*, f32*);
/* 80029D78 */ void calcMapCenterXZ(int, f32*, f32*);
/* 80029E1C */ void calcMapCmPerTexel(int, f32*);
/* 8002A1BC */ void getDispType() const;
/* 8002A32C */ void _move(f32, f32, int, f32);
/* 8002AB54 */ void _draw();
/* 8002AF20 */ virtual ~dMap_c();
/* 800296EC */ virtual void isDrawType(int);
/* 80028DF4 */ virtual void getColor(int);
/* 800296F8 */ virtual void isRendAllRoom() const;
/* 8002A254 */ virtual void getRoomNoSingle();
/* 8002A1DC */ virtual void isDrawRoom(int, int) const;
/* 8002A294 */ virtual void isDrawRoomIcon(int, int) const;
/* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
/* 8002ABAC */ virtual void getFirstData(u8);
/* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*);
/* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
/* 80029744 */ virtual bool isSpecialOutline();
bool isDraw() const {
return renderingDAmap_c::isDraw();
}
ResTIMG* getResTIMGPointer() { return mResTIMG; }
f32 getTopEdgePlus() { return mTopEdgePlus; }
f32 getPackPlusZ() { return mPackPlusZ; }
f32 getPackZ() { return mPackZ; }
f32 getTexelPerCm() { return 1.0f / field_0x58; }
u16 getTexSizeY() { return mTexSizeH; }
f32 getRightEdgePlus() { return mRightEdgePlus; }
f32 getPackX() { return mPackX; }
private:
/* 0x40 */ u8* m_res_src;
/* 0x44 */ u8* m_res;
/* 0x48 */ ResTIMG* mResTIMG;
/* 0x4C */ u8* mImage_p;
/* 0x50 */ f32 mCenterX;
/* 0x54 */ f32 mCenterZ;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 mPackX;
/* 0x60 */ f32 mPackZ;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 mPackPlusZ;
/* 0x6C */ f32 mRightEdgePlus;
/* 0x70 */ f32 mTopEdgePlus;
/* 0x74 */ int field_0x74;
/* 0x78 */ u16 mTexSizeW;
/* 0x7A */ u16 mTexSizeH;
/* 0x7C */ s32 mStayRoomNo;
/* 0x80 */ int field_0x80;
/* 0x84 */ int field_0x84;
/* 0x88 */ int field_0x88;
/* 0x8C */ u8 field_0x8c;
/* 0x8D */ u8 field_0x8d;
/* 0x8E */ u8 field_0x8e;
/* 0x8F */ u8 field_0x8f;
/* 0x90 */ u8 field_0x90;
}; // Size: 0x94
class dMeterMap_c : public dDlst_base_c {
public:
/* 8020D49C */ static bool isEnableDispMap();
/* 8020D528 */ static int getMapDispSizeTypeNo();
/* 8020D650 */ static bool isEnableDispMapAndMapDispSizeTypeNo();
/* 8020D690 */ void getMapDispEdgeBottomY_Layout();
/* 8020D698 */ void isEventRunCheck();
/* 8020D72C */ void getMapDispEdgeLeftX_Layout();
/* 8020D75C */ void getMapDispEdgeTop();
/* 8020D7E4 */ bool getDispPosInside_OffsetX();
/* 8020D7EC */ void getDispPosOutSide_OffsetX();
/* 8020D690 */ f32 getMapDispEdgeBottomY_Layout();
/* 8020D698 */ bool isEventRunCheck();
/* 8020D72C */ f32 getMapDispEdgeLeftX_Layout();
/* 8020D75C */ f32 getMapDispEdgeTop();
/* 8020D7E4 */ s16 getDispPosInside_OffsetX();
/* 8020D7EC */ s16 getDispPosOutSide_OffsetX();
/* 8020D874 */ void setDispPosInsideFlg_SE_On();
/* 8020D8BC */ void setDispPosOutsideFlg_SE_On();
/* 8020D8F8 */ void setMapAlpha(u8);
/* 8020D900 */ static bool isMapOpenCheck();
/* 8020D948 */ dMeterMap_c(J2DScreen*);
/* 8020D990 */ ~dMeterMap_c();
/* 8020D9EC */ void _create(J2DScreen*);
/* 8020DC50 */ void _delete();
/* 8020DCE4 */ void _move(u32);
/* 8020DF1C */ void _draw();
/* 8020DF68 */ void draw();
/* 8020E070 */ void ctrlShowMap();
/* 8020E45C */ void checkMoveStatus();
/* 8020E4C8 */ void isShow(u32);
/* 8020E620 */ void isFmapScreen();
/* 8020E70C */ void isDmapScreen();
/* 8020E45C */ u8 checkMoveStatus();
/* 8020E4C8 */ static bool isShow(u32);
/* 8020E620 */ static bool isFmapScreen();
/* 8020E70C */ static bool isDmapScreen();
/* 8020E754 */ static void meter_map_move(u32);
/* 8020E9CC */ void keyCheck();
u8 field_0x0[0x34];
/* 8020DF68 */ virtual void draw();
/* 8020D990 */ virtual ~dMeterMap_c();
bool isDispPosInsideFlg() { return field_0x2d != 0; }
enum {
MAP_SIZE_TYPE_BIG = 2,
MAP_SIZE_TYPE_SMALL = 3,
MAP_SIZE_TYPE_STAGE = 7
};
private:
/* 0x04 */ J2DPicture* mMapJ2DPicture;
/* 0x08 */ dMap_c* mMap;
/* 0x0C */ s32 mIsCompass;
/* 0x10 */ s32 mIsMap;
/* 0x14 */ u32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 mSizeW;
/* 0x24 */ f32 mSizeH;
/* 0x28 */ s16 field_0x28;
/* 0x2A */ u8 field_0x2a;
/* 0x2B */ u8 field_0x2b;
/* 0x2C */ u8 mMapAlpha;
/* 0x2D */ u8 field_0x2d;
/* 0x2E */ u8 field_0x2e;
/* 0x30 */ int field_0x30;
};
#endif /* D_METER_D_METER_MAP_H */
+156
View File
@@ -1,6 +1,162 @@
#ifndef D_MSG_D_MSG_OBJECT_H
#define D_MSG_D_MSG_OBJECT_H
#include "JSystem/J2DGraph/J2DTextbox.h"
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
class msg_class;
class COutFont_c;
class dMsgObject_c {
public:
/* 80233284 */ void _create(msg_class*);
/* 80233590 */ void _execute();
/* 802339BC */ void _draw();
/* 80233AE8 */ void _delete();
/* 80233D04 */ void setMessageIndex(u32, u32, bool);
/* 80233E70 */ void setMessageIndexDemo(u32, bool);
/* 80233F84 */ void getMessageIndex(u32);
/* 80233FD8 */ void getRevoMessageIndex(u32);
/* 802340D4 */ void getMessageIndexAlways(u32);
/* 80234128 */ void getMessageIDAlways(u32);
/* 8023413C */ void getMessageGroup(u32);
/* 80234150 */ void waitProc();
/* 80234318 */ void openProc();
/* 802349D8 */ void outnowProc();
/* 80234CCC */ void outwaitProc();
/* 80234FF0 */ void stopProc();
/* 80234FF4 */ void continueProc();
/* 8023531C */ void selectProc();
/* 8023587C */ void selectEndProc();
/* 802358D4 */ void inputProc();
/* 80235AD4 */ void finishProc();
/* 80235CC0 */ void endProc();
/* 80235EBC */ void deleteProc();
/* 8023609C */ void textmodeProc();
/* 802360A0 */ void talkStartInit();
/* 8023670C */ void fukiPosCalc(bool);
/* 802368E4 */ void setStatusLocal(u16);
/* 802368F8 */ void getStatusLocal();
/* 8023690C */ void delete_screen(bool);
/* 802369D8 */ void isSend();
/* 80236BF8 */ void readMessageGroupLocal(mDoDvdThd_mountXArchive_c**);
/* 80236C90 */ void changeFlowGroupLocal(s32);
/* 80236CD4 */ void demoMessageGroupLocal();
/* 80236D00 */ void endFlowGroupLocal();
/* 80236D0C */ void changeGroupLocal(s16);
/* 80236DE4 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
char*, char*, s16*);
/* 802370A8 */ void isGetItemMessage();
/* 802370BC */ void isKanbanMessage();
/* 802370E8 */ void isHowlMessage();
/* 802370FC */ void isMidonaMessage();
/* 80237138 */ void isMidonaNormalTalkWait();
/* 802371B0 */ void isMidonaTalkWait();
/* 802371E4 */ void isPlaceMessage();
/* 802371F8 */ void isBossMessage();
/* 8023720C */ bool isBookMessage();
/* 80237214 */ void isStaffMessage();
/* 80237228 */ void isSaveMessage();
/* 8023723C */ void isTalkMessage();
/* 802372CC */ void getSmellName();
/* 80237334 */ void getPortalName();
/* 8023738C */ void getBombName();
/* 8023741C */ void getInsectName();
/* 80237478 */ void getLetterName();
/* 802374D0 */ void getSelectBombNum();
/* 80237520 */ void onMsgSendControlLocal();
/* 80237530 */ void offMsgSendControlLocal();
/* 80237550 */ void isMsgSendControlLocal();
/* 8023755C */ void onMsgSendLocal();
/* 8023756C */ void offMsgSendLocal();
/* 8023757C */ void isMsgSendLocal();
/* 80237588 */ void isMouthCheckLocal();
/* 8023759C */ void getBombBuyPriceLocal(u8);
/* 802375E4 */ void addSelectBomBag(u8);
/* 80237610 */ void resetSelectBomBag();
/* 8023763C */ void getSelectBombBagIDLocal();
/* 8023768C */ void getSelectBombPriceLocal();
/* 8023773C */ void setEquipBombInfoLocal();
/* 80237748 */ void updateEquipBombInfoLocal();
/* 802378B8 */ void setShopWaitTimer(u8);
/* 802378CC */ void setSelectWordFlagLocal(u8);
/* 802378D4 */ void isHowlHearingModeLocal();
/* 80237934 */ void isCameraCancelFlag();
/* 80237950 */ void onCameraCancelFlag();
/* 80237968 */ void offCameraCancelFlag();
/* 80237980 */ void isKillMessageFlag();
/* 80237994 */ void onKillMessageFlag();
/* 802379AC */ void setKillMessageFlag();
/* 802379D8 */ void setKillMessageFlagLocal();
/* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
/* 80237A88 */ void setNowTalkFlowNo(s16);
/* 80237A9C */ void getNowTalkFlowNo();
/* 80237AB0 */ void setDemoMessage(u32);
/* 80237AE0 */ void setTalkHeap(void*);
/* 80237B10 */ void setTalkHeapLocal(void*);
/* 80237B54 */ void getTalkHeap();
/* 80237B68 */ void isDraw();
/* 80237BFC */ void setButtonStatusLocal();
/* 80237D88 */ void setDemoMessageLocal(u32);
/* 80237DD8 */ void getSmellTypeMessageIDLocal();
/* 80237E04 */ void setSmellTypeLocal(u8);
/* 80237E58 */ void getSelectCursorPosLocal();
/* 80237E68 */ void setSelectCursorPosLocal(u8);
/* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*);
/* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**);
/* 8023803C */ void changeFlowGroup(s32);
/* 8023806C */ void demoMessageGroup();
/* 80238098 */ void endFlowGroup();
/* 802380C4 */ void changeGroup(s16);
/* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
char*, char*, s16*);
/* 80238174 */ void getMsgDtPtr();
/* 80238188 */ void setProcessID(unsigned int);
/* 8023819C */ void getActor();
/* 802381C0 */ void getpTalkActor();
/* 802381D4 */ void getIdx();
/* 802381E8 */ void getNodeIdx();
/* 802381FC */ void setStatus(u16);
/* 8023822C */ static u16 getStatus();
/* 80238258 */ void getScrnDrawPtr();
/* 8023826C */ void setTalkActor(fopAc_ac_c*);
/* 8023829C */ void onMsgSendControl();
/* 802382C8 */ void offMsgSendControl();
/* 802382F4 */ void isMsgSendControl();
/* 80238320 */ void onMsgSend();
/* 8023834C */ void offMsgSend();
/* 80238378 */ void isMsgSend();
/* 802383A4 */ void isMouthCheck();
/* 802383D0 */ void getMessageID();
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ void setSmellType(u8);
/* 80238440 */ void getSelectCursorPos();
/* 8023846C */ void setSelectCursorPos(u8);
/* 8023849C */ void setPortalMessageID(u16);
/* 802384B0 */ void setInsectItemNo(u8);
/* 802384C4 */ static void setLetterNameID(u16);
/* 802384D8 */ void setArrowNum(u8);
/* 802384EC */ void setMsgOutputType(u8);
/* 80238500 */ void getMsgOutputType();
/* 80238514 */ void getWord();
/* 80238528 */ void getSelectWord(int);
/* 80238544 */ void setSelectWordFlag(u8);
/* 80238574 */ void getSelectWordFlag();
/* 80238588 */ void isHowlHearingMode();
/* 802385B4 */ void getSelectBombBagID();
/* 802385E0 */ void getSelectBombPrice();
/* 8023860C */ void setEquipBombInfo();
/* 80238638 */ void getItemEquipButton();
/* 8023864C */ void setSelectCancelPos(u8);
};
inline dMsgObject_c* dMsgObject_getMsgObjectClass() {
return dComIfGp_getMsgObjectClass();
}
inline bool dMsgObject_isTalkNowCheck() {
return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false;
}
#endif /* D_MSG_D_MSG_OBJECT_H */
+1
View File
@@ -768,6 +768,7 @@ public:
void onDungeonItemMap() { onDungeonItem(MAP); }
s32 isDungeonItemMap() const { return isDungeonItem(MAP); }
void onDungeonItemCompass() { onDungeonItem(COMPASS); }
s32 isDungeonItemCompass() const { return isDungeonItem(COMPASS); }
void onDungeonItemWarp() { onDungeonItem(OOCCOO_NOTE); }
void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY); }
s32 isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY); }
+2
View File
@@ -50,6 +50,8 @@ public:
}; // Size = 0x18
struct actor_place {
/* 807E2468 */ void operator=(actor_place const&);
cXyz mPosition;
csXyz mAngle;
s8 mRoomNo;
+1
View File
@@ -15,6 +15,7 @@ void mDoMtx_ZrotS(Mtx, s16);
void mDoMtx_YrotS(Mtx, s16);
void mDoMtx_XrotS(Mtx, s16);
void mDoMtx_YrotM(Mtx, s16);
void mDoMtx_MtxToRot(MtxP, csXyz*);
class mDoMtx_stack_c {
public:
+214
View File
@@ -2,5 +2,219 @@
#define D_A_HORSE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "d/bg/d_bg_s.h"
#include "d/cc/d_cc_d.h"
#include "d/msg/d_msg_flow.h"
#include "Z2AudioLib/Z2Creature.h"
class daHorseRein_c {
public:
/* 80837F2C */ void setReinPos(int);
/* 808383A8 */ void setReinPosPart(int);
/* 80844FB0 */ ~daHorseRein_c();
/* 80844FEC */ daHorseRein_c();
private:
/* 0x00 */ cXyz* field_0x0[2];
/* 0x08 */ int field_0x8[2];
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ cXyz field_0x1c;
}; // Size: 0x28
class daHorseFootData_c {
public:
/* 80844F70 */ ~daHorseFootData_c();
/* 80844FAC */ daHorseFootData_c();
private:
/* 0x0 */ u8 field_0x0[0xE4];
}; // Size: 0xE4
class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
/* 0x010 */ MOVE_ACCEPT = 0x10,
/* 0x080 */ RIDE_RUN_FLG = 0x80,
/* 0x100 */ CUT_TURN_CANCEL = 0x100,
};
enum daHorse_RFLG0 {
/* 0x02 */ ENEMY_SEARCH = 2,
/* 0x08 */ LASH_DASH_START = 8,
/* 0x10 */ TURN_STAND = 0x10,
/* 0x40 */ TURN_STAND_CAMERA = 0x40,
};
enum daHorse_FLG0 {
/* 0x00000020 */ RODEO_LEFT = 0x20,
/* 0x00000040 */ RIDE_START_FLG = 0x40,
/* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000,
/* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000,
/* 0x80000000 */ RODEO_MODE = 0x80000000
};
fopAc_ac_c* getZeldaActor();
/* 807E27BC */ void cancelOriginalDemo();
/* 807E27F8 */ void onDemoJumpDistance(f32, f32);
/* 807E28B8 */ void changeDemoPos0(cXyz const*);
/* 807E28D4 */ void changeDemoMode(u32, int);
/* 807E28E0 */ void setHorsePosAndAngle(cXyz const*, s16);
/* 807E2964 */ void changeOriginalDemo();
/* 80838498 */ void coHitCallbackBoarJump(fopAc_ac_c*);
/* 80838798 */ void coHitCallbackBoarHit(fopAc_ac_c*, dCcD_GObjInf*);
/* 80838904 */ void coHitCallbackCowHit(fopAc_ac_c*);
/* 80838B78 */ void modelCallBack(int);
/* 80838F98 */ void createHeap();
/* 8083940C */ void checkEnding();
/* 80839498 */ void create();
/* 80839D1C */ void setBasAnime(int);
/* 80839EBC */ void resetBasAnime();
/* 80839ED4 */ void setDoubleAnime(f32, f32, f32, u16, u16, f32);
/* 8083A20C */ void setSingleAnime(u16, f32, f32, s16, f32, int);
/* 8083A3C4 */ void animePlay();
/* 8083A5AC */ void checkDemoAction();
/* 8083A890 */ void setStickRodeoMove();
/* 8083AC7C */ void setStickCallMove();
/* 8083ACEC */ void setDemoMoveData(u32*, cXyz const*);
/* 8083AEC0 */ void setDemoData();
/* 8083B578 */ void acceptPlayerRide();
/* 8083B600 */ void setStickData();
/* 8083B828 */ void setTurnStartVibration();
/* 8083B82C */ void setTurnVibration();
/* 8083B830 */ void setMoveAnime(f32);
/* 8083BF48 */ void checkHorseNoMove(int);
/* 8083CA80 */ void checkTurnPlayerState();
/* 8083CB38 */ void setSpeedAndAngle();
/* 8083D748 */ void checkWaitTurn() const;
/* 8083D774 */ void setRoomInfo(int);
/* 8083D918 */ void setBodyPart();
/* 8083D9D8 */ void setMatrix();
/* 8083DC58 */ void setDashEffect(u32*);
/* 8083DEEC */ void setEffect();
/* 8083E4D8 */ void setCollision();
/* 8083E6E8 */ void autoGroundHit();
/* 8083E760 */ void setTailAngle();
/* 8083E8A4 */ void setNeckAngle();
/* 8083EA78 */ void copyFootMatrix();
/* 8083EB10 */ void setFootMatrix();
/* 8083ED88 */ void setLegAngle(f32, int, int, s16*);
/* 8083F3B0 */ void footBgCheck();
/* 8083F9AC */ void setReinPosMoveInit(int);
/* 8083FDAC */ void copyReinPos();
/* 8083FEB4 */ void setReinPosHandSubstance(int);
/* 8084010C */ void setReinPosNormalSubstance();
/* 808402F8 */ void bgCheck();
/* 80840714 */ void checkSpecialWallHitSubstance(cXyz const&) const;
/* 808407B0 */ void setServiceWaitTimer();
/* 80840800 */ void checkServiceWaitAnime();
/* 80840844 */ void checkTurnInput();
/* 808408F0 */ void checkTgHitTurn();
/* 808409C0 */ void checkTurnAfterFastMove(f32);
/* 80840B28 */ void setNeckAnimeMorf();
/* 80840B88 */ void setNeckAnime(u16, f32, f32, s16);
/* 80840CA4 */ void resetNeckAnime();
/* 80840CE4 */ void setLashCnt();
/* 80840FE0 */ void setTalkModeWolf();
/* 80841084 */ void setBoarHit(fopAc_ac_c*, int);
/* 8084116C */ void savePos();
/* 808411D0 */ void callHorseSubstance(cXyz const*);
/* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 808415B4 */ void checkPlayerHeavy();
/* 80841628 */ void setTgCoGrp(u32, u32);
/* 80841698 */ void onRideFlgSubstance();
/* 808416D4 */ void offRideFlgSubstance();
/* 80841708 */ void procWaitInit();
/* 808417B8 */ void procWait();
/* 80841F04 */ void procMoveInit();
/* 80841F80 */ void procMove();
/* 808423DC */ void procStopInit();
/* 808425BC */ void procStop();
/* 80842878 */ void procTurnInit(int);
/* 80842AB0 */ void procTurn();
/* 80843008 */ void procJumpInit(int);
/* 808432E0 */ void procJump();
/* 80843604 */ void procLandInit(f32, int);
/* 80843770 */ void procLand();
/* 808438AC */ void procLargeDamageInit();
/* 8084396C */ void procLargeDamage();
/* 808439C8 */ void procToolDemoInit();
/* 80843A44 */ void procToolDemo();
/* 80843BFC */ void searchSceneChangeArea(fopAc_ac_c*);
/* 80843C74 */ void execute();
/* 80844590 */ void draw();
/* 8084478C */ ~daHorse_c();
/* 80844CB0 */ daHorse_c();
bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; }
bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; }
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; }
bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; }
static u8 const m_footJointTable[8];
static f32 const m_callLimitDistance2;
private:
/* 0x0568 */ u8 field_0x568[8];
/* 0x0570 */ J3DModel* field_0x570;
/* 0x0574 */ void* field_0x574;
/* 0x0578 */ J3DFrameCtrl field_0x578;
/* 0x058C */ int field_0x58c;
/* 0x0590 */ u8 field_0x590[4];
/* 0x0594 */ mDoExt_AnmRatioPack field_0x594[3];
/* 0x05AC */ void* field_0x5ac;
/* 0x05B0 */ daPy_frameCtrl_c field_0x5b0[3];
/* 0x05F8 */ u8 field_0x5f8[4];
/* 0x05FC */ dBgS_AcchCir field_0x5fc[3];
/* 0x06BC */ dBgS_Acch field_0x6bc;
/* 0x0894 */ dCcD_Stts field_0x894;
/* 0x08D0 */ dBgS_HorseLinChk field_0x8d0;
/* 0x0940 */ dCcD_Cyl field_0x940[3];
/* 0x0CF4 */ dCcD_Cyl field_0xcf4;
/* 0x0E30 */ dCcD_Cyl field_0xe30;
/* 0x0F6C */ dCcD_Sph field_0xf6c;
/* 0x10A4 */ Z2CreatureRide field_0x10a4;
/* 0x1140 */ u8 field_0x1140[0x10];
/* 0x1150 */ daHorseRein_c field_0x1150[3];
/* 0x11C8 */ u8 field_0x11c8[0x40];
/* 0x1208 */ dMsgFlow_c field_0x1208;
/* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep;
/* 0x125C */ u8 field_0x125c[0xC8];
/* 0x1324 */ daHorseFootData_c mFootData[4];
/* 0x16B4 */ u8 field_0x16b4;
/* 0x16B5 */ u8 field_0x16b5[3];
/* 0x16B8 */ u8 field_0x16b8;
/* 0x16B9 */ u8 field_0x16b9[2];
/* 0x16BB */ u8 mRodeoPointCnt;
/* 0x16BC */ u8 field_0x16bc[0x36];
/* 0x16F2 */ s16 mAimNeckAngleY;
/* 0x16F4 */ u8 field_0x16f4[0xA];
/* 0x16FC */ s16 mDemoMoveAngle;
/* 0x16FE */ u8 field_0x16fe[4];
/* 0x1702 */ s16 field_0x1702;
/* 0x1704 */ u8 field_0x1704[2];
/* 0x1706 */ s16 mCowHitAngle;
/* 0x1708 */ s16 mCowHit;
/* 0x170A */ u8 field_0x170a[0x1E];
/* 0x1728 */ int field_0x1728;
/* 0x172C */ u8 field_0x172c[0x14];
/* 0x1740 */ u32 field_0x1740;
/* 0x1744 */ u32 mStateFlg0;
/* 0x1748 */ u32 mResetStateFlg0;
/* 0x174C */ u32 mEndResetStateFlg0;
/* 0x1750 */ f32 mMorfFrame;
/* 0x1754 */ u8 field_0x1754[0x14];
/* 0x1768 */ f32 field_0x1768;
/* 0x176C */ f32 field_0x176c;
/* 0x1770 */ f32 field_0x1770;
/* 0x1774 */ u8 field_0x1774[0x14];
/* 0x1788 */ f32 mDemoStickR;
/* 0x178C */ f32 mNormalMaxSpeedF;
/* 0x1790 */ f32 mLashMaxSpeedF;
/* 0x1794 */ u8 field_0x1794[0x30];
/* 0x17C4 */ cXyz mDemoPos0;
};
#endif /* D_A_HORSE_H */
+47
View File
@@ -2,5 +2,52 @@
#define D_A_E_WB_H
#include "dolphin/types.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
#include "Z2AudioLib/Z2Creature.h"
class e_wb_class : public fopAc_ac_c {
public:
BOOL checkWait();
void setPlayerRideNow();
void setPlayerRide();
void getOff();
BOOL checkDownDamage();
u8 checkNormalRideMode() const;
void setRunRideMode();
private:
/* 0x0568 */ u8 field_0x568[0x4C];
/* 0x05B4 */ s16 field_0x5b4;
/* 0x05B6 */ u8 unk1462[9];
/* 0x05BF */ bool field_0x5bf;
/* 0x05C0 */ u8 field_0x5c0[0x20];
/* 0x05E0 */ void* field_0x5e0;
/* 0x05E4 */ u8 field_0x5e4[8];
/* 0x05EC */ Z2CreatureRide mZ2Ride;
/* 0x0688 */ u8 unk1673[6];
/* 0x068E */ s16 field_0x68e;
/* 0x0690 */ s16 field_0x690;
/* 0x0692 */ u16 field_0x692;
/* 0x0694 */ u8 unk1684[0xc];
/* 0x06A0 */ s16 field_0x6a0;
/* 0x06A2 */ u8 field_0x6a2[0xc];
/* 0x06AE */ s16 field_0x6ae;
/* 0x06B0 */ s16 field_0x6b0;
/* 0x06B2 */ u8 field_0x6b2[0xc];
/* 0x06BE */ u16 field_0x6be;
/* 0x06C0 */ u8 field_0x6c0[0xdd];
/* 0x079D */ u8 field_0x79d;
/* 0x079E */ u8 field_0x79e[0x4e];
/* 0x07EC */ dBgS_Acch field_0x7ec;
/* 0x09C4 */ cXyz field_0x9c4;
/* 0x09D0 */ u8 field_0x9d0[0xa5f];
/* 0x142F */ u8 field_0x142f;
/* 0x1430 */ u8 field_0x1430;
/* 0x1432 */ s16 field_0x1432;
/* 0x1434 */ u8 field_0x1434[0x250];
/* 0x1684 */ f32 field_0x1684;
/* 0x1688 */ u8 field_0x1688[0x16];
/* 0x169E */ s16 field_0x169e;
};
#endif /* D_A_E_WB_H */
+4 -3
View File
@@ -124,7 +124,7 @@ extern "C" static void dComIfGs_isSaveSwitch__Fi();
extern "C" void resetCrowdSize__7Z2SeMgrFv();
extern "C" void setTwilightGateVol__8Z2SeqMgrFf();
extern "C" void setWindStoneVol__8Z2SeqMgrFfUl();
extern "C" void __ct__10JAISoundIDFUl();
extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1);
extern "C" void sceneChange__10Z2SceneMgrF10JAISoundIDUcUcUcUcUcb();
extern "C" void framework__10Z2SceneMgrFv();
extern "C" void load1stDynamicWave__10Z2SceneMgrFv();
@@ -875,8 +875,9 @@ asm void Z2SeqMgr::setWindStoneVol(f32 param_0, u32 param_1) {
#pragma pop
/* 802B9B60-802B9B68 -00001 0008+00 0/0 0/0 0/0 .text __ct__10JAISoundIDFUl */
JAISoundID::JAISoundID(u32 id) {
mId = id;
// JAISoundID::JAISoundID(u32 id) {
extern "C" void __ct__10JAISoundIDFUl(void* param_0, u32 param_1) {
*(u32*)param_0 = (u32)(param_1);
}
/* 802B9B68-802B9C50 2B44A8 00E8+00 1/1 0/0 0/0 .text
+1 -1
View File
@@ -71,7 +71,7 @@ extern "C" extern u8 data_80451348[8];
// Declarations:
//
inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {}
// inline JAISoundID::JAISoundID(u32 pId) : mId(pId) {}
inline JAISoundID JAISound::getID() const {
return JAISoundID((u32)soundID);
+35 -442
View File
@@ -4,6 +4,7 @@
//
#include "rel/d/a/d_a_horse/d_a_horse.h"
#include "d/a/d_a_player.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -11,26 +12,6 @@
// Types:
//
struct request_of_phase_process_class {};
struct Quaternion {};
struct Vec {};
struct cXyz {
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266B84 */ void operator*(f32) const;
/* 80266F48 */ void normalizeZP();
/* 80267128 */ void atan2sX_Z() const;
/* 80267150 */ void atan2sY_XZ() const;
/* 8083836C */ ~cXyz();
/* 808392D8 */ cXyz();
static f32 Zero[3];
static u8 BaseX[12];
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CD9C */ void transM(f32, f32, f32);
@@ -40,36 +21,11 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct J3DMaterialTable {};
struct J3DAnmTexPattern {};
struct mDoExt_btpAnm {
/* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
/* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
};
struct mDoExt_MtxCalcOldFrame {
/* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
};
struct mDoExt_AnmRatioPack {
/* 808453FC */ ~mDoExt_AnmRatioPack();
/* 80845438 */ mDoExt_AnmRatioPack();
};
struct mDoExt_3DlineMat_c {};
struct mDoExt_3DlineMatSortPacket {
/* 80014738 */ void setMat(mDoExt_3DlineMat_c*);
};
struct ResTIMG {};
struct _GXColor {};
struct dKy_tevstr_c {};
struct mDoExt_3DlineMat1_c {
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
/* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
@@ -79,167 +35,19 @@ struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct fopAcM_wt_c {
/* 8001DD84 */ void waterCheck(cXyz const*);
static f32 mWaterY[1 + 1 /* padding */];
};
struct fopAcM_gc_c {
/* 8001DCBC */ void gndCheck(cXyz const*);
static u8 mGndCheck[84];
static f32 mGroundY;
};
struct daTagHstop_c {
static u8 m_top[4 + 4 /* padding */];
};
struct daPy_py_c {
/* 8015F4F0 */ void setLookPos(cXyz*);
};
struct daPy_frameCtrl_c {
/* 8015E4CC */ void checkAnmEnd();
/* 8015E510 */ void updateFrame();
/* 8015E544 */ void setFrameCtrl(u8, s16, s16, f32, f32);
/* 80845354 */ ~daPy_frameCtrl_c();
/* 808453B0 */ daPy_frameCtrl_c();
};
struct daPy_actorKeep_c {
/* 8015EC48 */ void setActor();
/* 8015ECFC */ void clearData();
};
struct daHorse_hio_c0 {
static u8 const m[292];
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800840E4 */ ~dCcD_GObjInf();
/* 80084318 */ void ResetAtHit();
/* 80084460 */ void ChkTgHit();
};
struct daHorse_c {
/* 80838498 */ void coHitCallbackBoarJump(fopAc_ac_c*);
/* 80838798 */ void coHitCallbackBoarHit(fopAc_ac_c*, dCcD_GObjInf*);
/* 80838904 */ void coHitCallbackCowHit(fopAc_ac_c*);
/* 80838B78 */ void modelCallBack(int);
/* 80838F98 */ void createHeap();
/* 8083940C */ void checkEnding();
/* 80839498 */ void create();
/* 80839D1C */ void setBasAnime(int);
/* 80839EBC */ void resetBasAnime();
/* 80839ED4 */ void setDoubleAnime(f32, f32, f32, u16, u16, f32);
/* 8083A20C */ void setSingleAnime(u16, f32, f32, s16, f32, int);
/* 8083A3C4 */ void animePlay();
/* 8083A5AC */ void checkDemoAction();
/* 8083A890 */ void setStickRodeoMove();
/* 8083AC7C */ void setStickCallMove();
/* 8083ACEC */ void setDemoMoveData(u32*, cXyz const*);
/* 8083AEC0 */ void setDemoData();
/* 8083B578 */ void acceptPlayerRide();
/* 8083B600 */ void setStickData();
/* 8083B828 */ void setTurnStartVibration();
/* 8083B82C */ void setTurnVibration();
/* 8083B830 */ void setMoveAnime(f32);
/* 8083BF48 */ void checkHorseNoMove(int);
/* 8083CA80 */ void checkTurnPlayerState();
/* 8083CB38 */ void setSpeedAndAngle();
/* 8083D748 */ void checkWaitTurn() const;
/* 8083D774 */ void setRoomInfo(int);
/* 8083D918 */ void setBodyPart();
/* 8083D9D8 */ void setMatrix();
/* 8083DC58 */ void setDashEffect(u32*);
/* 8083DEEC */ void setEffect();
/* 8083E4D8 */ void setCollision();
/* 8083E6E8 */ void autoGroundHit();
/* 8083E760 */ void setTailAngle();
/* 8083E8A4 */ void setNeckAngle();
/* 8083EA78 */ void copyFootMatrix();
/* 8083EB10 */ void setFootMatrix();
/* 8083ED88 */ void setLegAngle(f32, int, int, s16*);
/* 8083F3B0 */ void footBgCheck();
/* 8083F9AC */ void setReinPosMoveInit(int);
/* 8083FDAC */ void copyReinPos();
/* 8083FEB4 */ void setReinPosHandSubstance(int);
/* 8084010C */ void setReinPosNormalSubstance();
/* 808402F8 */ void bgCheck();
/* 80840714 */ void checkSpecialWallHitSubstance(cXyz const&) const;
/* 808407B0 */ void setServiceWaitTimer();
/* 80840800 */ void checkServiceWaitAnime();
/* 80840844 */ void checkTurnInput();
/* 808408F0 */ void checkTgHitTurn();
/* 808409C0 */ void checkTurnAfterFastMove(f32);
/* 80840B28 */ void setNeckAnimeMorf();
/* 80840B88 */ void setNeckAnime(u16, f32, f32, s16);
/* 80840CA4 */ void resetNeckAnime();
/* 80840CE4 */ void setLashCnt();
/* 80840FE0 */ void setTalkModeWolf();
/* 80841084 */ void setBoarHit(fopAc_ac_c*, int);
/* 8084116C */ void savePos();
/* 808411D0 */ void callHorseSubstance(cXyz const*);
/* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 808415B4 */ void checkPlayerHeavy();
/* 80841628 */ void setTgCoGrp(u32, u32);
/* 80841698 */ void onRideFlgSubstance();
/* 808416D4 */ void offRideFlgSubstance();
/* 80841708 */ void procWaitInit();
/* 808417B8 */ void procWait();
/* 80841F04 */ void procMoveInit();
/* 80841F80 */ void procMove();
/* 808423DC */ void procStopInit();
/* 808425BC */ void procStop();
/* 80842878 */ void procTurnInit(int);
/* 80842AB0 */ void procTurn();
/* 80843008 */ void procJumpInit(int);
/* 808432E0 */ void procJump();
/* 80843604 */ void procLandInit(f32, int);
/* 80843770 */ void procLand();
/* 808438AC */ void procLargeDamageInit();
/* 8084396C */ void procLargeDamage();
/* 808439C8 */ void procToolDemoInit();
/* 80843A44 */ void procToolDemo();
/* 80843BFC */ void searchSceneChangeArea(fopAc_ac_c*);
/* 80843C74 */ void execute();
/* 80844590 */ void draw();
/* 8084478C */ ~daHorse_c();
/* 80844CB0 */ daHorse_c();
static u8 const m_footJointTable[8];
static f32 const m_callLimitDistance2;
};
struct daHorseRein_c {
/* 80837F2C */ void setReinPos(int);
/* 808383A8 */ void setReinPosPart(int);
/* 80844FB0 */ ~daHorseRein_c();
/* 80844FEC */ daHorseRein_c();
};
struct daHorseFootData_c {
/* 80844F70 */ ~daHorseFootData_c();
/* 80844FAC */ daHorseFootData_c();
};
struct daCow_c {
/* 8065CFBC */ void isAngry();
/* 8065D0B8 */ void setAngryHit();
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct daAlink_c {
struct daAlink_ANM {};
@@ -261,38 +69,10 @@ struct dVibration_c {
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_horse_place_c {
/* 80032C64 */ void set(char const*, cXyz const&, s16, s8);
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dStage_roomControl_c {
static u8 mDemoArcName[10 + 2 /* padding */];
};
struct J3DModelData {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
};
struct dPath {};
struct dPa_levelEcallBack {};
struct csXyz {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
@@ -303,28 +83,6 @@ struct dPa_control_c {
_GXColor const*, cXyz const*, f32);
};
struct dBgS {
/* 80074B98 */ void GetExitId(cBgS_PolyInfo const&);
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 80074C6C */ void GetHorseNoEntry(cBgS_PolyInfo const&);
/* 80074CBC */ void GetSpecialCode(cBgS_PolyInfo const&);
/* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&);
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 808452E4 */ ~dBgS_AcchCir();
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct dPaPo_c {
/* 80050C9C */ void init(dBgS_Acch*, f32, f32);
};
@@ -338,13 +96,6 @@ struct dPaPoF_c {
static u8 m_emitterFourData[60 + 28 /* padding */];
};
struct dMsgFlow_c {
/* 80249F00 */ dMsgFlow_c();
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
};
struct dEvt_control_c {
/* 80042468 */ void reset();
};
@@ -357,10 +108,6 @@ struct dEvent_manager_c {
/* 800483E0 */ void getGoal();
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dDemo_object_c {
/* 80039088 */ void getActor(u8);
};
@@ -377,50 +124,10 @@ struct dComIfG_play_c {
/* 8002C97C */ void getLayerNo(int);
};
struct cCcD_Obj {};
struct dCcMassS_Mng {
/* 80085D98 */ void Set(cCcD_Obj*, u8);
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_SrcCyl {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
/* 80845218 */ ~dCcD_GStts();
};
struct dCcD_Cyl {
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
/* 80084954 */ void MoveCAt(cXyz&);
/* 808450C8 */ ~dCcD_Cyl();
/* 80845194 */ dCcD_Cyl();
};
struct dBgS_PolyPassChk {
/* 80078EF8 */ void SetHorse();
};
struct dBgS_LinChk {
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_HorseLinChk {
/* 80078460 */ dBgS_HorseLinChk();
/* 800784BC */ ~dBgS_HorseLinChk();
};
struct dBgS_HorseAcch {
/* 80845274 */ ~dBgS_HorseAcch();
};
@@ -436,81 +143,18 @@ struct dAttList_c {
struct camera_class {};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 80844FF0 */ ~cM3dGSph();
};
struct cM3dGPla {
/* 80838750 */ ~cM3dGPla();
};
struct cM3dGCyl {
/* 8026F1DC */ void SetC(cXyz const&);
/* 8026F1F8 */ void SetH(f32);
/* 8026F200 */ void SetR(f32);
/* 80845038 */ ~cM3dGCyl();
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 80845080 */ ~cM3dGAab();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_Stts {
/* 8026395C */ void ClrCcMove();
};
struct cCcD_ObjTg {
/* 80264894 */ void SetGrp(u32);
};
struct cCcD_ObjCo {
/* 8026491C */ void SetVsGrp(u32);
};
struct cCcD_GStts {
/* 80844B44 */ ~cCcD_GStts();
};
struct cBgS_LinChk {};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&);
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct _GXTexObj {};
struct Z2SeqMgr {
/* 802AF49C */ void subBgmStart(u32);
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2CreatureRide {
/* 802C4FFC */ Z2CreatureRide();
/* 802C5114 */ ~Z2CreatureRide();
/* 802C520C */ void init(Vec*, Vec*, u8, u8);
};
struct Z2Creature {
/* 802C0628 */ void initAnime(void*, bool, f32, f32);
/* 802C06D0 */ void updateAnime(f32, f32);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
@@ -519,57 +163,6 @@ struct JMath {
static u8 sincosTable_[65536];
};
struct J3DTransformInfo {};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DMtxCalcNoAnmBase {
/* 80839348 */ ~J3DMtxCalcNoAnmBase();
};
template <typename A0, typename B0>
struct J3DMtxCalcNoAnm {};
/* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */
struct J3DMtxCalcNoAnm__template0 {
/* 808392DC */ void func_808392DC(void* _this);
/* 80844BB4 */ void func_80844BB4(void* _this, Vec const&, f32 const (&)[3][4]);
/* 80844BDC */ void func_80844BDC(void* _this);
};
struct J3DMtxCalcJ3DSysInitMaya {
/* 8032ECAC */ void init(Vec const&, f32 const (&)[3][4]);
};
struct J3DMtxCalcCalcTransformMaya {
/* 8032EFBC */ void calcTransform(J3DTransformInfo const&);
};
struct J3DAnmTransform {};
struct J3DMtxCalc {
/* 808393A4 */ ~J3DMtxCalc();
/* 80844B8C */ void setAnmTransform(u8, J3DAnmTransform*);
/* 80844B90 */ void setAnmTransform(J3DAnmTransform*);
/* 80844B94 */ bool getAnmTransform(u8);
/* 80844B9C */ bool getAnmTransform();
/* 80844BA4 */ void setWeight(u8, f32);
/* 80844BA8 */ void getWeight(u8) const;
static u8 mJoint[4];
};
struct J3DModel {};
struct J3DJoint {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 8032842C */ void checkPass(f32);
/* 80845450 */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@@ -878,17 +471,6 @@ extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf();
extern "C" void calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo();
extern "C" void JMAEulerToQuat__FsssP10Quaternion();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXInverse();
extern "C" void PSMTXTrans();
extern "C" void PSMTXQuat();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECSubtract();
extern "C" void PSVECScale();
extern "C" void PSVECSquareMag();
extern "C" void PSVECSquareDistance();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __construct_new_array();
@@ -913,8 +495,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void abs();
extern "C" void strcmp();
extern "C" u8 const m_handLeftInSidePos__9daAlink_c[12];
extern "C" u8 const m_handRightInSidePos__9daAlink_c[12];
extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5];
@@ -941,16 +521,12 @@ extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 g_meter2_info[248];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 BaseX__4cXyz[12];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */];
extern "C" u8 m_object__7dDemo_c[4];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" u8 mJoint__10J3DMtxCalc[4];
extern "C" void isAngry__7daCow_cFv();
@@ -1122,7 +698,8 @@ asm void daHorseRein_c::setReinPos(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::~cXyz() {
// asm cXyz::~cXyz() {
extern "C" asm void __dt__4cXyzFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__4cXyzFv.s"
}
@@ -1510,7 +1087,8 @@ asm void daHorse_c::coHitCallbackBoarJump(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGPla::~cM3dGPla() {
// asm cM3dGPla::~cM3dGPla() {
extern "C" asm void __dt__8cM3dGPlaFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGPlaFv.s"
}
@@ -1627,7 +1205,8 @@ asm void daHorse_c::createHeap() {
#pragma pop
/* 808392D8-808392DC 001498 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
cXyz::cXyz() {
//cXyz::cXyz()
extern "C" void __ct__4cXyzFv() {
/* empty function */
}
@@ -1646,7 +1225,8 @@ extern "C" asm void func_808392DC(void* _this) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
// asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
extern "C" asm void __dt__19J3DMtxCalcNoAnmBaseFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__19J3DMtxCalcNoAnmBaseFv.s"
}
@@ -1656,7 +1236,8 @@ asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMtxCalc::~J3DMtxCalc() {
// asm J3DMtxCalc::~J3DMtxCalc() {
extern "C" asm void __dt__10J3DMtxCalcFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__10J3DMtxCalcFv.s"
}
@@ -3520,7 +3101,8 @@ static asm void daHorse_Delete(daHorse_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcD_GStts::~cCcD_GStts() {
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__10cCcD_GSttsFv.s"
}
@@ -3672,14 +3254,16 @@ daHorseFootData_c::daHorseFootData_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daHorseRein_c::~daHorseRein_c() {
// asm daHorseRein_c::~daHorseRein_c() {
extern "C" asm void __dt__13daHorseRein_cFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__13daHorseRein_cFv.s"
}
#pragma pop
/* 80844FEC-80844FF0 00D1AC 0004+00 1/1 0/0 0/0 .text __ct__13daHorseRein_cFv */
daHorseRein_c::daHorseRein_c() {
// daHorseRein_c::daHorseRein_c() {
extern "C" void __ct__13daHorseRein_cFv() {
/* empty function */
}
@@ -3687,7 +3271,8 @@ daHorseRein_c::daHorseRein_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
// asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGSphFv.s"
}
@@ -3697,7 +3282,8 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::~cM3dGCyl() {
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGCylFv.s"
}
@@ -3707,7 +3293,8 @@ asm cM3dGCyl::~cM3dGCyl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8cM3dGAabFv.s"
}
@@ -3717,7 +3304,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_Cyl::~dCcD_Cyl() {
// asm dCcD_Cyl::~dCcD_Cyl() {
extern "C" asm void __dt__8dCcD_CylFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__8dCcD_CylFv.s"
}
@@ -3727,7 +3315,8 @@ asm dCcD_Cyl::~dCcD_Cyl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_Cyl::dCcD_Cyl() {
// asm dCcD_Cyl::dCcD_Cyl() {
extern "C" asm void __ct__8dCcD_CylFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__ct__8dCcD_CylFv.s"
}
@@ -3737,7 +3326,8 @@ asm dCcD_Cyl::dCcD_Cyl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_GStts::~dCcD_GStts() {
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__10dCcD_GSttsFv.s"
}
@@ -3757,7 +3347,8 @@ asm dBgS_HorseAcch::~dBgS_HorseAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__12dBgS_AcchCirFv.s"
}
@@ -3767,7 +3358,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daPy_frameCtrl_c::~daPy_frameCtrl_c() {
// asm daPy_frameCtrl_c::~daPy_frameCtrl_c() {
extern "C" asm void __dt__16daPy_frameCtrl_cFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__16daPy_frameCtrl_cFv.s"
}
@@ -3807,7 +3399,8 @@ asm mDoExt_AnmRatioPack::mDoExt_AnmRatioPack() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/d_a_horse/d_a_horse/__dt__12J3DFrameCtrlFv.s"
}
+41 -279
View File
@@ -15,10 +15,6 @@ namespace std {
/* 807E2350 */ void fabsf(f32);
};
struct request_of_phase_process_class {};
struct Vec {};
struct mDoMtx_stack_c {
/* 8000CD9C */ void transM(f32, f32, f32);
/* 8000CE38 */ void scaleM(f32, f32, f32);
@@ -28,8 +24,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct _GXColor {};
struct mDoGph_gInf_c {
/* 80007FD8 */ void fadeOut(f32, _GXColor&);
/* 807DFAB4 */ void fadeIn(f32, _GXColor&);
@@ -37,14 +31,6 @@ struct mDoGph_gInf_c {
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
@@ -56,16 +42,6 @@ struct mDoExt_McaMorfSO {
/* 80011310 */ void stopZelAnime();
};
struct mDoExt_3DlineMat_c {};
struct mDoExt_3DlineMatSortPacket {
/* 80014738 */ void setMat(mDoExt_3DlineMat_c*);
};
struct ResTIMG {};
struct dKy_tevstr_c {};
struct mDoExt_3DlineMat1_c {
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
/* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*);
@@ -81,39 +57,6 @@ struct himo_s {
/* 807E1D2C */ himo_s();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct cXyz {
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 807D2B48 */ ~cXyz();
/* 807E27E8 */ cXyz(f32, f32, f32);
/* 807E24FC */ cXyz();
/* 807E235C */ cXyz(cXyz const&);
/* 807E24C8 */ void set(f32, f32, f32);
/* 807E25EC */ void abs() const;
/* 807E2808 */ void operator=(cXyz const&);
/* 807E2824 */ void operator+=(Vec const&);
};
struct fopAcM_gc_c {
/* 8001DCBC */ void gndCheck(cXyz const*);
static f32 mGroundY;
};
struct e_wb_class {};
struct daPy_py_c {
/* 807E2318 */ void changeDemoPos0(cXyz const*);
/* 807E2334 */ void changeDemoMode(u32, int, int, s16);
/* 807E2348 */ void changeDemoParam2(s16);
/* 807E2404 */ void cancelOriginalDemo();
/* 807E2444 */ void changeOriginalDemo();
};
struct daObjCRVSTEEL_c {
/* 80BD5BFC */ void OpenSet(f32, f32);
/* 80BD5C18 */ void CloseSet(f32);
@@ -123,15 +66,6 @@ struct daObjCRVGATE_c {
/* 80BD245C */ void SetB_Close();
};
struct daHorse_c {
/* 807E27BC */ void cancelOriginalDemo();
/* 807E27F8 */ void onDemoJumpDistance(f32, f32);
/* 807E28B8 */ void changeDemoPos0(cXyz const*);
/* 807E28D4 */ void changeDemoMode(u32, int);
/* 807E28E0 */ void setHorsePosAndAngle(cXyz const*, s16);
/* 807E2964 */ void changeOriginalDemo();
};
struct daE_WB_HIO_c {
/* 807D248C */ daE_WB_HIO_c();
/* 807E20DC */ ~daE_WB_HIO_c();
@@ -148,35 +82,8 @@ struct dVibration_c {
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
/* 807E2090 */ csXyz();
/* 807D79B0 */ ~csXyz();
/* 807E24AC */ void operator=(csXyz const&);
};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
@@ -195,11 +102,6 @@ struct dMsgObject_c {
/* 8023822C */ void getStatus();
};
struct dEvt_info_c {
/* 807E24D8 */ void onCondition(u16);
/* 807E24E8 */ void checkCommandDemoAccrpt();
};
struct dEvt_control_c {
/* 80042468 */ void reset();
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
@@ -213,45 +115,12 @@ struct dEvent_manager_c {
/* 8004817C */ void cutEnd(int);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dComIfG_play_c {
/* 8002C97C */ void getLayerNo(int);
};
struct dCcU_AtInfo {};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
/* 807E1E04 */ ~dCcD_Sph();
/* 807E1ED0 */ dCcD_Sph();
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
/* 807E1F54 */ ~dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800840E4 */ ~dCcD_GObjInf();
/* 800842C0 */ void ChkAtHit();
/* 80084358 */ void GetAtHitObj();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
/* 80084658 */ void ChkCoHit();
/* 800846F0 */ void GetCoHitObj();
};
struct dCamera_c {
/* 801614AC */ void Start();
/* 801614D0 */ void Stop();
@@ -261,100 +130,12 @@ struct dCamera_c {
/* 80180C18 */ void Reset(cXyz, cXyz);
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjGndChk_Spl {
/* 800777B0 */ dBgS_ObjGndChk_Spl();
/* 80077848 */ ~dBgS_ObjGndChk_Spl();
};
struct dBgS_ObjAcch {
/* 807E1FB0 */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077C68 */ dBgS_LinChk();
/* 80077CDC */ ~dBgS_LinChk();
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_GndChk {
/* 8007757C */ dBgS_GndChk();
/* 800775F0 */ ~dBgS_GndChk();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 807E2020 */ ~dBgS_AcchCir();
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct camera_class {};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8026F708 */ void SetR(f32);
/* 807E1D74 */ ~cM3dGSph();
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 807E1DBC */ ~cM3dGAab();
};
struct cCcD_Obj {
/* 80263A48 */ void GetAc();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_ObjTg {
/* 80264894 */ void SetGrp(u32);
};
struct cCcD_GStts {
/* 807E2094 */ ~cCcD_GStts();
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct cBgS_LinChk {};
struct cBgS_GndChk {
/* 80267D28 */ void SetPos(cXyz const*);
/* 80267D0C */ void SetPos(Vec const*);
};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
/* 80074618 */ void GetActorPointer(int) const;
};
struct actor_place {
/* 807E2468 */ void operator=(actor_place const&);
};
struct _GXTexObj {};
struct Z2SeqMgr {
/* 802AF010 */ void bgmStart(u32, u32, s32);
/* 802AF408 */ void bgmStop(u32, s32);
@@ -364,20 +145,11 @@ struct Z2SeqMgr {
/* 802AFEDC */ void bgmStreamStop(u32);
};
struct JAISoundID {
/* 807E27D0 */ JAISoundID(u32);
};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2CreatureRide {
/* 802C4FFC */ Z2CreatureRide();
/* 802C520C */ void init(Vec*, Vec*, u8, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
@@ -386,25 +158,6 @@ struct JMath {
static u8 sincosTable_[65536];
};
struct JGeometry {
template <typename A1>
struct TVec3 {};
/* TVec3<f32> */
struct TVec3__template0 {};
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DModel {};
struct J3DJoint {};
struct J3DFrameCtrl {
/* 8032842C */ void checkPass(f32);
};
//
// Forward References:
//
@@ -513,7 +266,7 @@ extern "C" void onCondition__11dEvt_info_cFUs();
extern "C" void checkCommandDemoAccrpt__11dEvt_info_cFv();
extern "C" void __ct__4cXyzFv();
extern "C" static void fopAcM_SearchByName__Fs();
extern "C" static void fopAcM_SearchByID__FUi();
extern "C" static void fopAcM_SearchByID__FUi(unsigned int);
extern "C" static void dComIfGp_getHorseActor__Fv();
extern "C" static void dComIfGp_getPlayer__Fi();
extern "C" static void dComIfGp_getCamera__Fi();
@@ -692,12 +445,6 @@ extern "C" void init__14Z2CreatureRideFP3VecP3VecUcUc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void checkPass__12J3DFrameCtrlFf();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECScale();
extern "C" void PSVECSquareMag();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
@@ -721,8 +468,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void abs();
extern "C" void strcmp();
extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
@@ -737,12 +482,10 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 g_blackColor;
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" extern u32 __float_nan;
extern "C" extern u8 struct_80450C98[4];
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -1601,7 +1344,8 @@ static asm void himo_control1(e_wb_class* param_0, cXyz* param_1, int param_2, s
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::~cXyz() {
// asm cXyz::~cXyz() {
extern "C" asm void __dt__4cXyzFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__4cXyzFv.s"
}
@@ -2487,7 +2231,8 @@ static asm void e_wb_b_ikki(e_wb_class* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm csXyz::~csXyz() {
// asm csXyz::~csXyz() {
extern "C" asm void __dt__5csXyzFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__5csXyzFv.s"
}
@@ -4739,7 +4484,8 @@ asm himo_s::himo_s() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
// asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__8cM3dGSphFv.s"
}
@@ -4749,7 +4495,8 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__8cM3dGAabFv.s"
}
@@ -4759,7 +4506,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_Sph::~dCcD_Sph() {
// asm dCcD_Sph::~dCcD_Sph() {
extern "C" asm void __dt__8dCcD_SphFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__8dCcD_SphFv.s"
}
@@ -4769,7 +4517,8 @@ asm dCcD_Sph::~dCcD_Sph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_Sph::dCcD_Sph() {
// asm dCcD_Sph::dCcD_Sph() {
extern "C" asm void __ct__8dCcD_SphFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__8dCcD_SphFv.s"
}
@@ -4779,7 +4528,8 @@ asm dCcD_Sph::dCcD_Sph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_GStts::~dCcD_GStts() {
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__10dCcD_GSttsFv.s"
}
@@ -4789,7 +4539,8 @@ asm dCcD_GStts::~dCcD_GStts() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__12dBgS_ObjAcchFv.s"
}
@@ -4799,14 +4550,16 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__12dBgS_AcchCirFv.s"
}
#pragma pop
/* 807E2090-807E2094 00FCF0 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
csXyz::csXyz() {
// csXyz::csXyz() {
extern "C" void __ct__5csXyzFv() {
/* empty function */
}
@@ -4814,7 +4567,8 @@ csXyz::csXyz() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcD_GStts::~cCcD_GStts() {
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__dt__10cCcD_GSttsFv.s"
}
@@ -4945,7 +4699,8 @@ asm void std::fabsf(f32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::cXyz(cXyz const& param_0) {
// asm cXyz::cXyz(cXyz const& param_0) {
extern "C" asm void __ct__4cXyzFRC4cXyz() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__4cXyzFRC4cXyz.s"
}
@@ -5047,7 +4802,8 @@ asm void actor_place::operator=(actor_place const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void csXyz::operator=(csXyz const& param_0) {
// asm void csXyz::operator=(csXyz const& param_0) {
extern "C" asm void __as__5csXyzFRC5csXyz() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__as__5csXyzFRC5csXyz.s"
}
@@ -5057,7 +4813,8 @@ asm void csXyz::operator=(csXyz const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) {
// asm void cXyz::set(f32 param_0, f32 param_1, f32 param_2) {
extern "C" asm void set__4cXyzFfff() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/set__4cXyzFfff.s"
}
@@ -5077,14 +4834,15 @@ asm void dEvt_info_c::onCondition(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvt_info_c::checkCommandDemoAccrpt() {
asm bool dEvt_info_c::checkCommandDemoAccrpt() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/checkCommandDemoAccrpt__11dEvt_info_cFv.s"
}
#pragma pop
/* 807E24FC-807E2500 01015C 0004+00 4/4 0/0 0/0 .text __ct__4cXyzFv */
cXyz::cXyz() {
// cXyz::cXyz() {
extern "C" void __ct__4cXyzFv() {
/* empty function */
}
@@ -5102,7 +4860,7 @@ static asm void fopAcM_SearchByName(s16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopAcM_SearchByID(unsigned int param_0) {
extern "C" static asm void fopAcM_SearchByID__FUi(unsigned int param_0) {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/fopAcM_SearchByID__FUi.s"
}
@@ -5162,7 +4920,8 @@ static asm void dMsgObject_isTalkNowCheck() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::abs() const {
// asm void cXyz::abs() const {
extern "C" asm void abs__4cXyzCFv() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/abs__4cXyzCFv.s"
}
@@ -5229,7 +4988,8 @@ static asm void dComIfGp_getVibration() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) {
// asm cXyz::cXyz(f32 param_0, f32 param_1, f32 param_2) {
extern "C" asm void __ct__4cXyzFfff() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__ct__4cXyzFfff.s"
}
@@ -5250,7 +5010,8 @@ asm void daHorse_c::onDemoJumpDistance(f32 param_0, f32 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator=(cXyz const& param_0) {
// asm void cXyz::operator=(cXyz const& param_0) {
extern "C" asm void __as__4cXyzFRC4cXyz() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__as__4cXyzFRC4cXyz.s"
}
@@ -5260,7 +5021,8 @@ asm void cXyz::operator=(cXyz const& param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cXyz::operator+=(Vec const& param_0) {
// asm void cXyz::operator+=(Vec const& param_0) {
extern "C" asm void __apl__4cXyzFRC3Vec() {
nofralloc
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/__apl__4cXyzFRC3Vec.s"
}
+154 -83
View File
@@ -21,6 +21,7 @@
#include "m_Do/m_Do_mtx.h"
#include "rel/d/a/d_a_crod/d_a_crod.h"
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
//
// Types:
@@ -6429,46 +6430,40 @@ asm void daAlink_c::setNeckAngle() {
/* 800A2160-800A2198 09CAA0 0038+00 1/0 0/0 0/0 .text getStickAngleFromPlayerShape__9daAlink_cCFPs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const {
nofralloc
#include "asm/d/a/d_a_alink/getStickAngleFromPlayerShape__9daAlink_cCFPs.s"
bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const {
// inline uses literal
// if (checkInputOnR()) {
if (field_0x33ac > lit_6021) {
*param_0 = field_0x2fe2 - mCollisionRot.y;
return true;
}
*param_0 = 0;
return false;
}
#pragma pop
/* 800A2198-800A21E0 09CAD8 0048+00 42/42 0/0 0/0 .text commonLineCheck__9daAlink_cFP4cXyzP4cXyz
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/commonLineCheck__9daAlink_cFP4cXyzP4cXyz.s"
bool daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) {
mLinkLinChk.Set(param_0, param_1, this);
return dComIfG_Bgsp().LineCross(&mLinkLinChk);
}
#pragma pop
/* 800A21E0-800A2280 09CB20 00A0+00 18/18 0/0 2/2 .text
* getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi.s"
s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) {
if ((param_1 != 0 || dComIfG_Bgsp().ChkPolySafe(param_0)) && dComIfG_Bgsp().ChkMoveBG_NoDABg(param_0) && dComIfG_Bgsp().GetActorPointer(param_0)) {
return fopAcM_GetName(dComIfG_Bgsp().GetActorPointer(param_0));
}
return 0xFD;
}
#pragma pop
/* 800A2280-800A22E8 09CBC0 0068+00 2/2 0/0 0/0 .text checkGoronRide__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGoronRide() {
nofralloc
#include "asm/d/a/d_a_alink/checkGoronRide__9daAlink_cFv.s"
fopAc_ac_c* daAlink_c::checkGoronRide() {
if (mLinkAcch.ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0x21) {
return dComIfG_Bgsp().GetActorPointer(mLinkAcch.m_gnd);
}
return NULL;
}
#pragma pop
/* ############################################################################################## */
/* 80453224-80453228 001824 0004+00 1/1 0/0 0/0 .sdata2 @56018 */
@@ -8409,35 +8404,54 @@ asm void daAlink_c::handBgCheck() {
#pragma pop
/* 800A3C8C-800A3CE4 09E5CC 0058+00 11/11 0/0 0/0 .text setItemHeap__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRHeap* daAlink_c::setItemHeap() {
nofralloc
#include "asm/d/a/d_a_alink/setItemHeap__9daAlink_cFv.s"
JKRHeap* daAlink_c::setItemHeap() {
if (!i_checkResetFlg0(RFLG0_UNK_4000)) {
field_0x2fa0 ^= 1;
i_onResetFlg0(RFLG0_UNK_4000);
}
return mItemHeap[field_0x2fa0].setAnimeHeap();
}
#pragma pop
/* 800A3CE4-800A3D0C 09E624 0028+00 4/4 0/0 0/0 .text setIdxMask__9daAlink_cFPUsPUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setIdxMask(u16* param_0, u16* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setIdxMask__9daAlink_cFPUsPUs.s"
void daAlink_c::setIdxMask(u16* param_0, u16* param_1) {
if (*param_0 == 0xFFFF) {
u16 tmp = (*param_1 >> 12) & 0xF;
*param_1 &= 0xFFF;
if (tmp != 0) {
*param_0 = tmp;
}
}
}
#pragma pop
/* 800A3D0C-800A3D7C 09E64C 0070+00 5/5 0/0 0/0 .text
* getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl */
// setIdxMask param loads backwards
#ifdef NONMATCHING
void* daAlink_c::getAnimeResource(daPy_anmHeap_c* p_anmHeap, u16 param_1, u32 buf_size) {
p_anmHeap->setBufferSize(buf_size);
u16 tmp2 = 0xFFFF;
u16* tmp1 = &param_1;
setIdxMask(tmp1, &tmp2);
if (tmp2 == 0xFFFF) {
return p_anmHeap->loadDataIdx(*tmp1);
} else {
return p_anmHeap->loadDataDemoRID(*tmp1, tmp2);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 param_2) {
asm void* daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 param_2) {
nofralloc
#include "asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s"
}
#pragma pop
#endif
/* 800A3D7C-800A3E30 09E6BC 00B4+00 16/16 0/0 0/0 .text initModel__9daAlink_cFP12J3DModelDataUlUl
*/
@@ -15548,8 +15562,55 @@ BOOL daAlink_c::checkSlope() const {
return field_0x3174 != 8 && field_0x2ff0 < -field_0x3122;
}
inline daHorse_c* i_dComIfGp_getHorseActor() {
return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1);
}
/* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi
*/
// need to figure out member function pointer calls
#ifdef NONMATCHING
void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2) {
if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) {
if (p_pos != NULL) {
mCurrent.mPosition = *p_pos;
mNext.mPosition = mCurrent.mPosition;
field_0x3798 = mCurrent.mPosition;
i_onEndResetFlg0(ERFLG0_UNK_800000);
i_onEndResetFlg2(ERFLG2_UNK_100);
if (mDemo.getDemoMode() != 0x59) {
mSpeed.y = FLOAT_LABEL(lit_6108);
}
}
mCollisionRot.y = param_1;
mCurrent.mAngle.y = param_1;
field_0x2fe6 = mCollisionRot.y;
if ((mActionID == 0x145 || mActionID == 0xE2) && !i_checkWolf()) {
if (field_0x3198 != 0) {
field_0x37c8.x = mCurrent.mPosition.x;
field_0x37c8.z = mCurrent.mPosition.z;
}
}
if (i_checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) {
field_0x3118 = mCollisionRot.y;
}
if (checkHorseRide() || checkSpinnerRide()) {
fopAc_ac_c* rideAc = mRideActor.getActor();
rideAc->mCurrent.mPosition = mCurrent.mPosition;
rideAc->mCollisionRot.y = mCollisionRot.y;
rideAc->mCurrent.mAngle.y = mCollisionRot.y;
rideAc->mSpeed.y = FLOAT_LABEL(lit_6108);
} else {
i_dComIfGp_getHorseActor()->setHorsePosAndAngle(&mCurrent.mPosition, mCollisionRot.y);
}
field_0x814.ClrCcMove();
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -15558,27 +15619,48 @@ asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, s16 param_1, int p
#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s"
}
#pragma pop
#endif
/* 800B23FC-800B24F4 0ACD3C 00F8+00 1/0 0/0 0/0 .text
* setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, csXyz const* param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz.s"
void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) {
if (checkEventRun() || mSpecialMode != 0) {
if (p_pos != NULL) {
mCurrent.mPosition = *p_pos;
mNext.mPosition = mCurrent.mPosition;
field_0x3798 = mCurrent.mPosition;
i_onEndResetFlg0(ERFLG0_UNK_800000);
i_onEndResetFlg2(ERFLG2_UNK_100);
mSpeed.y = FLOAT_LABEL(lit_6108);
}
if (p_angle != NULL) {
mCollisionRot = *p_angle;
mCurrent.mAngle.y = mCollisionRot.y;
field_0x2fe6 = mCollisionRot.y;
}
field_0x814.ClrCcMove();
}
}
#pragma pop
/* 800B24F4-800B25CC 0ACE34 00D8+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPA4_f */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setPlayerPosAndAngle(f32 (*param_0)[4]) {
nofralloc
#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPA4_f.s"
void daAlink_c::setPlayerPosAndAngle(Mtx param_0) {
if (checkEventRun() || mSpecialMode != 0) {
mCurrent.mPosition.x = param_0[0][3];
mCurrent.mPosition.y = param_0[1][3];
mCurrent.mPosition.z = param_0[2][3];
mNext.mPosition = mCurrent.mPosition;
field_0x3798 = mCurrent.mPosition;
i_onEndResetFlg0(ERFLG0_UNK_800000);
i_onEndResetFlg2(ERFLG2_UNK_100);
mDoMtx_MtxToRot(param_0, &mCollisionRot);
mCurrent.mAngle.y = mCollisionRot.y;
field_0x2fe6 = mCollisionRot.y;
mSpeed.y = FLOAT_LABEL(lit_6108);
field_0x814.ClrCcMove();
}
}
#pragma pop
/* 800B25CC-800B25E8 0ACF0C 001C+00 16/16 0/0 0/0 .text itemTriggerCheck__9daAlink_cFUc
*/
@@ -16384,14 +16466,9 @@ asm void daAlink_c::itemUnequip(u16 param_0, f32 param_1) {
#pragma pop
/* 800B97EC-800B983C 0B412C 0050+00 2/2 0/0 0/0 .text checkFastUnequip__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkFastUnequip() {
nofralloc
#include "asm/d/a/d_a_alink/checkFastUnequip__9daAlink_cFv.s"
bool daAlink_c::checkFastUnequip() {
return mActionID == PREACTION_UNEQUIP || mActionID == HORSE_GETOFF || checkEventRun();
}
#pragma pop
/* 800B983C-800B994C 0B417C 0110+00 10/10 0/0 0/0 .text allUnequip__9daAlink_cFi */
#pragma push
@@ -16435,14 +16512,13 @@ asm BOOL daAlink_c::checkGroundSpecialMode() {
/* 800BA09C-800BA0D0 0B49DC 0034+00 4/4 0/0 0/0 .text commonCheckNextAction__9daAlink_cFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::commonCheckNextAction(int param_0) {
nofralloc
#include "asm/d/a/d_a_alink/commonCheckNextAction__9daAlink_cFi.s"
void daAlink_c::commonCheckNextAction(int param_0) {
if (i_checkWolf()) {
checkNextActionWolf(param_0);
} else {
checkNextAction(param_0);
}
}
#pragma pop
/* 800BA0D0-800BA6A0 0B4A10 05D0+00 91/91 0/0 0/0 .text checkNextAction__9daAlink_cFi */
#pragma push
@@ -16927,10 +17003,6 @@ asm void daAlink_c::returnKeepItemData() {
}
#pragma pop
inline daHorse_c* i_dComIfGp_getHorseActor() {
return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1);
}
/* 800BF8D0-800BF9F0 0BA210 0120+00 2/2 0/0 0/0 .text setItemModel__9daAlink_cFv */
#pragma push
#pragma optimization_level 0
@@ -29627,15 +29699,14 @@ asm void daAlink_c::procIronBallReturn() {
}
#pragma pop
/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL daAlink_c::checkEventRun() const {
nofralloc
#include "asm/d/a/d_a_alink/checkEventRun__9daAlink_cCFv.s"
inline BOOL i_dComIfGp_event_runCheck() {
return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */
BOOL daAlink_c::checkEventRun() const {
return i_dComIfGp_event_runCheck() || checkPlayerDemoMode();
}
#pragma pop
/* 80115C50-80115D08 110590 00B8+00 2/2 0/0 0/0 .text createNpcTks__9daAlink_cFP4cXyziUl
*/
+18 -29
View File
@@ -8,58 +8,47 @@
#include "dolphin/types.h"
BOOL e_wb_class::checkWait() {
return unk1460 == 0x2A;
return field_0x5b4 == 0x2A;
}
void e_wb_class::setPlayerRideNow() {
unk1680 = 0x67;
unk1460 = 0;
unk1726 |= 3;
field_0x690 = 0x67;
field_0x5b4 = 0;
field_0x6be |= 3;
}
void e_wb_class::setPlayerRide() {
unk1680 = 0x65;
unk1460 = 0;
unk1726 |= 3;
field_0x690 = 0x65;
field_0x5b4 = 0;
field_0x6be |= 3;
mZ2Ride.setLinkRiding(true);
}
void e_wb_class::getOff() {
if (!checkDownDamage() || unk1680 == 0x67) {
unk1680 = 0;
if (!checkDownDamage() || field_0x690 == 0x67) {
field_0x690 = 0;
} else {
unk1682 = 0;
field_0x692 = 0;
}
unk1460 = 0;
unk1726 &= 0xfffc;
field_0x5b4 = 0;
field_0x6be &= 0xfffc;
mZ2Ride.setLinkRiding(false);
}
BOOL e_wb_class::checkDownDamage() {
bool downDamage = false;
s16 tmp = unk1680;
if (tmp != 0x65 && tmp != 0x66 && tmp != 0x15) {
downDamage = true;
}
return downDamage;
return field_0x690 != 0x65 && field_0x690 != 0x66 && field_0x690 != 0x15;
}
u8 e_wb_class::checkNormalRideMode() const {
bool normalRideMode = false;
if (unk1680 != 0x66 || unk1460 < 1) {
normalRideMode = 1;
}
return normalRideMode;
return field_0x690 != 0x66 || field_0x5b4 < 1;
}
void e_wb_class::setRunRideMode() {
if (unk1680 == 0x65) {
unk1460 = 0;
unk1680 = 0x15;
unk1682 = 0x65;
if (field_0x690 == 0x65) {
field_0x5b4 = 0;
field_0x690 = 0x15;
field_0x692 = 0x65;
}
}
-4
View File
@@ -28,10 +28,6 @@ struct dSmplMdl_draw_c {
/* 80049058 */ void removeModel(J3DModelData*, int);
};
struct dMapInfo_n {
/* 8003EE5C */ void getMapPlayerPos();
};
struct dComIfG_resLoader_c {
/* 8002F314 */ dComIfG_resLoader_c();
/* 8002F328 */ ~dComIfG_resLoader_c();
-15
View File
@@ -19,25 +19,10 @@ struct daSus_c {
/* 800315A4 */ void execute();
};
struct dTres_c {
struct list_class {};
/* 8009BCB4 */ void addData(dTres_c::list_class*, s8);
};
struct dSvBit_HIO_c {
/* 8025C1F8 */ void init();
};
struct dDrawPath_c {
struct room_class {};
};
struct dMpath_c {
/* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*);
/* 8003FA40 */ void setPointer(s8, void*, int);
};
struct cMl {
/* 80263228 */ void memalignB(int, u32);
};
-87
View File
@@ -17,47 +17,6 @@ struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct ResTIMG {};
struct dRenderingMap_c {
/* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const;
/* 8003CDAC */ void renderingMap();
};
struct dDrawPath_c {
struct line_class {};
struct poly_class {};
struct group_class {};
struct floor_class {};
struct room_class {};
/* 8002ABF0 */ bool isDrawType(int);
/* 8002AD3C */ ~dDrawPath_c();
/* 8002AD84 */ void getLineColor(int, int);
/* 8003CA40 */ void rendering(dDrawPath_c::poly_class const*);
/* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
/* 8003CC24 */ void rendering(dDrawPath_c::room_class const*);
/* 8003C94C */ void rendering(dDrawPath_c::line_class const*);
/* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
/* 8003CCC4 */ void drawPath();
};
struct dRenderingFDAmap_c {
/* 8002ABF8 */ ~dRenderingFDAmap_c();
/* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
/* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
/* 8003D0AC */ void drawBack() const;
/* 8003D188 */ void preRenderingMap();
/* 8003D320 */ void postRenderingMap();
/* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*);
/* 8003D68C */ void getDecoLineColor(int, int);
/* 8003D6B8 */ void getDecorationLineWidth(int);
};
struct dMpath_n {
struct dTexObjAggregate_c {
/* 8003C85C */ void create();
@@ -68,14 +27,6 @@ struct dMpath_n {
static u8 m_texObjAgg[28];
};
struct dDlst_base_c {
/* 8002ABEC */ void draw();
};
struct _GXTlutObj {};
struct _GXTexObj {};
//
// Forward References:
//
@@ -118,46 +69,8 @@ extern "C" void getLineColor__11dDrawPath_cFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void C_MTXOrtho();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXSetArray();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXPixModeSync();
extern "C" void GXBegin();
extern "C" void GXSetLineWidth();
extern "C" void GXSetPointSize();
extern "C" void GXSetCullMode();
extern "C" void GXSetTexCopySrc();
extern "C" void GXSetTexCopyDst();
extern "C" void GXSetCopyFilter();
extern "C" void GXCopyTex();
extern "C" void GXSetNumChans();
extern "C" void GXSetChanCtrl();
extern "C" void GXLoadTexObj();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevColorIn();
extern "C" void GXSetTevAlphaIn();
extern "C" void GXSetTevColorOp();
extern "C" void GXSetTevAlphaOp();
extern "C" void GXSetTevColor();
extern "C" void GXSetTevKColorSel();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetFog();
extern "C" void GXSetBlendMode();
extern "C" void GXSetZMode();
extern "C" void GXSetZCompLoc();
extern "C" void GXSetDither();
extern "C" void GXSetProjection();
extern "C" void GXLoadPosMtxImm();
extern "C" void GXSetCurrentMtx();
extern "C" void GXSetViewport();
extern "C" void GXSetScissor();
extern "C" void GXSetClipMode();
extern "C" void __register_global_object();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
+1 -168
View File
@@ -11,122 +11,12 @@
// Types:
//
struct stage_tgsc_data_class {};
struct renderingPlusDoor_c {
/* 8002B0B4 */ ~renderingPlusDoor_c();
/* 80040518 */ void afterDrawPath();
/* 80040574 */ void drawDoor1();
/* 800405B8 */ void drawDoor2();
/* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
/* 80040710 */ void checkDispDoorS(int, int, f32);
/* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
/* 8004145C */ void beforeDrawPath();
};
struct dTres_c {
struct data_s {};
struct typeGroupData_c {};
/* 8009C360 */ void getFirstData(u8);
/* 8009C3B4 */ void getNextData(dTres_c::typeGroupData_c const*);
/* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*);
static u8 mTypeGroupListAll[204 + 4 /* padding */];
};
struct Vec {};
struct renderingPlusDoorAndCursor_c {
/* 8002B008 */ ~renderingPlusDoorAndCursor_c();
/* 800402FC */ void afterDrawPath();
/* 80040A94 */ void getFirstData(u8);
/* 80040AB8 */ void getNextData(dTres_c::typeGroupData_c*);
/* 80040ADC */ void getIconPosition(dTres_c::typeGroupData_c*) const;
/* 80040B00 */ void drawTreasure();
/* 80040E84 */ void drawTreasureAfterPlayer();
/* 80041208 */ void drawIconSingle(Vec const&, f32, f32);
/* 800412C0 */ void drawCursor(Vec const&, s16, int, f32);
};
struct dDrawPath_c {
struct room_class {};
struct group_class {};
struct line_class {};
struct poly_class {};
/* 8002ABF0 */ bool isDrawType(int);
/* 8002AD84 */ void getLineColor(int, int);
/* 8003CA40 */ void rendering(dDrawPath_c::poly_class const*);
/* 8003CC24 */ void rendering(dDrawPath_c::room_class const*);
/* 8003C94C */ void rendering(dDrawPath_c::line_class const*);
/* 8003CCC4 */ void drawPath();
};
struct renderingDAmap_c {
/* 8002B150 */ ~renderingDAmap_c();
/* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const;
/* 8003FCC8 */ void init(u8*, u16, u16, u16, u16);
/* 8003FD08 */ void entry(f32, f32, f32, int, s8);
/* 8003FD9C */ void isSwitch(dDrawPath_c::group_class const*);
/* 8003FE18 */ void draw();
/* 8003FE4C */ void getBackColor() const;
/* 8003FE54 */ void isRenderingFloor(int);
/* 8003FE6C */ void setSingleRoomSetting();
/* 8003FE70 */ void isDrawRoom(int, int) const;
/* 8003FF14 */ void preDrawPath();
/* 8003FFC4 */ void postDrawPath();
/* 8003FFEC */ void getRoomNoSingle();
/* 8003FFF4 */ void getFirstDrawRoomNo();
/* 80040094 */ void getNextDrawRoomNo(int);
/* 80040134 */ void getFirstRoomPointer();
/* 800401E8 */ void getNextRoomPointer();
/* 800402C0 */ void isDrawPath();
/* 800402E0 */ bool getFirstDrawLayerNo();
/* 800402E8 */ void getNextDrawLayerNo(int);
/* 800409B4 */ void isDrawRoomIcon(int, int) const;
/* 800409E0 */ void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const;
/* 80040AE4 */ void getIconGroupNumber(u8) const;
};
struct mDoMtx_stack_c {
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct dSv_memBit_c {
/* 80034934 */ void isDungeonItem(int) const;
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dStage_roomControl_c {
static u8 mStatus[65792];
};
struct dStage_FileList2_dt_c {};
struct dRenderingMap_c {
/* 8003CDAC */ void renderingMap();
};
struct dRenderingFDAmap_c {
/* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
/* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
/* 8003D188 */ void preRenderingMap();
/* 8003D320 */ void postRenderingMap();
/* 8003D68C */ void getDecoLineColor(int, int);
/* 8003D6B8 */ void getDecorationLineWidth(int);
};
struct dMpath_n {
struct dTexObjAggregate_c {
/* 8003C85C */ void create();
@@ -136,44 +26,6 @@ struct dMpath_n {
static u8 m_texObjAgg[28];
};
struct dMpath_c {
/* 8003F758 */ u8 isExistMapPathData();
/* 8003F760 */ void getTopBottomFloorNo(s8*, s8*);
/* 8003F7E8 */ void createWork();
/* 8003FA40 */ void setPointer(s8, void*, int);
/* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*);
/* 8003FB70 */ void create();
/* 8003FBD0 */ void reset();
/* 8003FC70 */ void remove();
static u8 mLayerList[4];
static f32 mMinX;
static f32 mMaxX;
static f32 mMinZ;
static f32 mMaxZ;
static f32 mAllCenterX;
static f32 mAllCenterZ;
static f32 mAllSizeX;
static f32 mAllSizeZ;
};
struct dMapInfo_n {
/* 8003ECA0 */ void chkGetCompass();
/* 8003ECD8 */ void chkGetMap();
/* 8003ED10 */ void isVisitedRoom(int);
/* 8003ED60 */ void correctionOriginPos(s8, Vec*);
/* 8003EDC0 */ void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
/* 8003EDEC */ void rotAngle(dStage_FileList2_dt_c const*, Vec*);
/* 8003EE5C */ void getMapPlayerPos();
/* 8003EF20 */ void getMapPlayerAngleY();
/* 8003EF70 */ void getConstRestartIconPointer();
/* 8003F02C */ void getMapRestartPos();
/* 8003F0F8 */ void getMapRestartAngleY();
/* 8003F19C */ void getRoomCenter(int, f32*, f32*);
/* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
};
struct dMapInfo_c {
/* 8003F40C */ void calcFloorNo(f32, bool, int);
/* 8003F570 */ void calcNowStayFloorNo(f32, bool);
@@ -187,12 +39,6 @@ struct dMapInfo_c {
static u8 mNowStayRoomNo[4];
};
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
//
// Forward References:
//
@@ -316,19 +162,9 @@ extern "C" void getFirstData__7dTres_cFUc();
extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c();
extern "C" void getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c();
extern "C" void* __nw__FUl();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void PSMTXMultVecArray();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXSetArray();
extern "C" void GXSetMisc();
extern "C" void GXBegin();
extern "C" void GXLoadTexObj();
extern "C" void GXInvalidateTexAll();
extern "C" void GXSetTevColor();
extern "C" void GXLoadPosMtxImm();
extern "C" void _savegpr_20();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
@@ -343,15 +179,12 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void floor();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 m_texObjAgg__8dMpath_n[28];
extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */];
extern "C" extern u8 g_fmapHIO[1188];
extern "C" extern u32 __float_max;
extern "C" extern u8 struct_80450D64[4];
//
// Declarations:
@@ -432,7 +265,7 @@ SECTION_SDATA2 static u8 lit_3796[4] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMapInfo_n::getMapPlayerPos() {
asm Vec dMapInfo_n::getMapPlayerPos() {
nofralloc
#include "asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s"
}
+2 -2
View File
@@ -401,7 +401,7 @@ bool dMw_DOWN_TRIGGER() {
return mDoCPd_c::getTrigDown(mDoCPd_c::PAD_0);
}
bool dMw_LEFT_TRIGGER() {
BOOL dMw_LEFT_TRIGGER() {
if (mDoCPd_c::getTrigLeft(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) {
return true;
} else {
@@ -409,7 +409,7 @@ bool dMw_LEFT_TRIGGER() {
}
}
bool dMw_RIGHT_TRIGGER() {
BOOL dMw_RIGHT_TRIGGER() {
if (mDoCPd_c::getTrigRight(mDoCPd_c::PAD_0) && !dMw_UP_TRIGGER()) {
return true;
} else {
-7
View File
@@ -290,13 +290,6 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
// Declarations:
//
/* ############################################################################################## */
/* 80399338-80399338 025998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80399338 = "F_SP00";
#pragma pop
/* 804549C8-804549CC 002FC8 0004+00 9/9 0/0 0/0 .sdata2 @4662 */
SECTION_SDATA2 static u8 lit_4662[4] = {
0x00,
+1
View File
@@ -5,6 +5,7 @@
#include "d/meter/d_meter2_info.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_object.h"
#include "d/save/d_save.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+22
View File
@@ -1685,6 +1685,27 @@ dMeter_fmapHIO_c::dMeter_fmapHIO_c() {
}
/* 80200BCC-80200CD4 1FB50C 0108+00 2/1 0/0 0/0 .text __dt__16dMeter_fmapHIO_cFv */
#ifdef NONMATCHING
dMeter_fmapHIO_c::~dMeter_fmapHIO_c() {
if (field_0xc != NULL) {
mDoExt_getGameHeap()->free(field_0xc);
field_0xc = NULL;
}
if (field_0x10 != NULL) {
mDoExt_getGameHeap()->free(field_0x10);
field_0x10 = NULL;
}
if (field_0x8 != NULL) {
field_0x8->unmount();
delete field_0x8;
field_0x8 = NULL;
}
delete mMapIconHIO;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1694,6 +1715,7 @@ extern "C" asm void __dt__16dMeter_fmapHIO_cFv() {
#include "asm/d/meter/d_meter_HIO/__dt__16dMeter_fmapHIO_cFv.s"
}
#pragma pop
#endif
/* 80200CD4-80200D58 1FB614 0084+00 1/1 0/0 0/0 .text __ct__18dMeter_cursorHIO_cFv */
dMeter_cursorHIO_c::dMeter_cursorHIO_c() {
+563 -182
View File
@@ -4,68 +4,14 @@
//
#include "d/meter/d_meter_map.h"
#include "d/com/d_com_inf_game.h"
#include "d/menu/d_menu_window.h"
#include "d/msg/d_msg_object.h"
#include "f_op/f_op_overlap_mng.h"
#include "Z2AudioLib/Z2AudioMgr.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct dSv_memBit_c {
/* 80034934 */ void isDungeonItem(int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dStage_roomControl_c {
/* 80024384 */ void getStatusRoomDt(int);
};
struct dMsgObject_c {
/* 8023822C */ void getStatus();
};
struct dMap_c {
/* 80029874 */ dMap_c(int, int, int, int);
/* 8002A32C */ void _move(f32, f32, int, f32);
/* 8002AB54 */ void _draw();
};
struct dMapInfo_n {
/* 8003EE5C */ void getMapPlayerPos();
};
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J2DPicture {
/* 802FC708 */ J2DPicture(ResTIMG const*);
};
//
// Forward References:
//
@@ -132,78 +78,156 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 8020D49C-8020D528 207DDC 008C+00 1/1 0/0 0/0 .text isEnableDispMap__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isEnableDispMap() {
nofralloc
#include "asm/d/meter/d_meter_map/isEnableDispMap__11dMeterMap_cFv.s"
inline BOOL dComIfGp_event_runCheck() {
return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
inline u16 dComIfGp_event_checkHind(u16 flag) {
if (!dComIfGp_event_runCheck()) {
return false;
}
return g_dComIfG_gameInfo.play.getEvent().checkHind(flag);
}
inline u16 dComIfGp_event_chkEventFlag(u16 flag) {
return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag);
}
inline dStage_stageDt_c* dComIfGp_getStage() {
return &g_dComIfG_gameInfo.play.getStage();
}
inline daPy_py_c* daPy_getPlayerActorClass() {
return (daPy_py_c*)dComIfGp_getPlayer(0);
}
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
}
/* 8020D49C-8020D528 207DDC 008C+00 1/1 0/0 0/0 .text isEnableDispMap__11dMeterMap_cFv */
bool dMeterMap_c::isEnableDispMap() {
bool minimapEnable = false;
stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo();
if (pstag != NULL && getMapDispSizeTypeNo() != 0) {
minimapEnable = dStage_stagInfo_GetMiniMap(pstag) != 0;
}
bool enableMap = false;
if (minimapEnable && dMpath_c::isExistMapPathData()) {
enableMap = true;
}
return enableMap;
}
#pragma pop
/* 8020D528-8020D650 207E68 0128+00 3/3 0/0 0/0 .text getMapDispSizeTypeNo__11dMeterMap_cFv */
// stayNo load block in wrong order
#ifdef NONMATCHING
int dMeterMap_c::getMapDispSizeTypeNo() {
int uvar6 = 7;
int stayNo = dComIfGp_roomControl_getStayNo();
dStage_FileList_dt_c* fList = dComIfGp_roomControl_getStatusRoomDt(stayNo)->mRoomDt.getFileListInfo();
if (fList != NULL) {
uvar6 = dStage_FileList_dt_getMiniMap(fList);
}
u32 stageMapSizeTypeNo = dStage_stagInfo_GetMiniMap(dComIfGp_getStage()->getStagInfo());
s32 mapDispType = dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo());
if (mapDispType == 1) {
uvar6 = 1;
} else if (uvar6 == 7) {
uvar6 = stageMapSizeTypeNo;
}
int mapDispSizeType = 0;
switch (uvar6) {
case 0:
break;
case 1:
if (mapDispType == 1) {
mapDispSizeType = 4;
} else {
mapDispSizeType = 1;
}
break;
case 2:
if (mapDispType != 1) {
mapDispSizeType = 2;
}
break;
case 3:
if (mapDispType == 1) {
mapDispSizeType = 5;
} else {
mapDispSizeType = 3;
}
break;
}
return mapDispSizeType;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::getMapDispSizeTypeNo() {
asm int dMeterMap_c::getMapDispSizeTypeNo() {
nofralloc
#include "asm/d/meter/d_meter_map/getMapDispSizeTypeNo__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020D650-8020D690 207F90 0040+00 5/5 3/3 0/0 .text
* isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
nofralloc
#include "asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s"
}
#pragma pop
bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
if (isEnableDispMap() && getMapDispSizeTypeNo()) {
return true;
}
/* ############################################################################################## */
/* 80454820-80454828 002E20 0004+04 1/1 0/0 0/0 .sdata2 @4076 */
SECTION_SDATA2 static f32 lit_4076[1 + 1 /* padding */] = {
421.0f,
/* padding */
0.0f,
};
return false;
}
/* 8020D690-8020D698 207FD0 0008+00 2/2 0/0 0/0 .text
* getMapDispEdgeBottomY_Layout__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::getMapDispEdgeBottomY_Layout() {
nofralloc
#include "asm/d/meter/d_meter_map/getMapDispEdgeBottomY_Layout__11dMeterMap_cFv.s"
f32 dMeterMap_c::getMapDispEdgeBottomY_Layout() {
return 421.0f;
}
#pragma pop
/* 8020D698-8020D72C 207FD8 0094+00 2/2 0/0 0/0 .text isEventRunCheck__11dMeterMap_cFv */
// missing gameinfo load
#ifdef NONMATCHING
bool dMeterMap_c::isEventRunCheck() {
if (dComIfGp_event_runCheck()) {
return true;
} else if (dMsgObject_isTalkNowCheck()) {
return true;
}
return dComIfGp_event_runCheck() != field_0x30 ? 1 : 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isEventRunCheck() {
asm bool dMeterMap_c::isEventRunCheck() {
nofralloc
#include "asm/d/meter/d_meter_map/isEventRunCheck__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454828-80454830 002E28 0008+00 3/3 0/0 0/0 .sdata2 @4100 */
@@ -211,14 +235,21 @@ SECTION_SDATA2 static f64 lit_4100 = 4503601774854144.0 /* cast s32 to float */;
/* 8020D72C-8020D75C 20806C 0030+00 2/2 0/0 0/0 .text getMapDispEdgeLeftX_Layout__11dMeterMap_cFv
*/
#ifdef NONMATCHING
// matches with literal
f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() {
return field_0x28 + 35;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::getMapDispEdgeLeftX_Layout() {
asm f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() {
nofralloc
#include "asm/d/meter/d_meter_map/getMapDispEdgeLeftX_Layout__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454830-80454834 002E30 0004+00 2/2 0/0 0/0 .sdata2 @4128 */
@@ -237,18 +268,29 @@ SECTION_SDATA2 static f64 lit_4131 = 4503599627370496.0 /* cast u32 to float */;
/* 8020D75C-8020D7E4 20809C 0088+00 0/0 1/1 0/0 .text getMapDispEdgeTop__11dMeterMap_cFv
*/
// matches with literals
#ifdef NONMATCHING
f32 dMeterMap_c::getMapDispEdgeTop() {
f32 tmp = 0.0f;
if (mMap != NULL) {
tmp = mMap->getTexSizeY() - mMap->getTexelPerCm() * (mMap->getPackZ() - mMap->getPackPlusZ()) - mMap->getTopEdgePlus();
}
return getMapDispEdgeBottomY_Layout() - tmp;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::getMapDispEdgeTop() {
asm f32 dMeterMap_c::getMapDispEdgeTop() {
nofralloc
#include "asm/d/meter/d_meter_map/getMapDispEdgeTop__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020D7E4-8020D7EC 208124 0008+00 2/2 0/0 0/0 .text getDispPosInside_OffsetX__11dMeterMap_cFv */
bool dMeterMap_c::getDispPosInside_OffsetX() {
return false;
s16 dMeterMap_c::getDispPosInside_OffsetX() {
return 0;
}
/* ############################################################################################## */
@@ -257,51 +299,56 @@ SECTION_SDATA2 static f32 lit_4159 = -36.0f;
/* 8020D7EC-8020D874 20812C 0088+00 2/2 0/0 0/0 .text getDispPosOutSide_OffsetX__11dMeterMap_cFv
*/
// calculation order is wrong
#ifdef NONMATCHING
s16 dMeterMap_c::getDispPosOutSide_OffsetX() {
f32 dvar3 = -36.0f - mSizeW;
f32 tmp = 0.0f;
if (mMap != NULL) {
tmp = (mMap->getTexelPerCm() * mMap->getPackX()) + (mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ()));
tmp += dvar3;
}
return tmp - getMapDispEdgeLeftX_Layout();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::getDispPosOutSide_OffsetX() {
asm s16 dMeterMap_c::getDispPosOutSide_OffsetX() {
nofralloc
#include "asm/d/meter/d_meter_map/getDispPosOutSide_OffsetX__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020D874-8020D8BC 2081B4 0048+00 2/2 2/2 0/0 .text setDispPosInsideFlg_SE_On__11dMeterMap_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::setDispPosInsideFlg_SE_On() {
nofralloc
#include "asm/d/meter/d_meter_map/setDispPosInsideFlg_SE_On__11dMeterMap_cFv.s"
void dMeterMap_c::setDispPosInsideFlg_SE_On() {
if (isEnableDispMapAndMapDispSizeTypeNo()) {
dComIfGp_mapShow();
field_0x2d = 1;
field_0x2e = 7;
}
}
#pragma pop
/* 8020D8BC-8020D8F8 2081FC 003C+00 1/1 2/2 0/0 .text setDispPosOutsideFlg_SE_On__11dMeterMap_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::setDispPosOutsideFlg_SE_On() {
nofralloc
#include "asm/d/meter/d_meter_map/setDispPosOutsideFlg_SE_On__11dMeterMap_cFv.s"
void dMeterMap_c::setDispPosOutsideFlg_SE_On() {
dComIfGp_mapHide();
field_0x2d = 0;
field_0x2e = 7;
}
#pragma pop
/* 8020D8F8-8020D900 -00001 0008+00 0/0 0/0 0/0 .text setMapAlpha__11dMeterMap_cFUc */
void dMeterMap_c::setMapAlpha(u8 param_0) {
*(u8*)(((u8*)this) + 44) /* this->field_0x2c */ = (u8)(param_0);
void dMeterMap_c::setMapAlpha(u8 alpha) {
mMapAlpha = alpha;
}
/* 8020D900-8020D948 208240 0048+00 3/3 1/1 0/0 .text isMapOpenCheck__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dMeterMap_c::isMapOpenCheck() {
nofralloc
#include "asm/d/meter/d_meter_map/isMapOpenCheck__11dMeterMap_cFv.s"
bool dMeterMap_c::isMapOpenCheck() {
return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 7 ? false : true;
}
#pragma pop
/* ############################################################################################## */
/* 803BF2D8-803BF2F8 -00001 0020+00 1/1 0/0 0/0 .data @4516 */
@@ -316,36 +363,102 @@ SECTION_DATA static void* lit_4516[8] = {
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x190),
};
/* 803BF2F8-803BF308 01C418 0010+00 2/2 0/0 0/0 .data __vt__11dMeterMap_c */
SECTION_DATA extern void* __vt__11dMeterMap_c[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__11dMeterMap_cFv,
(void*)__dt__11dMeterMap_cFv,
};
/* 8020D948-8020D990 208288 0048+00 0/0 1/1 0/0 .text __ct__11dMeterMap_cFP9J2DScreen */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterMap_c::dMeterMap_c(J2DScreen* param_0) {
nofralloc
#include "asm/d/meter/d_meter_map/__ct__11dMeterMap_cFP9J2DScreen.s"
dMeterMap_c::dMeterMap_c(J2DScreen* p_scrn) {
_create(p_scrn);
}
#pragma pop
/* 8020D990-8020D9EC 2082D0 005C+00 1/0 0/0 0/0 .text __dt__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterMap_c::~dMeterMap_c() {
nofralloc
#include "asm/d/meter/d_meter_map/__dt__11dMeterMap_cFv.s"
dMeterMap_c::~dMeterMap_c() {
_delete();
}
#pragma pop
/* 8020D9EC-8020DC50 20832C 0264+00 1/1 0/0 0/0 .text _create__11dMeterMap_cFP9J2DScreen
*/
// matches with auto gen literals
#ifdef NONMATCHING
void dMeterMap_c::_create(J2DScreen* param_0) {
s32 sizeX;
s32 sizeY;
s32 dispSizeW;
s32 dispSizeH;
getMapDispSizeTypeNo();
switch (getMapDispSizeTypeNo()) {
case 1:
dispSizeW = 216;
dispSizeH = 216;
sizeX = 144;
sizeY = 144;
break;
case 2:
dispSizeW = 216;
dispSizeH = 216;
sizeX = 216;
sizeY = 216;
break;
case 3:
dispSizeW = 216;
dispSizeH = 216;
sizeX = 96;
sizeY = 96;
break;
case 0:
case 4:
dispSizeW = 144;
dispSizeH = 144;
sizeX = 144;
sizeY = 144;
break;
case 5:
dispSizeW = 144;
dispSizeH = 144;
sizeX = 96;
sizeY = 96;
break;
}
mSizeW = (s16)sizeX;
mSizeH = (s16)sizeY;
mMap = new dMap_c(sizeX, sizeY, dispSizeW, dispSizeH);
mMapJ2DPicture = new J2DPicture(mMap->getResTIMGPointer());
mIsCompass = dComIfGs_isDungeonItemCompass();
mIsMap = dComIfGs_isDungeonItemMap();
field_0x14 = 0;
field_0x2a = 0;
if (dComIfGp_checkMapShow()) {
field_0x2d = 1;
if (!isEnableDispMapAndMapDispSizeTypeNo()) {
field_0x2d = 0;
}
if (!isMapOpenCheck()) {
field_0x2d = 0;
}
} else {
field_0x2d = 0;
}
if (field_0x2d != 0) {
field_0x2d = 1;
field_0x28 = getDispPosInside_OffsetX();
dMeter2Info_setMapStatus(1);
} else {
field_0x2d = 0;
field_0x28 = getDispPosOutSide_OffsetX();
dMeter2Info_setMapStatus(0);
}
field_0x2e = 0;
field_0x28 = 0;
field_0x30 = 0;
field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -354,16 +467,26 @@ asm void dMeterMap_c::_create(J2DScreen* param_0) {
#include "asm/d/meter/d_meter_map/_create__11dMeterMap_cFP9J2DScreen.s"
}
#pragma pop
#endif
/* 8020DC50-8020DCE4 208590 0094+00 1/1 0/0 0/0 .text _delete__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::_delete() {
nofralloc
#include "asm/d/meter/d_meter_map/_delete__11dMeterMap_cFv.s"
void dMeterMap_c::_delete() {
if (mMapJ2DPicture != NULL) {
delete mMapJ2DPicture;
}
if (mMap != NULL) {
delete mMap;
}
if (isEnableDispMapAndMapDispSizeTypeNo()) {
if (field_0x2d != 0) {
dComIfGp_mapShow();
} else {
dComIfGp_mapHide();
}
}
}
#pragma pop
/* ############################################################################################## */
/* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -373,6 +496,50 @@ SECTION_DEAD static char const* const stringBase_80398208 = "F_SP115";
#pragma pop
/* 8020DCE4-8020DF1C 208624 0238+00 0/0 1/1 0/0 .text _move__11dMeterMap_cFUl */
// just regalloc
#ifdef NONMATCHING
void dMeterMap_c::_move(u32 param_0) {
if (!field_0x2b && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118])) {
if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[119]);
} else {
field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]);
dMeter2Info_setPauseStatus(2);
}
}
int stayNo = dComIfGp_roomControl_getStayNo();
field_0x14 = param_0;
field_0x2a = checkMoveStatus();
if (field_0x2a == 1 || field_0x2a == 2 || field_0x2a == 3 ||
dMeter2Info_getPauseStatus() == 7 ||
dMeter2Info_getPauseStatus() == 2 ||
dMeter2Info_getPauseStatus() == 6 ||
dMeter2Info_getPauseStatus() == 4 ||
dMeter2Info_getPauseStatus() == 3 ||
dMeter2Info_getPauseStatus() == 5) {
ctrlShowMap();
}
if (field_0x2d != 0) {
if (field_0x28 != getDispPosInside_OffsetX()) {
cLib_addCalcAngleS(&field_0x28, getDispPosInside_OffsetX(), 2, 60, 10);
}
}
else {
cLib_addCalcAngleS(&field_0x28, getDispPosOutSide_OffsetX(), 2, 60, 10);
}
Vec map_pos = dMapInfo_n::getMapPlayerPos();
field_0x18 = field_0x28 + getMapDispEdgeLeftX_Layout();
field_0x1c = getMapDispEdgeBottomY_Layout() - mSizeH;
mMap->_move(map_pos.x, map_pos.z, stayNo, map_pos.y);
field_0x30 = dComIfGp_event_runCheck();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -381,32 +548,122 @@ asm void dMeterMap_c::_move(u32 param_0) {
#include "asm/d/meter/d_meter_map/_move__11dMeterMap_cFUl.s"
}
#pragma pop
#endif
/* 8020DF1C-8020DF68 20885C 004C+00 0/0 1/1 0/0 .text _draw__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::_draw() {
nofralloc
#include "asm/d/meter/d_meter_map/_draw__11dMeterMap_cFv.s"
void dMeterMap_c::_draw() {
mMap->_draw();
dComIfGd_set2DOpa(this);
}
#pragma pop
/* 8020DF68-8020E070 2088A8 0108+00 1/0 0/0 0/0 .text draw__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::draw() {
nofralloc
#include "asm/d/meter/d_meter_map/draw__11dMeterMap_cFv.s"
void dMeterMap_c::draw() {
if (mMap != NULL && mMap->isDraw()) {
dComIfGp_getCurrentGrafPort()->setup2D();
f32 sizeX = mSizeW;
f32 sizeY = mSizeH;
f32 tmp2 = field_0x18;
f32 tmp3 = field_0x1c;
mMapJ2DPicture->setAlpha(mMapAlpha);
mMapJ2DPicture->draw(tmp2, tmp3, sizeX, sizeY, false, false, false);
mMapJ2DPicture->calcMtx();
}
}
#pragma pop
/* ############################################################################################## */
/* 80454844-80454848 002E44 0004+00 3/3 0/0 0/0 .sdata2 @4515 */
SECTION_SDATA2 static f32 lit_4515 = -1.0f;
/* 8020E070-8020E45C 2089B0 03EC+00 2/1 0/0 0/0 .text ctrlShowMap__11dMeterMap_cFv */
// matches with literals
#ifdef NONMATCHING
void dMeterMap_c::ctrlShowMap() {
if (!dMeter2Info_isGameStatus(1)) {
if (!isMapOpenCheck() && !isEventRunCheck()) {
if (dMw_LEFT_TRIGGER() || dMw_RIGHT_TRIGGER()) {
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
} else {
if (dMeter2Info_getPauseStatus() == 1 || dMeter2Info_getPauseStatus() == 7 ||
dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5 ||
dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6) {
if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) {
setDispPosInsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
dMeter2Info_setMapStatus(1);
}
if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0 && isFmapScreen()) {
switch (dMeter2Info_getPauseStatus()) {
case 1:
dMeter2Info_setMapStatus(4);
break;
case 2:
dMeter2Info_setMapStatus(7);
break;
case 3:
dMeter2Info_setMapStatus(8);
break;
case 5:
dMeter2Info_setMapStatus(9);
break;
case 6:
dMeter2Info_setMapStatus(5);
break;
case 7:
dMeter2Info_setMapStatus(3);
break;
}
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
dMeter2Info_resetPauseStatus();
} else {
if (dMeter2Info_getPauseStatus() == 4) {
dMeter2Info_resetPauseStatus();
if (isDmapScreen()) {
if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) {
setDispPosInsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
dMeter2Info_setMapStatus(1);
}
if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0) {
dMeter2Info_setMapStatus(6);
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
} else if (!mDoCPd_c::getTrigUp(0) && !mDoCPd_c::getTrigDown(0)) {
keyCheck();
}
}
if (mIsCompass != dComIfGs_isDungeonItemCompass()) {
if (!isDispPosInsideFlg()) {
setDispPosInsideFlg_SE_On();
dMeter2Info_setMapStatus(1);
}
mIsCompass = dComIfGs_isDungeonItemCompass();
}
if (mIsMap != dComIfGs_isDungeonItemMap()) {
if (!isDispPosInsideFlg()) {
setDispPosInsideFlg_SE_On();
dMeter2Info_setMapStatus(1);
}
mIsMap = dComIfGs_isDungeonItemMap();
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -415,48 +672,117 @@ asm void dMeterMap_c::ctrlShowMap() {
#include "asm/d/meter/d_meter_map/ctrlShowMap__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020E45C-8020E4C8 208D9C 006C+00 1/1 0/0 0/0 .text checkMoveStatus__11dMeterMap_cFv */
// field_0x2d compare is weird
#ifdef NONMATCHING
u8 dMeterMap_c::checkMoveStatus() {
if (isShow(field_0x14)) {
if (isEnableDispMapAndMapDispSizeTypeNo()) {
if (isDispPosInsideFlg()) {
return 1;
}
return 2;
}
return 3;
}
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::checkMoveStatus() {
asm u8 dMeterMap_c::checkMoveStatus() {
nofralloc
#include "asm/d/meter/d_meter_map/checkMoveStatus__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 8020E4C8-8020E620 208E08 0158+00 2/2 0/0 0/0 .text isShow__11dMeterMap_cFUl */
// extra gameinfo label load for dComIfGp_event_checkHind
#ifdef NONMATCHING
bool dMeterMap_c::isShow(u32 param_0) {
if ((param_0 & 0x4000) || fopOvlpM_IsDoingReq() || ((param_0 & 0x40) && dComIfGp_event_checkHind(0x100) && !dComIfGp_event_chkEventFlag(0x40)) ||
daPy_getPlayerActorClass()->i_getSumouMode() || (param_0 & 0x200000) || (param_0 & 0x100) ||
(param_0 & 0x80) || (param_0 & 0x40000000) || (param_0 & 0x1000) ||
(param_0 & 0x100000) || (param_0 & 0x20000) || (param_0 & 8) ||
(param_0 & 0x10) || (param_0 & 0x1000000) || (param_0 & 0x800000) ||
(param_0 & 0x20) || (param_0 & 0x4000000) || (param_0 & 0x10000000) ||
(param_0 & 0x800) || (param_0 & 0x20000000) || daPy_getPlayerActorClass()->checkEnemyAttentionLock() || dMeter2Info_isGameStatus(2)) {
return false;
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isShow(u32 param_0) {
asm bool dMeterMap_c::isShow(u32 param_0) {
nofralloc
#include "asm/d/meter/d_meter_map/isShow__11dMeterMap_cFUl.s"
}
#pragma pop
#endif
/* 8020E620-8020E70C 208F60 00EC+00 3/3 0/0 0/0 .text isFmapScreen__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isFmapScreen() {
nofralloc
#include "asm/d/meter/d_meter_map/isFmapScreen__11dMeterMap_cFv.s"
bool dMeterMap_c::isFmapScreen() {
if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 0 ||
dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 5 ||
dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 3 ||
dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 4 ||
dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 6) {
return true;
}
return false;
}
#pragma pop
/* 8020E70C-8020E754 20904C 0048+00 3/3 0/0 0/0 .text isDmapScreen__11dMeterMap_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isDmapScreen() {
nofralloc
#include "asm/d/meter/d_meter_map/isDmapScreen__11dMeterMap_cFv.s"
bool dMeterMap_c::isDmapScreen() {
return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1 ? 1 : 0;
}
#pragma pop
/* 8020E754-8020E9CC 209094 0278+00 0/0 1/1 0/0 .text meter_map_move__11dMeterMap_cFUl */
// matches with literals
#ifdef NONMATCHING
void dMeterMap_c::meter_map_move(u32 param_0) {
if (isShow(param_0) && isMapOpenCheck()) {
if (dMeter2Info_getPauseStatus() == 6) {
if (!dMeter2Info_isSub2DStatus(1) && isFmapScreen()) {
dMeter2Info_setMapStatus(3);
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
dMeter2Info_resetPauseStatus();
} else {
if (dMw_LEFT_TRIGGER() && !dComIfGp_event_runCheck() && !dMsgObject_isTalkNowCheck() &&
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
if (dMeter2Info_getMapStatus() == 0 && !dMeter2Info_isSub2DStatus(1)) {
if (isFmapScreen() || isDmapScreen()) {
dMeter2Info_setMapStatus(2);
dMeter2Info_setMapKeyDirection(0x200);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
}
else if (dMw_RIGHT_TRIGGER() && !dComIfGp_event_runCheck() && !dMsgObject_isTalkNowCheck() &&
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
if (!dMeter2Info_isSub2DStatus(1)) {
if (isFmapScreen() || isDmapScreen()) {
dMeter2Info_setMapStatus(2);
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -465,8 +791,62 @@ asm void dMeterMap_c::meter_map_move(u32 param_0) {
#include "asm/d/meter/d_meter_map/meter_map_move__11dMeterMap_cFUl.s"
}
#pragma pop
#endif
/* 8020E9CC-8020ED60 20930C 0394+00 1/1 0/0 0/0 .text keyCheck__11dMeterMap_cFv */
// matches with literals
#ifdef NONMATCHING
void dMeterMap_c::keyCheck() {
if (dMw_LEFT_TRIGGER() && !isEventRunCheck() && (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
if (dMeter2Info_getMapStatus() == 1) {
if (isDispPosInsideFlg()) {
setDispPosOutsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_setMapStatus(0);
}
} else if (dMeter2Info_getMapStatus() == 0) {
if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
dMeter2Info_setMapStatus(2);
dMeter2Info_setMapKeyDirection(0x200);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
} else {
setDispPosInsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
dMeter2Info_setMapStatus(1);
}
}
} else if (dMw_RIGHT_TRIGGER() && !isEventRunCheck() && (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
if (dMeter2Info_getMapStatus() == 0) {
if (isEnableDispMapAndMapDispSizeTypeNo()) {
if (!isDispPosInsideFlg()) {
setDispPosInsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
dMeter2Info_setMapStatus(1);
}
} else if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
dMeter2Info_setMapStatus(2);
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
} else if (dMeter2Info_getMapStatus() == 1 && isDispPosInsideFlg()) {
if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
dMeter2Info_setMapStatus(2);
dMeter2Info_setMapKeyDirection(0x400);
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
} else {
setDispPosOutsideFlg_SE_On();
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_setMapStatus(0);
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -475,5 +855,6 @@ asm void dMeterMap_c::keyCheck() {
#include "asm/d/meter/d_meter_map/keyCheck__11dMeterMap_cFv.s"
}
#pragma pop
#endif
/* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+1 -238
View File
@@ -12,32 +12,8 @@
// Types:
//
struct msg_class {};
struct JKRHeap {
/* 802CE784 */ void getTotalFreeSize();
};
struct JKRArchive {
struct EMountMode {};
};
struct mDoDvdThd_mountXArchive_c {
/* 800161E0 */ void create(char const*, u8, JKRArchive::EMountMode, JKRHeap*);
};
struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct jmessage_tControl {};
struct Vec {};
struct cXyz {
/* 8026702C */ bool operator==(Vec const&) const;
};
struct jmessage_tReference {
/* 80228B04 */ jmessage_tReference();
/* 80229034 */ void pageSend();
@@ -58,49 +34,11 @@ struct jmessage_tRenderingProcessor {
/* 8022E12C */ void resetRendering();
};
struct fopAc_ac_c {};
struct daPy_py_c {
static u8 m_midnaActor[4];
};
struct dSv_player_item_record_c {
/* 80033F7C */ void getBombNum(u8) const;
};
struct dSv_player_item_c {
/* 80033030 */ void getItem(int, bool) const;
};
struct dSv_player_get_item_c {
/* 80033E60 */ void onFirstBit(u8);
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349A4 */ void offEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
/* 800349E0 */ void setEventReg(u16, u8);
/* 80034A04 */ void getEventReg(u16) const;
};
struct dMsgString_c {
/* 80249C20 */ dMsgString_c();
/* 80249D28 */ ~dMsgString_c();
};
struct JUTFont {};
struct JKRExpHeap {};
struct dMsgScrnTree_c {
/* 80248954 */ dMsgScrnTree_c(JUTFont*, JKRExpHeap*);
};
@@ -155,154 +93,11 @@ struct dMsgScrnBase_c {
/* 8023C3EC */ void setRubyString(char*);
};
struct J2DTextBox {};
struct COutFont_c {
/* 80225C94 */ COutFont_c(u8);
};
struct dMsgObject_c {
/* 80233284 */ void _create(msg_class*);
/* 80233590 */ void _execute();
/* 802339BC */ void _draw();
/* 80233AE8 */ void _delete();
/* 80233D04 */ void setMessageIndex(u32, u32, bool);
/* 80233E70 */ void setMessageIndexDemo(u32, bool);
/* 80233F84 */ void getMessageIndex(u32);
/* 80233FD8 */ void getRevoMessageIndex(u32);
/* 802340D4 */ void getMessageIndexAlways(u32);
/* 80234128 */ void getMessageIDAlways(u32);
/* 8023413C */ void getMessageGroup(u32);
/* 80234150 */ void waitProc();
/* 80234318 */ void openProc();
/* 802349D8 */ void outnowProc();
/* 80234CCC */ void outwaitProc();
/* 80234FF0 */ void stopProc();
/* 80234FF4 */ void continueProc();
/* 8023531C */ void selectProc();
/* 8023587C */ void selectEndProc();
/* 802358D4 */ void inputProc();
/* 80235AD4 */ void finishProc();
/* 80235CC0 */ void endProc();
/* 80235EBC */ void deleteProc();
/* 8023609C */ void textmodeProc();
/* 802360A0 */ void talkStartInit();
/* 8023670C */ void fukiPosCalc(bool);
/* 802368E4 */ void setStatusLocal(u16);
/* 802368F8 */ void getStatusLocal();
/* 8023690C */ void delete_screen(bool);
/* 802369D8 */ void isSend();
/* 80236BF8 */ void readMessageGroupLocal(mDoDvdThd_mountXArchive_c**);
/* 80236C90 */ void changeFlowGroupLocal(s32);
/* 80236CD4 */ void demoMessageGroupLocal();
/* 80236D00 */ void endFlowGroupLocal();
/* 80236D0C */ void changeGroupLocal(s16);
/* 80236DE4 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
char*, char*, s16*);
/* 802370A8 */ void isGetItemMessage();
/* 802370BC */ void isKanbanMessage();
/* 802370E8 */ void isHowlMessage();
/* 802370FC */ void isMidonaMessage();
/* 80237138 */ void isMidonaNormalTalkWait();
/* 802371B0 */ void isMidonaTalkWait();
/* 802371E4 */ void isPlaceMessage();
/* 802371F8 */ void isBossMessage();
/* 8023720C */ bool isBookMessage();
/* 80237214 */ void isStaffMessage();
/* 80237228 */ void isSaveMessage();
/* 8023723C */ void isTalkMessage();
/* 802372CC */ void getSmellName();
/* 80237334 */ void getPortalName();
/* 8023738C */ void getBombName();
/* 8023741C */ void getInsectName();
/* 80237478 */ void getLetterName();
/* 802374D0 */ void getSelectBombNum();
/* 80237520 */ void onMsgSendControlLocal();
/* 80237530 */ void offMsgSendControlLocal();
/* 80237550 */ void isMsgSendControlLocal();
/* 8023755C */ void onMsgSendLocal();
/* 8023756C */ void offMsgSendLocal();
/* 8023757C */ void isMsgSendLocal();
/* 80237588 */ void isMouthCheckLocal();
/* 8023759C */ void getBombBuyPriceLocal(u8);
/* 802375E4 */ void addSelectBomBag(u8);
/* 80237610 */ void resetSelectBomBag();
/* 8023763C */ void getSelectBombBagIDLocal();
/* 8023768C */ void getSelectBombPriceLocal();
/* 8023773C */ void setEquipBombInfoLocal();
/* 80237748 */ void updateEquipBombInfoLocal();
/* 802378B8 */ void setShopWaitTimer(u8);
/* 802378CC */ void setSelectWordFlagLocal(u8);
/* 802378D4 */ void isHowlHearingModeLocal();
/* 80237934 */ void isCameraCancelFlag();
/* 80237950 */ void onCameraCancelFlag();
/* 80237968 */ void offCameraCancelFlag();
/* 80237980 */ void isKillMessageFlag();
/* 80237994 */ void onKillMessageFlag();
/* 802379AC */ void setKillMessageFlag();
/* 802379D8 */ void setKillMessageFlagLocal();
/* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
/* 80237A88 */ void setNowTalkFlowNo(s16);
/* 80237A9C */ void getNowTalkFlowNo();
/* 80237AB0 */ void setDemoMessage(u32);
/* 80237AE0 */ void setTalkHeap(void*);
/* 80237B10 */ void setTalkHeapLocal(void*);
/* 80237B54 */ void getTalkHeap();
/* 80237B68 */ void isDraw();
/* 80237BFC */ void setButtonStatusLocal();
/* 80237D88 */ void setDemoMessageLocal(u32);
/* 80237DD8 */ void getSmellTypeMessageIDLocal();
/* 80237E04 */ void setSmellTypeLocal(u8);
/* 80237E58 */ void getSelectCursorPosLocal();
/* 80237E68 */ void setSelectCursorPosLocal(u8);
/* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*);
/* 8023800C */ void readMessageGroup(mDoDvdThd_mountXArchive_c**);
/* 8023803C */ void changeFlowGroup(s32);
/* 8023806C */ void demoMessageGroup();
/* 80238098 */ void endFlowGroup();
/* 802380C4 */ void changeGroup(s16);
/* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
char*, char*, s16*);
/* 80238174 */ void getMsgDtPtr();
/* 80238188 */ void setProcessID(unsigned int);
/* 8023819C */ void getActor();
/* 802381C0 */ void getpTalkActor();
/* 802381D4 */ void getIdx();
/* 802381E8 */ void getNodeIdx();
/* 802381FC */ void setStatus(u16);
/* 8023822C */ void getStatus();
/* 80238258 */ void getScrnDrawPtr();
/* 8023826C */ void setTalkActor(fopAc_ac_c*);
/* 8023829C */ void onMsgSendControl();
/* 802382C8 */ void offMsgSendControl();
/* 802382F4 */ void isMsgSendControl();
/* 80238320 */ void onMsgSend();
/* 8023834C */ void offMsgSend();
/* 80238378 */ void isMsgSend();
/* 802383A4 */ void isMouthCheck();
/* 802383D0 */ void getMessageID();
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ void setSmellType(u8);
/* 80238440 */ void getSelectCursorPos();
/* 8023846C */ void setSelectCursorPos(u8);
/* 8023849C */ void setPortalMessageID(u16);
/* 802384B0 */ void setInsectItemNo(u8);
/* 802384C4 */ void setLetterNameID(u16);
/* 802384D8 */ void setArrowNum(u8);
/* 802384EC */ void setMsgOutputType(u8);
/* 80238500 */ void getMsgOutputType();
/* 80238514 */ void getWord();
/* 80238528 */ void getSelectWord(int);
/* 80238544 */ void setSelectWordFlag(u8);
/* 80238574 */ void getSelectWordFlag();
/* 80238588 */ void isHowlHearingMode();
/* 802385B4 */ void getSelectBombBagID();
/* 802385E0 */ void getSelectBombPrice();
/* 8023860C */ void setEquipBombInfo();
/* 80238638 */ void getItemEquipButton();
/* 8023864C */ void setSelectCancelPos(u8);
};
struct dMsgObject_HowlHIO_c {
/* 80232AEC */ dMsgObject_HowlHIO_c();
/* 80238B94 */ ~dMsgObject_HowlHIO_c();
@@ -313,26 +108,6 @@ struct dMsgObject_HIO_c {
/* 80238BDC */ ~dMsgObject_HIO_c();
};
struct dMeter2_c {
/* 8021F6EC */ void emphasisButtonDelete();
};
struct dMeter2Info_c {
/* 8021C1DC */ void isFloatingMessageVisible();
/* 8021C218 */ void resetFloatingMessage();
/* 8021C238 */ void decMsgKeyWaitTimer();
};
struct dEvt_control_c {
/* 8004368C */ void setPtT(void*);
};
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct dDemo_c {
static u8 m_control[4];
static u8 m_mesgControl[4];
@@ -351,8 +126,6 @@ struct Z2SeqMgr {
/* 802AFF8C */ void changeBgmStatus(s32);
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
@@ -361,12 +134,6 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JUtility {
struct TColor {
/* 80193960 */ TColor();
};
};
struct JMessage {
struct TControl {
/* 802A75D4 */ void reset();
@@ -661,15 +428,11 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void sprintf();
extern "C" void strcpy();
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 data_80450B70[4];
extern "C" u8 m_control__7dDemo_c[4];
extern "C" u8 m_mesgControl__7dDemo_c[4];
@@ -2090,7 +1853,7 @@ asm void dMsgObject_c::setStatus(u16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getStatus() {
asm u16 dMsgObject_c::getStatus() {
nofralloc
#include "asm/d/msg/d_msg_object/getStatus__12dMsgObject_cFv.s"
}
+1 -1
View File
@@ -287,7 +287,7 @@ asm void mDoMtx_QuatConcat(Quaternion const* param_0, Quaternion const* param_1,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMtx_MtxToRot(f32 const (*param_0)[4], csXyz* param_1) {
asm void mDoMtx_MtxToRot(MtxP param_0, csXyz* param_1) {
nofralloc
#include "asm/m_Do/m_Do_mtx/mDoMtx_MtxToRot__FPA4_CfP5csXyz.s"
}