Back to the Korax Forum Archives


Forum

New ACC (based on ZDoom ACC 1.50)

Sat, 08 Oct 2011 15:06:18

Crimson Wizard

I'll try to explain this in short. Currently, ZDoom's ACC (action script compiler / map script compiler) is supposed to technically allow action special ids to be > 255. This is achieved by putting following line in the script before anything else:
#nocompact
This supposedly makes ACC to store action special ids as a 4 byte integer (or 2 byte... depending on how it was compiled, but that's not much important). However, current implementation of ZDoom's ACC has a mistake which makes it fail to write value correctly even though it checks this "nocompact" flag properly. For now I made a very simple fix and uploaded this new fixed ACC on kdev: <!-- m --><a class="postlink" href="http://orcishweb.com/downloads/koraxdev/utils/acc/acc_2011-10-08.zip">http://orcishweb.com/downloads/koraxdev ... -10-08.zip</a><!-- m --> To use it simply copy it to DoomBuilder 2 "Compilers\ZDoom\" folder, overwriting an original one. In KMOD/SE scripts put aforementioned command in the very start of the script. For example:

#nocompact

special 1200:Env_WeatherSnow(5);

// density (default = 120), horz angle, horz speed x8, vert speed x8, pattern
#define env_pattern_none			0

script 1 OPEN
{
    Env_WeatherSnow(120, 0, 0, 1, env_pattern_none);
}
I've also posted a message on ZDoom forums. I intend to get ACC developers attention to the mistake I found. If they'll fix that officially, we will not have to use our custom ACC anymore, and that will make things easier.
Mon, 10 Oct 2011 10:38:53

RambOrc

I guess that means we have snow and rain, anything else?
Mon, 10 Oct 2011 16:58:44

Crimson Wizard

[quote="RambOrc":32d7lc8z]I guess that means we have snow and rain, anything else? Well, this applies to all actions specials > 255 declared in our krpg.acs (one should be on KRPG repository at least):
special     256:Thing_Thrust3d(5),                // tid, h.angle, v.angle, power, vertical power (optional parameter)
            258:Thing_SetTeam(2),                 // tid, team number
            259:Thing_SetPersonId(2),             // tid, person id
            800:IA_SetThreatReaction(3),          // tid, threat reaction, threat vicinity
            900:IA_OrderCancelAll(1),             // tid
            901:IA_OrderCancelCurrent(1),         // tid
            902:IA_OrderStandStill(3),            // tid, priority, duration
            903:IA_OrderStandLook180(3),          // tid, priority, duration
            904:IA_OrderStandLook360(3),          // tid, priority, duration
            905:IA_OrderWalkTo(4),                // tid, priority, duration, target tid
            906:IA_OrderWalkPath(5),              // tid, priority, duration, first node tid, direction
            907:IA_OrderPatrol2Pt(5),             // tid, priority, duration, first target, second target (optional)
            908:IA_OrderPatrolPath(5),            // tid, priority, duration, first node tid, direction
            909:IA_OrderPatrolLoop(5),            // tid, priority, duration, first node tid, direction
            910:IA_OrderFollow(4),                // tid, priority, duration, target tid
            911:IA_OrderEvadePos(4),              // tid, priority, duration, target tid
            912:IA_OrderEvadeThing(4),            // tid, priority, duration, target tid
            913:IA_OrderAttackAll(3),             // tid, priority, duration
            914:IA_OrderAttackThing(4),           // tid, priority, duration, target tid
            915:IA_OrderWander(5),                // tid, priority, duration, target tid, radius
            1200:Env_WeatherSnow(5),			  // density (default = 120), horz angle, horz speed x8, vert speed x8, pattern
            1201:Env_WeatherRain(5),			  // density (default = 40), horz angle, horz speed x8, vert speed x8, pattern
            1202:Env_WeatherTerminate(1),         // weather num
            1203:Env_WeatherTerminateAll(0),
            1204:Env_WeatherSetParams(5),         // weather num, density, horz angle, horz speed x8, vert speed x8
            1205:Env_WeatherSetPattern(2),        // weather num, pattern
            1206:Env_WeatherSetColour(5);         // weather num, red, green, blue, alpha
This means weather + advanced monster orders + little else.

Back to the Korax Forum Archives