This commit is contained in:
Jack Andersen 2016-08-14 15:19:39 -10:00
commit d219768a0b
6 changed files with 139 additions and 0 deletions

View File

@ -60,6 +60,7 @@ add_library(RuntimeCommon
CWeaponMgr.hpp CWeaponMgr.cpp CWeaponMgr.hpp CWeaponMgr.cpp
CFluidPlaneManager.hpp CFluidPlaneManager.cpp CFluidPlaneManager.hpp CFluidPlaneManager.cpp
CGameState.hpp CGameState.cpp CGameState.hpp CGameState.cpp
CScanDisplay.hpp CScanDisplay.cpp
CRelayTracker.hpp CRelayTracker.cpp CRelayTracker.hpp CRelayTracker.cpp
CPlayerState.hpp CPlayerState.cpp CPlayerState.hpp CPlayerState.cpp
CRandom16.hpp CRandom16.cpp CRandom16.hpp CRandom16.cpp

0
Runtime/CScanDisplay.cpp Normal file
View File

68
Runtime/CScanDisplay.hpp Normal file
View File

@ -0,0 +1,68 @@
#ifndef __URDE_CSCANDISPLAY_HPP__
#define __URDE_CSCANDISPLAY_HPP__
#include "RetroTypes.hpp"
#include "zeus/CColor.hpp"
#include "zeus/CVector2f.hpp"
#include "zeus/CQuaternion.hpp"
#include "CScannableObjectInfo.hpp"
namespace urde
{
class CGuiTextPane;
class CGuiWidget;
class CScanDisplay
{
public:
class CDataDot
{
public:
enum class EDotState
{
Zero
};
private:
EDotState x0_ = EDotState::Zero;
zeus::CVector2f x4_;
zeus::CVector2f xc_;
zeus::CVector2f x14_;
float x1c_ = 0.f;
float x20_ = 0.f;
float x24_ = 0.f;
float x28_ = 0.f;
public:
CDataDot() = default;
void Update(float);
void Draw(const zeus::CColor&, float) const;
float GetTransitionFactor() const;
void StartTransitionTo(const zeus::CVector2f&, float, float);
void SetDestPosition(const zeus::CVector2f&);
void SetDesiredAlpha(float);
void SetDotState(EDotState);
void SetAlpha(float);
zeus::CVector2f GetCurrPosition() const;
EDotState GetDotState() const;
};
struct SBucketBackground
{
};
public:
CScanDisplay() = default;
void StartScan(TUniqueId, const CScannableObjectInfo&, CGuiTextPane*, CGuiWidget*, float);
void StopScan();
void InitializeFrame(float);
void Update(float, float);
void SetBackgroundBucketOccluded(s32, float);
bool PanelCoversBucketBackground(CScannableObjectInfo::EPanelType, s32);
void Draw() const;
void SetBaseOrientation(const zeus::CQuaternion&);
void SetDebugCameraOptions(float, float, float);
void SetPanelTranslationX(float);
void GetDownloadStartTime(s32) const;
void GetDownloadFraction(s32, float) const;
void GetScanState() const;
void ScanTarget() const;
};
}
#endif // __URDE_CSCANDISPLAY_HPP__

View File

@ -11,6 +11,10 @@ namespace urde
class CScannableObjectInfo class CScannableObjectInfo
{ {
public: public:
enum class EPanelType
{
};
struct SBucket struct SBucket
{ {
ResId x0_texture = -1; ResId x0_texture = -1;

View File

@ -0,0 +1,24 @@
#include "CScriptMazeNode.hpp"
#include "Character/CModelData.hpp"
#include "GameGlobalObjects.hpp"
#include "CActorParameters.hpp"
namespace urde
{
CScriptMazeNode::CScriptMazeNode(TUniqueId uid, const std::string& name, const CEntityInfo& info,
const zeus::CTransform& xf, bool active, s32 w1, s32 w2, s32 w3,
const zeus::CVector3f& vec1, const zeus::CVector3f& vec2, const zeus::CVector3f& vec3)
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(), CActorParameters::None(),
kInvalidUniqueId),
xe8_(w1), xec_(w1), xf0_(w2),
x100_(vec1), x110_(vec2), x120_(vec3)
{
x13c_24_ = true;
}
void CScriptMazeNode::LoadSeeds()
{
}
}

View File

@ -0,0 +1,42 @@
#ifndef __URDE_CSCRIPTMAZE_NODE_HPP__
#define __URDE_CSCRIPTMAZE_NODE_HPP__
#include "CActor.hpp"
namespace urde
{
class CScriptMazeNode : CActor
{
s32 xe8_;
s32 xec_;
s32 xf0_;
TUniqueId xf4_ = kInvalidUniqueId;
float xf8_ = 0.f;
TUniqueId xfc_ = kInvalidUniqueId;
zeus::CVector3f x100_;
TUniqueId x10c_ = kInvalidUniqueId;
zeus::CVector3f x110_;
TUniqueId x11c_ = kInvalidUniqueId;
zeus::CVector3f x120_;
s32 x130_ = 0;
s32 x134_ = 0;
s32 x138_ = 0;
union
{
struct
{
bool x13c_24_ : 1;
bool x13c_25_ : 1;
bool x13c_26_ : 1;
};
u8 dummy = 0;
};
public:
CScriptMazeNode(TUniqueId, const std::string&, const CEntityInfo&, const zeus::CTransform&, bool, s32, s32, s32,
const zeus::CVector3f&, const zeus::CVector3f&, const zeus::CVector3f&);
void LoadSeeds();
};
}
#endif