Page 1 of 1

[CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Sat May 07, 2016 4:28 pm
by Korshun
ACSUtils is a huge library of ACS functions that I made because I found myself copy-pasting the same missing functions all over again. Then I added a ton more functions, including a flexible replacement for HudMessage with scaling and 3D HudMessages, and decided to make it usable in multiple projects.

it's 100% Zandronum-compatible and also provides a lot of Zandronum-specific functionality.

To use ACSUtils, download the latest release from https://github.com/Korshun/acsutils/releases, unpack it somewhere and add the folder with .acs files to Include Paths in SLADE settings (Edit -> Preferences -> Scripting -> ACS). Here is a template for an empty project that makes it compile:

Code: Select all

#library "project"

// ACSUtils settings:
#define TIDALLOCSTART 15000

// Includes:
#include "zcommon.acs"
#include "acsutils.acs"

// Your project's error handler:
function void ACSUtilsErrorHandler(int type, int message)
{
	Log(s:"error: ", s:message);
	printbold(s:"error: ", s:message);
}

// Your project's code follows.
ACC can't handle projects with more than 255 functions (ACSUtils provides about 230), so you need a different ACS compiler. There are two options below. To use them, set up acc.exe path in SLADE to point to either of those compilers.
Spoiler: ACC (modified) (Open)
This version of ACC is modified to support up to 8192 functions.

Download: https://github.com/Korshun/acsutils_acc ... 5.5-r1.zip
Github: https://github.com/Korshun/acsutils_acc

If you use the hacked ACC and get errors like "zcommon.acs not found", add ACC directory to Include Paths and recompile.
Spoiler: BCC (Open)
If you use BCC, do NOT use the official versions, they are outdated.

Instead use http://acsutils.strangled.net/files/bcc ... 29_x86.zip, it's the 2016 version compiled by Monsterovich.
If your mods use a function that you think would be useful in other projects, post it here and I'll add it.

Official site/wiki

GitHub

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Sat May 07, 2016 4:50 pm
by Sean
Korshun wrote: It even has 3D HudMessages, but I don't know how to show them off.
Perhaps these magical things called screenshots?

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Sun May 08, 2016 1:47 pm
by Monsterovich
phpBB [media]


http://pastebin.com/JC6Zvz25

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Fri May 27, 2016 9:40 pm
by enderkevin13
Holy shit this looks amazing, is it GZDoom compatible too?

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Fri May 27, 2016 9:53 pm
by Korshun
Yes. It is fully compatible with ZDoom and GZDoom and the hudmessage functions support stuff like translucency which is ZDoom-only.

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Fri May 27, 2016 11:16 pm
by AlexMax
Monsterovich wrote:
phpBB [media]


http://pastebin.com/JC6Zvz25
That's really slick looking, but how is the bandwidth use?

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Sat May 28, 2016 1:15 pm
by Korshun
The hudmessage library simply emits HudMessages, and HudMessages can be used both serverside and clientside. So it really depends on how you write the scripts.

The messages are 100% clientside in this demo wad. A serverside 3d hudmessage would also lag behind the player camera a lot and stutter from packet loss.

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Fri Aug 05, 2016 4:59 pm
by Korshun
ACSUtils 1.1.2 released!

changelog

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Sat Aug 06, 2016 11:02 pm
by Korshun
ACSUtils 1.1.3 released!

Now ACSUtils only uses 11 map variables, making it usable in projects with lots of map variables (ZDoom's ACS interpreter supports 128 map variables max).

changelog & porting guide

Re: [CODE] ACSUtils - a library for ZDoom/Zandronum scripting

Posted: Tue Oct 18, 2016 6:32 pm
by Korshun
I have made a lot of ACSUtils releases. I am posting ACSUtils 1.5 release here because it might be particularly interesting for Zandronum modders, as it adds an efficient way to send strings from server to client!