CMorphBall & link RMathUtils (#44)

* Update tool versions

* Initial CMorphBall

* Cleanup CMorphBall, link RMathUtils

* Rematch a couple symbols

* Fix _01 DolphinCGraphics .sdata size regression
This commit is contained in:
Luke Street
2026-03-17 00:10:26 -06:00
committed by GitHub
parent a3de68f5b8
commit 2c46a69188
42 changed files with 5328 additions and 2295 deletions
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -1060,7 +1060,7 @@ BuildDynamicLightListForWorld__13CStateManagerFv = .text:0x800457FC; // type:fun
push_back__Q24rstl42vector<6CLight,Q24rstl17rmemory_allocator>FRC6CLight = .text:0x80045A40; // type:function size:0x7C scope:global
fn_80045A40 = .text:0x80045ABC; // type:function size:0x28 scope:global
__as__Q24rstl42vector<6CLight,Q24rstl17rmemory_allocator>FRCQ24rstl42vector<6CLight,Q24rstl17rmemory_allocator> = .text:0x80045AE4; // type:function size:0xD4 scope:global
uninitialized_copy<PC6CLight,6CLight>__4rstlFPC6CLightPC6CLightP6CLight = .text:0x80045BB8; // type:function size:0x64 scope:global
uninitialized_copy<P6CLight,6CLight>__4rstlFP6CLightP6CLightP6CLight = .text:0x80045BB8; // type:function size:0x64 scope:global
DrawDebugStuff__13CStateManagerCFv = .text:0x80045C1C; // type:function size:0x4 scope:global
RenderCamerasAndAreaLights__13CStateManagerCFv = .text:0x80045C20; // type:function size:0x5C scope:global
DrawE3DeathEffect__13CStateManagerCFv = .text:0x80045C7C; // type:function size:0x164 scope:global
@@ -1144,7 +1144,7 @@ CalculateObjectBounds__13CStateManagerFRC6CActor = .text:0x8004C99C; // type:fun
AddObject__13CStateManagerFR7CEntity = .text:0x8004CB90; // type:function size:0x1E0 scope:global
AddObject__13CStateManagerFP7CEntity = .text:0x8004CD70; // type:function size:0x28 scope:global
fn_8004CD1C = .text:0x8004CD98; // type:function size:0x14 scope:global
RayCollideWorldInternal__13CStateManagerRC9CVector3fRC9CVector3fRC15CMaterialFilterRCQ24rstl49reserved_vector<9TUniqueId,1024>RC6CActor = .text:0x8004CDAC; // type:function size:0x10C scope:global
RayCollideWorldInternal__13CStateManagerCFRC9CVector3fRC9CVector3fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>PC6CActor = .text:0x8004CDAC; // type:function size:0x10C scope:global
RayCollideWorld__13CStateManagerFRC9CVector3fRC9CVector3fRC15CMaterialFilterPC6CActor = .text:0x8004CEB8; // type:function size:0x130 scope:global
RayCollideWorld__13CStateManagerCFRC9CVector3fRC9CVector3fRCQ24rstl32reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor = .text:0x8004CFE8; // type:function size:0x2C scope:global
RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter = .text:0x8004D014; // type:function size:0x2C scope:global
@@ -1157,8 +1157,8 @@ __dt__22CStateManagerContainerFv = .text:0x8004D780; // type:function size:0x20C
__dt__14CCameraManagerFv = .text:0x8004D98C; // type:function size:0x1B4 scope:global
__dt__18CFluidPlaneManagerFv = .text:0x8004DB40; // type:function size:0xF8 scope:global
__dt__13CEnvFxManagerFv = .text:0x8004DC38; // type:function size:0x184 scope:global
fn_8004DD40 = .text:0x8004DDBC; // type:function size:0x50 scope:global
fn_8004DD90 = .text:0x8004DE0C; // type:function size:0x68 scope:global
__dt__Q24rstl39reserved_vector<17CEnvFxManagerGrid,64>Fv = .text:0x8004DDBC; // type:function size:0x50 scope:global
clear__Q24rstl39reserved_vector<17CEnvFxManagerGrid,64>Fv = .text:0x8004DE0C; // type:function size:0x68 scope:global
fn_8004DDF8 = .text:0x8004DE74; // type:function size:0x6C scope:global
__dt__20CActorModelParticlesFv = .text:0x8004DEE0; // type:function size:0xE8 scope:global
fn_8004DF4C = .text:0x8004DFC8; // type:function size:0x50 scope:global
@@ -7366,7 +7366,7 @@ fn_80148F0C = .text:0x80148F88; // type:function size:0x98 scope:global
fn_80148FA4 = .text:0x80149020; // type:function size:0xB4 scope:global
fn_80149058 = .text:0x801490D4; // type:function size:0x8C scope:global
reserve__Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>Fi = .text:0x80149160; // type:function size:0xE8 scope:global
uninitialized_copy<Q24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,11CElementGen>__4rstlFQ24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>P11CElementGen = .text:0x80149248; // type:function size:0x68 scope:global
uninitialized_copy<Q24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,P11CElementGen>__4rstlFQ24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl116pointer_iterator<11CElementGen,Q24rstl48vector<11CElementGen,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>P11CElementGen = .text:0x80149248; // type:function size:0x68 scope:global
fn_80149234 = .text:0x801492B0; // type:function size:0x7C scope:global
__dt__8CBSTauntFv = .text:0x8014932C; // type:function size:0x5C scope:global
GetBodyStateTransition__8CBSTauntFfR15CBodyController = .text:0x80149388; // type:function size:0xD4 scope:global
@@ -21324,7 +21324,7 @@ lbl_805A8A21 = .sdata:0x805A8A21; // type:object size:0x1 data:byte
lbl_805A8A22 = .sdata:0x805A8A22; // type:object size:0x1 data:byte
lbl_805A8A24 = .sdata:0x805A8A24; // type:object size:0x4 align:4 data:float
lbl_805A8A28 = .sdata:0x805A8A28; // type:object size:0x4
lbl_805A8A2C = .sdata:0x805A8A2C; // type:object size:0x2 data:string
lbl_805A8A2C = .sdata:0x805A8A2C; // type:object size:0x4 data:4byte
lbl_805A8A30 = .sdata:0x805A8A30; // type:object size:0x4
lbl_805A8A34 = .sdata:0x805A8A34; // type:object size:0x4
lbl_805A8A38 = .sdata:0x805A8A38; // type:object size:0x4 align:4 data:float
@@ -23595,7 +23595,7 @@ lbl_805AB2E0 = .sdata2:0x805AB2E0; // type:object size:0x8 align:4 data:float
@414 = .sdata2:0x805AB2F4; // type:object size:0x4 scope:local align:4 data:float
@415 = .sdata2:0x805AB2F8; // type:object size:0x4 scope:local align:4 data:float
@416 = .sdata2:0x805AB2FC; // type:object size:0x4 scope:local align:4 data:float
lbl_805AB300 = .sdata2:0x805AB300; // type:object size:0x4 data:4byte
kInvalidShadowLightIndex__12CActorLights = .sdata2:0x805AB300; // type:object size:0x4 data:4byte
kDefaultPositionUpdateThreshold__12CActorLights = .sdata2:0x805AB304; // type:object size:0x4 align:4 data:float
lbl_805AB308 = .sdata2:0x805AB308; // type:object size:0x4 align:4 data:float
lbl_805AB30C = .sdata2:0x805AB30C; // type:object size:0x4 align:4 data:float
+4 -4
View File
@@ -1100,7 +1100,7 @@ musyx/runtime/hardware.c:
musyx/runtime/dsp_import.c:
.data start:0x803F4760 end:0x803F6140
.sdata start:0x805A88C0 end:0x805A88C4
.sdata start:0x805A88C0 end:0x805A88C8
musyx/runtime/hw_aramdma.c:
.text start:0x803B4074 end:0x803B4D40
@@ -1162,7 +1162,7 @@ Dolphin/card/CARDBios.c:
Dolphin/card/CARDUnlock.c:
.text start:0x803B9190 end:0x803BA3F0
.data start:0x803F69E0 end:0x803F6B40
.sdata start:0x805A88D0 end:0x805A88D4
.sdata start:0x805A88D0 end:0x805A88D8
Dolphin/card/CARDRdwr.c:
.text start:0x803BA3F0 end:0x803BA670
@@ -1206,7 +1206,7 @@ Dolphin/card/CARDRename.c:
Dolphin/card/CARDNet.c:
.text start:0x803BE6EC end:0x803BE7B0
.sdata start:0x805A88D8 end:0x805A88DC
.sdata start:0x805A88D8 end:0x805A88E0
Dolphin/si/SIBios.c:
.text start:0x803BE7B0 end:0x803C0010
@@ -1222,7 +1222,7 @@ Dolphin/si/SISamplingRate.c:
Dolphin/exi/EXIBios.c:
.text start:0x803C0118 end:0x803C19F4
.data start:0x803F6D30 end:0x803F6DFC
.data start:0x803F6D30 end:0x803F6E00
.bss start:0x80569B78 end:0x80569C38
.sdata start:0x805A88E8 end:0x805A88EC
+1 -1
View File
@@ -14060,7 +14060,7 @@ construct<Q215CParticleSwoosh11SSwooshData>__4rstlFPvRCQ215CParticleSwoosh11SSwo
__ct__Q215CParticleSwoosh11SSwooshDataFRCQ215CParticleSwoosh11SSwooshData = .text:0x8032F7D4; // type:function size:0xE4
__ct__Q215CParticleSwoosh11SSwooshDataFRC9CVector3fRC9CVector3fffibRC12CTransform4fRC9CVector3fffRC6CColor = .text:0x8032F8B8; // type:function size:0xDC
reserve__Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>Fi = .text:0x8032F994; // type:function size:0xD8
uninitialized_copy<Q24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,Q215CParticleSwoosh11SSwooshData>__4rstlFQ24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>PQ215CParticleSwoosh11SSwooshData = .text:0x8032FA6C; // type:function size:0x68
uninitialized_copy<Q24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,PQ215CParticleSwoosh11SSwooshData>__4rstlFQ24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl154pointer_iterator<Q215CParticleSwoosh11SSwooshData,Q24rstl67vector<Q215CParticleSwoosh11SSwooshData,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>PQ215CParticleSwoosh11SSwooshData = .text:0x8032FA6C; // type:function size:0x68
CreateWPSM__26CParticleSwooshDataFactoryFP18CSwooshDescriptionR12CInputStreamP11CSimplePool = .text:0x8032FAD4; // type:function size:0x4DC
CreateGeneratorDescription__26CParticleSwooshDataFactoryFR12CInputStreamP11CSimplePool = .text:0x8032FFB0; // type:function size:0x8C
GetGeneratorDesc__26CParticleSwooshDataFactoryFR12CInputStreamP11CSimplePool = .text:0x8033003C; // type:function size:0x84
+4 -4
View File
@@ -182,10 +182,10 @@ if not config.non_matching:
# Tool versions
config.binutils_tag = "2.42-1"
config.compilers_tag = "20251118"
config.dtk_tag = "v1.8.0"
config.objdiff_tag = "v3.0.1"
config.dtk_tag = "v1.8.3"
config.objdiff_tag = "v3.7.0"
config.sjiswrap_tag = "v1.2.2"
config.wibo_tag = "1.0.0"
config.wibo_tag = "1.0.3"
# Project
config.config_path = Path("config") / config.version / "config.yml"
@@ -1491,7 +1491,7 @@ config.libs = [
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Math/CVector3d.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Math/CVector3f.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Math/CVector3i.cpp"),
Object(NonMatching, "Kyoto/Math/RMathUtils.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Math/RMathUtils.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/CCrc32.cpp"),
Object(
MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Alloc/CCircularBuffer.cpp"
+3
View File
@@ -11,6 +11,8 @@ class CCollidableSphere : public CCollisionPrimitive {
public:
CCollidableSphere(const CSphere& sphere, const CMaterialList& material)
: CCollisionPrimitive(material), x10_sphere(sphere) {}
CCollidableSphere(const CCollidableSphere& other)
: CCollisionPrimitive(other), x10_sphere(other.x10_sphere) {}
static bool CollideMovingAABox(const CInternalCollisionStructure& collision, const CVector3f& dir,
double& dOut, CCollisionInfo& infoOut);
@@ -23,6 +25,7 @@ public:
FourCC GetPrimType() const override;
CSphere Transform(const CTransform4f& xf) const;
const CSphere& GetSphere() const { return x10_sphere; }
void SetSphereCenter(const CVector3f& center) { x10_sphere = CSphere(center, x10_sphere.GetRadius()); }
~CCollidableSphere() override {}
CRayCastResult CastRayInternal(const CInternalRayCastStructure& internalRayCast) const override;
-2
View File
@@ -38,8 +38,6 @@ public:
const_iterator End() const { return x0_list.end(); }
iterator Begin() { return x0_list.begin(); }
const_iterator Begin() const { return x0_list.begin(); }
CCollisionInfoList& operator=(const CCollisionInfoList& other);
};
#endif // _CCOLLISIONINFOLIST
@@ -88,6 +88,7 @@ public:
};
CCollisionPrimitive(const CMaterialList& list);
CCollisionPrimitive(const CCollisionPrimitive& other) : x8_material(other.x8_material) {}
virtual uint GetTableIndex() const = 0;
virtual void SetMaterial(const CMaterialList& other) { x8_material = other; }
+3
View File
@@ -121,6 +121,9 @@ public:
return (other.value & value) ? true : false;
}
// TODO: fake?
u64 GetValue() const { return value; }
private:
u64 value;
+7 -4
View File
@@ -7,6 +7,7 @@ class CCollisionInfoList;
class CVector3f;
class CSphere;
class CMRay;
class CPlane;
namespace CollisionUtil {
@@ -23,7 +24,7 @@ bool TriSphereOverlap(const CSphere&, const CVector3f&, const CVector3f&, const
bool TriSphereIntersection(const CSphere&, const CVector3f&, const CVector3f&, const CVector3f&,
CVector3f&, CVector3f&);
double TriPointSqrDist(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&,
float*, float*);
float*, float*);
bool AABoxAABoxIntersection(const CAABox& left, const CAABox& right);
bool AABoxAABoxIntersection(const CAABox& left, const CMaterialList& leftFilter,
@@ -32,10 +33,10 @@ bool AABoxAABoxIntersection(const CAABox& left, const CMaterialList& leftFilter,
bool AABoxSphereIntersection(const CAABox&, const CSphere&);
float AABoxSphereIntersectionRadius(const CAABox&, const CSphere&);
bool RayTriangleIntersection(const CVector3f&, const CVector3f&, const CVector3f*, float&);
bool RayTriangleIntersection_Double(const CVector3f&, const CVector3f&, const CVector3f*,
double&);
bool RayTriangleIntersection_Double(const CVector3f&, const CVector3f&, const CVector3f*, double&);
int RayAABoxIntersection(const CMRay& ray, const CAABox& box, float& tMin, float& tMax);
int RayAABoxIntersection_Double(const CMRay& ray, const CAABox& box, CVector3f& dir, double& penetration);
int RayAABoxIntersection_Double(const CMRay& ray, const CAABox& box, CVector3f& dir,
double& penetration);
int RayAABoxIntersection(const CMRay& ray, const CAABox& box, CVector3f& dir, float& penetration);
bool AABox_AABox_Moving(const CAABox& left, const CAABox& right, const CVector3f& dir, double& d,
CVector3f& point, CVector3f& normal);
@@ -47,6 +48,8 @@ bool RaySphereIntersection_Double(const CSphere& sphere, const CVector3f& pos, c
double& T);
bool RaySphereIntersection(const CSphere& sphere, const CVector3f& pos, const CVector3f& dir,
float mag, float& T, CVector3f& point);
bool RayPlaneIntersection(const CVector3f& from, const CVector3f& to, const CPlane& plane,
CVector3f& point);
// Global function defined in either CBallFilter or an unknown TU, name unknown.
// Called by CNewFlameThrower.
-1
View File
@@ -25,7 +25,6 @@ public:
const CColor& color, float cutoff);
CLight(const CVector3f& pos, const CVector3f& direction, const CColor& color, float distC,
float distL, float distQ, float angleC, float angleL, float angleQ);
CLight(const CLight&);
void SetPosition(const CVector3f& pos);
const CVector3f& GetPosition() const { return x0_pos; }
+16 -3
View File
@@ -3,8 +3,8 @@
#include "types.h"
#include "math.h"
#include "float.h"
#include "math.h"
#include <Kyoto/Math/CVector3f.hpp>
@@ -21,7 +21,11 @@ public:
template < typename T >
static const T& Clamp(const T& min, const T& val, const T& max);
static float SqrtF(float v);
static inline float Limit(float v, float h) { if (fabs(v) > h) return h * Sign(v); return v; }
static inline float Limit(float v, float h) {
if (fabs(v) > h)
return h * Sign(v);
return v;
}
static inline float Sign(float v) { return FastFSel(v, 1.f, -1.f); }
#ifdef __MWERKS__
static inline float FastFSel(register float v, register float h, register float l) {
@@ -37,7 +41,16 @@ public:
static inline float AbsF(float v) { return fabs(v); }
static inline double AbsD(double v) { return fabs(v); }
static inline int AbsI(int v) { return abs(v); }
// WrapPi__5CMathFf weak
static inline float WrapPi(float rad) {
float value = FastFmod(rad, M_2PIF);
if (value > M_PIF) {
return value - M_2PIF;
} else if (value < -M_PIF) {
return value + M_2PIF;
} else {
return value;
}
}
// WrapTwoPi__5CMathFf weak
template < typename T >
static const T& Min(const T& a, const T& b);
+1 -1
View File
@@ -32,7 +32,7 @@ public:
// __amu__11CQuaternionFRC11CQuaternion
// ScalarVector__11CQuaternionFfRC9CVector3f
// Slerp__11CQuaternionFRC11CQuaternionRC11CQuaternionf
// ShortestRotationArc__11CQuaternionFRC9CVector3fRC9CVector3f
static CQuaternion ShortestRotationArc(const CVector3f&, const CVector3f&);
// TODO: map says const CUnitVector3f&, but this matches better in CBSCover/CSamusFaceReflection
static CQuaternion LookAt(CUnitVector3f, CUnitVector3f, const CRelAngle&);
+2 -1
View File
@@ -66,7 +66,7 @@ public:
virtual CVector3f GetGlobalTranslation() const override;
virtual CVector3f GetGlobalScale() const override;
virtual bool GetParticleEmission() const override;
virtual CColor GetModulationColor() const override;
virtual const CColor& GetModulationColor() const override;
virtual bool IsSystemDeletable() const override;
virtual rstl::optional_object< CAABox > GetBounds() const override;
virtual int GetParticleCount() const override;
@@ -79,6 +79,7 @@ public:
int GetEmitterTime() const;
int GetSystemCount();
void EndLifetime();
void ForceParticleCreation(int amount);
int GetNumActiveChildParticles() const;
CParticleGen* GetActiveChildParticle(int index) const;
@@ -30,7 +30,7 @@ public:
CVector3f GetGlobalTranslation() const override;
CVector3f GetGlobalScale() const override;
bool GetParticleEmission() const override;
CColor GetModulationColor() const override;
const CColor& GetModulationColor() const override;
bool IsSystemDeletable() const override;
rstl::optional_object< CAABox > GetBounds() const override;
int GetParticleCount() const override;
+1 -1
View File
@@ -32,7 +32,7 @@ public:
virtual CVector3f GetGlobalTranslation() const = 0;
virtual CVector3f GetGlobalScale() const = 0;
virtual bool GetParticleEmission() const = 0;
virtual CColor GetModulationColor() const = 0;
virtual const CColor& GetModulationColor() const = 0;
virtual float GetGeneratorRate() const { return 1.f; }
virtual bool IsSystemDeletable() const = 0;
virtual rstl::optional_object< CAABox > GetBounds() const = 0;
+1 -1
View File
@@ -66,7 +66,7 @@ public:
CVector3f GetGlobalTranslation() const;
CVector3f GetGlobalScale() const;
bool GetParticleEmission() const;
CColor GetModulationColor() const;
const CColor& GetModulationColor() const;
bool IsSystemDeletable() const;
rstl::optional_object< CAABox > GetBounds() const;
int GetParticleCount() const;
+1 -3
View File
@@ -12,9 +12,7 @@ template < typename T, int N >
class TReservedAverage : public rstl::reserved_vector< T, N > {
public:
TReservedAverage() {}
TReservedAverage(const T& value) {
// resize(value, N); TODO
}
TReservedAverage(const T& value) { this->resize(N, value); }
void AddValue(const T& value);
rstl::optional_object< T > GetAverage() const;
rstl::optional_object< T > GetEntry(int idx) const;
+8 -2
View File
@@ -38,10 +38,14 @@ public:
uint GetActiveLightCount() const;
bool GetNeedsRelight() const { return x298_24_dirty == TRUE; }
bool HasShadowLight() const { return x29c_shadowLightArrIdx != -1; }
bool HasShadowLight() const { return x29c_shadowLightArrIdx != kInvalidShadowLightIndex; }
const TAreaId GetAreaLightIndexForShadowLight() const { return x29c_shadowLightArrIdx; }
uint GetShadowLightArrIndex() const { return x29c_shadowLightArrIdx; }
int GetShadowLightIndex() const { return x2a0_shadowLightIdx; }
const CVector3f& GetAmbientColor() const { return x288_ambientColor; }
void SetAmbientColor(const CColor& color);
void SetNeedsRelight(bool v) { x298_24_dirty = v; }
void SetCastShadows(bool v) { x298_25_castShadows = v; }
void SetFindShadowLight(bool v) { x298_27_findShadowLight = v; }
void SetShadowDynamicRangeThreshold(float t) { x2d0_shadowDynamicRangeThreshold = t; }
@@ -74,7 +78,7 @@ private:
bool x299_25_useBrightLightLag : 1;
bool x299_26_ambientOnly : 1;
bool x29a_findNearestDynamicLights;
int x29c_shadowLightArrIdx;
uint x29c_shadowLightArrIdx;
int x2a0_shadowLightIdx;
uint x2a4_lastUpdateFrame;
uint x2a8_areaUpdateFramePeriod;
@@ -87,6 +91,8 @@ private:
float x2d4_worldLightingLevel;
int x2d8_brightLightIdx;
uint x2dc_brightLightLag;
static int kInvalidShadowLightIndex;
};
CHECK_SIZEOF(CActorLights, 0x2e0)
@@ -132,7 +132,7 @@ private:
TToken< CGenDescription > x30_firePop;
TToken< CGenDescription > x38_icePop;
TToken< CElectricDescription > x40_electric;
TToken< CTexture > x48_ashy;
CToken x48_ashy;
rstl::reserved_vector< Dependency, 6 > x50_dgrps;
bool xe4_loadingDeps;
bool xe5_justLoadedDeps;

Some files were not shown because too many files have changed in this diff Show More