Author Topic: Updating BC DirectX with dgVoodoo (preliminary)  (Read 971 times)

Offline Tethys

  • -=USF=- Co-Leader
  • Posts: 256
  • Cookies: 89
Updating BC DirectX with dgVoodoo (preliminary)
« on: January 20, 2020, 10:48:04 PM »
Some good news regarding graphical enhancement for STBC. pyratCPTN contacted me a few days ago and told me about his success in getting STBC to display at 4k resolution. Naturally I was intrigued.. and here we are a few days later and I have some results. Study these images, there are differences in the menus as well as the shading. All graphical enhancement settings are enabled EXCEPT for Space Dust. STBC with DirectX 9 working in preliminary tests.


DirectX ver: Stock BC





DirectX ver: 9



Offline King Class Scout

  • Posts: 1775
  • Cookies: 893
  • the other half of SFRD
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #1 on: January 21, 2020, 06:00:13 AM »
yes, I can see minor menu differences as well as the shading difference.  I'd assume, though, this only works with aftermarket graphics cards.  I can't get my install to go over 1024, let alone to UHD.
what's changed to get the old engine to recognise newer versions of direct X?
OS novel fan

Coming Soon: King's Mod Tuning Shop

best line I've ever read
Me: mine [my bridges] would probably be simple to get the characters to use.  the only person that sits is the captian.
Baz: space is vast there[sic] legs will be tired by the time they get to the next planet

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #2 on: January 21, 2020, 08:09:40 AM »
DX11 could be possible too i hope :)

It´s done by injection.

Offline Mario

  • Senior Software Developer
  • Administrator
  • Posts: 2186
  • Cookies: 1706
  • Life is life
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #3 on: January 21, 2020, 11:41:48 AM »
You mean this?

https://forum.talonro.com/topic/22865-ragnarok-2k-or-possibly-even-4k-in-full-screen/

There's limits to that approach. One is that you're never able to cross the texture size limitation of DX7 (2048x1536).

DX11 could be possible too i hope :)

It´s done by injection.

It's not exactly injection but technically it is redirecting API calls.
Acta, non verba.
aka USS Sovereign

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #4 on: January 21, 2020, 01:09:19 PM »
http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html

Yess, this here, yea it basically works like ENB/Reshade/Sweetfx AFAIK

Offline Lurok91

  • Posts: 1309
  • Cookies: 2062
  • SPMod Developer (Retired)
    • Lurok91 Mods
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #5 on: January 21, 2020, 01:38:16 PM »
Is it just me but I can't really see any radical difference.  Is it more for low-end PCs?

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #6 on: January 21, 2020, 03:51:01 PM »
No, it makes it a little more stable, at my system at least.
Before i had CTD when exiting the game and it took longer to load.
Now it loads up much faster and i have only seen one CDT at all since one week on my sys.

Offline Tethys

  • -=USF=- Co-Leader
  • Posts: 256
  • Cookies: 89
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #7 on: January 21, 2020, 06:35:32 PM »
My question is how do we in fact replace the DirectX that BC uses completely, without the use of gdVoodoo? Or is that something that is hardcoded you think? @pyratCPTN

Offline Mario

  • Senior Software Developer
  • Administrator
  • Posts: 2186
  • Cookies: 1706
  • Life is life
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #8 on: January 22, 2020, 12:04:58 AM »
My question is how do we in fact replace the DirectX that BC uses completely, without the use of gdVoodoo? Or is that something that is hardcoded you think? @pyratCPTN

Q wasn't directed at me but I love being sarcastic at times (it's a curse). You decompile the source code and rewrite functions to make DX11 or DX12 calls or rewrite the game in a new game engine.

Closest that you can get is by using a wrapper such as voodoo. I don't remember how internals work completely but I believe it redirects API calls to DX of your choice.
Acta, non verba.
aka USS Sovereign

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #9 on: January 22, 2020, 05:33:58 AM »
Yap Mario,
I could try it with IDA and add the missing code for DX.
This just a blind guess, since theres a guy mentioned to work
on renewing BC, Texture scaling, Widescreen etc.

But i´m at the beginning of a long process, i did not try to decompile it yet.

Offline Tethys

  • -=USF=- Co-Leader
  • Posts: 256
  • Cookies: 89
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #10 on: January 22, 2020, 07:17:40 AM »
I did some hex edting waaaay back in the day on Birth of the Federation. That was released in 1999? There was no source code available. and the fanbase is over 12,000 last i checked. It was the only way. Nonetheless it would be nice to have a decompiled and labeled exe to look at, even if it can't be recompiled. Little things can be done. The problem is changing the size of the exe, sometimes the file becomes crashy. Easier to find blank space and reroute/insert new calls manually...

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #11 on: January 22, 2020, 07:25:43 AM »
Yes, i´ve seen a guy asking directly at Activision´s support forum for the sourcecode but they ignored him completely. Shame.

Offline Mario

  • Senior Software Developer
  • Administrator
  • Posts: 2186
  • Cookies: 1706
  • Life is life
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #12 on: January 22, 2020, 11:34:08 AM »
Source code was decompiled by someone, go to Discord and ask there.
Acta, non verba.
aka USS Sovereign

Offline pyratCPTN

  • Posts: 10
  • Cookies: 2
Re: Updating BC DirectX with dgVoodoo (preliminary)
« Reply #13 on: January 22, 2020, 09:05:25 PM »
Tehtys mssgd me, TY.