Duke4.net Forums: Blood source code reconstructed - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Blood source code reconstructed

User is offline   Nuke.YKT 

#1

Hey there.
Today I want to announce that all versions of Blood Plasma Pak have been finally reconstructed.
All versions with the proper toolchain should compile to byte-by-byte matching EXEs.

https://github.com/NBlood/Blood-RE

This includes the following versions:
- Shareware 1.10
- Shareware 1.11 (23 September 1997)
- Registered 1.10
- Registered 1.11 (19 August 1997)
- Registered 1.11 (23 September 1997)
- Registered 1.20 (BLOOD.EXE from 3DFX patch, NOT 3DFX.EXE)
- Plasma Pak 1.10
- Plasma Pak 1.11 (19 August 1997)
- Plasma Pak 1.11 (23 September 1997)
- Plasma Pak 1.20 (BLOOD.EXE from 3DFX patch, NOT 3DFX.EXE)
- Plasma Pak 1.21 (One Unit Whole Blood)

Some notable differences between versions:
- Shareware hardcodes every sound to play at 11025hz.
- Registered and Plasma Pak have differences in how Tesla, Napalm and Life Leech are working.
- 1.11 adjusts Tchernobog damage scaling values to make him less weak.
- Crystal Ball view is not inverted anymore in 1.11.
- 1.20 changes QFN fonts to BUILD tiles to aid 3DFX version.
- 1.20 also removes GUI for lever warp cheats (also 3DFX change).
- 1.21 is pretty much identical to 1.20, just textual changes.
- There are also numberous minor changes and fixes.

This work is mostly done to help NBlood and Chocolate Blood development.
NBlood already incorporates all accuracy issues found during this work. Shareware and Registered support is yet to be added.
Chocolate Blood (still in development) will be rebased on this code to completely support all possible versions of Blood.
I'm planning to further cover the original release Blood. No plans for 3DFX versions yet, gameplay wise 3DFX version should be identical to 1.20/1.21.
9

User is offline   NY00123 

#2

I think it's safe to say that is a quite important milestone, now also allowing ones to learn more about exact differences in executables' behaviors between old DOS versions.

There's still a significant difference from other reconstructed sources, where the game code covered here was not directly derived from properly open-sourced codebases. For that reason, at least for me, I'd refrain from adding Blood to gamesrc-ver-recreation. But the use of a different location does its job.

That said, it is nice to see influences from my last works, even if small ones: Namely, the gamever.h, dobuild.bat and revsel.bat files, plus the names of macros in gamever.h.

So is the idea of doing this work as a preparation for Chocolate Blood. Other than documentation and educational purposes, I had thought that similar works of mine on other games could be useful for Chocolate Doom equivalents - and possibly also for the Chocolate Doom project itself.

In practice, outside of my ReflectionHLE ports (mainly Wolf3D) and at least one fix for Chocolate Hexen, I think that people had generally used the sources as a base for modified DOS codebases instead. But that's ok, they had just had different ideas from mine.
5

User is offline   Nuke.YKT 

#3

Added a few more versions:
- Shareware 1.11 (19 August 1997)
- Retail Shareware 1.10
- Retail Shareware 1.11 (19 August 1997)
- Retail Shareware 1.11 (23 September 1997)

Compared to normal shareware retail shareware supports CD audio and TEN button in menu is functional.
https://github.com/N...a73b9954b4a4907
6

User is offline   Nuke.YKT 

#4

3DFX versions as well as various MAPEDIT versions are covered now

3DFX versions:
- Registered 1.20 3DFX
- Plasma Pak 1.20 3DFX

https://github.com/N...4922bc8f68eef98

MAPEDIT versions:
- Registered 1.10
- Registered 1.11
- Registered 1.11
- Registered 1.20
- Plasma Pak 1.10
- Plasma Pak 1.11
- Plasma Pak 1.11
- Plasma Pak 1.20
- Plasma Pak 1.21

https://github.com/N...8ef429dc3816599

This post has been edited by Nuke.YKT: 06 December 2025 - 06:36 AM

3

User is offline   MrFlibble 

#5

Gonna ask the inevitable question, does the reconstruction of the shareware source code mean there can now be a proper port supporting the shareware version too?

Is there any way to "clean room" the knowledge required to add shareware support into NBlood without causing any legal issues?
0

User is offline   Nuke.YKT 

#6

View PostMrFlibble, on 06 December 2025 - 08:34 AM, said:

Gonna ask the inevitable question, does the reconstruction of the shareware source code mean there can now be a proper port supporting the shareware version too?

Is there any way to "clean room" the knowledge required to add shareware support into NBlood without causing any legal issues?


Yes, I'll add shareware support soonish
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options