smcomp

Simple sourcemod plugin compile module

Usage no npm install needed!

<script type="module">
  import smcomp from 'https://cdn.skypack.dev/smcomp';
</script>

README

smcomp

Tested and working on windows,mac and linux and it is working. on linux you need the 32-bit libraries.

Install 32-bit libraries on ubuntu

sudo apt-get install libstdc++6:i386

Installation

npm install smcomp --save

Usage

var smcomp = require('smcomp');
var options = {
    '-v' : 2,
    '-E' : null
};

//The options parameter is optional see the "Options" description in this readme
smcomp.compile('inputfile.sp', 'outputfile.smx', options, function(err, stdout){
    if(err) { return console.error(stdout); }
    //Success
});

Options

 -A<num>  alignment in bytes of the data segment and the stack
 -a       output assembler code
 -c<name> codepage name or number; e.g. 1252 for Windows Latin-1
 -e<name> set name of error file (quiet compile)
 -h       show included file paths
 -i<name> path for include files (default= smcomp/comp/include)
 -l       create list file (preprocess only)
 -o<name> set base name of (P-code) output file
 -O<num>  optimization level (default=-O2)
     0    no optimization
     2    full optimizations
 -p<name> set name of "prefix" file
 -r[name] write cross reference report to console or to specified file
 -S<num>  stack/heap size in cells (default=4096)
 -s<num>  skip lines from the input file
 -t<num>  TAB indent size (in character positions, default=8)
 -v<num>  verbosity level; 0=quiet, 1=normal, 2=verbose (default=2)
 -w<num>  disable a specific warning by its number
 -E       treat warnings as errors
 -X<num>  abstract machine size limit in bytes
 -XD<num> abstract machine data/stack size limit in bytes
 -\       use '\' for escape characters
 -^       use '^' for escape characters
 -;[+/-]  require a semicolon to end each statement (default=-)
 sym=val  define constant "sym" with value "val"
 sym=     define constant "sym" with value 0

Options example

Options without values should be defined as null

var options = {
    '-v' : 2,
    '-E' : null  <--- set to null
};