Skip to content

TheLegendOfMataNui/VS-OSI

Repository files navigation

VS-OSI

Adds Visual Studio support for working with OSI bytecode (scripts used by the SAGE game engine).

Goals

  • OSI Assembly language support for .osa files
    • Syntax coloring
    • Code folding
    • Code prediction
    • Instruction signature help
  • OSI Projects for compiling OSI Assembly into OSI using SAGE-JS
    • SAGE-JS MSBuild task (Installed to a well-known path by the installer)
    • Launch the game when the run action is activated
    • Don't rebuild unchanged sources
  • An actual debug engine for debugging the bytecode live
    • Attach and detatch properly
    • Pipe game debug output to VS Output Window
    • Breakpoints
    • Step one instruction
    • Browse & modify VM state

Dependencies

Place this repo next to the LOMNHook repo Install the August 2007 DIrectX SDK, and update the include path in OSIProject.DebugServer's properties

Project Overview

Installer.iss - An installer script that is compiled by Inno Setup into the Output/ directory upon build. Requires Inno Setup to be installed AND ON THE PATH (the Inno Setup installer doesn't do this for you!) An installer is necessary for installing the MSBuild task, although we are migrating away from using project files with MSBuild.

OSIProject.Language - The details of OSI stuff. OSIAssembly.cs for OSI Assembly (lexing, tokens, and keywords), and maybe later an OSIFile.cs for the actual packed .osi format.

OSIProject.Language.Test - A few poorly done unit tests for OSIProject.Language.

OSIProject.ProjectTemplate - The template for creating new Visual Studio OSI Projects.

OSIProject.ProjectType - The Visual Studio VSIX extension for OSI Projects, language support, and all the rest of the editor stuff.
See OSIAssemblyLanguageService.cs for the text editor support for OSI Assembly.
See OSADeploy.cs for what will eventually be the copy-to-game deploy task.
See ScriptDebuggerLaunchProvider.cs for the debugger launching stuff.

OSIProject.Tasks - The library that holds the MSBuild tasks for compiling OSI material.

OSIProject.DebugServer - The SAGE Hookmod that hooks the game's OSI virtual machine and provides debugging capabilities.

OSIProject.DebugInterop - The .NET classes for attaching to a debug server.

About

Visual Studio plugin for LSS syntax highlighting.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages