Command Line Usage

Example Decompile, Compile Usage

Assuming the zip was extracted to c:\point and you wish the project and script files to be in c:\point\MyMod. Be sure to backup the original main.scm and script.img in the GTA directory!

cd "C:\Program Files\Rockstar Games\GTA San Andreas"
mkdir c:\point\MyMod
c:\point\Point.exe /dc /md:c:\point\scm_api.xml /ide:data\default.dat \\
	/out:c:\point\MyMod\__project.beach data\script\main.scm \\
	data\script\script.img text\american.gxt \\
c:\point\Point.exe /c c:\point\MyMod\__project.beach
copy c:\point\MyMod\main.scm data\script
copy c:\point\MyMod\script.img data\script

The \\ symbol and line break are for presentation purposes only and should not be typed when running the command.


Point's functionality is divided into three distinct tasks, but all require the same basic arguments and only the input and output files change. The common parameters are:

As an alternative, a single project file may be specified as input. The project overrides any arguments passed: /md, /ide, /out, and the input files.

Compile Task

Selected by passing the /c argument. Accepts one or more sand files as input. Can output either GTAMA assembly source or assembled SCM and IMG files.

If an output file has a scm extension, the main thread, all threads, and all missions are placed into that file. For San Andreas, an img output file must also be specified for external threads.

If the output file has a gsr extension, the main thread is placed in that file and missions are placed into one or more <filename>_<n>.gsr files. Since a GTAMA assembler for San Andreas does not exist, this output is generally meant for debugging and not for actual usage.

Decompile Task

Selected by passing the /dc argument. Accepts an SCM and optionally an IMG as input. Outputs a project file with the recommended extension beach (only project files with this extension will be loadable). In the same directory as the project file, one or more sand files will be generated with the decompiled source code.

Please Note: In this version, the decompiler is not complete. The script files it generates are not funtionally identical to the original SCM files.

Disassemble Task

Selected by passing the /da argument. Accepts an SCM and optionally an IMG as input. Outputs a single text file. The format is non-standard and not meant to be reassembleable. This task is of interest only for those people researching extremely low-level mission coding aspects.

A Language Overview

Sand's syntax is very C-like, although slightly less robust in certain areas. Some of the important differences are: