New enemy wad problem...

Status
Not open for further replies.

WellDoneSnake

Yoko Shimomura
Hi guys, I have a new problem with my enemy wad and I can't figure out what is wrong it. However I think it might be a problem with the maincfg.
Here it is: https://dl.dropboxusercontent.com/u/75668365/GUN.wad
Also I have to type this up because it is still in progress and I don't want anyone using it (yet), but could you not use any of the material in the wad for your own needs (meaning mods and other things).

Thank you
 
Last edited:
Sorry for the double post (and bump), I haven't received some help for 2 days and this problem has been something that I have been trying to solve for ages (3 weeks) but I know I'm missing something yet I can't find out what it is. (plus it's kind of urgent as I have certain deadlines...)
 
The things(mobj), don't appear in-game. The game just crashes for some unknown reason when I go to the custom level with the things in it. I think it's the maincfg causing the problem.
Sorry if I wasn't being very detailed in the previous posts.
 
You need to convert your sprites to the DooM Graphics format. Select the sprites in SLADE(click the first sprite, and then shift-click the last sprite) and select gfx->convert to... in the right click menu or click the "convert gfx to..." button in the right frame. Configure the menu that appears as shown below:
graphicconversion.png

Hit "convert all" when you're done. Afterwards, you'll want to configure the sprite offsets. With the sprites still selected, hit the "modify GFX offsets" button in the right frame, and in the menu that appears, seelct automatic offsets + monster. However, you'll need to set the offsets manually for the beetle(click and drag or use arrow keys in the sprite viewing frame when a single sprite is selected), or crop them in an image editor so that the automatic offsets can work correctly.


I'm not quite content with just proverbially giving you a fish here though, I need to make sure you can figure out what's wrong in the future yourself. When something goes wrong and you don't immediately recognize what, the first thing you have to do is to figure out the scope of the problem, and that usually works by process of elimination. I didn't notice that the sprites were misconfigured right away, and before I did, I...


  1. Loaded the map with no changes to experience the issue. The map crashed before fadein, indicating that the problem happens in the first 2 tics.
  2. Quickly examined MAINCFG to look for any typoes or obvious mistakes and found nothing.
  3. Added a third sector to the map so it could properly nodesbuild. The map still crashed.
  4. Changed all spawnstates to duration -1 so they'd be the only thing run, map still crashed.
  5. Changed the spawnstates of the mobjs to S_PLAY_STND(spawnstate = 1) to see if the states were to blame at all. Map loaded and one beetle spawned using green sonic sprites, proving that something done in the custom states was crashing the game.
  6. After taking a second look at the map to confirm that only the beetle was placed on it, removed everything except the beetle's infotable and spawnstate from MAINCFG and set the beetle to use its spawnstate again. Confirmed that the map still crashed.
  7. Pasted the beetle's spawnstate and infotable into a text document and examined it with a hex editor to look for invisible junk characters that might be crashing the game, and found nothing out of the ordinary.
  8. Changed frame 1799(gun beetle's spawnstate)'s SPRITENUMBER to 1 and loaded the map. Game did not crash, and the beetle displayed as a blue crawla, proving that whatever was crashing the game was related to the sprite entry.
  9. Loaded the text document from earlier in SOCedit to check what the sprite number was referring to, and found that it pointed at sprite freeslot 2.
  10. Upon closer examination of sprite F002A1, discovered that the sprite was still a bitmap and hadn't been converted to DooM GFX.
  11. Converted all sprites to DooM GFX and ran the wad again, game did not crash and gun beetle displayed correctly, proving that the game was crashing because of the improperly configured sprites.
  12. Redownloaded wad to start out fresh, converted all sprites, and loaded the map again to determine if there were any other issues, finding that the map still worked when the only change was to have the sprites converted, confirming the solution was correct and complete.




Troubleshooting is an iterative process where, when you can't immediately identify the problem, you start ripping things out to see if anything changes, run tests to confirm or deny any idea you might have as to what the problem might be, and make the wad and its components easier to observe until you finally find out exactly what is causing the issue, even if you don't yet know how. This is something you will have to do many, many, many times when working with SOC or scripts or linedef executors or anything complex enough to go wrong without the reason for it being immediately obvious.


You won't be able to do much of anything until you start trying to figure things like that out on your own. You might not be successful very often at first, but it'll happen, and when it does you'll be free to make all kinds of cool stuff because you won't have to give up the first time something explodes unexpectedly. ^_~
 
How on earth did I miss that?
Using Slade is quite confusing but I'll see if this works...
EDIT: To be honest this only happens to me when I use Slade instead of XWE.
EDIT2: It works, thank you and next time I'll try harder and give up after three weeks of frustration.
 
Last edited:
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top