Fixed #130
This commit is contained in:
parent
17d2140909
commit
c00da37267
|
@ -452,22 +452,11 @@ namespace Unity_Studio
|
||||||
type1 = classID;
|
type1 = classID;
|
||||||
}
|
}
|
||||||
classIDs.Add(new[] { type1, classID });
|
classIDs.Add(new[] { type1, classID });
|
||||||
|
if (classID == 114)
|
||||||
|
{
|
||||||
|
a_Stream.Position += 16;
|
||||||
|
}
|
||||||
classID = type1;
|
classID = type1;
|
||||||
/*TODO 用来替换下方的代码
|
|
||||||
if(classID == 114)
|
|
||||||
{
|
|
||||||
a_Stream.Position += 16;
|
|
||||||
}*/
|
|
||||||
var temp = a_Stream.ReadInt32();
|
|
||||||
if (temp == 0)
|
|
||||||
{
|
|
||||||
a_Stream.Position += 16;
|
|
||||||
}
|
|
||||||
a_Stream.Position -= 4;
|
|
||||||
if (type1 < 0)
|
|
||||||
{
|
|
||||||
a_Stream.Position += 16;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (classID < 0)
|
else if (classID < 0)
|
||||||
{
|
{
|
||||||
|
@ -481,7 +470,7 @@ namespace Unity_Studio
|
||||||
int stringSize = a_Stream.ReadInt32();
|
int stringSize = a_Stream.ReadInt32();
|
||||||
|
|
||||||
a_Stream.Position += varCount * 24;
|
a_Stream.Position += varCount * 24;
|
||||||
string varStrings = Encoding.UTF8.GetString(a_Stream.ReadBytes(stringSize));
|
var stringReader = new EndianBinaryReader(new MemoryStream(a_Stream.ReadBytes(stringSize)));
|
||||||
string className = "";
|
string className = "";
|
||||||
var classVar = new List<ClassMember>();
|
var classVar = new List<ClassMember>();
|
||||||
//build Class Structures
|
//build Class Structures
|
||||||
|
@ -496,15 +485,27 @@ namespace Unity_Studio
|
||||||
ushort test = a_Stream.ReadUInt16();
|
ushort test = a_Stream.ReadUInt16();
|
||||||
string varTypeStr;
|
string varTypeStr;
|
||||||
if (test == 0) //varType is an offset in the string block
|
if (test == 0) //varType is an offset in the string block
|
||||||
{ varTypeStr = varStrings.Substring(varTypeIndex, varStrings.IndexOf('\0', varTypeIndex) - varTypeIndex); }//substringToNull
|
{
|
||||||
|
stringReader.Position = varTypeIndex;
|
||||||
|
varTypeStr = stringReader.ReadStringToNull();
|
||||||
|
}
|
||||||
else //varType is an index in an internal strig array
|
else //varType is an index in an internal strig array
|
||||||
{ varTypeStr = baseStrings.ContainsKey(varTypeIndex) ? baseStrings[varTypeIndex] : varTypeIndex.ToString(); }
|
{
|
||||||
|
varTypeStr = baseStrings.ContainsKey(varTypeIndex) ? baseStrings[varTypeIndex] : varTypeIndex.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
ushort varNameIndex = a_Stream.ReadUInt16();
|
ushort varNameIndex = a_Stream.ReadUInt16();
|
||||||
test = a_Stream.ReadUInt16();
|
test = a_Stream.ReadUInt16();
|
||||||
string varNameStr;
|
string varNameStr;
|
||||||
if (test == 0) { varNameStr = varStrings.Substring(varNameIndex, varStrings.IndexOf('\0', varNameIndex) - varNameIndex); }
|
if (test == 0)
|
||||||
else { varNameStr = baseStrings.ContainsKey(varNameIndex) ? baseStrings[varNameIndex] : varNameIndex.ToString(); }
|
{
|
||||||
|
stringReader.Position = varNameIndex;
|
||||||
|
varNameStr = stringReader.ReadStringToNull();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
varNameStr = baseStrings.ContainsKey(varNameIndex) ? baseStrings[varNameIndex] : varNameIndex.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
int size = a_Stream.ReadInt32();
|
int size = a_Stream.ReadInt32();
|
||||||
int index = a_Stream.ReadInt32();
|
int index = a_Stream.ReadInt32();
|
||||||
|
@ -523,6 +524,7 @@ namespace Unity_Studio
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stringReader.Dispose();
|
||||||
a_Stream.Position += stringSize;
|
a_Stream.Position += stringSize;
|
||||||
|
|
||||||
var aClass = new ClassStruct() { ID = classID, Text = className, members = classVar };
|
var aClass = new ClassStruct() { ID = classID, Text = className, members = classVar };
|
||||||
|
|
|
@ -1172,7 +1172,7 @@ namespace Unity_Studio
|
||||||
FMODstatusLabel.Text = "Stopped";
|
FMODstatusLabel.Text = "Stopped";
|
||||||
FMODinfoLabel.Text = "";
|
FMODinfoLabel.Text = "";
|
||||||
|
|
||||||
if (sound != null)
|
if (sound != null && sound.isValid())
|
||||||
{
|
{
|
||||||
var result = sound.release();
|
var result = sound.release();
|
||||||
ERRCHECK(result);
|
ERRCHECK(result);
|
||||||
|
|
Loading…
Reference in New Issue