See full description to read whole list of changes and improvments
Small list of changes and improvments ^^
- Added 'snd_AttachListnerToCamera' to SoundManager. Now listner position by default is attached to camera center. When you move camera listner position is automaticly changed.
- Another Big code clean up's. API redesigned to be more developer friendly, some functions has been removed. Generally big changes ^^
- Update opening browser function fixed (I hope ^^).
- 'GravityFactor' added to particle emitter definition. Now each emitter can affect same particles diffrently. You can set gravity by 'par_SetGravity' and gravity power by 'par_SetGravityPower'.
- 'WindFactor' work like gravity but its weaker than gravity itself. You can set wind by 'par_SetWind' and wind power by 'par_SetWindPower'.
- 'GravityFactor' and 'WindFactor' added to particle emitters. Change gravity's and/or wind's direction and/or power to see magic happen ^^
- GUI mouse keys disabling fixed. Now mouse keys input should work properly with GUI windows.
- 'Compress' module enabled for networking. Compression is used only if data size is bigger than 70 bytes (Smaller sizes makes packet even bigger than original).
- 'Multi Split Screen' feature added. Check 'r2d_ActiveSplitScreen' function to see how it works.
- Debug information changed a little.
- Particle emitters AABB reset from time to time to be correct in case of any changes.
- Callback (Delegate) functions added to 'Input' bind system.
- Addded empty texture with letters 'No Texture Found' to tell developers that texture was not found but everything else works fine.
- Vertex Buffer simplified and extented.
- Vars function improved.
- Delegates callbacks functions added to GUI all controls.
- Circle and Ellipse Bounding Box added. Sorry for the name ^^
- Network module enabled again. Unfortunetly there isn't any tutorial for now :/
- Network module simplified and improved. Lavgine now use reliable UDP protocol thanks to ENet library.
- Network debug info added to 'Mod' config.
- Small size bug in textures fixed.
- Texture structure changed.
- Added 'CopyScreenToTexture' function to 'Window' module.
- Added 'LiveData' to 'Mod.ini' config to let you tune up your loading managers.
- IniFile class parser small bug fixed.
- Small improvment in Vertex and Index Buffer classes.
- Profiler improved. Added 'Debug.Profiler' and 'Debug.Profiler.Info' sections to 'Mod.ini' with lot stuff to set.
- Visual Leak Detector -- proved that Lavgine is free from memory leaks (At least those which are detected after shuting down application)
- Most of 'Config' class code moved to 'Global' class.
- Config callback system added for simplicity.
- Some minor C++ improvments and code clean ups. I'm trying to clean whole Lavinge API to be as much stable as it can.
- SoundManager small bug fixed.
- All C++ warnings fixed.
- Some libraries have been recompiled and/or changed to match versions those from Linux.
- Render2D section removed from 'Mod'. Settings are constant now.
- Lavgine was compiled with 'Float Aritmetic' set to: 'Strict' to ensure same result on diffrent machines. I've also turned off SSE extensions because by definition they have minimal acceptable error.
- 'Strict' mode for floating point aritmetic is a way for safe network synchonization which will be used in Lavgine to achieve fast 'Network Physics'.
- 'Effect' secion added to 'Mod' config.
- GLSL shaders added. Although minimal OpenGL requirement is still 1.5. GLSL shaders are optional. If 'Effect.ContextMode' in 'Mod' config is set to '0' then engine will use 'OpenGL 1.5'. GLSL sometimes don't work properly so it is recommanded to keep it disabled.
- 'ShowEffectCalls' added again to 'Debug' section in 'Mod' config.
- Added Unicode conversion class. Converts UTF8toUTF16, UTF8toUTF16, UTF8toUTF32 in both ways.
- Small bug in random generator is now fixed.
- Added 'LogPackets' setting to 'Debug.Network' in 'Mod' config file. If set to '1' then engine will log all incoming packets to help you debug network applications.
- Localization support using ISO 639-1. Now engine trys to load language which were saved in 'Main' config file then language file that match local system language settings. If both of them not found, "Default" langauge file is loaded.
- 'VoidList' simplified and renamed to 'AnyList'.
- GUI definition 'AlignH' and 'AlignV' merged into 'Align' (e.g. 'Align=ALIGN_LEFT | ALIGN_TOP')
- Windows resources alternative files added to 'DataManager' module.
- ParticleManager small initialization bug fixed.
- Now 'System::SearchDirectory' search for files in packages too.
- Zip files added. Now you can distribute your game files as zip files.
- Zip files don't support password because it is very easy to crack. So what's the point in that ^^
- 'Dictionary' simplified and renamed to 'Map'.
- Some mutex locking fixed in modules.
- Mutex class simplifed and now use RAII for safe locking and automaticly unlocking.