Subversion Repository Public Repository

fonline_sdk

This repository has no backups
This repository's network speed is throttled to 100KB/sec

Commits for fonline_sdk/

Revision Author Commited Message
829 cvet picture cvet Sat 27 Oct, 2018 08:30:29 +0000

Repository moved to
https://svn.fonline.ru - web shell
https://svn.fonline.ru/sdk - checkout url

828 cvet picture cvet Sun 21 Oct, 2018 15:15:31 +0000

Fixed disconnection for server client connection.
Added unsubscribe for events by delegate inner function.

827 cvet picture cvet Fri 19 Oct, 2018 22:17:13 +0000

Fixed cache compression issue from previous commit.

826 cvet picture cvet Fri 19 Oct, 2018 20:06:02 +0000

Fixed update files renaming if its already exists.
Fixed events cache clearing that gives crashing.
Skip items fade on entering to map.
Added EventScreenScroll client callback.
Different fixes to improve stability.

825 cvet picture cvet Tue 16 Oct, 2018 11:43:58 +0000

Web request options tweaking.

824 cvet picture cvet Tue 16 Oct, 2018 09:19:40 +0000

Added additional function for web requests
void YieldWebRequest(string url, const array<string>@+ headers, string post, bool& success, string& result)

Added function for retrieving unix timestamp
uint GetUnixTime()

Mapper items now deleted instantly.

823 cvet picture cvet Thu 11 Oct, 2018 16:57:02 +0000

Returned Mac OS builds.

cURL updated to 7.61.1.
Added mbedTLS 2.13.0 that enable YieldWebRequest HTTPS requests.

822 cvet picture cvet Wed 10 Oct, 2018 20:47:29 +0000

Server now also writes log file.
Time in log represents current local time not since start.

821 cvet picture cvet Tue 09 Oct, 2018 23:59:22 +0000

Added soft scrolling for critter following.
Signature of function
void LockScreenScroll(Critter cr, bool unlockIfSame = false)
changed to
void LockScreenScroll(Critter cr, bool softLock, bool unlockIfSame = false)

Fixed 32bit client crashing.

820 cvet picture cvet Tue 09 Oct, 2018 20:19:33 +0000

From engine excluded hardcoded specific item protos and item types/components.
New items flags
bool IsStatic – determine that item not generated and still in single instance for all map instances;
bool IsWall – determine that is wall for mapper interface, contour drawing, lowest draw order, for correct lighting calculations and minimap;
bool IsScenery – determine that is scenery for mapper interface, minimap, contour drawing and lowest draw order against other items on hex;
bool IsCanOpen – engine handles item open/close state and affect bool Opened property (doors and containers);
bool IsScrollBlock – instead of special hex now used this flag;
bool IsHiddenPicture – used for hide picture on client but send item, because now IsHidden static items not send to client;
bool IsTrigger – set this flag for dynamic or static items if you want to catch them in EventItemWalk or EventStaticItemWalk;
bool IsHiddenInStatic – hide static items in resulted functions like GetStaticItem/GetStaticItems for performance boost.

Properties
TriggerNum Weapon.Anim1 Grid.ToMap Grid.ToMapEntire Grid.ToMapDir
are excluded from engine.

Removed following methods
void Critter::TransitToMap(Map map, hash entire)
Item Map::GetDoor(uint16 hexX, uint16 hexY)
uint Map::CountEntire(hash entire) const
array<hash> Map::GetAllEntires() const
bool Map::GetEntireCoords(hash entire, uint skip, uint16& hexX, uint16& hexY) const
bool Map::GetEntireCoords(hash entire, uint skip, uint16& hexX, uint16& hexY, uint8& dir) const
uint Map::GetEntireCoords(hash entire, array<uint16> hexX, array<uint16> hexY, array<uint8> dirs) const
bool Map::GetNearEntireCoords(hash& entire, uint16& hexX, uint16& hexY) const
bool Map::GetNearEntireCoords(hash& entire, uint16& hexX, uint16& hexY, uint8& dir) const

Renamed
Map::GetScenery -> Map::GetStaticItem
Map::GetSceneries -> Map::GetStaticItems

819 cvet picture cvet Sat 06 Oct, 2018 17:52:47 +0000

Comparison is null and !is null converted to == null and != null.

818 cvet picture cvet Sat 06 Oct, 2018 13:59:21 +0000

Item types moved to components.

Added new methods with predicate for retrieving items
funcdef bool ItemPredicate(Item)
Item Critter::GetItem(ItemPredicate predicate)
const Item Critter::GetItem(ItemPredicate predicate) const
array<Item> Critter::GetItems(ItemPredicate predicate)
array<const Item> Critter::GetItems(ItemPredicate predicate) const
array<Item> Map::GetItems(ItemPredicate predicate)
array<const Item> Map::GetItems(ItemPredicate predicate) const
array<Item> Map::GetItems(uint16 hexX, uint16 hexY, ItemPredicate predicate)
array<const Item> Map::GetItems(uint16 hexX, uint16 hexY, ItemPredicate predicate) const
array<Item> Map::GetItems(uint16 hexX, uint16 hexY, uint radius, ItemPredicate predicate)
array<const Item> Map::GetItems(uint16 hexX, uint16 hexY, uint radius, ItemPredicate predicate) const
Example: cr.GetItem(function(i){return i.Ammo != null;});

Deleted methods
Critter::GetItemsByType
Map::GetItemsByType

817 cvet picture cvet Wed 03 Oct, 2018 14:42:28 +0000

Improved history data base which collected all changes in storage data base.
History not affected on properties marked as NoHistory.

816 cvet picture cvet Tue 02 Oct, 2018 09:07:24 +0000

Added handling of SetPropertyGetCallback, AddPropertySetCallback to locations, maps and global vars.
Fixed reflection::getCallstack.
Fixed GetMapFileNames map collection.

815 cvet picture cvet Sat 29 Sep, 2018 11:13:53 +0000

Added possibility to set animation running callbacks
funcdef void AnimationCallbackFunc(Critter cr)
void Critter::AddAnimationCallback(uint anim1, uint anim2, float normalizedTime, AnimationCallbackFunc animationCallback) const
If anim1/anim2 equal to zero then it’s applied to all sequence.

Added method to determine bone position in offset of current hex position
bool Critter::GetBonePosition(hash boneName, int& boneX, int& boneY) const

Client function to determine tile name (hash)
hash GetTileName(uint16 hexX, uint16 hexY, bool roof, int layer)

Redesigned interaction with DrawMapSprite*.
Added new class MapSprite for pass to new function
void DrawMapSprite(MapSprite& mapSprite)
Older DrawMapSpriteProto and DrawMapSpriteExt are removed.
MapSprite class members:
uint SprId
uint16 HexX
uint16 HexY
hash ProtoId
int FrameIndex
int OffsX
int OffsY
bool IsFlat
bool NoLight
int DrawOrder
int DrawOrderHyOffset
int Corner
bool DisableEgg
uint Color
uint ContourColor
bool IsTweakOffs
int16 TweakOffsX
int16 TweakOffsY
bool IsTweakAlpha
uint8 TweakAlpha

Example of using this stuff for character footsteps
https://www.youtube.com/watch?v=gHdzbBOI_Sw

814 cvet picture cvet Thu 27 Sep, 2018 13:09:42 +0000

Fixed working of game time.

Fixed working of Critter::ViewMap.

Added global variables to determine build where scripts take run
const bool __DesktopBuild
const bool __TabletBuild
const bool __WebBuild
const bool __WindowsBuild
const bool __LinuxBuild
const bool __MacOsBuild
const bool __AndroidBuild
const bool __IOsBuild

813 cvet picture cvet Wed 26 Sep, 2018 10:00:35 +0000

Added rendering feature for prerender some graphic to separate surface and then draw with some effect.
New functions
void ActivateOffscreenSurface(bool forceClear = false)
void PresentOffscreenSurface(int effectSubtype) - draw whole screen entire
void PresentOffscreenSurface(int effectSubtype, int x, int y, int w, int h) - draw custom rectangle
void PresentOffscreenSurface(int effectSubtype, int fromX, int fromY, int fromW, int fromH, int toX, int toY, int toW, int toH) - draw custom rectangle to custom screen place
Setup effects using function SetEffect( EFFECT_OFFSCREEN, X, ... ) where X is any non negative index witch you pass to present function.
Example of usage - https://youtu.be/Anat94MEpi8

Fixed effects ‘Time’ uniform.
Added OnPostDraw gui callback, called after element (and their children) draw.
EventRenderIface now not pass layer value, it’s single call.

812 cvet picture cvet Mon 24 Sep, 2018 16:25:14 +0000

Fixed Web version crash due to memory exceeds.
Fixed crash after Server finish in some case.
Fixed Mapper run command system.
Trying to fix BAM colors glitch.

811 cvet picture cvet Sun 23 Sep, 2018 16:11:23 +0000

Defines elimination.

810 cvet picture cvet Sat 22 Sep, 2018 12:33:15 +0000

Fixed drawing of transparent egg under roof.
Fixed virtual properties for array and dict.
Fixed working of ‘#undef’.

809 cvet picture cvet Fri 21 Sep, 2018 13:48:59 +0000

Added ‘#undef’ directive.
Added ‘filesystem’ script class.
Fixed ‘ModelName’ change handling.
Fixed crash when pressing Maps/Locations in server gui.
Fixed build pipeline on non Windows machines.
Fixed scripts loading order for correct defines loading.

808 cvet picture cvet Wed 19 Sep, 2018 18:30:22 +0000

Fixed server world restoring.

807 cvet picture cvet Wed 19 Sep, 2018 13:26:46 +0000

Critter property ModelName now change 3d model instantly.

806 cvet picture cvet Wed 19 Sep, 2018 07:04:55 +0000

Minor fixes.

805 cvet picture cvet Tue 18 Sep, 2018 09:10:47 +0000

Data base data now stored in its types not all in strings
Fixed mapper startup