public void write(Writer writer)
        {
            // General
            writer.Write(loadGlobalObjects);

            // Palettes
            stagePalette.write(writer);

            // Objects
            writer.Write((byte)objects.Count);

            foreach (string script in objects)
            {
                writer.writeRSDKString(script);
            }

            // SoundFX
            writer.Write((byte)soundFX.Count);

            foreach (string path in soundFX)
            {
                writer.writeRSDKString(path);
            }

            writer.Close();
        }
示例#2
0
 public void write(Writer writer)
 {
     writer.writeRSDKString(folder);
     writer.writeRSDKString(id);
     writer.writeRSDKString(name);
     writer.Write(highlighted);
 }
示例#3
0
        public void write(Writer writer)
        {
            // Write zone name
            writer.writeRSDKString(title);

            // Write the active layers & midpoint
            writer.Write((byte)activeLayer0);
            writer.Write((byte)activeLayer1);
            writer.Write((byte)activeLayer2);
            writer.Write((byte)activeLayer3);
            writer.Write((byte)layerMidpoint);

            // Write width and height
            writer.Write(width);
            writer.Write(height);

            // Write tile layout
            for (int h = 0; h < height; h++)
            {
                for (int w = 0; w < width; w++)
                {
                    writer.Write((byte)(layout[h][w] >> 8));
                    writer.Write((byte)(layout[h][w] & 0xff));
                }
            }

            // Write number of object types
            writer.Write((byte)objectTypeNames.Count);

            // Write object type names
            // Ignore first object type (Blank Object), it is not stored.
            foreach (string typeName in objectTypeNames)
            {
                writer.writeRSDKString(typeName);
            }

            // Write number of entities
            writer.Write((byte)(entities.Count >> 8));
            writer.Write((byte)(entities.Count & 0xFF));

            // Write entities
            foreach (Entity entity in entities)
            {
                entity.write(writer);
            }

            writer.Close();
        }
        public void write(Writer writer)
        {
            writer.Write(unknown); //No idea what these are

            // SpriteSheets
            for (int s = 0; s < 4; ++s)
            {
                writer.writeRSDKString(spriteSheets[s]);
            }

            // Animations
            writer.Write((byte)animations.Count);
            foreach (AnimationEntry anim in animations)
            {
                anim.write(writer);
            }

            // Hitboxes
            writer.Write((byte)hitboxes.Count);
            foreach (Hitbox hitbox in hitboxes)
            {
                hitbox.write(writer);
            }

            writer.Close();
        }
示例#5
0
        public void write(Writer writer)
        {
            // General
            writer.writeRSDKString(gameTitle);
            writer.writeRSDKString(unknown);
            writer.writeRSDKString(gameDescription);

            // Objects
            writer.Write((byte)objects.Count);

            foreach (string script in objects)
            {
                writer.writeRSDKString(script);
            }

            // Global Variables
            writer.Write((byte)globalVariables.Count);
            foreach (GlobalVariable variable in globalVariables)
            {
                variable.write(writer);
            }

            // SoundFX
            writer.Write((byte)soundFX.Count);

            foreach (string sfx in soundFX)
            {
                writer.writeRSDKString(sfx);
            }

            // Players
            writer.Write((byte)players.Count);
            foreach (PlayerInfo player in players)
            {
                player.write(writer);
            }

            // Stages
            for (int s = 0; s < 4; s++)
            {
                stageLists[s].write(writer);
            }

            writer.Close();
        }
示例#6
0
 public void write(Writer writer)
 {
     writer.writeRSDKString(name);
     // Value is Big-Endian in RSDKv2
     byte[] bytes = BitConverter.GetBytes(value);
     writer.Write(bytes[3]);
     writer.Write(bytes[2]);
     writer.Write(bytes[1]);
     writer.Write(bytes[0]);
 }
示例#7
0
 public void write(Writer writer)
 {
     writer.writeRSDKString(directory);
     writer.Write(startOffset);
 }
示例#8
0
 public void write(Writer writer)
 {
     writer.writeRSDKString(animation);
     writer.writeRSDKString(script);
     writer.writeRSDKString(name);
 }