Reconstructed BioMenace source code
The archive contains full source code for all known versions of BioMenace, from the BioHazard beta (July 1992) to the rather obscure Gold Medallion release. Compiling the source code and compressing the generated executables with the included copy of LZEXE creates 100% identical copies of the original executables.
Some of you might already know that I released a similar source code reconstruction for Keen 4-6 in 2021. This BioMenace source code predates my Keen 4-6 source code by a couple of years. In fact, my Keen 4-6 code was based on this BioMenace code.
Just a few weeks ago, I found the last remaining bits of true BioMenace-related code in my Keen 4-6 source code: The order of the tile info offsets in ID_ASM.EQU is ANIM, SPEED in that file. It should really have been SPEED, ANIM for Keen 4-6, and both the Keen Dreams and the Catacomb 3-D source code used the SPEED, ANIM order in their versions of ID_ASM.EQU. The ANIM and SPEED offsets are never actually used anywhere in the assembly code, so the wrong order doesn't have an effect on the compiled/assembled code. That explains why I missed it. There are also some disabled include directives for VERSION.H or VERSION.EQU in the AUDIOCK?.H and GFX?_CK?.* files, but there are no VERSION.H or VERSION.EQU files in my Keen 4-6 source. The "Return to the Shadowlands" source code was based on an early version of my reconstructed Keen 4-6 code and has some more BioMenace code in it, like the ClipPushSprite() function in CK_STATE.C or the enumeration used for the pushtofloor field of the statetype structure in CK_DEF.H.
When I heard about another BioMenace Episode 1 source reconstruction by lethal-guitar, based on my reconstructed Keen 4-6 code, I decided to revisit my own BioMenace code and prepare it for public release to save everybody the trouble of reconstructing the code for episodes 2 and 3.
It's kind of funny: The original BioMenace code was based on the original Keen Dreams and Keen 4-6 code. I reconstructed the BioMenace code based on the Keen Dreams and Catacomb 3-D (and Wolfenstein 3-D) sources. My Keen 4-6 code was based on my BioMenace code. And then lethal-guitar reconstructed the BioMenace source code based on my Keen 4-6 code. So, in a way, we've come full circle.
This reconstructed source code also comes with a couple of alternative source code files. These files make it easier to modify and expand the dialogue for the hostages, the bosses and the hint robots and/or add proper mid-level saving for the non-beta versions. The mid-level saving code is very similar (but not fully identical) to a patch that I created for the v1.1 freeware release of BioMenace back in August 2018, shortly after the BioHazard beta (which had a semi-working mid-level saving implementation) was released to the public.
Merry christmas everybody.
