VOGONS


First post, by Venom

User metadata
Rank Newbie
Rank
Newbie

The email I sent to Dege:

"Hey, the TA:Escalation community recently came across dgVoodoo. Total Annihilation runs very poorly on Windows 10 and the game is going to die without help. Escalation is a mod for Total Annihilation which came out in 1997 and it runs very poorly. I tried your dll today and the 60 FPS cap is removed. I got 150 FPS even on my old PC. However, Escalation uses a modified ddraw.dll inside the game folder, which we have named edraw.dll. This includes new features that the game didn't originally have such as markers, a mega map (full screen mini map) etc and obviously none of these features work if we use your dll. Is there a way we can combine our features with your working dll in Windows 10? I found your email address by clicking the donate button. There would be a donation coming your way if you can make this work for us! Cheers"

The reply:

"Hi!

I have a quick tip that worths a try:

I guess Escalation's ddraw.dll loads the MS one from \Windows\SysWOW64\ folder and hooks its interfaces.

So, let's rename dgVoodoo's ddraw.dll to, say, edraw.dll and copy it to the system folder, next to ddraw.dll. Also, copy d3dimm.dll from dgVoodoo to the same system folder.

Then, replace the string(s) 'DDRAW.DLL' to 'EDRAW.DLL' in Escalation's ddraw.dll with a hex editor.
This way Escalation's ddraw.dll could be get to load dgVoodoo's ddraw instead of the system one.

By hacking Escalation's code further, copying into sys folder could be avoided, but it's enough for a first quick try.

FYI, altough you can reach me via emali, there is also an official forum for dgVoodoo: 😀

dgVoodoo General

I'm not too active nowadays however, but I'm going to return when I finish my current work (unrelated to dgVoodoo).

Regards,
Dege"

And my reply:

"That hooked your dll, displayed watermark and gave 150 fps but still none of the custom features in ESC's edraw.dll worked (inside the TA Escalation folder)

Any other ideas? Thanks for your help"


Posting what we have so far to keep a log I guess. Anyone have any idea how I would get these features to work? Some kind of combining of dll files? Any other ideas? I'm not the most knowledgeable guy with this stuff, some people in the TA community know much more about me than these things so I can discuss with them anything that is said here. Thanks for any help.

Reply 1 of 16, by ZellSF

User metadata
Rank l33t
Rank
l33t

It would be great if it worked in dgVoodoo2, but out of curiosity: what's wrong with DxWnd?

Reply 2 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

A number of things. For many players including myself, it doesn't hook on when a game is launched through GameRanger. There's many settings and it's very inconsistent with different players and their setups. If you use a high resolution but a lower one inside TA, it doesn't look very nice.

If TA truly worked and all ESC features worked through a single dll file it would be ideal. It could also be packaged with any further ESC releases, install and play, no messing around! Always the ideal scenario when installing an old game.

Hoping someone, if not Dege, can help with this!

Reply 3 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

I have no idea for the moment, I should try it myself, to see what's going on. 😖

Reply 4 of 16, by willow

User metadata
Rank Member
Rank
Member

What are the problems with TA and windows 10?

Reply 5 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:

I have no idea for the moment, I should try it myself, to see what's going on. 😖

Yes please 😀

willow wrote:

What are the problems with TA and windows 10?

FPS is locked at 60 and drops massively from there when mulitple units are on the screen. It's somewhat playable until later in games and can quickly become unplayable in team games. You cannot alt + tab, you can but to get back into game, you have to either type a gamma command "+gamma 10" for example, or remember the shortcuts to the options menu to move the gamma slider: F2, O, V, left/right arrow. Sometimes alt + tab will crash the game as well.

As far as Escalation's features, there is a mega map which is a full screen mini map. This suffers a massive FPS drop and randomly crashes the game as well. You can place markers and draw lines. Lines work ok but if you place a marker, FPS drops while it is on the screen and if you add a text label to that marker it drops even more.

None of this was present in Windows 7 and it ran just fine. The TA community is dying for a fix!

Reply 6 of 16, by ZellSF

User metadata
Rank l33t
Rank
l33t
Venom wrote:

A number of things. For many players including myself, it doesn't hook on when a game is launched through GameRanger. There's many settings and it's very inconsistent with different players and their setups. If you use a high resolution but a lower one inside TA, it doesn't look very nice.

Couldn't you just package a already set up version of DxWnd to wipe out almost all of those inconsistencies? If DxWnd works great for some people, it's obviously possible to make it work great for everyone. Computers aren't just magically different.

Reply 7 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

I use a high resolution desktop and a lower resolution in TA, so it wouldn't be ideal for me. Some players all tried the same settings and some of them reported it hooking onto a GameRanger launched game, others reported that it didn't, myself included. I never said computers are "magically different" but there's many variables. Hardware, Windows (and updates?), software installed, registry, nobody knows why it didn't work every time.

Anyway, dgVoodoo would be a far better solution if it would work, that's why I'm here

Reply 8 of 16, by ZellSF

User metadata
Rank l33t
Rank
l33t

Again, I realize this is a bit off topic and don't think I'm trying to say this shouldn't be fixed in dgVoodoo2, but I'm sure Dege can scan through this off-topic conversation quickly and see it is irrelevant to him.

But...

A: There really aren't that many variables. Have the really obvious variables here been ruled out (compatibility mode settings for all three programs, running privileges of all three programs, DxWnd profile)?

B: You can mix high resolution desktop and lower resolution in Total Annihilation with DxWnd in two ways, first is sticking to integer scales. If your desktop is 3840x2160, run the game at 1920x1080 (or 960x540, but I get the impression Total Annihilation Escalation does not support this) and tell DxWnd to scale to desktop. Second is using DxWnd's bilinear scaling which got improved a lot in performance like a year ago. It might be a viable option (I get 75 FPS on a high end system when scaling to 2560x1440, but scaling to 3840x2160 dropped FPS to 40). Obviously you can also just temporarily change desktop resolution and let your GPU do the scaling, I can see why you don't want to do that but it's still a perfectly valid option.

Reply 9 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

I followed the instructions here:

http://taesc.tauniverse.com/?p=faq

But I can only run this game in windowed mode when trying natively. Fullscreen crashes in nVidia driver at launch.
Also, I can only play Skirmish because New Campaign results in an error message (Maps\AC01.TNT).
Somewhere I read that shortcut for megamap is F4 by default but I cannot invoke it (I don't know if it's available in Skirmish).

However, looking at what happens, TotalA.exe loads directly Esc's EDRAW.DLL which relies on DDRAW.DLL. EDRAW always loads DDRAW from the system folder, so I renamed dgVoodoo's DDRAW.DLL to FDRAW.DLL and copied it into \System\SysWOW64\, along with D3DIMM.DLL. Then changed the string 'ddraw.dll' to 'fdraw.dll' inside edraw.dll with a hex editor. 😀

Now EDRAW loads FDRAW, so this way both dgVoodoo and Esc mod is loaded into the process, I can play it in full screen. But I simply cannot invoke mega map, neither way.

Reply 10 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

It uses TAESC.ini for settings inside TA Escalation folder. I think it's on by default but I will check and confirm this later. Thanks for checking it out

Reply 11 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

Inside TAESC.ini, try changing this line:

UseVideoMemory=FALSE;
to
UseVideoMemory=TRUE;

That's what stops my game crashing. There's also a "hotfix" dll file on the downloads page which I need to use as well. But whichever file I use, it hooks on to your file, but won't load any of ESC's extra features.

This is the mega map:

FullScreenMinimap = TRUE;

Which seems to be on by default. Mine works but can't get it to work while using your file

Reply 12 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

Update on this. We tried your idea but with a Dxwnd dll file and it runs super fast. 1300fps for me. All ESC features work. The only thing that doesn't work is alt tab. You can normally get back into game by changing gamma but with this dll it doesn't work. I've disabled my windows key in case I hit it by accident.

So between all these different files, it seems a full fix is possible. Seems there are fixes for different things inside different files?

Reply 13 of 16, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

The GOG version works for me. No problem with alt-tab, no need to replace any files.

Reply 14 of 16, by ZellSF

User metadata
Rank l33t
Rank
l33t
Azarien wrote:

The GOG version works for me. No problem with alt-tab, no need to replace any files.

There's some special features in modded versions of the game the base game does not have that's incompatible with dgVoodoo2.

Venom wrote:

So between all these different files, it seems a full fix is possible.

A full fix is already possible with DxWnd with some effort from your side.

Reply 15 of 16, by Venom

User metadata
Rank Newbie
Rank
Newbie

If Dxwnd was the solution the community needs, I wouldn't be here. Don't mention it again please

Reply 16 of 16, by ZellSF

User metadata
Rank l33t
Rank
l33t
Venom wrote:

If Dxwnd was the solution the community needs, I wouldn't be here. Don't mention it again please

Why not work on implementing a fix that works now (DxWnd) now and eventually move on to dgVoodoo2 whenever it does get support? Doesn't not having a solution in the meantime hurt the player base? Even when (and if) dgVoodoo2 gets support wouldn't it be nice to have an option for people with DX9- GPUs?