VOGONS

Common searches


Reply 80 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie

I hope this is an okay double-post, because I'm posting a new version today:

Version 1.35 now adds mapping support in the modern-controls version of wolfdosmpu. You can now choose the behavior of the tab key to "disabled", "stats" (like in 1.32), "map (explored)" (automaps your exploration), and "map (full)" (unlocks the whole map and shows all secret locations).

Stats mode: (aka "I'm too cool for automap, but I don't want to miss any secrets before exiting" mode)

stats.png
Filename
stats.png
File size
11.13 KiB
Views
342 views
File license
GPL-2.0-or-later

Automap: (aka "I like Doom" mode)

explored.png
Filename
explored.png
File size
2.69 KiB
Views
342 views
File license
GPL-2.0-or-later

Full map: (aka "I'm still playing it like the 90's, except I have id's hint book" mode)

full.png
Filename
full.png
File size
3.76 KiB
Views
342 views
File license
GPL-2.0-or-later

If you're wondering about the ^ signs, that just means "plus more secrets/treasures that you can't access yet." I automatically exclude currently-inaccessible kills/secrets/treasures depending on what keys you have or what pushwalls you already pushed. This way, when anyone attempts E2M8's impossible pushwall maze, it is possible to "complete" it by simply exhausting all reachable secrets. (You still won't get a 100% stats screen in the end, but you can now sleep at night knowing that you did your absolute best.)

Version 1.35 also fixes a (somewhat well known) pushwall bug in id's code that prevents 100% completion on fast systems (pushwalls move three spaces instead of two). This bug is fixed on both modern-controls and MPU-only versions. (In general, I think the MPU-only version is pretty much stable and any updates would just be game-breaking bug fixes like this.)

Memory usage is slightly higher on the modern-controls version due to the new automap feature. (I tested all the way down to 568 KB of conventional memory free on DOSBox-X for SPEARCW.EXE; anything lower and SoD will refuse to run.) The good news is that saves still work across versions. 😀 You'll just lose the unlocked map areas when you save on the MPU-only version (i.e., when you reload it in the WASD version, everything's back in fog).

Reply 81 of 91, by Gmlb256

User metadata
Rank Oldbie
Rank
Oldbie

Nice to implement the pushwall bugfix, back then it was believed that this bug was map-related and several old mods assumed that the pushwall moved three spaces until it was discovered that this was caused by the pwallstate condition in WL_ACT1.C.

You could add a command line switch or an option for the pushwall if one wants to play maps compatible with vanilla and relies on this buggy behavior.

Reply 82 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie
Gmlb256 wrote on 2021-10-09, 13:39:

You could add a command line switch or an option for the pushwall if one wants to play maps compatible with vanilla and relies on this buggy behavior.

Do you know what other "features" like this should be toggles? I'm actually quite surprised about the history of this pushwall bug. I fixed it assuming ECWolf's own behavior, without thinking that they are also breaking compatibility with some existing maps.

Off the top of my head, one of the "fixes" that people have divided opinions of is with the speed of Fake Hitler fireballs in E3M9. (Again, ECWolf just assumed what it should be: fast.)

Reply 83 of 91, by Gmlb256

User metadata
Rank Oldbie
Rank
Oldbie
ericvids wrote on 2021-10-09, 16:00:

Do you know what other "features" like this should be toggles? I'm actually quite surprised about the history of this pushwall bug. I fixed it assuming ECWolf's own behavior, without thinking that they are also breaking compatibility with some existing maps.

Another "feature" I can name are the "holowalls" which places a dead guard or enemy inside a wall and allows interesting tricks if used well, but that one would not require a toggle switch unlike the pushwall. Most other "features" are related to enemy AI bugs, before attempting to fix them (which breaks compatibility with vanilla demos) you can try the "Temporary Insanity" map set on the DOS version Wolf3D as that one doesn't work on source ports.

ECWolf's pushwall behavior is the correct one but there is a mod to make the pushwall to move three spaces.

Off the top of my head, one of the "fixes" that people have divided opinions of is with the speed of Fake Hitler fireballs in E3M9. (Again, ECWolf just assumed what it should be: fast.)

The fireball behavior is an interesting one, for some reason T_Projectile routine was used as an "action" routine instead of being a "think" routine like the others projectiles such as the rocket and syringe. The original behavior depended on framerate and in faster computers it was very easy to dodge.

Reply 84 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie
Gmlb256 wrote on 2021-10-09, 16:32:

The fireball behavior is an interesting one, for some reason T_Projectile routine was used as an "action" routine instead of being a "think" routine like the others projectiles such as the rocket and syringe. The original behavior depended on framerate and in faster computers it was very easy to dodge.

I cross-checked with ECWolf and their fix is essentially equivalent to reassigning the action routine to the think routine with no other changes, so I did exactly that.

Version 1.36 is now available, which adds your suggestion to make compatibility options as command-line parameters. "WOLF3DCM COMP 1" enables three-tile pushwalls (although I removed the nondeterminism that sometimes makes it two tiles). "WOLF3DCM COMP 2" reenables slow hitler fireballs. "WOLF3DCM COMP" just enables all the "features" and makes it work almost like WOLF3D.EXE. 😀

I also fixed one of my own bugs, which causes phantom secrets to appear in the map when you load a game. While I fixed that, I also noticed that the engine does not actually save changes to the secret tile marks. Normally there is no problem because the corresponding map tiles are now empty (which caused my own code to generate phantoms), but in case you push ANOTHER secret wall in its place, there's a possibility to save the game, reload it, and THAT wall is pushable again. I don't know if it meaningfully appears in any of the stock maps though.

Update: Version 1.37 improves item pickup, fixes more memory issues, now enforces a 568 KB minimum conventional memory requirement on normal start to avoid further memory problems (you can override this using goobers/debugmode), and updated Robert's Jukebox. I mean, the core of this mod is the improved music, so I *had* to update the jukebox, right? 😜

Reply 85 of 91, by carlostex

User metadata
Rank l33t
Rank
l33t

Great stuff, i always wished for any updated vanilla Wolf3D/Spear of Destiny for DOS with bugfixes and more period correct weapons, such as the Kar98k, MP40 and maybe even Panzerfaust 😃.

This is not that, but still great to see an improved version, thanks for the good work.

Reply 86 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie
carlostex wrote on 2021-10-12, 07:57:

... and more period correct weapons, such as the Kar98k, MP40 and maybe even Panzerfaust 😃.

Ehehehe... I don't think I can make THAT kind of mod. 😉

I'm improving this mainly for the guys who want to play the original on DOS with period-correct MIDI modules. 😉

I've been playing my own work for the past few days, and I discovered some things:

1. The game crashes after calling cache-altering functions enough times. It has mostly to do with interaction between memory used by the sound manager and the Message() function (which is used by cheat codes and my automap code). Obviously we can't have crashes, so I fixed my own automap code to not cache ANY resource at all (including the stack that I use to floodfill the map to check connected areas). I didn't bother fixing the cheat codes (it's the price you pay, cheater 😉 -- okay, mostly because I don't want to spend much more time understanding id's cache system).

2. With that fixed, I was able to play through the entire Spear of Destiny without crashing, and I also tried completing Wolf3D episode 2 with maximum possible ratios (with the help of my mapping system of course). And of course there's the dreaded E2M8 maze. The result:

wolf3dcw_000.png
Filename
wolf3dcw_000.png
File size
6.17 KiB
Views
142 views
File license
GPL-2.0-or-later

The map isn't as bad as I thought it would be, it's just mindless pressing of pushwalls. The only part that can break is the one I'm showing on the screenshot. This is the decision point whether you want to get 100% kills, or to sacrifice 1 kill and 1 secret to gain 1 more treasure and to see the "Call Apogee, say Aardwolf" sign (if you're playing the Apogee version). If you press the wrong set of walls, you might not be able to get either, or worse, get stuck in there forever. But otherwise, the rest of the map was straightforward as long as you can track where you are (or you're using automap). 😀

3. The 2 Hans Grosses in the maze are bugged. For some reason they don't activate properly (at least not from a fresh save), and even if they do, if you can pin them down before they are able to move, their shots won't hurt you.

Video footage here: https://www.youtube.com/watch?v=J2x-FfNgD5w

Anyway, here's version 1.38, which I used to test the entire game (and take the above screenshot and video). It didn't crash anymore, so I'm releasing it to the wild.

Last edited by ericvids on 2021-10-15, 18:38. Edited 2 times in total.

Reply 87 of 91, by Gmlb256

User metadata
Rank Oldbie
Rank
Oldbie
ericvids wrote on 2021-10-15, 18:10:

3. The 2 Hans Grosses in the maze are bugged. For some reason they don't activate properly (at least not from a fresh save), and even if they do, if you can pin them down before they are able to move, their shots won't hurt you.

Video footage here: https://www.youtube.com/watch?v=J2x-FfNgD5w

Heh, this reminds me of another enemy AI bug where they won't attack the player if they are stuck on the doorway and the player very near to it while making sure that the enemy can't see the player. This allows the player to kill the enemy with the knife undisturbed except dogs. 😁

Reply 88 of 91, by mOBSCENE

User metadata
Rank Newbie
Rank
Newbie

Neat project! Just tested version 1.38 on my real DOS machine, and it seems to work very good! It also seems to work properly with custom episodes for both Wolfenstein 3D (Super Upgrades) and Spear of Destiny (Mission 2 and 3).

Few small remarks:
* it took me a while to figure out the automap function - there seems to be no info about it on the project page on how to activate it, by accident found your Vogons post that describes the different Tab functions and only then realized I can change the Tab option from the Control menu (assumed Tab function could only be enabled/disabled entirely at first)
* the MPU-401 music is really loud, in comparison to the in-game sound effects and also in comparison with other games that support the MPU-401 - since I use an UM-ONE to transfer MIDI to my main PC to Falcosoft's Midi Player, I can change the volume there, but would prefer to be able to change the volume in-game

Anyway, I haven't noticed any real bugs!

Reply 89 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie
Gmlb256 wrote on 2021-10-15, 18:20:

Heh, this reminds me of another enemy AI bug where they won't attack the player if they are stuck on the doorway and the player very near to it while making sure that the enemy can't see the player. This allows the player to kill the enemy with the knife undisturbed except dogs. 😁

Oooh, I got to try that one... I also noticed I get stuck on doors myself when a standing enemy is immediately adjacent to its opening... I guess it's related...

mOBSCENE wrote on 2021-10-16, 16:03:

Neat project! Just tested version 1.38 on my real DOS machine, and it seems to work very good! It also seems to work properly with custom episodes for both Wolfenstein 3D (Super Upgrades) and Spear of Destiny (Mission 2 and 3).

Wow, I'm glad it works! I haven't actually tested it with the super upgrades and the extra sod missions yet (and I hated mission 2 without a map, hahaha... I wonder if it's playable for me now...)

mOBSCENE wrote on 2021-10-16, 16:03:

* it took me a while to figure out the automap function - there seems to be no info about it on the project page on how to activate it, by accident found your Vogons post that describes the different Tab functions and only then realized I can change the Tab option from the Control menu (assumed Tab function could only be enabled/disabled entirely at first)

Okay, I'm making it a separate menu in the next version... I don't know how long it'll take, but it's gonna be there.

mOBSCENE wrote on 2021-10-16, 16:03:

* the MPU-401 music is really loud, in comparison to the in-game sound effects and also in comparison with other games that support the MPU-401 - since I use an UM-ONE to transfer MIDI to my main PC to Falcosoft's Midi Player, I can change the volume there, but would prefer to be able to change the volume in-game

Anyway, I haven't noticed any real bugs!

As for the music volume, I've so far hesitated because I discovered that the standard way of setting MIDI volume (via GM1 sysex) does not actually work on a few devices, such as the Roland MT-32 and pre-GM models of SC-55/CM-300.

I guess I could set the volume per-channel; I would have to manipulate the MIDI files' own channel volume messages when I get them. What do other games of the era do? (I also noticed Warcraft II sounds much quieter on default settings, but Warcraft I not so much... I haven't had time to check out what they actually send through the MPU401, though)

Reply 90 of 91, by ericvids

User metadata
Rank Newbie
Rank
Newbie

Sorry for the double post, doing a new release:

Version 1.39 is out, addressing the concerns above!

- added music volume control (for the use case as described above)
- put tab function options in a separate menu
- various fixes to automap: pushwall and bonus locations are marked on the map after player death, now renders "seeing" through pillars properly, added pacman ghosts locations (they aren't FL_SHOOTABLE so they previously didn't show)
- negative parameters for COMP, so you can specify, for example, COMP -1 as an easier-to-remember synonym for COMP 14 (which makes things work like WOLF3D.EXE on a Pentium but fixes the pushwall bug)

Note that the pushwall automap fixes required a minor tweak the savegame format. Savegames from 1.32 to 1.38 are forward-compatible to 1.39, but not vice-versa. (Why would you, though?)

The W versions unfortunately takes up 1 more KB of conventional memory (they now require 569 KB minimum). There's a limit to the features I can add before it becomes too large for regular DOS systems. But then again I haven't really cleaned up id's code (apart from removal of the WOLFHACK 386 stuff), so we'll see. Besides, I don't know what else to add at this point -- I've been playing the game as it is now and thoroughly enjoying it. 😁

Reply 91 of 91, by Gmlb256

User metadata
Rank Oldbie
Rank
Oldbie
ericvids wrote on 2021-10-18, 02:40:

But then again I haven't really cleaned up id's code (apart from removal of the WOLFHACK 386 stuff), so we'll see. Besides, I don't know what else to add at this point -- I've been playing the game as it is now and thoroughly enjoying it. 😁

That WOLFHACK stuff was the unused textured floor/ceiling code which eventually got used for the two Blake Stones games by Apogee and the DOS version of Super 3D Noah's Ark (which the original SNES version was notorious for being an unlicensed game). There were mods using a different code for this feature but I found them to be slower and flaky than the WOLFHACK code.

I think that it would be interesting to do a similar treatment for these Wolf3D based games now that I mentioned them. 😀