diasurgical / devilution

Diablo devolved - magic behind the 1996 computer game
Other
8.66k stars 921 forks source link

Add Diablo Version 1.08-Specific Behavior with Preprocessor Directives #2292

Closed kphoenix137 closed 4 months ago

kphoenix137 commented 4 months ago

Build for version 1.08 binary. The difference between v1.09b and v1.08 is weighting in pathfinding, and fixing sound issues, however nothing in the original source had been changed between v1.09 and v1.09b, but rather using a different version of the directsound API

v1.08 path_get_h_cost() is found at 0x44A911 v1.09/v1.09b path_get_h_cost() is found at 0x4494D3

  1. CHANGES FROM 1.09 TO 1.09b
     (download only, not an automatic battle.net update)

        A. Fixed sound problem with Windows NT 4.

  2. CHANGES FROM 1.08 TO 1.09

        A. Fixed some Battle.net issues.

 Medium bugs (affecting gameplay)
        B. Reverted a change made in 1.08 that, while correctly calculated
           distance, caused unintended gameplay issues.
AJenbo commented 4 months ago

Might want to add the flags here: https://github.com/diasurgical/devilution/blob/master/MakefileVC#L58

kphoenix137 commented 4 months ago

I did a minor change that should allow better handling of building the binary based on targeted version of Diablo. This way we can conditionally handle changes that can span multiple Diablo versions. Perhaps then after another few PRs for different version logic, we could decouple HELLFIRE specific logic from VERSION < 105 specific logic to allow for targeting Hellfire in conjunction with different patches of Diablo (assuming someone would even want to do that).