Open halapli opened 5 years ago
Since nvidia 940m is a mobile GPU - Is there any other GPU present (perhaps Intel HD) in your laptop? Are you sure this game starts on Nvidia GPU, not Intel HD?
In Empire Earth II for example, there is a bug with missing fire/explosion effects on Intel HD. Unofficial Patch 1.5 fixes this issue with option:
Fix for graphics bugs (no fire/explosion) in DirectX 9. The DirectX 9 fix for graphics bugs (no fire/explosion) fixes issues with invisible fire/explosion effects in game. It forces Pixel Shader Version 1.1.
I have a heavily modified version of d3d8to9 with a configuration file, but you could try compiling with edited "d3d8types.cpp":
Change:
Output.PixelShaderVersion = D3DPS_VERSION(1, 4);
to:
Output.PixelShaderVersion = D3DPS_VERSION(1, 1);
Yeah, according to task manager it is running on the Nvidia GPU. Tried to run it on the Intel one as well and projectiles are still invisible (on top of worse performance, since it's the integrated gpu). I've also compiled it with the edit you've suggested, but it didn't help.
Could you please tell me, if you tried how it works with older versions of d3d8to9? https://github.com/crosire/d3d8to9/releases For example: v1.3.0.
Also, have you tested how it works without d3d8to9 (running on DirectX 8)?
I did, the first .dll I had was from this thread that was made back in 2016. Also tried a few other older versions as well as the most recent. https://steamcommunity.com/app/4760/discussions/0/412448792372318074/
Without the .dll I get much worse performance (which is the reason why I got it) but the projectiles are visible.
Yes, using d3d8to9 is understandable and well-needed on Windows 10. I just thought it could be some of d3d8to9 updates that caused issues.
I'm not sure if in 2013-2014 crosire's d3d8to9 was available. Perhaps you've used: http://enbdev.com/convertor_dx8_dx9_v0036.htm ? Either way, it's good to try how it works with "NBSeries DX8 to DX9 Convertor". It might not be as good, but worth to test just to know.
I remember @elishacloud used to find workarounds for some games that had graphics issues. In most (if not all cases) it depended on errors / undocumented procedures committed by game developers.
Performance with NBSeries DX8 to DX9 Convertor is good, however it breaks some textures and projectiles are still invisible. I've also tried WineD3D for Windows which also uses some d3d8.dll, and while the performance was a bit better than without it and the projectiles worked fine, fps often dropped below 20. Looks like every possible solution introduces some other problem.
It's been a while since I have been on here. I have been busy working on other projects. I was mainly using this project as a learning tool since I had never worked with DirectX before this project. But now I see the issues piling up and I have not had a chance to work on them. Anyways, I hope to come back soon and see if I can fix some more of these issues.
@halapli, is is possible to get a screenshot of these projectiles and tell me how to reproduce the issue? Also what version of the game are you using? I see the game on Steam.
Yes, I'm using the latest Steam version but I've also tried CD version with 1.5 patch, getting the same behaviour. From what I've read so far, it seems like everyone with this issue has Nvidia GPU (although it also happens on my integrated Intel), using Windows and also using the d3d8.dll, so it should be reproducible with all of this included.
Attached screenshots of both flaming and normal projectiles. Normal ones are a simple 2d object that rotates with camera, flaming ones are a proper 3d object.
FYI, the latest available version of Rome: Total War (as available from Steam) definitely uses DirectX 9 natively, not 8. So there should not actually be any reason to use this wrapper with it in the first place...
Hi,
Been using this .dll for years after Rome 1 was suddenly updated in 2013 or 2014. Everything worked well with the .dll until around two years ago, which is when I noticed artillery shooting invisible projectiles. Google results show threads reporting this problem in 2016, so I'm expecting some Windows or nvidia update breaking it. I'm using nvidia 940m, and running Win 10. Any ideas?