Jump to content

Dune2K - High Resolution


CCHyper

Recommended Posts

  • 2 weeks later...
  • 3 weeks later...

Oh, please,please, do continue searching for a way to run this game in higher resolution. Id so much like to play the game again, but it is pretty impossible with that low resolution setting in combination with todays LCD monitors. I registered just to ask the person who is working on this to continue,.. im sure many ppl want this, ive wanted this for such a long time :( If theres any way to run Dune 2000 in high res, please find it. :)

Link to comment
Share on other sites

Not not really looked at them, i dont get what your after...

They want to be able to make a trigger editor for the game but the mission trigger programming is apparently saved as pure binary data or something.

Gruntlord6: Does the .mis ONLY contain the AI programming, or the complete mission?

Is it possible to change the resolution to 1024x768? This happened to Tiberian Dawn and will happen soon to Red Alert.

Ehm, he's the one working on Red Alert... and as he said, he has the same problem there. You can change the resolution, but the actual playing field will still be in a 640x480 box at the top left of the screen.

Link to comment
Share on other sites

Looks like these resolution problems are a really hard nut to crack with Dune games.. With Emperor,  u have hi resolution, but no widescreen resolutions are supported. A registry hack, or whatever it is, makes it run in widescreen res, but then everything is out of place, so u click next to unit to attack it and so on. Hmm... oh well,.. lets hope for a future dune game that will have it all as it should be... Still if someone found a way for Dune 2000, id be happy. :)

Link to comment
Share on other sites

They want to be able to make a trigger editor for the game but the mission trigger programming is apparently saved as pure binary data or something.

Gruntlord6: Does the .mis ONLY contain the AI programming, or the complete mission?

Ehm, he's the one working on Red Alert... and as he said, he has the same problem there. You can change the resolution, but the actual playing field will still be in a 640x480 box at the top left of the screen.

Everything:objective, ai scripting,reinforcements,teams etc.
Link to comment
Share on other sites

  • 2 weeks later...

Looks like these resolution problems are a really hard nut to crack with Dune games.. With Emperor,  u have hi resolution, but no widescreen resolutions are supported. A registry hack, or whatever it is, makes it run in widescreen res, but then everything is out of place, so u click next to unit to attack it and so on. Hmm... oh well,.. lets hope for a future dune game that will have it all as it should be... Still if someone found a way for Dune 2000, id be happy. :)

Empires Tactical ViewPort is messed up then. TS has this in "some" way, but its not noticable unless you force it.

Guys, i am still looking into this, and i can easily make the game visible rect in any resolution, BUT, making the contents of that visible rect fit the new size is another story, i just dont have enough time to sit and full debug it, i am still trying though...

Link to comment
Share on other sites

As long as u keep trying, there is hope :) thank you for that.. i keep checking it here almost everyday :D.. hoping.. id soo much like to see it run in .. lets say 1680x1050 :D, heh, ok.. too optimistic, i know :D but at least something higher than the only res available now.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

-G forces the game to 640x480

It seems like the 640x400 mode fails with my monitor so it always use a 640x480 resolution, according to my monitor OSD. The problem is that it doesn't increase the picture size. It just creates big black borders. (It's the same in both version 1.02 and 1.06 by the way.)

Update: Well, that was not entirely right. Now I'm pretty sure that the OSD can't be trusted for the difference between a 640x400 and a 640x480 resolution. Because a Print Screen showed that it's the 640x400 mode that works (when the game manage to use it), and it's the 640x480 mode that has the big black borders and the strange 'split screen'.

There is a bool here, "gFullScreen" - 004EB008 (raw: E9808), change this to "00" and the game will run in a desktop window, the logic is messy though...

In what file? The exe? Another file?

Update: I came across a loader for another older game that was able to intercept DirectDraw functions to fix the output resolution and aspect ratio. So I copied the code to this new Google Code project with the hope of making the same kind of loader for this game. However, I ran into something of a snag, the program will not detect the call to ddraw.dll (or any other DirectX file). I'm guessing that it may be because that call is made from code that is stored in DUNE2000.DAT and that method of having the exe load code from a file like that confuses the interceptor. If you have any ideas about how to fix that please feel free to post a message about it here or in the project pages.

Update: Okay I now noticed that the first project I made could only hook DirectDraw if ddraw.dll was built into the import table of the exe. But Dune 2000 loads it with LoadLibrary(). So now I made a DDraw_Wrapper project (that you can open from the DDraw_Wrapper.sln solution) that produce a custom made ddraw.dll wrapper that you can place in the directory of the game to override the regular ddraw.dll calls. I'm entirely new to these hooking procedures so there is currently a slight problem to hook the CreateSurface() or SetDisplayMode() and the other functions I need to change the display of the game. The game uses QueryInterface, and after that it doesn't seem like any other DirectDraw functions are picked up. I only get this from Dune 2000:

12:53:32:000:
12:53:32:000: ----------------------------------------------------------------
12:53:32:000: DLLMain called and Log Opened
12:53:32:000: ----------------------------------------------------------------
12:53:32:015:
12:53:32:015:
12:53:32:015: DirectDrawCreate: lplpDD = 0x00794184:0x0014B538:0x004A0537
12:53:32:015: DirectDrawCreate: lplpDD = 0x00794184:0x00E65D58:0x004A0537
12:53:32:015: hkIDirectDraw::EnumDisplayModes
12:53:32:031: hkIDirectDraw::Release
12:53:32:031:
12:53:32:031:
12:53:32:031: DirectDrawCreate: lplpDD = 0x00794184:0x001465B8:0x004A07F8
12:53:32:031: DirectDrawCreate: lplpDD = 0x00794184:0x00E65D58:0x004A07F8
12:53:32:031: hkIDirectDraw::QueryInterface
12:53:39:468: hkIDirectDraw::Release

From a DirectX 5 SDK sample I get the functions I need, like in this log from the 'stretch' example (that does not use a full screen mode so it has no SetDisplayMode):

13:04:12:015:
13:04:12:015: ----------------------------------------------------------------
13:04:12:015: DLLMain called and Log Opened
13:04:12:015: ----------------------------------------------------------------
13:04:12:093:
13:04:12:093:
13:04:12:093: DirectDrawCreate: lplpDD = 0x0040438C:0x001565E0:0x004019E2
13:04:12:093: DirectDrawCreate: lplpDD = 0x0040438C:0x003567F0:0x004019E2
13:04:12:093: hkIDirectDraw::SetCooperativeLevel
13:04:12:093: hkIDirectDraw::CreateSurface
13:04:12:125: hkIDirectDraw::CreateClipper
13:04:12:125: hkIDirectDraw::CreatePalette
13:04:12:125: hkIDirectDraw::CreateSurface
13:04:16:812: hkIDirectDraw::Release

Does anyone know what I need to do to hook the CreateSurface and SetDisplayMode and the other functions that I think Dune 2000 use?

(I'm building my ddraw.dll and the test exes with the DirectX 5 includes and lib files, but I use a new DirectX 9 ddraw.dll to run the programs, if that makes any difference.)

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.

×
×
  • Create New...