GMS HISTORY FILE LIST OF CHANGES SINCE 11 MAY 1996 (V0.6B) SCREENS - Version 0.7B ---------------------- 25 May Revised GameScreen structure. 26 May AddScreen() is now resource tracked (needed for monitor drivers etc). 27 May Fixed gb_VBLPosition mis-calculation for hi-resolution screens (PAL.s). Support for TotalMem() added to AllocVideoMem(). 31 May Added support for the Bitmap structure. SwapBuffers() now automatically alters the BMP_Data field. 14 Jun Added C2P selection to GMSPrefs. BLITTER - Version 0.7B ---------------------- 13 May Added SetBobDimensions(). Added BOB_SrcMaskWidth. 14 May Added BOB_Picture field and code support. 18 May Added error checking to InitBob() for when it gets the picture. Added SetBobDrawMode(). 19 May DIRECT flag removed. SetBob*(), DrawBob*(), ClearBob() functions no longer require GameScreen. Restore() no longer requires the GameScreen. In fact a single restorelist can take bob's from any available GameScreen. Implemented BOB_Buffer, removed Buffer from ClearBob, DrawBob*(). 20 May Added a BOB_AmtFrames field that is calculated by us, exists for user convenience and animation effects. 31 May Added support for GameScreen Bitmaps to all drawing functions. Added BOB_Bitmap field. Changed ClrScreen() to ClearBitmap(). 01 Jun Added FreeBitmap(). InitBob() now takes bitmaps. Added CreateMasks() function. Added SetBobFrames() function. 02 Jun Replaced BOB_FrameList with BOB_GfxCoords and BOB_MaskCoords. Added BOB_PropWidth, BOB_PropHeight. 03 Jun Proportional Bobs are now completely supported. Renamed BOB_DirectList to BOB_DirectGfx. Added BOB_DirectMasks, implemented new code which is being tested. 07 Jun Implemented new restorelist handler. Dynamic restorelists implemented. 08 Jun Restorelists are now written into Bitmaps. The Draw*() functions have had their arguments re-organised as a result. If VIDEOMEM or BLITMEM is not detected in the source picture then InitBob() will send a warning to IceBreaker. 10 Jun Fixed bug in building of DirectMasks list. 11 Jun Fixed bug in FreeRestore() with 0 paged memory. MASTER - Version 0.7B --------------------- 14 May Added PIC_ScrWidth and PIC_ScrHeight fields. FreeUserPrefs() command implemented in Close(). 15 May Updated FindGMSTask() for error checking. Implemented CopyStructure(). 17 May Implemented TotalMem() function, requires alterations to AllocMemBlock(), FreeMemBlock() and so on. 25 May Sped up the chunky conversion for pictures. 30 May Fixed the IFF searching routine, palettes can be handled by GetPicInfo() effectively now. TotalMem() function implemented. Made alterations to the way InitDestruct() is implemented, now resides in StartGMS. 12 Jun Resource tracking added to OpenFile() and CloseFile(). 16 Jun Palette structure added - this is for files only. Time structure added - nothing uses it yet. 17 Jun Portable GPI implementation added. 19 Jun Added RemapGPI(), Load() and Unload(). 20 Jun Reordered the GPI ID's. InitGPI() now takes different arguments. 21 Jun CloseGPI() now takes GPI Bases and not ID's. CloseGPI() registers changed. 22 Jun Removed ReadSegaPad() and ReadJoyPad() etc [internal to ReadJoyPort()]. 23 Jun Added GetMemSize(), GetMemType() for information on memory blocks. Created a library which now acts as a kernal. Should provide more compatibility in future. Created JoyPorts.GPI 24 Jun Created Files.GPI SOUND - Version 0.7B -------------------- 30 May Added support for TotalMem() to AllocSoundMem(). 14 Jun Added AmtChannels() and SND_Frequency. Length is now specified in bytes. Volume now automatically initialised to user setting if zero. Channel numbers now start at 1. If a channel number of zero is detected on initialisation then InitSound() will randomly select a value.