dhewm3
dhewm3 copied to clipboard
Concept of dhewm3 running at 144Hz refresh
I made a custom win32 build for my testing purposes aimed to 144Hz displays, including RoE and dentonmod. After some testing I decided to share it here in case anyone of you guys wants to try it. It is by no means official proper engine fix, just an experiment if it can run smoothly at such refresh. I also tried to fix some issues found on the way - see bellow. There can be more of them (mainly physics), but hopefully nothing game breaking.
To install this just copy the unzipped content over the stable 1.5.0 dhewm3 release, or merge the autoexec lines if you already use your own. Of course your display refresh has to be 144Hz before executing the game and in-game VSync must be active. The frame time for 144Hz is very close to 7ms, so that is the value I used in all binaries for the integer USERCMD_MSEC constant. With that and the com_fixedTic "1" plus VSync, the game speed looks alright. As for the CPU load, do NOT use r_finish "1" for input lag reduction, it tanks the CPU in some areas and may cause crashes in high refresh. Just leave it at "0", input lag will be lowered anyway with the shorter frame time.
Changes made in the binaries:
- all: physics workarounds to fix some machinery and moved/pushed items
- all: too fast air decreasing when outside
- RoE: replaced hard-coded 16/4 speeds in artifact slowmo ramps
- dentonmod: new weapon not selected (when switch to new is active)
- dentonmod: hud drawed on top of white or red screen overlays
- dentonmod: copied the widescreen crosshair fix from the base game And this was adjusted in the scripts:
- all: too fast fire rate of the chaingun
- dentonmod: lost souls sometimes keep screaming after death
During testing I went through the whole base game and RoE expansion pack using i7-8700, GTX-1080 (drivers 431.60), 2560x1440 @144Hz with default dhewm3 Ultra setting. I didn't use the in-game MSAA, instead used cheap nVidia FXAA, which looks OK in this old game and is almost resources free. GPU was resting the whole time at about 10%..30% load and I didn't encountered any engine crashes. Surprisingly there also weren't any slowdowns due to com_fixedTic "1", not even once. So at least on this CPU the high refresh seems to be viable.
I suggest a little change in the grabber crosshair switching code for RoE. IMHO the crosshair rotation looks better unscaled in widescreen. I doubt it can be fixed to circle due to the dynamic rotation. The code is in d3xp\Player.cpp, idPlayer::DrawHUD function.
if ( weapon.GetEntity()->GetGrabberState() == 1 || weapon.GetEntity()->GetGrabberState() == 2 ) {
cursor->SetStateString( "grabbercursor", "1" );
cursor->SetStateString( "combatcursor", "0" );
cursor->SetStateBool( "scaleto43", false ); // unscaled
cursor->StateChanged( gameLocal.realClientTime ); // set state
} else {
cursor->SetStateString( "grabbercursor", "0" );
cursor->SetStateString( "combatcursor", "1" );
cursor->SetStateBool("scaleto43", true); // scaled
cursor->StateChanged(gameLocal.realClientTime); // set state
}
Nice, this works very well! I haven't tested it too much but it seems very solid.
Ah, it's nice to have non-BFG edition at high refresh rates...
Could anyone compile the 144hz fix for Linux? I'm using dhewm3 from the repositories.
Right I have to play with com_fixedTic -1.
Hey dezo2!
I am not sure why this patch as not received as much attention as it should be! It is the holy grail for D3 modification!
With the Librecoop coming along we are so close to having a better than BFG Edition type co-op experience for the first time ever.
which raised the question,
Any way to have this compatible librecoop on a client side level?
If i used your base.dll It runs but everything is in fast forward. Is there a simple way to be compatible the librecoop base.dll?
Any insight would be very welcomed!
I made a custom win32 build for my testing purposes aimed to 144Hz displays, including RoE and dentonmod. After some testing I decided to share it here in case anyone of you guys wants to try it. It is by no means official proper engine fix, just an experiment if it can run smoothly at such refresh. I also tried to fix some issues found on the way - see bellow. There can be more of them (mainly physics), but hopefully nothing game breaking.
To install this just copy the unzipped content over the stable 1.5.0 dhewm3 release, or merge the autoexec lines if you already use your own. Of course your display refresh has to be 144Hz before executing the game and in-game VSync must be active. The frame time for 144Hz is very close to 7ms, so that is the value I used in all binaries for the integer USERCMD_MSEC constant. With that and the com_fixedTic "1" plus VSync, the game speed looks alright. As for the CPU load, do NOT use r_finish "1" for input lag reduction, it tanks the CPU in some areas and may cause crashes in high refresh. Just leave it at "0", input lag will be lowered anyway with the shorter frame time.
Changes made in the binaries:
- all: physics workarounds to fix some machinery and moved/pushed items
- all: too fast air decreasing when outside
- RoE: replaced hard-coded 16/4 speeds in artifact slowmo ramps
- dentonmod: new weapon not selected (when switch to new is active)
- dentonmod: hud drawed on top of white or red screen overlays
- dentonmod: copied the widescreen crosshair fix from the base game And this was adjusted in the scripts:
- all: too fast fire rate of the chaingun
- dentonmod: lost souls sometimes keep screaming after death
Hi dezo! Is there any chance of having this fantastic mod compatible with dhewm3 1.5.1? Your mod is amazing and surely deserve more attention as @VipersFighting already said.
I've already played the game with it some years ago but wanted to give another go. Thank you!
Hi Alexi, last build I have is 1.5.2pre (without the Denton's mod) - I made it for myself last year when Daniel was fixing audio bugs and adding some new EAX cvars. Feel free to try it, I don't have much time for Doom 3 lately. dhewm3_144Hz_152pre.zip
Feel free to try it
seems to be working just fine with 1.5.1
Did a quick test with dezo2's build two replies before mine. Moving and jumping slows down when fps goes below 144Hz. No issues other than that.
Hi Alexi, last build I have is 1.5.2pre (without the Denton's mod) - I made it for myself last year when Daniel was fixing audio bugs and adding some new EAX cvars. Feel free to try it, I don't have much time for Doom 3 lately. dhewm3_144Hz_152pre.zip
Hi dezo! Sorry to bother you again, but do you know if there is a similar 144Hz mod for Prey (2006) as well? I know it use the same engine of Doom 3 and it's capped at 62.5FPS, maybe you tried to work on something for that game as well. Thank you again for your time and for your effort <3
I beat the base game on Nightmare. Not a single issue at 1920x1080. It was on my previous build with an i5-9600K @5.0GHz, GTX 1660 Super and 16GB DDR4 @3000MHz.
@dezo2
Hi, I know it's been about 16 months since your last post, but is there a version made for 120Hz monitors?