System 3.x Extension for Visual Studio Code
This extension adds support for AliceSoft's System 1-3 and System 3.x languages.

Features
- Syntax highlighting for
.adv source files
- Decompiling and compiling:
- System 3.x games (using the bundled xsys35c)
- System 1-3 games (using the bundled sys3c)
- Debugging:
The following features are available for System 3.x games only:
- Documentation appears when you hover over a command name
- Go to Definition for functions
Prerequisites
- For System 3.x features:
- To view command documentation, you'll need the System 3.9 SDK.
- To use debugging features, you'll need xsystem35-sdl2 (version 2.0.0 or higher).
- For System 1-3 features:
- To use debugging features, you'll need system3-sdl2 (version 1.3.0 or higher).
Getting Started
After meeting the prerequisites, follow these steps to get started:
- Install this extension.
- Open a folder containing game files:
- For System 3.x games: folder containing
*SA.ALD
- For System 1-3 games: folder containing
ADISK.DAT
- Open the command palette (Ctrl+Shift+P or
F1), and enter
system3x. Select System3x: Decompile from the
list that appears. Decompiled source files will be saved in the src
folder, and this extension will automatically open the first .adv file.
- For debugging:
- System 3.x games (using xsystem35-sdl2):
- On Windows, copy
xsystem35.exe to the same folder as the *.ALD files.
- On other platforms, follow the installation instructions for xsystem35-sdl2.
- System 1-3 games (using system3-sdl2):
- On Windows, copy
system3.exe and its DLL files to the same folder as ADISK.DAT.
- On other platforms, follow the installation instructions for system3-sdl2.
- Press F5 to start debugging.
Feature Details
Decompiling
The System3x: Decompile command works with both System 3.x and System 1-3 games:
- For System 3.x: decompiles
*.ALD and System39.ain files
- For System 1-3: decompiles
?DISK.DAT and AG00.DAT files
in the workspace folder. The decompiled source files are saved in a src
subfolder.
Compiling
By default, the Start Debugging command (F5) automatically
rebuilds the game using source files in the src folder.
To build the game without running it, use the Run Build Task command
(Ctrl+Shift+B) and choose xsys35c: build.
Running
If a launch.json file doesn't exist, pressing F5 will start
the appropriate game engine with default settings. But this works only when an
.adv file is open in the current tab.
To make F5 consistently functional, or to customize launch settings,
select Add Configuration from the Run menu. This will generate a
launch.json file as follows:
{
"version": "0.2.0",
"configurations": [
{
"type": "xsystem35",
"request": "launch",
"name": "Debug",
"program": "${config:system3x.xsystem35Path}",
"runDir": "${workspaceFolder}",
"srcDir": "${workspaceFolder}/src",
"logLevel": 2,
"stopOnEntry": false,
"preLaunchTask": "xsys35c: build"
}
]
}
Mouse hovering over the attributes will display their descriptions.
For example, to launch the game without building it, comment out the
"preLaunchTask": "xsys35c: build" line.
Debugging
Refer to the Debugging
documentation in VS Code to learn how to use the debugger.
The debugger supports the following operations for all games:
Additional features for System 3.x games only:
Extension Settings
To access your settings, open the Settings editor (Ctrl+, or Cmd+,) and
search for system3x.