public SceneInfo(Reader reader, bool readFilter = true) { name = reader.readRSDKString(); folder = reader.readRSDKString(); id = reader.readRSDKString(); if (readFilter) { filter = reader.ReadByte(); } }
public void read(Reader reader) { // General if (!reader.readBytes(4).SequenceEqual(signature)) { reader.Close(); throw new Exception("Invalid StageConfig v5 signature"); } loadGlobalObjects = reader.ReadBoolean(); // Objects byte objectCount = reader.ReadByte(); objects.Clear(); for (int i = 0; i < objectCount; ++i) { objects.Add(reader.readRSDKString()); } // Palettes for (int i = 0; i < PALETTES_COUNT; ++i) { palettes[i] = new Palette(reader); } // SoundFX byte sfxCount = reader.ReadByte(); soundFX.Clear(); for (int i = 0; i < sfxCount; ++i) { soundFX.Add(new GameConfig.SoundInfo(reader)); } }
public void read(Reader reader) { unknown1 = reader.ReadByte(); bgColor1 = new Color(reader); bgColor2 = new Color(reader); unknownBytes = reader.readBytes(7); libraryName = reader.readRSDKString(); unknown2 = reader.ReadByte(); }
public Animation(Reader reader) { // Header if (!reader.readBytes(4).SequenceEqual(signature)) { reader.Close(); throw new Exception("Invalid Animation v5 signature"); } // used by RSDKv5 to allocate space for all the frames, automatically handled here uint totalFrameCount = reader.ReadUInt32(); // SpriteSheets int spriteSheetCount = reader.ReadByte(); spriteSheets.Clear(); for (int s = 0; s < spriteSheetCount; ++s) { spriteSheets.Add(reader.readRSDKString()); } // Hitboxes int hitboxTypeCount = reader.ReadByte(); hitboxTypes.Clear(); for (int h = 0; h < hitboxTypeCount; ++h) { hitboxTypes.Add(reader.readRSDKString()); } // Animations int animationCount = reader.ReadInt16(); animations.Clear(); for (int a = 0; a < animationCount; ++a) { animations.Add(new AnimationEntry(reader, this)); } reader.Close(); }
public void read(Reader reader, bool readFilter = true) { name = reader.readRSDKString(); list.Clear(); byte sceneCount = reader.ReadByte(); for (int i = 0; i < sceneCount; ++i) { list.Add(new SceneInfo(reader, readFilter)); } }
public void read(Reader reader, Animation anim = null) { name = reader.readRSDKString(); short frameCount = reader.ReadInt16(); speed = reader.ReadInt16(); loopIndex = reader.ReadByte(); rotationStyle = (RotationStyles)reader.ReadByte(); frames.Clear(); for (int f = 0; f < frameCount; ++f) { frames.Add(new Frame(reader, anim)); } }
public void read(Reader reader) { visible = reader.ReadBoolean(); name = reader.readRSDKString(); type = (Types)reader.ReadByte(); drawOrder = reader.ReadByte(); width = reader.ReadUInt16(); height = reader.ReadUInt16(); parallaxFactor = reader.ReadInt16(); scrollSpeed = reader.ReadInt16(); ushort scrollInfoCount = reader.ReadUInt16(); scrollInfo.Clear(); for (int i = 0; i < scrollInfoCount; ++i) { scrollInfo.Add(new ScrollInfo(reader)); } // Read Line Scroll, its compressed using ZLib compression lineScroll = reader.readCompressed(); // Read tile map, its compressed using ZLib compression layout = new Tile[height][]; using (Reader creader = reader.getCompressedStream()) { for (int y = 0; y < height; ++y) { layout[y] = new Tile[width]; for (int x = 0; x < width; ++x) { layout[y][x] = creader.ReadUInt16(); } } } }
public void read(Reader reader, bool usePlusFormat = true) { // Header if (!reader.readBytes(4).SequenceEqual(signature)) { reader.Close(); throw new Exception("Invalid GameConfig v5 signature"); } // General gameTitle = reader.readRSDKString(); gameSubtitle = reader.readRSDKString(); gameVersion = reader.readRSDKString(); startingActiveList = reader.ReadByte(); startingListPos = reader.ReadUInt16(); // Objects byte objectCount = reader.ReadByte(); objects.Clear(); for (int i = 0; i < objectCount; ++i) { objects.Add(reader.readRSDKString()); } // Palettes for (int i = 0; i < PALETTES_COUNT; ++i) { palettes[i] = new Palette(reader); } // SoundFX byte sfxCount = reader.ReadByte(); soundFX.Clear(); for (int i = 0; i < sfxCount; ++i) { soundFX.Add(new SoundInfo(reader)); } // Scenes // total scene count, used by RSDKv5 to allocate scenes before they're read, its managed automatically here ushort totalSceneCount = reader.ReadUInt16(); byte categoryCount = reader.ReadByte(); categories.Clear(); for (int i = 0; i < categoryCount; ++i) { categories.Add(new SceneCategory(reader, usePlusFormat)); } // Global Variables byte globalVariableCount = reader.ReadByte(); globalVariables.Clear(); for (int i = 0; i < globalVariableCount; ++i) { globalVariables.Add(new GlobalVariable(reader)); } reader.Close(); }
public void read(Reader reader) { name = reader.readRSDKString(); maxConcurrentPlay = reader.ReadByte(); }