├── .gitattributes ├── .gitignore ├── AST ├── Builder.cs └── Nodes │ ├── AssignmentNode.cs │ ├── BinaryNode.cs │ ├── BreakContinueNode.cs │ ├── ConcatNode.cs │ ├── ConstantNode.cs │ ├── FieldNode.cs │ ├── FunctionCallNode.cs │ ├── FunctionDeclarationNode.cs │ ├── IfNode.cs │ ├── LoopNode.cs │ ├── Node.cs │ ├── ObjectDeclarationNode.cs │ ├── ReturnNode.cs │ ├── UnaryNode.cs │ ├── UnitConversionNode.cs │ └── VariableNode.cs ├── CodeGenerator ├── CodeGenerator.cs └── CodeWriter.cs ├── Constants.cs ├── ControlFlow ├── ControlFlowAnalyzer.cs └── ControlFlowBlock.cs ├── DSO.csproj ├── DSO.sln ├── Decompiler.cs ├── Disassembler ├── BytecodeReader.cs ├── Disassembler.cs ├── Disassembly.cs ├── DisassemblyWriter.cs └── Instruction.cs ├── LICENSE ├── Loader ├── FileData.cs ├── FileLoader.cs └── FileReader.cs ├── Opcodes ├── Opcode.cs └── Ops.cs ├── Program.cs ├── Properties └── launchSettings.json ├── README.md ├── Util ├── CommandLineParser.cs ├── Logger.cs └── String.cs ├── Versions ├── Blockland │ ├── FileLoader.cs │ ├── V1 │ │ ├── FileLoader.cs │ │ └── Ops.cs │ ├── V20 │ │ └── Ops.cs │ └── V21 │ │ └── Ops.cs ├── Constructor │ ├── BytecodeReader.cs │ ├── FileLoader.cs │ ├── Instruction.cs │ └── Ops.cs ├── GameVersion.cs ├── TFD │ ├── FileLoader.cs │ └── Ops.cs └── TGE14 │ ├── FileLoader.cs │ └── Ops.cs ├── dev docs ├── ast nodes.md └── interpreter.cpp ├── icon.ico ├── icon.pdn └── icon.png /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/.gitignore -------------------------------------------------------------------------------- /AST/Builder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Builder.cs -------------------------------------------------------------------------------- /AST/Nodes/AssignmentNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/AssignmentNode.cs -------------------------------------------------------------------------------- /AST/Nodes/BinaryNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/BinaryNode.cs -------------------------------------------------------------------------------- /AST/Nodes/BreakContinueNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/BreakContinueNode.cs -------------------------------------------------------------------------------- /AST/Nodes/ConcatNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/ConcatNode.cs -------------------------------------------------------------------------------- /AST/Nodes/ConstantNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/ConstantNode.cs -------------------------------------------------------------------------------- /AST/Nodes/FieldNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/FieldNode.cs -------------------------------------------------------------------------------- /AST/Nodes/FunctionCallNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/FunctionCallNode.cs -------------------------------------------------------------------------------- /AST/Nodes/FunctionDeclarationNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/FunctionDeclarationNode.cs -------------------------------------------------------------------------------- /AST/Nodes/IfNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/IfNode.cs -------------------------------------------------------------------------------- /AST/Nodes/LoopNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/LoopNode.cs -------------------------------------------------------------------------------- /AST/Nodes/Node.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/Node.cs -------------------------------------------------------------------------------- /AST/Nodes/ObjectDeclarationNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/ObjectDeclarationNode.cs -------------------------------------------------------------------------------- /AST/Nodes/ReturnNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/ReturnNode.cs -------------------------------------------------------------------------------- /AST/Nodes/UnaryNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/UnaryNode.cs -------------------------------------------------------------------------------- /AST/Nodes/UnitConversionNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/UnitConversionNode.cs -------------------------------------------------------------------------------- /AST/Nodes/VariableNode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/AST/Nodes/VariableNode.cs -------------------------------------------------------------------------------- /CodeGenerator/CodeGenerator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/CodeGenerator/CodeGenerator.cs -------------------------------------------------------------------------------- /CodeGenerator/CodeWriter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/CodeGenerator/CodeWriter.cs -------------------------------------------------------------------------------- /Constants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Constants.cs -------------------------------------------------------------------------------- /ControlFlow/ControlFlowAnalyzer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/ControlFlow/ControlFlowAnalyzer.cs -------------------------------------------------------------------------------- /ControlFlow/ControlFlowBlock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/ControlFlow/ControlFlowBlock.cs -------------------------------------------------------------------------------- /DSO.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/DSO.csproj -------------------------------------------------------------------------------- /DSO.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/DSO.sln -------------------------------------------------------------------------------- /Decompiler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Decompiler.cs -------------------------------------------------------------------------------- /Disassembler/BytecodeReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Disassembler/BytecodeReader.cs -------------------------------------------------------------------------------- /Disassembler/Disassembler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Disassembler/Disassembler.cs -------------------------------------------------------------------------------- /Disassembler/Disassembly.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Disassembler/Disassembly.cs -------------------------------------------------------------------------------- /Disassembler/DisassemblyWriter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Disassembler/DisassemblyWriter.cs -------------------------------------------------------------------------------- /Disassembler/Instruction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Disassembler/Instruction.cs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/LICENSE -------------------------------------------------------------------------------- /Loader/FileData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Loader/FileData.cs -------------------------------------------------------------------------------- /Loader/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Loader/FileLoader.cs -------------------------------------------------------------------------------- /Loader/FileReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Loader/FileReader.cs -------------------------------------------------------------------------------- /Opcodes/Opcode.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Opcodes/Opcode.cs -------------------------------------------------------------------------------- /Opcodes/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Opcodes/Ops.cs -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Program.cs -------------------------------------------------------------------------------- /Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Properties/launchSettings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/README.md -------------------------------------------------------------------------------- /Util/CommandLineParser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Util/CommandLineParser.cs -------------------------------------------------------------------------------- /Util/Logger.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Util/Logger.cs -------------------------------------------------------------------------------- /Util/String.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Util/String.cs -------------------------------------------------------------------------------- /Versions/Blockland/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Blockland/FileLoader.cs -------------------------------------------------------------------------------- /Versions/Blockland/V1/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Blockland/V1/FileLoader.cs -------------------------------------------------------------------------------- /Versions/Blockland/V1/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Blockland/V1/Ops.cs -------------------------------------------------------------------------------- /Versions/Blockland/V20/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Blockland/V20/Ops.cs -------------------------------------------------------------------------------- /Versions/Blockland/V21/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Blockland/V21/Ops.cs -------------------------------------------------------------------------------- /Versions/Constructor/BytecodeReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Constructor/BytecodeReader.cs -------------------------------------------------------------------------------- /Versions/Constructor/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Constructor/FileLoader.cs -------------------------------------------------------------------------------- /Versions/Constructor/Instruction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Constructor/Instruction.cs -------------------------------------------------------------------------------- /Versions/Constructor/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/Constructor/Ops.cs -------------------------------------------------------------------------------- /Versions/GameVersion.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/GameVersion.cs -------------------------------------------------------------------------------- /Versions/TFD/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/TFD/FileLoader.cs -------------------------------------------------------------------------------- /Versions/TFD/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/TFD/Ops.cs -------------------------------------------------------------------------------- /Versions/TGE14/FileLoader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/TGE14/FileLoader.cs -------------------------------------------------------------------------------- /Versions/TGE14/Ops.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/Versions/TGE14/Ops.cs -------------------------------------------------------------------------------- /dev docs/ast nodes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/dev docs/ast nodes.md -------------------------------------------------------------------------------- /dev docs/interpreter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/dev docs/interpreter.cpp -------------------------------------------------------------------------------- /icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/icon.ico -------------------------------------------------------------------------------- /icon.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/icon.pdn -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elletra/dso-sharp/HEAD/icon.png --------------------------------------------------------------------------------