Joined: 13 Oct 2012
Location: Czech Republic
|Posted: Wed Mar 14, 2018 10:53 pm Post subject: ZDaemon actor editing - DeHackEd
|ZDaemon actor editing guide
Hi! If you're looking for a way to edit/add actors (weapons,monsters, items)
this the right topic you're looking for. As you may realize, ZDaemon was based of
ZDoom 1.23, and back then, there was no fancy interface like Decorate,
the only interface for such editing was good old DeHackEd.
(Decorate will most likely never be a thing in ZD for various reasons, dont bother)
So we do have a complex DeHackEd right?
Yet its not documented anywhere!
This topic will server as a topic placeholder until we document all the stuff.
Until then, you can use this eternity/BEX reference.
But remember that there many differences.
Feel free to add whatever you think should be later added.
(I am busy right know with school -.-)
<--- Construction zone --->
Stuff below is a draft sketch <!>
What is DeHackEd
DeHackEd is a special text-lump that can be placed inside WAD
to modify or alter existing states or even create new definitions
based on existing ones. ZDaemon uses its own mutation of dehacked with BOOM extensions called BEX.
History of DeHackEd
DeHackEd was originaly a program for MS-DOS programmed by Greg Lewis,
that allowed to modify and tamper actor states inside original DOOM2.EXE
Properly working up to Win98. Those patches still work up today.
# This is commentary, dehacked parser ignores those.
# Always comment your code. It makes it easier to understand for you and the others.
# This ThingID defines what are we trying to re-define. In this case a ZombieMan.
# Game defines in which game does the actor belong to
# From ZDaemon changelog 1.08-1.09:
# 153. Implemented 2 new dehacked thing properties:
# SpawnID #= , where value can be 0-255.
# Game = , valid names are "Any", "Doom", "Heretic",
# "Hexen" and "Raven".
# SpawnID is used in line specials like Thing_Spawn.
# Game is used for changing the game an actor belongs to.
Game = Any
width = Too fat actually
height = Slim
Missile damage = 0
Scale = 1.0
Speed = 0
Bits = 0
Reaction time = 0
Decal = BulletChip
Hit points= 0
Melee damage = 0
Pain chance = 50
Mass = 40
ID #= over 9000!!!
Render Style = STYLE_NORMAL
Alpha = 1.0
SpawnID #= 0 #0-255
# S O U N D S
Pain sound = 0
Action sound = 0
Alert sound = 0
Death sound = 0
Attack sound = 0
# S T A T E S
Initial frame = 0
Death frame = 0
Injury frame = 0
First moving frame = 0
Exploding frame = 0
Far attack frame = 0
Crash frame = 0
Close attack frame = 0
Burning death frame = 0
Respawn frame = 0
Ice death frame = 0
Ammo type = 0
Ammo use = 0
Min ammo = 0
# STATES FOR WEAPONS
Bobbing frame = 0
Shooting frame = 0
Deselect frame = 0
Select frame = 0
Firing frame = 0
#Hold frame = 0 #Such input does not exist actually and is only within engine