From 799a39b766358d594450ebda34eb61acd88dabf7 Mon Sep 17 00:00:00 2001 From: Image <> Date: Sat, 27 Jun 2020 23:08:55 -0400 Subject: [PATCH] Fix certain zones not loading (was reading strings in voc files wrong) Fix #70 --- .../EQ2ModelViewer/libeq2/Util/Eq2Reader.cs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/EQ2/devtools/EQ2ModelViewer/EQ2ModelViewer/libeq2/Util/Eq2Reader.cs b/EQ2/devtools/EQ2ModelViewer/EQ2ModelViewer/libeq2/Util/Eq2Reader.cs index 2a47e06e2..d693d5fc3 100644 --- a/EQ2/devtools/EQ2ModelViewer/EQ2ModelViewer/libeq2/Util/Eq2Reader.cs +++ b/EQ2/devtools/EQ2ModelViewer/EQ2ModelViewer/libeq2/Util/Eq2Reader.cs @@ -68,13 +68,10 @@ namespace Everquest2.Util public virtual VeBase ReadObject() { long startPos = BaseStream.Position; + // Read class name string className = ReadString(); - if ( this.BaseStream.Position == 5272) - { - int test = 0; - } if (className.Length < 1) return null; @@ -324,17 +321,17 @@ namespace Everquest2.Util if (curChar == 0) { - ReadByte(); + byte val = ReadByte(); curChar = (char)PeekChar(); } bool isStr = Char.IsLetterOrDigit(curChar); if (!isStr || override_) { - ReadChar(); - char[] chars_ = ReadChars((int)curChar); + byte val = ReadByte(); + char[] chars_ = ReadChars(val); for(int i=0;i<chars_.Length;i++) { - if (i == 0 && !Char.IsLetterOrDigit(chars_[i])) + if (i == 0 && chars_[i] != '/' && chars_[i] != '.' && chars_[i] != '_' && !Char.IsLetterOrDigit(chars_[i])) { this.BaseStream.Position = pos; break;