Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by x39

  1. SQF-VM The SQF emulator A fully working, open-source Virtual Machine for the scripting language of the ArmA Games. Links GitHub Repository Discord Invite Discord Bot Authorization Panel (for adding to your server) FAQ How to use this thing? To start using the SQF-VM, you just have to double click the executable. What can it be used for (examples)? Most obvious example is: you are using a laptop while traveling and wanna test some SQF code. More advanced users might even use this for unit-testing their code. Are there command line parameters available to eg. use this for unit-testing? Yes, there are. To get all, start the tool via command line and the parameter -? How to use the debug interface? There is documentation available on the github page inside of Documentation/Debugger. What is supported? To check what currently is supported and what is not, you can use the `help__ "name"` command. If it outputs proper descriptions, the command is fully supported. If it does not, then the command is not yet implemented sadly. I found a bug, what shall i do now? Try to narrow down the problem as much as you can and then head over to the github issues section to report the bug. I got a question that is not answered in here, what to do? Ask your question in this thread or in the discord channel and i might add it to this list 🙂 Downloads All releases can also be found inside of the releases section of the github repository. 1.0-RC1 Alpha 0.1.4 Alpha 0.1.3 Alpha 0.1.2 Alpha 0.1.1 Alpha 0.1.0 Changelog 1.0-RC1 -/-
  2. impressive work though ... i would recommend not trying to create SQF from within SQF as that is PITA some external tool (or at least a format, some external tool may use) could do wonders here
  3. Thanks for the note. Can you please specify what exactly you would like to have documentation about? And for the installation issue: technically, there is a ReadMe in the ZIP for a reason 😛 (also already stated in the front page that extra steps have to be taken) Updating, again, will happen automatically if one enabled auto-updates and crash-reports
  4. ArmA.Studio Open-Source Community made IDE for ArmA (best works with profiling build) !PLEASE DISABLE BATTLE EYE DURING DEBUGGING SESSIONS! Downloads Arma.Studio - Rewrite https://github.com/ArmA-Studio/Arma.Studio/releases/tag/AppVeyor-118-280fadd641a373b7668f17dd4c1df49c4bb8afe1 ArmA.Studio - Legacy (Old version) 0.1.6290.31151 setup.exe 0.1.6293.24366 setup.exe 0.2.6331.26237 setup.exe 0.2.6333.12157 setup.exe 0.2.6402.7223 setup.exe ArmaDebugEngine (Legacy only) BIDebugEngine.dll build 28 x86 BIDebugEngine.dll build 28 x64 BIDebugEngine.dll build 34 x64 BIDebugEngine.dll build 45 x86 BIDebugEngine.dll build 45 x64 Installation (Rewrite) Download the ZIP file Right click it, Press Properties Either Tick the checkbox at the bottom (Windows 8 ) or press the button (Windows 10) Extract it whereever you want Installation (Legacy) Please refer to this wiki article https://github.com/ArmA-Studio/ArmA.Studio/wiki/Install-and-use-ArmA.Studio Links ArmA.Studio at GitHub ArmaDebugEngine at GitHub Discord Invite Important Informations The tool is provided with auto-update and auto-error-report. Both cannot be disabled as of now. We are actively seeking developers in the community! So if you capable of writing C# code, feel free to join this project 🙂 How to test (Legacy) -@myMod --Addons <-- workspace is set here ---Tag_Mod ----$PBOPREFIX$ ----examplescript.sqf <-- set breakpoint in here ----config.cpp Hope you enjoy!
  5. Intel Drop for Arma.Studio - Rewrite: UI-Editor UX-Element CT_EDIT got added CT_STATIC now displays images correctly (as long as they are in a common format 😛 Arma.Studio does not yet support the arma format) Correct display of changes if available Icons for the toolbox (will cause a load error after the update if you already had this open before, that is to be expected and can be ignored) Bug Fixes Removing UX-Elements via `DEL` Multiple background modes "Highlight all" mode causing all displayed elements to have a black border SplashScreen got updated (Casing now is correct; `ArmA.Studio` -> `Arma.Studio`) `CTRL+S` to save the currently active document Config-Editor Bug Fixes You will get notified as usual when starting Arma.Studio - Rewrite. You may also get it via Github: https://github.com/ArmA-Studio/Arma.Studio/releases/tag/AppVeyor-126-1666c48a3eea912f664ea7d5b688729173402315
  6. Another day, another update! This time however, i got the actual release of the UI-Editor https://github.com/ArmA-Studio/Arma.Studio/releases/tag/AppVeyor-118-280fadd641a373b7668f17dd4c1df49c4bb8afe1 Note that it still is in development and while it IS capable of parsing your existing UIs, it currently is not able to correctly parse eg. "safezoneX * x" (aka: SQF code at all) for the values. Will be implemented in an upcomming update (probably tomorrow) Done, either use the auto-update or head to the releases tab on github to get the latest 😉
  7. What version are you actually using? Can you please provide the download link? Also: What windows version are you using? Have you installed .Net Framework 4.6.2? If it is the one currently listed at the front-page that is "original" ArmA.Studio, that is pretty much out of support and will get replaced soon with the rewrite version.
  8. Some In-Development presentation of the upcomming UI-Editor, The file creation and the properties window: https://www.youtube.com/watch?v=8Hbwy2QJ0oA Stay tuned for more!
  9. Can you Post the exact error? It might also help to join the discord.
  10. Chances are, you have not right-clicked the zip before extracting thus windows disallowing the libraries from being loaded. The following steps should lead to success: Delete the installation Download latest version Right click the zip downloaded, click on Properties Depending on your OS (Windows 8 or Windows 10) at the very bottom in "security" you have either a checkbox or a button labeled with "allow", click it. Continue as usual from here. Arma.Studio should launch fine now. Reason for that is presumably because i do not sign the executables in any way (as software certificates are costly)
  11. The version mentioned in here: No. However, that one also is no longer running arma directly but rather uses SQF-VM for SQF to run.
  12. As a general question: When you click on "Start" to start the debugger, what would you expect Arma.Studio to do? Right now, it is only executing the currently displayed document. but i am thinking about making it do something like "parse all functions", "execute preinit", ... would that confuse somebody? or is that what you would expect? feel free to express your opinion on tah topic.
  13. 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
  14. 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 😉
  15. 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`
  16. 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 💪
  17. 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
  18. 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.
  19. 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)
  20. 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
  21. 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
  22. 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 :)
  23. 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
  24. 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
  25. 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 ...