Version history
Version 1.81, 12 March 2008
Version 1.8, 12 October 2007
Version 1.7, 30 May 2007
- HGE_SHOWSPLASH system state added instead of earlier hack with (hgeIntState)14
- Timer_GetFPS now returns more precise value
- Input_GetKeyState now correctly handles swapped mouse buttons
- Input_GetMousePos now returns correct values before call to System_Start
- Input_KeyDown and Input_KeyUp were added
- System_Log now accepts strings of unlimited length
- Resource_MakePath can now be called without argument
- Several potential vulnerabilities in internal rendering pipeline were fixed
- Gfx_SetClipping now works correctly
- Gfx_StartBatch can now fail and return 0 under some conditions, be aware
- Changing HGE_WINDOWED system state on the fly (windowed/fullscreen toggle) now works correctly.
- Pressing Alt+ENTER now toggles windowed/fullscreen mode
- HGE_FOCUSGAINFUNC now should NOT be used to restore lost render targets. Use HGE_GFXRESTOREFUNC instead.
- Updated to BASS 2.3
- Channel_PauseAll and Channel_ResumeAll were added
- Channel_SlideTo and Channel_IsSliding were added
- Music playback now correctly handles modules that require "ramping"
- Music_Play now has many additional, optional parameters
- Music_GetLength, Music_SetPos and Music_GetPos were added
- Music_SetInstrVolume, Music_GetInstrVolume, Music_SetChannelVolume and Music_GetChannelVolume were added
- Music_SetAmplification and Music_GetAmplification were added. Music resource has new amplify parameter in resource script
- hgeVector::Clamp method added
- hgeVector::operator/ (float) added, some operators made const
- hgeColor is now an alias for hgeColorRGB class
- Some hgeColorRGB operators made const
- New hgeColorRGB operators: hgeColorRGB * hgeColorRGB and hgeColorRGB / float
- hgeColorHSV class added
- hgeSprite::GetWidth and hgeSprite::GetHeight were added
- hgeSprite::SetTextureRect now has additional adjSize parameter
- hgeSprite::SetFlip now has additional bHotSpot parameter
- hgeAnimation now looks for frames within original texture dimensions, not within dimensions of loaded into video memory texture as earlier
- hgeGUIListbox Render method is fixed (had potential crash)
- Texture resource has new mipmap parameter in resource script
- hgeFont constructor has new optional bMipmap parameter, Font resource has new mipmap parameter in resource script
- hgeFont copy constructor and assignment operator were removed and made private
- hgeFont was not parsing the last line of a font file. Fixed.
- hgeFont::SetProportion and hgeFont::GetProportion were added. Font resource has new proportion parameter in resource script
- hgeFont::printf and hgeFont::printfb now have buffer overrun protection
- hgeFont::GetStringWidth were checking only the first line of the string. Fixed.
- String Table File now supports comments (start them with ";")
- New hgeGUI methods: Move, Reset, SetColor
- New hgeGUIObject methods: SetColor, Reset. And new data member: color
- hgeParticleSystem is now completely FPS-independent. Thus FPS arguments were removed from all it's constructors, resource script and editor INI-file. See Upgrading from older HGE for details.
- Particle Systems Editor now supports background image via it's INI-file. Also, you may now hide the interface with the TAB key and run particle preset with the SPACE key.
- hgeResourceManager now correctly parses hexadecimal values starting with decimal digit.
- PNG Optimizer tool added
Version 1.6, 30 August 2006
Version 1.54, 6 May 2006
- Corrected bug in Gfx_SetClipping
- Corrected minor bugs in hgeGUI
- Added implementation for constructors/destructors/operators in hgeSprite and hgeAnimation
- Upgraded to BASS 2.2
- New HGE functions:
Channel_SetPos,
Channel_GetPos,
Channel_GetLength
- Corrected framerate inconsistency in hgeAnimation
- Fixed compiler compatibility issues. HGE should now work with Visual Studio,
GCC, and Borland C++. As a side-effect, the hgeValue union has been
eliminated.
- String system states now have the const attribute
Version 1.53, 26 May 2005
- Minor bugs in hgeGUI fixed
- Global "HGE *hge" pointer is not required anymore for helper classes to work
- Most of helper classes now have proper copy constructors and assignment operators for easy objects cloning
- HGE core functions and helper class methods now have const arguments where appropriate
- Timer_GetTime now returns time elapsed since System_Initiate call, not since System_Start as earlier
- HGE_HIDEMOUSE system state added
- HGE_HWNDPARENT system state added allowing to run HGE in a child window. See details here.
- Changing HGE_TEXTUREFILTER system state now flushes previously accumulated graphics
- File paths now can be used with forward and back slashes within both resource packs and disk folders
- Resource_AttachPack now takes additional password parameter allowing to encrypt your resources
- HGE version and execution date are now written into log-file at startup
- HGE window doesn't flicker now at shutdown
Version 1.52, 11 January 2005
Version 1.51, 2 January 2005
- If the disk HGE starts from is write protected, log file access resulted in crash. Fixed now.
- Fast InvSqrt routine implementation was moved from hgevector.h to hgehelp.lib for better compilers support
- Resource_Load failed to load files with a path from resource pack. Fixed now.
- Minor bugfixes in hgeResourceManager
- hgeResourceManager::GetStream added
- Backbuffer is now cleared at startup
- Texture_Load now supports usage of compressed DDS textures which result in better performance and lower video memory requirements
Version 1.5, 29 December 2004
- hgeVertex: reserved field and -0.5 coordinate adjustments are not needed anymore
- Added Gfx_SetTransform allowing global scene transformations
- Gfx_SetClipping now automatically adjusts clipping region to fit render target, flushes previously accumulated graphics and returns void
- Added Gfx_RenderTriple allowing rendering of arbitrary triangles
- Added Gfx_StartBatch and Gfx_FinishBatch for expert use
- Texture_GetWidth and Texture_GetHeight can now return original image file dimensions
- Not deleted textures are now automatically removed during shutdown
- Reading HGE_SCREENBPP system state under rare conditions returned incorrect value. Fixed now.
- Added HGE_HWND system state
- HGE_WINDOWED, HGE_TITLE, HGE_ICON, HGE_USESOUND and HGE_LOGFILE system states can now be changed on the fly
- HGE_FPS system state can now be set to HGEFPS_UNLIMITED or HGEFPS_VSYNC: screen refresh synchronization introduced
- In fixed FPS and HGEFPS_VSYNC modes HGE now releases unused CPU cycles to the system, resulting in better system responsibility and lower power consumption
- More HGE functions now available outside System_Initiate/System_Shutdown calls pair (exceptions are timing, input, audio and graphics functions)
- If System_Initiate call failed, there's no more need in calling System_Shutdown
- Fixed memory leak in Texture_Load
- Added System_Launch function allowing to open URLs and launch external files
- BLEND_DEFAULT and BLEND_DEFAULT_Z blending mode constants added
- Ini_GetString syntax simplified
- Input_GetKeyState now ignores user's input when application is inactive and isn't suspended
- System_Rand function removed
- Random_Seed, Random_Int and Random_Float added instead, allowing generation of random 32-bit integers and using pseudo-random sequences
- Resource_Load and all other file loading functions now support absolute paths
- Resource_MakePath, Resource_EnumFiles and Resource_EnumFolders added
- HGE_RESOURCEFILE system state removed
- Resource_AttachPack, Resource_RemovePack and Resource_RemoveAllPacks functions added instead: you can now have several resource packs simultaneously and switch them on the fly
- Better ZIP format and zip-compression support added
- Timer_GetTime function added
- Timing issue occuring under WinXP/2000 when not using BASS was fixed
- If no soundcard or it's unavailable Effect_Load crashed. Fixed now.
- Music_Play now takes additional loop parameter
- Channel_IsPlaying function added
- Added Stream_Load, Stream_Play and Stream_Free allowing playback of compressed streams
- Upgraded to newer BASS 2.1
- hgeSprite and hgeDistortionMesh can now be used without a texture
- hgeSprite::SetTextureRect didn't work. Fixed.
- hgeSprite::RenderEx and hgeSprite::GetBoundingBoxEx now allow non-proportional scaling
- hgeSprite::GetBoundingBox, hgeSprite::GetBoundingBoxEx and hgeParticleSystem::GetBoundingBox now return hgeRect*
- hgeParticleSystem::Stop now takes additional bKillParticles parameter
- hgeParticleSystem::Transpose now just sets constant coordinates shift, independent of particle system's position
- hgeParticleSystem::MoveTo now takes additional bMoveParticles parameter
- hgeParticleSystem::GetTransposition added
- hgeParticleSystem::TrackBoundingBox added
- hgeParticleSystem::Render now saves the color of the particle system's hgeSprite instance
- hgeParticleManager: Transpose and GetTransposition functions added
- hgeGUI::EnableCtrl was not disabling mouse events. Fixed.
- hgeResourceManager: resource script now supports quoted strings with whitespaces and special characters
- Lots of performance optimizations (especially: general pipeline, lines rendering, sprites, particle systems, vectors math)
- Various documentation and tutorials updates
- HGE project setup tutorials for Visual Studio .NET, Borland C++ Builder 4 and Dev C++ 5 added
- New tutorial/demo added
Version 1.4, 8 April 2004
- hgeResourceManager class and resource script introduce fully automated complex resources management
- hgeSprite methods SetColorI and SetZI were removed, use the updated SetColor and SetZ instead
- hgeSprite new methods: GetFlip, GetColor, GetZ, GetTextureRect, SetTextureRect, Render4V
- hgeAnimation now deals correctly with sprite flipping
- hgeAnimation new nethods: GetMode, GetSpeed, GetFrames, SetFrames
- Fixed a bug prevented hgeFont from rendering characters with code greater than 127
- hgeFont: characters not defined in the font are now rendered as '?', not just skipped as earlier
- hgeFont new methods: SetTracking, SetRotation, GetColor, GetZ, GetBlendMode, GetScale, GetRotation, GetTracking
- hgeDistorionMesh::Clear now takes additional Z-order parameter
- hgeDistortionMesh new methods: GetTexture, GetBlendMode, GetTextureRect
- hgeParticleSystem and hgeParticleManager constructors parameter "fps" is now float
- Fixed a bug in hgeParticleSystem::MoveTo, previous position is now cleared with next update
- hgeGUIObject::KeyClick now takes additional character parameter
- Default GUI controls declaration was moved into separate header (hgeguictrls.h)
- hgeVector new operators: operator^ and operator%
- Minor bug in color manipulation macros was fixed
- Ini_SetFloat and Ini_GetFloat functions were added
- Texture_Lock, Texture_Unlock and Texture_Create introduce direct access to texture data making possible texture manipulation, software rendering, pixel perfect collision detection etc.
- Render targets now support alpha channel (see Target_Create)
- Mouse_GetPosition, Mouse_GetWheel, Key_GetState, Key_GetKey were renamed to Input_GetMousePos, Input_GetMouseWheel, Input_GetKeyState, Input_GetKey respectively
- Input_SetMousePos function was added
- Input_GetChar and Input_GetKeyName functions were added
- Input_GetEvent function was added
- Keyboard states switching (Caps Lock etc.) is now reactivated
- HGE_SCREENBPP system state now reflects actual screen bitdepth
- Once again: in windowed mode the window is now centered on the desktop
- Seems like HGE can be used with Metrowerks Codewarrior compiler without any additional efforts
Version 1.3, 12 March 2004
- System_GetVersion was removed
- hgeCreate now takes the API version as a parameter
- hgeCreate name is now not distorted in the DLL. So you can load HGE.DLL dynamically with LoadLibrary/GetProcAddress calls
- hgeDistortionMesh helper class and tutorial were added
- hgeParticleManager helper class was added
- hgeParticleSystem new methods: FireAt, Transpose and GetAge
- Particle Systems Editor was updated to the latest HGE, it runs more smoothly now
- Particle systems tutorial was updated
- hgeAnimation new methods: SetMode (forward, reverse, ping pong, loop) and Resume; Play now takes no parameters
- hgeGUI and hgeGUIObject classes were improved to allow highly interactive animated GUIs
- GUI tutorial was added
- Color manipulation macros were added (see Hardware color format)
- HGE_FPS system state was added allowing you to use fixed FPS mode
- HGE_DONTSUSPEND system state added allowing you to disable application suspending when focus is lost
- HGE_EXITFUNC system state was added allowing you to handle user's attempts to close the application window
- Gfx_RenderLine function was added
- You can omit now the size parameter of Resource_Load function
- Effect_Load, Music_Load and Texture_Load can now load dynamically generated resources from memory
- Non power of 2 textures are now padded to the correct size, not stretched as earlier (see Texture_Load)
- Font bitmap filename in the font description file is now treated relatively to the font description file folder
- Fixed a bug in hgeRect::Intersect
- Key_GetKey and Mouse_GetWheel now return changes since last frame and hold the value regardless how many times they are called during the frame
- Key_GetKey now deals correctly with mouse button double clicks and middle mouse button
- System_Rand now starts with random seed
- HGE now freezes the timer when focus is lost and the application is suspended
- In windowed mode the window is now opened at the default position, not at the top-left corner of the desktop as earlier
- HGE startup and shutdown in fullscreen mode now look more nice
- Debug logging was extended
- Various documentation fixes and updates
Version 1.2, 8 February 2004
- HGE core functions (system layer) are now wrapped into the DLL
- Libraries for Visual C++/Intel C++, Borland C++/C++ Builder and MinGW32 were added
- Interface_Get/Interface_Release were replaced with hgeCreate/Release
- System_LoadResource was renamed to Resource_Load, Resource_Free was added
- Rectangular clipping regions were added (Gfx_SetClipping)
- Mouse wheel tracking was added (Mouse_GetWheel)
- Key_Clear was removed
- Font scaling was added (hgeFont::SetScale)
- Sprite flipping was added (hgeSprite::SetFlip)
- Minor optimizations
- Various documentation updates
- Precompiled tutorials
Version 1.1, 15 January 2004
- First public release
- Tested on various hardware
- Helper classes were added
- Particle systems editor was added
- Documentation was added
Version 1.0, 28 November 2003
- Preliminary internal version
|
|