I've noticed something about the display system in DarkBASIC Professional that I never realized before. I thought that Windowed Fullscreen Mode CHANGED the screen resolution to whatever you set with 'SET DISPLAY MODE'. Not at all. It STRETCHES your, for example, 640x480 game to your Desktop of 1024x768 and this is not what I want at all.
I did some testing, and here is what I have noticed:
Exclusive Mode looks WAY better than Windowed Fullscreen Mode. I plan on making a game in 800x600x16, and when I use Windowed Fullscreen Mode it wraps to my Desktop res of 1024x768 and looks very much like smoothed ass.
Also, you CANNOT use 'SET DISPLAY MODE' to change the Exclusive Mode initial setting. I set my program with Exclusive Mode 800x600x16 and ran it, it looked great. I then added a line that told it to SET DISPLAY MODE 800,600,16 immediately and with this new line it switched to Windowed Fullscreen Mode and WRAPPED it. I took the line out, and it looked fine.
Almost ALL new games run in Exclusive Mode. They change the actual resolution of the screen, that way no matter if the user is running 640x480 or 1280x768, the game is SURE to run in the resolution it was designed in. With Windowed Fullscreen Mode, there's no telling what the games going to look like wrapped to the end user's desktop resolution, and I'm NOT going to package a game that says, "Hey, for best graphics, change your Desktop resolution to 800x600x16".
So the ONLY option for me would be to use Exclusive Mode at 800x600x16. Unfortunately, this completely eradicates the features I need to change to lower resolutions in Exclusive Mode during runtime (like playing the game in 800x600, switching to 640x480 to play an animation that is in 640x480 resolution, and then switching back to 800x600. This is a very common practice). Not to mention, if you CAN'T change the Exclusive Mode resolution during runtime, there's no reason to even TRY doing display mode checking and what not. I don't care if 'everyone' can run 800x600 mode, I still want to be able to check if it is possible, and then switch to it.
I want to make a 3D Real-Time game with a default resolution of 800x600 that can be upped, if the user wants, to 1024x768 in Exclusive Fullscreen Mode that, during runtime, can be switched down to lower resolutions for playing pre-rendered AVI files (smaller resolutions such as 640x480 greatly reduce the size they take up on CD, which is crucial) and then switched back to the chosen resolution.
This functionality is basic to pretty much all the Real-Time 3D games I have observed, such as mainstream games like the Thief series and lately, Jedi Knight II.
Why would ANYONE want to use a Display Mode that stretches the screen to the Desktop resolution, especially when you have no idea what the player's Desktop resolution is going to be?
How can I solve this problem, and change the Exclusive Mode resolution in my code during runtime?
By the way, I'm running a Dell 1.8GHz with a Geforce 2 GTS card.