Archvile
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Does Eternity currently support ACS? And heredoc question... And state block question
 
Author
All times are GMT. The time now is 18:37. Post New Thread    Post A Reply
printz
CRAZY DUMB ZEALOT


Posts: 8893
Registered: 06-06


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?

Last edited by printz on 01-01-10 at 14:29

Old Post 01-01-10 14:17 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6128
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

Old Post 01-01-10 23:13 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11396
Registered: 07-07



Quasar said:
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.

And about that, does Eternity supports a Doom-in-Hexen format?

Old Post 01-01-10 23:19 #
Gez is online now Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
printz
CRAZY DUMB ZEALOT


Posts: 8893
Registered: 06-06


Thanks for the information.

I've looked a bit more in the code (e_things.c) and among the supported EDF thing properties I saw "dmg_damagestates", "dmg_deathstates" and others that had ".add" and ".remove" appended to them. They appear to be lists... What exactly is their purpose? Are they practical, for now? Do they really exist, for the user?

Old Post 01-01-10 23:23 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6128
Registered: 08-00


It will to an extent; it is not currently supported though. Hexen map format support is WIP - you can load the maps, but they are in a broken sort of condition, particularly with respect to sector specials. This stuff is simply not finished.

We will be focusing on UDMF, however. Use of Doom-in-Hexen will be considered deprecated in favor of UDMF.

Old Post 01-01-10 23:23 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mordeth
Administrator


Posts: 1994
Registered: 05-00


Again: where are the updated docs? New shiny things is all nice and stuff, but if one does not mention how to implement them it does not do much good.

Old Post 01-02-10 00:20 #
Mordeth is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6128
Registered: 08-00


There aren't any. If you want me to take 3 months off of development to work on them alone, keep in mind the price that is paid. :)

I certainly understand the scope of the problem, but I have yet to find a workable solution to it.

Old Post 01-02-10 03:13 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
printz
CRAZY DUMB ZEALOT


Posts: 8893
Registered: 06-06



Quasar said:

I certainly understand the scope of the problem, but I have yet to find a workable solution to it.

Well, the people with inside knowledge of Eternity (like one whose name starts with an 'e') have to also be enthusiastic and willing enough to add to the wiki.

Again, what do dmg_damagestates and dmg_deathstates do? :P

Old Post 01-02-10 08:00 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Mordeth
Administrator


Posts: 1994
Registered: 05-00


I don't expect a fully-fledged wiki, but mentioning eg the slope trigger numbers or what arguments the new action routines take would already be extremely helpfull. Just saying "EE has slopes" will not magically tell me how to implement them.

Don't think it will take more than 30 minutes for a quick writeup. And you do want people to start using your new features, yes?

Old Post 01-02-10 12:43 #
Mordeth is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
printz
CRAZY DUMB ZEALOT


Posts: 8893
Registered: 06-06



Mordeth said:
I don't expect a fully-fledged wiki, but mentioning eg the slope trigger numbers or what arguments the new action routines take would already be extremely helpfull. Just saying "EE has slopes" will not magically tell me how to implement them.
In this one case, here IS something (but then again, it was posted here when the sekhmet came up).

Most of it is copied from the (latest) EDITREF.HTML so it looks more like a textbook than a wiki tutorial, but it may be modified with each update or revision, or need for better writing.

Old Post 01-02-10 14:29 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11396
Registered: 07-07


What the EE wiki needs is somebody who watches the SVN updates and every time a feature is added or enhanced, deciphers the code and document it. That's what I try to do for ZDoom and GZDoom. It does require some knowledge of programming and enough familiarity with the codebase, which is not something given to everybody. Still, it's not that hard.

Old Post 01-02-10 14:53 #
Gez is online now Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6128
Registered: 08-00


dmg_deathstates is a string array of alternating damagetype and state names which, when placed in an actor, results in the named states being bound to their respective damagetypes.

EX:
code:
thingtype HereticPlayer { dmg_deathstates { Fire, S_HPLAY_FDTH1, Lava, S_HPLAY_FDTH1 } }

However, this syntax is kludgy at best and will not be preferable to using DECORATE-format states, which should be functional in the next release.

Adding the suffix .add to dmg_deathstates causes the states listed to be added to any that are already in the actor (of use in situations involving inheritance and thingdeltas). Without add, the list replaces any in the actor.

Adding the suffix .remove to dmg_deathstates alters the syntax to be used. You omit any names of states and simply list damagetypes, as in this example:
code:
dmg_deathstates.remove { Fire, Lava }

The states will then be unbound from those damagetypes for that thingtype.

dmg_painstates works in the exact same manner, except for pain states rather than death states.

Old Post 01-02-10 21:18 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
printz
CRAZY DUMB ZEALOT


Posts: 8893
Registered: 06-06


I didn't find listings of Fire, Lava... anywhere in the source code, so I assume damage types are arbitrary. Now there is another property called "damagefactor". Does it act like in zdoom, and the format is damagefactor {type1, ratio1, type2, ratio2, ...}[/i] ?

Actually, I could try it myself... And the implications are interesting, as I could try a missile that doesn't kill monsters, it does something else...

Old Post 01-02-10 22:53 #
printz is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6128
Registered: 08-00


They are defined in things.edf

Damagefactors use a new EDF syntax called multi-valued properties, which are exactly like the matching DECORATE syntax:

code:
thingtype Foobar { damagefactor Fire, 0.5 }

You can have as many of those as you want. To remove one, you just set the damagefactor for that damagetype back to 1.0. It would have probably made sense to use mvprops for death and pain damage states, but they predate the addition of mvprops by a year or so.

Old Post 01-02-10 22:54 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Csonicgo


Posts: 4458
Registered: 03-04



Gez said:
What the EE wiki needs is somebody who watches the SVN updates and every time a feature is added or enhanced, deciphers the code and document it. That's what I try to do for ZDoom and GZDoom. It does require some knowledge of programming and enough familiarity with the codebase, which is not something given to everybody. Still, it's not that hard.


I'm the only one that's testing SVN releases, and I have no idea how to do that.

Old Post 01-11-10 16:43 #
Csonicgo is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
esselfortium
A Major Doomworld Concern


Posts: 6643
Registered: 01-02



Csonicgo said:


I'm the only one that's testing SVN releases, and I have no idea how to do that.


Er, what? I'm pretty sure quite a few other people are, myself included.

__________________
essel.spork-chan.net - doom stuff, artwork, and music by esselfortium

Old Post 01-11-10 17:07 #
esselfortium is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
kristus
Megablast!


Posts: 10626
Registered: 07-00


To jot down the rudimentary info for every new feature as they are introduced shouldn't take so long. Should it?

Old Post 01-12-10 14:09 #
kristus is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 18:37. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Does Eternity currently support ACS? And heredoc question... And state block question

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.