Page 2 of 2

Re: King's Quest: Mask of Eternity - Two Glide Wrappers

Posted: Wed Apr 30, 2014 3:17 am
by waltc
NicoDE wrote:
Zeus wrote:Now please use modified mask.exe attached in this thread and let me know if the loop problem is gone on your ancient hardware + 800x600 + nGlide hi-res.

Windows 7 (64-bit), NVS 5400M (enforced, because Mask.exe defaults to Intel HD Graphics 4000)

"set800mode 1" (Options.cs) and "by desktop" + "4 : 3" (any hi-res) only works with patched Mask.exe and nGlide 1.03.

nGlide 1.02 (included in game directory) only works with patched Mask.exe and "by app". If "set800mode 1" (manually, because of black screen if changed in game options) the screen resolution is 640x480 and the game resolution is 800x600 :)

waltc wrote:I would ask you to tell me what you did...but then, that's your "trade secret," fair & square...:D

He commented out SetWindowPos(this->hWnd, HWND_TOP, rect.left,, rect.right - rect.left, rect.bottom -, 0) in the Window setup procedure.

I thought it was really nice for Zeus to jump on this so quickly, though. The "trade secret" comment was sort of tongue 'n cheek but it's still very laudable to see this kind of interest and response for a Glide wrapper these days (and even the customization of the odd executable every now and then!) Both Zeus and Dege have been very accessible concerning this game--and Zeckensack is, of course, long vanished to some remote spot in the Martian tropics...;) I'll also give nGlide props (while I'm at it) for supporting Lands of Lore 2 so well--it's actually the only wrapper that runs the game accelerated for me--and Lol2 is a fairly gaudy pixel fest in the absence of Glide acceleration, imo. Glide is really the only way to play the game.

I noticed that with nGlide 1.02, the stock Mask executable would run fine for a few minutes @ 800x600 but then seemed to squeeze itself out kind of quickly with what I assumed was a memory leak of some kind--which invariably resulted in a lockup curable only through the task manager. Turning on dynamic lighting in-game only accelerated that process somewhat. So I was really pleased when 1.03 turned out to have none of 1.02's problems with the game (!) even with dynamic lighting @ 800x600. That, and my experience with Zeckensack's higher-than-stock-res KQ8 support, of course, was the basis for the first post in this thread. And the custom executable Zeus whipped up even solved that "problem" (which was really just a personal preference), along with nGlide 1.03 as I have related. For Glide support in KQ8, nGlide 1.03 now (with the custom executable) is clearly the superior wrapper for use with game, imo. I'll certainly recommend it.

Also, as mentioned, I didn't need the custom Mask exe to run 800x600 through in-game settings with either 1.02 or 1.03, although 1.02 had a severe memory leak--but still, even with that leak invariably bringing the game to lockup in a matter of 10-15 minutes, the game *was still playable* for me (until freeze...;)), and I never recall a black screen with nGLide 1.02. And 1.03, of course, performed pretty much perfectly for me @800x600 set in-game for lengthy periods of play (probably 90 minutes tops, so far.) The custom exe's only extra benefit for me (a big one!) was being able to select and run the higher-than-in-game 800x600 resolutions! [I set the game to 800x600 and then select the res I really want and its aspect through the nGlide interface.]

I would certainly imagine that any differences in performance and result between our experiences with the nGlide software would be caused by differences in our respective OS environments, hardware resources, and gpu device drivers, primarily (Intel traditionally isn't known for much in the way of either power or compatibility in 3d-API game software, etc. Edit: although I see you were using a presumably better, secondary accelerator than the Intel HD. Missed that first time, somehow! )

Thanks much for your insight...:D

Re: King's Quest: Mask of Eternity - Two Glide Wrappers

Posted: Wed Apr 30, 2014 10:07 am
by NicoDE
Just to mention it: My game rig runs on Debian and I'm using Wine to play most of the GOG releases. But KQ8 has at least three issues
  • GetDiskFreeSpace bug in Mask.exe (Win95 or custom Mask.exe patch)
  • GOG didn't remove the CD check completely - you have to have at least one CDROM drive in your setup and the check does not always succeed under Wine (custom Mask.exe patch)
  • Windows XP comes with a "KingsQuestMask" AppCompat shim that is not emulated by Wine - without it you cannot load savegames!

For the latter I hacked a run-time patch together (verify that UnmapViewOfFile is only used for memory that has been returned by MapViewOfFile). Now I'm _finally_ able to play KQ8 and with the help of nGlide 1.03 in aspect-corrected desktop resolution.

Many thanks to Zeus, again :)

Re: King's Quest: Mask of Eternity - Two Glide Wrappers

Posted: Wed Apr 30, 2014 11:17 pm
by Zeus
Thanks for an input, guys. :)