summaryrefslogtreecommitdiffstats
path: root/src/modelinfo/TimeModelInfo.cpp
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
committeraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
commit600bf0351476a5a21aabb5429132ddf7f52ac0b9 (patch)
treed8e48b3a581679e33830fb7c98ed69e1e242e2c2 /src/modelinfo/TimeModelInfo.cpp
downloadre3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.gz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.bz2
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.lz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.xz
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.tar.zst
re3-600bf0351476a5a21aabb5429132ddf7f52ac0b9.zip
Diffstat (limited to 'src/modelinfo/TimeModelInfo.cpp')
-rw-r--r--src/modelinfo/TimeModelInfo.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/modelinfo/TimeModelInfo.cpp b/src/modelinfo/TimeModelInfo.cpp
new file mode 100644
index 00000000..3ab3e13a
--- /dev/null
+++ b/src/modelinfo/TimeModelInfo.cpp
@@ -0,0 +1,36 @@
+#include "common.h"
+#include "patcher.h"
+#include "Camera.h"
+#include "ModelInfo.h"
+
+CTimeModelInfo*
+CTimeModelInfo::FindOtherTimeModel(void)
+{
+ char name[40];
+ char *p;
+ int i;
+
+ strcpy(name, GetName());
+ // change _nt to _dy
+ if(p = strstr(name, "_nt"))
+ strncpy(p, "_dy", 4);
+ // change _dy to _nt
+ else if(p = strstr(name, "_dy"))
+ strncpy(p, "_nt", 4);
+ else
+ return nil;
+
+ for(i = 0; i < MODELINFOSIZE; i++){
+ CBaseModelInfo *mi = CModelInfo::GetModelInfo(i);
+ if(mi && mi->m_type == MITYPE_TIME &&
+ strncmp(name, mi->GetName(), 24) == 0){
+ m_otherTimeModelID = i;
+ return (CTimeModelInfo*)mi;
+ }
+ }
+ return nil;
+}
+
+STARTPATCHES
+ InjectHook(0x517C80, &CTimeModelInfo::FindOtherTimeModel, PATCH_JUMP);
+ENDPATCHES