ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


Using ACSUtils

Adding ACSUtils to your project

  1. Download the latest
  2. Copy acsutils.acs into your project.
  3. Include acsutils.acs after zcommon.acs:
#include "zcommon.acs"
#include "acsutils.acs"

floor(), ceil() and round() conflicts

floor, ceil and 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 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 that are already present in ACSUtils and do the same (for example, rounding functons), you can just remove them.

Optional enhancements

  1. Copy decorate/changeflag.txt to your decorate and #include it to make ChangeFlag work.
  2. Copy cvarinfo.acsutils to your project root to allow the server to hide 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

If you are using BCC, try BCSUtils – a BCC-enhanced strictly typed version of ACSUtils with the same functions!

new/using_acsutils.txt · Last modified: 2018/02/21 13:58 by korshun