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

Need help with DECORATE!!!

Recommended Posts

I'm trying to put the Hexen weapons in Doom, and this is the first time that I try to use DECORATE, so I'm a little lost.

 

So the code for one of the weapons is ready and it should at least fire something (I think... I'm... not really sure) but the sprite just shows as an " ! " sign. The ZDoom Wiki says that it's a problem about either missing sprites or a missing DoomEd number.

 

The thing is that all of the weapon's sprites are included in my .pk3 file and they are specified in the DECORATE lump, and I still get the sign and a message in the console saying that my actor has no frames. I also tried to put the DoomEd number in the lump but GZDoom refuses to start if I do so, throwing me an error that says this:

 

"Expected '{' but got identifier 'replaces' instead."

 

What the hell am I doing wrong?

Share this post


Link to post

Using Decorate instead of Mapinfo to set DoomEdNums of actors already created ( and, arguably, at all ), for one.

 

As far as what you're specifically doing wrong, well, that's completely impossible to tell without the code. Based on the error, though, I imagine you put the stuff in the actor declaration line in the wrong order, meaning the parser was expecting the rest of the definition to follow, but instead it got an out-of-order "replaces" statement.

Share this post


Link to post
1 hour ago, Arctangent said:

Using Decorate instead of Mapinfo to set DoomEdNums of actors already created ( and, arguably, at all ), for one.

 

As far as what you're specifically doing wrong, well, that's completely impossible to tell without the code. Based on the error, though, I imagine you put the stuff in the actor declaration line in the wrong order, meaning the parser was expecting the rest of the definition to follow, but instead it got an out-of-order "replaces" statement.

This is what I wrote (the error part):

 

ACTOR TimonsAxe : FWeapAxe 8010 replaces Shotgun

 

Acording to the Wiki that should be right.

 

EDIT: Btw, what should I write in the Mapinfo lump exactly?

 

I hope I'm not asking too many dumb questions.

Edited by KVELLER

Share this post


Link to post

Well, I'm going to need you to clarify something: are you making a new map with the Hexen arsenal in addition to the Doom arsenal, or are you trying to replace the latter with the former?

 

In the first case, the DoomEdNums section of Mapinfo will allow you to get away with using minimal Decorate. In the latter case, you don't have to use DoomEdNums at all - just using "replaces" will accomplish what you need.

 

In either case, the current error is exactly what I expected: the parser expects the DoomEdNum ( which is the only number within the actor declaration ) to be the last part of the actor declaration, so it expects the { that contains the rest of the actor. But since you put the "replaces" statement after the DoomEdNum, it bombs out.

 

The correct order to define this stuff is as follows:

 

ACTOR ActorName [: ParentName] [replaces ReplacedName] [DoomEdNum]

 

You don't have to include all of them, but the ones you do include must be in that order.

Share this post


Link to post

Also keep in mind that "replaces" is only for things spawned in the map.

 

Critically, for weapons, it does not affect weapon slots.

 

(Also it does not affect stuff that is directly given to the inventory instead of spawned on the map. E.g. if you have something that "replaces pistol", it will not stop players from starting with a pistol. You've got to change the player class for that.)

Share this post


Link to post

Another question: the DoomEd number that I have to write is the one from the ParentName or the one of the weapon I'm replacing?

 

I'm trying to replace the Doom arsenal btw. I'll just try to implement the Fighter's weapons and I may play around with player classes later on.

Edited by KVELLER

Share this post


Link to post

Neither. The editor number you use is the one you want to use in the map editor. E.g. you can perfectly well have this:

 

Actor Dummy1 1337 {}

Actor Dummy2 1338 {}

Actor Dummy3 : Dummy1 replaces Dummy2 1339 {}

So if you place a thing type 1337, you'll get a Dummy1; if you place a thing type 1338 you'll get a Dummy2 which will be replaced with a Dummy3; and if you place a thing type 1339 you'll get a Dummy3 directly.

 

You don't even need to give an editor number; especially if you replace something. In the example above, since you can get a Dummy3 by placing a Dummy2, you effectively get both 1338 and 1339 for Dummy3, which is a bit redundant.

Share this post


Link to post

Ok, so I just wrote the following:

 

ACTOR TimonsAxe : FWeapAxe replaces Shotgun

{

}

 

It didn't work, and since I thougth I could've wrote something wrong, I changed "FWeapAxe" for "SuperShotgun". Guess what. The Super Shotgun appeared instead of the Shotgun.

 

This means GZDoom isn't using the frames I put in the .pk3 file. I'm guessing I actually have to write the files' names in a lump, but where exactly?

 

EDIT: Or is it that I can't use a Hexen actor in a Doom game?

Share this post


Link to post

You can use a Hexen actor in a Doom game. Are you sure you provided all the needed sprites?

Share this post


Link to post
6 minutes ago, Gez said:

You can use a Hexen actor in a Doom game. Are you sure you provided all the needed sprites?

Yes, I threw all of them in PNG format in a .pk3 file. No folders. It Refuses to even show the spawn state sprite and I can't pick it up either.

Share this post


Link to post

No folders? Sprites need to be in the /sprites/ folder.

 

Also, you'll need to copy the sounds and SNDINFO. That's not necessary like the sprites are, but the weapon will be silent without.

Share this post


Link to post
3 minutes ago, Gez said:

No folders? Sprites need to be in the /sprites/ folder.

 

Also, you'll need to copy the sounds and SNDINFO. That's not necessary like the sprites are, but the weapon will be silent without.

Oh, ok. I didn't know that.

 

Damn, I was so busy trying to make this work that I forgot about the sound!

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

×