mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-07-06 18:35:51 +00:00
CActor fixes, nearly matched
This commit is contained in:
parent
32a88ad894
commit
9e537083d9
@ -88,7 +88,7 @@ public:
|
|||||||
return CModelFlags(*this, GetOtherFlags() | kF_DepthGreater);
|
return CModelFlags(*this, GetOtherFlags() | kF_DepthGreater);
|
||||||
}
|
}
|
||||||
|
|
||||||
ETrans GetTrans() const { return static_cast< ETrans >(x0_blendMode); }
|
char GetTrans() const { return static_cast< ETrans >(x0_blendMode); }
|
||||||
int GetShaderSet() const { return x1_matSetIdx; }
|
int GetShaderSet() const { return x1_matSetIdx; }
|
||||||
uint GetOtherFlags() const { return x2_flags; }
|
uint GetOtherFlags() const { return x2_flags; }
|
||||||
CColor GetColor() const { return x4_color; }
|
CColor GetColor() const { return x4_color; }
|
||||||
|
@ -141,10 +141,10 @@ private:
|
|||||||
rstl::pair< CAssetId, CAssetId > x44_xrayAssets;
|
rstl::pair< CAssetId, CAssetId > x44_xrayAssets;
|
||||||
rstl::pair< CAssetId, CAssetId > x4c_thermalAssets;
|
rstl::pair< CAssetId, CAssetId > x4c_thermalAssets;
|
||||||
CVisorParameters x54_visor;
|
CVisorParameters x54_visor;
|
||||||
uchar x58_24_useGlobalRenderTime : 1;
|
bool x58_24_useGlobalRenderTime : 1;
|
||||||
uchar x58_25_thermalHeat : 1;
|
bool x58_25_thermalHeat : 1;
|
||||||
uchar x58_26_forceRenderUnsorted : 1;
|
bool x58_26_forceRenderUnsorted : 1;
|
||||||
uchar x58_27_noSortThermal : 1;
|
bool x58_27_noSortThermal : 1;
|
||||||
float x5c_fadeInTime;
|
float x5c_fadeInTime;
|
||||||
float x60_fadeOutTime;
|
float x60_fadeOutTime;
|
||||||
float x64_thermalMag;
|
float x64_thermalMag;
|
||||||
|
@ -52,7 +52,9 @@ public:
|
|||||||
const TLockedToken< CSkinnedModel >& GetModelData() const { return xd8_modelData; }
|
const TLockedToken< CSkinnedModel >& GetModelData() const { return xd8_modelData; }
|
||||||
|
|
||||||
void SetIsAnimating(bool v) { x220_24_animating = v; }
|
void SetIsAnimating(bool v) { x220_24_animating = v; }
|
||||||
void SetParticleEffectState(const rstl::string& name, const bool active, CStateManager& mgr);
|
void SetParticleEffectState(const rstl::string& name, const bool active, CStateManager& mgr) {
|
||||||
|
x120_particleDB.SetParticleEffectState(name, active, mgr);
|
||||||
|
}
|
||||||
|
|
||||||
int GetCharacterIndex() const { return x204_charIdx; }
|
int GetCharacterIndex() const { return x204_charIdx; }
|
||||||
float GetAverageVelocity(int idx) const;
|
float GetAverageVelocity(int idx) const;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
class CArchitectureQueue {
|
class CArchitectureQueue {
|
||||||
public:
|
public:
|
||||||
void Push(const CArchitectureMessage& msg) { x0_queue.push_back(msg); }
|
void Push(const CArchitectureMessage& msg);// { x0_queue.push_back(msg); }
|
||||||
CArchitectureMessage Pop() {
|
CArchitectureMessage Pop() {
|
||||||
CArchitectureMessage result = *x0_queue.begin();
|
CArchitectureMessage result = *x0_queue.begin();
|
||||||
x0_queue.pop_front();
|
x0_queue.pop_front();
|
||||||
|
@ -22,11 +22,6 @@ enum EWeaponType {
|
|||||||
};
|
};
|
||||||
|
|
||||||
class CWeaponMode {
|
class CWeaponMode {
|
||||||
EWeaponType x0_weaponType;
|
|
||||||
bool x4_24_charged : 1;
|
|
||||||
bool x4_25_comboed : 1;
|
|
||||||
bool x4_26_instantKill : 1;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CWeaponMode(EWeaponType type = kWT_None, const bool charged = false,
|
explicit CWeaponMode(EWeaponType type = kWT_None, const bool charged = false,
|
||||||
const bool comboed = false, const bool instaKill = false)
|
const bool comboed = false, const bool instaKill = false)
|
||||||
@ -52,6 +47,12 @@ public:
|
|||||||
static CWeaponMode Power() { return CWeaponMode(kWT_Power); }
|
static CWeaponMode Power() { return CWeaponMode(kWT_Power); }
|
||||||
static CWeaponMode Bomb() { return CWeaponMode(kWT_Bomb); }
|
static CWeaponMode Bomb() { return CWeaponMode(kWT_Bomb); }
|
||||||
static CWeaponMode PowerBomb() { return CWeaponMode(kWT_PowerBomb); }
|
static CWeaponMode PowerBomb() { return CWeaponMode(kWT_PowerBomb); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
EWeaponType x0_weaponType;
|
||||||
|
bool x4_24_charged : 1;
|
||||||
|
bool x4_25_comboed : 1;
|
||||||
|
bool x4_26_instantKill : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _WEAPONTYPES
|
#endif // _WEAPONTYPES
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "dolphin/gx.h"
|
#include "dolphin/gx.h"
|
||||||
#include "dolphin/gx/GXPriv.h"
|
#include "dolphin/gx/GXPriv.h"
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
extern float cosf(float x);
|
extern float cosf(float x);
|
||||||
extern float sqrtf(float x);
|
extern float sqrtf(float x);
|
||||||
|
@ -816,13 +816,13 @@ void CActor::SetDrawShadow(bool enabled) {
|
|||||||
|
|
||||||
// TODO nonmatching
|
// TODO nonmatching
|
||||||
bool CActor::CanDrawStatic() const {
|
bool CActor::CanDrawStatic() const {
|
||||||
if (!GetActive() || !HasModelData() || static_cast< char >(xb4_drawFlags.GetTrans()) > 4)
|
if (!GetActive() || !HasModelData() || xb4_drawFlags.GetTrans() > 4) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (GetModelData()->IsNull() || GetModelData()->HasAnimation()) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (HasModelData() && GetAnimationData() == nullptr)
|
return true;
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CActor::UpdateSfxEmitters() {
|
void CActor::UpdateSfxEmitters() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user