// // Iterate through resources in this resource accessor. The routine // return false on failure. // private bool GetEncapsulatedFileEntry(ulong FileIndex, out ResRef32 ResRef, out ushort ResType, IntPtr Context) { string ResRefStr; if (!m_ResourceAccessor.GetEncapsulatedFileEntry(FileIndex, out ResRefStr, out ResType)) { ResRef = StringToResRef32(""); return(false); } ResRef = StringToResRef32(ResRefStr); return(true); }
// // Convert a string to a ResRef32. // private ResRef32 StringToResRef32(string Str) { ResRef32 ResRef = new ResRef32(); byte[] StrBytes = System.Text.Encoding.Default.GetBytes(Str); int i; ResRef.RefStr = new byte[32]; for (i = 0; i < StrBytes.Length && i < 32; i += 1) { ResRef.RefStr[i] = StrBytes[i]; } for (; i < 32; i += 1) { ResRef.RefStr[i] = 0; } return(ResRef); }
// // Convert a string to a ResRef32. // private ResRef32 StringToResRef32(string Str) { ResRef32 ResRef = new ResRef32(); byte[] StrBytes = System.Text.Encoding.Default.GetBytes(Str); int i; ResRef.RefStr = new byte[32]; for (i = 0; i < StrBytes.Length && i < 32; i += 1) ResRef.RefStr[i] = StrBytes[i]; for (; i < 32; i += 1) ResRef.RefStr[i] = 0; return ResRef; }
// // General utilities. // // // Convert a ResRef32 to a string. // private string ResRef32ToString(ResRef32 ResRef) { return System.Text.Encoding.Default.GetString(ResRef.RefStr); }
// // Define thunks to call the resource accessor (invoked by native code // via reverse P/Invoke). // // // Open an encapsulated file by resref. // private ulong OpenFile(ref ResRef32 ResRef, ushort ResType, IntPtr Context) { return m_ResourceAccessor.OpenFile(ResRef32ToString(ResRef), ResType); }
// // Iterate through resources in this resource accessor. The routine // return false on failure. // private bool GetEncapsulatedFileEntry(ulong FileIndex, out ResRef32 ResRef, out ushort ResType, IntPtr Context) { string ResRefStr; if (!m_ResourceAccessor.GetEncapsulatedFileEntry(FileIndex, out ResRefStr, out ResType)) { ResRef = StringToResRef32(""); return false; } ResRef = StringToResRef32(ResRefStr); return true; }
// // Define thunks to call the resource accessor (invoked by native code // via reverse P/Invoke). // // // Open an encapsulated file by resref. // private ulong OpenFile(ref ResRef32 ResRef, ushort ResType, IntPtr Context) { return(m_ResourceAccessor.OpenFile(ResRef32ToString(ResRef), ResType)); }
// // General utilities. // // // Convert a ResRef32 to a string. // private string ResRef32ToString(ResRef32 ResRef) { return(System.Text.Encoding.Default.GetString(ResRef.RefStr)); }