Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
sector666

DDF [not EDF] to Decorate conversion?

Recommended Posts

I'm converting some Strain monsters to Decorate for my own enjoyment. I found a dehacked-to-edf converter and used that because it seemed like edf-to-decorate would be much simpler to do manually than dehacked-to-decorate. (It's almost surprising that there's no dehacked to decorate converter, but I couldn't find one)

I'm a little confused on how finish converting the EDF missle state for the Demon Lord to Decorate:

EDF:
STATES(MISSILE) =
    BOS3:E:8:NORMAL:FACETARGET,
    BOS3:F:0:NORMAL:RESET_SPREADER,
    BOS3:F:0:NORMAL:RANGE_ATTACK,  // A_FatAttack
    BOS3:F:1:NORMAL:RANGE_ATTACK,
    BOS3:G:0:NORMAL:RANGE_ATTACK,  // A_FatAttack
    BOS3:G:1:NORMAL:RANGE_ATTACK,
    BOS3:G:0:NORMAL:RANGE_ATTACK,  // A_FatAttack
    BOS3:G:1:NORMAL:RANGE_ATTACK,#CHASE;

(at the end)
RANGE_ATTACK = MANCUBUS_FIREBALL;

Decorate:
  Missle:
    BOS3 E 8 A_FaceTarget
    BOS3 F 0 RESET_SPREADER,
    BOS3 F 0 RANGE_ATTACK,  // A_FatAttack
    BOS3 F 1 RANGE_ATTACK,
    BOS3 G 0 RANGE_ATTACK,  // A_FatAttack
    BOS3 G 1 RANGE_ATTACK,
    BOS3 G 0 RANGE_ATTACK,  // A_FatAttack
    BOS3 G 1 RANGE_ATTACK	
    Goto See
I know that I should convert the Range_Atacks to A_FatAttacks, but there's three different kind of FatAtacks. How do I know which one to use for each Range_Attack?

I also have no idea what reset_spreader would be in Decorate, or if it would even be needed.


I'm not quite sure how to finish the italic lines in the fireball conversion either.
actor DemonLordShot : BaronBall
{
  Projectile 
  +RANDOMIZE
RADIUS 6
HEIGHT 8
SPEED 15
ATTACKTYPE = FIXED_SPREADER;
ATTACK_HEIGHT = 32;
DAMAGE.VAL = 5;
DAMAGE.MAX = 40;
RenderStyle Translucent
Alpha 0.75
//LAUNCH_SOUND = "FIRSHT";
//DEATH_SOUND = "FIRXPL";
//ATTEMPT_SOUND = "MANATK";

STATES
  {
  Spawn:
    BAL7 AB 4 BRIGHT
	Loop
  Death:
    BAL7 C 8 BRIGHT
    BAL7 D 6 BRIGHT
    BAL7 E 4 BRIGHT
	Stop
   }
}
I think "ATTACK_HEIGHT = 32;" should be "MissileHeight 32", but the ZDoom wiki says that MissileHeight is depreciated.

I also didn't see on the wiki a way to specify max damage, or an equivalent for fixed_spreader.

Share this post


Link to post

http://zdoom.org/wiki/A_FatAttack1

You can specify the missile used with this; FIXED/RESET_SPREADER parameters have no real equivalent/aren't necessary in DECORATE.

Edit:
http://zdoom.org/wiki/Actor_properties#Damage
You can mess around with damage properties for the projectiles here, although setting it to 5 will automatically cap it at 40 with the default damage formula.

IIRC projectiles are spawned at a default height of 32 anyway.

Share this post


Link to post
sector666 said:

I think "ATTACK_HEIGHT = 32;" should be "MissileHeight 32", but the ZDoom wiki says that MissileHeight is depreciated.

Features like this are deprecated because there's better, simpler ways to do the same thing in DECORATE; but they're kept around as compatibility fallback for, notably, dehacked works. So it makes sense to use it in a straight conversion of dehacked code.

There's three A_FatAttack functions because the mancubus fires in different directions in all three.

I'm not an expert in EDF but I have to admit I have no idea how the program is supposed to know what "RANGE_ATTACK" is, notably how it's supposed to guess between the imp, baron/knight, caco, mancubus, revenant, etc. ranged attacks. All monsters except spectres and demons (and, for a certain definition of monsters, Keen and barrels I guess) have range attacks. Even lost souls have a range attack, in a way.

Share this post


Link to post

For the first time ever seeing EDF, I thought it was DDF and the OP got the syntax wrong. The two look extremely similar.

Share this post


Link to post
Chu said:

For the first time ever seeing EDF, I thought it was DDF and the OP got the syntax wrong. The two look extremely similar.

That IS DDF. EDF is nothing like this.

Share this post


Link to post
Gez said:

I'm not an expert in DDF but I have to admit I have no idea how the program is supposed to know what "RANGE_ATTACK" is, notably how it's supposed to guess between the imp, baron/knight, caco, mancubus, revenant, etc. ranged attacks. All monsters except spectres and demons (and, for a certain definition of monsters, Keen and barrels I guess) have range attacks. Even lost souls have a range attack, in a way.



Indeed. It's quite a bit of a weird setup.

But that's the way old EDGE was done, if you look at the source, you'll find that there's very little resemblance to Doom's original code.


For converting Dehacked to DECORATE, my suggestion would be to convert as much of the thing properties directly (load the patch into Whacked to get it presented in a usable fashion.) because the way DECORATE specifies things is a lot closer to Dehacked than to DDF. DDF can be some help for deciphering the state sequences, but you really need to be aware of the fact that it's a lot different to the way Doom did stuff originally whereas DECORATE is mostly a 1:1 representation of how things were organized originally - enhanced to ZDoom's capabilities, of course.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×