예제 #1
0
        private bool LoadFile(Stream stream, EndianUtils.Endianness endian, BitUtils.Bitness bits)
        {
            string magic = stream.ReadAscii(8);

            if (magic != "TOVNPCT\0")
            {
                throw new Exception("Invalid magic.");
            }
            uint fileSize         = stream.ReadUInt32().FromEndian(endian);
            uint unknownDataStart = stream.ReadUInt32().FromEndian(endian);
            uint unknownDataCount = stream.ReadUInt32().FromEndian(endian);
            uint npcDefStart      = stream.ReadUInt32().FromEndian(endian);
            uint npcDefCount      = stream.ReadUInt32().FromEndian(endian);
            uint refStringStart   = stream.ReadUInt32().FromEndian(endian);

            stream.Position = npcDefStart;
            NpcDefList      = new List <NpcDialogueDefinition>((int)npcDefCount);
            for (uint i = 0; i < npcDefCount; ++i)
            {
                NpcDialogueDefinition n = new NpcDialogueDefinition(stream, refStringStart, endian, bits);
                NpcDefList.Add(n);
            }

            return(true);
        }
예제 #2
0
        private bool LoadFile( Stream stream )
        {
            string magic = stream.ReadAscii( 8 );
            uint fileSize = stream.ReadUInt32().SwapEndian();
            uint unknownDataStart = stream.ReadUInt32().SwapEndian();
            uint unknownDataCount = stream.ReadUInt32().SwapEndian();
            uint npcDefStart = stream.ReadUInt32().SwapEndian();
            uint npcDefCount = stream.ReadUInt32().SwapEndian();
            uint refStringStart = stream.ReadUInt32().SwapEndian();

            stream.Position = npcDefStart;
            NpcDefList = new List<NpcDialogueDefinition>( (int)npcDefCount );
            for ( uint i = 0; i < npcDefCount; ++i ) {
                NpcDialogueDefinition n = new NpcDialogueDefinition( stream, refStringStart );
                NpcDefList.Add( n );
            }

            return true;
        }
예제 #3
0
        private bool LoadFile(Stream stream, Util.Endianness endian, Util.Bitness bits)
        {
            string magic            = stream.ReadAscii(8);
            uint   fileSize         = stream.ReadUInt32().FromEndian(endian);
            uint   unknownDataStart = stream.ReadUInt32().FromEndian(endian);
            uint   unknownDataCount = stream.ReadUInt32().FromEndian(endian);
            uint   npcDefStart      = stream.ReadUInt32().FromEndian(endian);
            uint   npcDefCount      = stream.ReadUInt32().FromEndian(endian);
            uint   refStringStart   = stream.ReadUInt32().FromEndian(endian);

            stream.Position = npcDefStart;
            NpcDefList      = new List <NpcDialogueDefinition>((int)npcDefCount);
            for (uint i = 0; i < npcDefCount; ++i)
            {
                NpcDialogueDefinition n = new NpcDialogueDefinition(stream, refStringStart, endian, bits);
                NpcDefList.Add(n);
            }

            return(true);
        }