metaforce/Runtime/CPlayerState.hpp

48 lines
975 B
C++
Raw Normal View History

2016-02-13 01:02:47 -08:00
#ifndef __PSHAG_CPLAYERSTATE_HPP__
#define __PSHAG_CPLAYERSTATE_HPP__
2015-08-16 22:26:58 -07:00
2015-08-18 22:48:57 -07:00
#include "RetroTypes.hpp"
2015-08-19 19:52:07 -07:00
#include "CBasics.hpp"
2015-08-17 13:33:58 -07:00
#include "CStaticInterference.hpp"
2015-08-23 16:58:07 -07:00
#include "IOStreams.hpp"
2016-03-19 12:19:43 -07:00
#include "rstl.hpp"
2015-08-17 13:33:58 -07:00
2016-03-04 15:04:53 -08:00
namespace urde
{
2015-08-17 22:54:43 -07:00
class CPlayerState
2015-08-16 22:26:58 -07:00
{
2016-03-19 12:19:43 -07:00
static const u32 PowerUpMaxes[41];
2015-08-17 13:33:58 -07:00
class CPowerUp
{
2016-03-19 12:19:43 -07:00
int x0_a = 0;
int x4_b = 0;
2015-08-17 13:33:58 -07:00
public:
2015-08-19 19:52:07 -07:00
CPowerUp() {}
2016-03-19 12:19:43 -07:00
CPowerUp(int a, int b) : x0_a(a), x4_b(b) {}
};
union
{
struct { bool x0_24_ : 1; bool x0_25_ : 1; bool x0_26_; };
u32 dummy = 0;
2015-08-17 13:33:58 -07:00
};
2015-08-19 19:52:07 -07:00
2016-03-19 12:19:43 -07:00
u32 x4_ = 0;
u32 x8_ = 0;
float xc_baseHealth = 99.f;
float x10_ = 50.f;
u32 x14_ = 0;
u32 x18_ = x14_;
float x1c_ = 0.2f;
u32 x20_ = 0;
rstl::reserved_vector<CPowerUp, 41> x24_powerups;
CStaticInterference x188_staticIntf;
2015-08-19 19:52:07 -07:00
public:
2016-03-19 12:19:43 -07:00
CPlayerState() : x188_staticIntf(5) { x0_24_ = true; }
CPlayerState(CBitStreamReader& stream);
2015-08-16 22:26:58 -07:00
};
}
2016-02-13 01:02:47 -08:00
#endif // __PSHAG_CPLAYERSTATE_HPP__