Exemple #1
0
 public HairStyleCG(byte[] buffer, StreamReader inputFile)
 {
     IconImage      = Utils.ReadUInt32(buffer, inputFile);
     Bald           = Utils.ReadBool(buffer, inputFile);
     AlternateSetup = Utils.ReadUInt32(buffer, inputFile);
     Utils.Align(inputFile);
     ObjDesc = new sObjDesc(buffer, inputFile);
 }
Exemple #2
0
 public EyeStripCG(byte[] buffer, StreamReader inputFile)
 {
     IconImage     = Utils.ReadUInt32(buffer, inputFile);
     IconImageBald = Utils.ReadUInt32(buffer, inputFile);
     Utils.Align(inputFile);
     ObjDesc = new sObjDesc(buffer, inputFile);
     Utils.Align(inputFile);
     ObjDescBald = new sObjDesc(buffer, inputFile);
 }
Exemple #3
0
            public SexCG(byte[] buffer, StreamReader inputFile)
            {
                Name         = Utils.ReadSerializedString(buffer, inputFile);
                Scale        = Utils.ReadUInt32(buffer, inputFile);
                SetupID      = Utils.ReadUInt32(buffer, inputFile);
                SoundTable   = Utils.ReadUInt32(buffer, inputFile);
                IconImage    = Utils.ReadUInt32(buffer, inputFile);
                BasePalette  = Utils.ReadUInt32(buffer, inputFile);
                SkinPalSet   = Utils.ReadUInt32(buffer, inputFile);
                PhysicsTable = Utils.ReadUInt32(buffer, inputFile);
                MotionTable  = Utils.ReadUInt32(buffer, inputFile);
                CombatTable  = Utils.ReadUInt32(buffer, inputFile);

                Utils.Align(inputFile);
                BaseObjDesc = new sObjDesc(buffer, inputFile);

                uint count = Utils.ReadCompressedUInt32(buffer, inputFile);

                for (int i = 0; i < count; i++)
                {
                    HairColorList.Add(Utils.ReadUInt32(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    HairStyleList.Add(new HairStyleCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    EyeColorList.Add(Utils.ReadUInt32(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    EyeStripList.Add(new EyeStripCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    NoseStripList.Add(new FaceStripCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    MouthStripList.Add(new FaceStripCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    HeadgearList.Add(new GearCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    ShirtList.Add(new GearCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    PantsList.Add(new GearCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    FootwearList.Add(new GearCG(buffer, inputFile));
                }

                count = Utils.ReadCompressedUInt32(buffer, inputFile);
                for (int i = 0; i < count; i++)
                {
                    ClothingColorsList.Add(Utils.ReadUInt32(buffer, inputFile));
                }
            }
Exemple #4
0
        public cWeenie(StreamReader inputFile)
        {
            wcid         = Utils.readInt32(inputFile);
            entryHeader1 = Utils.readUInt32(inputFile);
            weenieName   = Utils.readStringAndReplaceSpecialCharacters(inputFile);
            entryHeader2 = Utils.readUInt32(inputFile);

            statFlags  = (eStatFlags)Utils.readInt32(inputFile);
            weenieType = (eWeenieTypes)Utils.readInt32(inputFile);

            if (statFlags.HasFlag(eStatFlags.intStats))
            {
                parseIntStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.int64Stats))
            {
                parseInt64Stats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.boolStats))
            {
                parseBoolStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.floatStats))
            {
                parseFloatStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.stringStats))
            {
                parseStringStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.didStats))
            {
                parseDidStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.posStats))
            {
                parsePosStats(inputFile);
            }
            if (statFlags.HasFlag(eStatFlags.iidStat))
            {
                parseIidStats(inputFile);
            }

            dataFlags = (eDataFlags)Utils.readInt32(inputFile);

            int repeatWcid = Utils.readInt32(inputFile);

            if (wcid != repeatWcid)
            {
                Console.WriteLine("Wcids do not match: {0} and {1}", wcid, repeatWcid);
            }

            if (dataFlags.HasFlag(eDataFlags.attributes))
            {
                attributes = new sAttributes(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.skills))
            {
                skills = new sSkills(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.body))
            {
                body = new sBody(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.spellBook))
            {
                spellBook = new sSpellBook(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.eventFilter))
            {
                eventFilter = new sEventFilter(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.emoteTable))
            {
                emoteTable = new sEmoteTable(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.createList))
            {
                createList = new sCreateList(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.pageDataList))
            {
                pageDataList = new sPageDataList(inputFile);
            }
            if (dataFlags.HasFlag(eDataFlags.generatorTable))
            {
                generatorTable = new sGeneratorTable(inputFile);
            }

            objDesc = new sObjDesc(inputFile);
            byte entryDelimiter = Utils.readByte(inputFile);

            if (entryDelimiter != 0x01)
            {
                Console.WriteLine("Error reading weenie at {0}", inputFile.BaseStream.Position);
            }
        }