summaryrefslogtreecommitdiff
path: root/src/modelinfo/ModelInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modelinfo/ModelInfo.h')
-rw-r--r--src/modelinfo/ModelInfo.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/modelinfo/ModelInfo.h b/src/modelinfo/ModelInfo.h
new file mode 100644
index 0000000..30f4c01
--- /dev/null
+++ b/src/modelinfo/ModelInfo.h
@@ -0,0 +1,48 @@
+#pragma once
+
+#include "2dEffect.h"
+#include "SimpleModelInfo.h"
+#include "TimeModelInfo.h"
+#include "WeaponModelInfo.h"
+#include "ClumpModelInfo.h"
+#include "PedModelInfo.h"
+#include "VehicleModelInfo.h"
+#include "templates.h"
+
+class CModelInfo
+{
+ static CBaseModelInfo *ms_modelInfoPtrs[MODELINFOSIZE];
+ static CStore<CSimpleModelInfo, SIMPLEMODELSIZE> ms_simpleModelStore;
+ static CStore<CTimeModelInfo, TIMEMODELSIZE> ms_timeModelStore;
+ static CStore<CWeaponModelInfo, WEAPONMODELSIZE> ms_weaponModelStore;
+ static CStore<CClumpModelInfo, CLUMPMODELSIZE> ms_clumpModelStore;
+ static CStore<CPedModelInfo, PEDMODELSIZE> ms_pedModelStore;
+ static CStore<CVehicleModelInfo, VEHICLEMODELSIZE> ms_vehicleModelStore;
+ static CStore<C2dEffect, TWODFXSIZE> ms_2dEffectStore;
+
+public:
+ static void Initialise(void);
+ static void ShutDown(void);
+
+ static CSimpleModelInfo *AddSimpleModel(int id);
+ static CTimeModelInfo *AddTimeModel(int id);
+ static CWeaponModelInfo *AddWeaponModel(int id);
+ static CClumpModelInfo *AddClumpModel(int id);
+ static CPedModelInfo *AddPedModel(int id);
+ static CVehicleModelInfo *AddVehicleModel(int id);
+
+ static CStore<C2dEffect, TWODFXSIZE> &Get2dEffectStore(void) { return ms_2dEffectStore; }
+
+ static CBaseModelInfo *GetModelInfo(const char *name, int *id);
+ static CBaseModelInfo *GetModelInfo(int id){
+ return ms_modelInfoPtrs[id];
+ }
+ static CBaseModelInfo *GetModelInfo(const char *name, int minIndex, int maxIndex);
+
+ static bool IsBoatModel(int32 id);
+ static bool IsBikeModel(int32 id);
+ static bool IsCarModel(int32 id);
+ static bool IsHeliModel(int32 id);
+ static bool IsPlaneModel(int32 id);
+ static void ReInit2dEffects();
+};