{"id":26685289,"url":"https://github.com/SQFvm/runtime","last_synced_at":"2025-03-26T10:15:11.348Z","repository":{"id":40990605,"uuid":"101083767","full_name":"SQFvm/runtime","owner":"SQFvm","description":"Custom implementation of the Arma script language SQF","archived":false,"fork":false,"pushed_at":"2024-10-29T21:59:15.000Z","size":11845,"stargazers_count":98,"open_issues_count":14,"forks_count":30,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-29T23:49:46.968Z","etag":null,"topics":["arma","arma3","cplusplus","cpp","discord","scripting-language","sqf","sqf-vm","stack-based","vm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SQFvm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-08-22T16:23:23.000Z","updated_at":"2024-10-29T21:59:19.000Z","dependencies_parsed_at":"2023-09-27T18:10:33.146Z","dependency_job_id":"da8d2ab0-68fa-49d5-bc66-0d7190919d81","html_url":"https://github.com/SQFvm/runtime","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SQFvm%2Fruntime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SQFvm%2Fruntime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SQFvm%2Fruntime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SQFvm%2Fruntime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SQFvm","download_url":"https://codeload.github.com/SQFvm/runtime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245632414,"owners_count":20647194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arma","arma3","cplusplus","cpp","discord","scripting-language","sqf","sqf-vm","stack-based","vm"],"created_at":"2025-03-26T10:15:08.485Z","updated_at":"2025-03-26T10:15:11.334Z","avatar_url":"https://github.com/SQFvm.png","language":"C++","funding_links":[],"categories":["Applications"],"sub_categories":["Miscellaneous"],"readme":"## SQF-VM\n__SQF-VM is a fully working and open-source Virtual Machine for the scripting language of the ArmA Games.__\n\n[![GitHub issues](https://img.shields.io/github/issues/SQFvm/vm)](https://github.com/SQFvm/vm/issues)\n[![GitHub forks](https://img.shields.io/github/forks/SQFvm/vm)](https://github.com/SQFvm/vm/network)\n[![GitHub license](https://img.shields.io/badge/license-LGPLv3-blue)](https://raw.githubusercontent.com/SQFvm/vm/master/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/SQFvm/vm)](https://github.com/SQFvm/vm/stargazers)\n[![Github All Releases](https://img.shields.io/github/downloads/SQFvm/vm/total)](https://github.com/SQFvm/vm/releases)\n[![Build Status](https://github.com/SQFvm/runtime/workflows/CI/badge.svg)](https://github.com/SQFvm/runtime/workflows/CI)\n[![Discord](https://img.shields.io/discord/365800217871908864)](https://discord.gg/vpdwJtG)\n\n### Cloning\nWhen cloning this repository, you have to do a recursive clone by doing the following: `git clone https://github.com/SQFvm/vm.git --recursive`.\n\nIf you already have cloned without the `--recursive`, you have to perform `git submodule init` followed by `git submodule update` in order to get all dependencies cloned.\n\n### FAQ\n\n\u003e ##### How to use this thing?\n\u003e To start using the SQF-VM, you just have to double click the executable.\n\u003e  \n\u003e ##### What can it be used for (examples)?\n\u003e Most obvious example is: you are using a laptop while traveling and wanna test some SQF code.\n\u003e More advanced users might even use this for unit-testing their code.\n\u003e  \n\u003e ##### Are there command line parameters available to eg. use this for unit-testing?\n\u003e Yes, there are. To get all, start the tool via command line and the parameter -?\n\u003e  \n\u003e ##### How to use the debug interface?\n\u003e There is documentation available on the github page inside of Documentation/Debugger.\n\u003e  \n\u003e ##### What is supported?\n\u003e To check what currently is supported and what is not, you can use the `help__ \"name\"` command.\n\u003e If it outputs proper descriptions, the command is fully supported.\n\u003e If it does not, then the command is not yet implemented sadly.\n\u003e  \n\u003e ##### I found a bug, what shall i do now?\n\u003e Try to narrow down the problem as much as you can and then head over to the github issues section to report the bug.\n\u003e  \n\u003e ##### I got a question that is not answered in here, what to do?\n\u003e Ask your question in this thread or in the discord channel and i might add it to this list :)\n\n### Links\n\n[Website (Download)](https://x39.io/projects?project=SQF-VM)\n[Discord Invite](https://discord.gg/vpdwJtG)\n\n### Issue / Pull Request Template\n\nA template on how to make Pull Requests can be found [here](https://github.com/SQFvm/vm/blob/master/PULL_REQUEST_TEMPLATE.md)\n\nFor Issues please use [this](https://github.com/SQFvm/vm/blob/master/ISSUE_TEMPLATE.md) template.\n\n### Wiki / Documentation\n\nWIP, for now please refer to the Discord.\n\n\n### Diagnostics build flags\n\n| Macro Name                                   | Prefix stdout                      | Description                                                                                      |\n|----------------------------------------------|------------------------------------|--------------------------------------------------------------------------------------------------|\n| `DF__SQF_RUNTIME__ASSEMBLY_DEBUG_ON_EXECUTE` | `\\x1B[94m[ASSEMBLY ASSERT]\\033[0m` | Enables enhanced debug output to console that allows diagnosing issues related to the execution. |\n| `DF__SQF_FILEIO__ALL_FILES`                  | `\\x1B[94m[FILEIO-ALLFILES]\\033[0m` | Outputs the files located of the `allFiles ARRAY` operation.                                     |\n| `DF__SQF_PREPROC__TRACE_MACRO_RESOLVE`       | `\\x1B[94m[PREPROCESSOR-RS]\\033[0m` | Outputs every step during resolution of macro chains.                                            |\n| `DF__SQF_PREPROC__TRACE_MACRO_PARSE`         | `\\x1B[94m[PP-DEFINE-PARSE]\\033[0m` | Outputs additional info during macro-parsing.                                                    |\n| `DF__SQF_CONFIG__REPORT_PROGRESS_BY_LINE`    | `\\x1B[94m[CNF-PARSE-PROGR]\\033[0m` | Counts the lines in a config-to-parse and reports progress according to it to stdout.            |\n| `DF__SQF_RUNTIME__VALUE_SCOPE_DEBUG`         | `\\x1B[94m[VALUE-SCOPE-DBG]\\033[0m` | Every variable-change,-get,-set is logged to console.                                            |\n| `DF__CLI_PRINT_INPUT_ARGS`                   | `\\x1B[95m[CLI-INARG-PRINT]\\033[0m` | Tells the CLI to print out the arguments received.                                               |\n| `DF__CLI_PRINT_TCLAP_ARGUMENTS`              | `\\x1B[95m[CLI-TCLAP-CNTNT]\\033[0m` | Tells the CLI to print out the parsed arguments available.                                       |\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSQFvm%2Fruntime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSQFvm%2Fruntime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSQFvm%2Fruntime/lists"}