Jump to content

x39

Member
  • Content Count

    635
  • Joined

  • Last visited

  • Medals

  • Medals

Community Reputation

91 Excellent

3 Followers

About x39

  • Rank
    Master Sergeant

Contact Methods

  • Website URL
    http://x39.io
  • Skype
    x39---
  • Steam url id
    x39
  • Reddit
    x39-

Profile Information

  • Gender
    Male
  • Location
    Germany, NRW, Oberhausen
  • Interests
    Computer Science, Gaming

Recent Profile Visitors

1106 profile views
  1. Arma.Studio rewrite just produced its first, usable, indev release https://github.com/ArmA-Studio/Arma.Studio/releases/tag/AppVeyor-91-b8cba00789531de356c63cd5649cc8c5bc3ca36a https://github.com/ArmA-Studio/Arma.Studio/releases/tag/AppVeyor-100-665ece029f70919bec8f3d9f94df76b62eec331c Note that the rewrite branch differs a lot from the original release, so for anybody looking to reuplad this please ensure that you do not just override the old release. This is, as of now, its very own thing with just a relation to Arma.Studio (AKA: Featurecomplete compared to the old release still is far) But talking about features: SQF-VM Debugger Support Run currently displayed file Halt on any exception raised Live-Editing of local variables Callstack view on halt Breakpoints Preprocessing Immediate Execution window to execute code during execution or while you debug your code Basic Texteditor functionality Save File Syntax Highlighting for SQF Basic Linting with preprocessor in mind (note that this requires your PBO to have a $PBOPREFIX$ file setup to work properly) Basic Projects Management Dedicated Solution Manager Window to contain all your projects Extensive plugin support Every window you see, is build using a plugin. (Check out the `Help`->`About` info if you do not believe me, or look into your plugin folder directly) Auto-Update Auto-Crashreport Think that is all as of now. Feel free to ask questions if they arise. Kindly regards, X39
  2. Another lil heartbeet but this time with some kinda good news from the rewrite branch: You can download a preview at https://x39.io/Files/ArmAStudio/20200217-Arma.Studio-Rewrite.zip Please read the ReadMe in case you have trouble while testing it out 😉
  3. SQF-VM Release 1.3.2 (RC1) Downloads https://github.com/SQFvm/vm/releases/tag/1.3.2-RC1 https://x39.io/Files/sqfvm/sqfvm-1.3.2-RC1.zip Changelog - CLI: Fixed `--max-instructions` no longer working - CLI: Added `--server PORT` (`-s PORT`) option to start the VM as a connectible server - CLI: Added `--define NAME[=VALUE]` (`-D NAME[=VALUE]`) allowing to add definitions to the PreProcessor - VM: `diag_tickTime` now returns time since VM start in seconds - VM: `assembly__ CODE` command no longer returns assembly reversed - VM: Removed invalid binary operator `ANY != ANY` - VM: Removed duplicate operators - VM: Renamed `exit__ SCALAR` to `exitcode__ SCALAR` due to naming conflict - VM: Renamed `prettyprintsqf__ STRING` to `prettysqf__ STRING` - VM: Fixed `scriptName STRING` setable multiple times - VM: Fixed `time` not being available (was already implemented) - VM: Fixed PreProcessor Endless loop - VM: Fixed PreProcessor double quoted strings no longer ignoring everything inbetween - VM: Fixed `catch` crash - VM: Fixed `STRING in ARRAY` was using case-insensitive comparison - VM: Fixed `ARRAY select ARRAY` error messsage (second type check outputted first type on error) - VM: Fixed `STRING select ARRAY` error messsage (second type check outputted first type on error) - VM: Fixed off-by-one error in `for STRING from SCALAR to SCALAR step SCALAR` when `step` was not equal to 1 or -1 - VM: Fixed code comparison was checking address space instead of on equality of instructions (`CODE isEqualTo CODE`) - VM: Fixed `alive OBJECT` erroring instead of returning `false` and just warning on `objNull` - VM: Fixed single `.` getting detected as number - VM: Fixed disabling `sleep SCALAR` and using it later would cause an infinite loop - VM: Fixed disabling warnings - VM: Fixed disabling runtime warnings would not properly disable them - VM: Fixed distance2d copy paste issue causing index out of range - VM: Fixed `isEqualTo` not doing reference == reference check first - VM: Fixed nil passed to command would error instead of warn - VM: Fixed unclosed `#ifdef` and `#ifndef` not warning and returning data. - VM: Fixed possible STATUS_STACK_BUFFER_OVERRUN on Windows Server due to console_width() - VM: Fixed including the same file multiple times triggered "Recursive include detected" - VM: Fixed code stringification having wrong parenthesis - VM: Fixed Nested `#ifdef` error being raised when include files got included inside `#ifdef`, `#ifndef` and `#else` block. - VM: Fixed Taling Slash in virtual mappings would prevent mappings from working - VM: Added support for 2-Dimensional `distance` - VM: Added `waitUntil CODE` operator - VM: Added `ARRAY distance2d ARRAY` operator - VM: Added `OBJECT distance2d ARRAY` operator - VM: Added `ARRAY distance2d OBJECT` operator - VM: Added `OBJECT distance2d OBJECT` operator - VM: Added `ANY execVM STRING` and `execVM STRING` - VM: Added Warning on undefined-variable usage - VM: Added `CODE provide__ ARRAY` to allow to provide implementation for an operator - VM: Added `terminate SCRIPT` operator - VM: Added `STRING splitString STRING` operator - VM: Added `ARRAY deleteRange ARRAY` - VM: Added `assembly__ STRING` variant of `assembly__ CODE` - VM: Added `tree__ CODE` variant of `tree__ STRING` - VM: Added `prettysqf__ CODE` variant of `prettysqf__ STRING` - VM: Added `pretty__ CODE` alias of `prettysqf__ CODE` - VM: Added `STRING in STRING` - VM: Added `remoteConnect__ STRING` to connect to a SQF-VM instance running as server - VM: Added `copyToClipboard STRING` - VM: Added `scopeName STRING`
  4. SQF-VM now has testing ❤️ https://github.com/SQFvm/vm/tree/master/tests so now is the best time to join the project, even if you only know SQF 💪
  5. SQF-VM Release 1.2.2 (RC1) Downloads https://github.com/SQFvm/vm/releases/tag/1.2.2-RC1 https://x39.io/Files/sqfvm/sqfvm-1.2.2-RC1.zip Changelog - CLI: Added `--command-dummy-nular name` to add dummy commands. - CLI: Added `--command-dummy-unary name` to add dummy commands. - CLI: Added `--command-dummy-binary 4|name` to add dummy commands. - CLI: Added `--no-assembly-creation` which allows to disable the creation of executable assembly (useful for `--parse-only` as it will enhance the speed) - VM: Error messages of preproc now contain line, col and file info - VM: SQF-Parsing performance improvement - VM: File System Overhauled - VM: Changed library load failed message - VM: All filepaths printed now are absolute. - VM: Added warning on data after `#include` - VM: Added `assembly__ CODE` unary operator - VM: Added `createMarker [STRING, OBJECT]` - VM: Added `__LINE__` and `__FILE__` support for PreProcessor - VM: Fixed crash when not providing enough params in preproc - VM: Fixed `--parse-only` returning `-1` as exit code - VM: Fixed parser not detecting eg. `.5` - VM: Fixed numbers with tailing `-` operator, are parsed invalidly - VM: Fixed `/*/` getting parsed as open & close block comment - VM: Fixed `###R` not producing `#R` - VM: Fixed macro with args blocking same text without args - VM: Fixed commas in strings invalidly getting parsed as separator for macros - VM: Fixed local path not properly working with #include - VM: Fixed #file macro getting `]\t` attached - VM: Fixed Number Exponent parsing bug - VM: Fixed `ceil` being recognized as `cei` - VM: Fixed immediate \ after macro name not getting read proper - VM: Fixed `#ifdef` etc. still allowing strings when false - VM: Fixed `in` always returning true - VM: Fixed `isNil CODE` causing an endless loop - VM: Fixed CODE type getting constructed wrong, causing the work stack to never be emptied - VM: Fixed calling code wiped current variable stack. - VM: Fixed missing l on null for null objects - VM: Fixed passing nil would sometimes still execute an unary or binary operator - VM: Fixed getvariable returning wrong value type if nil - VM: Fixed `callExtension` required file extension on linux - VM: Fixed `ARRAY select SCALAR` erroring on index == size - VM: Fixed crash when numbers exceeded valid range (`std::out_of_range` now gets catched and a `NaN` type is created. Warning gets emitted) - VM: Fixed `createMarker ARRAY` is returning first value of position instead of string
  6. SQF-VM Release 1.2.1 (RC3) Downloads https://github.com/SQFvm/vm/releases/tag/1.2.1-RC3 https://x39.io/Files/sqfvm/sqfvm-1.2.1-RC3.zip Changelog - CLI: Removed `-f` alias of `--sqf-file PATH` - CLI: Removed `-F` alias of `--config-file PATH` - CLI: Removed `-n` alias of `--no-print` - CLI: Removed `-N` alias of `--no-execute-print` - CLI: Removed `-r` alias of `--sqf-code CODE` - CLI: Removed `-R` alias of `--config-code CODE` - CLI: Renamed `--no-prompt` to `--automated` - CLI: Renamed `--no-print` to `--no-work-print` - CLI: Renamed `--sqf-code CODE` to `--sqf CODE` - CLI: Renamed `--config-code CODE` to `--config CODE` - CLI: Renamed `--config-file PATH` to `--input-config PATH` - CLI: Renamed `--sqf-file PATH` to `--input-sqf PATH` - CLI: Renamed `--enable-classname-check` to `--check-classnames` - CLI: Added `--input PATH` (`-i PATH`) to load supported files - CLI: Added `--input-pbo PATH` to load supported pbo files - CLI: Added `--parse-only` option, to disable the execution of SQF code. - CLI: Fixed `--debugger <PORT>` always attempting to launch at port 1 - VM: Now using working directory instead of executable directory for relative paths - VM: Line-Errors now start at 1 instead of 0 - VM: Path now is displayed the same way for parsing issues as it is for runtime issues - VM: Improved config parsing performance - VM: Implemented `<STRING> configClasses <CONFIG>` - VM: Implemented `configProperties <ARRAY>` - VM: Improved error messages on runtime_error (affected command: `callExtension`) - VM: Library names no longer can contain `/` or `\` - VM: Added `assert <BOOL>` - VM: Added `halt` - VM: Added `<ARRAY> # <SCALAR>` - VM: Fixed `apply` operator crashing - VM: Fixed `nil` being printed as `ni` - VM: Fixed relative pathing on Linux - VM: Fixed potential crash when cli-file was not found - VM: Fixed potential crash on invalid filesystem usage - VM: Fixed undetected PreProcessing instructions - VM: Fixed filesystem `..` messup when using backslashes - VM: Fixed filesystem nagivation issues with relative pathing - VM: Fixed path is not getting displayed on operators - VM: Fixed PreProcessing messing up linecount when `\r` is encountered - VM: Fixed Circular Parenthood error in config - VM: Fixed end of parsing before EOF was not erroring - VM: Fixed missing `L` on error outputs (eg. `[ERR][5|C5]` instead of `[ERR][L5|C5]`) - VM: Fixed `<object> in <object>` - VM: Fixed `SCALAR toFixed SCALAR` missing tailing zeros - VM: Fixed `for` var did not included `to` value - VM: Fixed operators with numbers not parsed - VM: Fixed array operators can cause recursion which makes the VM crash - VM: Fixed preprocessor parsing contents inbetween strings - VM: Fixed any `#` would be consumed as preprocessor instructions - VM: Fixed config operations navigating inherited classes.
  7. btw. https://discordapp.com/channels/294154999766843394/294532226039808000/528370839775608854 (requires being on the discord server already https://discord.gg/RRaPyb9) contains instructions about how to get the debugger running again (no mayor update on ArmA.Studio yet because ... uff ... work) note that you might need to read a lil bit further for fixes (new debugger is kinda stable and kinda unstable, which is also a reason why there is no mayor release yet)
  8. SQF-VM Release 1.2 (RC1) Download https://x39.io/projects?project=SQF-VM https://github.com/SQFvm/vm/releases/tag/1.2.0-RC1 Highlights PreProcessor now is available The tool command `except__` got added to allow to catch exceptions thrown by the runtime Changelog - DebuggerCLI: now accepts arrowkeys for navigation - DebuggerCLI: Minor fixes & help changes - DebuggerCLI: decodemsg and displaysend now print their current value when used without any argument - ArmA File-System - Preprocessor Support - Added command loadFile - Added commands preprocessFileLineNumbers and preprocessFile (alias) - All code typed into the commandline now gets preprocessed - -F <PATH> and -f <PATH> now preprocess the file first - Added --no-load-execdir to disable automatical addition of local directory to the allowed paths to load from list. - Added -l <PATH>(--load <PATH>) to add allowed path - Added -p <PATH> (--preprocess <PATH>) to preprocess a file and just output it to console - Added command isKindOf in all its 3 forms - Fixed createUnit may cause errors when a rank is provided. - Added support to relative path for -F and -f - Added -v PATH|VIRT (--virtual PATH|VIRT) to add virtual file system mappings - Added --cli-file PATH to allow to load args from a file - Config parser now can "parse" magic strings (just searches for the first occurance of ;) - Now executing SQF (added via -f or -r) before first user prompt instead of when the user entered his very own code. - Fixed empty files cause segfaults - Implemented scriptName <STRING> command - Implemented <ANY> in <ARRAY> - Implemented param command - Implemented player command and respawn__ internal command to respawn (recreate) a player - Implemented setDamage, getDammage, damage and alive - Implemented preprocess__ command to allow preprocessing strings - Fixed params reporting false error when passing arraycount - Fixed params invalidly reporting a warning telling the type is not matching expected datatypes - Fixed codeblocks not accepting ; at start (eg. {;} was marked as invalid) - Fixed allVariables, setVariable and getVariable for use with OBJECT and GROUP - Added --preprocess-file <PATH> (-E <PATH>) - Added do-preprocess to debugger interface - Replaced --start-server (-s) and --server-port <int> (-p <int>) with --debugger <int> (-d <int>) - Implemented crew <OBJECT> command - Implemented vehicle <OBJECT> command - Implemented objectParent <OBJECT> command - Implemented unary commands gunner, commander and driver expecting OBJECT - Implemented <OBJECT> in <OBJECT> command - Fixed format stringifying strings - Implemented <CODE> except__ <CODE> to catch runtime exceptions thrown by the VM Further info can be taken from the corresponding GitHub-Release
  9. SQF-VM Release 1.1 (RC1) Download https://x39.io/projects?project=SQF-VM https://github.com/SQFvm/vm/releases/tag/1.1.0-RC1 Changelog - Continuous CLI (exit__ command now needs to be used) - Fixed String-Parsing (had problems handling "somethingendingwith'") - Fixed : not getting recognized - Config checking is no longer enabled by default (-c flag now enables config checking instead of disabling it) - Fixed some debugger-related stuff - Now contains DebuggerCLI application (sqfvm needs to be started with -s -p 9090 for it to work) - added nearestObjects - added distance - Debugger interface error messages now have status error - Debugger interface now prints output with status message - Debugger interface no longer prints the status change twice when hitting breakmode - Icon was updated (Currently disabled though due to new CMakeList.txt) - Added isNull <OBJECT> isNull <GROUP> isNull <CONFIG> - Fixed config commands causing segfaults - Fixed spawning things prevented further stack execution - Fixed spawned scopes are not reporting to be schedulable - Fixed params unary will error-out on non-array _this param - Added sleep command & corresponding code - Added canSuspend - Fixed some internal method to check array types - Added Marker-System and corresponding commands: [ allMapMarkers, createMarker, createMarkerLocal, deleteMarker, deleteMarkerLocal, getMarkerColor, getMarkerPos, getMarkerSize, getMarkerType, markerAlpha, markerBrush, markerColor, markerDir, markerPos, markerShape, markerSize, markerText, markerType, setMarkerAlpha, setMarkerAlphaLocal, setMarkerBrush, setMarkerBrushLocal, setMarkerColor, setMarkerColorLocal, setMarkerDir, setMarkerDirLocal, setMarkerPos, setMarkerPosLocal, setMarkerShape, setMarkerShapeLocal, setMarkerSize, setMarkerSizeLocal, setMarkerText, setMarkerTextLocal, setMarkerType, setMarkerTypeLocal ] - productVersion now outputs full version information - productVersion now will tell properly if it is x64 or x86 (or NA on some compilers and systems) - Added side <OBJECT> and side <GROUP> - DllExports no longer allow sleep - Fixed _this not getting set properly in <ANY> call <CODE> - Added vm__ command to get a list of vm-only commands - Added cmdsimplemented__ command to get a list of actually implemented commands (checks for missing description and ommits those) - Added allUnits - No longer printing space inbetween array commas when stringified - implemented toFixed - Fixed <ARRAY> select <BOOL> help message - fixed pretty printing would not add a space character between private and the variable - altered the "greeting" message on prompt - fixed -s debugging server not connecting - implemented <ARRAY> pushBackUnique <ANY> - implemented <ARRAY> findIf <CODE> - fixed SQF parser was detecting expressions like _x == 1 as assignment - fixed non-scheduled execution was continuing executing after error - fixed scheduled execution was not continuing executing after error Further info can be taken from the corresponding GitHub-Release
  10. There now is an official wishlist for operators: https://docs.google.com/spreadsheets/d/1kRw1afDwnJvnW67ylmj91CVr8Qs57G7570-5XmnqSD4/edit?usp=sharing if you thus would like to see an operator in the next sqf-vm release, feel free to add your command there :)
  11. Release version 1.0 Changelog literally is nonexisting as this is a complete new version compared with last. Help Output: .\sqfvm-cpp.exe --help USAGE: D:\Git\SQF-VM\Release\Windows\x64\sqfvm-cpp.exe [--pretty-print <PATH>] ... [-c] [-N] [-n] [-p <NUMBER>] [-m <NUMBER>] [-s] [-a] [-R <CODE>] ... [-r <CODE>] ... [-F <PATH>] ... [-f <PATH>] ... [--] [--version] [-h] Where: --pretty-print <PATH> (accepted multiple times) Loads provided file from disk and pretty-prints it onto console. -c, --disable-classname-check Disables the config checking for eg. createVehicle. -N, --no-execute-print Prevents the `Execute` and two horizontal lines to be printed. -n, --no-print Prevents the value stack to be printed out at the very end. -p <NUMBER>, --server-port <NUMBER> Sets the port of the server. Defaults to 9090. -m <NUMBER>, --max-instructions <NUMBER> Sets the maximum ammount of instructions to execute before a hard exit may occur. Setting this to 0 will disable the limit. -s, --start-server Causes the sqf-vm to start a network server allowing for automated control. -a, --no-prompt Disables the prompt which expects you to type in sqf-code. -R <CODE>, --config-code <CODE> (accepted multiple times) Loads provided config-code directly into the sqf-vm. (executed after files) -r <CODE>, --sqf-code <CODE> (accepted multiple times) Loads provided sqf-code directly into the sqf-vm. (executed after files) -F <PATH>, --config-file <PATH> (accepted multiple times) Loads provided config-file from the hdd into the sqf-vm. -f <PATH>, --sqf-file <PATH> (accepted multiple times) Loads provided sqf-file from the hdd into the sqf-vm. --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. Emulates the ArmA-Series SQF environment. Supported commands: [ ["n", "parsingnamespace"], ["n", "pi"], ["n", "nil"], ["n", "east"], ["n", "missionnamespace"], ["n", "cmds__"], ["n", "uinamespace"], ["n", "profilenamespace"], ["n", "productversion"], ["n", "diag_ticktime"], ["n", "allobjects__"], ["n", "true"], ["n", "false"], ["n", "confignull"], ["n", "configfile"], ["n", "blufor"], ["n", "west"], ["n", "opfor"], ["n", "resistance"], ["n", "independent"], ["n", "civilian"], ["n", "sideempty"], ["n", "sideenemy"], ["n", "grpnull"], ["n", "sidefriendly"], ["n", "sidelogic"], ["n", "sideunknown"], ["n", "objnull"], ["u", "abs", "SCALAR"], ["u", "round", "SCALAR"], ["u", "sqrt", "SCALAR"], ["u", "deg", "SCALAR"], ["u", "acos", "SCALAR"], ["u", "selectmax", "ARRAY"], ["u", "log", "SCALAR"], ["u", "sin", "SCALAR"], ["u", "toupper", "STRING"], ["u", "tan", "SCALAR"], ["u", "exp", "SCALAR"], ["u", "rad", "SCALAR"], ["u", "random", "SCALAR"], ["u", "hint", "STRING"], ["u", "hint", "TEXT"], ["u", "-", "SCALAR"], ["u", "systemchat", "STRING"], ["u", "+", "SCALAR"], ["u", "+", "NaN"], ["u", "+", "ARRAY"], ["u", "!", "BOOL"], ["u", "floor", "SCALAR"], ["u", "count", "ARRAY"], ["u", "count", "STRING"], ["u", "count", "CONFIG"], ["u", "cei", "SCALAR"], ["u", "asin", "SCALAR"], ["u", "selectmin", "ARRAY"], ["u", "ln", "SCALAR"], ["u", "atan", "SCALAR"], ["u", "allvariables", "NAMESPACE"], ["u", "allvariables", "OBJECT"], ["u", "allvariables", "GROUP"], ["u", "atg", "SCALAR"], ["u", "isnil", "STRING"], ["u", "isnil", "CODE"], ["u", "units", "GROUP"], ["u", "units", "OBJECT"], ["u", "cos", "SCALAR"], ["u", "private", "STRING"], ["u", "private", "ARRAY"], ["u", "vectormagnitude", "ARRAY"], ["u", "format", "ARRAY"], ["u", "scriptdone", "SCRIPT"], ["u", "vectormagnitudesqr", "ARRAY"], ["u", "vectornormalized", "ARRAY"], ["u", "call", "CODE"], ["u", "with", "NAMESPACE"], ["u", "default", "CODE"], ["u", "comment", "STRING"], ["u", "compile", "STRING"], ["u", "while", "CODE"], ["u", "typename", "ANY"], ["u", "str", "ANY"], ["u", "for", "STRING"], ["u", "if", "BOOL"], ["u", "selectrandom", "ARRAY"], ["u", "reverse", "ARRAY"], ["u", "tolower", "STRING"], ["u", "case", "ANY"], ["u", "switch", "ANY"], ["u", "params", "ARRAY"], ["u", "diag_log", "ANY"], ["u", "tree__", "STRING"], ["u", "typeof", "OBJECT"], ["u", "help__", "STRING"], ["u", "configparse__", "STRING"], ["u", "toarray", "STRING"], ["u", "tostring", "ARRAY"], ["u", "configname", "CONFIG"], ["u", "confighierarchy", "CONFIG"], ["u", "inheritsfrom", "CONFIG"], ["u", "isnumber", "CONFIG"], ["u", "istext", "CONFIG"], ["u", "isclass", "CONFIG"], ["u", "isarray", "CONFIG"], ["u", "getnumber", "CONFIG"], ["u", "gettext", "CONFIG"], ["u", "getarray", "CONFIG"], ["u", "creategroup", "SIDE"], ["u", "groupid", "GROUP"], ["u", "deletegroup", "GROUP"], ["u", "createvehicle", "ARRAY"], ["u", "deletevehicle", "OBJECT"], ["u", "position", "OBJECT"], ["u", "getpos", "OBJECT"], ["u", "velocity", "OBJECT"], ["b", "SCALAR", "min", "SCALAR"], ["b", "SCALAR", "atan2", "SCALAR"], ["b", "OBJECT", "domove", "ARRAY"], ["b", "ARRAY", "domove", "ARRAY"], ["b", "SCALAR", "^", "SCALAR"], ["b", "CODE", "foreach", "ARRAY"], ["b", "ARRAY", "vectordiff", "ARRAY"], ["b", "ARRAY", "vectoradd", "ARRAY"], ["b", "SCALAR", "max", "SCALAR"], ["b", "ANY", "!=", "ANY"], ["b", "SIDE", "!=", "SIDE"], ["b", "STRING", "!=", "STRING"], ["b", "OBJECT", "!=", "OBJECT"], ["b", "GROUP", "!=", "GROUP"], ["b", "TEXT", "!=", "TEXT"], ["b", "CONFIG", "!=", "CONFIG"], ["b", "DISPLAY", "!=", "DISPLAY"], ["b", "CONTRO", "!=", "CONTRO"], ["b", "LOCATION", "!=", "LOCATION"], ["b", "ARRAY", "set", "ARRAY"], ["b", "SCALAR", "mod", "SCALAR"], ["b", "SCALAR", "-", "SCALAR"], ["b", "ARRAY", "-", "ARRAY"], ["b", "SCALAR", "%", "SCALAR"], ["b", "ARRAY", "pushback", "ANY"], ["b", "SCALAR", "+", "SCALAR"], ["b", "ARRAY", "+", "ARRAY"], ["b", "STRING", "+", "STRING"], ["b", "SCALAR", "*", "SCALAR"], ["b", "SCALAR", "/", "SCALAR"], ["b", "CONFIG", "/", "STRING"], ["b", "ARRAY", "vectorcos", "ARRAY"], ["b", "SCALAR", ">", "SCALAR"], ["b", "ARRAY", "append", "ARRAY"], ["b", "ARRAY", "resize", "SCALAR"], ["b", "ARRAY", "vectorcrossproduct", "ARRAY"], ["b", "IF", "exitwith", "CODE"], ["b", "ANY", "call", "CODE"], ["b", "ARRAY", "vectordistance", "ARRAY"], ["b", "BOOL", "&&", "BOOL"], ["b", "BOOL", "&&", "CODE"], ["b", "SWITCH", ":", "CODE"], ["b", "ARRAY", "select", "SCALAR"], ["b", "ARRAY", "select", "BOOL"], ["b", "ARRAY", "select", "ARRAY"], ["b", "ARRAY", "select", "CODE"], ["b", "STRING", "select", "ARRAY"], ["b", "CONFIG", "select", "SCALAR"], ["b", "ARRAY", "vectordistancesqr", "ARRAY"], ["b", "ANY", "spawn", "CODE"], ["b", "ARRAY", "vectordotproduct", "ARRAY"], ["b", "SCALAR", "<=", "SCALAR"], ["b", "ARRAY", "vectormultiply", "SCALAR"], ["b", "SCALAR", ">=", "SCALAR"], ["b", "WITH", "do", "CODE"], ["b", "WHILE", "do", "CODE"], ["b", "FOR", "do", "CODE"], ["b", "SWITCH", "do", "CODE"], ["b", "NAMESPACE", "getvariable", "STRING"], ["b", "NAMESPACE", "getvariable", "ARRAY"], ["b", "OBJECT", "getvariable", "STRING"], ["b", "OBJECT", "getvariable", "ARRAY"], ["b", "GROUP", "getvariable", "STRING"], ["b", "GROUP", "getvariable", "ARRAY"], ["b", "SCALAR", "==", "SCALAR"], ["b", "SIDE", "==", "SIDE"], ["b", "STRING", "==", "STRING"], ["b", "OBJECT", "==", "OBJECT"], ["b", "GROUP", "==", "GROUP"], ["b", "TEXT", "==", "TEXT"], ["b", "CONFIG", "==", "CONFIG"], ["b", "DISPLAY", "==", "DISPLAY"], ["b", "CONTRO", "==", "CONTRO"], ["b", "LOCATION", "==", "LOCATION"], ["b", "FOR", "step", "SCALAR"], ["b", "NAMESPACE", "setvariable", "ARRAY"], ["b", "OBJECT", "setvariable", "ARRAY"], ["b", "GROUP", "setvariable", "ARRAY"], ["b", "OBJECT", "setvelocity", "ARRAY"], ["b", "ARRAY", "joinstring", "STRING"], ["b", "CODE", "count", "ARRAY"], ["b", "STRING", "callextension", "STRING"], ["b", "STRING", "callextension", "ARRAY"], ["b", "IF", "then", "ARRAY"], ["b", "IF", "then", "CODE"], ["b", "CODE", "else", "CODE"], ["b", "FOR", "from", "SCALAR"], ["b", "FOR", "to", "SCALAR"], ["b", "SCALAR", "<", "SCALAR"], ["b", "ARRAY", "apply", "CODE"], ["b", "ARRAY", "deleteat", "SCALAR"], ["b", "ARRAY", "arrayintersect", "ARRAY"], ["b", "ARRAY", "find", "ANY"], ["b", "STRING", "find", "STRING"], ["b", "ARRAY", "params", "ARRAY"], ["b", "CONFIG", "merge__", "CONFIG"], ["b", "ANY", "createvehiclelocal", "ANY"], ["b", "BOOL", "and", "BOOL"], ["b", "BOOL", "and", "CODE"], ["b", "BOOL", "||", "BOOL"], ["b", "BOOL", "||", "CODE"], ["b", "BOOL", "or", "BOOL"], ["b", "BOOL", "or", "CODE"], ["b", "ANY", "isequalto", "ANY"], ["b", "STRING", "createvehicle", "ARRAY"], ["b", "ANY", "isequaltype", "ANY"], ["b", "CONFIG", ">>", "STRING"], ["b", "OBJECT", "setpos", "ARRAY"], ["b", "GROUP", "createunit", "ARRAY"], ["b", "STRING", "createunit", "ARRAY"] ] hope you enjoy the 1.0 release https://x39.io/Files/sqfvm/sqfvm-1.0.zip https://github.com/X39/sqf-vm/releases/tag/1.0.0-RC1
  12. just to give some further updates (so this does not appears as dead), i will now present you another snapshot. The biggest highlight this time: pretty-printing i also started to upload those snapshots to my website, so this time you have to head over to here: https://x39.io/projects?project=SQF-VM to get it :) latest snapshot will always be available there. As usual, the discord gets a lot more updates more regular and every snapshot, release or other important info, will always be posted in there (https://discord.gg/vpdwJtG) to pretty print, just do .\sqfvm-cpp.exe --pretty-print path/to/file.sqf -anN `anN` options to supress the normal output, you can always read more about arguments using `--help` hope you enjoyed this little update about sqf-vm ohh and: 25 commands before we hit the next stable release preparations <3 kindly regards X39
  13. quite close to the actual sqf implementation if you want to discover why, the github is the way to go. in case you need help diving deeper, feel free to join the discord and ask questions :) -----edit----- not only i just now noticed i necrod, but i also already posted that :facepalm: i am very sorry for my lazyness ...
  14. Latest snapshot of the cpp variant: https://cdn.discordapp.com/attachments/365803725123747841/464174755105472532/sqfvm-cpp.zip at the moment, the cpp branch hits even in regards of operators supported (https://docs.google.com/spreadsheets/d/1smu1vn9a8uiatg8RMSiOsuWOdOTqOD0Hhyxptm3Jzxo/edit#gid=0) and the debugger is fully implemented, it will be available as new, full release and SQF-VM hits BETA
  15. you always can look into https://github.com/X39/sqf-vm/tree/master/sqfvm-cpp which more or less as close as one can get without direct source code
×