├── .gitignore ├── Config ├── url.txt └── version.txt ├── LICENSE ├── README.md ├── SRC ├── EFLC.ico ├── GTAIV.ico ├── LICENSE.txt ├── RageLib │ ├── Audio │ │ ├── Audio.csproj │ │ ├── AudioFile.cs │ │ ├── AudioPlayer.cs │ │ ├── AudioView.Designer.cs │ │ ├── AudioView.cs │ │ ├── AudioView.resx │ │ ├── AudioViewController.cs │ │ ├── AudioWave.cs │ │ ├── ListViewItemComparer.cs │ │ ├── Player │ │ │ ├── WaveNative.cs │ │ │ └── WaveOut.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ ├── SoundBank │ │ │ ├── DviAdpcmDecoder.cs │ │ │ ├── Hashes │ │ │ │ ├── HashResolver.cs │ │ │ │ └── Names.txt │ │ │ ├── IMultichannelSound.cs │ │ │ ├── ISoundBank.cs │ │ │ ├── ISoundWave.cs │ │ │ ├── Mono │ │ │ │ ├── Header.cs │ │ │ │ ├── WaveInfo.cs │ │ │ │ └── WaveInfoHeader.cs │ │ │ ├── MultiChannel │ │ │ │ ├── AdpcmInfo.cs │ │ │ │ ├── BlockChannelInfo.cs │ │ │ │ ├── BlockInfo.cs │ │ │ │ ├── BlockInfoHeader.cs │ │ │ │ ├── ChannelInfo.cs │ │ │ │ ├── ChannelInfoHeader.cs │ │ │ │ ├── CodeIndices.cs │ │ │ │ ├── Header.cs │ │ │ │ └── SoundWave.cs │ │ │ ├── SoundBankException.cs │ │ │ ├── SoundBankFile.cs │ │ │ ├── SoundBankMono.cs │ │ │ └── SoundBankMultiChannel.cs │ │ ├── WaveFile │ │ │ ├── ChannelMask.cs │ │ │ ├── WaveExport.cs │ │ │ └── WaveHeader.cs │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Audio.dll │ │ │ │ ├── RageLib.Audio.pdb │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── Audio.csproj.CoreCompileInputs.cache │ │ │ │ ├── Audio.csproj.FileListAbsolute.txt │ │ │ │ ├── Audio.csproj.GenerateResource.cache │ │ │ │ ├── Audio.csprojAssemblyReference.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── RageLib.Audio.AudioView.resources │ │ │ │ ├── RageLib.Audio.Properties.Resources.resources │ │ │ │ ├── RageLib.Audio.dll │ │ │ │ ├── RageLib.Audio.pdb │ │ │ │ └── TempPE │ │ │ │ └── Properties.Resources.Designer.cs.dll │ │ └── packages.config │ ├── Common │ │ ├── BigEndianBinaryReader.cs │ │ ├── Common.csproj │ │ ├── Compression │ │ │ ├── CompressionCodecFactory.cs │ │ │ ├── CompressionDeflateCodec.cs │ │ │ ├── CompressionLZXCodec.cs │ │ │ └── ICompressionCodec.cs │ │ ├── DataUtil.cs │ │ ├── Hasher.cs │ │ ├── IFileAccess.cs │ │ ├── KeyStore.cs │ │ ├── KeyUtil.cs │ │ ├── KeyUtilEFLC.cs │ │ ├── KeyUtilGTAIV.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── RageZip.cs │ │ ├── ResourceTypes │ │ │ ├── DATBase.cs │ │ │ ├── KnownVTable.cs │ │ │ ├── Matrix44.cs │ │ │ ├── PGBase.cs │ │ │ ├── PGDictionary.cs │ │ │ ├── PtrCollection.cs │ │ │ ├── PtrString.cs │ │ │ ├── PtrValue.cs │ │ │ ├── SimpleArray.cs │ │ │ ├── SimpleCollection.cs │ │ │ ├── UnDocData.cs │ │ │ ├── Vector2.cs │ │ │ ├── Vector3.cs │ │ │ └── Vector4.cs │ │ ├── Resources │ │ │ ├── CompressionType.cs │ │ │ ├── ResourceFile.cs │ │ │ ├── ResourceHeader.cs │ │ │ ├── ResourceType.cs │ │ │ └── ResourceUtil.cs │ │ ├── StreamContext.cs │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── Common.csproj.CoreCompileInputs.cache │ │ │ │ ├── Common.csproj.FileListAbsolute.txt │ │ │ │ ├── Common.csprojAssemblyReference.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── RageLib.Common.dll │ │ │ │ └── RageLib.Common.pdb │ │ └── packages.config │ ├── FileSystem │ │ ├── Common │ │ │ ├── Directory.cs │ │ │ ├── FSObject.cs │ │ │ ├── File.cs │ │ │ └── FileSystem.cs │ │ ├── FileSystem.csproj │ │ ├── IMG │ │ │ ├── File.cs │ │ │ ├── Header.cs │ │ │ ├── TOC.cs │ │ │ └── TOCEntry.cs │ │ ├── IMGFileSystem.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── RPF │ │ │ ├── DirectoryEntry.cs │ │ │ ├── File.cs │ │ │ ├── FileEntry.cs │ │ │ ├── Header.cs │ │ │ ├── KnownFilenames.txt │ │ │ ├── MagicId.cs │ │ │ ├── TOC.cs │ │ │ └── TOCEntry.cs │ │ ├── RPFFileSystem.cs │ │ ├── Real │ │ │ ├── DirectoryEntry.cs │ │ │ ├── FileEntry.cs │ │ │ ├── RealContext.cs │ │ │ └── RealEntry.cs │ │ ├── RealFileSystem.cs │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ ├── RageLib.FileSystem.dll │ │ │ │ ├── RageLib.FileSystem.pdb │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── FileSystem.csproj.CoreCompileInputs.cache │ │ │ │ ├── FileSystem.csproj.FileListAbsolute.txt │ │ │ │ ├── FileSystem.csprojAssemblyReference.cache │ │ │ │ ├── RageLib.FileSystem.dll │ │ │ │ └── RageLib.FileSystem.pdb │ │ └── packages.config │ ├── HyperText │ │ ├── HyperText.csproj │ │ ├── HyperTextExport.cs │ │ ├── HyperTextFile.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Resource │ │ │ ├── File.cs │ │ │ ├── HtmlAttributeValue.cs │ │ │ ├── HtmlDocument.cs │ │ │ ├── HtmlNode.cs │ │ │ ├── HtmlNodeType.cs │ │ │ ├── HtmlRenderState.cs │ │ │ ├── HtmlTag.cs │ │ │ └── TextureInfo.cs │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ ├── RageLib.HyperText.dll │ │ │ │ ├── RageLib.HyperText.pdb │ │ │ │ ├── RageLib.Textures.dll │ │ │ │ ├── RageLib.Textures.pdb │ │ │ │ ├── libsquish.dll │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── HyperText.csproj.CoreCompileInputs.cache │ │ │ │ ├── HyperText.csproj.FileListAbsolute.txt │ │ │ │ ├── HyperText.csprojAssemblyReference.cache │ │ │ │ ├── RageLib.HyperText.dll │ │ │ │ └── RageLib.HyperText.pdb │ │ └── packages.config │ ├── Models │ │ ├── Data │ │ │ ├── Bone.cs │ │ │ ├── Drawable.cs │ │ │ ├── Geometry.cs │ │ │ ├── Material.cs │ │ │ ├── MaterialParam.cs │ │ │ ├── MaterialParamMatrix44.cs │ │ │ ├── MaterialParamTexture.cs │ │ │ ├── MaterialParamVector4.cs │ │ │ ├── Mesh.cs │ │ │ ├── Model.cs │ │ │ ├── PrimitiveType.cs │ │ │ ├── Skeleton.cs │ │ │ ├── Vertex.cs │ │ │ ├── VertexDeclaration.cs │ │ │ ├── VertexElement.cs │ │ │ ├── VertexElementMethod.cs │ │ │ ├── VertexElementType.cs │ │ │ └── VertexElementUsage.cs │ │ ├── Export │ │ │ ├── ExportFactory.cs │ │ │ ├── IExporter.cs │ │ │ └── StudiomdlExport.cs │ │ ├── IDataReader.cs │ │ ├── IEmbeddedResourceReader.cs │ │ ├── IModelFile.cs │ │ ├── Model3DViewer │ │ │ ├── MathUtils.cs │ │ │ ├── Matrix3DStack.cs │ │ │ ├── Model3DView.xaml │ │ │ ├── Model3DView.xaml.cs │ │ │ ├── ObjectTracker.cs │ │ │ ├── RenderMode.cs │ │ │ └── ScreenSpaceLines3D.cs │ │ ├── ModelDictionaryFile.cs │ │ ├── ModelFile.cs │ │ ├── ModelFragTypeFile.cs │ │ ├── ModelGenerator.cs │ │ ├── ModelNode.cs │ │ ├── ModelView.Designer.cs │ │ ├── ModelView.cs │ │ ├── ModelView.resx │ │ ├── ModelViewController.cs │ │ ├── Models.csproj │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ ├── Resource │ │ │ ├── DrawableModel.cs │ │ │ ├── DrawableModelDictionary.cs │ │ │ ├── File.cs │ │ │ ├── FragTypeModel.cs │ │ │ ├── Models │ │ │ │ ├── Geometry.cs │ │ │ │ ├── IndexBuffer.cs │ │ │ │ ├── Model.cs │ │ │ │ ├── VertexBuffer.cs │ │ │ │ ├── VertexDeclaration.cs │ │ │ │ ├── VertexElement.cs │ │ │ │ ├── VertexElementType.cs │ │ │ │ └── VertexElementUsage.cs │ │ │ ├── Shaders │ │ │ │ ├── IShaderParam.cs │ │ │ │ ├── ParamNameHash.cs │ │ │ │ ├── ParamObjectFactory.cs │ │ │ │ ├── ParamType.cs │ │ │ │ ├── Shader.cs │ │ │ │ ├── ShaderFx.cs │ │ │ │ ├── ShaderGroup.cs │ │ │ │ ├── ShaderParamMatrix.cs │ │ │ │ ├── ShaderParamTexture.cs │ │ │ │ └── ShaderParamVector4.cs │ │ │ └── Skeletons │ │ │ │ ├── Bone.cs │ │ │ │ ├── BoneIDMapping.cs │ │ │ │ └── Skeleton.cs │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ ├── RageLib.Models.dll │ │ │ │ ├── RageLib.Models.pdb │ │ │ │ ├── RageLib.Textures.dll │ │ │ │ ├── RageLib.Textures.pdb │ │ │ │ ├── libsquish.dll │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── Model3DViewer │ │ │ │ ├── Model3DView.baml │ │ │ │ ├── Model3DView.g.cs │ │ │ │ └── Model3DView.g.i.cs │ │ │ │ ├── Models.csproj.CoreCompileInputs.cache │ │ │ │ ├── Models.csproj.FileListAbsolute.txt │ │ │ │ ├── Models.csproj.GenerateResource.Cache │ │ │ │ ├── Models.csprojAssemblyReference.cache │ │ │ │ ├── RageLib.Models.ModelView.resources │ │ │ │ ├── RageLib.Models.Properties.Resources.resources │ │ │ │ ├── RageLib.Models.dll │ │ │ │ ├── RageLib.Models.g.resources │ │ │ │ ├── RageLib.Models.pdb │ │ │ │ ├── RageLib.Models_MarkupCompile.cache │ │ │ │ ├── RageLib.Models_MarkupCompile.i.cache │ │ │ │ └── TempPE │ │ │ │ └── Properties.Resources.Designer.cs.dll │ │ └── packages.config │ ├── RageLib.sln │ ├── Scripting │ │ ├── CodeFormat.cs │ │ ├── HLScript │ │ │ ├── CodePath.cs │ │ │ ├── ControlFlowAnalyzer.cs │ │ │ ├── Function.cs │ │ │ ├── HLInstruction.cs │ │ │ ├── ProcessedStackValueGroup.cs │ │ │ ├── ScriptProgram.cs │ │ │ ├── StackUseAnalyzer.cs │ │ │ ├── StackValue.cs │ │ │ ├── StackValueAssign.cs │ │ │ ├── StackValueAssignMulti.cs │ │ │ ├── StackValueDeref.cs │ │ │ ├── StackValueLiteral.cs │ │ │ ├── StackValueOperation.cs │ │ │ ├── StackValueOperationType.cs │ │ │ ├── StackValuePointerArray.cs │ │ │ ├── StackValuePointerBase.cs │ │ │ ├── StackValuePointerFake.cs │ │ │ ├── StackValuePointerIndex.cs │ │ │ ├── StackValuePointerType.cs │ │ │ ├── StackValuePointerVar.cs │ │ │ ├── StackValueRef.cs │ │ │ ├── StackValueStringOperation.cs │ │ │ └── StackValueType.cs │ │ ├── Output │ │ │ ├── CodePathOutput.cs │ │ │ ├── DecompileCFOutput.cs │ │ │ ├── DecompileFullOutput.cs │ │ │ ├── DecompileScruffHeaderOutput.cs │ │ │ ├── DecompileScruffOutput.cs │ │ │ ├── DisassembleOutput.cs │ │ │ ├── IOutputProvider.cs │ │ │ ├── OutputFactory.cs │ │ │ └── VariablesOutput.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Script │ │ │ ├── Decoder.cs │ │ │ ├── File.cs │ │ │ ├── Header.cs │ │ │ ├── Instruction.cs │ │ │ ├── InstructionBranch.cs │ │ │ ├── InstructionFnBegin.cs │ │ │ ├── InstructionFnEnd.cs │ │ │ ├── InstructionNative.cs │ │ │ ├── InstructionPush.cs │ │ │ ├── InstructionSwitch.cs │ │ │ ├── LiteralFormatter.cs │ │ │ ├── Natives.cs │ │ │ ├── NativesList.txt │ │ │ ├── OpCode.cs │ │ │ ├── StackUsage.cs │ │ │ └── StackUsageInfo.cs │ │ ├── ScriptFile.cs │ │ ├── Scripting.csproj │ │ ├── bin │ │ │ └── Debug │ │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ │ ├── Ookii.Dialogs.dll │ │ │ │ ├── RageLib.Common.dll │ │ │ │ ├── RageLib.Common.pdb │ │ │ │ ├── RageLib.Scripting.dll │ │ │ │ ├── RageLib.Scripting.pdb │ │ │ │ └── ragezip.dll │ │ ├── obj │ │ │ └── Debug │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── RageLib.Scripting.dll │ │ │ │ ├── RageLib.Scripting.pdb │ │ │ │ ├── Scripting.csproj.CoreCompileInputs.cache │ │ │ │ ├── Scripting.csproj.FileListAbsolute.txt │ │ │ │ └── Scripting.csprojAssemblyReference.cache │ │ └── packages.config │ ├── Shaders │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Shader.cs │ │ ├── ShaderFX │ │ │ ├── CompiledShaderFX.cs │ │ │ ├── File.cs │ │ │ ├── PixelShader.cs │ │ │ ├── VariableDefinition.cs │ │ │ ├── Variables.cs │ │ │ └── VertexShader.cs │ │ ├── ShaderFile.cs │ │ ├── ShaderType.cs │ │ └── Shaders.csproj │ ├── SharedAssemblyInfo.cs │ └── Textures │ │ ├── Decoder │ │ ├── DXTDecoder.cs │ │ └── TextureDecoder.cs │ │ ├── Encoder │ │ ├── DXTEncoder.cs │ │ ├── Squish.cs │ │ └── TextureEncoder.cs │ │ ├── Filter │ │ ├── ChannelFilter.cs │ │ ├── IFilter.cs │ │ └── ImageChannel.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── Resource │ │ ├── D3DFormat.cs │ │ ├── File.cs │ │ ├── Header.cs │ │ └── TextureInfo.cs │ │ ├── Texture.cs │ │ ├── TextureEditController.cs │ │ ├── TextureEditView.Designer.cs │ │ ├── TextureEditView.cs │ │ ├── TextureEditView.resx │ │ ├── TextureFile.cs │ │ ├── TexturePreviewController.cs │ │ ├── TexturePreviewView.Designer.cs │ │ ├── TexturePreviewView.cs │ │ ├── TexturePreviewView.resx │ │ ├── TextureType.cs │ │ ├── TextureView.Designer.cs │ │ ├── TextureView.cs │ │ ├── TextureView.resx │ │ ├── TextureViewController.cs │ │ ├── Textures.csproj │ │ ├── bin │ │ └── Debug │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ ├── Ookii.Dialogs.dll │ │ │ ├── RageLib.Common.dll │ │ │ ├── RageLib.Common.pdb │ │ │ ├── RageLib.Textures.dll │ │ │ ├── RageLib.Textures.pdb │ │ │ ├── libsquish.dll │ │ │ └── ragezip.dll │ │ ├── obj │ │ └── Debug │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── RageLib.Textures.TextureEditView.resources │ │ │ ├── RageLib.Textures.TexturePreviewView.resources │ │ │ ├── RageLib.Textures.TextureView.resources │ │ │ ├── RageLib.Textures.dll │ │ │ ├── RageLib.Textures.pdb │ │ │ ├── Textures.csproj.CoreCompileInputs.cache │ │ │ ├── Textures.csproj.FileListAbsolute.txt │ │ │ ├── Textures.csproj.GenerateResource.Cache │ │ │ └── Textures.csprojAssemblyReference.cache │ │ └── packages.config ├── Resoursaur │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resoursaur.csproj │ └── Resoursaur.sln ├── Scruff │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Scruff.csproj │ └── Scruff.sln ├── SparkIV │ ├── Config │ │ ├── SparkIVConfig.cs │ │ ├── Value │ │ │ ├── Config.cs │ │ │ └── ExtensionType.cs │ │ └── XmlPersister.cs │ ├── Editor │ │ ├── EditorForm.cs │ │ ├── EditorForm.designer.cs │ │ ├── EditorForm.resx │ │ ├── Editors.cs │ │ ├── ExternalEditor.cs │ │ ├── IDynamicEditor.cs │ │ ├── IEditor.cs │ │ ├── SparkIVEditor.cs │ │ └── Textures │ │ │ ├── EmbeddedTextureEditor.cs │ │ │ ├── HyperTextTextureEditor.cs │ │ │ ├── ModelTextureEditor.cs │ │ │ └── TextureEditor.cs │ ├── ListViewItemComparer.cs │ ├── MainForm.cs │ ├── MainForm.designer.cs │ ├── MainForm.resx │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── SparkIV.manifest │ │ └── app.manifest │ ├── SparkIV.Config.xml │ ├── SparkIV.csproj │ ├── SparkIV.csproj.user │ ├── SparkIV.sln │ ├── SparkIV_TemporaryKey.pfx │ ├── Updater.cs │ ├── Viewer │ │ ├── Audio │ │ │ └── AudioViewer.cs │ │ ├── HyperText │ │ │ └── HyperTextViewer.cs │ │ ├── IViewer.cs │ │ ├── Models │ │ │ ├── ModelDictionaryViewer.cs │ │ │ ├── ModelFragTypeViewer.cs │ │ │ └── ModelViewer.cs │ │ ├── Script │ │ │ ├── Format │ │ │ │ ├── CLikeFormat.cs │ │ │ │ ├── CodeFormat.cs │ │ │ │ └── SourceFormat.cs │ │ │ ├── ScriptView.cs │ │ │ ├── ScriptView.designer.cs │ │ │ ├── ScriptView.resx │ │ │ ├── ScriptViewer.cs │ │ │ └── ScruffFormat.cs │ │ ├── TextViewer.cs │ │ ├── Textures │ │ │ └── TextureViewer.cs │ │ ├── ViewerForm.cs │ │ ├── ViewerForm.designer.cs │ │ ├── ViewerForm.resx │ │ ├── Viewers.cs │ │ └── Xml │ │ │ ├── XmlViewer.cs │ │ │ └── defaultss.xslt │ ├── WaitCursor.cs │ ├── app.config │ ├── bin │ │ └── Debug │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ ├── Ookii.Dialogs.dll │ │ │ ├── RageLib.Audio.dll │ │ │ ├── RageLib.Audio.pdb │ │ │ ├── RageLib.Common.dll │ │ │ ├── RageLib.Common.pdb │ │ │ ├── RageLib.FileSystem.Common.Directory │ │ │ ├── RageLib.FileSystem.dll │ │ │ ├── RageLib.FileSystem.pdb │ │ │ ├── RageLib.HyperText.dll │ │ │ ├── RageLib.HyperText.pdb │ │ │ ├── RageLib.Models.dll │ │ │ ├── RageLib.Models.pdb │ │ │ ├── RageLib.Scripting.dll │ │ │ ├── RageLib.Scripting.pdb │ │ │ ├── RageLib.Textures.dll │ │ │ ├── RageLib.Textures.pdb │ │ │ ├── SparkIV.Config.xml │ │ │ ├── SparkIV.exe │ │ │ ├── SparkIV.exe.config │ │ │ ├── SparkIV.pdb │ │ │ ├── SparkIV.vshost.exe │ │ │ ├── SparkIV.vshost.exe.config │ │ │ ├── libsquish.dll │ │ │ └── ragezip.dll │ ├── obj │ │ └── Debug │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── SparkIV.Editor.EditorForm.resources │ │ │ ├── SparkIV.MainForm.resources │ │ │ ├── SparkIV.Properties.Resources.resources │ │ │ ├── SparkIV.Viewer.Script.ScriptView.resources │ │ │ ├── SparkIV.Viewer.ViewerForm.resources │ │ │ ├── SparkIV.csproj.CoreCompileInputs.cache │ │ │ ├── SparkIV.csproj.FileListAbsolute.txt │ │ │ ├── SparkIV.csproj.GenerateResource.cache │ │ │ ├── SparkIV.csprojAssemblyReference.cache │ │ │ ├── SparkIV.exe │ │ │ ├── SparkIV.pdb │ │ │ └── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ ├── packages.config │ └── packages │ │ └── MaterialSkin.0.2.1 │ │ ├── MaterialSkin.0.2.1.nupkg │ │ └── lib │ │ └── MaterialSkin.dll └── Vendor │ ├── ICSharpCode.SharpZipLib.dll │ ├── libsquish.dll │ └── ragezip.dll ├── SparkIV 0.8.0.zip ├── SparkIV 0.8.1.zip ├── _config.yml └── appveyor.yml /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | -------------------------------------------------------------------------------- /Config/url.txt: -------------------------------------------------------------------------------- 1 | https://github.com/ahmed605/SparkIV/releases/download/v0.8.56/Beta.zip 2 | -------------------------------------------------------------------------------- /Config/version.txt: -------------------------------------------------------------------------------- 1 | 0.8.56 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SparkIV 2 | SparkIV by aru & Ahmed Walid 3 | 4 | [![Build status](https://ci.appveyor.com/api/projects/status/imsh1gv0tdk8k7n9/branch/master?svg=true)](https://ci.appveyor.com/project/ahmed605/sparkiv/branch/master) 5 | 6 | ## Downloads 7 | https://github.com/ahmed605/SparkIV/releases 8 | 9 | ## Changelog 10 | 11 | ### What's new in v0.8.56 (Beta) 12 | 13 | * Fix Update checker returning old version. 14 | 15 | ### What's new in v0.8.52 (Beta) 16 | 17 | * Added the support for GTA IV (Complete Edition) v1.2.0.32 (for Steam and non-Steam versions). 18 | 19 | ### What's New In V0.8.1 (Beta) 20 | 21 | * Added partial Darg & Drop support. 22 | 23 | * New update system. 24 | 25 | * Improved support for **GTA IV** ***1.0.8.0*** & **EFLC** ***1.1.3.0***. 26 | 27 | * Added fallback folder browser dialog for selecting game folder if the ***registry path*** was deleted. 28 | 29 | * Added file deleting ability by clicking (***Delete Key***) in the keyboard. 30 | 31 | ### What's New In V0.8.0 (Beta) 32 | 33 | * New icons 34 | 35 | * Support for GTA IV 1.0.8.0 & GTA EFLC 1.1.3.0 36 | 37 | * Windows 10+ Support 38 | 39 | * New style 40 | 41 | * Fixed some bugs 42 | 43 | * Initial drag & drop support (WIP) 44 | 45 | * Fix checking for updates not working 46 | 47 | ![](https://img.gta5-mods.com/q75/images/gta-iv-loading-tune/1cf10b-Grand-Theft-Auto-IV-Logo.svg.png) 48 | -------------------------------------------------------------------------------- /SRC/EFLC.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/EFLC.ico -------------------------------------------------------------------------------- /SRC/GTAIV.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/GTAIV.ico -------------------------------------------------------------------------------- /SRC/RageLib/Audio/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | 28 | [assembly: AssemblyTitle("RageLib.Audio")] 29 | 30 | // Setting ComVisible to false makes the types in this assembly not visible 31 | // to COM components. If you need to access a type in this assembly from 32 | // COM, set the ComVisible attribute to true on that type. 33 | 34 | [assembly: ComVisible(false)] 35 | 36 | // The following GUID is for the ID of the typelib if this project is exposed to COM 37 | 38 | [assembly: Guid("2395269c-a143-45a0-b96f-d19c52eb69f8")] 39 | 40 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/SoundBank/IMultichannelSound.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Audio.WaveFile; 23 | 24 | namespace RageLib.Audio.SoundBank 25 | { 26 | interface IMultichannelSound 27 | { 28 | void ExportMultichannelAsPCM(Stream soundBankStream, Stream outStream); 29 | int CommonSamplesPerSecond { get; } 30 | string CommonFilename { get; } 31 | ChannelMask ChannelMask { get; } 32 | bool SupportsMultichannelExport { get; } 33 | } 34 | } -------------------------------------------------------------------------------- /SRC/RageLib/Audio/SoundBank/ISoundBank.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common; 23 | 24 | namespace RageLib.Audio.SoundBank 25 | { 26 | interface ISoundBank : IFileAccess 27 | { 28 | int WaveCount { get; } 29 | ISoundWave this[int index] { get; } 30 | void ExportAsPCM(int index, Stream soundBankStream, Stream outStream); 31 | int ExportWaveBlockAsPCM(int waveIndex, int blockIndex, ref DviAdpcmDecoder.AdpcmState state, Stream soundBankStream, Stream outStream); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/SoundBank/ISoundWave.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Audio.SoundBank 22 | { 23 | interface ISoundWave 24 | { 25 | string Name { get; } 26 | int NumberOfSamples { get; } 27 | int SamplesPerSecond { get; } 28 | int BlockSize { get; } 29 | int BlockCount { get; } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/SoundBank/SoundBankException.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | 23 | namespace RageLib.Audio.SoundBank 24 | { 25 | class SoundBankException : Exception 26 | { 27 | public SoundBankException() 28 | { 29 | } 30 | 31 | public SoundBankException(string message) : base(message) 32 | { 33 | } 34 | 35 | public SoundBankException(string message, Exception innerException) : base(message, innerException) 36 | { 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/WaveFile/ChannelMask.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Audio 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | 23 | namespace RageLib.Audio.WaveFile 24 | { 25 | [Flags] 26 | internal enum ChannelMask 27 | { 28 | Invalid = 0x0, 29 | SpeakerFrontLeft = 0x1, 30 | SpeakerFrontRight = 0x2, 31 | SpeakerFrontCenter = 0x4, 32 | SpeakerLowFrequency = 0x8, 33 | SpeakerBackLeft = 0x10, 34 | SpeakerBackRight = 0x20, 35 | SpeakerFrontLeftOfCenter = 0x40, 36 | SpeakerFrontRightOfCenter = 0x80, 37 | SpeakerBackCenter = 0x100, 38 | SpeakerSideLeft = 0x200, 39 | SpeakerSideRight = 0x400, 40 | SpeakerTopCenter = 0x800, 41 | SpeakerTopFrontLeft = 0x1000, 42 | SpeakerTopFrontCenter = 0x2000, 43 | SpeakerTopFrontRight = 0x4000, 44 | SpeakerTopBackLeft = 0x8000, 45 | SpeakerTopBackCenter = 0x10000, 46 | SpeakerTopBackRight = 0x20000, 47 | } 48 | } -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/RageLib.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/RageLib.Audio.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/RageLib.Audio.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/RageLib.Audio.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Audio/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/Audio.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 4d5141b784ffecffd5a7bfecba7446f78a9f0ec4 2 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/Audio.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\RageLib.Audio.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\RageLib.Audio.pdb 4 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\RageLib.Common.dll 5 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\ICSharpCode.SharpZipLib.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\RageLib.Common.pdb 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\RageLib.Audio.AudioView.resources 8 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\RageLib.Audio.Properties.Resources.resources 9 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\Audio.csproj.GenerateResource.Cache 10 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\RageLib.Audio.dll 11 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\RageLib.Audio.pdb 12 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\Audio.csprojAssemblyReference.cache 13 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\Audio.csproj.CoreCompileInputs.cache 14 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\obj\Debug\Audio.csproj.CopyComplete 15 | F:\برامج pc\gtaivtools\trunk\RageLib\Audio\bin\Debug\Ookii.Dialogs.dll 16 | -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/Audio.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/Audio.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/Audio.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/Audio.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/RageLib.Audio.AudioView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/RageLib.Audio.AudioView.resources -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/RageLib.Audio.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/RageLib.Audio.Properties.Resources.resources -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/RageLib.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/RageLib.Audio.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/RageLib.Audio.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/RageLib.Audio.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Audio/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Audio/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Audio/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/Compression/CompressionCodecFactory.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Common.Compression 22 | { 23 | internal static class CompressionCodecFactory 24 | { 25 | public static readonly ICompressionCodec LZX = new CompressionLZXCodec(); 26 | public static readonly ICompressionCodec Deflate = new CompressionDeflateCodec(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/Compression/ICompressionCodec.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Common.Compression 24 | { 25 | internal interface ICompressionCodec 26 | { 27 | void Compress(Stream source, Stream destination); 28 | void Decompress(Stream source, Stream destination); 29 | } 30 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/IFileAccess.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Common 24 | { 25 | public interface IFileAccess 26 | { 27 | void Read(BinaryReader br); 28 | void Write(BinaryWriter bw); 29 | } 30 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | 28 | [assembly : AssemblyTitle("RageLib.Common")] 29 | 30 | // Setting ComVisible to false makes the types in this assembly not visible 31 | // to COM components. If you need to access a type in this assembly from 32 | // COM, set the ComVisible attribute to true on that type. 33 | 34 | [assembly : ComVisible(false)] 35 | 36 | // The following GUID is for the ID of the typelib if this project is exposed to COM 37 | 38 | [assembly : Guid("0b3fe9df-7f5b-4c83-bc44-da1dd8d8da4c")] 39 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/ResourceTypes/DATBase.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Common.ResourceTypes 24 | { 25 | // datBase 26 | public class DATBase : IFileAccess 27 | { 28 | public KnownVTable VTable { get; set; } 29 | 30 | #region Implementation of IFileAccess 31 | 32 | public void Read(BinaryReader br) 33 | { 34 | VTable = (KnownVTable) br.ReadInt32(); 35 | } 36 | 37 | public void Write(BinaryWriter bw) 38 | { 39 | bw.Write((int) VTable); 40 | } 41 | 42 | #endregion 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/ResourceTypes/PGBase.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common.Resources; 23 | 24 | namespace RageLib.Common.ResourceTypes 25 | { 26 | public class PGBase : DATBase, IFileAccess 27 | { 28 | public uint BlockMapAddress { get; set; } 29 | 30 | #region Implementation of IFileAccess 31 | 32 | public new void Read(BinaryReader br) 33 | { 34 | base.Read(br); 35 | BlockMapAddress = ResourceUtil.ReadOffset(br); 36 | } 37 | 38 | public new void Write(BinaryWriter bw) 39 | { 40 | base.Write(bw); 41 | bw.Write(BlockMapAddress); 42 | } 43 | 44 | #endregion 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/ResourceTypes/UnDocData.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Common.ResourceTypes 24 | { 25 | public class UnDocData : IFileAccess 26 | { 27 | public UnDocData() 28 | { 29 | 30 | } 31 | 32 | public UnDocData(BinaryReader br) 33 | { 34 | Read(br); 35 | } 36 | 37 | #region Implementation of IFileAccess 38 | 39 | public void Read(BinaryReader br) 40 | { 41 | } 42 | 43 | public void Write(BinaryWriter bw) 44 | { 45 | } 46 | 47 | #endregion 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/ResourceTypes/Vector2.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.IO; 23 | 24 | namespace RageLib.Common.ResourceTypes 25 | { 26 | public struct Vector2 : IFileAccess 27 | { 28 | public float X { get; set; } 29 | public float Y { get; set; } 30 | 31 | public Vector2(float x, float y) : this() 32 | { 33 | X = x; 34 | Y = y; 35 | } 36 | 37 | public Vector2(BinaryReader br) : this() 38 | { 39 | Read(br); 40 | } 41 | 42 | public void Read(BinaryReader br) 43 | { 44 | X = br.ReadSingle(); 45 | Y = br.ReadSingle(); 46 | } 47 | 48 | public void Write(BinaryWriter bw) 49 | { 50 | throw new NotImplementedException(); 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/ResourceTypes/Vector3.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.IO; 23 | 24 | namespace RageLib.Common.ResourceTypes 25 | { 26 | public struct Vector3 : IFileAccess 27 | { 28 | public float X { get; set; } 29 | public float Y { get; set; } 30 | public float Z { get; set; } 31 | 32 | public Vector3(float x, float y, float z) : this() 33 | { 34 | X = x; 35 | Y = y; 36 | Z = z; 37 | } 38 | 39 | public Vector3(BinaryReader br) : this() 40 | { 41 | Read(br); 42 | } 43 | 44 | public void Read(BinaryReader br) 45 | { 46 | X = br.ReadSingle(); 47 | Y = br.ReadSingle(); 48 | Z = br.ReadSingle(); 49 | } 50 | 51 | public void Write(BinaryWriter bw) 52 | { 53 | throw new NotImplementedException(); 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/Resources/CompressionType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Common.Resources 22 | { 23 | public enum CompressionType 24 | { 25 | LZX = 0xF505, 26 | Deflate = 0xDA78, 27 | } 28 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/Resources/ResourceType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | 23 | namespace RageLib.Common.Resources 24 | { 25 | [Obfuscation(StripAfterObfuscation = true, ApplyToMembers = true, Exclude = true)] 26 | public enum ResourceType 27 | { 28 | TextureXBOX = 0x7, // xtd 29 | ModelXBOX = 0x6D, // xdr 30 | Generic = 0x01, // xhm / xad (Generic files as rsc?) 31 | Bounds = 0x20, // xbd, wbd 32 | Particles = 0x24, // xpfl 33 | Particles2 = 0x1B, // xpfl 34 | 35 | Texture = 0x8, // wtd 36 | Model = 0x6E, // wdr 37 | ModelFrag = 0x70, //wft 38 | } 39 | } -------------------------------------------------------------------------------- /SRC/RageLib/Common/StreamContext.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.IO; 23 | 24 | namespace RageLib.Common 25 | { 26 | public class StreamContext : IDisposable 27 | { 28 | private long _position; 29 | private Stream _stream; 30 | 31 | public StreamContext(BinaryReader br) 32 | : this(br.BaseStream) 33 | { 34 | } 35 | 36 | public StreamContext(Stream stream) 37 | { 38 | _stream = stream; 39 | _position = stream.Position; 40 | } 41 | 42 | #region Implementation of IDisposable 43 | 44 | public void Dispose() 45 | { 46 | _stream.Position = _position; 47 | } 48 | 49 | #endregion 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/Common/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Common/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Common/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Common/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/Common.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 6fcb4a5c2b8e89d2a7ee63160319c6848120e446 2 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/Common.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\bin\Debug\RageLib.Common.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\bin\Debug\RageLib.Common.pdb 4 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\bin\Debug\ICSharpCode.SharpZipLib.dll 5 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\obj\Debug\RageLib.Common.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\obj\Debug\RageLib.Common.pdb 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\obj\Debug\Common.csprojAssemblyReference.cache 8 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\obj\Debug\Common.csproj.CoreCompileInputs.cache 9 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\obj\Debug\Common.csproj.CopyComplete 10 | F:\برامج pc\gtaivtools\trunk\RageLib\Common\bin\Debug\Ookii.Dialogs.dll 11 | -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/Common.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/obj/Debug/Common.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/obj/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Common/obj/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Common/obj/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Common/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/Common/FSObject.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.FileSystem.Common 22 | { 23 | public abstract class FSObject 24 | { 25 | public string Name { get; set; } 26 | public Directory ParentDirectory { get; set; } 27 | 28 | public string FullName { 29 | get 30 | { 31 | if (ParentDirectory == null) 32 | { 33 | return Name; 34 | } 35 | else 36 | { 37 | return ParentDirectory.FullName + @"\" + Name; 38 | } 39 | } 40 | } 41 | 42 | public abstract bool IsDirectory { get; } 43 | } 44 | } -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | 28 | [assembly : AssemblyTitle("RageLib.FileSystem")] 29 | 30 | // Setting ComVisible to false makes the types in this assembly not visible 31 | // to COM components. If you need to access a type in this assembly from 32 | // COM, set the ComVisible attribute to true on that type. 33 | 34 | [assembly : ComVisible(false)] 35 | 36 | // The following GUID is for the ID of the typelib if this project is exposed to COM 37 | 38 | [assembly : Guid("f400ac26-a2bb-4bdb-9f5d-9e244eb6ef51")] 39 | -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/RPF/MagicId.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | 23 | namespace RageLib.FileSystem.RPF 24 | { 25 | internal enum MagicId 26 | { 27 | //Version0 = 0x30465052, 28 | //Version1 = 0x31465052, 29 | Version2 = 0x32465052, 30 | Version3 = 0x33465052, 31 | } 32 | } -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/RPF/TOCEntry.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common; 23 | 24 | namespace RageLib.FileSystem.RPF 25 | { 26 | internal abstract class TOCEntry : IFileAccess 27 | { 28 | public int NameOffset { get; set; } 29 | public TOC TOC { get; set; } 30 | 31 | public abstract bool IsDirectory { get; } 32 | 33 | #region IFileAccess Members 34 | 35 | public abstract void Read(BinaryReader br); 36 | public abstract void Write(BinaryWriter bw); 37 | 38 | #endregion 39 | 40 | internal static bool ReadAsDirectoryEntry(BinaryReader br) 41 | { 42 | bool dir; 43 | 44 | br.BaseStream.Seek(8, SeekOrigin.Current); 45 | dir = br.ReadInt32() < 0; 46 | br.BaseStream.Seek(-12, SeekOrigin.Current); 47 | 48 | return dir; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/Real/RealContext.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.FileSystem.Real 24 | { 25 | class RealContext 26 | { 27 | private readonly DirectoryInfo _directory; 28 | 29 | public DirectoryEntry RootDirectory { get; private set; } 30 | 31 | public RealContext(DirectoryInfo directory) 32 | { 33 | _directory = directory; 34 | RootDirectory = new DirectoryEntry(this, _directory); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/Real/RealEntry.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.FileSystem.Real 22 | { 23 | internal abstract class RealEntry 24 | { 25 | public RealContext Context { get; set; } 26 | 27 | public abstract bool IsDirectory { get; } 28 | 29 | public abstract string Name { get; } 30 | } 31 | } -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/RageLib.FileSystem.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/RageLib.FileSystem.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/RageLib.FileSystem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/RageLib.FileSystem.pdb -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/FileSystem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 7bfff2d0ce2b8fcb058e39dc69f3b82d7a67ada9 2 | -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/FileSystem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\RageLib.FileSystem.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\RageLib.FileSystem.pdb 4 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\RageLib.Common.dll 5 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\ICSharpCode.SharpZipLib.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\RageLib.Common.pdb 7 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\obj\Debug\RageLib.FileSystem.dll 8 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\obj\Debug\RageLib.FileSystem.pdb 9 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\obj\Debug\FileSystem.csprojAssemblyReference.cache 10 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\obj\Debug\FileSystem.csproj.CoreCompileInputs.cache 11 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\obj\Debug\FileSystem.csproj.CopyComplete 12 | F:\برامج pc\gtaivtools\trunk\RageLib\FileSystem\bin\Debug\Ookii.Dialogs.dll 13 | -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/FileSystem.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/obj/Debug/FileSystem.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/RageLib.FileSystem.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/obj/Debug/RageLib.FileSystem.dll -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/obj/Debug/RageLib.FileSystem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/FileSystem/obj/Debug/RageLib.FileSystem.pdb -------------------------------------------------------------------------------- /SRC/RageLib/FileSystem/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | 28 | [assembly: AssemblyTitle("RageLib.HyperText")] 29 | 30 | // Setting ComVisible to false makes the types in this assembly not visible 31 | // to COM components. If you need to access a type in this assembly from 32 | // COM, set the ComVisible attribute to true on that type. 33 | [assembly: ComVisible(false)] 34 | 35 | // The following GUID is for the ID of the typelib if this project is exposed to COM 36 | [assembly: Guid("bdc2d537-6af6-48b6-8e38-f196a45e2f3f")] 37 | -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/Resource/HtmlNodeType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - HyperText 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.HyperText.Resource 22 | { 23 | enum HtmlNodeType 24 | { 25 | HtmlElementNode = 0, 26 | HtmlDataNode = 1, 27 | HtmlTableNode = 2, 28 | HtmlTableElementNode = 3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.HyperText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.HyperText.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.HyperText.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.HyperText.pdb -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.Textures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.Textures.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/RageLib.Textures.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/RageLib.Textures.pdb -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/libsquish.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/libsquish.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/HyperText.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | c10d66a6176bd34432cc5a8d54779f6cd918d5cc 2 | -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/HyperText.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\libsquish.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.HyperText.dll 4 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.HyperText.pdb 5 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.Common.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.Textures.dll 7 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\ICSharpCode.SharpZipLib.dll 8 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.Common.pdb 9 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\RageLib.Textures.pdb 10 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\obj\Debug\RageLib.HyperText.dll 11 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\obj\Debug\RageLib.HyperText.pdb 12 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\obj\Debug\HyperText.csprojAssemblyReference.cache 13 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\obj\Debug\HyperText.csproj.CoreCompileInputs.cache 14 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\obj\Debug\HyperText.csproj.CopyComplete 15 | F:\برامج pc\gtaivtools\trunk\RageLib\HyperText\bin\Debug\Ookii.Dialogs.dll 16 | -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/HyperText.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/obj/Debug/HyperText.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/RageLib.HyperText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/obj/Debug/RageLib.HyperText.dll -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/obj/Debug/RageLib.HyperText.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/HyperText/obj/Debug/RageLib.HyperText.pdb -------------------------------------------------------------------------------- /SRC/RageLib/HyperText/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/Geometry.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Collections.Generic; 22 | 23 | namespace RageLib.Models.Data 24 | { 25 | public class Geometry 26 | { 27 | public List Meshes { get; private set; } 28 | 29 | internal Geometry(Resource.Models.Model info) 30 | { 31 | int index = 0; 32 | Meshes = new List(info.Geometries.Count); 33 | foreach (var dataInfo in info.Geometries) 34 | { 35 | var mesh = new Mesh(dataInfo); 36 | mesh.MaterialIndex = info.ShaderMappings[index++]; 37 | Meshes.Add(mesh); 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/Material.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Collections.Generic; 22 | using RageLib.Models.Resource.Shaders; 23 | 24 | namespace RageLib.Models.Data 25 | { 26 | public class Material 27 | { 28 | public string ShaderName { get; private set; } 29 | public Dictionary Parameters { get; private set; } 30 | 31 | internal Material(ShaderFx info) 32 | { 33 | ShaderName = info.ShaderName; 34 | 35 | Parameters = new Dictionary(info.ShaderParamCount); 36 | foreach (var data in info.ShaderParams) 37 | { 38 | Parameters.Add((uint) data.Key, MaterialParam.Create((uint) data.Key, data.Value)); 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/MaterialParamMatrix44.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using RageLib.Common.ResourceTypes; 22 | using RageLib.Models.Resource.Shaders; 23 | 24 | namespace RageLib.Models.Data 25 | { 26 | public class MaterialParamMatrix44 : MaterialParam 27 | { 28 | public Matrix44 Matrix { get; private set; } 29 | 30 | internal MaterialParamMatrix44(uint hash, ShaderParamMatrix matrix) 31 | : base(hash) 32 | { 33 | Matrix = matrix.Data; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/MaterialParamTexture.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using RageLib.Models.Resource.Shaders; 22 | 23 | namespace RageLib.Models.Data 24 | { 25 | public class MaterialParamTexture : MaterialParam 26 | { 27 | public string TextureName { get; private set; } 28 | 29 | internal MaterialParamTexture(uint hash, ShaderParamTexture texture) 30 | : base(hash) 31 | { 32 | TextureName = texture.TextureName; 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/MaterialParamVector4.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using RageLib.Common.ResourceTypes; 22 | using RageLib.Models.Resource.Shaders; 23 | 24 | namespace RageLib.Models.Data 25 | { 26 | public class MaterialParamVector4 : MaterialParam 27 | { 28 | public Vector4 Value { get; private set; } 29 | 30 | internal MaterialParamVector4(uint hash, ShaderParamVector4 vector) 31 | : base(hash) 32 | { 33 | Value = vector.Data; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/Model.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Collections.Generic; 22 | using RageLib.Common.ResourceTypes; 23 | 24 | namespace RageLib.Models.Data 25 | { 26 | public class Model 27 | { 28 | public List Geometries { get; private set; } 29 | 30 | internal Model(PtrCollection infos) 31 | { 32 | Geometries = new List(infos.Count); 33 | foreach (var info in infos) 34 | { 35 | Geometries.Add(new Geometry(info)); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/PrimitiveType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Data 22 | { 23 | public enum PrimitiveType 24 | { 25 | PointList, 26 | LineList, 27 | LineStrip, 28 | TriangleList, 29 | TriangleStrip, 30 | TriangleFan, 31 | } 32 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/VertexElementMethod.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Data 22 | { 23 | public enum VertexElementMethod 24 | { 25 | Default = 0, 26 | PartialU = 1, 27 | PartialV = 2, 28 | CrossUV = 3, 29 | UV = 4, 30 | Lookup = 5, 31 | LookupPresampled = 6, 32 | } 33 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/VertexElementType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Data 22 | { 23 | public enum VertexElementType 24 | { 25 | Float1 = 0, 26 | Float2 = 1, 27 | Float3 = 2, 28 | Float4 = 3, 29 | Color = 4, 30 | UByte4 = 5, 31 | Short2 = 6, 32 | Short4 = 7, 33 | UByte4N = 8, 34 | Short2N = 9, 35 | Short4N = 10, 36 | UShort2N = 11, 37 | UShort4N = 12, 38 | UDec3 = 13, 39 | Dec3N = 14, 40 | Float16_2 = 15, 41 | Float16_4 = 16, 42 | Unused = 17, 43 | } 44 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Data/VertexElementUsage.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Data 22 | { 23 | public enum VertexElementUsage 24 | { 25 | Position = 0, 26 | BlendWeight = 1, 27 | BlendIndices = 2, 28 | Normal = 3, 29 | PointSize = 4, 30 | TextureCoordinate = 5, 31 | Tangent = 6, 32 | Binormal = 7, 33 | TesselateFactor = 8, 34 | PositionT = 9, 35 | Color = 10, 36 | Fog = 11, 37 | Depth = 12, 38 | Sample = 13, 39 | } 40 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Export/IExporter.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Export 22 | { 23 | public interface IExporter 24 | { 25 | string Name { get; } 26 | string Extension { get; } 27 | 28 | void Export(ModelNode node, string filename); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/IDataReader.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Models 24 | { 25 | interface IDataReader 26 | { 27 | void ReadData(BinaryReader br); 28 | } 29 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/IEmbeddedResourceReader.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Models 24 | { 25 | internal interface IEmbeddedResourceReader 26 | { 27 | void ReadEmbeddedResources(Stream systemMemory, Stream graphicsMemory); 28 | } 29 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/IModelFile.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.IO; 23 | using RageLib.Textures; 24 | 25 | namespace RageLib.Models 26 | { 27 | public interface IModelFile : IDisposable 28 | { 29 | void Open(string filename); 30 | void Open(Stream stream); 31 | ModelNode GetModel(TextureFile[] textures); 32 | } 33 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Model3DViewer/RenderMode.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Model3DViewer 22 | { 23 | public enum RenderMode 24 | { 25 | Solid, 26 | Wireframe, 27 | SolidNormals, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | 28 | [assembly: AssemblyTitle("RageLib.Models")] 29 | 30 | // Setting ComVisible to false makes the types in this assembly not visible 31 | // to COM components. If you need to access a type in this assembly from 32 | // COM, set the ComVisible attribute to true on that type. 33 | [assembly: ComVisible(false)] 34 | 35 | // The following GUID is for the ID of the typelib if this project is exposed to COM 36 | [assembly: Guid("66a2fc83-9957-44ae-9917-58948779f789")] 37 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Models/VertexElement.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Resource.Models 22 | { 23 | internal struct VertexElement 24 | { 25 | public int StreamIndex; 26 | public VertexElementUsage Usage; 27 | public int UsageIndex; 28 | public int Size; 29 | public VertexElementType Type; 30 | /* 31 | // The following fields are used for some other purposes, and we don't really need them here 32 | public int F14; 33 | public short F18; 34 | public short F1A; 35 | */ 36 | } 37 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Models/VertexElementType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Resource.Models 22 | { 23 | internal enum VertexElementType 24 | { 25 | Float16_1 = 0, 26 | Float16_2 = 1, 27 | Float16_3 = 2, 28 | Float16_4 = 3, 29 | Float1 = 4, 30 | Float2 = 5, 31 | Float3 = 6, 32 | Float4 = 7, 33 | UByte4 = 8, 34 | Color = 9, 35 | Dec3N = 10, 36 | UByte4_ = 11, 37 | Unknown1 = 12, 38 | Unknown2 = 13, 39 | Unknown3 = 14, 40 | Unknown4 = 15, 41 | } 42 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Models/VertexElementUsage.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Resource.Models 22 | { 23 | internal enum VertexElementUsage 24 | { 25 | Position = 0, 26 | PositionT = 1, 27 | Normal = 2, 28 | Binormal = 3, 29 | Tangent = 4, 30 | TextureCoordinate = 5, 31 | BlendWeight = 6, 32 | BlendIndices = 7, 33 | Color = 8, 34 | Unknown1 = 9, 35 | Unknown2 = 10, 36 | Unknown3 = 11, 37 | } 38 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/IShaderParam.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using RageLib.Common; 22 | 23 | namespace RageLib.Models.Resource.Shaders 24 | { 25 | internal interface IShaderParam : IFileAccess 26 | { 27 | } 28 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ParamNameHash.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Resource.Shaders 22 | { 23 | public enum ParamNameHash 24 | { 25 | Texture = 0x2b5170fd, 26 | SpecularTexture = 0x608799c6, 27 | NormalTexture = 0x46b7c64f, 28 | } 29 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ParamObjectFactory.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | 23 | namespace RageLib.Models.Resource.Shaders 24 | { 25 | internal static class ParamObjectFactory 26 | { 27 | public static IShaderParam Create(ParamType type) 28 | { 29 | switch(type) 30 | { 31 | case ParamType.Texture: 32 | return new ShaderParamTexture(); 33 | case ParamType.Vector4: 34 | return new ShaderParamVector4(); 35 | case ParamType.Matrix: 36 | return new ShaderParamMatrix(); 37 | default: 38 | throw new ArgumentOutOfRangeException("type"); 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ParamType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Models.Resource.Shaders 22 | { 23 | public enum ParamType 24 | { 25 | Texture = 0, 26 | Vector4 = 1, 27 | Matrix = 4, 28 | } 29 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ShaderFx.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using RageLib.Common; 3 | using RageLib.Common.Resources; 4 | 5 | namespace RageLib.Models.Resource.Shaders 6 | { 7 | internal class ShaderFx : Shader, IFileAccess 8 | { 9 | private uint Unknown14 { get; set; } 10 | private uint Unknown15 { get; set; } 11 | private uint Unknown16 { get; set; } 12 | private uint Unknown17 { get; set; } 13 | 14 | public string ShaderName { get; private set; } 15 | public string ShaderSPS { get; private set; } 16 | 17 | #region Implementation of IFileAccess 18 | 19 | public new void Read(BinaryReader br) 20 | { 21 | base.Read(br); 22 | 23 | var shaderNamePtr = ResourceUtil.ReadOffset(br); 24 | var shaderSpsPtr = ResourceUtil.ReadOffset(br); 25 | 26 | Unknown14 = br.ReadUInt32(); 27 | Unknown15 = br.ReadUInt32(); 28 | Unknown16 = br.ReadUInt32(); 29 | Unknown17 = br.ReadUInt32(); 30 | 31 | // Data: 32 | 33 | br.BaseStream.Seek(shaderNamePtr, SeekOrigin.Begin); 34 | ShaderName = ResourceUtil.ReadNullTerminatedString(br); 35 | 36 | br.BaseStream.Seek(shaderSpsPtr, SeekOrigin.Begin); 37 | ShaderSPS = ResourceUtil.ReadNullTerminatedString(br); 38 | } 39 | 40 | public new void Write(BinaryWriter bw) 41 | { 42 | throw new System.NotImplementedException(); 43 | } 44 | 45 | #endregion 46 | } 47 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ShaderParamMatrix.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common.ResourceTypes; 23 | 24 | namespace RageLib.Models.Resource.Shaders 25 | { 26 | internal class ShaderParamMatrix : IShaderParam 27 | { 28 | public Matrix44 Data { get; private set; } 29 | 30 | #region Overrides of MaterialInfoDataObject 31 | 32 | public void Read(BinaryReader br) 33 | { 34 | Data = new Matrix44(br); 35 | } 36 | 37 | public void Write(BinaryWriter bw) 38 | { 39 | 40 | } 41 | 42 | #endregion 43 | } 44 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Shaders/ShaderParamVector4.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common.ResourceTypes; 23 | 24 | namespace RageLib.Models.Resource.Shaders 25 | { 26 | internal class ShaderParamVector4 : IShaderParam 27 | { 28 | public Vector4 Data { get; private set; } 29 | 30 | #region Overrides of MaterialInfoDataObject 31 | 32 | public void Read(BinaryReader br) 33 | { 34 | Data = new Vector4(br); 35 | } 36 | 37 | public void Write(BinaryWriter bw) 38 | { 39 | 40 | } 41 | 42 | #endregion 43 | } 44 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/Resource/Skeletons/BoneIDMapping.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Models 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.Common; 23 | 24 | namespace RageLib.Models.Resource.Skeletons 25 | { 26 | internal class BoneIDMapping : IFileAccess 27 | { 28 | public short ID { get; set; } 29 | public short Index { get; set; } 30 | 31 | public BoneIDMapping() 32 | { 33 | } 34 | 35 | public BoneIDMapping(BinaryReader br) 36 | { 37 | Read(br); 38 | } 39 | 40 | #region Implementation of IFileAccess 41 | 42 | public void Read(BinaryReader br) 43 | { 44 | ID = br.ReadInt16(); 45 | Index = br.ReadInt16(); 46 | } 47 | 48 | public void Write(BinaryWriter bw) 49 | { 50 | throw new System.NotImplementedException(); 51 | } 52 | 53 | #endregion 54 | } 55 | } -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Models.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Models.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Models.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Textures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Textures.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/RageLib.Textures.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/RageLib.Textures.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/libsquish.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/libsquish.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/Model3DViewer/Model3DView.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/Model3DViewer/Model3DView.baml -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/Models.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 6d3da64a6023f44763c28afd062f580a2884312f 2 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/Models.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\libsquish.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Models.dll 4 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Models.pdb 5 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Common.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Textures.dll 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\ICSharpCode.SharpZipLib.dll 8 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Common.pdb 9 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\RageLib.Textures.pdb 10 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Model3DViewer\Model3DView.baml 11 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Model3DViewer\Model3DView.g.cs 12 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models_MarkupCompile.cache 13 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models.g.resources 14 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models.ModelView.resources 15 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models.Properties.Resources.resources 16 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Models.csproj.GenerateResource.Cache 17 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models.dll 18 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\RageLib.Models.pdb 19 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Models.csprojAssemblyReference.cache 20 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Models.csproj.CoreCompileInputs.cache 21 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\Models.csproj.CopyComplete 22 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\bin\Debug\Ookii.Dialogs.dll 23 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/Models.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/Models.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/Models.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/Models.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models.ModelView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/RageLib.Models.ModelView.resources -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/RageLib.Models.Properties.Resources.resources -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/RageLib.Models.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models.g.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/RageLib.Models.g.resources -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/RageLib.Models.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models_MarkupCompile.cache: -------------------------------------------------------------------------------- 1 | RageLib.Models 2 | 3 | 4 | library 5 | C# 6 | .cs 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\ 8 | RageLib.Models 9 | none 10 | false 11 | DEBUG;TRACE 12 | 13 | 11073486066 14 | 15 | 66-1065986704 16 | 13827968225 17 | Model3DViewer\Model3DView.xaml; 18 | 19 | False 20 | 21 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/RageLib.Models_MarkupCompile.i.cache: -------------------------------------------------------------------------------- 1 | RageLib.Models 2 | 3 | 4 | library 5 | C# 6 | .cs 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Models\obj\Debug\ 8 | RageLib.Models 9 | none 10 | false 11 | DEBUG;TRACE 12 | 13 | 11073486066 14 | 15 | 66-1065986704 16 | 141542807990 17 | Model3DViewer\Model3DView.xaml; 18 | 19 | False 20 | 21 | -------------------------------------------------------------------------------- /SRC/RageLib/Models/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Models/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Models/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/CodeFormat.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting 22 | { 23 | public enum CodeFormat 24 | { 25 | Disassemble, 26 | ControlFlowDecompile, 27 | FullDecompile, 28 | FullDecompileAnnotate, 29 | Variables, 30 | CodePath, 31 | 32 | ScruffDecompile, 33 | ScruffHeader, 34 | } 35 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/ProcessedStackValueGroup.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Collections.Generic; 22 | 23 | namespace RageLib.Scripting.HLScript 24 | { 25 | internal class ProcessedStackValueGroup : StackValue 26 | { 27 | public ProcessedStackValueGroup() 28 | { 29 | Values = new List(); 30 | ValueType = StackValueType.Unknown; 31 | ProcessedValue = true; 32 | } 33 | 34 | public List Values { get; private set; } 35 | } 36 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/ScriptProgram.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Collections.Generic; 22 | using RageLib.Scripting.Script; 23 | 24 | namespace RageLib.Scripting.HLScript 25 | { 26 | internal class ScriptProgram 27 | { 28 | public ScriptProgram(Decoder decoder) 29 | { 30 | Functions = new List(); 31 | Decoder = decoder; 32 | } 33 | 34 | public List Functions { get; private set; } 35 | 36 | public Decoder Decoder { get; private set; } 37 | } 38 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValue.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal class StackValue 24 | { 25 | public StackValueType ValueType { get; set; } 26 | public bool ProcessedValue { get; set; } // Indicates if the value is the result of an operation/function call/etc 27 | } 28 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValueAssign.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal class StackValueAssign : StackValueDeref 24 | { 25 | public StackValueAssign(StackValuePointerBase pointer, StackValue assignment) 26 | : base(pointer) 27 | { 28 | AssignValue = assignment; 29 | } 30 | 31 | public StackValue AssignValue { get; set; } 32 | 33 | public override string ToString() 34 | { 35 | return base.ToString() + " = " + AssignValue; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValueOperationType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal enum StackValueOperationType 24 | { 25 | Unknown, 26 | 27 | Add, 28 | Sub, 29 | Mul, 30 | Div, 31 | Mod, 32 | Neg, 33 | 34 | And, 35 | Or, 36 | Xor, 37 | 38 | CmpEq, 39 | CmpNe, 40 | CmpGt, 41 | CmpGe, 42 | CmpLt, 43 | CmpLe, 44 | 45 | IsZero, 46 | ToF, 47 | FromF, 48 | 49 | StrCpy, 50 | StrCat, 51 | StrCatI, 52 | IntToStr, 53 | StrVarCpy, 54 | 55 | Call, 56 | Pop, 57 | 58 | Return, 59 | 60 | SetProtect, 61 | GetProtect, 62 | RefProtect, 63 | } 64 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValuePointerBase.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal abstract class StackValuePointerBase : StackValue 24 | { 25 | protected StackValuePointerBase() 26 | { 27 | ValueType = StackValueType.Pointer; 28 | } 29 | 30 | public abstract string GetDisplayText(); 31 | 32 | public override string ToString() 33 | { 34 | return "&(" + GetDisplayText() + ")"; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValuePointerFake.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal class StackValuePointerFake : StackValuePointerBase 24 | { 25 | public StackValuePointerFake(StackValue pointer) 26 | { 27 | UnknownPointer = pointer; 28 | } 29 | 30 | public StackValue UnknownPointer { get; set; } 31 | 32 | public override string GetDisplayText() 33 | { 34 | if (UnknownPointer.ProcessedValue) 35 | { 36 | return "*(" + UnknownPointer + ")"; 37 | } 38 | else 39 | { 40 | return "*" + UnknownPointer; 41 | } 42 | } 43 | 44 | public override string ToString() 45 | { 46 | return UnknownPointer.ToString(); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValuePointerIndex.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Text; 22 | 23 | namespace RageLib.Scripting.HLScript 24 | { 25 | internal class StackValuePointerIndex : StackValuePointerBase 26 | { 27 | public StackValuePointerIndex(StackValuePointerBase pointer, int index) 28 | { 29 | Pointer = pointer; 30 | Index = index; 31 | } 32 | 33 | public StackValuePointerBase Pointer { get; set; } 34 | public int Index { get; set; } 35 | 36 | public override string GetDisplayText() 37 | { 38 | var sb = new StringBuilder(); 39 | 40 | sb.Append(Pointer.GetDisplayText()); 41 | sb.Append(".v"); 42 | sb.Append(Index); 43 | 44 | return sb.ToString(); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValuePointerType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal enum StackValuePointerType 24 | { 25 | Local, 26 | Global, 27 | Null, 28 | Stack, 29 | Temporary, 30 | Processed, 31 | } 32 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValueRef.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal class StackValueRef : StackValue 24 | { 25 | public StackValueRef(StackValue value) 26 | { 27 | ValueType = StackValueType.Pointer; 28 | ProcessedValue = false; 29 | Value = value; 30 | } 31 | 32 | public StackValue Value { get; set; } 33 | 34 | public override string ToString() 35 | { 36 | return "&(" + Value + ")"; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/HLScript/StackValueType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.HLScript 22 | { 23 | internal enum StackValueType 24 | { 25 | Unknown, 26 | Integer, 27 | Float, 28 | String, 29 | Pointer, 30 | } 31 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Output/IOutputProvider.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using File=RageLib.Scripting.Script.File; 23 | 24 | namespace RageLib.Scripting.Output 25 | { 26 | internal interface IOutputProvider 27 | { 28 | void Process(File file, TextWriter writer); 29 | } 30 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | [assembly: AssemblyTitle("RageLib.Scripting")] 28 | 29 | // Setting ComVisible to false makes the types in this assembly not visible 30 | // to COM components. If you need to access a type in this assembly from 31 | // COM, set the ComVisible attribute to true on that type. 32 | [assembly: ComVisible(false)] 33 | 34 | // The following GUID is for the ID of the typelib if this project is exposed to COM 35 | [assembly: Guid("405ba6e9-0264-4725-a93e-f92f10c640ec")] 36 | 37 | -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Script/InstructionBranch.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | 23 | namespace RageLib.Scripting.Script 24 | { 25 | internal class InstructionBranch : Instruction 26 | { 27 | protected override void DecodeInternal(byte[] code, int offset) 28 | { 29 | IsConditionalBranch = (OpCode == OpCode.JumpFalse || OpCode == OpCode.JumpTrue); 30 | BranchOffset = BitConverter.ToInt32(code, offset + 1); 31 | } 32 | 33 | protected override string GetInstructionTextInternal() 34 | { 35 | return string.Format("{0} @{1:x}", OpCode, BranchOffset); 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Script/InstructionFnBegin.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | 23 | namespace RageLib.Scripting.Script 24 | { 25 | internal class InstructionFnBegin : Instruction 26 | { 27 | public int ParameterCount 28 | { 29 | get { return (int) Operands[0]; } 30 | } 31 | 32 | public int VarCount 33 | { 34 | get { return (int) Operands[1]; } 35 | } 36 | 37 | protected override void DecodeInternal(byte[] code, int offset) 38 | { 39 | OperandCount = 2; 40 | Operands[0] = (int) code[offset + 1]; 41 | Operands[1] = (int) BitConverter.ToInt16(code, offset + 2); 42 | } 43 | 44 | protected override string GetOperandName(int index) 45 | { 46 | if (index == 0) return "params"; 47 | if (index == 1) return "vars"; 48 | return null; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Script/InstructionFnEnd.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.Script 22 | { 23 | internal class InstructionFnEnd : Instruction 24 | { 25 | public int ParameterCount 26 | { 27 | get { return (int) Operands[0]; } 28 | } 29 | 30 | public int ReturnCount 31 | { 32 | get { return (int) Operands[1]; } 33 | } 34 | 35 | protected override void DecodeInternal(byte[] code, int offset) 36 | { 37 | OperandCount = 2; 38 | Operands[0] = (int) code[offset + 1]; 39 | Operands[1] = (int) code[offset + 2]; 40 | } 41 | 42 | protected override string GetOperandName(int index) 43 | { 44 | if (index == 0) return "params"; 45 | if (index == 1) return "return"; 46 | return null; 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/Script/StackUsageInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Scripting.Script 22 | { 23 | internal class StackUsageInfo 24 | { 25 | public StackUsageInfo(int stackIn, int stackOut, int stackLeftOver) 26 | { 27 | In = stackIn; 28 | Out = stackOut; 29 | LeftOver = stackLeftOver; 30 | } 31 | 32 | public int In { get; set; } 33 | public int Out { get; set; } 34 | public int LeftOver { get; set; } 35 | } 36 | } -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/RageLib.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/RageLib.Scripting.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/RageLib.Scripting.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/RageLib.Scripting.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/RageLib.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/obj/Debug/RageLib.Scripting.dll -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/RageLib.Scripting.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/obj/Debug/RageLib.Scripting.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/Scripting.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 1c8bb03a4f6d44cdf5185dd3c180e813af13fb6e 2 | -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/Scripting.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\RageLib.Scripting.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\RageLib.Scripting.pdb 4 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\RageLib.Common.dll 5 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\ICSharpCode.SharpZipLib.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\RageLib.Common.pdb 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\obj\Debug\RageLib.Scripting.dll 8 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\obj\Debug\RageLib.Scripting.pdb 9 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\obj\Debug\Scripting.csprojAssemblyReference.cache 10 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\obj\Debug\Scripting.csproj.CoreCompileInputs.cache 11 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\obj\Debug\Scripting.csproj.CopyComplete 12 | F:\برامج pc\gtaivtools\trunk\RageLib\Scripting\bin\Debug\Ookii.Dialogs.dll 13 | -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/obj/Debug/Scripting.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Scripting/obj/Debug/Scripting.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/Scripting/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/RageLib/Shaders/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | [assembly: AssemblyTitle("RageLib.Shaders")] 28 | 29 | // Setting ComVisible to false makes the types in this assembly not visible 30 | // to COM components. If you need to access a type in this assembly from 31 | // COM, set the ComVisible attribute to true on that type. 32 | [assembly: ComVisible(false)] 33 | 34 | // The following GUID is for the ID of the typelib if this project is exposed to COM 35 | [assembly: Guid("eb9ca4ae-9e81-48db-a5c3-943f710057d3")] 36 | 37 | -------------------------------------------------------------------------------- /SRC/RageLib/Shaders/ShaderFX/File.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Shaders 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | 23 | namespace RageLib.Shaders.ShaderFX 24 | { 25 | class File 26 | { 27 | internal CompiledShaderFX ShaderFX; 28 | 29 | public void Open(string filename) 30 | { 31 | using (var fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) 32 | { 33 | Open(fs); 34 | } 35 | } 36 | 37 | public void Open(Stream stream) 38 | { 39 | var br = new BinaryReader(stream); 40 | ShaderFX = new CompiledShaderFX(); 41 | ShaderFX.Read(br); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SRC/RageLib/Shaders/ShaderType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Shaders 4 | Copyright (C) 2009 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Shaders 22 | { 23 | public enum ShaderType 24 | { 25 | Vertex, 26 | Pixel, 27 | } 28 | } -------------------------------------------------------------------------------- /SRC/RageLib/Textures/Filter/IFilter.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Textures 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Drawing; 22 | 23 | namespace RageLib.Textures.Filter 24 | { 25 | interface IFilter 26 | { 27 | void Apply(Image image); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SRC/RageLib/Textures/Filter/ImageChannel.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib - Textures 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Textures.Filter 22 | { 23 | enum ImageChannel 24 | { 25 | All, 26 | Red, 27 | Green, 28 | Blue, 29 | Alpha 30 | } 31 | } -------------------------------------------------------------------------------- /SRC/RageLib/Textures/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Reflection; 22 | using System.Runtime.InteropServices; 23 | 24 | // General Information about an assembly is controlled through the following 25 | // set of attributes. Change these attribute values to modify the information 26 | // associated with an assembly. 27 | [assembly: AssemblyTitle("RageLib.Textures")] 28 | 29 | // Setting ComVisible to false makes the types in this assembly not visible 30 | // to COM components. If you need to access a type in this assembly from 31 | // COM, set the ComVisible attribute to true on that type. 32 | [assembly: ComVisible(false)] 33 | 34 | // The following GUID is for the ID of the typelib if this project is exposed to COM 35 | [assembly: Guid("6de33b93-bd9c-4479-87fd-13463cb1083d")] 36 | -------------------------------------------------------------------------------- /SRC/RageLib/Textures/Resource/D3DFormat.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Textures.Resource 22 | { 23 | internal enum D3DFormat 24 | { 25 | DXT1 = 0x31545844, 26 | DXT3 = 0x33545844, 27 | DXT5 = 0x35545844, 28 | A8R8G8B8 = 0x15, 29 | L8 = 0x32, 30 | } 31 | } -------------------------------------------------------------------------------- /SRC/RageLib/Textures/TextureType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | RageLib 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace RageLib.Textures 22 | { 23 | public enum TextureType 24 | { 25 | DXT1, 26 | DXT3, 27 | DXT5, 28 | A8R8G8B8, 29 | L8, 30 | } 31 | } -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/RageLib.Textures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/RageLib.Textures.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/RageLib.Textures.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/RageLib.Textures.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/libsquish.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/libsquish.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TextureEditView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TextureEditView.resources -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TexturePreviewView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TexturePreviewView.resources -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TextureView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/RageLib.Textures.TextureView.resources -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/RageLib.Textures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/RageLib.Textures.dll -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/RageLib.Textures.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/RageLib.Textures.pdb -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/Textures.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | c8d0750e12b35f4edaa7067bcd91a7f16d401581 2 | -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/Textures.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\ragezip.dll 2 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\libsquish.dll 3 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\RageLib.Textures.dll 4 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\RageLib.Textures.pdb 5 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\RageLib.Common.dll 6 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\ICSharpCode.SharpZipLib.dll 7 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\RageLib.Common.pdb 8 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\RageLib.Textures.TextureEditView.resources 9 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\RageLib.Textures.TexturePreviewView.resources 10 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\RageLib.Textures.TextureView.resources 11 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\Textures.csproj.GenerateResource.Cache 12 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\RageLib.Textures.dll 13 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\RageLib.Textures.pdb 14 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\Textures.csprojAssemblyReference.cache 15 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\Textures.csproj.CoreCompileInputs.cache 16 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\obj\Debug\Textures.csproj.CopyComplete 17 | F:\برامج pc\gtaivtools\trunk\RageLib\Textures\bin\Debug\Ookii.Dialogs.dll 18 | -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/Textures.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/Textures.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /SRC/RageLib/Textures/obj/Debug/Textures.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/RageLib/Textures/obj/Debug/Textures.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/RageLib/Textures/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/Resoursaur/Program.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Resoursaur -- A Rage Resource File Decompressor 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.Windows.Forms; 23 | 24 | namespace Resoursaur 25 | { 26 | static class Program 27 | { 28 | /// 29 | /// The main entry point for the application. 30 | /// 31 | [STAThread] 32 | static void Main() 33 | { 34 | Application.EnableVisualStyles(); 35 | Application.SetCompatibleTextRenderingDefault(false); 36 | Application.Run(new MainForm()); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /SRC/Resoursaur/Resoursaur.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Resoursaur", "Resoursaur.csproj", "{09683D73-98F5-41DE-AD4A-4732793902D6}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "..\RageLib\Common\Common.csproj", "{B2A6C9F9-A2BA-49EE-A364-2E839BD381BA}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RageLib", "RageLib", "{ECEA3501-2BF5-47B3-A7A1-215E231FD16A}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {09683D73-98F5-41DE-AD4A-4732793902D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {09683D73-98F5-41DE-AD4A-4732793902D6}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {09683D73-98F5-41DE-AD4A-4732793902D6}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {09683D73-98F5-41DE-AD4A-4732793902D6}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {B2A6C9F9-A2BA-49EE-A364-2E839BD381BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {B2A6C9F9-A2BA-49EE-A364-2E839BD381BA}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {B2A6C9F9-A2BA-49EE-A364-2E839BD381BA}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {B2A6C9F9-A2BA-49EE-A364-2E839BD381BA}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(NestedProjects) = preSolution 29 | {B2A6C9F9-A2BA-49EE-A364-2E839BD381BA} = {ECEA3501-2BF5-47B3-A7A1-215E231FD16A} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /SRC/SparkIV/Config/SparkIVConfig.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using System.Windows.Forms; 23 | 24 | namespace SparkIV.Config 25 | { 26 | static class SparkIVConfig 27 | { 28 | public static readonly Value.Config Instance; 29 | 30 | static SparkIVConfig() 31 | { 32 | var appPath = Path.GetDirectoryName(Application.ExecutablePath); 33 | Instance = XmlPersister.Load(Path.Combine(appPath, "SparkIV.Config.xml")); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /SRC/SparkIV/Config/Value/Config.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.Xml.Serialization; 23 | 24 | namespace SparkIV.Config.Value 25 | { 26 | [XmlRoot("SparkIV"), Serializable] 27 | public class Config 28 | { 29 | [XmlArray("Viewers")] 30 | [XmlArrayItem("Viewer", typeof(ExtensionType))] 31 | public ExtensionType[] Viewers { get; set; } 32 | 33 | [XmlArray("Editors")] 34 | [XmlArrayItem("Editor", typeof(ExtensionType))] 35 | public ExtensionType[] Editors { get; set; } 36 | } 37 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Config/Value/ExtensionType.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Xml.Serialization; 22 | 23 | namespace SparkIV.Config.Value 24 | { 25 | public class ExtensionType 26 | { 27 | [XmlAttribute("Extension")] 28 | public string Extension { get; set; } 29 | 30 | [XmlAttribute("Type")] 31 | public string Type { get; set; } 32 | } 33 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Editor/EditorForm.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV - Textures 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Windows.Forms; 22 | 23 | namespace SparkIV.Editor 24 | { 25 | public partial class EditorForm : Form 26 | { 27 | private Control _viewControl; 28 | 29 | public EditorForm() 30 | { 31 | InitializeComponent(); 32 | } 33 | 34 | public void SetFilename(string filename) 35 | { 36 | Text = "Spark IV - Edit - " + filename; 37 | } 38 | 39 | public void SetControl(Control control) 40 | { 41 | if (_viewControl != null) 42 | { 43 | Controls.Remove(_viewControl); 44 | } 45 | 46 | _viewControl = control; 47 | _viewControl.Parent = this; 48 | _viewControl.Dock = DockStyle.Fill; 49 | Controls.Add(_viewControl); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /SRC/SparkIV/Editor/IDynamicEditor.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace SparkIV.Editor 22 | { 23 | interface IDynamicEditor 24 | { 25 | bool SupportsExtension(string extension); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SRC/SparkIV/Editor/IEditor.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using RageLib.FileSystem.Common; 22 | 23 | namespace SparkIV.Editor 24 | { 25 | interface IEditor 26 | { 27 | void LaunchEditor(FileSystem fs, File file); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SRC/SparkIV/Editor/SparkIVEditor.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using RageLib.FileSystem; 23 | using RageLib.FileSystem.Common; 24 | using File=RageLib.FileSystem.Common.File; 25 | 26 | namespace SparkIV.Editor 27 | { 28 | class SparkIVEditor : IEditor 29 | { 30 | public void LaunchEditor(FileSystem fs, File file) 31 | { 32 | if (fs is RealFileSystem) 33 | { 34 | var form = new MainForm(); 35 | form.Show(); 36 | 37 | DirectoryInfo parent = new DirectoryInfo((fs as RealFileSystem).RealDirectory).Parent; 38 | string archiveFilename = parent == null ? file.FullName : Path.Combine(parent.FullName, file.FullName); 39 | form.OpenFile(archiveFilename, null); 40 | } 41 | 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SRC/SparkIV/Properties/SparkIV.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /SRC/SparkIV/SparkIV.Config.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /SRC/SparkIV/SparkIV.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | F:\SparkIV 8\|publish\ 5 | 6 | 7 | 8 | 9 | 10 | en-US 11 | false 12 | 13 | -------------------------------------------------------------------------------- /SRC/SparkIV/SparkIV_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/SparkIV_TemporaryKey.pfx -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Audio/AudioViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using System.Windows.Forms; 23 | using RageLib.Audio; 24 | 25 | namespace SparkIV.Viewer.Audio 26 | { 27 | class AudioViewer : IViewer 28 | { 29 | public Control GetView(RageLib.FileSystem.Common.File file) 30 | { 31 | var data = file.GetData(); 32 | 33 | var ms = new MemoryStream(data); 34 | var audioFile = new AudioFile(); 35 | try 36 | { 37 | audioFile.Open(ms); 38 | } 39 | catch 40 | { 41 | ms.Close(); 42 | 43 | throw; 44 | } 45 | 46 | var view = new AudioView(); 47 | var controller = new AudioViewController(view); 48 | controller.AudioFile = audioFile; 49 | 50 | return view; 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/IViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Windows.Forms; 22 | using RageLib.FileSystem.Common; 23 | 24 | namespace SparkIV.Viewer 25 | { 26 | interface IViewer 27 | { 28 | Control GetView(File file); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Models/ModelDictionaryViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using System.Windows.Forms; 23 | using RageLib.Models; 24 | 25 | namespace SparkIV.Viewer.Models 26 | { 27 | class ModelDictionaryViewer : ModelViewer 28 | { 29 | #region Implementation of IViewer 30 | 31 | public override Control GetView(RageLib.FileSystem.Common.File file) 32 | { 33 | var data = file.GetData(); 34 | 35 | var ms = new MemoryStream(data); 36 | var modelFile = new ModelDictionaryFile(); 37 | try 38 | { 39 | modelFile.Open(ms); 40 | } 41 | finally 42 | { 43 | ms.Close(); 44 | } 45 | 46 | return CreateControl(file, modelFile); 47 | } 48 | 49 | #endregion 50 | } 51 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Script/Format/CLikeFormat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/Viewer/Script/Format/CLikeFormat.cs -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Script/Format/CodeFormat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/Viewer/Script/Format/CodeFormat.cs -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Script/Format/SourceFormat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/Viewer/Script/Format/SourceFormat.cs -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Script/ScriptViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using System.Windows.Forms; 23 | using RageLib.Scripting; 24 | 25 | namespace SparkIV.Viewer.Script 26 | { 27 | class ScriptViewer : IViewer 28 | { 29 | public Control GetView(RageLib.FileSystem.Common.File file) 30 | { 31 | var data = file.GetData(); 32 | 33 | ScriptFile scriptFile = new ScriptFile(); 34 | //try 35 | { 36 | scriptFile.Open(new MemoryStream(data)); 37 | } 38 | /*catch 39 | { 40 | return null; 41 | }*/ 42 | 43 | ScriptView view = new ScriptView(); 44 | view.ScriptFile = scriptFile; 45 | 46 | return view; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Script/ScruffFormat.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | namespace SparkIV.Viewer.Script 22 | { 23 | class ScruffFormat : Manoli.Utils.CSharpFormat.CLikeFormat 24 | { 25 | /// 26 | /// The list of C# keywords. 27 | /// 28 | protected override string Keywords 29 | { 30 | get 31 | { 32 | return "void function auto return if else while switch case default break float int"; 33 | } 34 | } 35 | 36 | /// 37 | /// The list of C# preprocessors. 38 | /// 39 | protected override string Preprocessors 40 | { 41 | get 42 | { 43 | return ""; 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/TextViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Windows.Forms; 22 | using System.Text; 23 | using System.Drawing; 24 | using RageLib.FileSystem.Common; 25 | 26 | namespace SparkIV.Viewer 27 | { 28 | class TextViewer : IViewer 29 | { 30 | public Control GetView(File file) 31 | { 32 | var data = file.GetData(); 33 | 34 | TextBox textBox = new TextBox(); 35 | textBox.Font = new Font("Courier New", 10); 36 | textBox.ReadOnly = true; 37 | textBox.BackColor = SystemColors.Window; 38 | textBox.Text = Encoding.ASCII.GetString(data); 39 | textBox.Multiline = true; 40 | textBox.ScrollBars = ScrollBars.Both; 41 | textBox.SelectionStart = 0; 42 | textBox.SelectionLength = 0; 43 | textBox.WordWrap = false; 44 | return textBox; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/Textures/TextureViewer.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.IO; 22 | using System.Windows.Forms; 23 | using RageLib.Textures; 24 | 25 | namespace SparkIV.Viewer.Textures 26 | { 27 | class TextureViewer : IViewer 28 | { 29 | public Control GetView(RageLib.FileSystem.Common.File file) 30 | { 31 | var data = file.GetData(); 32 | 33 | var ms = new MemoryStream(data); 34 | var textureFile = new TextureFile(); 35 | try 36 | { 37 | textureFile.Open(ms); 38 | } 39 | finally 40 | { 41 | ms.Close(); 42 | } 43 | 44 | var view = new TexturePreviewView(); 45 | var controller = new TexturePreviewController(view); 46 | controller.TextureFile = textureFile; 47 | 48 | return view; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /SRC/SparkIV/Viewer/ViewerForm.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System.Windows.Forms; 22 | 23 | namespace SparkIV.Viewer 24 | { 25 | public partial class ViewerForm : Form 26 | { 27 | private Control _viewControl; 28 | 29 | public ViewerForm() 30 | { 31 | InitializeComponent(); 32 | } 33 | 34 | public void SetFilename(string filename) 35 | { 36 | Text = "Spark IV - Preview - " + filename; 37 | } 38 | 39 | public void SetControl(Control control) 40 | { 41 | if (_viewControl != null) 42 | { 43 | Controls.Remove(_viewControl); 44 | } 45 | 46 | _viewControl = control; 47 | _viewControl.Parent = this; 48 | _viewControl.Dock = DockStyle.Fill; 49 | Controls.Add(_viewControl); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /SRC/SparkIV/WaitCursor.cs: -------------------------------------------------------------------------------- 1 | /**********************************************************************\ 2 | 3 | Spark IV 4 | Copyright (C) 2008 Arushan/Aru 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | 19 | \**********************************************************************/ 20 | 21 | using System; 22 | using System.Windows.Forms; 23 | 24 | namespace SparkIV 25 | { 26 | class WaitCursor : IDisposable 27 | { 28 | private readonly Form _form; 29 | 30 | public WaitCursor(Form form) 31 | { 32 | _form = form; 33 | form.Cursor = Cursors.WaitCursor; 34 | } 35 | 36 | public void Dispose() 37 | { 38 | _form.Cursor = Cursors.Default; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /SRC/SparkIV/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/Ookii.Dialogs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/Ookii.Dialogs.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Audio.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Audio.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Audio.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Common.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Common.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Common.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.FileSystem.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.FileSystem.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.FileSystem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.FileSystem.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.HyperText.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.HyperText.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.HyperText.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.HyperText.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Models.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Models.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Models.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Models.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Scripting.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Scripting.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Scripting.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Textures.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Textures.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/RageLib.Textures.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/RageLib.Textures.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.Config.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/SparkIV.exe -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/SparkIV.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/SparkIV.vshost.exe -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/SparkIV.vshost.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/libsquish.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/libsquish.dll -------------------------------------------------------------------------------- /SRC/SparkIV/bin/Debug/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/bin/Debug/ragezip.dll -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.Editor.EditorForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.Editor.EditorForm.resources -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.MainForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.MainForm.resources -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.Properties.Resources.resources -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.Viewer.Script.ScriptView.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.Viewer.Script.ScriptView.resources -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.Viewer.ViewerForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.Viewer.ViewerForm.resources -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 68bf92993f9441115a0cacef60925a3d962040e8 2 | -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.exe -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/SparkIV.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/SparkIV.pdb -------------------------------------------------------------------------------- /SRC/SparkIV/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /SRC/SparkIV/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SRC/SparkIV/packages/MaterialSkin.0.2.1/MaterialSkin.0.2.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/packages/MaterialSkin.0.2.1/MaterialSkin.0.2.1.nupkg -------------------------------------------------------------------------------- /SRC/SparkIV/packages/MaterialSkin.0.2.1/lib/MaterialSkin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/SparkIV/packages/MaterialSkin.0.2.1/lib/MaterialSkin.dll -------------------------------------------------------------------------------- /SRC/Vendor/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/Vendor/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /SRC/Vendor/libsquish.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/Vendor/libsquish.dll -------------------------------------------------------------------------------- /SRC/Vendor/ragezip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SRC/Vendor/ragezip.dll -------------------------------------------------------------------------------- /SparkIV 0.8.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SparkIV 0.8.0.zip -------------------------------------------------------------------------------- /SparkIV 0.8.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahmed605/SparkIV/10ce6df44888d51d22ca844e847dfc32777c3048/SparkIV 0.8.1.zip -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman 2 | 3 | plugins: 4 | - jekyll-mentions 5 | - jemoji 6 | - jekyll-redirect-from 7 | - jekyll-sitemap 8 | - jekyll-feed 9 | 10 | source: https://github.com/ahmed605/SparkIV 11 | 12 | zip: https://github.com/ahmed605/SparkIV/releases/download/v0.8.56/Beta.zip 13 | 14 | show_downloads: true 15 | 16 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | image: 2 | - Visual Studio 2022 3 | version: 0.8.{build} 4 | skip_tags: true 5 | before_build: 6 | - ps: | 7 | cd SRC/SparkIV 8 | nuget restore 9 | build: 10 | project: SRC/SparkIV/SparkIV.sln 11 | verbosity: minimal 12 | skip_commits: 13 | files: 14 | - '**/*.md' 15 | - '**/*.yml' 16 | - '**/*.txt' 17 | - README.md 18 | - '*.md' 19 | - '/*.md' 20 | - _config.yml 21 | - '*.yml' 22 | - '/*.yml' 23 | artifacts: 24 | - path: SRC\SparkIV\bin\Debug\ 25 | name: Beta 26 | deploy: 27 | - provider: GitHub 28 | tag: v$(appveyor_build_version) 29 | release: Auto generated build v$(appveyor_build_version) 30 | auth_token: 31 | secure: LWYEMzs8C5ycXD+GihSZSywdJCIMuizQojhO0GyKcMBPtf4vp9HYBRN7pVPpz3IR 32 | artifact: Beta 33 | prerelease: false 34 | force_update: false 35 | --------------------------------------------------------------------------------