public void ReadFrom( Stream aStream ) { using ( var reader = new GMBinaryReader( aStream ) ) { int version = reader.ReadInt32(); if ( version != FormatConstants.GMVersion50 && version != FormatConstants.GMVersion52 ) throw new Exceptions.UnsupportedVersion( aStream.Position, version ); TabCaption = reader.ReadString(); ID = reader.ReadInt32(); Author = reader.ReadString(); Version = reader.ReadInt32(); LastChanged = DateTime.FromOADate( reader.ReadDouble() ); Information = reader.ReadString(); InitializationCode = reader.ReadString(); Advanced = reader.ReadInt32AsBool(); reader.BaseStream.Position += 4; int count = reader.ReadInt32(); Actions = new List<LibraryAction>( count ); for ( int i = 0; i < count; i++ ) { var action = new LibraryAction(); action.ReadFrom( reader ); Actions.Add( action ); } } }
public void ReadFrom(Stream aStream) { using (var reader = new GMBinaryReader(aStream)) { int version = reader.ReadInt32(); if (version != FormatConstants.GMVersion50 && version != FormatConstants.GMVersion52) { throw new Exceptions.UnsupportedVersion(aStream.Position, version); } TabCaption = reader.ReadString(); ID = reader.ReadInt32(); Author = reader.ReadString(); Version = reader.ReadInt32(); LastChanged = DateTime.FromOADate(reader.ReadDouble()); Information = reader.ReadString(); InitializationCode = reader.ReadString(); Advanced = reader.ReadInt32AsBool(); reader.BaseStream.Position += 4; int count = reader.ReadInt32(); Actions = new List <LibraryAction>(count); for (int i = 0; i < count; i++) { var action = new LibraryAction(); action.ReadFrom(reader); Actions.Add(action); } } }
public void ReadFrom( GMBinaryReader aReader ) { int version = aReader.ReadInt32(); if ( version != FormatConstants.GMVersion50 && version != FormatConstants.GMVersion52 ) throw new Exceptions.UnsupportedVersion( aReader.BaseStream.Position, version ); Name = aReader.ReadString(); ID = aReader.ReadInt32(); IconData = aReader.ReadChunk(); Hidden = aReader.ReadInt32AsBool(); Advanced = aReader.ReadInt32AsBool(); if ( version == FormatConstants.GMVersion52 ) RegisteredOnly = aReader.ReadInt32AsBool(); else RegisteredOnly = false; Description = aReader.ReadString(); ListText = aReader.ReadString(); HintText = aReader.ReadString(); Kind = (ActionKinds) aReader.ReadInt32(); InterfaceKind = (InterfaceKinds) aReader.ReadInt32(); IsQuestion = aReader.ReadInt32AsBool(); IsApplyable = aReader.ReadInt32AsBool(); CanBeRelative = aReader.ReadInt32AsBool(); { int count = aReader.ReadInt32(); aReader.BaseStream.Position += 4; Arguments = new List<Argument>( count ); for ( int i = 0; i < count; i++ ) Arguments.Add( new Argument() { Caption = aReader.ReadString(), Kind = (ArgumentKinds) aReader.ReadInt32(), DefaultValue = aReader.ReadString(), Menu = aReader.ReadString() } ); for ( int i = 0; i < 8 - count; i++ ) { aReader.BaseStream.Position += aReader.ReadInt32() + 8; aReader.BaseStream.Position += aReader.ReadInt32() + 4; aReader.BaseStream.Position += aReader.ReadInt32() + 4; } } ExecutionType = (ActionTypes) aReader.ReadInt32(); Code = aReader.ReadString(); aReader.BaseStream.Position += 4; }
public void ReadFrom(GMBinaryReader aReader) { int version = aReader.ReadInt32(); if (version != FormatConstants.GMVersion50 && version != FormatConstants.GMVersion52) { throw new Exceptions.UnsupportedVersion(aReader.BaseStream.Position, version); } Name = aReader.ReadString(); ID = aReader.ReadInt32(); IconData = aReader.ReadChunk(); Hidden = aReader.ReadInt32AsBool(); Advanced = aReader.ReadInt32AsBool(); if (version == FormatConstants.GMVersion52) { RegisteredOnly = aReader.ReadInt32AsBool(); } else { RegisteredOnly = false; } Description = aReader.ReadString(); ListText = aReader.ReadString(); HintText = aReader.ReadString(); Kind = (ActionKinds)aReader.ReadInt32(); InterfaceKind = (InterfaceKinds)aReader.ReadInt32(); IsQuestion = aReader.ReadInt32AsBool(); IsApplyable = aReader.ReadInt32AsBool(); CanBeRelative = aReader.ReadInt32AsBool(); { int count = aReader.ReadInt32(); aReader.BaseStream.Position += 4; Arguments = new List <Argument>(count); for (int i = 0; i < count; i++) { Arguments.Add(new Argument() { Caption = aReader.ReadString(), Kind = (ArgumentKinds)aReader.ReadInt32(), DefaultValue = aReader.ReadString(), Menu = aReader.ReadString() }); } for (int i = 0; i < 8 - count; i++) { aReader.BaseStream.Position += aReader.ReadInt32() + 8; aReader.BaseStream.Position += aReader.ReadInt32() + 4; aReader.BaseStream.Position += aReader.ReadInt32() + 4; } } ExecutionType = (ActionTypes)aReader.ReadInt32(); Code = aReader.ReadString(); aReader.BaseStream.Position += 4; }
public void ReadFrom( Stream aStream ) { using ( GMBinaryReader reader = new GMBinaryReader( aStream ) ) { int magicNumber = reader.ReadInt32(); if ( magicNumber != FormatConstants.GMMagicNumber ) throw new Exceptions.UnknownFormat(); int version = reader.ReadInt32(); if ( version != FormatConstants.GMVersion80 && version != FormatConstants.GMVersion81 ) throw new Exceptions.UnsupportedVersion( aStream.Position - 4, version ); FormatVersion = version; Settings.ReadFrom( reader ); Triggers.ReadFrom( reader ); Constants.ReadFrom( reader ); Sounds.ReadFrom( reader ); Sprites.ReadFrom( reader ); Backgrounds.ReadFrom( reader ); Paths.ReadFrom( reader ); Scripts.ReadFrom( reader ); Fonts.ReadFrom( reader ); TimeLines.ReadFrom( reader ); Objects.ReadFrom( reader ); Rooms.ReadFrom( reader ); Includes.ReadFrom( reader ); m_extensions.ReadFrom( reader ); Information.ReadFrom( reader ); m_creationCodes.ReadFrom( reader ); m_roomOrder.ReadFrom( reader ); ResourceTree.ReadFrom( reader ); } }