mirror of https://github.com/AxioDL/metaforce.git
59 lines
1.7 KiB
C++
59 lines
1.7 KiB
C++
#ifndef __URDE_CACTORPARAMETERS_HPP__
|
|
#define __URDE_CACTORPARAMETERS_HPP__
|
|
|
|
#include "CLightParameters.hpp"
|
|
#include "CScannableParameters.hpp"
|
|
#include "CVisorParameters.hpp"
|
|
|
|
namespace urde
|
|
{
|
|
|
|
class CActorParameters
|
|
{
|
|
friend class ScriptLoader;
|
|
CLightParameters x0_lightParms;
|
|
CScannableParameters x40_scanParms;
|
|
std::pair<ResId, ResId> x44_xrayAssets = {};
|
|
std::pair<ResId, ResId> x4c_thermalAssets = {};
|
|
CVisorParameters x54_visorParms;
|
|
bool b1 : 1;
|
|
bool b2 : 1;
|
|
bool b3 : 1;
|
|
bool b4 : 1;
|
|
float x5c_ = 0.f;
|
|
float x60_ = 0.f;
|
|
float x64_ = 0.f;
|
|
|
|
public:
|
|
CActorParameters() : b1(true), b2(false), b3(false), b4(false) {}
|
|
CActorParameters(const CLightParameters& lightParms, const CScannableParameters& scanParms,
|
|
const std::pair<ResId, ResId>& xrayAssets, const std::pair<ResId, ResId>& thermalAssets,
|
|
const CVisorParameters& visorParms, bool a, bool b, bool c, bool d)
|
|
: x0_lightParms(lightParms)
|
|
, x40_scanParms(scanParms)
|
|
, x44_xrayAssets(xrayAssets)
|
|
, x4c_thermalAssets(thermalAssets)
|
|
, x54_visorParms(visorParms)
|
|
, b1(a)
|
|
, b2(b)
|
|
, b3(c)
|
|
, b4(d)
|
|
{
|
|
}
|
|
CActorParameters Scannable(const CScannableParameters& sParms) const
|
|
{
|
|
CActorParameters aParms = *this;
|
|
aParms.x40_scanParms = sParms;
|
|
return aParms;
|
|
}
|
|
|
|
static CActorParameters None() { return CActorParameters(); }
|
|
|
|
void SetVisorParameters(const CVisorParameters& vParams) { x54_visorParms = vParams; }
|
|
const CVisorParameters& GetVisorParameters() const { return x54_visorParms; }
|
|
const CLightParameters& GetLightParameters() const { return x0_lightParms; }
|
|
};
|
|
}
|
|
|
|
#endif // __URDE_CACTORPARAMETERS_HPP__
|