KVELLER Posted April 11, 2017 (edited) 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? 0 Share this post Link to post
Arctangent Posted April 11, 2017 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. 0 Share this post Link to post
KVELLER Posted April 11, 2017 (edited) 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 April 11, 2017 by KVELLER 0 Share this post Link to post
Arctangent Posted April 11, 2017 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. 1 Share this post Link to post
Gez Posted April 11, 2017 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.) 1 Share this post Link to post
KVELLER Posted April 11, 2017 Thank you for the help! I'll ask again if I have more trouble. 0 Share this post Link to post
KVELLER Posted April 11, 2017 (edited) 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 April 11, 2017 by KVELLER 0 Share this post Link to post
Gez Posted April 11, 2017 (edited) 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. 1 Share this post Link to post
KVELLER Posted April 11, 2017 (edited) 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? 0 Share this post Link to post
Gez Posted April 11, 2017 You can use a Hexen actor in a Doom game. Are you sure you provided all the needed sprites? 0 Share this post Link to post
KVELLER Posted April 11, 2017 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. 0 Share this post Link to post
Gez Posted April 11, 2017 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. 1 Share this post Link to post
KVELLER Posted April 11, 2017 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! 0 Share this post Link to post
KVELLER Posted April 11, 2017 OMG it works!!!! Thank you!! Both of you!!! Thanks for taking time to help a noob :') 0 Share this post Link to post
Blue Shadow Posted April 12, 2017 10 hours ago, KVELLER said: Oh, ok. I didn't know that. Then educate yourself. 1 Share this post Link to post