Hi everyone, I'm proud to announce the release V1.04 of the Grey Alien BlitzMax Game Framework.
In case you didn't know, the Game Framework is a collection of extremely useful source code files that you can use to produce professional quality games. For more information please see my NEW web page about the framework:
http://www.greyaliengames.com/framework.php
Please take a look because hopefully it will answer your questions. If you think that I can improve the information on the web page then please let me know. I'd love to hear from existing customers too if you think that I should add some more information to help people decide to get the framework. In fact if any of you have any testimonials that you'd let me put on the site (with your name and country) then please let me know as I know that testimonials really help. Thanks! :-)
Here's a quick link to the AOTMG V0.44 demo but you can also find links to Speed Run and Make Me Happy on the webpage:
*DEMO* www.greyaliengames.com/aotmg/aotmg044.zip (6.22Mb)

This version has many improvements and the next version should have support for "proper" Vista directories and also full Mac support (the framework already compiles on Mac but I am planning to convert some special Win32 features over to Mac).
List of major changes (there are loads of small changes, if you want me too list them then I will do):
If you haven't received V1.04 yet then please let me know!
Once again thanks to my loyal customers for your continued support.
In case you didn't know, the Game Framework is a collection of extremely useful source code files that you can use to produce professional quality games. For more information please see my NEW web page about the framework:
http://www.greyaliengames.com/framework.php
Please take a look because hopefully it will answer your questions. If you think that I can improve the information on the web page then please let me know. I'd love to hear from existing customers too if you think that I should add some more information to help people decide to get the framework. In fact if any of you have any testimonials that you'd let me put on the site (with your name and country) then please let me know as I know that testimonials really help. Thanks! :-)
Here's a quick link to the AOTMG V0.44 demo but you can also find links to Speed Run and Make Me Happy on the webpage:
*DEMO* www.greyaliengames.com/aotmg/aotmg044.zip (6.22Mb)

This version has many improvements and the next version should have support for "proper" Vista directories and also full Mac support (the framework already compiles on Mac but I am planning to convert some special Win32 features over to Mac).
List of major changes (there are loads of small changes, if you want me too list them then I will do):
CommonTypes: - *** IMPORTANT. Added TGame.Init() and moved all the code from TGame.New() into it. This means that you MUST call Game.Init() after your Game = New TGame line because there is no longer a New() method which sets up the Game type. Why? Because now you can extend the TGame type and when you call New in your extended type it won't call the default TGame init code (which used to be in TGame.New()). Therefore you can write your own TGame.Init() and do stuff like create your own ini files etc. - *** Listed all types in alphabetical order (except TGame which is still at the top). - *** Gave each type a one line description and tidied up comments. Pasted all the descriptions into an HTML file called CommonTypes.html. Check it out. - *** Jitter Correction added to timing code. See Version History at the bottom of commontypes.bmx for more info. - *** At the request of Space Ace, KeyHit and KeyDown no longer share the same Keys[] array. Keydown now logs state changes in the KeyStates[] array. This now works more like BRL's PolledInput. Please check your games/apps to make sure that they still behave the same (mine do). - *** Added fields to TSplashScreen to support a scrolling/zooming background behind the logo. - *** The sound driver is automatically changed to OpenAL for Windows Vista because it's more stable than FreeAudio. - *** Added TGame.ChangeSoundDriver and a SoundDriver field which is also shown on the debug display. WARNING: If you have created any sound channels BEFORE TGame.New() is called or you have some global variables or types which use AllocChannel() you'll need to alter their code so that the channels are created after TGame.New() is called OR comment out the ChangeSoundDriver() call in TGame.New. - *** TButton now supports an expand on mouse over effect via the ScaleOnMOMax field. It looks pretty neat. Check it out! - *** Added Precache() to TImageBank, TMenu and TButton. Very useful because it sends the images to VRAM for quicker drawing of the first frame. - *** TFade now supports a panning, zooming background that can be faded in and out quicker than the main logo. - *** Added TParticleGenerator and TParticleGeneratorList. - *** Added UserFunction(p:TParticle) to TParticlePhase. You can set this to your own function and it will get called when the phase ends, very useful for making stuff happen when the particle hits its destination for example. - *** Added AnimStoppedFunction(TSprite) to TSprite. It's an optional user-defined function that will be called when the animation finishes. Useful for triggering something else. - *** Added TButton.MouseOverUserFunction%() field. This is an optional user-defined function that is called when the player moves the mouse over the button. You can put any special code you want in here (perhaps to activate some special effects) and if you return a non-zero value the Mouse Over state will not be set and nor will button clicks be accepted. - *** Added TGame.TerminatedUserFunction%() field. This is an optional user-defined function that is called when the player clicks X in the top right of the window. You can put any special exit code in here and if you return a value of 1 the termination will be aborted! CommonCode: - *** Listed all CommonCode functions in alphabetical order. - *** Gave each CommonCode function a one line description and tidied up comments. Pasted all the descriptions into an HTML file called CommonCode.html. - *** IMPORTANT: cctg_DrawImageRect() renamed to ccDrawImageRect(). Check your code. - *** Added ccBezier() - *** Added ccSplitStringIntoLines() for spliting text read with LoadText into an array of strings. - *** Added ccFastRand by by Manel Ibáñez (big speed improvement), and also ccFastRandSeed(). - *** Added ccGetVersionString() by Dave Kirk. Returns a string containing the OS version. - *** Added ccGetMemoryStatus()
If you haven't received V1.04 yet then please let me know!
Once again thanks to my loyal customers for your continued support.