Hello, I made this account a long time ago - I've made one other post I think but do read these forums from time to time. Anyway I saw this thread and thought I should clear up some things. I will argue some points, mainly so my position is clear. Of course I realize that several of you disagree - which is fine, proof must be in the results.
First I'd like to mention that the current release on the site has not been updated in a long time and predates the reverse engineering and decompiling efforts. The DaggerXL release does not have much gameplay - outside of dungeon combat and DarkXL is much more complete but still a recreation (and the build is an alpha build). For a source-port accurate, gameplay complete experience you will have to wait until Beta 1 is released. Beta 1 can only be so accurate by disassembling the games and generating equivalent source code.
I'd like to be clear that I disagree with the notion that different implementations of an idea cannot produce functionally equivalent results. I would go so far as to assert that this notion is provably false, fortunately - otherwise decompiling, optimizations, refactoring, etc. would be impossible. For example I could write 3 different software rasterizers that can produce the exact same results using radically different algorithms.
Second decompiled code is, if correct, functionally equivalent to the original - though it will look different. Therefore ports built from decompiled code are functionally equivalent - if proper care is taken - to source ports. When I say "accuracy of a source port" I literally mean that.
Third, I know that several free ports exist for Shadow Warrior. Unfortunately, for some people - including myself - they have issues that detract from the enjoyment. And even if that were not true, I don't see any inherent problem if another option is available. Of course I'm not saying that Shadow Warrior running on the XL Engine is bug free but 1) it hasn't been released yet, 2) it needs more testing (see 1), 3) this is the first time I have ever shown it to the public. If Shadow Warrior isn't functionally equivalent to the original it's due to bugs not due to some inherent impossibility.
Shadow Warrior currently uses most of the original code, with edits of course. Yes some systems use the XL Engine implementations but those systems produce equivalent results in areas that matter. Yes mouse look is different, music plays through the XL Engine Ogg player, etc. but the gameplay code will be exactly the same, the software renderer look the same, physics work the same, etc. except where there are bugs or
optional changes.
People also seem to be confused as to how Shadow Warrior being implemented can possibly help Blood. The game code is completely different and even the version of Build has differences. However enough of the engine is similar that I can get variable, function and file names in cases where they aren't in the exe. I can see how some functions are used and gain extra information. And I got a sense of the requirements of supporting a Build game. Honestly any Build game could have worked, I chose Shadow Warrior because my experiences with existing free ports wasn't that great - it seemed to get less attention then games like Duke Nukem 3D and due to personal preferences.
Truth be told, if people decide they would rather play Shadow Warrior using DosBox, Swp or JFSW - the work of porting and getting the game to work with the XL Engine was still worth it, the effort provided a lot of insights both regarding the engine and Blood decompiling. That said, and you'll have to take my word for it until release unfortunately, but playing Shadow Warrior using the XL Engine is much more enjoyable for me than the alternatives due to the improved high resolution support, better performance and low latency responsive controls.
So is there any point from your point of view? That's for you to decide but it's well worth the trouble from mine.