Closed Spatzendame closed 2 years ago
Hi, why do you need to replace DLL?
Hi, I don't need but I want. Because the latest DLL has more optimizations, fixes and features for modern systems. I always want to keep files up-to-date.
I can't tell why it slows down. This is software version, but if I remember correctly, it was accelerated by 2D acceleration (DDraw) maybe and it was running at 640x480. With SDL2 you don't have any acceleration, but today we have way faster CPUs, but if you upscale this on CPU to for example, 4k, maybe it can run slow. Make sure you're running 640x480 on new SDL2.
How to link? Use mingw (gcc) or cross-compile from linux. Or let me do it later :smile:
I am running on 640x480 and it slows down. But I would be very happy to get a way to upscale the software renderer to 4K. Even dgVoodoo2 didn't do that using ddraw or d3d8/9 DLLs. Another reason why I want to update SDL2.dll to v 2.0.22.0 is because I want to use both of your patches (software & glide) in combination. To have an unified SDL2.dll that work with both patches would be great. Actually it get into a conflict. Software patch only works with SDL2 v 2.0.8.0 so it can not get replaced with the DLL from your glide patch.
And what you also should improve in your glide patch is that you should make it working with dgVoodoo2 and then you can set any custom resolution and any other graphics features in the control panel from dgVoodoo2. It has much better compatibility and features. It is much better than your config.template "solution" added by a .batch file in a Windows\user\roaming\temp foder and where nothing works. No resolution change. This solution should be removed and get replaced just by dgVoodoo2 in the NFS2SE main directory.
And what you also should improve in your glide patch is that you should make it working with dgVoodoo2 and then you can set any custom resolution and any other graphics features in the control panel from dgVoodoo2. It has much better compatibility and features. It is much better than your config.template "solution" added by a .batch file in a Windows\user\roaming\temp foder and where nothing works. No resolution change. This solution should be removed and get replaced just by dgVoodoo2 in the NFS2SE main directory.
I disagree: dgVoodoo2 is external generic software, also it's not available on Linux. My solution avoids using wine. To use dgVoodoo2 you can do a simple exe patch or use compat layer to fix out of memory, out of disk space and thread issue, and add dgVoodoo2 DLL to official game.
Config file isn't convenient, but at least you can enable 640x480 there. I can't see reason to not use desktop resolution - it prevents changing resolution but it still allows to bypass compositor (at least on Linux). It's opensource, you can do simple launcher to configure the game (e.g. ImGUI, becuse QtWidgets is too heavy to do such simple thing).
No resolution change.
It is possible, just remove #
- replace #WindowSize=640x480
by WindowSize=640x480
, save file and start game.
I am running on 640x480 and it slows down. But I would be very happy to get a way to upscale the software renderer to 4K
I copied SDL2.dll
from here and I don't have slowdowns on Win10. Maybe you triggered this bug? When you use SDL2.dll
from here you can remove libssp-0.dll
, libwinpthread-1.dll
, libgcc_s_dw2-1.dll
, iconv.dll
.
But I would be very happy to get a way to upscale the software renderer to 4K
Software renderer can't be easily smoothly upscaled to 4k, because CPU can be too slow to do it (at least multithreading needed), but It's possible to use OpenGL to upscale it (bilinear and also bicubic is possible).
This is upscaled to 4k using bilinear filtering by default (if your desktop is set to 4k).
Hi zaps166, what are the .exe patch offset changes to use dgVoodoo2? I really love dgVoodoo2 it is the best wrapper to work with old games on Windows.
In the next weeks SDL2 ver. 2.24.0.0 will be released (instead of 2.0.24.0) which you should re-compile for your both patch projects. Maybe this will fix the slowdown issues. Currently only SDL 2.0.8.0 from your patch works smoothly but I don't see why latest SDL2 versions would cause slowdown issues.
What do you think about NFS2SE modern patch by Verok?
I also noticed a strange thing. In glide mode the game use different track textures in the "SE" folder which are low-res compared to the software renderer textures in the "PC" folder which are in a higher resolution. I want to make a patch that use the software textures in glide mode. And the sky on the track "North Country" looks even much better in the software renderer than in the glide version. I want to make a perfect unified textures replacement.
Maybe this will fix the slowdown issues.
It's already fixed in second project (with glide).
In the next weeks SDL2 ver. 2.24.0.0 will be released (instead of 2.0.24.0) which you should re-compile for your both patch projects.
Does it fix a bug or notably improve performance of this project? If not - why I should upgrade? I can't see difference between 2.0.8 and 2.0.20 here (non-glide version) - both working properly.
SDL 2.0.8 works properly for you, so why you want to upgrade to version which is unstable to you?
I also noticed a strange thing. In glide mode the game use different track textures in the "SE" folder which are low-res compared to the software renderer textures in the "PC" folder which are in a higher resolution. I want to make a patch that use the software textures in glide mode. And the sky on the track "North Country" looks even much better in the software renderer than in the glide version. I want to make a perfect unified textures replacement.
You can try to fix it and give me results if it works and how to patch it.
what are the .exe patch offset changes to use dgVoodoo2? I really love dgVoodoo2 it is the best wrapper to work with old games on Windows.
Well, but this is non-glide version, the second project, glide version doesn't use real glide, it uses OpenGL - so no, you can't there. If you want to use dgVoodoo2 find another project or use original game and use compatibility toolkits for Windows to workaround game bugs (there still should be tutorials in network maybe). At least you can patch exe similar as my non-glide version, but you have to do it on your own (remove CD protection, fix RAM and disk space issue, set CPU affinity to 1 CPU).
Just for curiosity - what is missing here that you need dgVoodoo2?
Hi zaps166, I want to update the SDL2.dll 2.0.8.0 to SDL2.dll 2.0.22.0 But simply replace the .dll file will cause very low fps in game. So I think it must be re-linked from scratch. How do I do that? I have MS Visual Studio Community 2022 installed. Can you explain me how to link the new .dll to NFS2SEN.exe? Or can you do it for me? I am talking about NFS2SEN (software renderer) project not the Glide/OpenGL version. Thank you.