October 2010
Released for Windows:
-IMPORTANT: added initial support for MMO functionality, please check the main website demo page for early version of "Esenthel MMO" demo and Client Section on the forum for access to Esenthel MMO Server+Client source code
-IMPORTANT: changed the layout of following virtual methods for classes Game::Obj and Game::Chr - itemContainer, itemRemoved, itemAdded, itemPickUp, itemDropDown, itemGetFrom, itemPutTo (please update your codes if you override any of these methods)
-IMPORTANT: new Game::Obj virtual method memoryAddressChanged which should be used for custom game object classes which manually create actors, inside it you can set Actor::obj to point to the game object owning the actor
-IMPORTANT: changed layout of Secure::secure,unsecure (Ptr src -> CPtr src), please update the layout of your custom methods in classes based on Secure
-removed the Game::World.setObjItem (please use setObjType instead), also because of that change, dropping down items method requires specifying the world item container object type enum (typically "OBJ_ITEM" enum value)
-thanks to applied changes, custom item classes now don't need to be based on Game::Item class
-new class StrLibrary allowing to store efficiently multiple strings in files basing on a previously created database of frequently occuring strings, recommended for exchanging common strings between computers using network connections
-new methods File::cmpIntV,decIntV,cmpUIntV,decUIntV,cmpSatFlt1,cmpSatFlt2,decSatFlt1,decSatFlt2,cmpAngle1,cmpAngle2,decAngle1,decAngle2 allowing to compress basic data types (Int,Flt) into fewer bytes, recommended for exchanging data between computers using network connections
-new classes Net::Obj, Net::Area, Net::World used for handling objects, areas and worlds on the server
-new method Area::Data::embedObj which can give access to small embedded objects in an area
-removed the ENGINE macro usage for game object source codes headers which are available in professional license, because of that game object headers are no longer included in the professional source package, as they are identical to the ones in public EE SDK
-updated comments on Game::Obj::reliesOn method to make it more clear what it does and why it is needed
-fixed highlighting of gui buttons, red green blue are now modified instead of green blue alpha values like in previous SDK's
-new method PathFind::border allowing to dynamically limit the walkable area (by specifying walkable rectangle area) without recreating the map or modifying pixels
-new parameter for PathFind::find method Int max_steps=-1, allowing to limit allowed number of steps
-new method Bool PathFind::find(C VecI2 &start, C VecI2 &target, Memb<VecI2> &path, Int max_steps=-1) which is faster than already available because it allows only one target pixel, and thus doesn't require first setting whole map with target pixels
-new method DateTime::fromSeconds(I64 s)
-new method Map::replaceClass allowing to dynamically change the type of class stored in the map
-new method Map::removeKey allowing to remove an element by specifying its key
-blend and blend light shaders now include sky fog fraction settings for additional transparency computations
-simplified Connection and ConnectionServer classes
-new udp based FastConnection class
-added description of TCP/UDP protocols in Socket.h create methods
-pressing Ctrl+A keyboard shortcut when on TextLine will result in selecting full text
-removed 'slot_matrix' for ERPG2 sources since it's no longer needed (matrix is set directly to item.matrix)
-new member Water.reflection_allow, allowing to allow/disallow rendering of reflections for all types of water
-fixed small precision issue in DateTime::days() regarding some leap years
-fixed Capsule,Tube::extend(Flt f) to correctly adjust r+=f and h+=2*f
|