8000 Remove D3DX dependency; Use Direct2D + DirectWrite instead · Issue #52 · SnowyMouse/chimera · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Remove D3DX dependency; Use Direct2D + DirectWrite instead #52

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

Open
BinToss opened this issue Sep 5, 2020 · 3 comments
Open

Remove D3DX dependency; Use Direct2D + DirectWrite instead #52

BinToss opened this issue Sep 5, 2020 · 3 comments

Comments

@BinToss
Copy link
BinToss commented Sep 5, 2020

This would allow Chimera to run without requiring the DirectX June 2010 redistribution.
The D3DX library (including LPD3DXFONT) has been retired and is no longer maintained nor included with the rest of Windows' native DirectX packages.

I recommend looking into DirectWrite + Direct2D and/or DirectXTK SpriteFont as a possible alternative. The latter could be used for gamepad button sprites, too.

D3DX can be found...
...in [src/chimera/output/draw_text.cpp]
Line 4: #include <d3dx9.h>
...in [src/monolith/monolith.cmake]
Line 15, Column 235: .../libzstd.a -l d3dx9

Links:
D3DX retirement
Text via DirectWrite + Direct2D
DirectXTK

@Aerocatia
Copy link
Collaborator

The d3d9x dependency has not been removed for TTF text support, but not having it no longer blocks the game from loading. (e28c234)

When not having d3d9x the game will simply fall back to bitmap text.

@BinToss
Copy link
Author
BinToss commented Apr 13, 2021

In the mean time, you can have users install d3d9x with the minimal DXSetup shipped with OpenSauce 4.0 (2015).
dxredist.zip

@BinToss
Copy link
Author
BinToss commented Sep 10, 2022

Arecaidian Fox and I recently tested SPV3 (and OpenSauce by extension) with d3dx9 only present in the game's directory (not "installed" in any way, not present in any system folder, and confirmed via ProcessHacker's Process Modules tab).

Works like a charm. If Chimera is released with d3dx9_43.dll, users won't need to explicitly install it or the DirectX Runtime (June 2010) redist.

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
0