Wolf3d Haven Forum

Please log in or register. Smile

Join the forum, it's quick and easy

Wolf3d Haven Forum

Please log in or register. Smile

Wolf3d Haven Forum

Would you like to react to this message? Create an account in a few clicks or log in to continue.
Wolf3d Haven Forum

A friendly Wolfenstein 3D community, about Wolfenstein 3D, the game that gave birth to first person shooters...


    Reflection Keen - Now supporting Wolfenstein 3D!

    avatar
    NY00123
    Freshmen
    Freshmen

    Number of posts : 19
    Age : 32
    Registration date : 2015-04-14

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Reflection Keen - Now supporting Wolfenstein 3D!

    Post by NY00123 Sat Sep 26, 2020 2:23 pm

    Hi all,

    Let me introduce you to the following source ports inspired by Chocolate Doom, now also covering Wolfenstein 3D: https://github.com/NY00123/refkeen/releases

    This is a 6 years anniversary release. On September 26 2014, I released a new port of Keen Dreams, initially titled "Chocolate Keen Dreams".
    Although Keen Dreams was released earlier in the same month, I actually started some work on it even earlier, after the Catacombs were open-sourced (in June 2014). Reason is that I already knew that a lot of the code was common.

    Following Keen Dreams, I added Catacomb Abyss, then Catacomb 3-D, and finally the rest of the Catacomb Adventure Series.

    Recently, I've been working on the source ports again. With the assistance of the gamesrc-ver-recreation/wolf3d tree, the last release introduces support for Wolfenstein 3D, Spear of Destiny (excluding the mission packs) and Super 3-D Noah's Ark (DOS version).

    For Wolfenstein 3D, this currently covers Apogee shareware versions 1.0, 1.1, 1.2 and 1.4 (the one with cheats), as well as 6-episodes Activision v1.4.
    For Spear of Destiny, this covers FormGen demo v1.0 and Activision v1.4.
    For Super 3-D Noah's Ark, this covers the one Wisdom Tree DOS version that I'm aware of.

    There are still some problems. In particular:
    - You can't save games or load saved games in Wolf3D and the games based on it.
    - These games have no support for the "modern" game controller scheme. I think that the other games should still have it, though.
    - For technical reasons, you can't load the Spear of Destiny mission packs.
    - More generally, you can't load TCs made to work with original EXEs from the 90s (as released by id and/or related publishers). I still haven't decided how to approach this.
    - In order to detect game data, you also need the original DOS exe (albeit the 2015 edition of Keen Dreams is an exception).
    - For Super 3-D Noah's Ark, this exe currently has to be named noah3dos.exe, as this is the way it arrives from Steam right now. Currently, there's no good way to support auto-detection of data with alternative file names.
    - The rate of palette updates in Wolfenstein 3D is at least somewhat imprecise.
    - VSync is disabled by default for now. There are other potential problems with timing in Wolfenstein 3D, which might partially be related to instances in which the game tries to render more often than the host display's refresh rate.
    - Stereo panning remains unimplemented.
    - For the Wolfenstein 3D based games, if you try to use a wall right after pushing it, the behaviors are essentially undefined.
    ossirot
    ossirot
    Freshmen
    Freshmen

    Number of posts : 12
    Age : 38
    Registration date : 2016-05-30

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by ossirot Sun Sep 27, 2020 4:25 pm

    This is great, just tried it out for a bit and it feels very solid. Looking forward to see more from this, great work so far.
    avatar
    NY00123
    Freshmen
    Freshmen

    Number of posts : 19
    Age : 32
    Registration date : 2015-04-14

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by NY00123 Thu Oct 15, 2020 4:22 pm

    @ossirot wrote:This is great, just tried it out for a bit and it feels very solid. Looking forward to see more from this, great work so far.

    Thanks for your interest and for checking this port out!

    A new release is now available. The most important update is probably the addition of support for the Spear of Destiny Mission Packs. There's more, like the detection of more possible locations for game installations, as well as support for more versions of Wolfenstein 3D.

    Code:
    Oct 16, 2020 (v0.31.0):

    * Support more than one possible filename for game data and EXE names.
    Following this, a file named "NOAH3D.EXE" can now be identified as
    a part of Super 3-D Noah's Ark, in addition to "NOAH3DOS.EXE".
    This refers just to the matching DOS executable.
    File integrity check is done using the size and crc32.
    * Additionally, again thanks to the above, support for the
    Spear of Destiny Mission Packs is now in. Reason it's related
    is that the file extension of the mission-specific game data can vary,
    depending on the game installation being in use and its current state.
    For all missions (including the original), .SOD and .SD4 are valid
    file extensions. Other allowed extensions: .SD1 for the base game,
    .SD2 for mission 2 and .SD3 for mission 3.
    * Note that as a side-effect, data integrity checks are now done for all
    game data (graphics, maps, sounds) read from the Wolfenstein 3D codebase.
    In addition to earlier uses of it, the hidden "manualgamevergame" setting
    can now be used to disable this, albeit this might make it impossible
    to properly start Super 3-D Noah's Ark or any of the Spear of Destiny
    missions, depending on the filenames.
    * Add support for more versions of Wolfenstein 3D, again by using code from
    gamesrc-ver-recreation. This covers Apogee 6-episodes versions 1.1, 1.2 and
    1.4, two GT Interactive releases, an id Software release, Apogee 3-episodes
    versions 1.2 and 1.4, an Imagineer version and the March '92 prototype.
    (Thanks to the wolf3denginepatches repository and Chris for assistance.)
    * Add detection of Wolfenstein 3D as it used to be offered via the
    last incarnation of 3drealms.com, either on its own or as a part
    of the 3D Realms Anthology. (Thanks Lunick.)
    * Add detection of Wolfenstein 3D, Spear of Destiny and Super 3-D Noah's Ark
    as currently available from GOG.com. (Thanks WayneCa and chungy.)
    * Improve detection of game installations which is done by inspecting
    the Windows Registry. Basically, this is now done by attempting to
    inspect data for 32-bit and 64-bit applications altogether, while
    additionally still trying to get data with SHGetValue as usual.
    * Wolf3D: The UPLOAD macro was replaced with an UPLOAD variable.
    * Internally rename the wl1ap12 namespace to wl6ap11, and do the same with
    other mentions of such strings. Most noticeable impact is probably
    that when separate Wolf3D EXEs are build, reflection-wl6ap11 is
    created instead of reflection-wl6ap12.
    * Typo fix: Do show "Wolfenstein 3D Shareware v1.4 (Local)" when referring
    to shareware v1.4, instead of mistakenly mentioning v1.2 in the string.
    * Use a bit shorter descriptions for certain Wolfenstein 3D and
    Spear of Destiny versions, so they can fit as launcher titles
    (BE_Launcher_Handler_SupportedGameVersionSelection).
    * Add high level XMS and EMS implementations, use them in Wolf3D's
    Page Manager, and also remove the REFKEEN_SIMPLIFIED/NOEMS/NOXMS
    implementations from Wolf3D. (Thanks Blzut3.)
    * Wolf3D: Following the removal of the REFKEEN_SIMPLIFIED-specific code
    from id_pm.c, pointers can now be appropriately converted in ShapeTest.
    * A small fix for using page up/down in the launcher while
    none of the menu items can be selected.
    * A couple of fixes for bugs introduced after the audio mixer refactoring,
    specific to runs without the audio subsystem.
    * Separate more audio and timing related code into more files, while reducing
    direct references to SDL (albeit it's still used in the same manner).
    * Generally, continue splitting the contents of be_cross_fs.c and
    making other restructurings and differing changes related to this code.
    * Wolf3D: Fix a possible buffer overflow in US_CheckParm, reproduced by
    passing an argument with no alphabetical character. A good example is
    the second argument in the following arguments string: "-tedlevel 1".
    * Make the codebase more usable with Visual Studio.
    * Launcher: Add a missing comment about the impact of the
    scale type setting on the border porches.
    * Bug fix: Conditionally hide or show the mouse cursor after
    toggling fullscreen, depending on game-specific setups.
    * Fix an instance in which the in-game contents don't get
    appropriately resized after toggling fullscreen.
    * Wolf3D: Make the mouse cursor usable while the game
    is paused, if a fullscreen isn't used.
    * Other misc. fixes/changes.
    Nexion
    Nexion
    Seasoned Wolfer
    Seasoned Wolfer

    Number of posts : 250
    Age : 111
    Location : Dimension of Anti-Time
    Hobbie : bringing chaos & madness into universe
    Message : Planet N
    Registration date : 2008-02-27

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by Nexion Tue Oct 27, 2020 1:48 am

    Pretty good port, very close to the original. Save/load game is still missing and audio volume is bit low for me but very stable and accurate. Worth a try.
    Instead of a wall of text here is how it looks: 
    Reflection Keen - Now supporting Wolfenstein 3D! Ref10
    avatar
    NY00123
    Freshmen
    Freshmen

    Number of posts : 19
    Age : 32
    Registration date : 2015-04-14

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by NY00123 Fri Dec 04, 2020 6:59 am

    @Nexion wrote:Pretty good port, very close to the original. Save/load game is still missing and audio volume is bit low for me but very stable and accurate. Worth a try.
    Thanks for checking the port out, as well as bringing your feedback!

    Game saving and loading is indeed still missing, and it's obviously important to get it implemented. I do hope that it can be done in a way which is mostly compatible with original saved games for the DOS versions.

    I've had a few investigations regarding the music volume, basically comparing the outputs of two OPL emulators: Nuke OPL3 and DBOPL. Since DBOPL was used before Wolf3D support was added, I locally added the code required for making it usable in the same manner.

    It does sound like DBOPL has a somewhat higher output. However, I also noticed that in the most recent Wolf4SDL revision (from last November), if DBOPL is used then the OPL emulator's output is scaled by a factor of 4, instead of 2 as it used to be in Reflection Keen. Maybe I did this on purpose as a way of balancing the output.

    The output of MAME's FMOPL in Wolf4SDL is clearly than the modified reflection-wolf3d's with DBOPL, though.
    avatar
    NY00123
    Freshmen
    Freshmen

    Number of posts : 19
    Age : 32
    Registration date : 2015-04-14

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by NY00123 Fri Dec 25, 2020 1:15 am

    I'm ready to announce another release. It introduces saved games support to Wolf3D. They should be written in the same binary formats as the matching DOS versions. On the other hand, due to the nature of the implementation, there may still be bugs.

    I also fixed a bug which, unfortunately, may break (partial) compatibility with Keen Dreams and Catacombs saved games. Then again, such compatibility was probably already broken in the same manner with the matching DOS versions.

    Code:
    Dec 25, 2020 (v0.32.0):

    * KDreams, Catacombs (and Wolf3D): Make it possible
    to bind actions to a game controller's D-pad.
    * Wolf3D: Support game controllers, in a similar manner to
    what's already been covered for Keen Dreams and the Catacombs.
    Further add mappings for touch input.
    * Wolf3D: Support stereo panning. This might not be fully accurate,
    but hopefully, it's not that far.
    * Wolf3D: Support saved games. They should be read and written using the same
    formats as the original DOS versions. This may currently be buggy by nature.
    * SD_TimeCountWaitFromSrc/SD_TimeCountWaitForDest timing fix, applying to
    all games, but especially noticeable while playing back demos in Wolf3D.
    * Add support for Spear of Destiny FormGen version 1.0, as well as the
    variation of FormGen version 1.4 which is actually identified as "V1.4"
    in-game. Currently, the one mistakenly identified as "V1.0" won't be detected.
    The mission packs' data still needs to be the same as in the
    Activision version, thus e.g., including the UAC logs.
    * When game installations are shown in the launcher, don't print their
    locations for now. This might become more useful later, in case it will
    be possible to choose any of multiple game installations which otherwise
    match the same version (e.g., due to somewhat differing game data).
    It shouldn't matter as much for now.
    * A change that may potentially break saved games made
    with older versions of the KDreams and Catacombs ports:
    The macros COMPAT_OBJ_CONVERT_OBJ_PTR_TO_DOS_PTR and
    COMPAT_OBJ_CONVERT_DOS_PTR_TO_OBJ_PTR were fixed. The original sizes
    of the object structs, as present in the DOS executables from the 90s,
    are now used, instead of sizeof(objtype) from the source ports.
    * Other misc. fixes and modifications. Thanks to Blzut3 for
    assistance with a subset of the changes in this version.
    ossirot
    ossirot
    Freshmen
    Freshmen

    Number of posts : 12
    Age : 38
    Registration date : 2016-05-30

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by ossirot Mon Dec 28, 2020 2:13 pm

    Great, save/load is much appreciated
    Nexion
    Nexion
    Seasoned Wolfer
    Seasoned Wolfer

    Number of posts : 250
    Age : 111
    Location : Dimension of Anti-Time
    Hobbie : bringing chaos & madness into universe
    Message : Planet N
    Registration date : 2008-02-27

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by Nexion Sun Jan 03, 2021 7:38 am

    Tested the save/load system quickly. Worked as intended and no issues. Should make this a nice alternative way to play wolf3d, spear or some mapsets.

    Sponsored content

    Reflection Keen - Now supporting Wolfenstein 3D! Empty Re: Reflection Keen - Now supporting Wolfenstein 3D!

    Post by Sponsored content


      Current date/time is Sat Apr 10, 2021 5:59 pm