2016-04-17 22:38:05 +00:00
|
|
|
#include "ScriptLoader.hpp"
|
2016-04-18 05:33:23 +00:00
|
|
|
#include "CStateManager.hpp"
|
|
|
|
#include "CGrappleParameters.hpp"
|
|
|
|
#include "CActorParameters.hpp"
|
|
|
|
#include "CVisorParameters.hpp"
|
|
|
|
#include "CScannableParameters.hpp"
|
|
|
|
#include "CLightParameters.hpp"
|
|
|
|
#include "CAnimationParameters.hpp"
|
2016-04-20 05:44:08 +00:00
|
|
|
#include "CFluidUVMotion.hpp"
|
2016-04-18 05:33:23 +00:00
|
|
|
#include "GameGlobalObjects.hpp"
|
2016-04-19 00:17:49 +00:00
|
|
|
#include "CWorld.hpp"
|
|
|
|
#include "Character/CModelData.hpp"
|
|
|
|
#include "Collision/CMaterialList.hpp"
|
2016-04-19 21:25:26 +00:00
|
|
|
#include "CDamageInfo.hpp"
|
2016-04-19 00:17:49 +00:00
|
|
|
#include "CScriptActor.hpp"
|
|
|
|
#include "CScriptWaypoint.hpp"
|
2016-04-19 21:25:26 +00:00
|
|
|
#include "CScriptDoor.hpp"
|
|
|
|
#include "CScriptTrigger.hpp"
|
|
|
|
#include "CScriptTimer.hpp"
|
|
|
|
#include "CScriptCounter.hpp"
|
2016-04-20 21:07:18 +00:00
|
|
|
#include "CScriptDock.hpp"
|
2016-04-20 05:44:08 +00:00
|
|
|
#include "CScriptWater.hpp"
|
2016-04-20 21:44:18 +00:00
|
|
|
#include "CScriptEffect.hpp"
|
|
|
|
#include "CScriptPlatform.hpp"
|
|
|
|
#include "CScriptSound.hpp"
|
|
|
|
#include "CScriptGenerator.hpp"
|
2016-04-20 21:07:18 +00:00
|
|
|
#include "CScriptGrapplePoint.hpp"
|
2016-04-19 21:25:26 +00:00
|
|
|
#include "CSimplePool.hpp"
|
2016-04-20 21:44:18 +00:00
|
|
|
#include "Collision/CCollidableOBBTreeGroup.hpp"
|
2016-04-19 21:25:26 +00:00
|
|
|
#include "Editor/ProjectResourceFactoryMP1.hpp"
|
2016-04-18 01:58:13 +00:00
|
|
|
#include "logvisor/logvisor.hpp"
|
2016-04-17 22:38:05 +00:00
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
2016-04-18 01:58:13 +00:00
|
|
|
static logvisor::Module Log("urde::ScriptLoader");
|
2016-04-17 22:38:05 +00:00
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
static SObjectTag MorphballDoorANCS = {};
|
|
|
|
static const SObjectTag& GetMorphballDoorANCS()
|
|
|
|
{
|
|
|
|
if (!MorphballDoorANCS)
|
|
|
|
MorphballDoorANCS = static_cast<ProjectResourceFactoryBase*>(g_ResFactory)->
|
|
|
|
TagFromPath(_S("MP1/Shared/ANCS_1F9DA858.blend"));
|
|
|
|
return MorphballDoorANCS;
|
|
|
|
}
|
|
|
|
|
2016-04-18 01:58:13 +00:00
|
|
|
static bool EnsurePropertyCount(int count, int expected, const char* structName)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-18 01:58:13 +00:00
|
|
|
if (count < expected)
|
|
|
|
{
|
2016-04-20 05:57:30 +00:00
|
|
|
Log.report(logvisor::Warning, "Insufficient number of props (%d/%d) for %s entity",
|
2016-04-18 01:58:13 +00:00
|
|
|
count, expected, structName);
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return true;
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-18 05:33:23 +00:00
|
|
|
struct SActorHead
|
|
|
|
{
|
|
|
|
std::string x0_name;
|
|
|
|
zeus::CTransform x10_transform;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SScaledActorHead : SActorHead
|
|
|
|
{
|
|
|
|
zeus::CVector3f x40_scale;
|
|
|
|
SScaledActorHead(SActorHead&& head) : SActorHead(std::move(head)) {}
|
|
|
|
};
|
|
|
|
|
|
|
|
static zeus::CTransform LoadEditorTransform(CInputStream& in)
|
|
|
|
{
|
|
|
|
zeus::CVector3f position;
|
|
|
|
position.readBig(in);
|
|
|
|
zeus::CVector3f orientation;
|
|
|
|
orientation.readBig(in);
|
|
|
|
return ScriptLoader::ConvertEditorEulerToTransform4f(orientation, position);
|
|
|
|
}
|
|
|
|
|
|
|
|
static zeus::CTransform LoadEditorTransformPivotOnly(CInputStream& in)
|
|
|
|
{
|
|
|
|
zeus::CVector3f position;
|
|
|
|
position.readBig(in);
|
|
|
|
zeus::CVector3f orientation;
|
|
|
|
orientation.readBig(in);
|
|
|
|
orientation.x = 0.f;
|
|
|
|
orientation.y = 0.f;
|
|
|
|
return ScriptLoader::ConvertEditorEulerToTransform4f(orientation, position);
|
|
|
|
}
|
|
|
|
|
|
|
|
static SActorHead LoadActorHead(CInputStream& in, CStateManager& stateMgr)
|
|
|
|
{
|
|
|
|
SActorHead ret;
|
|
|
|
ret.x0_name = *stateMgr.HashInstanceName(in);
|
|
|
|
ret.x10_transform = LoadEditorTransform(in);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
static SScaledActorHead LoadScaledActorHead(CInputStream& in, CStateManager& stateMgr)
|
|
|
|
{
|
|
|
|
SScaledActorHead ret = LoadActorHead(in, stateMgr);
|
|
|
|
ret.x40_scale.readBig(in);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2016-04-19 00:17:49 +00:00
|
|
|
static zeus::CAABox GetCollisionBox(CStateManager& stateMgr, TAreaId id,
|
|
|
|
const zeus::CVector3f& extent, const zeus::CVector3f& offset)
|
|
|
|
{
|
|
|
|
zeus::CAABox box(-extent * 0.5f + offset, extent * 0.5f + offset);
|
2016-04-20 19:23:00 +00:00
|
|
|
const zeus::CTransform& rot = stateMgr.GetWorld()->GetGameAreas()[id]->GetTransform().getRotation();
|
2016-04-19 00:17:49 +00:00
|
|
|
return box.getTransformedAABox(rot);
|
|
|
|
}
|
|
|
|
|
2016-04-18 05:33:23 +00:00
|
|
|
u32 ScriptLoader::LoadParameterFlags(CInputStream& in)
|
|
|
|
{
|
|
|
|
u32 count = in.readUint32Big();
|
|
|
|
u32 ret = 0;
|
|
|
|
for (u32 i=0 ; i<count ; ++i)
|
|
|
|
if (in.readBool())
|
|
|
|
ret |= 1 << i;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
CGrappleParameters ScriptLoader::LoadGrappleParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
float a = in.readFloatBig();
|
|
|
|
float b = in.readFloatBig();
|
|
|
|
float c = in.readFloatBig();
|
|
|
|
float d = in.readFloatBig();
|
|
|
|
float e = in.readFloatBig();
|
|
|
|
float f = in.readFloatBig();
|
|
|
|
float g = in.readFloatBig();
|
|
|
|
float h = in.readFloatBig();
|
|
|
|
float i = in.readFloatBig();
|
|
|
|
float j = in.readFloatBig();
|
|
|
|
float k = in.readFloatBig();
|
|
|
|
bool l = in.readBool();
|
|
|
|
return CGrappleParameters(a, b, c, d, e, f, g, h, i, j, k, l);
|
|
|
|
}
|
|
|
|
|
|
|
|
CActorParameters ScriptLoader::LoadActorParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
u32 propCount = in.readUint32Big();
|
|
|
|
if (propCount >= 5 && propCount <= 0xe)
|
|
|
|
{
|
|
|
|
CLightParameters lParms = ScriptLoader::LoadLightParameters(in);
|
|
|
|
|
|
|
|
CScannableParameters sParams;
|
|
|
|
if (propCount > 5)
|
|
|
|
sParams = LoadScannableParameters(in);
|
|
|
|
|
|
|
|
ResId xrayModel = in.readUint32Big();
|
|
|
|
ResId xraySkin = in.readUint32Big();
|
|
|
|
ResId infraModel = in.readUint32Big();
|
|
|
|
ResId infraSkin = in.readUint32Big();
|
|
|
|
|
|
|
|
bool b1 = true;
|
|
|
|
if (propCount > 7)
|
|
|
|
b1 = in.readBool();
|
|
|
|
|
|
|
|
float f1 = 1.f;
|
|
|
|
if (propCount > 8)
|
|
|
|
f1 = in.readFloatBig();
|
|
|
|
|
|
|
|
float f2 = 1.f;
|
|
|
|
if (propCount > 9)
|
|
|
|
f2 = in.readFloatBig();
|
|
|
|
|
|
|
|
CVisorParameters vParms;
|
|
|
|
if (propCount > 6)
|
|
|
|
vParms = LoadVisorParameters(in);
|
|
|
|
|
|
|
|
bool b2 = false;
|
|
|
|
if (propCount > 10)
|
|
|
|
b2 = in.readBool();
|
|
|
|
|
|
|
|
bool b3 = false;
|
|
|
|
if (propCount > 11)
|
|
|
|
b3 = in.readBool();
|
|
|
|
|
|
|
|
bool b4 = false;
|
|
|
|
if (propCount > 12)
|
|
|
|
b4 = in.readBool();
|
|
|
|
|
|
|
|
float f3 = 1.f;
|
|
|
|
if (propCount > 13)
|
|
|
|
f3 = in.readFloatBig();
|
|
|
|
|
|
|
|
std::pair<ResId, ResId> xray = {};
|
|
|
|
if (g_ResFactory->GetResourceTypeById(xrayModel))
|
|
|
|
xray = {xrayModel, xraySkin};
|
|
|
|
|
|
|
|
std::pair<ResId, ResId> infra = {};
|
|
|
|
if (g_ResFactory->GetResourceTypeById(infraModel))
|
|
|
|
infra = {infraModel, infraSkin};
|
|
|
|
|
|
|
|
return CActorParameters(lParms, sParams, xray, infra, vParms, b1, b2, b3, b4);
|
|
|
|
}
|
|
|
|
return CActorParameters::None();
|
|
|
|
}
|
|
|
|
|
|
|
|
CVisorParameters ScriptLoader::LoadVisorParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
u32 propCount = in.readUint32Big();
|
|
|
|
if (propCount >= 1 && propCount <= 3)
|
|
|
|
{
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = false;
|
|
|
|
u8 mask = 0xf;
|
|
|
|
if (propCount > 1)
|
|
|
|
b2 = in.readBool();
|
|
|
|
if (propCount > 2)
|
|
|
|
mask = in.readUint32Big();
|
|
|
|
return CVisorParameters(mask, b1, b2);
|
|
|
|
}
|
|
|
|
return CVisorParameters();
|
|
|
|
}
|
|
|
|
|
|
|
|
CScannableParameters ScriptLoader::LoadScannableParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
u32 propCount = in.readUint32Big();
|
|
|
|
if (propCount == 1)
|
|
|
|
return CScannableParameters(in.readUint32Big());
|
|
|
|
return CScannableParameters();
|
|
|
|
}
|
|
|
|
|
|
|
|
CLightParameters ScriptLoader::LoadLightParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
u32 propCount = in.readUint32Big();
|
|
|
|
if (propCount == 14)
|
|
|
|
{
|
|
|
|
bool a = in.readBool();
|
|
|
|
float b = in.readFloatBig();
|
|
|
|
u32 c = in.readUint32Big();
|
|
|
|
float d = in.readFloatBig();
|
|
|
|
float e = in.readFloatBig();
|
|
|
|
|
|
|
|
zeus::CColor col;
|
|
|
|
col.readRGBABig(in);
|
|
|
|
|
|
|
|
bool f = in.readBool();
|
|
|
|
u32 g = in.readUint32Big();
|
|
|
|
u32 h = in.readUint32Big();
|
|
|
|
|
|
|
|
zeus::CVector3f vec;
|
|
|
|
vec.readBig(in);
|
|
|
|
|
|
|
|
s32 w1 = -1;
|
|
|
|
s32 w2 = -1;
|
2016-04-19 21:25:26 +00:00
|
|
|
if (propCount >= 12)
|
2016-04-18 05:33:23 +00:00
|
|
|
{
|
|
|
|
w1 = in.readUint32Big();
|
|
|
|
w2 = in.readUint32Big();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool b1 = false;
|
2016-04-19 21:25:26 +00:00
|
|
|
if (propCount >= 13)
|
2016-04-18 05:33:23 +00:00
|
|
|
b1 = in.readBool();
|
|
|
|
|
|
|
|
s32 w3 = 0;
|
2016-04-19 21:25:26 +00:00
|
|
|
if (propCount >= 14)
|
2016-04-18 05:33:23 +00:00
|
|
|
w3 = in.readUint32Big();
|
|
|
|
|
|
|
|
return CLightParameters(a, b, c, d, e, col, f, g, h, vec, w1, w2, b1, w3);
|
|
|
|
}
|
|
|
|
return CLightParameters::None();
|
|
|
|
}
|
|
|
|
|
|
|
|
CAnimationParameters ScriptLoader::LoadAnimationParameters(CInputStream& in)
|
|
|
|
{
|
|
|
|
ResId ancs = in.readUint32Big();
|
|
|
|
s32 charIdx = in.readUint32Big();
|
|
|
|
u32 defaultAnim = in.readUint32Big();
|
|
|
|
return CAnimationParameters(ancs, charIdx, defaultAnim);
|
|
|
|
}
|
|
|
|
|
2016-04-20 05:44:08 +00:00
|
|
|
CFluidUVMotion ScriptLoader::LoadFluidUVMotion(CInputStream& in)
|
|
|
|
{
|
|
|
|
CFluidUVMotion::EFluidUVMotion motion = CFluidUVMotion::EFluidUVMotion(in.readUint32Big());
|
|
|
|
float a = in.readFloatBig();
|
|
|
|
float b = in.readFloatBig();
|
|
|
|
b = ((M_PIF * b) / 180.f) - M_PIF;
|
|
|
|
float c = in.readFloatBig();
|
|
|
|
float d = in.readFloatBig();
|
|
|
|
CFluidUVMotion::SFluidLayerMotion motionLayer2(motion, a, b, c, d);
|
|
|
|
|
|
|
|
motion = CFluidUVMotion::EFluidUVMotion(in.readUint32Big());
|
|
|
|
a = in.readFloatBig();
|
|
|
|
b = in.readFloatBig();
|
|
|
|
b = ((M_PIF * b) / 180.f) - M_PIF;
|
|
|
|
c = in.readFloatBig();
|
|
|
|
d = in.readFloatBig();
|
|
|
|
CFluidUVMotion::SFluidLayerMotion motionLayer3(motion, a, b, c, d);
|
|
|
|
|
|
|
|
motion = CFluidUVMotion::EFluidUVMotion(in.readUint32Big());
|
|
|
|
a = in.readFloatBig();
|
|
|
|
b = in.readFloatBig();
|
|
|
|
b = ((M_PIF * b) / 180.f) - M_PIF;
|
|
|
|
c = in.readFloatBig();
|
|
|
|
d = in.readFloatBig();
|
|
|
|
CFluidUVMotion::SFluidLayerMotion motionLayer1(motion, a, b, c, d);
|
|
|
|
|
|
|
|
a = in.readFloatBig();
|
|
|
|
b = in.readFloatBig();
|
|
|
|
|
|
|
|
b = ((M_PIF * b) / 180.f) - M_PIF;
|
|
|
|
|
|
|
|
return CFluidUVMotion(a, b, motionLayer1, motionLayer2, motionLayer3);
|
|
|
|
}
|
|
|
|
|
2016-04-18 05:33:23 +00:00
|
|
|
zeus::CTransform ScriptLoader::ConvertEditorEulerToTransform4f(const zeus::CVector3f& orientation,
|
|
|
|
const zeus::CVector3f& position)
|
|
|
|
{
|
|
|
|
return zeus::CTransform::RotateZ(zeus::degToRad(orientation.z)) *
|
|
|
|
zeus::CTransform::RotateY(zeus::degToRad(orientation.y)) *
|
|
|
|
zeus::CTransform::RotateX(zeus::degToRad(orientation.x)) + position;
|
|
|
|
}
|
|
|
|
|
2016-04-19 00:17:49 +00:00
|
|
|
CEntity* ScriptLoader::LoadActor(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-18 01:58:13 +00:00
|
|
|
{
|
|
|
|
if (!EnsurePropertyCount(propCount, 24, "Actor"))
|
|
|
|
return nullptr;
|
|
|
|
|
2016-04-18 05:33:23 +00:00
|
|
|
SScaledActorHead head = LoadScaledActorHead(in, mgr);
|
|
|
|
|
|
|
|
zeus::CVector3f collisionExtent;
|
|
|
|
collisionExtent.readBig(in);
|
|
|
|
|
|
|
|
zeus::CVector3f centroid;
|
|
|
|
centroid.readBig(in);
|
|
|
|
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
|
|
|
|
CHealthInfo hInfo(in);
|
|
|
|
|
|
|
|
CDamageVulnerability dInfo(in);
|
2016-04-18 01:58:13 +00:00
|
|
|
|
2016-04-19 00:17:49 +00:00
|
|
|
ResId staticId = in.readUint32Big();
|
|
|
|
CAnimationParameters aParms = LoadAnimationParameters(in);
|
|
|
|
|
|
|
|
CActorParameters actParms = LoadActorParameters(in);
|
|
|
|
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
bool b4 = in.readBool();
|
|
|
|
bool b5 = in.readBool();
|
|
|
|
u32 w2 = in.readUint32Big();
|
|
|
|
float f3 = in.readFloatBig();
|
|
|
|
bool b6 = in.readBool();
|
|
|
|
bool b7 = in.readBool();
|
|
|
|
bool b8 = in.readBool();
|
|
|
|
bool b9 = in.readBool();
|
|
|
|
|
|
|
|
FourCC animType = g_ResFactory->GetResourceTypeById(aParms.x0_ancs);
|
|
|
|
if (!g_ResFactory->GetResourceTypeById(staticId) && !animType)
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
zeus::CAABox aabb = GetCollisionBox(mgr, info.GetAreaId(), collisionExtent, centroid);
|
|
|
|
|
|
|
|
CMaterialList list;
|
|
|
|
if (b2)
|
|
|
|
list.x0_ = 0x80000000000;
|
|
|
|
|
|
|
|
if (b3)
|
|
|
|
list.x0_ |= 8;
|
|
|
|
|
|
|
|
if (b4)
|
|
|
|
list.x0_ |= 32;
|
|
|
|
|
|
|
|
bool generateExtent = false;
|
|
|
|
if (collisionExtent.x < 0.f || collisionExtent.y < 0.f || collisionExtent.z < 0.f)
|
|
|
|
generateExtent = true;
|
|
|
|
|
|
|
|
CModelData data;
|
|
|
|
if (animType == SBIG('ANCS'))
|
|
|
|
{
|
|
|
|
CAnimRes aRes;
|
|
|
|
aRes.x0_ancsId = aParms.x0_ancs;
|
|
|
|
aRes.x4_charIdx = aParms.x4_charIdx;
|
|
|
|
aRes.x8_scale = head.x40_scale;
|
|
|
|
aRes.x14_ = true;
|
|
|
|
aRes.x1c_defaultAnim = aParms.x8_defaultAnim;
|
|
|
|
data = aRes;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
CStaticRes sRes;
|
|
|
|
sRes.x0_cmdlId = staticId;
|
|
|
|
sRes.x4_scale = head.x40_scale;
|
|
|
|
data = sRes;
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
if (generateExtent || collisionExtent.isZero())
|
2016-04-19 00:17:49 +00:00
|
|
|
aabb = data.GetBounds(head.x10_transform.getRotation());
|
|
|
|
|
|
|
|
return new CScriptActor(mgr.AllocateUniqueId(), head.x0_name, info,
|
|
|
|
head.x10_transform, data, aabb, f1, f2, list, hInfo, dInfo,
|
|
|
|
actParms, b1, b5, w2, f3, b6, b7, b8, b9);
|
2016-04-18 01:58:13 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 00:17:49 +00:00
|
|
|
CEntity* ScriptLoader::LoadWaypoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-18 01:58:13 +00:00
|
|
|
{
|
2016-04-19 00:17:49 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 13, "Waypoint"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
SActorHead head = LoadActorHead(in, mgr);
|
|
|
|
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
u32 w1 = in.readUint32Big();
|
|
|
|
u32 w2 = in.readUint32Big();
|
|
|
|
u32 w3 = in.readUint32Big();
|
|
|
|
u32 w4 = in.readUint32Big();
|
|
|
|
u32 w5 = in.readUint32Big();
|
|
|
|
u32 w6 = in.readUint32Big();
|
|
|
|
u32 w7 = in.readUint32Big();
|
|
|
|
|
|
|
|
return new CScriptWaypoint(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform,
|
|
|
|
b1, f1, f2, w1, w2, w3, w4, w5, w6, w7);
|
2016-04-18 01:58:13 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDoor(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-19 21:25:26 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 13, "Door") || propCount > 14)
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
SScaledActorHead head = LoadScaledActorHead(in, mgr);
|
|
|
|
CAnimationParameters aParms = LoadAnimationParameters(in);
|
|
|
|
CActorParameters actParms = LoadActorParameters(in);
|
|
|
|
|
|
|
|
zeus::CVector3f v1;
|
|
|
|
v1.readBig(in);
|
|
|
|
zeus::CVector3f collisionExtent;
|
|
|
|
collisionExtent.readBig(in);
|
|
|
|
zeus::CVector3f offset;
|
|
|
|
offset.readBig(in);
|
|
|
|
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
|
|
|
|
zeus::CAABox aabb = GetCollisionBox(mgr, info.GetAreaId(), collisionExtent, offset);
|
|
|
|
|
|
|
|
if (!g_ResFactory->GetResourceTypeById(aParms.x0_ancs))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
CAnimRes aRes;
|
|
|
|
aRes.x0_ancsId = aParms.x0_ancs;
|
|
|
|
aRes.x4_charIdx = aParms.x4_charIdx;
|
|
|
|
aRes.x1c_defaultAnim = aParms.x8_defaultAnim;
|
|
|
|
aRes.x8_scale = head.x40_scale;
|
|
|
|
|
|
|
|
CModelData mData = aRes;
|
|
|
|
if (collisionExtent.isZero())
|
|
|
|
aabb = mData.GetBounds(head.x10_transform.getRotation());
|
|
|
|
|
|
|
|
bool isMorphballDoor = false;
|
|
|
|
if (propCount == 13)
|
|
|
|
{
|
|
|
|
if (aParms.x0_ancs == GetMorphballDoorANCS().id)
|
|
|
|
isMorphballDoor = true;
|
|
|
|
}
|
|
|
|
else if (propCount == 14)
|
|
|
|
isMorphballDoor = in.readBool();
|
|
|
|
|
|
|
|
return new CScriptDoor(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform,
|
|
|
|
mData, actParms, v1, aabb, b1, b2, b3, f1, isMorphballDoor);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadTrigger(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-19 21:25:26 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 9, "Trigger"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
const std::string* name = mgr.HashInstanceName(in);
|
|
|
|
|
|
|
|
zeus::CVector3f position;
|
|
|
|
position.readBig(in);
|
|
|
|
|
|
|
|
zeus::CVector3f extent;
|
|
|
|
extent.readBig(in);
|
|
|
|
|
|
|
|
CDamageInfo dInfo(in);
|
|
|
|
|
|
|
|
zeus::CVector3f forceVec;
|
|
|
|
forceVec.readBig(in);
|
|
|
|
|
|
|
|
u32 w1 = in.readUint32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
|
|
|
|
zeus::CAABox box(-extent * 0.5f, extent * 0.5f);
|
|
|
|
|
2016-04-20 19:23:00 +00:00
|
|
|
const zeus::CTransform& areaXf = mgr.GetWorld()->GetGameAreas()[info.GetAreaId()]->GetTransform();
|
2016-04-19 21:25:26 +00:00
|
|
|
zeus::CVector3f orientedForce = areaXf.m_basis * forceVec;
|
|
|
|
|
|
|
|
return new CScriptTrigger(mgr.AllocateUniqueId(), *name, info, position, box, dInfo,
|
|
|
|
orientedForce, w1, b1, b2, b3);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadTimer(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-19 21:25:26 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 6, "Timer"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
const std::string* name = mgr.HashInstanceName(in);
|
|
|
|
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
|
|
|
|
return new CScriptTimer(mgr.AllocateUniqueId(), *name, info, f1, f2, b1, b2, b3);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCounter(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-19 21:25:26 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 5, "Counter"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
const std::string* name = mgr.HashInstanceName(in);
|
|
|
|
|
|
|
|
u32 w1 = in.readUint32Big();
|
|
|
|
u32 w2 = in.readUint32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
|
|
|
|
return new CScriptCounter(mgr.AllocateUniqueId(), *name, info, w1, w2, b1, b2);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadEffect(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 21:44:18 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 24, "Effect"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
SScaledActorHead head = LoadScaledActorHead(in, mgr);
|
|
|
|
|
|
|
|
ResId partId = in.readUint32Big();
|
|
|
|
ResId elscId = in.readUint32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
bool b4 = in.readBool();
|
|
|
|
|
|
|
|
if (partId == 0xffffffff && elscId == 0xffffffff)
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
if (!g_ResFactory->GetResourceTypeById(partId) &&
|
|
|
|
!g_ResFactory->GetResourceTypeById(elscId))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
bool b5 = in.readBool();
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
float f3 = in.readFloatBig();
|
|
|
|
float f4 = in.readFloatBig();
|
|
|
|
bool b6 = in.readBool();
|
|
|
|
float f5 = in.readFloatBig();
|
|
|
|
float f6 = in.readFloatBig();
|
|
|
|
float f7 = in.readFloatBig();
|
|
|
|
bool b7 = in.readBool();
|
|
|
|
bool b8 = in.readBool();
|
|
|
|
bool b9 = in.readBool();
|
|
|
|
bool b10 = in.readBool();
|
|
|
|
|
|
|
|
CLightParameters lParms = LoadLightParameters(in);
|
|
|
|
|
|
|
|
return new CScriptEffect(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform,
|
|
|
|
head.x40_scale, partId, elscId, b1, b2, b3, b4, b5, f1, f2, f3, f4,
|
|
|
|
b6, f5, f6, f7, b7, b8, b9, lParms, b10);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPlatform(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 21:44:18 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 19, "Platform"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
SScaledActorHead head = LoadScaledActorHead(in, mgr);
|
|
|
|
|
|
|
|
zeus::CVector3f extent;
|
|
|
|
extent.readBig(in);
|
|
|
|
|
|
|
|
zeus::CVector3f centroid;
|
|
|
|
centroid.readBig(in);
|
|
|
|
|
|
|
|
ResId staticId = in.readUint32Big();
|
|
|
|
CAnimationParameters aParms = LoadAnimationParameters(in);
|
|
|
|
|
|
|
|
CActorParameters actParms = LoadActorParameters(in);
|
|
|
|
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
ResId dclnId = in.readUint32Big();
|
|
|
|
|
|
|
|
CHealthInfo hInfo(in);
|
|
|
|
|
|
|
|
CDamageVulnerability dInfo(in);
|
|
|
|
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
u32 w2 = in.readUint32Big();
|
|
|
|
u32 w3 = in.readUint32Big();
|
|
|
|
|
|
|
|
FourCC animType = g_ResFactory->GetResourceTypeById(aParms.x0_ancs);
|
|
|
|
if (!g_ResFactory->GetResourceTypeById(staticId) && !animType)
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
zeus::CAABox aabb = GetCollisionBox(mgr, info.GetAreaId(), extent, centroid);
|
|
|
|
|
|
|
|
FourCC dclnType = g_ResFactory->GetResourceTypeById(dclnId);
|
|
|
|
TLockedToken<CCollidableOBBTreeGroup> dclnToken;
|
|
|
|
if (dclnType)
|
|
|
|
{
|
|
|
|
dclnToken = g_SimplePool->GetObj({SBIG('DCLN'), dclnId});
|
|
|
|
dclnToken.GetObj();
|
|
|
|
}
|
|
|
|
|
|
|
|
CModelData data;
|
|
|
|
if (animType == SBIG('ANCS'))
|
|
|
|
{
|
|
|
|
CAnimRes aRes;
|
|
|
|
aRes.x0_ancsId = aParms.x0_ancs;
|
|
|
|
aRes.x4_charIdx = aParms.x4_charIdx;
|
|
|
|
aRes.x8_scale = head.x40_scale;
|
|
|
|
aRes.x14_ = true;
|
|
|
|
aRes.x1c_defaultAnim = aParms.x8_defaultAnim;
|
|
|
|
data = aRes;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
CStaticRes sRes;
|
|
|
|
sRes.x0_cmdlId = staticId;
|
|
|
|
sRes.x4_scale = head.x40_scale;
|
|
|
|
data = sRes;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (extent.isZero())
|
|
|
|
aabb = data.GetBounds(head.x10_transform.getRotation());
|
|
|
|
|
|
|
|
return new CScriptPlatform(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform,
|
|
|
|
data, actParms, aabb, f1, b2, f2, b1, hInfo, dInfo, dclnToken, b3, w2, w3);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSound(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 21:44:18 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 20, "Sound"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
SActorHead head = LoadActorHead(in, mgr);
|
|
|
|
|
|
|
|
s32 soundId = in.readInt32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
float f3 = in.readFloatBig();
|
|
|
|
u32 w2 = in.readUint32Big();
|
|
|
|
u32 w3 = in.readUint32Big();
|
|
|
|
u32 w4 = in.readUint32Big();
|
|
|
|
u32 w5 = in.readUint32Big();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
bool b4 = in.readBool();
|
|
|
|
bool b5 = in.readBool();
|
|
|
|
bool b6 = in.readBool();
|
|
|
|
bool b7 = in.readBool();
|
|
|
|
bool b8 = in.readBool();
|
|
|
|
u32 w6 = in.readUint32Big();
|
|
|
|
|
|
|
|
if (soundId < 0)
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
return new CScriptSound(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform,
|
|
|
|
soundId, b1, f1, f2, f3, w2, w3, w4, w5, w6, 0, b2, b3, b4, b5, b6, b7, b8, w6);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadGenerator(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 21:44:18 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 8, "Generator"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
const std::string* name = mgr.HashInstanceName(in);
|
|
|
|
|
|
|
|
u32 w1 = in.readUint32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
bool b2 = in.readBool();
|
|
|
|
|
|
|
|
zeus::CVector3f v1;
|
|
|
|
v1.readBig(in);
|
|
|
|
|
|
|
|
bool b3 = in.readBool();
|
|
|
|
float f1 = in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
|
|
|
|
return new CScriptGenerator(mgr.AllocateUniqueId(), *name, info, w1, b1, v1, b2, b3, f1, f2);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDock(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-20 21:07:18 +00:00
|
|
|
{
|
|
|
|
if (!EnsurePropertyCount(propCount, 7, "Dock"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
std::string name = *mgr.HashInstanceName(in);
|
|
|
|
bool active = in.readBool();
|
|
|
|
zeus::CVector3f position;
|
|
|
|
position.readBig(in);
|
|
|
|
zeus::CVector3f scale;
|
|
|
|
scale.readBig(in);
|
|
|
|
u32 dock = in.readUint32Big();
|
|
|
|
TAreaId area = in.readUint32Big();
|
|
|
|
bool b1 = in.readBool();
|
|
|
|
return new CScriptDock(mgr.AllocateUniqueId(), name, info, position, scale, dock, area, active, 0, b1);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCamera(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraWaypoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadNewIntroBoss(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpawnPoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraHint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPickup(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMemoryRelay(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRandomRelay(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRelay(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadBeetle(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadHUDMemo(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraFilterKeyframe(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraBlurKeyframe(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDamageableTrigger(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDebris(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraShaker(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadActorKeyframe(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadWater(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 05:44:08 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 63, "Water"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
std::string name = *mgr.HashInstanceName(in);
|
|
|
|
zeus::CVector3f position;
|
|
|
|
position.readBig(in);
|
|
|
|
zeus::CVector3f extent;
|
|
|
|
extent.readBig(in);
|
|
|
|
CDamageInfo dInfo(in);
|
|
|
|
zeus::CVector3f orientedForce;
|
|
|
|
orientedForce.readBig(in);
|
|
|
|
u32 triggerFlags = in.readUint32Big() | 2044;
|
|
|
|
bool b1 = in.readBool();
|
2016-04-20 05:57:30 +00:00
|
|
|
bool displaySurface = in.readBool();
|
2016-04-20 05:44:08 +00:00
|
|
|
ResId textureId1 = in.readUint32Big();
|
|
|
|
ResId textureId2 = in.readUint32Big();
|
|
|
|
ResId textureId3 = in.readUint32Big();
|
|
|
|
ResId textureId4 = in.readUint32Big();
|
|
|
|
ResId textureId5 = in.readUint32Big();
|
|
|
|
ResId textureId6 = in.readUint32Big();
|
|
|
|
zeus::CVector3f v2;
|
|
|
|
v2.readBig(in);
|
|
|
|
|
|
|
|
zeus::CVector3f otherV2 = v2;
|
|
|
|
if (otherV2.canBeNormalized())
|
|
|
|
otherV2.assign(0.f, 0.f, -1.f);
|
|
|
|
|
|
|
|
float f1 = 1.f / in.readFloatBig();
|
|
|
|
float f2 = in.readFloatBig();
|
|
|
|
float f3 = in.readFloatBig();
|
|
|
|
bool active = in.readBool();
|
|
|
|
CFluidPlane::EFluidType fluidType = CFluidPlane::EFluidType(in.readUint32Big());
|
|
|
|
bool b4 = in.readBool();
|
|
|
|
float f4 = in.readFloatBig();
|
|
|
|
CFluidUVMotion fluidMotion = LoadFluidUVMotion(in);
|
|
|
|
|
|
|
|
float f5 = in.readFloatBig();
|
|
|
|
float f6 = in.readFloatBig();
|
|
|
|
float f7 = in.readFloatBig();
|
|
|
|
float f8 = in.readFloatBig();
|
|
|
|
float f9 = zeus::degToRad(in.readFloatBig());
|
|
|
|
float f10 = zeus::degToRad(in.readFloatBig());
|
|
|
|
float f11 = in.readFloatBig();
|
|
|
|
float f12 = in.readFloatBig();
|
|
|
|
zeus::CColor c1;
|
|
|
|
c1.readRGBABig(in);
|
|
|
|
zeus::CColor c2;
|
|
|
|
c2.readRGBABig(in);
|
2016-04-20 05:57:30 +00:00
|
|
|
ResId enterParticle = in.readUint32Big();
|
2016-04-20 05:44:08 +00:00
|
|
|
ResId partId2 = in.readUint32Big();
|
|
|
|
ResId partId3 = in.readUint32Big();
|
|
|
|
ResId partId4 = in.readUint32Big();
|
|
|
|
ResId partId5 = in.readUint32Big();
|
|
|
|
u32 soundId1 = in.readUint32Big();
|
|
|
|
u32 soundId2 = in.readUint32Big();
|
|
|
|
u32 soundId3 = in.readUint32Big();
|
|
|
|
u32 soundId4 = in.readUint32Big();
|
|
|
|
u32 soundId5 = in.readUint32Big();
|
|
|
|
float f13 = in.readFloatBig();
|
|
|
|
u32 w19 = in.readUint32Big();
|
|
|
|
float f14 = in.readFloatBig();
|
|
|
|
float f15 = in.readFloatBig();
|
|
|
|
float f16 = in.readFloatBig();
|
|
|
|
float f17 = in.readFloatBig();
|
|
|
|
float f18 = in.readFloatBig();
|
|
|
|
float f19 = in.readFloatBig();
|
2016-04-20 05:57:30 +00:00
|
|
|
float heatWaveHeight = in.readFloatBig();
|
|
|
|
float heatWaveSpeed = in.readFloatBig();
|
|
|
|
zeus::CColor heatWaveColor;
|
|
|
|
heatWaveColor.readRGBABig(in);
|
2016-04-20 05:44:08 +00:00
|
|
|
ResId lightmap = in.readUint32Big();
|
|
|
|
float f22 = in.readFloatBig();
|
|
|
|
float f23 = in.readFloatBig();
|
|
|
|
float f24 = in.readFloatBig();
|
|
|
|
u32 w21 = in.readUint32Big();
|
|
|
|
u32 w22 = in.readUint32Big();
|
|
|
|
bool b5 = in.readBool();
|
|
|
|
|
|
|
|
u32* bitset = nullptr;
|
|
|
|
u32 bitVal0 = 0;
|
|
|
|
u32 bitVal1 = 0;
|
|
|
|
|
|
|
|
if (b5)
|
|
|
|
{
|
|
|
|
bitVal0 = in.readUint16Big();
|
|
|
|
bitVal1 = in.readUint16Big();
|
|
|
|
u32 len = ((bitVal0 * bitVal1) + 31) / 31;
|
|
|
|
bitset = new u32[len];
|
|
|
|
in.readBytesToBuf(&bitset, len * 4);
|
|
|
|
}
|
|
|
|
|
|
|
|
zeus::CAABox box(-extent * 0.5f, extent * 0.5f);
|
|
|
|
|
|
|
|
ResId realTextureId6 = -1;
|
|
|
|
if (textureId4 == -1)
|
|
|
|
realTextureId6 = textureId6;
|
|
|
|
|
|
|
|
ResId realTextureId5 = -1;
|
|
|
|
if (textureId4 == -1)
|
|
|
|
realTextureId5 = textureId5;
|
|
|
|
|
2016-04-20 05:57:30 +00:00
|
|
|
return new CScriptWater(mgr, mgr.AllocateUniqueId(), name, info, position, box, dInfo, orientedForce, triggerFlags, b1, displaySurface,
|
2016-04-20 05:44:08 +00:00
|
|
|
textureId1, textureId2, textureId3, textureId4, realTextureId5, realTextureId6, -1, otherV2, f1, f2,
|
2016-04-20 05:57:30 +00:00
|
|
|
f3, active, fluidType, b4, f4, fluidMotion, f5, f6, f7, f8, f9, f10, f11, f12, c1, c2, enterParticle,
|
2016-04-20 05:44:08 +00:00
|
|
|
partId2, partId3, partId4, partId5, soundId1, soundId2, soundId3, soundId4, soundId5,
|
2016-04-20 05:57:30 +00:00
|
|
|
f13, w19, f14, f15, f16, f17, f18, f19, heatWaveHeight, heatWaveSpeed, heatWaveColor, lightmap, f22, f23, f24,
|
2016-04-20 05:44:08 +00:00
|
|
|
w21, w22, b5, bitVal0, bitVal0, bitset);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadWarwasp(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpacePirate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFlyingPirate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadElitePirate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMetroidBeta(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadChozoGhost(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCoverPoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpiderBallWaypoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadBloodFlower(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFlickerBat(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPathCamera(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadGrapplePoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
2016-04-20 21:07:18 +00:00
|
|
|
if (!EnsurePropertyCount(propCount, 5, "GrapplePoint"))
|
|
|
|
return nullptr;
|
|
|
|
|
|
|
|
std::string name = *mgr.HashInstanceName(in);
|
|
|
|
zeus::CTransform grappleXf = LoadEditorTransform(in);
|
|
|
|
bool active = in.readBool();
|
|
|
|
CGrappleParameters parameters = LoadGrappleParameters(in);
|
|
|
|
return new CScriptGrapplePoint(mgr.AllocateUniqueId(), name, info, grappleXf, active, parameters);
|
2016-04-17 22:38:05 +00:00
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPuddleSpore(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDebugCameraWaypoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpiderBallAttractionSurface(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPuddleToadGamma(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDistanceFog(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFireFlea(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMetareeAlpha(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDockAreaChange(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadActorRotate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpecialFunction(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpankWeed(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadParasite(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPlayerHint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRipper(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPickupGenerator(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAIKeyframe(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPointOfInterest(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDrone(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMetroidAlpha(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadDebrisExtended(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSteam(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRipple(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadBallTrigger(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadTargetingPoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadEMPulse(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadIceSheegoth(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPlayerActor(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFlaahgra(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAreaAttributes(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFishCloud(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFishCloudModifier(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadVisorFlare(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadWorldTeleporter(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadVisorGoo(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadJellyZap(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadControllerAction(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSwitch(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPlayerStateChange(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadThardus(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadWallCrawlerSwarm(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAIJumpPoint(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFlaahgraTentacle(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRoomAcoustics(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadColorModulate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadThardusRockProjectile(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMidi(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadStreamedAudio(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRepulsor(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadGunTurret(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadFogVolume(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadBabygoth(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadEyeball(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRadialDamage(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraPitchVolume(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadEnvFxDensityController(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMagdolite(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadTeamAIMgr(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSnakeWeedSwarm(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::Load(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadActorContraption(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadOculus(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadGeemer(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSpindleCamera(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAtomicAlpha(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadCameraHintTrigger(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRumbleEffect(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAmbientAI(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadAtomicBeta(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadIceZoomer(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPuffer(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadTryclops(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadRidley(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadSeedling(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadThermalHeatFader(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadBurrower(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadScriptBeam(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadWorldLightFader(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMetroidPrimeStage2(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMetroidPrimeStage1(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadMazeNode(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadOmegaPirate(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPhazonPool(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadPhazonHealingNodule(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadNewCameraShaker(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadShadowProjector(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-04-19 21:25:26 +00:00
|
|
|
CEntity* ScriptLoader::LoadEnergyBall(CStateManager& mgr, CInputStream& in,
|
|
|
|
int propCount, const CEntityInfo& info)
|
2016-04-17 22:38:05 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|