Skip to content

Initial support for Duke3D registered v1.3d + a few more shareware-specific restrictions

NY00123 requested to merge NY00123/NukemNet:duke3d-v1.3d into main

The main purpose of this MR is offering initial support for Duke Nukem 3D registered v1.3d. Unsupported for now are user-made GRP files; More details are listed further below.

There are also separate commits restricting options for the matching shareware version, like reducing max. players (with or without bots) to 4. While I could prepare a separate MR, I thought they were all related.

It is recommended to select a specific respawning option, in addition to the game mode. In v1.3d, I've noticed that less things may respawn than expected after selecting a map from NukemNet for a dukematch, rather than using the in-game menu. Then again, the behaviors in v1.5 might also be unexpected. In particular, under v1.5, ammo may respawn under "Dukematch (No spawn)" in a map selected from NukemNet, even though that wasn't the case when selected from the in-game menu.

GRP files are not exposed as an option for registered v1.3d, due to what the game originally did with a user-specified GRP file. While v1.4 and later use it as an extra GRP, v1.3d rather replaces DUKE3D.GRP with the requested one. It's as if you were asking for a totally different IWAD file for a 1990-era Doom game.

The latter was actually one reason for past Duke3D mods to not use GRP files, instead having separate game data files (e.g., .ART, .MAP and .VOC). Good chances are you'll find at least one .BAT script for renaming files. A good suggestion for the time was to make a separate copy of the game for each mod.

Here are two possible ways to approach the problem, outside of this MR:

  • Don't use a GRP and have the contents unpacked into a separate directory. Use DOSBox' overlay directory mounting feature in order to grant the mod's contents a higher priority. This will probably be more relevant in case mods database access is implemented. Furthermore, only one overlay mount is allowed by DOSBox for a previously mounted location in the emulated environment.
  • Alternatively, create a temporary merged GRP file. In theory, this may also work with 2+ mods used altogether.

Merge request reports