From b13c4de6a4f73177af63a527ca505e76fba3abab Mon Sep 17 00:00:00 2001
From: Sergeanur <s.anureev@yandex.ua>
Date: Sat, 28 Sep 2019 18:16:52 +0300
Subject: [PATCH] Added CUTSCENEDIRSIZE to Config enum and CUTSCENENAMESIZE
 macro

---
 src/core/CutsceneMgr.cpp | 6 +++---
 src/core/CutsceneMgr.h   | 4 +++-
 src/core/config.h        | 1 +
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/core/CutsceneMgr.cpp b/src/core/CutsceneMgr.cpp
index ccb0bf64..1461c858 100644
--- a/src/core/CutsceneMgr.cpp
+++ b/src/core/CutsceneMgr.cpp
@@ -123,7 +123,7 @@ int32 &CCutsceneMgr::ms_numCutsceneObjs = *(int32*)0x942FA4;
 bool &CCutsceneMgr::ms_loaded = *(bool*)0x95CD95;
 bool &CCutsceneMgr::ms_animLoaded = *(bool*)0x95CDA0;
 bool &CCutsceneMgr::ms_useLodMultiplier = *(bool*)0x95CD74;
-char(&CCutsceneMgr::ms_cutsceneName)[8] = *(char(*)[8]) *(uintptr*)0x70D9D0;
+char(&CCutsceneMgr::ms_cutsceneName)[CUTSCENENAMESIZE] = *(char(*)[CUTSCENENAMESIZE]) *(uintptr*)0x70D9D0;
 CAnimBlendAssocGroup &CCutsceneMgr::ms_cutsceneAssociations = *(CAnimBlendAssocGroup*)0x709C58;
 CVector &CCutsceneMgr::ms_cutsceneOffset = *(CVector*)0x8F2C0C;
 float &CCutsceneMgr::ms_cutsceneTimer = *(float*)0x941548;
@@ -141,7 +141,7 @@ CCutsceneMgr::Initialise(void)
 	ms_cutsceneProcessing = false;
 	ms_useLodMultiplier = false;
 
-	ms_pCutsceneDir = new CDirectory(512);
+	ms_pCutsceneDir = new CDirectory(CUTSCENEDIRSIZE);
 	ms_pCutsceneDir->ReadDirFile("ANIM\\CUTS.DIR");
 }
 
@@ -224,7 +224,7 @@ void
 CCutsceneMgr::SetHeadAnim(const char *animName, CObject *pObject)
 {
 	CCutsceneHead *pCutsceneHead = (CCutsceneHead*)pObject;
-	char szAnim[16];
+	char szAnim[CUTSCENENAMESIZE * 2];
 
 	sprintf(szAnim, "%s_%s", ms_cutsceneName, animName);
 	pCutsceneHead->PlayAnimation(szAnim);
diff --git a/src/core/CutsceneMgr.h b/src/core/CutsceneMgr.h
index 69ce58a6..9b942030 100644
--- a/src/core/CutsceneMgr.h
+++ b/src/core/CutsceneMgr.h
@@ -1,6 +1,8 @@
 #pragma once
 #include "CutsceneObject.h"
 
+#define CUTSCENENAMESIZE 8
+
 class CDirectory;
 class CAnimBlendAssocGroup;
 class CCutsceneHead;
@@ -16,7 +18,7 @@ class CCutsceneMgr
 	static bool &ms_animLoaded;
 	static bool &ms_useLodMultiplier;
 
-	static char(&ms_cutsceneName)[8];
+	static char(&ms_cutsceneName)[CUTSCENENAMESIZE];
 	static CAnimBlendAssocGroup &ms_cutsceneAssociations;
 	static CVector &ms_cutsceneOffset;
 	static float &ms_cutsceneTimer;
diff --git a/src/core/config.h b/src/core/config.h
index 161cf898..366b195e 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -8,6 +8,7 @@ enum Config {
 	MODELINFOSIZE = 5500,
 	TXDSTORESIZE = 850,
 	EXTRADIRSIZE = 128,
+	CUTSCENEDIRSIZE = 512,
 
 	SIMPLEMODELSIZE = 5000,
 	TIMEMODELSIZE = 30,