2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-14 10:46:10 +00:00

More ScriptLoader imps

This commit is contained in:
Jack Andersen
2016-04-18 14:17:49 -10:00
parent c614d2d2d1
commit 76afccbdbe
31 changed files with 485 additions and 73 deletions

View File

@@ -3,7 +3,11 @@
#include "zeus/CVector2f.hpp"
#include "zeus/CColor.hpp"
#include "zeus/CAABox.hpp"
#include "CToken.hpp"
#include "RetroTypes.hpp"
#include "IGameArea.hpp"
#include "hecl/ClientProcess.hpp"
namespace urde
{
@@ -13,8 +17,40 @@ enum class ERglFogMode
Four = 4
};
class CGameArea
class CGameArea : public IGameArea
{
int x4_mlvlVersion;
ResId x8_nameSTRG;
zeus::CTransform xc_transform;
zeus::CTransform x3c_invTransform;
zeus::CAABox x6c_aabb;
ResId x84_mrea;
u32 x88_areaId;
std::vector<u16> x8c_attachedAreaIndices;
std::vector<SObjectTag> x9c_deps1;
std::vector<SObjectTag> xac_deps2;
std::vector<u32> xbc_;
std::vector<Dock> xcc_docks;
std::vector<CToken> xdc_tokens;
u32 xec_totalResourcesSize = 0;
union
{
struct
{
bool xf0_24_ : 1;
bool xf0_25_ : 1;
bool xf0_26_ : 1;
bool xf0_27_ : 1;
bool xf0_28_ : 1;
};
u8 _dummy = 0;
};
std::list<std::shared_ptr<const hecl::ClientProcess::BufferTransaction>> xf8_loadTransactions;
public:
class CAreaFog
{
@@ -29,6 +65,13 @@ public:
void DisableFog();
void Update(float dt);
};
CGameArea(CInputStream& in, int mlvlVersion);
const zeus::CTransform& GetTransform() const {return xc_transform;}
const zeus::CTransform& GetInverseTransform() const {return x3c_invTransform;}
const zeus::CAABox& GetAABB() const {return x6c_aabb;}
};
}