Released Esenthel 2.0 for Windows, Mac, Android and iOS:
-IMPORTANT: File.putStr,getStr format has changed (it now uses on average 3 bytes less), however you won't be able to read strings written with older version of the engine using getStr, to read old string formats please use GetStr function provided below
-IMPORTANT: Mem*.save,load format has changed (previously number of elements was saved using putInt, now it's saved using cmpUIntV)
-IMPORTANT: custom shaders need to be recompiled according to latest shader headers
-IMPORTANT: when manually setting D.bloomScale you should now set 2x bigger values to preserve old behavior, this is needed for the improvement of - gradients from bloom are now more smooth
-updated engine to work with latest Xcode 5
-improved gradient smoothnes of sun rays
-increased the per vertex max bone influence number from 2 to 3 (iOS and Android still use 2 however)
-implemented new classes for text-based data storage: TextNode and TextData as alternative to XmlNode and XmlData (the new classes generate much smaller file sizes)
-new FileText.indent member allowing to specify indentation modes (off, tabs, spaces)
-removed some of FileText methods for reading/writing, for storing text-base data please use TextData or XmlData instead
-ConfigSave and ConfigLoad functions were removed, please use your own functions for getting/setting options
-added new methods EditorInterface.curWorld,openWorld,worldTerrainGetMaterial,worldTerrainSetMaterial,worldTerrainGet,worldTerrainSet,worldObjGet
-Ctrl+Middle clicking element will now also copy its full name in the comment
-added support for playing sounds from dynamically created data via the new class 'SoundCallback'
-added support for capturing sounds (for example microphone) via the new class 'SoundCapture' (currently available only on Windows)
-added new tutorials "09 - Sound/Sound Callback" and "09 - Sound/Sound Capture"
-new members Tri2,Quad2.clockwise
-Cuts(Vec2, Tri2), Cuts(Vec2, Quad2) now properly handle cases when triangle/quad is not clockwise
-Esenthel 2.0 Server now displays if a certain user is currently online
Code:
Str GetStr(File &f)
{
UInt length=f.getUInt();
if( length&SIGN_BIT) // unicode
{
length^=SIGN_BIT; MIN(length, f.left()/2);
if(length){Str s; s.reserve(length); REP(length){char c; f>>c; s+=c;} return s;}
}else
{
MIN(length, f.left());
if (length){Str8 s; s.reserve(length); REP(length){char8 c; f>>c; s+=c;} return s;}
}
return S;
}