aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tools/vmap4_extractor/adtfile.cpp2
-rw-r--r--src/tools/vmap4_extractor/model.cpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/vmap4_extractor/adtfile.cpp b/src/tools/vmap4_extractor/adtfile.cpp
index c07757295b8..d6803c45380 100644
--- a/src/tools/vmap4_extractor/adtfile.cpp
+++ b/src/tools/vmap4_extractor/adtfile.cpp
@@ -45,7 +45,7 @@ void FixNameCase(char* name, size_t len)
char* ptr = name + len - 1;
//extension in lowercase
- for (; *ptr != '.'; --ptr)
+ for (; *ptr != '.' && ptr >= name; --ptr)
*ptr |= 0x20;
for (; ptr >= name; --ptr)
diff --git a/src/tools/vmap4_extractor/model.cpp b/src/tools/vmap4_extractor/model.cpp
index 431428d9e1b..a598a8cf727 100644
--- a/src/tools/vmap4_extractor/model.cpp
+++ b/src/tools/vmap4_extractor/model.cpp
@@ -204,7 +204,10 @@ void Doodad::ExtractSet(WMODoodadData const& doodadData, ADT::MODF const& wmo, u
FixNameCase(ModelInstName.data(), nlen);
FixNameSpaces(ModelInstName.data(), nlen);
if (ModelInstName.ends_with(".mdx") || ModelInstName.ends_with(".mdl"))
+ {
ModelInstName.replace(ModelInstName.length() - 2, 2, "2");
+ nlen = ModelInstName.length();
+ }
std::string tempname = Trinity::StringFormat("{}/{}", szWorkDirWmo, ModelInstName);
FILE* input = fopen(tempname.c_str(), "r+b");