mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-20 22:59:11 +00:00
CScriptSpecialFunction progress & symbol updates
Former-commit-id: 84d590be2f
This commit is contained in:
@@ -258,9 +258,9 @@ public:
|
||||
const CTransform4f& GetTransform() const { return x34_transform; }
|
||||
void SetTransform(const CTransform4f& xf) {
|
||||
x34_transform = xf;
|
||||
xe4_27_notInSortedLists = true;
|
||||
xe4_28_transformDirty = true;
|
||||
xe4_29_actorLightsDirty = true;
|
||||
SetTransformDirty(true);
|
||||
SetTransformDirtySpare(true);
|
||||
SetPreRenderHasMoved(true);
|
||||
}
|
||||
void SetRotation(const CQuaternion& rot) {
|
||||
SetTransform(rot.BuildTransform4f(GetTranslation()));
|
||||
|
||||
@@ -41,23 +41,22 @@ private:
|
||||
static bool mManagerInstalled;
|
||||
};
|
||||
|
||||
// TODO where?
|
||||
enum EFlowState {
|
||||
kFS_None,
|
||||
kFS_WinBad,
|
||||
kFS_WinGood,
|
||||
kFS_WinBest,
|
||||
kFS_LoseGame,
|
||||
kFS_Default,
|
||||
kFS_StateSetter,
|
||||
kFS_PreFrontEnd,
|
||||
kFS_FrontEnd,
|
||||
kFS_Game,
|
||||
kFS_GameExit,
|
||||
};
|
||||
|
||||
class CMain {
|
||||
public:
|
||||
enum ERestartMode {
|
||||
kRM_None,
|
||||
kRM_WinBad,
|
||||
kRM_WinGood,
|
||||
kRM_WinBest,
|
||||
kRM_LoseGame,
|
||||
kRM_Default,
|
||||
kRM_StateSetter,
|
||||
kRM_PreFrontEnd,
|
||||
kRM_FrontEnd,
|
||||
kRM_Game,
|
||||
kRM_GameExit,
|
||||
};
|
||||
|
||||
CMain();
|
||||
~CMain();
|
||||
|
||||
@@ -78,7 +77,7 @@ public:
|
||||
bool CheckTerminate();
|
||||
bool CheckReset();
|
||||
void OpenWindow();
|
||||
void SetFlowState(EFlowState s) { x12c_flowState = s; }
|
||||
void SetRestartMode(ERestartMode s) { x12c_restartMode = s; }
|
||||
|
||||
void SetMaxSpeed(bool v) {
|
||||
// ?
|
||||
@@ -109,7 +108,7 @@ private:
|
||||
f32 x120_;
|
||||
f32 x124_;
|
||||
CGameGlobalObjects* x128_gameGlobalObjects;
|
||||
EFlowState x12c_flowState;
|
||||
ERestartMode x12c_restartMode;
|
||||
rstl::reserved_vector< uint, 10 > x130_frameTimes;
|
||||
int x15c_frameTimeIdx;
|
||||
bool x160_24_finished : 1;
|
||||
|
||||
@@ -24,6 +24,11 @@ class CModelFlags;
|
||||
// TODO move
|
||||
#include "Kyoto/Math/CQuaternion.hpp"
|
||||
struct SAdvancementDeltas {
|
||||
public:
|
||||
const CVector3f& GetOffsetDelta() const { return x0_posDelta; }
|
||||
const CQuaternion& GetOrientationDelta() const { return xc_rotDelta; }
|
||||
|
||||
private:
|
||||
CVector3f x0_posDelta;
|
||||
CQuaternion xc_rotDelta;
|
||||
};
|
||||
|
||||
@@ -5,7 +5,17 @@
|
||||
|
||||
#include "Kyoto/Input/CRumbleGenerator.hpp"
|
||||
|
||||
class CStateManager;
|
||||
class CVector3f;
|
||||
|
||||
class CRumbleManager {
|
||||
public:
|
||||
CRumbleManager();
|
||||
~CRumbleManager();
|
||||
|
||||
void Rumble(CStateManager&, const CVector3f&, ERumbleFxId, float, ERumblePriority);
|
||||
void Rumble(CStateManager&, ERumbleFxId, float, ERumblePriority);
|
||||
|
||||
private:
|
||||
CRumbleGenerator x0_rumbleGenerator;
|
||||
};
|
||||
|
||||
@@ -138,6 +138,7 @@ public:
|
||||
}
|
||||
CEnvFxManager* EnvFxManager() { return x880_envFxManager; }
|
||||
const CEnvFxManager* GetEnvFxManager() const { return x880_envFxManager; }
|
||||
CRumbleManager* GetRumbleManager() { return x88c_rumbleManager; }
|
||||
|
||||
CRandom16* GetActiveRandom() const { return x900_random; }
|
||||
|
||||
@@ -162,19 +163,33 @@ public:
|
||||
const CDamageInfo& info, const CMaterialFilter& filter,
|
||||
const CVector3f& knockbackVec);
|
||||
|
||||
// State transitions
|
||||
void DeferStateTransition(EStateManagerTransition t);
|
||||
EStateManagerTransition GetDeferredStateTransition() const { return xf90_deferredTransition; }
|
||||
void SetBossParams(TUniqueId bossId, float maxEnergy, u32 stringIdx);
|
||||
void SetPendingOnScreenTex(CAssetId texId, const CVector2i& origin, const CVector2i& extent) {
|
||||
void EnterMapScreen() { DeferStateTransition(kSMT_MapScreen); }
|
||||
void EnterPauseScreen() { DeferStateTransition(kSMT_PauseGame); }
|
||||
void EnterLogBookScreen() { DeferStateTransition(kSMT_LogBook); }
|
||||
void EnterSaveGameScreen() { DeferStateTransition(kSMT_SaveGame); }
|
||||
void EnterMessageScreen(uint, float);
|
||||
bool GetWantsToEnterMapScreen() const { return xf90_deferredTransition == kSMT_MapScreen; }
|
||||
bool GetWantsToEnterPauseScreen() const { return xf90_deferredTransition == kSMT_PauseGame; }
|
||||
bool GetWantsToEnterLogBookScreen() const { return xf90_deferredTransition == kSMT_LogBook; }
|
||||
bool GetWantsToEnterSaveGameScreen() const { return xf90_deferredTransition == kSMT_SaveGame; }
|
||||
bool GetWantsToEnterMessageScreen() const {
|
||||
return xf90_deferredTransition == kSMT_MessageScreen;
|
||||
}
|
||||
|
||||
void SetEnergyBarActorInfo(TUniqueId bossId, float maxEnergy, u32 stringIdx);
|
||||
void SetPendingOnScreenTex(CAssetId texId, const CVector2i& origin, const CVector2i& extent);/* {
|
||||
xef4_pendingScreenTex.x0_id = texId;
|
||||
xef4_pendingScreenTex.x4_origin = origin;
|
||||
xef4_pendingScreenTex.xc_extent = extent;
|
||||
}
|
||||
}*/
|
||||
const SOnScreenTex& GetPendingScreenTex() const { return xef4_pendingScreenTex; }
|
||||
float IntegrateVisorFog(float f);
|
||||
|
||||
void SetShouldQuitGame(bool should) { xf94_25_quitGame = should; }
|
||||
void SetSkipCinematicSpecialFunction(TUniqueId id) { xf38_skipCineSpecialFunc = id; }
|
||||
void QuitGame() { xf94_25_quitGame = true; }
|
||||
bool GetWantsToQuit() const { return xf94_25_quitGame; }
|
||||
void SetCinematicSkipObject(TUniqueId id) { xf38_skipCineSpecialFunc = id; }
|
||||
void SetInSaveUI(bool b) { xf94_28_inSaveUI = b; }
|
||||
bool GetInSaveUI() const { return xf94_28_inSaveUI; }
|
||||
void SetIsFullThreat(bool v) { xf94_30_fullThreat = v; }
|
||||
|
||||
@@ -115,11 +115,11 @@ private:
|
||||
bool x1e5_24_doSave : 1;
|
||||
bool x1e5_25_playerInArea : 1;
|
||||
bool x1e5_26_displayBillboard : 1;
|
||||
rstl::optional_object< CToken > x1e8_; // CTexture?
|
||||
rstl::optional_object< CToken > x1e8_;
|
||||
public:
|
||||
CScriptSpecialFunction(TUniqueId, const rstl::string&, const CEntityInfo&, const CTransform4f&,
|
||||
ESpecialFunction, const rstl::string&, float, float, float, float,
|
||||
const CVector3f&, const CColor&, bool, const CDamageInfo&, s32, s32,
|
||||
const CVector3f&, const CColor&, bool, const CDamageInfo&, int, int,
|
||||
CPlayerState::EItemType, u16, u16, u16);
|
||||
|
||||
void Accept(IVisitor& visitor) override;
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
|
||||
void DeleteEmitter(CSfxHandle& handle);
|
||||
int GetSpecialEnding(const CStateManager&) const;
|
||||
void AddOrUpdateEmitter(float pitch, CSfxHandle& handle, u16 id, const CVector3f& pos, uchar vol);
|
||||
void AddOrUpdateEmitter(float pitch, CSfxHandle& handle, u16 id, CVector3f pos, u8 vol);
|
||||
};
|
||||
|
||||
#endif _CSCRIPTSPECIALFUNCTION_HPP
|
||||
|
||||
@@ -98,11 +98,11 @@ private:
|
||||
};
|
||||
|
||||
template < typename T >
|
||||
inline const T* TCastToConstPtr(const CEntity* p) {
|
||||
static inline const T* TCastToConstPtr(const CEntity* p) {
|
||||
return TCastToPtr< T >(const_cast< CEntity* >(p));
|
||||
}
|
||||
template < typename T >
|
||||
inline const T* TCastToConstPtr(const CEntity& p) {
|
||||
static inline const T* TCastToConstPtr(const CEntity& p) {
|
||||
return TCastToPtr< T >(const_cast< CEntity& >(p));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user