2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 22:27:41 +00:00

More preliminary implementations

This commit is contained in:
2016-04-23 11:04:49 -07:00
parent 8f78aa5f16
commit 4272e8207b
16 changed files with 300 additions and 32 deletions

View File

@@ -25,6 +25,7 @@
#include "CScriptSound.hpp"
#include "CScriptGenerator.hpp"
#include "CScriptGrapplePoint.hpp"
#include "CScriptAreaAttributes.hpp"
#include "Camera/CCinematicCamera.hpp"
#include "CSimplePool.hpp"
#include "Collision/CCollidableOBBTreeGroup.hpp"
@@ -1163,6 +1164,24 @@ CEntity* ScriptLoader::LoadFlaahgra(CStateManager& mgr, CInputStream& in,
CEntity* ScriptLoader::LoadAreaAttributes(CStateManager& mgr, CInputStream& in,
int propCount, const CEntityInfo& info)
{
if (!EnsurePropertyCount(propCount, 9, "AreaAttributes"))
return nullptr;
bool load = in.readUint32Big() != 0;
if (!load)
return nullptr;
bool showSkybox = in.readBool();
EEnvFxType fxType = EEnvFxType(in.readUint32Big());
float envFxDensity = in.readFloatBig();
float thermalHeat = in.readFloatBig();
float xrayFogDistance = in.readFloatBig();
float worldLightingLevel = in.readFloatBig();
ResId skybox = in.readUint32Big();
EPhazonType phazonType = EPhazonType(in.readUint32Big());
return new CScriptAreaAttributes(mgr.AllocateUniqueId(), info, showSkybox, fxType, envFxDensity, thermalHeat,
xrayFogDistance, worldLightingLevel, skybox, phazonType);
}
CEntity* ScriptLoader::LoadFishCloud(CStateManager& mgr, CInputStream& in,