Compatibility Options Menu

Advanced Wolfenstein 3D source port based upon Wolf4SDL and ZDoom.
[Home] [Download] [HG builds (Win)] [HG builds (Mac)] [Wiki] [Repo]

Moderator: Blzut3

3371-Alpha
Classic Mac User
Posts: 14
Joined: Wed Oct 12, 2016 17:42

Compatibility Options Menu

Post by 3371-Alpha » Fri Nov 17, 2017 23:30

I know this is probably going to be a stupid sounding request at the moment, considering there are other issues you're working out, but do you think a later version of ECWolf will have a compatibility options menu? What I mean by this is a menu where you can toggle attributes of the game, such as how much health you receive from food or how much ammo you can have. Beside lacking full sprite rotations for enemies, other ports had varying stats like this. Even with the 2nd encounter support heading this way, this would be a nice feature for those whom didn't first play the PC version.

Blzut3
Developer
Developer
Posts: 416
Joined: Sun Jan 24, 2010 22:21

Re: Compatibility Options Menu

Post by Blzut3 » Sat Nov 18, 2017 2:20

Out of the box ECWolf is going to run Mac Wolfenstein like Mac Wolfenstein. If you want it to play like SNES, Jaguar, 3DO, or cross PC and Mac you will need to load a mod. (Although some of those might get supported later depending on how I feel.) Putting mods like that in the menu just causes headache down the line.

I'm not aware of any significant difference between 2nd and 3rd encounter on the Mac besides 3rd encounter having a few extra things.

I don't expect ECWolf will have compatibility options of any sort until post 2.0 where mod backwards compatibility will become an issue.

3371-Alpha
Classic Mac User
Posts: 14
Joined: Wed Oct 12, 2016 17:42

Re: Compatibility Options Menu

Post by 3371-Alpha » Sat Nov 18, 2017 4:21

I don't think the console ports would be necessary to support if the Mac version already is, considering they share the same missions. The graphical differences (brown floor, rats and removal of swastikas (in Nintendo version), different hud and weapon styles) I think could be implemented in the Mac version in the same way the graphics for the Mac version can be implemented in the PC version, via graphical mods. The specific game attributes for each port (i.e. the 199 bullet limit, lack of rotations (I consider this an attribute as it removes the stealth element), ect.) can be adjusted via a menu. Also, the problem with having each individual version use it's own attributes is that you may want to play a particular mod made for a specific version but use attributes from another version, i.e. play a mod for the PC version but have it play like the Mac version with rotations disabled. Maybe you miss understood initially, calling it a "compatibility" menu was probably a bad choice of words on my part since it doesn't change compatibility with anything.

Blzut3
Developer
Developer
Posts: 416
Joined: Sun Jan 24, 2010 22:21

Re: Compatibility Options Menu

Post by Blzut3 » Sat Nov 18, 2017 5:43

Out of all of them the Jaguar version is most likely to be supported since it's all contained in a WAD file which ECWolf can already load. So once Mac Wolf is complete it'd be relatively easy to support it. Adam Biser made a tool to rip all the resources from the SNES ROM so again that one would be fairly easy to support at this point, and with all that it would kind of make sense to finish it off with 3DO which while I don't have a complete reference on how to get to the resources it is really similar to the Mac version. But like I said not really a priority, just something that might be fun to do.

All of the differences can be implemented in mods, so there really is no need for menu options on this. I don't really have a good relatable way to explain it, but I've worked on ZDoom and Zandronum long enough to know that little game specific enhancement features turn into warts from the developer pov. In those cases most of them were implemented before flexible modding was available, but ECWolf benefits from this hindsight.

To attempt to explain it lets take your rotations option (which I assume you mean removing the 360 degree FOV, not actually rotations since that's entirely determined by what sprites are available*). In order to add such option I would need to add code to a few places to check the new additional flag resulting in additional branching which will inevitably be poorly tested. Secondly I would need to somehow make it only apply to built in actors which could be done a few ways, none of which I would consider clean. If it is not limited then I would need to do an impossible task of determining mod author intention since it's possible the FOV was increased for an actor that logically has a 360 degree fov. Could be worked around with more magic numbers, but it could also just be a mod that replaces the relevant actors and provides additional sprites leaving out the mess altogether.

Going the other way has similar complications. What actors do you remove the rotations from? A decorative object with rotations in a mod shouldn't be affected.

I actually did implement something like what you're asking for in the S3DNA re-release. In the menu you can change the sprite scaling on the weapons to match the size of the weapons in the SNES version. This is not in mainline ECWolf since I don't like the hack that I needed to do for it at all, but it was necessary for the commercial release where users can't be expected to load a mod.

3371-Alpha
Classic Mac User
Posts: 14
Joined: Wed Oct 12, 2016 17:42

Re: Compatibility Options Menu

Post by 3371-Alpha » Sat Nov 18, 2017 7:15

I still kind of see little point in supporting the console ports with the Mac port already supported, but to all his own I suppose.

If those setting can be implemented via mod, could they not be merged into the ecwolf.pk3 though? Or perhaps a separate mod that can be auto loaded and adds a menu. For those tweaks one could have them scripted in rather than hardcoded into the binary, for example you could write a script the tells the engine to ignore all enemy/actor sprites except the front ones, and assumably making it default to the Mac combat mode, making them impossible to sneak up on.

Although I'm mostly a mediocre Python an HTML scripter and a lot of that more complicated stuff went over my head, I can respect a fellow programmer's decisions especially one with more experience than me.

Post Reply

Return to “ECWolf”