Posted March 13, 2013
I have found another way to run NoX windowed without any issue this time (cutscenes, colours, sound... all is fine, at least one my PC!). There are already topics about window mode, bugs and Windows issues, but I didn't really know which one to answer to, so here is a new one.
It involves DxWnd, which seems to fool the game into running in window mode while still running as if it were fullscreen. For me, it solves the crashes, black cutscenes, flickering menu... without having to rely on a third party .dll file or changing your desktop to 16bit mode.
There is an annoying issue with this solution though, which is that the game really wants to stick to the upper left corner of your screen by default. So, what I explain below may seem a bit long and complicated but it's really to play in a comfortable way. Solution 1) makes the game run in a fixed window, which position you define before playing (the window won't be movable nor resizable). Solution 2) allows for the window to be moved and resized.
- disable any compatibility mode for the game. It's easier to use DxWnd without any to begin with.
- download DxWnd (lastest build) : http://sourceforge.net/projects/dxwnd/files/
- unzip it somewhere; launch it, then Edit => Add, and select "game.exe" from Nox directory.
- ok now, I'm going to list the tabs :
- Main : give it a name, check "Run in Window". Now, for the two solutions :
1) locked window (easiest way to play) : in order to lock the window elsewhere than in the upper left corner, you need to do some math. X goes for screen width, Y for screen height. In order to get the correct coordinates to have a window centered for example, you need to set the desired resolution in the game options (menu and cutscenes will still play at a lower resolution though, as they are locked in 640x480), then find X and Y as : X = (screen width - game width) / 2 , and Y = (screen height - game height) /2 . W and H values are best left set at 0 in this case, so that the game can resize itself.
2) movable/resizable window : put whatever you want in X / Y. With this method, the game will start glued to the upper left corner anyway.
- Window :
1) locked window: choose "Lock win coordinates"
2) move/resize: choose "Keep aspect ratio" (so, we don't lock the window, but if you resize it, at least it won't look like a distorted pack of pixels)
- Mouse: check "Correct mouse position", "Force cursor clipping" and "Message processing" (I've always chosen mouse postion and message processing for any game, though I don't know exactly why... but clipping forces the pointer to stay inside the window, which you will want given the nature of the game).
- DirectX : Automatic, Primary Surface (it helps circumventing a display bug when windowed this way), Auto Primary Surface Refresh, Remap Client Rect (same, as far as I know) + check DirectInput Hooking, which allows for Alt-F12 to be used to regain control of the pointer as Windows mouse, or force the clipping again.
- now click Ok, then File => Save. Note that while DxWnd is running, all configured programs should be modified/hooked by it. So close it when you're done playing.
Launch the game by double clicking on the name you've chosen in the list, or the original shortcut (with DxWnd still running).
If you've chosen solution 2, the game will start in the corner. Use Windows pointer (Alt-F12 if need be) and carefully click once on the window borders (the cursor disappears, but is still "on" the border). The window will "detach", then click/move/resize at will. I've tried a way to keep the pointer visible on the borders, but it becomes buggy again. Keep in mind that once a save is loaded, the game will change resolution according to your options.
That's it! I hope this will work for those of you who have issues (even on Windows 8, maybe?), or who simply don't want to change the desktop colour mode.
It involves DxWnd, which seems to fool the game into running in window mode while still running as if it were fullscreen. For me, it solves the crashes, black cutscenes, flickering menu... without having to rely on a third party .dll file or changing your desktop to 16bit mode.
There is an annoying issue with this solution though, which is that the game really wants to stick to the upper left corner of your screen by default. So, what I explain below may seem a bit long and complicated but it's really to play in a comfortable way. Solution 1) makes the game run in a fixed window, which position you define before playing (the window won't be movable nor resizable). Solution 2) allows for the window to be moved and resized.
- disable any compatibility mode for the game. It's easier to use DxWnd without any to begin with.
- download DxWnd (lastest build) : http://sourceforge.net/projects/dxwnd/files/
- unzip it somewhere; launch it, then Edit => Add, and select "game.exe" from Nox directory.
- ok now, I'm going to list the tabs :
- Main : give it a name, check "Run in Window". Now, for the two solutions :
1) locked window (easiest way to play) : in order to lock the window elsewhere than in the upper left corner, you need to do some math. X goes for screen width, Y for screen height. In order to get the correct coordinates to have a window centered for example, you need to set the desired resolution in the game options (menu and cutscenes will still play at a lower resolution though, as they are locked in 640x480), then find X and Y as : X = (screen width - game width) / 2 , and Y = (screen height - game height) /2 . W and H values are best left set at 0 in this case, so that the game can resize itself.
2) movable/resizable window : put whatever you want in X / Y. With this method, the game will start glued to the upper left corner anyway.
- Window :
1) locked window: choose "Lock win coordinates"
2) move/resize: choose "Keep aspect ratio" (so, we don't lock the window, but if you resize it, at least it won't look like a distorted pack of pixels)
- Mouse: check "Correct mouse position", "Force cursor clipping" and "Message processing" (I've always chosen mouse postion and message processing for any game, though I don't know exactly why... but clipping forces the pointer to stay inside the window, which you will want given the nature of the game).
- DirectX : Automatic, Primary Surface (it helps circumventing a display bug when windowed this way), Auto Primary Surface Refresh, Remap Client Rect (same, as far as I know) + check DirectInput Hooking, which allows for Alt-F12 to be used to regain control of the pointer as Windows mouse, or force the clipping again.
- now click Ok, then File => Save. Note that while DxWnd is running, all configured programs should be modified/hooked by it. So close it when you're done playing.
Launch the game by double clicking on the name you've chosen in the list, or the original shortcut (with DxWnd still running).
If you've chosen solution 2, the game will start in the corner. Use Windows pointer (Alt-F12 if need be) and carefully click once on the window borders (the cursor disappears, but is still "on" the border). The window will "detach", then click/move/resize at will. I've tried a way to keep the pointer visible on the borders, but it becomes buggy again. Keep in mind that once a save is loaded, the game will change resolution according to your options.
That's it! I hope this will work for those of you who have issues (even on Windows 8, maybe?), or who simply don't want to change the desktop colour mode.
Post edited March 13, 2013 by Darucas