Read full describtion about this version to find out what has been changed :)
Many things have changed in this version. I've decided to make Lavgine more stable with all features working. That's why some features which don't work properly all the time have been removed only temporary and some for good. Don't be angry. The old code is still on my disk so it doesn't mean that I will never use it again. Since this is still alpha version I want to experiment with many things just to find the golden spot. I also want to release C++ SDK version so it's another reason to use only stable code. Last but not least, whole Lavgine code is prepared to be compiled under Linux. Unfortunetly makefile's are difficult to manage for such big projects.
I hope you will understand and won't be mad at me ^^
List of changes:
- Added checking for headers in files (UTF8 BOM, UCS-2 Big and Little Endian). All files should use UTF8 (without BOM) coding.
- Added 'ShowThreadState' for thread debuging (In case of any deadlocks - I've found one ^^).
- Added 'Render2D' section in 'Mod.ini' config file.
- Render2D core changed to improve performance and be more flexible.
- 'ShowQuadCount' changed to 'ShowTriangleCount' in 'Mod.ini' config file.
- 'Pixel Correction' added to Render2D module.
- Rotating number of triangles fixed and hidden during loading.
- Added InGame Clock and functions 'clk_*' to set/get in-game clock time. (See section 'InGameClock' in config 'Mod.ini' for more options)
- Added 'ShowTextureHits' in 'Mod.ini' config for future automatic altas texture creator. This options shows how many times two texture has been called one after another.
- Added 'Debug Break' function added for C++ SDK.
- Added ability to disable modules to find which module crash application or cause memory leak in 'RELEASE' mode.
- Thread class simplified and improved with usefull flags (like: AutoYield, RunInfinite, YieldAtStart, NoYieldWait).
- DirectX changed to OpenGL ^^ (Minimal requirement is now: OpenGL 1.5)
- Added 'ShowGUIWarnings' to enable/disable GUI warnings generated when engine don't find by tries to read values from 'Scheme' definition file.
- Crash fixed for some Lua functions when no argument passed.
- Profiler fixed and extended with percentage values. Also added 'ProfilerBytes' (C++ SDK) to count bytes.
- Big C++ code clean-up. Many unworking or partially working things removed (Preparation to compile under other platforms)
- 'Physics' and 'Object Manager' module removed due to big changes comming up ahead (Please don't kill me for this ^^ Maybe I will bring those things in future)
- Particles positioning fixed. Now everything works fine ;) (I hope)
- Added 'ShowParticlesAABB' to 'Mod.ini' config file. Enable to see AABB for each particle emitter.
- Added 'Dummy' texture for primitives like point, line, rectangle. They basicly don't need to use texture but it look's much better.
- Added 'Render Depth First' optimization. This step reduces not only fragment-shading cost but also frame-buffer bandwidth cost (complex non-alpha blending scenes only).
- Added 'DepthPrecission' to 'SoftwareRenderer.States' and 'ShowDepthPreview' to 'SoftwareRenderer.Debug'.
- Software Renderer rendering algorithm optimized by precomputed values for each box.
- Sotfware Renderer improved with 'OpenCL' support (First draft. Available in C++ SDK only).
- Global variable container was changed to be more developer friendly (C++ SDK).
- Futher Software Renderer optimizations by letting to choose which values should be interpolated in vertex shader stage.
- Now only stable mods and features will be released. I'm trying to make Lavgine more stable and feature constant.
- Network feature disabled. Generaly it works but I need to check it by myself.
- Main menu redesigned to be more developer friendly. Press F12 to open main menu in-game window.