summaryrefslogtreecommitdiffstats
path: root/src/modelinfo
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-04-13 20:54:25 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-04-13 20:54:25 +0200
commit3b0cd93f89a9fea54b155fdae15ec56c6291c2cc (patch)
treee32278de01df4baf561b3966ef239bd045372e60 /src/modelinfo
parentobviously forgot about it (diff)
parentMerge pull request #412 from whampson/save-stuff (diff)
downloadre3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar.gz
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar.bz2
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar.lz
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar.xz
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.tar.zst
re3-3b0cd93f89a9fea54b155fdae15ec56c6291c2cc.zip
Diffstat (limited to 'src/modelinfo')
-rw-r--r--src/modelinfo/ModelInfo.cpp17
-rw-r--r--src/modelinfo/ModelInfo.h3
-rw-r--r--src/modelinfo/VehicleModelInfo.cpp7
3 files changed, 17 insertions, 10 deletions
diff --git a/src/modelinfo/ModelInfo.cpp b/src/modelinfo/ModelInfo.cpp
index d956abaa..b6a95992 100644
--- a/src/modelinfo/ModelInfo.cpp
+++ b/src/modelinfo/ModelInfo.cpp
@@ -234,12 +234,6 @@ CModelInfo::RemoveColModelsFromOtherLevels(eLevelName level)
}
}
-CStore<CInstance, MLOINSTANCESIZE>&
-CModelInfo::GetMloInstanceStore()
-{
- return CModelInfo::ms_mloInstanceStore;
-}
-
void
CModelInfo::ConstructMloClumps()
{
@@ -247,6 +241,17 @@ CModelInfo::ConstructMloClumps()
ms_mloModelStore.store[i].ConstructClump();
}
+void
+CModelInfo::ReInit2dEffects()
+{
+ ms_2dEffectStore.clear();
+
+ for (int i = 0; i < MODELINFOSIZE; i++) {
+ if (ms_modelInfoPtrs[i])
+ ms_modelInfoPtrs[i]->Init2dEffects();
+ }
+}
+
STARTPATCHES
InjectHook(0x50B310, CModelInfo::Initialise, PATCH_JUMP);
InjectHook(0x50B5B0, CModelInfo::ShutDown, PATCH_JUMP);
diff --git a/src/modelinfo/ModelInfo.h b/src/modelinfo/ModelInfo.h
index 13756ddf..e6dec1d8 100644
--- a/src/modelinfo/ModelInfo.h
+++ b/src/modelinfo/ModelInfo.h
@@ -36,7 +36,7 @@ public:
static CVehicleModelInfo *AddVehicleModel(int id);
static CStore<C2dEffect, TWODFXSIZE> &Get2dEffectStore(void) { return ms_2dEffectStore; }
- static CStore<CInstance, MLOINSTANCESIZE> &GetMloInstanceStore();
+ static CStore<CInstance, MLOINSTANCESIZE> &GetMloInstanceStore(void) { return ms_mloInstanceStore; }
static CBaseModelInfo *GetModelInfo(const char *name, int *id);
static CBaseModelInfo *GetModelInfo(int id){
@@ -47,4 +47,5 @@ public:
static bool IsBikeModel(int32 id);
static void RemoveColModelsFromOtherLevels(eLevelName level);
static void ConstructMloClumps();
+ static void ReInit2dEffects();
};
diff --git a/src/modelinfo/VehicleModelInfo.cpp b/src/modelinfo/VehicleModelInfo.cpp
index 432a9ea2..0c45aa12 100644
--- a/src/modelinfo/VehicleModelInfo.cpp
+++ b/src/modelinfo/VehicleModelInfo.cpp
@@ -12,6 +12,7 @@
#include "World.h"
#include "Vehicle.h"
#include "Automobile.h"
+#include "Boat.h"
#include "Train.h"
#include "Plane.h"
#include "Heli.h"
@@ -80,9 +81,9 @@ RwObjectNameIdAssocation carIds[] = {
};
RwObjectNameIdAssocation boatIds[] = {
- { "boat_moving_hi", 1, VEHICLE_FLAG_COLLAPSE },
- { "boat_rudder_hi", 3, VEHICLE_FLAG_COLLAPSE },
- { "windscreen", 2, VEHICLE_FLAG_WINDSCREEN | VEHICLE_FLAG_COLLAPSE },
+ { "boat_moving_hi", BOAT_MOVING, VEHICLE_FLAG_COLLAPSE },
+ { "boat_rudder_hi", BOAT_RUDDER, VEHICLE_FLAG_COLLAPSE },
+ { "windscreen", BOAT_WINDSCREEN, VEHICLE_FLAG_WINDSCREEN | VEHICLE_FLAG_COLLAPSE },
{ "ped_frontseat", BOAT_POS_FRONTSEAT, VEHICLE_FLAG_POS | CLUMP_FLAG_NO_HIERID },
{ nil, 0, 0 }
};