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

3 enemy-changing questions

Recommended Posts

I recently dug up /newstuff #114 to copy the review of my megawad demo. And I looked down the thread at a comment about my use of SS Soldiers in one level. I tend to agree; what are midget Nazis doing in a common-day military base? So today I changed the SS soldier into a "zombie marine," or a player spriteset with zombieman-colored clothing. Basically these WAR soldiers are just troopers like the other zombiemen.

My first question, the very simple one, is about sprite editing. Basically, the SS guard had three "firing" frames: SSWVE0 (bringing gun up), SSWVF0 (gun up but off), and SSWVG0 (gun firing). Since the player has no frame equivalent to the SS's E-frame, I just used the same frame (gun off) for both E and F. What happened when I tested the wad is, the soldiers would fire, but the "boom" sound played when the gun was OFF. So, I switched the F and G sprites (now E and G are "off," and F is "on"). Now what happens is, the gun turns on and off, but only by the second "on" frame does the soldier fire. Can I fix this?

Another question on that subject: the fire frames only face forward. I know that 0 means all viewpoints and 1-8 mean different viewpoints (right?). If I take out 0 and put in 1-8, will that still work?

For these two questions, I'd prefer a method other than using DeHackEd (I'm still trying to make this wad playable without the patch)...

Final, and harder question: how do I add the soldier's picture to the ending sequence? I know this is possible... in Wolfendoom, the ending screen is different. The game crashes every time it gets to an enemy that doesn't exist in Wolfendoom, but that's because I'm not using the Wolfendoom engine (it divides by 0 when I try to run it, anyone know why?). I assume it doesn't crash in the Wolfendoom engine because it takes out those entries from the ending sequence... and that means being able to edit it. Is this possible in DeHackEd, or perhaps any ZDoom lump? Or is the ending sequence hard-coded (thus the only way Wolfendoom does it is through its own engine)?

Share this post


Link to post

netnomad312 said:
My first question, the very simple one, is about sprite editing. Basically, the SS guard had three "firing" frames: SSWVE0 (bringing gun up), SSWVF0 (gun up but off), and SSWVG0 (gun firing). Since the player has no frame equivalent to the SS's E-frame, I just used the same frame (gun off) for both E and F. What happened when I tested the wad is, the soldiers would fire, but the "boom" sound played when the gun was OFF. So, I switched the F and G sprites (now E and G are "off," and F is "on"). Now what happens is, the gun turns on and off, but only by the second "on" frame does the soldier fire. Can I fix this?


I'm not too sure what you're saying because if you don't change the engine functionality the sprites should function like before you switched to the player-like sprites. In your case, the E frame should look like one of the walking frames; it's the frame the Nazi uses at the end of an attack when it's reloading (and it makes the shotgun's reloading sound.)

Another question on that subject: the fire frames only face forward. I know that 0 means all viewpoints and 1-8 mean different viewpoints (right?). If I take out 0 and put in 1-8, will that still work?


Yes, the engine is normally ready to read that input from the lump names.

Final, and harder question: how do I add the soldier's picture to the ending sequence? I know this is possible... in Wolfendoom, the ending screen is different. The game crashes every time it gets to an enemy that doesn't exist in Wolfendoom, but that's because I'm not using the Wolfendoom engine (it divides by 0 when I try to run it, anyone know why?). I assume it doesn't crash in the Wolfendoom engine because it takes out those entries from the ending sequence... and that means being able to edit it. Is this possible in DeHackEd, or perhaps any ZDoom lump? Or is the ending sequence hard-coded (thus the only way Wolfendoom does it is through its own engine)?


You can do this only if you give the new sprite an existing (lump) name effectively replacing one of the monsters normally appearing on the cast screen (especially if you don't use DeHackEd.)

Share this post


Link to post

E is the reloading sprite? I guess I'm just not understanding what order the sprites are shown. I thought it was E-F-G-F-G-F-G, etc.

A-D are the walking sprites, E is the one I'm not sure of (looks like he's bringing the gun up), F and G are shooting, and H is hurt. For the player, A-D are walking, E and F are shooting and G is hurt.

Since the SS Soldier isn't on that ending screen, neither would this new one. But I'd like it to be. Are you suggesting that I can do that with DeHackEd?

Share this post


Link to post

netnomad312 said:
E is the reloading sprite? I guess I'm just not understanding what order the sprites are shown. I thought it was E-F-G-F-G-F-G, etc.

A-D are the walking sprites, E is the one I'm not sure of (looks like he's bringing the gun up), F and G are shooting, and H is hurt. For the player, A-D are walking, E and F are shooting and G is hurt.


Yeah, I'm sure E is reloading (the frame that is used when the Nazi stops firing, when the opponent is either dead or out of sight); and I said use a walking frame just cause it's pretty similar. I mean inserting lumps like one of the walking frames called SSWVE1 and so on. And naturally you'd leave the aiming and firing graphics in their usual locations (F and G respectively.)

Since the SS Soldier isn't on that ending screen, neither would this new one. But I'd like it to be. Are you suggesting that I can do that with DeHackEd?


Maybe, since by rearranging the sprite name entries and other stuff you could include all the monsters still functioning as usual, but you would still have to replace something in the cast screen.

What I mean is that the monster you remove could maybe still be placed in the game, if you arranged things properly, but you inevitably have a limited and fixed number of monsters (plus the Player) on the cast screen.

Share this post


Link to post

The attack sequence looks like this:

SSWV E 10 A_FaceTarget
*
SSWV F 10 A_FaceTarget
SSWV G 4 A_CPosAttack
SSWV F 6 A_FaceTarget
SSWV G 4 A_CPosAttack
SSWV F 1 A_CPosRefire
Goto *

Your first analysis was correct.
The G-frame must be the one with the flash on and the F-frame the one with the flash off. As you can see the first frame is not part of the firing loop. The E-frame is shown only once at the beginning of the attack but not upon repeated shooting. It is NOT used for reloading! The attack sound is played in the A_CPosAttack code pointer so I don't know why it isn't played at the right time.

Regarding the cast screen: Unfortunately this is not possible without sacrificing another monster. The animation in the cast screen is directly taken from the monsters' attack frames (all except the Nazi) The problem is that this is horribly coded with a lot of assumptions about the frame table so just changing some frame pointers in Dehacked might not work that easily. I don't think it is worth it, especially if you are doing a WAD which should play with Vanilla Doom and doesn't absolutely require a DEH-patch for other purposes.

Share this post


Link to post

At first it looked like the F-frame was appropriate for firing, but after looking at them in-game again, I changed it back. It's cool now...

I like how you can use the same sprite for two frames (like SSWVA2A8)... I just figured that out.

Share this post


Link to post

I believe that the E frame is bringing the gun up, the F frame is aiming, and the G frame is firing. I *think* there is a way to make the soldier appear on the end screen, but it's very complicated and I'm still not sure if it will work.

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
×