mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-21 13:36:50 -04:00
Merge branch 'better-tools' of https://github.com/TakaRikka/dusk into better-tools
This commit is contained in:
@@ -88,6 +88,10 @@ public:
|
||||
/* 0x02C */ cXyz field_0x2c;
|
||||
/* 0x038 */ cXyz field_0x38[60];
|
||||
/* 0x308 */ cXyz field_0x308[60];
|
||||
#if TARGET_PC
|
||||
TGXTexObj mBlurTexObj;
|
||||
ResTIMG* mpCachedBlurTex = nullptr;
|
||||
#endif
|
||||
}; // Size = 0x5D8
|
||||
|
||||
class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack {
|
||||
@@ -4564,6 +4568,18 @@ public:
|
||||
cXyz mIBChainInterpCurrHandRoot;
|
||||
bool mIBChainInterpPrevValid;
|
||||
bool mIBChainInterpCurrValid;
|
||||
|
||||
cXyz mHsChainInterpPrevTop;
|
||||
cXyz mHsChainInterpCurrTop;
|
||||
cXyz mHsChainInterpPrevRoot;
|
||||
cXyz mHsChainInterpCurrRoot;
|
||||
cXyz mHsChainInterpPrevSubRoot;
|
||||
cXyz mHsChainInterpCurrSubRoot;
|
||||
cXyz mHsChainInterpPrevSubTop;
|
||||
cXyz mHsChainInterpCurrSubTop;
|
||||
bool mHsChainInterpPrevValid;
|
||||
bool mHsChainInterpCurrValid;
|
||||
|
||||
bool mIsRollstab = false;
|
||||
#endif
|
||||
}; // Size: 0x385C
|
||||
|
||||
@@ -299,8 +299,13 @@ public:
|
||||
/* 0x168C */ u8 field_0x168c;
|
||||
/* 0x168D */ u8 field_0x168d;
|
||||
/* 0x168E */ u8 HIOInit;
|
||||
|
||||
#if TARGET_PC
|
||||
cXyz mLineInterpPrev[MG_ROD_LURE_LINE_LEN];
|
||||
cXyz mLineInterpCurr[MG_ROD_LURE_LINE_LEN];
|
||||
bool mLineInterpPrevValid;
|
||||
bool mLineInterpCurrValid;
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dmg_rod_class) == 0x1690);
|
||||
|
||||
#endif /* D_A_MG_ROD_H */
|
||||
|
||||
@@ -66,9 +66,18 @@ public:
|
||||
/* 0x2CA7 */ s8 hide_lock;
|
||||
/* 0x2CA8 */ cXyz field_0x2ca8;
|
||||
/* 0x2CB4 */ u8 field_0x2cb4;
|
||||
|
||||
#if TARGET_PC
|
||||
Mtx mChainInterpPrev[6][16];
|
||||
Mtx mChainInterpCurr[6][16];
|
||||
bool mChainInterpPrevValid;
|
||||
bool mChainInterpCurrValid;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !TARGET_PC
|
||||
STATIC_ASSERT(sizeof(obj_keyhole_class) == 0x2CB8);
|
||||
#endif
|
||||
|
||||
class daObj_Keyhole_HIO_c : public JORReflexible {
|
||||
public:
|
||||
|
||||
@@ -50,6 +50,10 @@ public:
|
||||
/* 0x14 */ Mtx mProjMtx;
|
||||
/* 0x44 */ ResTIMG* mpImg;
|
||||
/* 0x48 */ u8* mpData;
|
||||
#if TARGET_PC
|
||||
TGXTexObj mTexObj;
|
||||
ResTIMG* mpCachedImg = nullptr;
|
||||
#endif
|
||||
};
|
||||
|
||||
class daPy_boomerangMove_c {
|
||||
|
||||
@@ -198,6 +198,7 @@ struct HOUSI_EFF {
|
||||
/* 0x4C */ u16 field_0x4c;
|
||||
}; // Size: 0x50
|
||||
|
||||
// Housi is the rising square particles in Twilight
|
||||
class dKankyo_housi_Packet : public J3DPacket {
|
||||
public:
|
||||
virtual void draw();
|
||||
@@ -208,7 +209,7 @@ public:
|
||||
/* 0x0020 */ HOUSI_EFF mHousiEff[300];
|
||||
/* 0x5DE0 */ u8 field_0x5de0[8];
|
||||
/* 0x5DE8 */ f32 field_0x5de8;
|
||||
/* 0x5DEC */ s16 field_0x5dec;
|
||||
/* 0x5DEC */ s16 mHousiCount;
|
||||
}; // Size: 0x5DF0
|
||||
|
||||
struct CLOUD_EFF {
|
||||
|
||||
@@ -7,12 +7,16 @@
|
||||
#include <dolphin/gx/GXExtra.h>
|
||||
#include "tracy/Tracy.hpp"
|
||||
|
||||
#if DUSK_GFX_DEBUG_GROUPS
|
||||
#define GX_DEBUG_GROUP(name, ...) \
|
||||
do { \
|
||||
GXPushDebugGroup(#name); \
|
||||
name(__VA_ARGS__); \
|
||||
GXPopDebugGroup(); \
|
||||
} while (0)
|
||||
#else
|
||||
#define GX_DEBUG_GROUP(name, ...) name(__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_PC
|
||||
class GXTexObjRAII : public GXTexObj {
|
||||
@@ -39,16 +43,37 @@ public:
|
||||
static_assert(sizeof(GXTexObjRAII) == sizeof(GXTexObj),
|
||||
"GXTexObjRAII should have the same size as GXTexObj");
|
||||
typedef GXTexObjRAII TGXTexObj;
|
||||
|
||||
class GXTlutObjRAII : public GXTlutObj {
|
||||
public:
|
||||
GXTlutObjRAII() : GXTlutObj() {}
|
||||
~GXTlutObjRAII() { GXDestroyTlutObj(this); }
|
||||
|
||||
void reset() { GXDestroyTlutObj(this); }
|
||||
|
||||
GXTlutObjRAII(const GXTlutObjRAII&) = delete;
|
||||
GXTlutObjRAII& operator=(const GXTlutObjRAII&) = delete;
|
||||
GXTlutObjRAII(GXTlutObjRAII&&) = delete;
|
||||
GXTlutObjRAII& operator=(GXTlutObjRAII&&) = delete;
|
||||
};
|
||||
static_assert(sizeof(GXTlutObjRAII) == sizeof(GXTlutObj),
|
||||
"GXTlutObjRAII should have the same size as GXTlutObj");
|
||||
typedef GXTlutObjRAII TGXTlutObj;
|
||||
#else
|
||||
typedef GXTexObj TGXTexObj;
|
||||
typedef GXTlutObj TGXTlutObj;
|
||||
#endif
|
||||
|
||||
struct GXScopedDebugGroup {
|
||||
explicit GXScopedDebugGroup(const char* text) {
|
||||
#if DUSK_GFX_DEBUG_GROUPS
|
||||
GXPushDebugGroup(text);
|
||||
#endif
|
||||
}
|
||||
~GXScopedDebugGroup() {
|
||||
#if DUSK_GFX_DEBUG_GROUPS
|
||||
GXPopDebugGroup();
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+17
-1
@@ -57,6 +57,14 @@ enum class MenuScaling : u8 {
|
||||
Dusklight = 2,
|
||||
};
|
||||
|
||||
enum class MagicArmorMode : u8 {
|
||||
NORMAL = 0,
|
||||
ON_DAMAGE = 1,
|
||||
DOUBLE_DEFENSE = 2,
|
||||
INVINCIBLE = 3,
|
||||
COSMETIC = 4,
|
||||
};
|
||||
|
||||
namespace config {
|
||||
template <>
|
||||
struct ConfigEnumRange<BloomMode> {
|
||||
@@ -105,6 +113,12 @@ struct ConfigEnumRange<MenuScaling> {
|
||||
static constexpr auto min = MenuScaling::GameCube;
|
||||
static constexpr auto max = MenuScaling::Dusklight;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct ConfigEnumRange<MagicArmorMode> {
|
||||
static constexpr auto min = MagicArmorMode::NORMAL;
|
||||
static constexpr auto max = MagicArmorMode::COSMETIC;
|
||||
};
|
||||
} // namespace config
|
||||
|
||||
// Persistent user settings
|
||||
@@ -153,6 +167,7 @@ struct UserSettings {
|
||||
ConfigVar<bool> noMissClimbing;
|
||||
ConfigVar<bool> fastTears;
|
||||
ConfigVar<bool> no2ndFishForCat;
|
||||
ConfigVar<bool> buttonFishing;
|
||||
ConfigVar<bool> instantSaves;
|
||||
ConfigVar<bool> instantText;
|
||||
ConfigVar<bool> sunsSong;
|
||||
@@ -162,6 +177,7 @@ struct UserSettings {
|
||||
// Preferences
|
||||
ConfigVar<bool> enableMirrorMode;
|
||||
ConfigVar<bool> minimalHUD;
|
||||
ConfigVar<float> hudScale;
|
||||
ConfigVar<bool> pauseOnFocusLost;
|
||||
ConfigVar<bool> enableLinkDollRotation;
|
||||
ConfigVar<bool> enableAchievementToasts;
|
||||
@@ -232,7 +248,7 @@ struct UserSettings {
|
||||
ConfigVar<bool> canTransformAnywhere;
|
||||
ConfigVar<bool> fastRoll;
|
||||
ConfigVar<bool> fastSpinner;
|
||||
ConfigVar<bool> freeMagicArmor;
|
||||
ConfigVar<MagicArmorMode> armorRupeeDrain;
|
||||
ConfigVar<bool> invincibleEnemies;
|
||||
|
||||
// Technical
|
||||
|
||||
@@ -44,7 +44,7 @@ struct mDoLib_clipper {
|
||||
|
||||
void mDoLib_project(Vec* src, Vec* dst);
|
||||
u32 mDoLib_setResTimgObj(ResTIMG const* res, TGXTexObj* o_texObj, u32 tlut_name,
|
||||
GXTlutObj* o_tlutObj);
|
||||
TGXTlutObj* o_tlutObj);
|
||||
void mDoLib_pos2camera(Vec* src, Vec* dst);
|
||||
|
||||
#if PLATFORM_WII
|
||||
|
||||
Reference in New Issue
Block a user