Released Esenthel for Windows, Mac and Linux:
-Important: for this release please use latest Esenthel Installer from the store http://www.esenthel.com/?id=store to update your existing installation, auto-update won't work due to updated LZMA library
-Important: added support for Windows Universal Platform for x86/x64/ARM CPU's (including Windows Phone and Xbox)
-Important: increased material texture quality (because of this change, an automatic one time project texture update will be performed when opening old projects - this update may take several minutes depending on the size of your project)
-added support for XAudio (available on Windows Universal Platform)
-added support for OGG Vorbis sound file creation thanks to new 'OggVorbisEncoder' class
-converting materials to atlas, and extracting mesh from material texture atlas will now store information about original material textures crop/resize coordinates so they can be reloaded from original images in the future
-improved precision of Sound.time on Android
-improved performance of Image.blur for high precision single channel formats
-improved performance of setting textures in material editor
-improved performance of decompressing BC7 images
-improved precision of 'CreateBumpFromColor' function
-material texture glow in RT_SIMPLE renderer will now be processed regardless of 'Renderer.simplePrecision' value
-added a workaround for 'SendMail' not working on Windows Server 2012 due to IPv6 connection failing
-added a workaround for some Flac audio files being detected as mp3 and failing to play
-updated sqlite, lzma, libwebp, libvpx, libpng, libtiff and libmpg123 to latest version
-"_SVN_" folder path was renamed to "_Code_", this functionality was renamed from SVN to Code Synchronization
-Pak.create will now fail if a file was specified, but its source couldn't be found
-Pak.load now checks the pak size if it's big enough for entire data, if the file size is too small than expected, then error (false) will be returned
-added new method Pak.loadEx that returns more information about the load result
-added new Editor Network Interface methods 'selectElms', 'curMaterial', 'getMaterial', 'setMaterial' and 'reloadMaterialTextures'
-improved LOD generation algorithm (small triangles contribute less to generated middle position, more shape details are now preserved, texture coordinates are offseted less)
-project comparison functionality now has the option to select elements in the opened project from the list
-MenuBar will get deactivated on Alt press if it was already active
-project elements source file name will now be synchronized and saved on the server as well
-mesh skeletons will now use smaller file sizes on the server
-Updated Esenthel Builder to merge engine compilation and lib file copying tasks for Windows and Apple platforms
-added new button to material editor that allows to reload textures on demand and/or disable auto reload on texture change
-added a new option in the material editor, to force a custom size of the material base textures (you can read more about this functionality by hovering the mouse over the "resize .." menu)
-order of nameless enums will now be preserved when generating C++ codes to avoid unnecessary project rebuilds
-code functions with 'inline' keyword will be stored in the headers when generating C++ codes, allowing compiler to optimize the code better
-added new method UID.randomizeValid
-added new function DecompressionMemUsage
-improved Esenthel Icon
-starting "Play" or "Publish" command for Windows Universal and iOS Platforms will now open the IDE, as these commands can be performed only from the IDE for these platforms
-added new shader model SM_2_1 which may be available on Windows Phone
-added new C++ macro 'STORE' which is either 1 or 0 if 'Store' is supported on current platform
-added new C++ macro 'FACEBOOK' which is either 1 or 0 if 'Facebook' is supported on current platform
-reduced memory usage for LZMA compression
-increased performance for PAK creation with LZMA/LZHAM compression
-using Exit to close an app, will now display the error message box on Android and iOS as well
-simplified iOS source code
-added support for Touch.force detection on iOS devices (other platforms will always return force 1 when touch is pressed)
-added support for Touch.stylus detection on iPad pro
-improved generation of app icon files and reduced some of icon file sizes
-animation editor bone movement can use world axis aligned movement when holding the alt key
Bug Fixes:
-fixed processing of more than 1 keyboard keys per frame in the editor since last release
-fixed an issue when modifying materials in the Editor, which are set as a mesh variation (but not the main one) did not update the shader techniques
-fixed potential crash due to division by zero when editing gui settings in "mesh operation \ extract from atlas"
-fixed a bug when in special case of splitting mesh faces in the editor, nothing would happen (for example when selecting all quads and no triangles)
-fixed MenuBar getting activated when pressing Alt+Tab
-fixed applying images / panel images to Panel
-fixed application failing to compile when importing esenthel project (with codes) to already opened project (without codes)
-fixed templates code generation compilation under Android when template functions were located inside a namespace, or if classes had static variables
-fixed terrain distortion visible at each start of using height brush in the world editor
-fixed a bug when under rare circumstances, dragging something onto object parameter editor could cause a crash
-fixed crash in TextInt if digits parameter was set to a very high number
-some other small fixes
API Changes:
-Image.crop was split into 'crop' and 'crop3D' methods ('crop' internally calls 'crop3D')
-'WindowText' was split into 'WindowSetText' and 'WindowGetText'
-MT.elms will not include the Mouse if it's not detected
-basic memory functions such as Alloc/Copy/Swap now operate on IntPtr size, instead of Int, allowing 64-bit allocations on 64-bit platforms
-Connection 'sent' and 'received' methods now return Long (previously, this was an Int)
-removed App.movingSizing
Name Changes:
NativeStore -> PlatformStore
NS -> Store