Quasar
Moderator

Posts: 5237
Registered: 08-00 |
printz said:
I've been seeing hints about Eternity having ACS. There are functions here and there, with ACS names (not Small names, with leading underscores). In spite of Small's deprecation, Eternity maps can still be scripted, through ACS? Can I just append a BEHAVIOR lump to each Eternity map, and get access to the code with Extradata ACS_Execute parameterized specials on linedefs?
Also, I saw you added heredoc support to EDF. Are there parts of the code that currently make use of heredocs?
I also saw in the source code (e_things.c) some thingtype state defining properties with plurals in them. Looking in the readme file, I assumed those are DECORATE-like state block shorteners. Are they really implemented, and if yes, how is the syntax?
Due to the fact that BEHAVIOR lumps must be used to distinguish between DOOM and Hexen format maps, DOOM format maps may not have BEHAVIOR lumps. There is not currently any other way to add ACS code in Eternity, therefore you cannot use ACS with a DOOM format map.
The specials however are also available through ExtraData, as always.
This is obviously being worked on for Hexen compatibility, and for use with UDMF. It is not in a state you could currently want to try to use. It's not even up to full Hexen support yet, nor does it have any ZDoom extensions.
A heredoc can be used anywhere in EDF that a normal string can be used, but there is currently basically no reason to do this. DECORATE states are, however, immediately around the corner - they will be in the next release without a doubt, as they are almost finished right now. DECORATE states in EDF will be required to be contained inside heredoc strings, because they must contain characters that conflict with EDF's external syntax.
Example of what it will look like:
code:
thingtype Foobar
{
states
@"
Spawn:
FOOB AB 10 A_Look
goto Spawn
See:
FOOB ABCD 5 A_Chase
goto See
"@
}
Last edited by Quasar on 01-01-10 at 23:20
|