Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Understanding direct 3d 7?? #257

Closed
astroskyoffical opened this issue Feb 12, 2024 · 13 comments
Closed

Understanding direct 3d 7?? #257

astroskyoffical opened this issue Feb 12, 2024 · 13 comments

Comments

@astroskyoffical
Copy link

Hello there! I'm attempting to bring life back to the game. X-com enforcer! When playing I can choose 3dfx. Direct3d and software! From my research the game apparently uses direct 3d7 but for some odd reason there is zero dll in the games system fold only this odd dll called. Drdrv.dll. This doesn't really tell much of anything I can do to get this working. Iv been using your dxwrapper in attempts at converting this game to a usable direct x version so I can then translate it to vulkan! I believe it's working just using the direct draw.dll but the speed is not there

My goal is to minimize the translation layers where I can and I'm running this on Android with a emulator called winulator that lets me run wine on my phone. My best total attempt as been using nglide to convert to direct x. Then use direct x to vulkan. On my winulator container. So far this produced the best fps speeds I've seen! I get at least 60 fps to 80! Really good! However this produced horrible audio crackling. But your dxwrapper makes the audio good! But your performance is not there! Am I missing something?

I'm using less translations with your wrapper by simply using direct 3d to. DXVK. Yet the speed is not there compared to nglide -direct x- dxvk which is basically 3 layers right?

Please give me some advice or understanding. I'm so close to making this game an amazing experience in a mobile phone and iv never felt happier but untill I can get better audio it's quite a chore.

@elishacloud
Copy link
Owner

From my research the game apparently uses direct 3d7 but for some odd reason there is zero dll in the games system fold only this odd dll called. Drdrv.dll.

This is normal. The game will load the Windows System32/SysWOW64 copy of the ddraw.dll/d3dim700.dll.

Note: If your copy of Windows is missing these dlls then you need to install them, see here.

Iv been using your dxwrapper in attempts at converting this game to a usable direct x version so I can then translate it to vulkan!

What options are you using in dxwrapper? Also, can you send me the log file?

@astroskyoffical
Copy link
Author

From my research the game apparently uses direct 3d7 but for some odd reason there is zero dll in the games system fold only this odd dll called. Drdrv.dll.

This is normal. The game will load the Windows System32/SysWOW64 copy of the ddraw.dll/d3dim700.dll.

Note: If your copy of Windows is missing these dlls then you need to install them, see here.

Iv been using your dxwrapper in attempts at converting this game to a usable direct x version so I can then translate it to vulkan!

What options are you using in dxwrapper? Also, can you send me the log file?

hi thanks for getting back to me, my use is not exactly standard as im using this on android so theres a bit of overhead already for this. as for the settings I believe I selected d3d7to9 something like that. that seems a very obvious way of making this work. but its hard to tell if its doing anything honestly. where would the log file be located?

@elishacloud
Copy link
Owner

The log is in the game folder, the same folder that you place the dxwrapper files in. It should be called dxwrapper with the name of the game file and .log. So if the game executable is called Game.exe then the log file should be called dxwrapper-game.log.

@astroskyoffical
Copy link
Author

ok here's my process starting from scratch. I install GOG x-com enforcer. I grab the dxwrapper I also put the configure stuff in there too where I can edit the INI file before starting the game. im running DXVK 2.2 which tends to just work for most games.

btw I use DX WRAPPER.dll and DX WRAPPER.INI and for the stub I choose. DDRAW.dll. idk if I need any other dlls for this. do I? all this is contained within the exe location for the game considering the game uses direct 3d 7 which is basically DDRAW. I think this is the right setup? im a bit clueless as you can tell. my settings before booting the game is DIRECT3D. it has software and 3dfx as an option too.

@elishacloud
Copy link
Owner

Yes, that sounds like the right setup. You are adding dxwrapper.dll, dxwrapper.ini and the stub ddraw.dll.

What settings are you configuring in the dxwrapper.ini? Also, can you see the log file?

@astroskyoffical
Copy link
Author

here you GO! the only thing I enabled was direct3d7 to 9. its def working as the overlay reports the right DXVK. however speed is not the greatest just yet!
dxwrapper-xcom.log

@elishacloud
Copy link
Owner

From the log file I can tell it is using Direct3D7. Right now the support is still weak from Direct3D7 to Direct3D9. The speed issue is probably related to lack of mipmap support. Without mipmap support the texture will be much larger and can slow down the performance.

Have you tried dgVoodoo2?

@astroskyoffical
Copy link
Author

From the log file I can tell it is using Direct3D7. Right now the support is still weak from Direct3D7 to Direct3D9. The speed issue is probably related to lack of mipmap support. Without mipmap support the texture will be much larger and can slow down the performance.

Have you tried dgVoodoo2?

id like to try DGVOODOO2 but my attempt at getting to work fail everytime. idk if you can help me with that but im assuming I must transfer all files in the MS x86 into the same location as the exe. then transfer the GLIDE files x86 in the same location as the exe. then configure file and program. ensure im using dxvk 2.2. then change the settings in the program to use 3dfx instead of direct3d? hope im making sense

@astroskyoffical
Copy link
Author

From the log file I can tell it is using Direct3D7. Right now the support is still weak from Direct3D7 to Direct3D9. The speed issue is probably related to lack of mipmap support. Without mipmap support the texture will be much larger and can slow down the performance.

Have you tried dgVoodoo2?
Screenshot_20240212-191730_Winlator

so here's the error I get trying to get DGVOODOO2 to run as I said above

@astroskyoffical
Copy link
Author

I tested this on windows and it works perfectly on a very slow laptop, I understand that im using WINE to do this but yeah same config different outcome

@astroskyoffical
Copy link
Author

astroskyoffical commented Feb 14, 2024 via email

@elishacloud
Copy link
Owner

if you can help me with that but im assuming I must transfer all files in the MS x86 into the same location as the exe.

You should just need the DDraw.dll and the D3DImm.dll files from the MS\x86 folder of dgVoodoo2. You don't want (or need) to use any other files from dgVoodoo2.

so here's the error I get trying to get DGVOODOO2 to run as I said above

Sounds like a bug in dgVoodoo2.

I tested this on windows and it works perfectly on a very slow laptop,

Are you saying that dxwrapper works perfectly on your laptop with this game but not running on your Android with the emulator?

Hey you mentioned mipmap. On one of my emulators there was mention of new mipmap support for the wow64 based mobox. Would this be the solution?

No, that won't help in this case. dxwrapper just ignores mipmap and so it will never be used when using dxwrapper.

@elishacloud
Copy link
Owner

Closing issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants