Merge branch 'main' into 26-03-28-movie-player

This commit is contained in:
Pieter-Jan Briers
2026-04-01 15:15:08 +02:00
committed by GitHub
115 changed files with 3358 additions and 1240 deletions
+2 -2
View File
@@ -18,10 +18,10 @@ public:
SpkTable(void);
void setResource(void* res);
inline s32 getName(s32 num) {
inline const char* getName(s32 num) {
JUT_ASSERT(0x35, num >= 0);
JUT_ASSERT(0x36, num < mNumOfSound);
return *(mDataOffsets + num);
return (const char*)*(mDataOffsets + num);
}
inline s32 getNumOfSound() const { return mNumOfSound; }
inline bool isValid(void) const { return mIsInitialized; }
+1 -1
View File
@@ -19,7 +19,7 @@ public:
static SpkSoundHandle* getHandleSoundID(s32 soundNum);
static SpkSoundHandle* start(s32 id, s32 chan);
static SpkSoundHandle* startLevel(s32 id, s32 chan);
static s32 getName(s32 num);
static const char* getName(s32 num);
static s32 getNumOfSound(void);
static void stopAll(s32 chan, s32 msec);
static void stop(s32 chan);
+4
View File
@@ -6,6 +6,9 @@
#include "JSystem/JAudio2/JASAudioThread.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
#if TARGET_PC
#define AUDIO_INSTANCES
#else
#define AUDIO_INSTANCES \
template<> JASDefaultBankTable* JASGlobalInstance<JASDefaultBankTable>::sInstance; \
template<> JASAudioThread* JASGlobalInstance<JASAudioThread>::sInstance; \
@@ -32,5 +35,6 @@
template<> Z2EnvSeMgr* JASGlobalInstance<Z2EnvSeMgr>::sInstance; \
template<> Z2SpeechMgr* JASGlobalInstance<Z2SpeechMgr>::sInstance; \
template<> Z2WolfHowlMgr* JASGlobalInstance<Z2WolfHowlMgr>::sInstance;
#endif
#endif
+22 -32
View File
@@ -3,6 +3,7 @@
#include "JSystem/JAWExtSystem/JAWWindow.h"
#include "JSystem/JAudio2/JAISoundHandles.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
class Z2SoundPlayer : public JAWWindow {
public:
@@ -24,43 +25,32 @@ public:
virtual void onKeyRight(const JUTGamePad&);
u32 getCursorMoveMax(const JUTGamePad&);
int getMenuNumberMax();
void correctSeNumber();
/* 0x3ED */ u8 field_0x3ed;
/* 0x3EE */ u8 field_0x3ee;
/* 0x3EF */ u8 field_0x3ef;
/* 0x3F0 */ u8 field_0x3f0;
/* 0x3F4 */ const char* field_0x3f4;
/* 0x3F8 */ short field_0x3f8;
/* 0x3FA */ short field_0x3fa;
/* 0x3FC */ short field_0x3fc;
/* 0x3FE */ short field_0x3fe;
/* 0x400 */ short field_0x400;
/* 0x402 */ short field_0x402;
/* 0x404 */ const char* field_0x404;
/* 0x408 */ const char* field_0x408;
/* 0x40C */ const char* field_0x40c;
/* 0x410 */ const char* field_0x410;
/* 0x414 */ const char* field_0x414;
/* 0x418 */ const char* field_0x418;
/* 0x41C */ const char* field_0x41c;
/* 0x420 */ const char* field_0x420;
/* 0x424 */ const char* field_0x424;
/* 0x428 */ const char* field_0x428;
/* 0x42C */ const char* field_0x42c;
/* 0x430 */ const char* field_0x430;
/* 0x434 */ const char* field_0x434;
/* 0x438 */ const char* field_0x438;
/* 0x43C */ const char* field_0x43c;
/* 0x440 */ const char* field_0x440;
/* 0x444 */ short field_0x444;
void onDrawSoundItem(JAWGraphContext*, JAUSoundNameTable*, int, const JUtility::TColor&, const JUtility::TColor&, const char*, u32, u32, u32);
/* 0x3ED */ bool field_0x3ed;
/* 0x3EE */ bool field_0x3ee;
/* 0x3EF */ bool field_0x3ef;
/* 0x3F0 */ bool field_0x3f0;
/* 0x3F4 */ const char* m_name;
/* 0x3F8 */ s16 field_0x3f8;
/* 0x3FA */ s16 field_0x3fa;
/* 0x3FC */ s16 field_0x3fc;
/* 0x3FE */ s16 field_0x3fe;
/* 0x400 */ s16 field_0x400;
/* 0x402 */ s16 m_portNum;
/* 0x404 */ const char* m_portNames[16];
/* 0x444 */ s16 m_portVal;
/* 0x446 */ u8 field_0x446;
/* 0x448 */ short* field_0x448[7];
/* 0x464 */ int field_0x464;
/* 0x468 */ int field_0x468;
/* 0x448 */ s16* field_0x448[7];
/* 0x464 */ u32 m_cursorY;
/* 0x468 */ int m_cursorMax;
/* 0x46C */ JAISoundHandle field_0x46c[8];
/* 0x48C */ JAISoundHandles field_0x48c;
/* 0x494 */ JAISoundHandle field_0x494;
/* 0x498 */ JAISoundHandle* field_0x498;
/* 0x498 */ JAISoundHandle* mp_subBgmHandle;
/* 0x49C */ JAISoundHandle field_0x49c;
/* 0x4A0 */ int field_0x4a0;
/* 0x4A4 */ f32 field_0x4a4;
+29
View File
@@ -2,10 +2,39 @@
#define Z2WAVEARCLOADER_H
#include "JSystem/JAWExtSystem/JAWWindow.h"
#include "JSystem/JAudio2/JASWaveArcLoader.h"
#include "JSystem/JAudio2/JASWaveInfo.h"
class Z2WaveArcLoader : public JAWWindow {
public:
Z2WaveArcLoader();
virtual ~Z2WaveArcLoader();
virtual void onDraw(JAWGraphContext*);
void checkWaveBank();
void checkWaveArc();
virtual void onKeyUp(const JUTGamePad&);
virtual void onKeyDown(const JUTGamePad&);
virtual void onKeyLeft(const JUTGamePad&);
virtual void onKeyRight(const JUTGamePad&);
virtual void onTrigA(const JUTGamePad&);
virtual void onTrigB(const JUTGamePad&);
virtual void onTrigZ(const JUTGamePad&);
/* 0x3F0 */ JASWaveBank* mpWaveBank;
/* 0x3F4 */ JASWaveArc* mpWaveArc;
/* 0x3F8 */ u32 mWaveUsedSize;
/* 0x3FC */ int mTotalUsedSize;
/* 0x400 */ u8 mBankNo;
/* 0x404 */ u32 mArcCount;
/* 0x408 */ u32 field_0x408;
/* 0x40C */ u32 field_0x40c;
/* 0x410 */ u32 field_0x410;
/* 0x414 */ u8 field_0x414;
/* 0x415 */ u8 field_0x415;
/* 0x416 */ bool mIsLoadTail;
};
#endif /* Z2WAVEARCLOADER_H */
+6
View File
@@ -8425,4 +8425,10 @@ inline daAlink_c* daAlink_getAlinkActorClass() {
return (daAlink_c*)dComIfGp_getLinkPlayer();
}
#if TARGET_PC
namespace dusk::tweaks {
extern bool FastIronBoots;
}
#endif
#endif /* D_A_D_A_ALINK_H */
+11 -11
View File
@@ -50,30 +50,30 @@ public:
int create();
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5B4 */ mDoExt_McaMorfSO* mAnm_p;
/* 0x5B8 */ Z2CreatureEnemy mSound;
/* 0x65C */ cXyz field_0x65c;
/* 0x668 */ csXyz field_0x668;
/* 0x66E */ csXyz field_0x66e;
/* 0x65C */ cXyz mHomePos;
/* 0x668 */ csXyz mTargetWallAngle;
/* 0x66E */ csXyz mWallAngle;
/* 0x674 */ f32 mDownColor;
/* 0x678 */ f32 mBodyScale;
/* 0x67C */ int mAction;
/* 0x680 */ int mMode;
/* 0x684 */ u32 mShadowId;
/* 0x688 */ s16 mTargetAngle;
/* 0x68A */ s16 mTargetStep;
/* 0x68C */ u8 mMoveWaitTimer;
/* 0x68A */ s16 mStepAngle;
/* 0x68C */ u8 mWaitTimer;
/* 0x68E */ s16 mInvulnerabilityTimer;
/* 0x690 */ u8 field_0x690;
/* 0x691 */ u8 field_0x691;
/* 0x692 */ u8 mSwbit;
/* 0x694 */ dBgS_AcchCir mAcchCir;
/* 0x690 */ u8 mIsReturnHome;
/* 0x691 */ u8 arg0;
/* 0x692 */ u8 bitSw;
/* 0x694 */ dBgS_AcchCir mBgc;
/* 0x6D4 */ dBgS_ObjAcch mAcch;
/* 0x8AC */ dCcD_Stts mCcStts;
/* 0x8E8 */ dCcD_Sph mCcSph;
/* 0xA20 */ dCcD_Sph mCcBokkuriSph;
/* 0xB58 */ dCcU_AtInfo mAtInfo;
/* 0xB7C */ u8 mHIOInit;
/* 0xB7C */ u8 mHioSet;
};
STATIC_ASSERT(sizeof(daE_WS_c) == 0xb80);
+1 -1
View File
@@ -77,7 +77,7 @@ public:
int CreateHeap();
int Delete();
int Execute();
void Draw();
int Draw();
static BOOL createHeapCallBack(fopAc_ac_c*);
static BOOL ctrlJointCallBack(J3DJoint*, int);
bool getType();
+5
View File
@@ -103,6 +103,11 @@ public:
/* 0x12A48 */ u32 m_Jhana01DL_size;
/* 0x12A4C */ u8* mp_Jhana01_cDL;
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
#if TARGET_PC
TGXTexObj mTexObj_l_J_Ohana00_64TEX;
TGXTexObj mTexObj_l_J_Ohana01_64128_0419TEX;
#endif
}; // Size: 0x12A54
#endif /* D_FLOWER_H */
+2 -2
View File
@@ -108,8 +108,8 @@ public:
/* 0x1D714 */ s16 field_0x1d714;
#if TARGET_PC
GXTexObj mTexObj_l_M_Hijiki00TEX{};
GXTexObj mTexObj_l_M_kusa05_RGBATEX{};
TGXTexObj mTexObj_l_M_Hijiki00TEX;
TGXTexObj mTexObj_l_M_kusa05_RGBATEX;
#endif
}; // Size: 0x1D718
+8 -8
View File
@@ -66,14 +66,14 @@ struct dMap_prm_res_s {
/* 0x1A7 */ u8 field_0x1a7;
/* 0x1A8 */ u8 field_0x1a8;
/* 0x1A9 */ u8 field_0x1a9;
/* 0x1AA */ s16 field_0x1aa;
/* 0x1AC */ s16 field_0x1ac;
/* 0x1AE */ s16 field_0x1ae;
/* 0x1B0 */ s16 field_0x1b0;
/* 0x1B2 */ s16 field_0x1b2;
/* 0x1B4 */ s16 field_0x1b4;
/* 0x1B6 */ s16 field_0x1b6;
/* 0x1B8 */ f32 cursor_size;
/* 0x1AA */ BE(s16) field_0x1aa;
/* 0x1AC */ BE(s16) field_0x1ac;
/* 0x1AE */ BE(s16) field_0x1ae;
/* 0x1B0 */ BE(s16) field_0x1b0;
/* 0x1B2 */ BE(s16) field_0x1b2;
/* 0x1B4 */ BE(s16) field_0x1b4;
/* 0x1B6 */ BE(s16) field_0x1b6;
/* 0x1B8 */ BE(f32) cursor_size;
};
struct dMap_prm_hio_s {
+1 -1
View File
@@ -5,7 +5,7 @@
#include "JSystem/JHostIO/JORMContext.h"
struct dMpath_RGB5A3_s {
u16 color;
BE(u16) color;
};
namespace dMpath_ColorCnv_n {
+3 -3
View File
@@ -75,9 +75,9 @@ public:
/* 0x00 */ char mName[8];
/* 0x08 */ u8 mRoomNo;
/* 0x09 */ u8 mRegionNo;
/* 0x0A */ u16 mAreaName;
/* 0x0C */ f32 mOffsetX;
/* 0x10 */ f32 mOffsetZ;
/* 0x0A */ BE(u16) mAreaName;
/* 0x0C */ BE(f32) mOffsetX;
/* 0x10 */ BE(f32) mOffsetZ;
};
/* 0x0 */ u8 mCount;
+1 -4
View File
@@ -321,6 +321,7 @@ int dMeter2Info_setNewLetterSender();
bool dMeter2Info_isItemOpenCheck();
bool dMeter2Info_isMapOpenCheck();
s16 dMeter2Info_getNowLifeGauge();
bool dMeter2Info_isNextStage(const char*, s16, s16, s16);
#if WIDESCREEN_SUPPORT
void dMeter2Info_onWide2D();
@@ -844,10 +845,6 @@ inline void dMeter2Info_onTempBit(int i_bit) {
g_meter2_info.onTempBit(i_bit);
}
inline bool dMeter2Info_isNextStage(const char*, s16, s16, s16) {
return false;
}
inline void dMeter2Info_setFloatingMessage(u16 i_msgID, s16 i_msgTimer, bool i_wakuVisible) {
g_meter2_info.setFloatingMessage(i_msgID, i_msgTimer, i_wakuVisible);
}
+5 -5
View File
@@ -89,7 +89,7 @@ public:
virtual void draw();
virtual ~dMeterMap_c();
bool isDispPosInsideFlg() { return field_0x2d != 0; }
bool isDispPosInsideFlg() { return mMapIsInside != 0; }
dMeterMap_c* getMapPointer() { return (dMeterMap_c*)mMap; }
void setSizeW(f32 w) { mSizeW = w; }
void setSizeH(f32 h) { mSizeH = h; }
@@ -108,15 +108,15 @@ private:
/* 0x0C */ s32 mIsCompass;
/* 0x10 */ s32 mIsMap;
/* 0x14 */ u32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x18 */ f32 mDrawPosX;
/* 0x1C */ f32 mDrawPosY;
/* 0x20 */ f32 mSizeW;
/* 0x24 */ f32 mSizeH;
/* 0x28 */ s16 field_0x28;
/* 0x28 */ s16 mSlidePositionOffset;
/* 0x2A */ u8 field_0x2a;
/* 0x2B */ u8 field_0x2b;
/* 0x2C */ u8 mMapAlpha;
/* 0x2D */ u8 field_0x2d;
/* 0x2D */ u8 mMapIsInside;
/* 0x2E */ u8 field_0x2e;
/* 0x30 */ int field_0x30;
};
+4
View File
@@ -562,6 +562,10 @@ inline void dMsgObject_setOffering(u16 i_num) {
dComIfGs_setEventReg(0xF8FF, i_num & 0xFF);
}
inline void dMsgObject_setLetterNameID(u16 id) {
dMsgObject_getMsgObjectClass()->setLetterNameID(id);
}
class dMsgObject_HowlHIO_c {
public:
dMsgObject_HowlHIO_c();
+1 -1
View File
@@ -20,7 +20,7 @@ struct dPath {
/* 0x2 */ BE(u16) m_nextID;
/* 0x4 */ u8 field_0x4;
/* 0x5 */ bool m_closed;
/* 0x6 */ u8 field_0x6;
/* 0x6 */ u8 swbit;
/* 0x7 */ u8 field_0x7;
/* 0x8 */ OFFSET_PTR(dPnt) m_points;
};
+1 -1
View File
@@ -267,7 +267,7 @@ struct dStage_MemoryConfig_c {
// PATH / RPAT
struct dPath;
struct dStage_dPath_c {
/* 0x0 */ BE(int) m_num;
/* 0x0 */ BE(int) num;
/* 0x4 */ OFFSET_PTR(dPath) m_path;
};
+13 -3
View File
@@ -47,18 +47,21 @@ class dVibTest_c : public JORReflexible {
public:
dVibTest_c();
void Init();
void setDefault();
virtual void listenPropertyEvent(const JORPropertyEvent*);
virtual void genMessage(JORMContext*);
virtual ~dVibTest_c() {}
virtual ~dVibTest_c();
/* 0x04 */ s8 field_0x4;
/* 0x04 */ s8 id;
/* 0x06 */ u16 m_pattern;
/* 0x08 */ u16 m_pattern2;
/* 0x0A */ u16 field_0xa;
/* 0x0C */ s16 m_randombit;
/* 0x0E */ s16 m_length;
/* 0x10 */ int field_0x10;
/* 0x14 */ int m_vibswitch;
/* 0x14 */ s32 m_vibswitch;
/* 0x18 */ u16 m_displayDbg;
};
@@ -82,6 +85,10 @@ public:
void Pause();
void Remove();
#if DEBUG
int testShake();
#endif
static const vib_pattern MS_patt[VIBMODE_S_MAX];
static const vib_pattern CS_patt[VIBMODE_S_MAX];
static const vib_pattern MQ_patt[VIBMODE_Q_MAX];
@@ -123,4 +130,7 @@ private:
/* 0x8C */ s32 mMode;
}; // Size: 0x90
extern const char* shock_names[VIBMODE_S_MAX];
extern const char* quake_names[VIBMODE_Q_MAX];
#endif /* D_D_VIBRATION_H */
+2
View File
@@ -2,7 +2,9 @@
#define DOLZEL_BASE_PCH
// Fixes weak .bss
#if !TARGET_PC
#include "weak_bss_1109_to_1009.h" // IWYU pragma: export
#endif
#include <cmath> // IWYU pragma: export
#include <cstring> // IWYU pragma: export
+9
View File
@@ -42,4 +42,13 @@ typedef GXTexObjRAII TGXTexObj;
typedef GXTexObj TGXTexObj;
#endif
struct GXScopedDebugGroup {
explicit GXScopedDebugGroup(const char* text) {
GXPushDebugGroup(text);
}
~GXScopedDebugGroup() {
GXPopDebugGroup();
}
};
#endif // DUSK_GX_HELPER_H
+7
View File
@@ -0,0 +1,7 @@
#pragma once
#define PROCS_DUMP_NAMES 1
#include "d/dolzel.pch"
#include "d/dolzel_base.pch"
#include "d/dolzel_rel.pch"
+1 -1
View File
@@ -61,7 +61,7 @@ public:
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus((JUTGamePad::EPadPort)pad) == 0; }
static void startMotorWave(u32 pad, void* data, JUTGamePad::CRumble::ERumble rumble, u32 length) {
static void startMotorWave(u32 pad, u8* data, JUTGamePad::CRumble::ERumble rumble, u32 length) {
m_gamePad[pad]->startMotorWave(data, rumble, length);
}
static void stopMotor(u32 pad) { m_gamePad[pad]->stopMotor(); }
+1 -4
View File
@@ -4,7 +4,6 @@
#include "JSystem/JFramework/JFWDisplay.h"
#include "m_Do/m_Do_mtx.h"
#include "global.h"
#include "dusk/logging.h"
#if TARGET_PC
#include <aurora/aurora.h>
#endif
@@ -100,9 +99,7 @@ public:
}
static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
static int startFadeIn(int param_0) {
DuskLog.debug("mDoGph_gInf_c::startFadeIn START");
return JFWDisplay::getManager()->startFadeIn(param_0); }
static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
static void setClearColor(JUtility::TColor color) { JFWDisplay::getManager()->setClearColor(color); }
static void setBackColor(GXColor& color) { mBackColor = color; }
+6
View File
@@ -31,4 +31,10 @@ extern u8 __OSReport_Warning_disable;
extern u8 __OSReport_System_disable;
extern u8 __OSReport_enable;
#if TARGET_PC
namespace dusk {
extern bool OSReportReallyForceEnable;
}
#endif
#endif // _OS_REPORT_H