Fix certain zones not loading (was reading strings in voc files wrong)
Fix #70
This commit is contained in:
parent
15343418f5
commit
799a39b766
1 changed files with 5 additions and 8 deletions
|
@ -68,13 +68,10 @@ namespace Everquest2.Util
|
||||||
public virtual VeBase ReadObject()
|
public virtual VeBase ReadObject()
|
||||||
{
|
{
|
||||||
long startPos = BaseStream.Position;
|
long startPos = BaseStream.Position;
|
||||||
|
|
||||||
// Read class name
|
// Read class name
|
||||||
string className = ReadString();
|
string className = ReadString();
|
||||||
|
|
||||||
if ( this.BaseStream.Position == 5272)
|
|
||||||
{
|
|
||||||
int test = 0;
|
|
||||||
}
|
|
||||||
if (className.Length < 1)
|
if (className.Length < 1)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
@ -324,17 +321,17 @@ namespace Everquest2.Util
|
||||||
|
|
||||||
if (curChar == 0)
|
if (curChar == 0)
|
||||||
{
|
{
|
||||||
ReadByte();
|
byte val = ReadByte();
|
||||||
curChar = (char)PeekChar();
|
curChar = (char)PeekChar();
|
||||||
}
|
}
|
||||||
bool isStr = Char.IsLetterOrDigit(curChar);
|
bool isStr = Char.IsLetterOrDigit(curChar);
|
||||||
if (!isStr || override_)
|
if (!isStr || override_)
|
||||||
{
|
{
|
||||||
ReadChar();
|
byte val = ReadByte();
|
||||||
char[] chars_ = ReadChars((int)curChar);
|
char[] chars_ = ReadChars(val);
|
||||||
for(int i=0;i<chars_.Length;i++)
|
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;
|
this.BaseStream.Position = pos;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue