NScumm.Sword1.ResMan.ReadUInt32 C# (CSharp) Метод

ReadUInt32() публичный Метод

public ReadUInt32 ( uint value ) : uint
value uint
Результат uint
        public uint ReadUInt32(uint value)
        {
            return _isBigEndian ? ScummHelper.SwapBytes(value) : value;
        }

Usage Example

Пример #1
0
        private ByteAccess LockText(uint textId, Language lang)
        {
            var addr = _resMan.OpenFetchRes(_textList[(int)(textId / ObjectMan.ITM_PER_SEC), (int)lang]);

            if (addr == null)
            {
                return(null);
            }
            var addrOff = Header.Size;
            // TODO:
            //if ((textId & ITM_ID) >= _resMan->readUint32(addr))
            //{
            //    // Workaround for missing sentences in some langages in the demo.
            //    switch (textId)
            //    {
            //        case 8455194:
            //            return const_cast<char*>(_translationId8455194[lang]);
            //        case 8455195:
            //            return const_cast<char*>(_translationId8455195[lang]);
            //        case 8455196:
            //            return const_cast<char*>(_translationId8455196[lang]);
            //        case 8455197:
            //            return const_cast<char*>(_translationId8455197[lang]);
            //        case 8455198:
            //            return const_cast<char*>(_translationId8455198[lang]);
            //        case 8455199:
            //            return const_cast<char*>(_translationId8455199[lang]);
            //        case 8455200:
            //            return const_cast<char*>(_translationId8455200[lang]);
            //        case 8455201:
            //            return const_cast<char*>(_translationId8455201[lang]);
            //        case 8455202:
            //            return const_cast<char*>(_translationId8455202[lang]);
            //        case 8455203:
            //            return const_cast<char*>(_translationId8455203[lang]);
            //        case 8455204:
            //            return const_cast<char*>(_translationId8455204[lang]);
            //        case 8455205:
            //            return const_cast<char*>(_translationId8455205[lang]);
            //        case 6488080:
            //            return const_cast<char*>(_translationId6488080[lang]);
            //        case 6488081:
            //            return const_cast<char*>(_translationId6488081[lang]);
            //        case 6488082:
            //            return const_cast<char*>(_translationId6488082[lang]);
            //        case 6488083:
            //            return const_cast<char*>(_translationId6488083[lang]);
            //    }

            //    warning("ObjectMan::lockText(%d): only %d texts in file", textId & ITM_ID, _resMan->readUint32(addr));
            //    return NULL;
            //}
            uint offset = _resMan.ReadUInt32(addr.ToUInt32((int)(addrOff + ((textId & ITM_ID) + 1) * 4)));

            if (offset == 0)
            {
                // TODO: Workaround bug for missing sentence in some langages in Syria (see bug #1977094).
                // We use the hardcoded text in this case.
                //if (textId == 2950145)
                //    return const_cast<char*>(_translationId2950145[lang]);

                // TODO: warning("ObjectMan::lockText(%d): text number has no text lines", textId);
                return(null);
            }
            return(new ByteAccess(addr, (int)(addrOff + offset)));
        }