From 47dfe367aa7a83954cdc6d301973cd244cf1f824 Mon Sep 17 00:00:00 2001 From: Dystopian Date: Wed, 26 Jul 2017 19:20:08 +0300 Subject: [PATCH 1/4] Add addon template mention --- docs/wiki/development/coding-guidelines.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/wiki/development/coding-guidelines.md b/docs/wiki/development/coding-guidelines.md index 79214e4ecdf..a006baaf74a 100644 --- a/docs/wiki/development/coding-guidelines.md +++ b/docs/wiki/development/coding-guidelines.md @@ -58,6 +58,9 @@ class ACE_Settings { }; ``` +#### 1.2.5 Addon template +Addon template is at [extras/blank](https://github.com/acemod/ACE3/tree/master/extras/blank){:target="_blank"} repo directory. + ### 1.3 Stringtable All text that shall be displayed to a user shall be defined in a `stringtable.xml` file for multi-language support. From d6eee8b912bb0ca0d2ef783f32eccd91fb9d0eb7 Mon Sep 17 00:00:00 2001 From: Dystopian Date: Wed, 26 Jul 2017 19:34:33 +0300 Subject: [PATCH 2/4] Add fast function recompiling mention --- docs/wiki/development/setting-up-the-development-environment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/wiki/development/setting-up-the-development-environment.md b/docs/wiki/development/setting-up-the-development-environment.md index 580552aaa46..e081f934819 100644 --- a/docs/wiki/development/setting-up-the-development-environment.md +++ b/docs/wiki/development/setting-up-the-development-environment.md @@ -127,6 +127,8 @@ class CfgSettings { #define DISABLE_COMPILE_CACHE ``` +All functions with disabled caching can be recompiled with `[] call ACE_PREP_RECOMPILE;` command without mission restart. You can add a addAction/keybind/pfeh with this code and use it for fast recompiling. + ### 7.2 Restrictions Files must exist in the built PBOs for file patching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths. From de3ce6bbec60ecb62c10e5a981a5ee4265de421e Mon Sep 17 00:00:00 2001 From: Dystopian Date: Wed, 26 Jul 2017 20:17:43 +0300 Subject: [PATCH 3/4] Add LINKFUNC macro description --- docs/wiki/development/coding-guidelines.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/wiki/development/coding-guidelines.md b/docs/wiki/development/coding-guidelines.md index a006baaf74a..8fd68b2cc6e 100644 --- a/docs/wiki/development/coding-guidelines.md +++ b/docs/wiki/development/coding-guidelines.md @@ -90,6 +90,7 @@ There also exists the `FUNC` family of Macros: |`EFUNC(leg,face)` | `ace_leg_fnc_face` or the call trace wrapper for that function. | |`DFUNC(face)` | `ace_balls_fnc_face` and will ALWAYS be the function global variable. | |`DEFUNC(leg,face)` | `ace_leg_fnc_face` and will ALWAYS be the function global variable. | +|`LINKFUNC(face)` | `ace_balls_fnc_face` or "pass by reference" `{_this call ace_balls_fnc_face}` | |`QFUNC(face)` | `"ace_balls_fnc_face"` | |`QEFUNC(leg,face)` | `"ace_leg_fnc_face"` | |`QQFUNC(face)` | `""ace_balls_fnc_face""` used inside `QUOTE` macros where double quotation is required. | @@ -99,6 +100,8 @@ The `FUNC` and `EFUNC` macros shall NOT be used inside `QUOTE` macros if the int Using `FUNC` or `EFUNC` inside a `QUOTE` macro is fine if the intention is for it to be executed as a function. +`LINKFUNC` macro allows to recompile function used in event handler code when function cache is disabled. E.G. `player addEventHandler ["Fired", LINKFUNC(firedEH)];` will run updated code after each recompile. + #### 2.1.1 `FUNC` Macros, Call Tracing, and Non-ACE3/Anonymous Functions ACE3 implements a basic call tracing system that can dump the call stack on errors or wherever you want. To do this the `FUNC` macros in debug mode will expand out to include metadata about the call including line numbers and files. This functionality is automatic with the use of calls via `FUNC` and `EFUNC`, but any calls to other functions need to use the following macros: From 6d1f7421a955650403504a4a64bfd9f9eb598bee Mon Sep 17 00:00:00 2001 From: Dystopian Date: Wed, 26 Jul 2017 20:23:36 +0300 Subject: [PATCH 4/4] Update coding-guidelines.md --- docs/wiki/development/coding-guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wiki/development/coding-guidelines.md b/docs/wiki/development/coding-guidelines.md index 8fd68b2cc6e..53363ba312f 100644 --- a/docs/wiki/development/coding-guidelines.md +++ b/docs/wiki/development/coding-guidelines.md @@ -90,7 +90,7 @@ There also exists the `FUNC` family of Macros: |`EFUNC(leg,face)` | `ace_leg_fnc_face` or the call trace wrapper for that function. | |`DFUNC(face)` | `ace_balls_fnc_face` and will ALWAYS be the function global variable. | |`DEFUNC(leg,face)` | `ace_leg_fnc_face` and will ALWAYS be the function global variable. | -|`LINKFUNC(face)` | `ace_balls_fnc_face` or "pass by reference" `{_this call ace_balls_fnc_face}` | +|`LINKFUNC(face)` | `FUNC(face)` or "pass by reference" `{_this call FUNC(face)}` | |`QFUNC(face)` | `"ace_balls_fnc_face"` | |`QEFUNC(leg,face)` | `"ace_leg_fnc_face"` | |`QQFUNC(face)` | `""ace_balls_fnc_face""` used inside `QUOTE` macros where double quotation is required. |