Jump to content

[thingtypes] What does EDF have new since Phoenix?


printz

Recommended Posts

Sorry to bug ya for editing specs, but I'd like to know what's new in EDF since version 3.33.50. What new thingtype flags or properties exist. I'm specifically interested in ones that affect how much damage one deals or resists.

Share this post


Link to post

New EDF features since 3.33.50:

  • Playerclass and skin definitions
  • ACS spawn id for thingtypes
  • All codepointers can now be called from guns or monsters without crashes.
  • Function-valued options allow DECORATE-style syntax for frame actions both inside and outside of compressed frames.
  • Keywords are provided for most parameterized codepointer arguments.
  • Cascading namespace resolution removes need for explicit namespace qualifiers when passing thing, sound, bexptr, string, etc. mnemonics as codepointer arguments, unless there is a conflict amongst the various namespaces.
  • Sounds are now fully dynamic (there is no longer any distinction between sounds specified via the root EDF and sounds specified via ESOUNDS or ESNDINFO lumps).
  • New codepointers: AlertMonsters, JumpIfTargetInLOS, SetTranslucent, CheckPlayerDone, FadeIn, FadeOut
  • Things now have 8 32-bit counters instead of 3 16-bit ones.
  • CYCLEALPHA flag for effects like ZDoom puts on the blur sphere.
  • Custom damagetypes
  • Special pain and deathstate lists in thingtypes for custom damagetype support.
  • mobj sound subchannel support: things can play up to 8 sounds simultaneously.
  • defaultsprite thingtype field for controlling the remapping of skins.
  • Fonts.
  • RIP flag for penetrating projectiles.
  • PC speaker emulation support fields in sounds.
Ask about whatever you would like to have elaborated.

Share this post


Link to post
Quasar said:

New EDF features since 3.33.50:

  • Playerclass and skin definitions

That's interesting. Where may I look for EDF field reference in the source code? Actually, do I get the power to make new classes with their weapons (and therefore weapon definitions)?


  • All codepointers can now be called from guns or monsters without crashes.

  • Does this make PlayerThunk obsolete, or are monsters capable of changing the global light via Light0,1,2, the player do stunts previously only doable by monsters and so on?


  • Function-valued options allow DECORATE-style syntax for frame actions both inside and outside of compressed frames.

  • This makes misc1...2 and args1...5 completely optional and likely obsolete?


  • Keywords are provided for most parameterized codepointer arguments.

  • Perhaps I should check the source for the keywords; in what file?


  • New codepointers: AlertMonsters, JumpIfTargetInLOS, SetTranslucent, CheckPlayerDone, FadeIn, FadeOut

  • Ultracool all of them; now I can properly emulate Agathodemon, and make more intelligent and communicating monsters. I could check the source code for these functions, if they have the same name as in EDF.


  • Things now have 8 32-bit counters instead of 3 16-bit ones.

  • Heheheh, that figures. MORE than enough. Same syntax (but with greater numbers possible)? :)


  • Custom damagetypes

  • Interesting... how are they set for things and damages? Can they be resisted or are merely cosmetic as in vanilla Hexen?

  • Special pain and deathstate lists in thingtypes for custom damagetype support.

  • Now I see :). How are they listed exactly; by {} or specially named properties?

  • mobj sound subchannel support: things can play up to 8 sounds simultaneously.

  • A new PlaySound argument for controlling this?Neat. And to complete the circle... is anything new notable in ExtraData? You said in an older ExtraData thread something about being able to particularize any thing or linedef with it.

    And where can I look in the source for the Small script functions?

    Thanks for listing... I hope I'll come up with an Eternity project, but I like to put lots of stuff in the wads, resulting in longer time to get it finished.

    Share this post


    Link to post
    Gez said:

    I'm going to assume the new codepointers work just like their ZDoom equivalents.

    That's a bit of documentation already covered. ;)

    Not *exactly* in a couple of cases. Mainly when it comes to the keywords which you can use with them, EE is forced to be more specific than ZDoom is. So don't go off the ZDoom docs verbatim.

    Wiki'ing the codepointer documentation is actually currently underway by various parties. Unfortunately somebody has documented a bunch of pointers that are not supposed to be documented yet. These pointers (p_xenemy.c Hexen functions) are not even added to the bexptrs table, and thus using them in EDF will cause an error.

    I would have appreciated if this had been discussed with me before being undertaken blindly :)

    And btw, I forgot to mention the PlaySoundEx pointer :P

    Share this post


    Link to post

    That's me, sir. Shall I delete them? Sorry... I was assuming the wiki is for anyone to edit and hoping I was right with my 'contributions' :) Too bad I had no time to actually test them :( I thought the wiki didn't move fast enough...

    What to do? Tag the Hexen features as "not available yet" or delete the links?

    EDIT regarding my PM: just send me a PM with what's new in Small in Nekhbet over Phoenix!

    Share this post


    Link to post

    I wouldn't delete them since they'd just have to be recreated sooner or later. However we should probably make some type of template that can mark undocumented or "don't use" features and put it on them.

    There have been no additions to Small that I can think of since Phoenix. Small is considered deprecated because of its lack of bytecode portability to 64-bit systems. It will be superceded by the system currently codenamed Aeon.

    Share this post


    Link to post

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...