Exemple #1
0
        public void Read(BinaryReader reader)
        {
            // Header length 0x30, same bytes for all characters.
            reader.BaseStream.Seek(0x30, SeekOrigin.Begin);

            // Header info 0x30 - 0x40
            reader.ReadConst32(24); // challenge count
            reader.ReadConst32(0x40); // challenge start
            var unkDataCount = reader.ReadInt32(); // RYU has 2, JHA has 1, others have 0.
            var unkDataStart = reader.ReadUInt32();

            // Levels
            for (int i = 0; i < 24; i++) { this.Levels[i].ReadPart1(reader); }
            for (int i = 0; i < 24; i++) { this.Levels[i].ReadPart2(reader); }
            for (int i = 0; i < 24; i++) { this.Levels[i].ReadPart3(reader); }

            for (int i = 0; i < 24; i++)
            {
                Debug.Assert(reader.BaseStream.Position == (this.Levels[i].Part3BaseAddress + this.Levels[i].Part3ScriptOffset));
                this.Levels[i].ReadCommandsAndCriterion(reader);
            }
        }
Exemple #2
0
        public void ReadPart2(BinaryReader reader)
        {
            // 0x00 - 0x10
            reader.ReadZeroBytes(4);
            this.Unk_BLR1 = reader.ReadInt32();
            this.ResUnk2 = reader.ReadInt32();
            reader.ReadConst32(-1);

            // 0x10 - 0x20
            reader.ReadConst32(0x1a);
            reader.ReadConst32(1);
            this.Unk_Confusing = reader.ReadInt32();
            reader.ReadZeroBytes(4);

            // 0x20 - 0x30
            reader.ReadZeroBytes(16);
        }
Exemple #3
0
        public void ReadPart1(BinaryReader reader)
        {
            // 0x00 - 0x30
            this.Name = reader.ReadCharArrayString(8);
            reader.ReadZeroBytes(36);
            this.ResUnk1_1 = reader.ReadInt16();
            this.ResUnk1_2 = reader.ReadInt16();

            // 0x30 - 0x40
            reader.ReadConst32(-1);
            reader.ReadZeroBytes(12);

            // 0x40 - 0x50
            this.Unk_SGT5 = reader.ReadUInt32();
            reader.ReadZeroBytes(12);

            // 0x50 - 0x60
            reader.ReadConst32(-2);
            this.UltraSelection = (UltraOption)reader.ReadInt32();
            reader.ReadConst32(1);
            reader.ReadConst32(0x0ac0 - this.Index * 0x40);

            // 0x60 - 0x70
            reader.ReadZeroBytes(8);
            reader.ReadConst32(1);
            reader.ReadConst32(0x0f60 - this.Index * 0x60);
        }