mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
move / fix bunch of stuff (#133)
* fix some class structures / d_event wip * d_event wip * move gamepad stuff * move m_Do_main * move d_bomb / partial m_Do_reset * format * remove asm * add Z2SoundID enum * move some Z2 classes * fix * move more Z2 stuff * fix fopAc_ac_c more
This commit is contained in:
@@ -1,6 +1,29 @@
|
||||
#ifndef J3DSTRUCT_H
|
||||
#define J3DSTRUCT_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DLightInfo {
|
||||
/* 803256C4 */ void operator=(J3DLightInfo const&);
|
||||
|
||||
/* 0x00 */ cXyz mLightPosition;
|
||||
/* 0x0C */ cXyz mLightDirection;
|
||||
/* 0x18 */ _GXColor mColor;
|
||||
/* 0x1C */ f32 mA0;
|
||||
/* 0x20 */ f32 mA1;
|
||||
/* 0x24 */ f32 mA2;
|
||||
/* 0x28 */ f32 mK0;
|
||||
/* 0x2C */ f32 mK1;
|
||||
/* 0x30 */ f32 mK2;
|
||||
}; // Size = 0x34
|
||||
|
||||
struct J3DLightObj {
|
||||
/* 80018C0C */ J3DLightObj();
|
||||
|
||||
/* 0x00 */ J3DLightInfo mInfo;
|
||||
/* 0x34 */ u8 field_0x34[64];
|
||||
}; // Size = 0x74
|
||||
|
||||
#endif /* J3DSTRUCT_H */
|
||||
|
||||
@@ -8,8 +8,9 @@
|
||||
class JAISoundID {
|
||||
public:
|
||||
operator u32() const { return this->mId; }
|
||||
void operator=(JAISoundID const&);
|
||||
|
||||
JAISoundID(u32 pId) : mId(pId) {}
|
||||
JAISoundID(u32 pId);
|
||||
|
||||
JAISoundID(JAISoundID const& other);
|
||||
|
||||
@@ -62,7 +63,7 @@ public:
|
||||
/* 802A26B8 */ void calc_JAISound_();
|
||||
/* 802A29DC */ void initTrack_JAISound_(JASTrack*);
|
||||
|
||||
JAISoundID getID() const { return JAISoundID((u32)this->sound_id); }
|
||||
JAISoundID getID() const;
|
||||
u32 getUserData() const { return user_data; }
|
||||
|
||||
// TODO: do proper struct later
|
||||
@@ -167,4 +168,19 @@ private:
|
||||
JAISound* mSound;
|
||||
};
|
||||
|
||||
class JAISoundHandles {
|
||||
public:
|
||||
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
|
||||
mSoundHandle = pHandle;
|
||||
field_0x04 = param_1;
|
||||
};
|
||||
|
||||
void getHandleSoundID(JAISoundID);
|
||||
void getFreeHandle();
|
||||
|
||||
private:
|
||||
JAISoundHandle* mSoundHandle;
|
||||
int field_0x04;
|
||||
};
|
||||
|
||||
#endif /* JAISOUND_H */
|
||||
|
||||
@@ -20,6 +20,98 @@ struct TVec3<f32> {
|
||||
};
|
||||
*/
|
||||
|
||||
template <typename T>
|
||||
struct TVec2 {
|
||||
TVec2() {}
|
||||
TVec2(T x, T y) { set(x, y); }
|
||||
|
||||
void set(T x, T y) {
|
||||
this->x = x;
|
||||
this->y = y;
|
||||
}
|
||||
|
||||
void set(const TVec2& other) {
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
void setMin(const TVec2<f32>& min) {
|
||||
if (min.x <= x)
|
||||
x = min.x;
|
||||
if (min.y <= y)
|
||||
y = min.y;
|
||||
}
|
||||
|
||||
void setMax(const TVec2<f32>& max) {
|
||||
if (x <= max.x)
|
||||
x = max.x;
|
||||
if (y <= max.y)
|
||||
y = max.y;
|
||||
}
|
||||
|
||||
void add(const TVec2<T>& other) {
|
||||
x += other.x;
|
||||
y += other.y;
|
||||
}
|
||||
|
||||
bool isAbove(const TVec2<T>& other) const {
|
||||
return (other.x <= x) && (other.y <= y) ? true : false;
|
||||
}
|
||||
|
||||
T x;
|
||||
T y;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct TBox {
|
||||
TBox() : i(), f() {}
|
||||
TBox(const TBox& other) : i(other.f), f(other.y) {}
|
||||
|
||||
T i, f;
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
template<> struct TBox<TVec2<f32> > {
|
||||
f32 getWidth() const { return f.x - i.x; }
|
||||
f32 getHeight() const { return f.y - i.y; }
|
||||
|
||||
inline void operator= (const TBox<TVec2<f32> >& rhs) {
|
||||
// ???
|
||||
*(u32*)&i.x = *(u32*)&rhs.i.x;
|
||||
*(u32*)&i.y = *(u32*)&rhs.i.y;
|
||||
*(u32*)&f.x = *(u32*)&rhs.f.x;
|
||||
*(u32*)&f.y = *(u32*)&rhs.f.y;
|
||||
}
|
||||
|
||||
bool isValid() const { return f.isAbove(i); }
|
||||
|
||||
void addPos(const TVec2<f32>& pos) {
|
||||
i.add(pos);
|
||||
f.add(pos);
|
||||
}
|
||||
|
||||
bool intersect(const TBox<TVec2<f32> >& other) {
|
||||
i.setMax(other.i);
|
||||
f.setMin(other.f);
|
||||
return isValid();
|
||||
}
|
||||
|
||||
TVec2<f32> i, f;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct TBox2 : TBox<TVec2<T> > {
|
||||
TBox2() {}
|
||||
TBox2(f32 x0, f32 y0, f32 x1, f32 y1) { set(x0, y0, x1, y1); }
|
||||
|
||||
inline const TBox2& operator=(const TBox2& rhs) { *(TBox<TVec2<T> >*)this = rhs; }
|
||||
void set(const TBox2& other) { set(other.i, other.f); }
|
||||
void set(const TVec2<f32>& i, const TVec2<f32> f) { this->i.set(i), this->f.set(f); }
|
||||
void set(f32 x0, f32 y0, f32 x1, f32 y1) { i.set(x0, y0); f.set(x1, y1); }
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
} // namespace JGeometry
|
||||
|
||||
#endif
|
||||
@@ -4,32 +4,32 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct interface_of_controller_pad {
|
||||
f32 mMainStickPosX;
|
||||
f32 mMainStickPosY;
|
||||
f32 mMainStickValue;
|
||||
s16 mMainStickAngle;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
f32 mCStickPosX;
|
||||
f32 mCStickPosY;
|
||||
f32 mCStickValue;
|
||||
s16 mCStickAngle;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
f32 mAnalogA;
|
||||
f32 mAnalogB;
|
||||
f32 mTriggerLeft;
|
||||
f32 mTriggerRight;
|
||||
u32 mButtonFlags;
|
||||
u32 mPressedButtonFlags;
|
||||
s8 mGamepadErrorFlags;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
/* 0x00 */ f32 mMainStickPosX;
|
||||
/* 0x04 */ f32 mMainStickPosY;
|
||||
/* 0x08 */ f32 mMainStickValue;
|
||||
/* 0x0C */ s16 mMainStickAngle;
|
||||
/* 0x0E */ u8 field_0xe;
|
||||
/* 0x0F */ u8 field_0xf;
|
||||
/* 0x10 */ f32 mCStickPosX;
|
||||
/* 0x14 */ f32 mCStickPosY;
|
||||
/* 0x18 */ f32 mCStickValue;
|
||||
/* 0x1C */ s16 mCStickAngle;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
/* 0x1F */ u8 field_0x1f;
|
||||
/* 0x20 */ f32 mAnalogA;
|
||||
/* 0x24 */ f32 mAnalogB;
|
||||
/* 0x28 */ f32 mTriggerLeft;
|
||||
/* 0x2C */ f32 mTriggerRight;
|
||||
/* 0x30 */ u32 mButtonFlags;
|
||||
/* 0x34 */ u32 mPressedButtonFlags;
|
||||
/* 0x38 */ s8 mGamepadErrorFlags;
|
||||
/* 0x39 */ u8 mHoldLockL;
|
||||
/* 0x3A */ u8 mTrigLockL;
|
||||
/* 0x3B */ u8 mHoldLockR;
|
||||
/* 0x3C */ u8 mTrigLockR;
|
||||
/* 0x3D */ u8 field_0x3d;
|
||||
/* 0x3E */ u8 field_0x3e;
|
||||
/* 0x3F */ u8 field_0x3f;
|
||||
};
|
||||
|
||||
void cAPICPad_recalibrate(void);
|
||||
|
||||
@@ -1,6 +1,43 @@
|
||||
#ifndef Z2AUDIOMGR_H
|
||||
#define Z2AUDIOMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "Z2AudioLib/Z2SceneMgr.h"
|
||||
#include "Z2AudioLib/Z2SeMgr.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2SoundStarter.h"
|
||||
#include "Z2AudioLib/Z2StatusMgr.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2AudioMgr {
|
||||
public:
|
||||
Z2AudioMgr();
|
||||
void init(JKRSolidHeap*, u32, void*, JKRArchive*);
|
||||
void setOutputMode(u32);
|
||||
void zeldaGFrameWork();
|
||||
void gframeProcess();
|
||||
void resetProcess(u32, bool);
|
||||
void resetRecover();
|
||||
void hasReset() const;
|
||||
void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
|
||||
static Z2AudioMgr* mAudioMgrPtr;
|
||||
|
||||
private:
|
||||
/* 0x0000 */ Z2SeMgr mSeMgr;
|
||||
/* 0x03D0 */ Z2SeqMgr mSeqMgr;
|
||||
/* 0x04A4 */ Z2SceneMgr mSceneMgr;
|
||||
/* 0x04C4 */ Z2StatusMgr mStatusMgr;
|
||||
/* 0x04F4 */ // Z2SoundObjMgr mSoundObjMgr;
|
||||
/* 0x051C */ // JASAudioReseter mAudioReseter;
|
||||
/* 0x052C */ Z2SoundStarter mSoundStarter;
|
||||
/* 0x0530 */ // Z2SoundMgr mSoundMgr;
|
||||
/* 0x0D40 */ // JAISoundInfo mSoundInfo;
|
||||
/* 0x0D4C */ // Z2Audience mAudience;
|
||||
/* 0x0F2C */ // Z2SpeechMgr2 mSpeechMgr;
|
||||
/* 0x1370 */ // Z2FxLineMgr mFxLineMgr;
|
||||
};
|
||||
|
||||
#endif /* Z2AUDIOMGR_H */
|
||||
|
||||
@@ -53,12 +53,12 @@ public:
|
||||
void setLinkSwordType(s32, s32);
|
||||
void setLinkShieldType(s32, s32);
|
||||
void setLinkBootsType(s32);
|
||||
void deleteObject();
|
||||
virtual void deleteObject();
|
||||
void init(Vec*, Vec*, Vec*);
|
||||
void initKantera(Vec*);
|
||||
void deleteKantera(void);
|
||||
void setKanteraState(u8);
|
||||
void framework(u32, s8);
|
||||
virtual void framework(u32, s8);
|
||||
void setSinkDepth(s8);
|
||||
void setRiding(bool);
|
||||
void setMagnetized(bool);
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
void startLinkVoice(JAISoundID, s8);
|
||||
void startLinkVoiceLevel(JAISoundID, s8);
|
||||
void startLinkSwordSound(JAISoundID, u32, s8);
|
||||
void startCollisionSE(u32, u32);
|
||||
virtual void startCollisionSE(u32, u32);
|
||||
int startHitItemSE(u32, u32, Z2SoundObjBase*, float);
|
||||
void setResumeAttack(bool);
|
||||
|
||||
@@ -106,4 +106,23 @@ private:
|
||||
/* 0x99 */ u8 padding[3];
|
||||
};
|
||||
|
||||
class Z2CreatureEnemy : public Z2Creature {
|
||||
public:
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
/* 802C0F64 */ Z2CreatureEnemy();
|
||||
/* 802C0FC4 */ virtual void deleteObject();
|
||||
/* 802C1094 */ void init(Vec*, Vec*, u8, u8);
|
||||
/* 802C10B4 */ void init(Vec*, Vec*, Vec*, u8, u8, u8);
|
||||
/* 802C10D4 */ virtual void framework(u32, s8);
|
||||
/* 802C110C */ virtual void startCreatureSound(JAISoundID, u32, s8);
|
||||
/* 802C136C */ virtual void startCreatureSoundLevel(JAISoundID, u32, s8);
|
||||
/* 802C168C */ virtual void startCreatureVoice(JAISoundID, s8);
|
||||
/* 802C1948 */ virtual void startCreatureVoiceLevel(JAISoundID, s8);
|
||||
/* 802C199C */ virtual void startCreatureExtraSound(JAISoundID, u32, s8);
|
||||
/* 802C19D8 */ virtual void startCreatureExtraSoundLevel(JAISoundID, u32, s8);
|
||||
/* 802C1A14 */ virtual void startCollisionSE(u32, u32);
|
||||
/* 802C1B7C */ void setLinkSearch(bool);
|
||||
/* 802C1B90 */ void setEnemyName(char const*);
|
||||
};
|
||||
|
||||
#endif /* Z2CREATURE_H */
|
||||
|
||||
@@ -1,6 +1,56 @@
|
||||
#ifndef Z2SCENEMGR_H
|
||||
#define Z2SCENEMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2SceneMgr {
|
||||
public:
|
||||
Z2SceneMgr();
|
||||
void setInDarkness(bool);
|
||||
void setSceneExist(bool);
|
||||
void setFadeOutStart(u8);
|
||||
void setFadeInStart(u8);
|
||||
void setSceneName(char*, s32, s32);
|
||||
void sceneChange(JAISoundID, u8, u8, u8, u8, u8, bool);
|
||||
void framework();
|
||||
void load1stDynamicWave();
|
||||
void _load1stWaveInner_1();
|
||||
void _load1stWaveInner_2();
|
||||
void check1stDynamicWave();
|
||||
void load2ndDynamicWave();
|
||||
void sceneBgmStart();
|
||||
void loadStaticWaves();
|
||||
bool checkFirstWaves();
|
||||
void eraseSeWave(u32);
|
||||
void eraseBgmWave(u32);
|
||||
void getWaveLoadStatus(u32, u32);
|
||||
void loadSeWave(u32);
|
||||
void loadBgmWave(u32);
|
||||
|
||||
private:
|
||||
/* 0x00 */ long BGM_ID;
|
||||
/* 0x04 */ int sceneNum;
|
||||
/* 0x08 */ int timer;
|
||||
/* 0x0C */ s8 roomNum;
|
||||
/* 0x0D */ u8 SeWave_1;
|
||||
/* 0x0E */ u8 SeWaveToErase_1;
|
||||
/* 0x0F */ u8 SeWave_2;
|
||||
/* 0x10 */ u8 SeWaveToErase_2;
|
||||
/* 0x11 */ u8 BgmWave_1;
|
||||
/* 0x12 */ u8 BgmWaveToErase_1;
|
||||
/* 0x13 */ u8 BgmWave_2;
|
||||
/* 0x14 */ u8 BgmWaveToErase_2;
|
||||
/* 0x15 */ u8 SeWave_3;
|
||||
/* 0x16 */ u8 SeWaveToErase_3;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
/* 0x1A */ u8 field_0x1a;
|
||||
/* 0x1B */ u8 field_0x1b;
|
||||
/* 0x1C */ bool inGame;
|
||||
/* 0x1D */ bool sceneExist;
|
||||
/* 0x1E */ bool inDarkness;
|
||||
}; // Size = 0x20
|
||||
|
||||
#endif /* Z2SCENEMGR_H */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,105 @@
|
||||
#ifndef Z2SEQMGR_H
|
||||
#define Z2SEQMGR_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
// move TTransition / Z2SoundFader ?
|
||||
struct TTransition {
|
||||
/* 0x0 */ float field_0x0;
|
||||
/* 0x4 */ float field_0x4;
|
||||
/* 0x8 */ u32 mCount;
|
||||
}; // Size = 0xC
|
||||
|
||||
struct Z2SoundFader {
|
||||
/* 0x0 */ float mIntensity;
|
||||
/* 0x4 */ TTransition mTransition;
|
||||
}; // Size = 0x10
|
||||
|
||||
class Z2SeqMgr {
|
||||
public:
|
||||
Z2SeqMgr();
|
||||
|
||||
void bgmStart(u32, u32, s32);
|
||||
void bgmStop(u32, s32);
|
||||
void subBgmStart(u32);
|
||||
void subBgmStop();
|
||||
void subBgmStopInner();
|
||||
void bgmStreamPrepare(u32);
|
||||
int bgmStreamCheckReady();
|
||||
void bgmStreamPlay();
|
||||
void bgmStreamStop(u32);
|
||||
void changeBgmStatus(s32);
|
||||
void changeSubBgmStatus(s32);
|
||||
void onVariantBgmJumpEnd(bool);
|
||||
void changeFishingBgm(s32);
|
||||
void talkInBgm();
|
||||
void talkOutBgm();
|
||||
void menuInBgm();
|
||||
void menuOutBgm();
|
||||
void fanfareFramework();
|
||||
void stopWolfHowlSong();
|
||||
void setHeightVolMod(bool, u32);
|
||||
void setTimeProcVolMod(bool, u32);
|
||||
void processBgmFramework();
|
||||
void checkBgmIDPlaying(u32);
|
||||
void getChildTrackVolume(JAISoundHandle*, int);
|
||||
void setChildTrackVolume(JAISoundHandle*, int, float, u32, float, float);
|
||||
void resetBattleBgmParams();
|
||||
void setBattleBgmOff(bool);
|
||||
void setBattleSearched(bool);
|
||||
void setBattleDistIgnore(bool);
|
||||
void setBattleGhostMute(bool);
|
||||
void setBattleDistState(u8);
|
||||
void setBattleSeqState(u8);
|
||||
void setBattleLastHit(u8);
|
||||
void battleBgmFramework();
|
||||
void startBattleBgm(bool);
|
||||
void stopBattleBgm(u8, u8);
|
||||
void fieldBgmStart();
|
||||
void fieldRidingMute();
|
||||
void onFieldBgmJumpStart();
|
||||
void onFieldBgmJumpEnd();
|
||||
void fieldBgmFramework();
|
||||
void mbossBgmMuteProcess();
|
||||
void bgmSetSwordUsing(s32);
|
||||
void bgmNowBattle(float);
|
||||
void taktModeMute();
|
||||
void taktModeMuteOff();
|
||||
void setFieldBgmPlay(bool);
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundHandle mMainBgmHandle;
|
||||
/* 0x04 */ JAISoundHandle mSubBgmHandle;
|
||||
/* 0x08 */ JAISoundHandle field_0x08;
|
||||
/* 0x0C */ JAISoundHandle field_0x0c;
|
||||
/* 0x10 */ JAISoundID field_0x10;
|
||||
/* 0x14 */ Z2SoundFader field_0x14;
|
||||
/* 0x24 */ Z2SoundFader field_0x24;
|
||||
/* 0x34 */ Z2SoundFader field_0x34;
|
||||
/* 0x44 */ Z2SoundFader field_0x44;
|
||||
/* 0x54 */ Z2SoundFader field_0x54;
|
||||
/* 0x64 */ Z2SoundFader field_0x64;
|
||||
/* 0x74 */ Z2SoundFader field_0x74;
|
||||
/* 0x84 */ Z2SoundFader field_0x84;
|
||||
/* 0x94 */ Z2SoundFader field_0x94;
|
||||
/* 0xA4 */ Z2SoundFader field_0xa4;
|
||||
/* 0xB4 */ float mTwilightGateVolume;
|
||||
/* 0xB8 */ u16 field_0xb8;
|
||||
/* 0xBA */ u8 field_0xba;
|
||||
/* 0xBB */ u8 field_0xbb;
|
||||
/* 0xBC */ u8 field_0xbc;
|
||||
/* 0xBD */ u8 field_0xbd;
|
||||
/* 0xBE */ u8 field_0xbe;
|
||||
/* 0xBF */ u8 field_0xbf;
|
||||
/* 0xC0 */ u8 field_0xc0;
|
||||
/* 0xC1 */ u8 field_0xc1;
|
||||
/* 0xC2 */ u8 field_0xc2;
|
||||
/* 0xC3 */ u8 field_0xc3;
|
||||
/* 0xC4 */ u8 field_0xc4;
|
||||
/* 0xC8 */ float field_0xc8;
|
||||
/* 0xCC */ float field_0xcc;
|
||||
/* 0xD0 */ u8 mFlags;
|
||||
}; // Size = 0xD4
|
||||
|
||||
#endif /* Z2SEQMGR_H */
|
||||
|
||||
@@ -1,6 +1,39 @@
|
||||
#ifndef Z2SOUNDOBJMGR_H
|
||||
#define Z2SOUNDOBJMGR_H
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2SoundObjMgr : protected JSUList<Z2CreatureEnemy> {
|
||||
public:
|
||||
Z2SoundObjMgr();
|
||||
void setForceBattleArea(bool, u16, u16, u16);
|
||||
void searchEnemy();
|
||||
void setGhostEnemyState(u8);
|
||||
void getEnemyID(char const*, JSULink<Z2CreatureEnemy>*);
|
||||
void setBattleInit();
|
||||
void checkBattleFinish();
|
||||
void deleteEnemyAll();
|
||||
void removeEnemy(JSULink<Z2CreatureEnemy>*);
|
||||
bool isTwilightBattle();
|
||||
|
||||
bool isForceBattle() { return mForceBattle; }
|
||||
|
||||
private:
|
||||
/* 0x0C */ u8 field_0xc[2];
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 mEnemyNumNear;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 mEnemyNumVeryFar;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 mGhostEnemyState;
|
||||
/* 0x1A */ bool field_0x1a;
|
||||
/* 0x1B */ bool mTwilightBattle;
|
||||
/* 0x1C */ bool mForceBattle;
|
||||
}; // Size = 0x20
|
||||
|
||||
#endif /* Z2SOUNDOBJMGR_H */
|
||||
|
||||
@@ -23,23 +23,20 @@ struct Z2StatusMgr {
|
||||
|
||||
//! @todo there are a number of inlines only called from rels: see CHN_debug
|
||||
|
||||
u8 mHour;
|
||||
u8 mMinute;
|
||||
u8 mWeekday;
|
||||
u8 field_0x03;
|
||||
s16 mTime;
|
||||
u8 field_0x6[2];
|
||||
void* mEventBit;
|
||||
bool mIsMenuIn;
|
||||
u8 field_0xd[3];
|
||||
u32 mCameraMapInfo;
|
||||
u32 field_0x14;
|
||||
float mUnderwaterDepth;
|
||||
float mCameraInWaterDepthRatio;
|
||||
Vec mPolygonPosition;
|
||||
u8 mDemoStatus;
|
||||
u8 mHeartGaugeOn;
|
||||
u8 padding[2];
|
||||
};
|
||||
/* 0x00 */ u8 mHour;
|
||||
/* 0x01 */ u8 mMinute;
|
||||
/* 0x02 */ u8 mWeekday;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 mTime;
|
||||
/* 0x08 */ void* mEventBit;
|
||||
/* 0x0C */ bool mIsMenuIn;
|
||||
/* 0x10 */ u32 mCameraMapInfo;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ float mUnderwaterDepth;
|
||||
/* 0x1C */ float mCameraInWaterDepthRatio;
|
||||
/* 0x20 */ Vec mPolygonPosition;
|
||||
/* 0x2C */ u8 mDemoStatus;
|
||||
/* 0x2D */ u8 mHeartGaugeOn;
|
||||
}; // Size = 0x30
|
||||
|
||||
#endif /* Z2STATUSMGR_H */
|
||||
|
||||
@@ -2909,7 +2909,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x0000 */ fopAc_ac_c mActor;
|
||||
/* 0x0538 */ u8 field_0x538[0xD1C];
|
||||
/* 0x0570 */ u8 field_0x570[0xCE4];
|
||||
/* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep;
|
||||
};
|
||||
|
||||
@@ -2932,7 +2932,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x0000 */ fopAc_ac_c mActor;
|
||||
/* 0x0538 */ u8 field_0x538[0x35C];
|
||||
/* 0x0570 */ u8 field_0x570[0x324];
|
||||
/* 0x0894 */ u32 mStateFlg1;
|
||||
/* 0x0898 */ u32 mEndResetStateFlg0;
|
||||
};
|
||||
|
||||
@@ -126,9 +126,6 @@ private:
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x0538 */ u8 field_0x538[0x32];
|
||||
/* 0x056A */ u8 field_0x56a;
|
||||
/* 0x056B */ u8 field_0x56b[5];
|
||||
/* 0x0570 */ int mNoResetFlg0;
|
||||
/* 0x0574 */ int mNoResetFlg1;
|
||||
/* 0x0578 */ int mNoResetFlg2;
|
||||
@@ -390,7 +387,7 @@ public:
|
||||
|
||||
inline bool getSumouCameraMode() const {
|
||||
bool sumouCameraMode = false;
|
||||
if (field_0x56a != 0 && field_0x56a < 0x26) {
|
||||
if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) {
|
||||
sumouCameraMode = true;
|
||||
}
|
||||
return sumouCameraMode;
|
||||
|
||||
@@ -43,4 +43,9 @@ class dBgS_ObjLinChk : dBgS_LinChk {
|
||||
/* 80077FB8 */ ~dBgS_ObjLinChk();
|
||||
};
|
||||
|
||||
class dBgS_BombLinChk : dBgS_LinChk {
|
||||
/* 80078104 */ dBgS_BombLinChk();
|
||||
/* 80078160 */ ~dBgS_BombLinChk();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_LIN_CHK_H */
|
||||
|
||||
@@ -137,9 +137,7 @@ public:
|
||||
/* 0x03F8C */ dStage_roomControl_c* mRoomControl;
|
||||
/* 0x03F90 */ dEvt_control_c mEvent;
|
||||
/* 0x040C0 */ dEvent_manager_c mEvtManager;
|
||||
/* 0x0477C */ u8 field_0x477C[4];
|
||||
/* 0x04780 */ dAttention_c mAttention;
|
||||
/* 0x04C88 */ u8 field_0x4c88[0x14];
|
||||
/* 0x04C9C */ dVibration_c mVibration;
|
||||
/* 0x04D2C */ u8 field_0x4d2c[4];
|
||||
/* 0x04D30 */ JKRArchive* mFieldMapArchive2;
|
||||
@@ -258,18 +256,18 @@ public:
|
||||
/* 0x04F07 */ u8 mCStickStatusForce;
|
||||
/* 0x04F08 */ u8 mSButtonStatusForce;
|
||||
/* 0x04F09 */ u8 mZStatusForce;
|
||||
/* 0x04F0A */ u8 mRSetFlag; // related to RStatus
|
||||
/* 0x04F0B */ u8 mASetFlag; // related to AStatus
|
||||
/* 0x04F0A */ u8 mRSetFlag;
|
||||
/* 0x04F0B */ u8 mASetFlag;
|
||||
/* 0x04F0C */ u8 field_0x4f0c;
|
||||
/* 0x04F0D */ u8 mNunSetFlag; // related to NunStatus
|
||||
/* 0x04F0E */ u8 mBottleSetFlag; // related to BottleStatus
|
||||
/* 0x04F0F */ u8 mRemoConSetFlag; // related to RemoConStatus
|
||||
/* 0x04F0D */ u8 mNunSetFlag;
|
||||
/* 0x04F0E */ u8 mBottleSetFlag;
|
||||
/* 0x04F0F */ u8 mRemoConSetFlag;
|
||||
/* 0x04F10 */ u8 field_0x4f10[2];
|
||||
/* 0x04F12 */ u8 mDoSetFlag; // related to DoStatus
|
||||
/* 0x04F13 */ u8 m3DSetFlag; // related to 3DStatus
|
||||
/* 0x04F14 */ u8 mCStickSetFlag; // related to CStickStatus
|
||||
/* 0x04F15 */ u8 mSButtonSetFlag; // related to SButtonStatus
|
||||
/* 0x04F16 */ u8 mZSetFlag; // related to ZStatus
|
||||
/* 0x04F12 */ u8 mDoSetFlag;
|
||||
/* 0x04F13 */ u8 m3DSetFlag;
|
||||
/* 0x04F14 */ u8 mCStickSetFlag;
|
||||
/* 0x04F15 */ u8 mSButtonSetFlag;
|
||||
/* 0x04F16 */ u8 mZSetFlag;
|
||||
/* 0x04F17 */ u8 mRSetFlagForce;
|
||||
/* 0x04F18 */ u8 mASetFlagForce;
|
||||
/* 0x04F19 */ u8 field_0x4f19;
|
||||
@@ -288,14 +286,14 @@ public:
|
||||
/* 0x04F27 */ u8 mXSetFlagForce;
|
||||
/* 0x04F28 */ u8 mYStatus;
|
||||
/* 0x04F29 */ u8 mYStatusForce;
|
||||
/* 0x04F2A */ u8 mYSetFlag; // related to YStatus
|
||||
/* 0x04F2A */ u8 mYSetFlag;
|
||||
/* 0x04F2B */ u8 mYSetFlagForce;
|
||||
/* 0x04F2C */ u8 mNunZStatus;
|
||||
/* 0x04F2D */ u8 mNunZSetFlag; // related to NunZStatus
|
||||
/* 0x04F2D */ u8 mNunZSetFlag;
|
||||
/* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce
|
||||
/* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce
|
||||
/* 0x04F30 */ u8 mNunCStatus;
|
||||
/* 0x04F31 */ u8 mNunCSetFlag; // related to NunCStatus
|
||||
/* 0x04F31 */ u8 mNunCSetFlag;
|
||||
/* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce
|
||||
/* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce
|
||||
/* 0x04F34 */ u8 mSelectItem[8];
|
||||
|
||||
+81
-83
@@ -25,10 +25,10 @@ private:
|
||||
|
||||
class dAttCatch_c {
|
||||
public:
|
||||
/* 8007398C */ void convPId(unsigned int);
|
||||
/* 800739BC */ void init();
|
||||
/* 800739DC */ void proc();
|
||||
/* 80073A08 */ void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
void convPId(unsigned int);
|
||||
void init();
|
||||
void proc();
|
||||
void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
|
||||
private:
|
||||
void* field_0x0;
|
||||
@@ -38,8 +38,9 @@ private:
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
void* field_0x10;
|
||||
};
|
||||
u32 field_0x10;
|
||||
u8 mChangeItem;
|
||||
}; // Size = 0x14
|
||||
|
||||
class dAttParam_c {
|
||||
public:
|
||||
@@ -47,26 +48,29 @@ public:
|
||||
/* 80070110 */ ~dAttParam_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
};
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u16 mFlag;
|
||||
/* 0x08 */ float field_0x8;
|
||||
/* 0x0C */ float field_0xc;
|
||||
/* 0x10 */ float field_0x10;
|
||||
/* 0x14 */ float field_0x14;
|
||||
/* 0x18 */ float field_0x18;
|
||||
/* 0x1C */ float field_0x1c;
|
||||
/* 0x20 */ float field_0x20;
|
||||
/* 0x24 */ float field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ float field_0x34;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x39 */ u8 field_0x39;
|
||||
/* 0x3C */ float field_0x3c;
|
||||
/* 0x40 */ float field_0x40;
|
||||
/* 0x44 */ u32 field_0x44;
|
||||
/* 0x48 */ u32 field_0x48;
|
||||
}; // Size = 0x4C
|
||||
|
||||
class dAttLook_c {
|
||||
public:
|
||||
@@ -79,7 +83,8 @@ private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
};
|
||||
u32 field_0xc;
|
||||
}; // Size = 0x10
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
@@ -96,7 +101,6 @@ private:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
/* 8003054C */ ~dAttDraw_c();
|
||||
@@ -123,7 +127,7 @@ public:
|
||||
/* 0x11C */ mDoExt_bpkAnm bpkAnm2;
|
||||
/* 0x134 */ mDoExt_brkAnm brkAnm3;
|
||||
/* 0x14C */ mDoExt_btkAnm btkAnm2;
|
||||
/* 0x164 */ u8 field_0x164[0xC];
|
||||
/* 0x164 */ cXyz field_0x164;
|
||||
/* 0x170 */ u8 field_0x170;
|
||||
/* 0x171 */ u8 field_0x171;
|
||||
/* 0x172 */ u8 field_0x172;
|
||||
@@ -131,7 +135,6 @@ public:
|
||||
/* 0x174 */ u8 field_0x174;
|
||||
/* 0x175 */ u8 field_0x175;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dAttDraw_CallBack_c {
|
||||
public:
|
||||
@@ -187,58 +190,53 @@ public:
|
||||
static u32 chk_type_tbl;
|
||||
static u32 chk_type_num;
|
||||
|
||||
private:
|
||||
u8 field_0x0[4];
|
||||
u32 field_0x4;
|
||||
dAttDraw_CallBack_c dattdraw_callback;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u8 field_0x14[8];
|
||||
cXyz field_0x1c;
|
||||
/* 0x028 */ dAttDraw_c attention_draw[2];
|
||||
int field_0x318;
|
||||
cXyz field_0x31c;
|
||||
u8 field_0x328[12];
|
||||
u32 field_0x334;
|
||||
/* 0x0338 */ dAttList_c attention_list1[8];
|
||||
int* field_0x3d8;
|
||||
int* field_0x3dc;
|
||||
/* 0x03E0 */ dAttList_c attention_list2[4];
|
||||
int* field_0x430;
|
||||
int field_0x434;
|
||||
/* 0x0438 */ dAttList_c attention_list3[4];
|
||||
int* field_0x488;
|
||||
int field_0x48c;
|
||||
dAttHint_c attention_hint;
|
||||
dAttCatch_c attention_catch;
|
||||
u8 field_0x4b0[4];
|
||||
dAttLook_c attention_look;
|
||||
u8 field_0x4c0;
|
||||
u8 field_0x4c1;
|
||||
u8 field_0x4c2;
|
||||
u8 field_0x4c3;
|
||||
int* field_0x4c4;
|
||||
u8 field_0x4c8;
|
||||
u8 field_0x4c9;
|
||||
u8 field_0x4ca;
|
||||
u8 field_0x4cb;
|
||||
u8 field_0x4cc;
|
||||
u8 field_0x4cd;
|
||||
u8 field_0x4ce;
|
||||
u8 field_0x4cf;
|
||||
/* 0x04D0 */ dAttParam_c attention_param;
|
||||
u8 field_0x4e3;
|
||||
u8 field_0x4e4;
|
||||
u8 field_0x4e5;
|
||||
int* field_0x4e6;
|
||||
u8 field_0x4ea;
|
||||
u8 field_0x4eb;
|
||||
u8 field_0x4ec;
|
||||
u8 field_0x4ed;
|
||||
u8 field_0x4ee;
|
||||
u8 field_0x4ef;
|
||||
u8 field_0x4f0[0x18];
|
||||
/* 0x0508 */ void* vtable;
|
||||
};
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c* field_0x0;
|
||||
/* 0x004 */ u32 field_0x4;
|
||||
/* 0x008 */ dAttDraw_CallBack_c dattdraw_callback;
|
||||
/* 0x00C */ u32 field_0xc;
|
||||
/* 0x010 */ u32 field_0x10;
|
||||
/* 0x014 */ u8 field_0x14[4];
|
||||
/* 0x018 */ JKRSolidHeap* heap;
|
||||
/* 0x01C */ cXyz field_0x1c;
|
||||
/* 0x028 */ dAttDraw_c draw[2];
|
||||
/* 0x318 */ int field_0x318;
|
||||
/* 0x31C */ cXyz field_0x31c;
|
||||
/* 0x328 */ u8 field_0x328;
|
||||
/* 0x329 */ u8 field_0x329;
|
||||
/* 0x32A */ u8 field_0x32a;
|
||||
/* 0x32B */ u8 field_0x32b;
|
||||
/* 0x32C */ u8 field_0x32c;
|
||||
/* 0x32D */ u8 field_0x32d;
|
||||
/* 0x32E */ u8 field_0x32e;
|
||||
/* 0x32F */ u8 field_0x32f;
|
||||
/* 0x330 */ u8 field_0x330;
|
||||
/* 0x331 */ u8 field_0x331;
|
||||
/* 0x332 */ u8 field_0x332;
|
||||
/* 0x333 */ u8 field_0x333;
|
||||
/* 0x334 */ u32 mFlags;
|
||||
/* 0x338 */ dAttList_c mLockOnList[8];
|
||||
/* 0x3D8 */ int mLockonCount;
|
||||
/* 0x3DC */ int field_0x3dc;
|
||||
/* 0x3E0 */ dAttList_c mActionList[4];
|
||||
/* 0x430 */ int mActionCount;
|
||||
/* 0x434 */ int field_0x434;
|
||||
/* 0x438 */ dAttList_c attention_list3[4];
|
||||
/* 0x488 */ int mCheckObjectCount;
|
||||
/* 0x48C */ int field_0x48c;
|
||||
/* 0x490 */ dAttHint_c mZHintTarget;
|
||||
/* 0x49C */ dAttCatch_c mCatghTarget;
|
||||
/* 0x4B4 */ dAttLook_c mLookTarget;
|
||||
/* 0x4C4 */ int field_0x4c4;
|
||||
/* 0x4C8 */ u8 field_0x4c8;
|
||||
/* 0x4C9 */ u8 field_0x4c9;
|
||||
/* 0x4CA */ u8 field_0x4ca;
|
||||
/* 0x4CB */ u8 field_0x4cb;
|
||||
/* 0x4CC */ u8 field_0x4cc;
|
||||
/* 0x4CD */ u8 field_0x4cd;
|
||||
/* 0x4CE */ u8 field_0x4ce;
|
||||
/* 0x4CF */ u8 field_0x4cf;
|
||||
/* 0x4D0 */ dAttParam_c attention_param;
|
||||
}; // Size = 0x51C
|
||||
|
||||
#endif /* D_D_ATTENTION_H */
|
||||
|
||||
+41
-1
@@ -1,6 +1,46 @@
|
||||
#ifndef D_D_BOMB_H
|
||||
#define D_D_BOMB_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "Z2AudioLib/Z2SoundObject.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daNbomb_c {
|
||||
public:
|
||||
enum daNbomb_FLG0 { WATER_BOMB = 16 };
|
||||
|
||||
u32 checkStateFlg0(daNbomb_FLG0 flag) const { return mStateFlg0 & flag; }
|
||||
u32 checkWaterBomb() const { return checkStateFlg0(WATER_BOMB); }
|
||||
|
||||
/* 0x000 */ fopAc_ac_c mActor;
|
||||
/* 0x570 */ u8 field_0x570[8];
|
||||
/* 0x578 */ dBgS_Acch mAcch;
|
||||
/* 0x750 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x790 */ dCcD_Stts mStts;
|
||||
/* 0x7CC */ dCcD_Sph mSph1;
|
||||
/* 0x904 */ dCcD_Sph mSph2;
|
||||
/* 0xA3C */ u8 field_0xa3c[0x64];
|
||||
/* 0xAA0 */ dBgS_BombLinChk mLinChk;
|
||||
/* 0xB10 */ cBgS_PolyInfo mPolyInfo;
|
||||
/* 0xB20 */ Z2SoundObjSimple mSoundObj;
|
||||
/* 0xB40 */ u8 field_0xb40[0xC];
|
||||
/* 0xB4C */ u32 mStateFlg0;
|
||||
/* 0xB50 */ u8 field_0xb50;
|
||||
/* 0xB51 */ u8 field_0xb51[0x3];
|
||||
/* 0xB54 */ u8 field_0xb54;
|
||||
/* 0xB55 */ u8 field_0xb55[0xB];
|
||||
/* 0xB60 */ LIGHT_INFLUENCE field_0xb60;
|
||||
/* 0xB80 */ WIND_INFLUENCE field_0xb80;
|
||||
};
|
||||
|
||||
class dBomb_c : public daNbomb_c {
|
||||
public:
|
||||
bool checkStateCarry();
|
||||
bool checkFlowerBombWait(fopAc_ac_c*);
|
||||
bool checkWaterBomb(fopAc_ac_c*);
|
||||
bool checkInsectBombMove(fopAc_ac_c*);
|
||||
};
|
||||
|
||||
#endif /* D_D_BOMB_H */
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
class dJntColData_c {};
|
||||
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dJntCol_c {
|
||||
public:
|
||||
/* 80035C8C */ dJntCol_c();
|
||||
|
||||
+85
-263
@@ -4,275 +4,94 @@
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/event/d_event_manager.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
/* 80030154 */ ~dEvt_order_c();
|
||||
/* 800415D4 */ dEvt_order_c();
|
||||
~dEvt_order_c();
|
||||
dEvt_order_c();
|
||||
|
||||
private:
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u8 field_0x10;
|
||||
u8 field_0x11;
|
||||
u8 field_0x12;
|
||||
u8 field_0x13;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u8 field_0x1c;
|
||||
u8 field_0x1d;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
u8 field_0x20;
|
||||
u8 field_0x21;
|
||||
u8 field_0x22;
|
||||
u8 field_0x23;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
u8 field_0x27;
|
||||
u8 field_0x28;
|
||||
u8 field_0x29;
|
||||
u8 field_0x2a;
|
||||
u8 field_0x2b;
|
||||
u8 field_0x2c;
|
||||
u8 field_0x2d;
|
||||
u8 field_0x2e;
|
||||
u8 field_0x2f;
|
||||
u8 field_0x30;
|
||||
u8 field_0x31;
|
||||
u8 field_0x32;
|
||||
u8 field_0x33;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
u8 field_0x40;
|
||||
u8 field_0x41;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
u8 field_0x44;
|
||||
u8 field_0x45;
|
||||
u8 field_0x46;
|
||||
u8 field_0x47;
|
||||
u8 field_0x48;
|
||||
u8 field_0x49;
|
||||
u8 field_0x4a;
|
||||
u8 field_0x4b;
|
||||
u8 field_0x4c;
|
||||
u8 field_0x4d;
|
||||
u8 field_0x4e;
|
||||
u8 field_0x4f;
|
||||
u8 field_0x50;
|
||||
u8 field_0x51;
|
||||
u8 field_0x52;
|
||||
u8 field_0x53;
|
||||
u8 field_0x54;
|
||||
u8 field_0x55;
|
||||
u8 field_0x56;
|
||||
u8 field_0x57;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 field_0x5a;
|
||||
u8 field_0x5b;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u8 field_0x60;
|
||||
u8 field_0x61;
|
||||
u8 field_0x62;
|
||||
u8 field_0x63;
|
||||
u8 field_0x64;
|
||||
u8 field_0x65;
|
||||
u8 field_0x66;
|
||||
u8 field_0x67;
|
||||
u8 field_0x68;
|
||||
u8 field_0x69;
|
||||
u8 field_0x6a;
|
||||
u8 field_0x6b;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
u8 field_0x74;
|
||||
u8 field_0x75;
|
||||
u8 field_0x76;
|
||||
u8 field_0x77;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
u8 field_0x84;
|
||||
u8 field_0x85;
|
||||
u8 field_0x86;
|
||||
u8 field_0x87;
|
||||
u8 field_0x88;
|
||||
u8 field_0x89;
|
||||
u8 field_0x8a;
|
||||
u8 field_0x8b;
|
||||
u8 field_0x8c;
|
||||
u8 field_0x8d;
|
||||
u8 field_0x8e;
|
||||
u8 field_0x8f;
|
||||
u8 field_0x90;
|
||||
u8 field_0x91;
|
||||
u8 field_0x92;
|
||||
u8 field_0x93;
|
||||
u8 field_0x94;
|
||||
u8 field_0x95;
|
||||
u8 field_0x96;
|
||||
u8 field_0x97;
|
||||
u8 field_0x98;
|
||||
u8 field_0x99;
|
||||
u8 field_0x9a;
|
||||
u8 field_0x9b;
|
||||
u8 field_0x9c;
|
||||
u8 field_0x9d;
|
||||
u8 field_0x9e;
|
||||
u8 field_0x9f;
|
||||
u8 field_0xa0;
|
||||
u8 field_0xa1;
|
||||
u8 field_0xa2;
|
||||
u8 field_0xa3;
|
||||
u8 field_0xa4;
|
||||
u8 field_0xa5;
|
||||
u8 field_0xa6;
|
||||
u8 field_0xa7;
|
||||
u8 field_0xa8;
|
||||
u8 field_0xa9;
|
||||
u8 field_0xaa;
|
||||
u8 field_0xab;
|
||||
u8 field_0xac;
|
||||
u8 field_0xad;
|
||||
u8 field_0xae;
|
||||
u8 field_0xaf;
|
||||
u8 field_0xb0;
|
||||
u8 field_0xb1;
|
||||
u8 field_0xb2;
|
||||
u8 field_0xb3;
|
||||
u8 field_0xb4;
|
||||
u8 field_0xb5;
|
||||
u8 field_0xb6;
|
||||
u8 field_0xb7;
|
||||
u8 field_0xb8;
|
||||
u8 field_0xb9;
|
||||
u8 field_0xba;
|
||||
u8 field_0xbb;
|
||||
u8 field_0xbc;
|
||||
u8 field_0xbd;
|
||||
u8 field_0xbe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
/* 0x00 */ u16 mEventType;
|
||||
/* 0x02 */ u16 mFlag;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ fopAc_ac_c* mActor1;
|
||||
/* 0x0C */ fopAc_ac_c* mActor2;
|
||||
/* 0x10 */ s16 mEventId;
|
||||
/* 0x12 */ s16 mPriority;
|
||||
/* 0x14 */ u8 mNextOrderIdx;
|
||||
/* 0x15 */ u8 mEventInfoIdx;
|
||||
}; // Size = 0x18
|
||||
|
||||
typedef int (*SkipFunc)(void*, int);
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
/* 80041580 */ dEvt_control_c();
|
||||
/* 800415D8 */ void orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
/* 80041668 */ void order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
/* 80041804 */ void setParam(dEvt_order_c*);
|
||||
/* 80041934 */ void beforeFlagProc(dEvt_order_c*);
|
||||
/* 80041964 */ void afterFlagProc(dEvt_order_c*);
|
||||
/* 800419A8 */ void commonCheck(dEvt_order_c*, u16, u16);
|
||||
/* 80041A20 */ void talkCheck(dEvt_order_c*);
|
||||
/* 80041B58 */ void talkXyCheck(dEvt_order_c*);
|
||||
/* 80041C90 */ void catchCheck(dEvt_order_c*);
|
||||
/* 80041D34 */ void talkEnd();
|
||||
/* 80041DDC */ void demoCheck(dEvt_order_c*);
|
||||
/* 80041F18 */ void demoEnd();
|
||||
/* 80041FA0 */ void potentialCheck(dEvt_order_c*);
|
||||
/* 80042014 */ void doorCheck(dEvt_order_c*);
|
||||
/* 8004212C */ void itemCheck(dEvt_order_c*);
|
||||
/* 800421C0 */ void endProc();
|
||||
/* 80042254 */ void change();
|
||||
/* 800422C0 */ void entry();
|
||||
/* 80042518 */ void reset(void*);
|
||||
/* 80042468 */ void reset();
|
||||
/* 800425B4 */ void clearSkipSystem();
|
||||
/* 8004290C */ void getSkipEventName();
|
||||
/* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int);
|
||||
/* 80042958 */ void setSkipZev(void*, char*);
|
||||
/* 800429A8 */ void onSkipFade();
|
||||
/* 800429B4 */ void offSkipFade();
|
||||
/* 800429D4 */ void skipper();
|
||||
/* 80042BBC */ void Step();
|
||||
/* 80042FA8 */ void moveApproval(void*);
|
||||
/* 8004316C */ void compulsory(void*, char const*, u16);
|
||||
/* 800431E8 */ void remove();
|
||||
/* 80043278 */ void getStageEventDt();
|
||||
/* 80043280 */ void sceneChange(int);
|
||||
/* 800432C8 */ void getPId(void*);
|
||||
/* 800432EC */ void convPId(unsigned int);
|
||||
/* 8004331C */ void getStbDemoData(char*);
|
||||
/* 80043500 */ void searchMapEventData(u8, s32);
|
||||
/* 800434D8 */ void searchMapEventData(u8);
|
||||
/* 8004360C */ void runningEventID(s16);
|
||||
/* 8004362C */ void setPt1(void*);
|
||||
/* 8004365C */ void setPt2(void*);
|
||||
/* 8004368C */ void setPtT(void*);
|
||||
/* 800436BC */ void setPtI(void*);
|
||||
/* 800436EC */ void setPtI_Id(unsigned int);
|
||||
/* 800436F4 */ void setPtD(void*);
|
||||
/* 80043724 */ void setGtItm(u8);
|
||||
dEvt_control_c();
|
||||
void orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
void order(u16, u16, u16, u16, void*, void*, s16, u8);
|
||||
void setParam(dEvt_order_c*);
|
||||
s32 beforeFlagProc(dEvt_order_c*);
|
||||
void afterFlagProc(dEvt_order_c*);
|
||||
void commonCheck(dEvt_order_c*, u16, u16);
|
||||
void talkCheck(dEvt_order_c*);
|
||||
void talkXyCheck(dEvt_order_c*);
|
||||
void catchCheck(dEvt_order_c*);
|
||||
void talkEnd();
|
||||
void demoCheck(dEvt_order_c*);
|
||||
void demoEnd();
|
||||
s32 potentialCheck(dEvt_order_c*);
|
||||
void doorCheck(dEvt_order_c*);
|
||||
void itemCheck(dEvt_order_c*);
|
||||
void endProc();
|
||||
void change();
|
||||
void entry();
|
||||
void reset(void*);
|
||||
void reset();
|
||||
void clearSkipSystem();
|
||||
char* getSkipEventName();
|
||||
void setSkipProc(void*, SkipFunc, int);
|
||||
void setSkipZev(void*, char*);
|
||||
void onSkipFade();
|
||||
void offSkipFade();
|
||||
void skipper();
|
||||
void Step();
|
||||
void moveApproval(void*);
|
||||
void compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
void* getStageEventDt(); // ret type probably wrong, fix later
|
||||
void sceneChange(int);
|
||||
u32 getPId(void*);
|
||||
void convPId(unsigned int);
|
||||
void getStbDemoData(char*);
|
||||
void searchMapEventData(u8, s32);
|
||||
void searchMapEventData(u8);
|
||||
s16 runningEventID(s16);
|
||||
void setPt1(void*);
|
||||
void setPt2(void*);
|
||||
void setPtT(void*);
|
||||
void setPtI(void*);
|
||||
void setPtI_Id(unsigned int);
|
||||
void setPtD(void*);
|
||||
void setGtItm(u8);
|
||||
|
||||
private:
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x0[4];
|
||||
/* 0x004 */ dEvt_order_c event_order;
|
||||
/* 0x0C4 */ int mPt1;
|
||||
/* 0x0C8 */ int mPt2;
|
||||
/* 0x0CC */ int mPtT;
|
||||
/* 0x0D0 */ int mPtI;
|
||||
/* 0x0D4 */ int mPtd;
|
||||
/* 0x004 */ dEvt_order_c mOrder[8];
|
||||
/* 0x0C4 */ u32 mPt1;
|
||||
/* 0x0C8 */ u32 mPt2;
|
||||
/* 0x0CC */ u32 mPtT;
|
||||
/* 0x0D0 */ u32 mPtI;
|
||||
/* 0x0D4 */ u32 mPtd;
|
||||
/* 0x0D8 */ u16 mEventFlag;
|
||||
/* 0x0DA */ u16 mFlag2;
|
||||
/* 0x0DC */ u16 mHindFlag;
|
||||
/* 0x0DE */ u16 field_0xde;
|
||||
/* 0x0E0 */ u16 field_0xe0;
|
||||
/* 0x0E2 */ u8 field_0xe2;
|
||||
/* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
|
||||
/* 0x0E0 */ s16 field_0xe0;
|
||||
/* 0x0E2 */ u8 mNum;
|
||||
/* 0x0E3 */ u8 field_0xe3;
|
||||
/* 0x0E4 */ u8 mMode;
|
||||
/* 0x0E5 */ u8 field_0xe5;
|
||||
@@ -287,15 +106,18 @@ private:
|
||||
/* 0x0EE */ u8 mPreItemNo;
|
||||
/* 0x0EF */ u8 mGtItm;
|
||||
/* 0x0F0 */ float mCullRate;
|
||||
/* 0x0F4 */ int mStageEventDt;
|
||||
/* 0x0F8 */ int mChangeOK;
|
||||
/* 0x0FC */ u8 field_0xfc[20];
|
||||
/* 0x110 */ bool mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[0x14];
|
||||
/* 0x0F4 */ void* mStageEventDt;
|
||||
/* 0x0F8 */ void* mChangeOK;
|
||||
/* 0x0FC */ u8 field_0xfc[4];
|
||||
/* 0x100 */ SkipFunc mSkipFunc;
|
||||
/* 0x104 */ u32 field_0x104;
|
||||
/* 0x108 */ u32 field_0x108;
|
||||
/* 0x10C */ u32 field_0x10c;
|
||||
/* 0x110 */ int mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[20];
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ u8 field_0x129;
|
||||
/* 0x129 */ bool field_0x129;
|
||||
/* 0x12C */ int field_0x12c;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}; // Size = 0x130
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -5,59 +5,111 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dEvDtStaff_c {
|
||||
/* 80043FD8 */ void specialProc_WaitStart(int);
|
||||
/* 8004403C */ void specialProc_WaitProc(int);
|
||||
/* 80044080 */ void specialProc();
|
||||
/* 80044134 */ void init();
|
||||
/* 80044170 */ void advanceCut(int);
|
||||
/* 80044190 */ void specialProcLight();
|
||||
/* 80044324 */ void specialProcMessage();
|
||||
/* 80044A58 */ void specialProcSound();
|
||||
/* 80044CB8 */ void specialProcCreate();
|
||||
/* 80044EE4 */ void specialProcDirector();
|
||||
/* 80045878 */ void specialProcPackage();
|
||||
/* 80045AFC */ void specialProcTimekeeper();
|
||||
/* 80045C34 */ void specialProcEffect();
|
||||
struct event_binary_data_header {};
|
||||
|
||||
struct dEvDtData_c {};
|
||||
|
||||
class dEvDtCut_c {
|
||||
public:
|
||||
void startCheck();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x0[0x20];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x28 */ int field_0x28[3];
|
||||
/* 0x34 */ u32 mFlagId;
|
||||
/* 0x38 */ u32 mDataTop;
|
||||
/* 0x3C */ u32 mNext;
|
||||
};
|
||||
|
||||
struct dEvDtEvent_c {
|
||||
/* 80043E78 */ void finishCheck();
|
||||
/* 80043EFC */ void forceFinish();
|
||||
/* 80043F70 */ void specialStaffProc(dEvDtStaff_c*);
|
||||
class dEvDtStaff_c {
|
||||
public:
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
void init();
|
||||
void advanceCut(int);
|
||||
void specialProcLight();
|
||||
void specialProcMessage();
|
||||
void specialProcSound();
|
||||
void specialProcCreate();
|
||||
void specialProcDirector();
|
||||
void specialProcPackage();
|
||||
void specialProcTimekeeper();
|
||||
void specialProcEffect();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 field_0x00[4];
|
||||
/* 0x04 */ void* field_0x04;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ int field_0x0c;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14[0xC];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u8 field_0x28[4];
|
||||
/* 0x2C */ int mType;
|
||||
/* 0x30 */ u32 mStartCut;
|
||||
/* 0x34 */ u8 field_0x34[2];
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
/* 0x38 */ int mCurrentCut;
|
||||
/* 0x3C */ u32 field_0x3c;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ s16 mSoundWait;
|
||||
/* 0x46 */ u8 field_0x46[4];
|
||||
/* 0x4A */ int field_0x4a;
|
||||
};
|
||||
|
||||
class dEvDtEvent_c {
|
||||
public:
|
||||
void finishCheck();
|
||||
void forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
|
||||
/* 0x00 */ s32 mEventNum;
|
||||
};
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
/* 80043D60 */ void flagCheck(int);
|
||||
/* 80043DC8 */ void flagSet(int);
|
||||
/* 80043E30 */ void flagMaxCheck(int);
|
||||
/* 80043E58 */ void init();
|
||||
dEvDtFlag_c() {}
|
||||
void flagCheck(int);
|
||||
void flagSet(int);
|
||||
bool flagMaxCheck(int);
|
||||
void init();
|
||||
|
||||
#define FlagMax 0x2800
|
||||
|
||||
private:
|
||||
u8 field_0x0[320];
|
||||
};
|
||||
u32 mFlags[320];
|
||||
}; // Size = 0x500
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvDtBase_c {
|
||||
public:
|
||||
dEvDtBase_c();
|
||||
~dEvDtBase_c();
|
||||
/* 80046138 */ void init();
|
||||
/* 8004616C */ void init(char*, int);
|
||||
/* 8004628C */ void advanceCut(dEvDtEvent_c*);
|
||||
/* 800462FC */ void advanceCutLocal(dEvDtStaff_c*);
|
||||
void init();
|
||||
void init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
void advanceCutLocal(dEvDtStaff_c*);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
s32 getEventNum() { return mEventP->mEventNum; }
|
||||
s32 roomNo() { return mRoomNo; }
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
u32 field_0x18;
|
||||
u32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
};
|
||||
/* 0x00 */ event_binary_data_header* mHeaderP;
|
||||
/* 0x04 */ dEvDtEvent_c* mEventP;
|
||||
/* 0x08 */ dEvDtStaff_c* mStaffP;
|
||||
/* 0x0C */ dEvDtCut_c* mCutP;
|
||||
/* 0x10 */ dEvDtData_c* mDataP;
|
||||
/* 0x14 */ float* mFDataP;
|
||||
/* 0x18 */ s32* mIDataP;
|
||||
/* 0x1C */ char* mSDataP;
|
||||
/* 0x20 */ s32 mRoomNo;
|
||||
}; // Size = 0x24
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_DATA_H */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user