Пример #1
0
        //
        // 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);
        }
Пример #2
0
        //
        // 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);
        }
Пример #3
0
        //
        // 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;
        }
Пример #4
0
 //
 // General utilities.
 //
 //
 // Convert a ResRef32 to a string.
 //
 private string ResRef32ToString(ResRef32 ResRef)
 {
     return System.Text.Encoding.Default.GetString(ResRef.RefStr);
 }
Пример #5
0
 //
 // 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);
 }
Пример #6
0
        //
        // 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;
        }
Пример #7
0
        //
        // 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));
        }
Пример #8
0
        //
        // General utilities.
        //

        //
        // Convert a ResRef32 to a string.
        //

        private string ResRef32ToString(ResRef32 ResRef)
        {
            return(System.Text.Encoding.Default.GetString(ResRef.RefStr));
        }