Пример #1
0
        public void read(Reader reader)
        {
            // General
            loadGlobalObjects = reader.ReadBoolean();

            // Palettes
            stagePalette.read(reader, 2);

            // Objects
            objects.Clear();
            byte objectCount = reader.ReadByte();

            for (int i = 0; i < objectCount; ++i)
            {
                objects.Add(reader.readRSDKString());
            }

            // SoundFX
            soundFX.Clear();
            byte sfxCount = reader.ReadByte();

            for (int i = 0; i < sfxCount; ++i)
            {
                soundFX.Add(reader.readRSDKString());
            }

            reader.Close();
        }
Пример #2
0
 public void read(Reader reader)
 {
     folder      = reader.readRSDKString();
     id          = reader.readRSDKString();
     name        = reader.readRSDKString();
     highlighted = reader.ReadBoolean();
 }
Пример #3
0
        public void read(Reader reader)
        {
            title = reader.readRSDKString();

            activeLayer0  = (ActiveLayers)reader.ReadByte();
            activeLayer1  = (ActiveLayers)reader.ReadByte();
            activeLayer2  = (ActiveLayers)reader.ReadByte();
            activeLayer3  = (ActiveLayers)reader.ReadByte();
            layerMidpoint = (LayerMidpoints)reader.ReadByte();

            // Map width/height in 128 pixel units
            // In RSDKv2 it's one byte long

            width  = reader.ReadByte();
            height = reader.ReadByte();

            layout = new ushort[height][];
            for (int i = 0; i < height; i++)
            {
                layout[i] = new ushort[width];
            }

            for (int y = 0; y < height; y++)
            {
                for (int x = 0; x < width; x++)
                {
                    // 128x128 Block number is 16-bit
                    // Big-Endian in RSDKv2
                    layout[y][x]  = (ushort)(reader.ReadByte() << 8);
                    layout[y][x] |= reader.ReadByte();
                }
            }

            // Read number of object types
            int objectTypeCount = reader.ReadByte();

            objectTypeNames.Clear();
            for (int n = 0; n < objectTypeCount; n++)
            {
                objectTypeNames.Add(reader.readRSDKString());
            }

            // Read entities

            // 2 bytes, big-endian, unsigned
            int entityCount = reader.ReadByte() << 8;

            entityCount |= reader.ReadByte();

            entities.Clear();
            for (int n = 0; n < entityCount; n++)
            {
                entities.Add(new Entity(reader));
            }

            reader.Close();
        }
Пример #4
0
        public void read(Reader reader)
        {
            // General
            gameTitle       = reader.readRSDKString();
            unknown         = reader.readRSDKString();
            gameDescription = reader.readRSDKString();

            // Objects
            objects.Clear();
            byte objectCount = reader.ReadByte();

            for (int i = 0; i < objectCount; ++i)
            {
                objects.Add(reader.readRSDKString());
            }

            // Global Variables
            globalVariables.Clear();
            byte globalVariableCount = reader.ReadByte();

            for (int i = 0; i < globalVariableCount; i++)
            {
                globalVariables.Add(new GlobalVariable(reader));
            }

            // SoundFX
            soundFX.Clear();
            byte sfxCount = reader.ReadByte();

            for (int i = 0; i < sfxCount; ++i)
            {
                soundFX.Add(reader.readRSDKString());
            }

            // Players
            players.Clear();
            byte playerCount = reader.ReadByte();

            for (int i = 0; i < playerCount; i++)
            {
                players.Add(new PlayerInfo(reader));
            }

            // Stages
            stageLists.Clear();
            stageLists.Add(new StageList(reader)); //Presentation Stages
            stageLists.Add(new StageList(reader)); //Regular Stages
            stageLists.Add(new StageList(reader)); //Special Stages
            stageLists.Add(new StageList(reader)); //Bonus Stages

            reader.Close();
        }
Пример #5
0
 public void read(Reader reader)
 {
     directory   = reader.readRSDKString();
     startOffset = reader.ReadInt32();
 }
Пример #6
0
 public void read(Reader reader)
 {
     animation = reader.readRSDKString();
     script    = reader.readRSDKString();
     name      = reader.readRSDKString();
 }