Is there really no source port that it works with?
Well, I assumed from the conversation that the lack of a source port meant that the source code was lost or unavailable. Without it, one is stuck either hacking the existing object code, or rewriting the game from scratch.
I'm pretty certain the Blood source code isn't lost, but it is unavailable.
Jace Hall (co-founder of Monolith Productions)
at one point tried to get Atari to let him to a source port, basically the same as Duke Nukem 3D: Megaton Edition and Shadow Warrior Classic Redux. It would look and feel like the same old Blood, but run natively in modern versions of Windows, support leaderboards, etc. This would allow the game to run on modern systems, build up more awareness of the IP, but still hold the source code from the public. He never explained in detail what went wrong, just that
Atari refused to cooperate so it couldn't happen.
Devolver Digital looked into getting their hands on the Blood IP, and gave up because "it's too expensive."
source 1;
source 2There are some options for fan projects. There's XL Engine, which is progressing super slow because it's a fan project. It's also focusing on like 4 different games, and Blood seems low priority compared to the others (the main one being Daggerfall). BloodCM is port to the Duke3D engine, not sure how it holds up but I assume it's inaccurate in a lot of spots. zBlood is a remake of Blood on the Doom 2 engine, and fails in a lot of ways. It just doesn't look right, plus a lot of details on weapons and enemy placements are wrong and it seems pretty buggy overall. Transfusion is a fan project to port the game over to the Quake 2 engine, but all I've seen of it is multiplayer footage, so I don't even know if work has been done on the campaign.
I personally play Blood using DOSBox, with
some of the tweaks from this guide. The mouse movement still feels a bit off, but it's better than the default. I don't turn off autoaim like the guide suggests. I like to play these old shooters with the autoaim they had originally, and just limit my looking up/down, either by disabling it or making it slower than the horizontal.