ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


new:using_acsutils

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
new:using_acsutils [2018/02/20 15:52] – created korshunnew:using_acsutils [2018/02/21 13:58] (current) korshun
Line 1: Line 1:
 ====== Using ACSUtils ====== ====== Using ACSUtils ======
- 
-===== Upgrading the compiler ===== 
- 
-You **must** upgrade your ACS compiler to use ACSUtils because the official ACC 1.55 release can't compile files with more than 256 functions. 
- 
-Upgrade to one of the following compilers: 
- 
-  * **ACC 1.56 Beta**: **[[http://acsutils.strangled.net/lib/exe/fetch.php?media=acc-1.56-beta-g3256a3e.zip|DOWNLOAD]]**. This archive also includes the latest Zandronum zcommon from https://github.com/Korshun/zcommon. 
-  * **[[BCC]]** 
-  * **[[GDCC]]** 
  
 ===== Adding ACSUtils to your project ===== ===== Adding ACSUtils to your project =====
  
-  - Download [[https://github.com/Korshun/acsutils/releases/download/1.6.1/acsutils-1.6.1.zip|the latest release]]+  - [[https://github.com/Korshun/acsutils/releases|Download]] the latest ''acsutils-x.x.x.zip''
-  - Add ''acsutils.acs'' to your project.+  - Copy ''acsutils.acs'' into your project.
   - Include ''acsutils.acs'' after ''zcommon.acs'':   - Include ''acsutils.acs'' after ''zcommon.acs'':
  
Line 22: Line 12:
 </code> </code>
  
-===== Things to note =====+===== floor(), ceil() and round() conflicts ===== 
 + 
 +[[zdoom>floor]], [[zdoom>ceil]] and [[zdoom>round]] are ZDoom's rounding functions. They silently return 0 in Zandronum 3.0 because they are not implemented. Because of that, ACSUtils provides its own implementations of these functions that conflict with built-in ZDoom ones. 
 + 
 +If your mod is exclusively for ZDoom, you can just remove their ACSUtils implementations from ''acsutils.acs''
 + 
 +A better option is to download [[https://github.com/Korshun/zcommon|zcommon for Zandronum]]. It renames built-in ZDoom rounding functions to ''ZDoom_floor'', ''ZDoom_ceil'' and ''ZDoom_round'', and also adds the latest Zandronum functions that are not present in ACC zcommon. It doesn't remove any ZDoom functions, so it can be used for ZDoom modding. 
 + 
 +Once Zandronum adds built-in ZDoom rounding functions, they will be removed from ACSUtils. 
 + 
 +===== Function name conflicts ===== 
 + 
 +If your project has functions (or even variables, if you are using [[ACC]]) with the same names as ACSUtils functions, it won't compile. Rename the functions in your project to fix it. ACSUtils functions are named in a way that avoids some of the most annoying conflicts, but several renames are still needed in big projects.
  
-If your project has functions (or variablesif you are using [[ACC]]) with the same names as ACSUtils functionsit won't compile. Rename the functions in your project to fix it. ACSUtils functions are named to avoid some of the most annoying conflicts, but it still needs several renames in some big projects.+If your project has functions that are already present in ACSUtils and do the same (for example, [[rounding|rounding functons]]), you can just remove them.
  
 ===== Optional enhancements ===== ===== Optional enhancements =====
  
-  - Copy ''decorate/changeflag.txt'' to your decorate and ''#include'' it to make [[functions:ChangeFlag]] and [[functions:ChangeActorFlag]] work. +  - Copy ''decorate/changeflag.txt'' to your decorate and ''#include'' it to make [[ChangeFlag]] work. 
-  - Copy ''cvarinfo.acsutils'' to your project root to allow the server to hide ACSUtils errors using the ''acsutils_noerrors'' cvar (it will automatically load and not conflict with your mod's CVARINFO because ZDoom ignores the extension).+  - Copy ''cvarinfo.acsutils'' to your project root to allow the server to hide [[error|ACSUtils errors]] from clients using the ''acsutils_noerrors'' cvar (it will automatically load and not conflict with your mod's CVARINFO because ZDoom ignores the extension).
  
 ===== BCC enhancements ===== ===== BCC enhancements =====
  
-If you are using [[BCC]], try [[BCSUtils]] -- a BCC-enhanced version of ACSUtils with the same functions!+If you are using [[BCC]], try [[BCSUtils]] -- a BCC-enhanced [[strict_typing|strictly typed]] version of ACSUtils with the same functions!
  
  
new/using_acsutils.1519134755.txt.gz · Last modified: 2018/02/20 15:52 by korshun