UPDATE: Account logins work once again.
Hey guys! Overkill here. I just wanted you to know that Verge, while being quiet for a while, still has life. Below is a summary of things, which I earlier described on
my blog.
A major uphaul was made to Verge through a
replacement of DirectDraw with GDI in terms of rendering. DirectDraw was old, deprecated, and broke Aero on newer machines. GDI, on the other hand, is still supported and doesn't need to lock the screen surface.
Along with the move to GDI, hardware fullscreen was removed. This at first sounds like a major loss, but this is for the best, I think. After all, Verge games are entirely software-drawn anyways, and many video cards do not support the lower resolutions that most Verge games are made in. Verge now instead uses a fake fullscreen mode, which means that non-native resolutions can be used without problems. As a result, that window switching is also much faster if you're doing multiple things, and switching back and forth between fullscreen mode and windowed mode with ALT+ENTER is almost instant.
This however, wasn't the only thing that got changed. There were a couple bugs and undesirable behaviours that somehow crept their way into the engine. Until I fixed them, that is.
When I added type-aliases to VC a bit of a while back, I somehow wrecked arrays in structures, but that is now fixed. FileEOF now works properly again (was broken in SVN for a while). I also fixed a bug with ColorFilter, where translucency settings were not being obeyed.
Kildorf added escape characters to string literals. But most VC games were written without this, and expected a to put a single raw backslash. So
I added an "oldstring" configuration setting. When oldstring is found on a line in the verge.cfg, it will go back to the old way of handling string literals. Sadly, there's no way to mix files which use backslashes raw in string, and files that use escape characters in string without adjusting one or the other, but I think this is acceptable, since it's a pretty trivial thing to do. I just added in the backwards compatibility so that old projects ran with a newer Verge would still work without digging through and fixing every string in the code.
Oh, and along with the GDI renderer, I also added a few new
window scaling settings. There are a couple modes to how the Verge screen can be scaled/fit into its window and fullscreen view. This called for new configuration settings. For windowed mode, there is "scalewin". For fullscreen, there is "scalefull". Both of these have a few settings that can be taken on:
- scalewin 0 / scalefull 0 - Letter-box. The old Verge method of scaling the screen, which often resulted in distorted pixels. If the window was not perfect aspect, it would scale according to ratio (but the ratio could be non-integer, resulting in the chunky distortion), and it would fill in with letterboxes along the shorter axis. No longer the default, or only way of scaling. But left in, in case anybody prefers this.
- scalewin 1 / scalefull 1 - Aspect-aware mode. Get the largest integer factor of screen size that fits in the render area. Makes sure that no distortion of the screen occurs, only uniform integer scaling. (Default windowed mode setting).
- scalewin 2 / scalefull 2 - Scale to size of render area. (Default fullscreen mode setting).<br/><br/>In most cases, a little bit of stretching can be acceptable. For instance, my monitor is 1440x900 (16:10), and game resolution is (4:3), but since the game is low-resolution pixel graphics, the bit of non-uniformity doesn't stand out too badly (I think).
You can
peruse the SVN (anonymous/anonymous), or to be a little more friendly, you can
download the exe here. If there aren't any major bugs, maybe in a couple weeks we can have a full release.
...
In other news, we hope to fix the logins here soon, which are partially responsible for how quiet things are now (since nobody can post!) FIXED. And maybe a few other excitements. Stay tuned!