Jump to content
COMBATSIM Forum

TAW 2.0 Known Issues and Bug Reports


Home Fries
 Share

Recommended Posts

That might help.

As far as I can see, the game checks the resolution by using the Windows 'GetSystemMetrics' function with parameters 0 and 1. This (according to Microsoft documentation) should return the width and height 'of the screen of the primary display monitor, in pixels'. If these aren't 800 and 600, that error ensues.

EDIT: On second thoughts, there may be something else going on inside Windows that can cause the subroutine to fail:
 

while ( !sub_4EA7E4(800, 600) )
    sub_4EA3FC(
      "This program requires an 800x600 display resolution but was unable to obtain it.\nPlease use the display settings control panel to make 800x600 available.\n",
      v1);

bool __usercall sub_4EA7E4<eax>(int a1<eax>, int a2<edx>)
{
  int v2; // eax@1
  int v3; // edi@1
  int v4; // esi@1
  int v5; // eax@3
  int v7; // ST20_4@1
  int v8; // ST20_4@3

  v3 = a1;
  v4 = a2;
  v7 = GetSystemMetrics(0);
  v2 = GetSystemMetrics(1);
  return v3 == v7 && v2 == v4
      || (sub_4EA8F0(), Sleep(0x1F4u), v8 = GetSystemMetrics(0), v5 = GetSystemMetrics(1), v3 == v8) && v5 == v4;
}

I'm not sure what that OR is going to achieve...

Link to comment
Share on other sites

  • Replies 537
  • Created
  • Last Reply

Top Posters In This Topic

14 hours ago, mikew said:

  return v3 == v7 && v2 == v4
      || (sub_4EA8F0(), Sleep(0x1F4u), v8 = GetSystemMetrics(0), v5 = GetSystemMetrics(1), v3 == v8) && v5 == v4;

I'm not sure what that OR is going to achieve...

That has been heavily optimized, but if we resolve it to plain old if-elses, it’s basically this:

resX = GetSystemMetrics(0);
resY = GetSystemMetrics(1);
if(resX != 800 || resY != 600) {
	return false;
}

sub_4EA8F0();

Sleep(500); // wait half a second

resX = GetSystemMetrics(0);
resY = GetSystemMetrics(1);
if(resX != 800 || resY != 600) {
	return false;
}

return true;

It checks if the resolution is 800×600 by default. If not, it calls sub_4EA8F8(), which I don’t know, but I’m sure it’s some DirectDraw or Win32 stuff to force resolution to 800×600. It lets half a second pass to realize that change, then it checks again.

At this point I’m sure sub_4EA8F8() fails for whatever reason. Does the display driver/monitor support 800×600 at all?

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...

I don't like to see any question go unanswered, but I don't really have anything else to add to my answer back in January.

 

For me, TAW 2.30 works quite well on Windows 10 with default settings (or it did last time I tried it a year or so ago).

You say it's 'running', so the pilot selection menu must have worked?

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 months later...

Hi all,

 

Hit a snag with my game crashing during the Strike Force Campaign when I'm changing the waypoints on an interdiction strike, which can be a bit of a problem.

 

Here's the f22.$$$ info -

 

Program fault at 0x5BAC90, cleanup up and exiting!
0B2C0678 000CFC10 005BAC90 00210202
0B2BFD78 00000078 00000BA0 0000009F 00000004 0B2D1D79
0000002B 0000002B 00000053 0000002B 00000023 0000002B
version 5.191 by  on Nov 16 1998

 

Any help gratefully received!

 

Spec -

 

TAW V2.30

Win10 using dgVoodoo

No mods used, not even the NVG one.

Link to comment
Share on other sites

3 hours ago, mikew said:

With the risk of causing some temporal anomaly, I'm going to link to an older post in this thread:

 

 

Thanks for the reply Mikew - I searched for "0x5BAC90" too (after I posted TBF) and only found my post, doh! 😀

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...