Commit Graph

1724 Commits

Author SHA1 Message Date
Eduardo Bart bb514d3acb Optimize path finding upto 100x performance again 2014-02-16 13:58:26 -03:00
Henrique Santiago b7b8fdfd0c Fix BinaryTree skip, small otb changes 2014-02-13 00:42:06 -02:00
Eduardo Bart 57a330e589 Fix path finding issue introduced by PR #470 2014-02-11 19:28:01 -02:00
Ahmed Samy 96f3bcb42b Merge https://github.com/shirayukikitsune/otclient
* https://github.com/shirayukikitsune/otclient:
  And do not delete curly brackets.
  Meh, spacing.
  Even more fixes
  Optimizations in Map::findPath
  More fixes in Map::findPath
  Fixes heap corruption in Map::findPath
2014-02-11 15:55:23 +02:00
Ahmed Samy c8b4566194 TextEdit: If cursor pos reaches end, move to start, and the opposite 2014-02-10 08:05:45 +02:00
sakagushi f0fbd4790f And do not delete curly brackets. 2014-02-06 04:36:39 -02:00
sakagushi cb1f28a3a3 Meh, spacing. 2014-02-06 04:34:54 -02:00
sakagushi cc1e3c534e Even more fixes
Forgot to clean the garbage generated in the last commit.
2014-02-06 04:34:04 -02:00
sakagushi f4f79f47bd Optimizations in Map::findPath 2014-02-06 03:57:17 -02:00
sakagushi ff617c3fab More fixes in Map::findPath
Fixed the styling, std::unique and removed the priority_queue comment
2014-02-06 03:36:19 -02:00
sakagushi 43524a9127 Fixes heap corruption in Map::findPath 2014-02-06 02:08:10 -02:00
Sam 48ff67dc06 Fix useWith issue 2014-01-25 22:14:01 +01:00
Sam 8bd154b604 Merge pull request #452 from conde2/master
Temporary fix for async
2014-01-24 10:26:28 -08:00
conde2 9da018fdff Temporary fix for async
This should be fixed in server side, until that we just don't need to
use.
2014-01-24 00:19:08 -02:00
Sam 4f4788c1c3 Fix WritableDate to correct version (at least I hope so), fixes #446 2014-01-21 23:13:07 +01:00
Sam d0d8c9a081 Bind adjustments, some fixes 2014-01-21 22:12:50 +01:00
Henrique Santiago f3b5adbf40 Merge pull request #447 from conde2/master
Fix compilation under MSVC, bind some fucntions
2014-01-21 13:01:56 -08:00
Sam 38c9b6b0b2 Luacasts for Light 2014-01-21 22:01:11 +01:00
conde2 79be0eca73 Fix compilation under MSVC, bind some fucntions 2014-01-21 18:33:22 -02:00
Sam 9bd02ca8ba Added method to export a ThingType as png :exportImage(fileName) 2014-01-21 12:11:19 +01:00
Sam f12ecd8404 Implemented a function to save .dat file 2014-01-21 11:10:02 +01:00
Sam 53803b2218 Implemented a function to save .spr file 2014-01-20 23:51:15 +01:00
Sam 67c2453c82 savePNG method for Image 2014-01-20 23:04:49 +01:00
Sam 455000c02d Fix save_png definition / New UISprite function 2014-01-20 22:48:50 +01:00
Sam 27ae54d7d6 Lua call for loading .spr, .dat, .otb 2014-01-18 18:38:13 +01:00
Sam aec577a4b4 Merge pull request #442 from d33tah/master
Get rid of trailing whitespace.
2014-01-18 08:11:03 -08:00
Ahmed Samy 6f467d5a1b Sort town/house names 2014-01-18 17:57:42 +02:00
Jacek Wielemborek e6c9e78935 Get rid of trailing whitespace.
Commit generated by command:

find -type f ! -path '*.git*' ! -path '*.png' ! -path '*.ico' ! -path \
    '*.ogg' | xargs -I '{}' sed -i '{}' -e 's/\t*$//g' -e 's/ *$//g'
2014-01-18 15:09:26 +01:00
Sam 3750a85c5f Fix for version 8.40 2014-01-17 22:41:58 +01:00
Sam 03de13d618 Duplicate lua function removed 2014-01-16 22:11:42 +01:00
Sam 20b68c6a42 Vip functionality, closes #83 2014-01-14 23:15:01 +01:00
Ahmed Samy e4ba805e00 deleteSpawn() 2014-01-14 11:04:48 +02:00
Ahmed Samy 93be0f975f getCreatures / getSpawns 2014-01-14 01:47:43 +02:00
Sam cbfeef39bc Effects now use x and y pattern, fixes #433 2014-01-13 16:03:42 +01:00
Sam d7dfa2220e GMAction fix 2014-01-08 17:25:05 +01:00
Ahmed Samy edf17a44ca Code cleanup 2014-01-06 14:35:57 +02:00
Sam 6db2458c1d Adding 10.31 to version list 2014-01-01 15:47:51 +01:00
Ahmed Samy 2556bfcbf2 Tab -> space 2013-12-30 18:13:49 +02:00
Ahmed Samy 9bdce800d8 Bind Container item code to lua 2013-12-30 18:10:45 +02:00
Ahmed Samy 9adab5f9bf Item serialization: Write description & text 2013-12-27 12:59:50 +02:00
Ahmed Samy a6f998d406 Fix typo & bind ItemType::isWritable 2013-12-27 11:32:19 +02:00
Ahmed Samy ab21558c47 Do not test for TILESTATE_NONE
This flag is ALWAYS set, cause it's always 0 i put there by mistake.
It causes an issue by simplying drawing everything dark, cause of
the opacity...
2013-12-27 05:10:00 +02:00
Sam 17c4d59b15 Enabling versions 7.8 to 8.0 2013-12-26 23:20:34 +01:00
Sam da959aca28 Support for protocol 7.7/7.72 / Tiny fix 2013-12-26 21:31:55 +01:00
Ahmed Samy 6745bff132 Introduce g_resources.getDirectoryFiles
This can recursively find files in a directory that's not in physfs search
path, this is needed for mapeditor needs, esp the file browser.

We do not want to limit users to the application run directory
so we have to use this.

This function uses boost filesystem.
Prototype:
	g_resources.getDirectoryFiles(directory STRING, filenameOnly BOOL,
	recursive BOOL)

filenameOnly is there if we want to just get the filenames in the
directory.
recursive if we want to loop directories in the directory.
2013-12-25 21:32:49 +02:00
Sam 27db78567b Fix writables in 7.6, fixes #416 2013-12-25 15:11:12 +01:00
Sam 9d8cf33acc Fix 7.60 login protocol 2013-12-23 23:45:49 +01:00
LordHepipud aa84ee4362 Fix 7.70 RSA / XTEA encryption
RSA / XTEA encryption was implemented with Client 7.70

~~~~Lord Hepipud~~~~
2013-12-23 23:31:59 +01:00
Henrique Santiago 1e17919a26 Use of createTable on containers 2013-12-22 17:36:43 -02:00
Ahmed Samy df3546b073 lua: now we have a function to static allocate an array
lua_newtable() definition:
	#define lua_newtable(L) 	lua_createtable(L, 0, 0)

This simply allocates space for 0 fields, meaning, if we push any
values into this array, it will re-allocate the array, which is bad.

This function statically allocates an array, so it's ready to have
X fields into it.

Performance tests:

lua_newtable
1428161
1426992
1413513

lua_createtable
2004544
1974117
1957533

These tests were done on an AMD 8350fx CPU, single thread used.

narr: This is for fields that just have an index, e.g. arr[0] etc.
nrec: For fields which needs like arr.a, arr.b etc.

This is how many times each of the functions can run per second, as
you can see about 1.7x the calls to lua_newtable.

All credits goes to @dalkon, he was too lazy to do it by himself, and
asked me to do it for him.
2013-12-21 16:13:24 +02:00
Ahmed Samy 24e26e190b Also unbind g_minimap.updateTile 2013-12-18 04:40:53 +02:00
Ahmed Samy ad7cda534d Fix minimap tile update for item removal 2013-12-18 04:40:52 +02:00
Sam 863bece70b VC12 fixes by @dalkon 2013-12-15 19:09:03 +01:00
Ahmed Samy 22f97aa00b More binds to lua 2013-12-15 04:59:45 +02:00
Ahmed Samy e32607b05c Tiny fixes 2013-12-15 04:33:43 +02:00
Ahmed Samy 1790eee1c6 Add selection to tile 2013-12-14 23:06:52 +02:00
Ahmed Samy ec2518525a Add more tile flags to be checked for 2013-12-14 19:44:54 +02:00
Ahmed Samy eb4fb4ff41 Animations are now optional
The default behaviour is still there though.
2013-12-14 18:48:18 +02:00
Ahmed Samy 4f997a3826 Only request tile cache to be updated once for both x & y 2013-12-12 16:24:50 +02:00
Ahmed Samy c54015a60d Fixup movePixels a little bit
Thanks to @dalkon for dis.
2013-12-12 16:21:22 +02:00
Ahmed Samy 57c432d3ea Increase maximum move offset to be 64 instead of 32 2013-12-12 03:23:13 +02:00
Ahmed Samy bd8c883e13 Take out debug message 2013-12-12 02:53:57 +02:00
Ahmed Samy b5c3b37b3c Tiny fix for movePixels 2013-12-12 02:46:20 +02:00
Ahmed Samy ece6507df2 Bind g_minimap.updateTile to lua
This is needed to update tile removals from minimap widget.
2013-12-11 19:08:12 +02:00
Ahmed Samy 04515ffbb8 Fix map move pixels function
Thanks to @dalkon for this.
2013-12-11 18:36:31 +02:00
Ahmed Samy ed24a0735a Bind {un,}lockVisibleFloor to lua 2013-12-09 20:15:39 +02:00
Ahmed Samy 2498129ff3 mapio: don't add saved with line in description 2013-12-07 02:52:51 +02:00
Ahmed Samy 066638e7c0 mapio: don't add description twice 2013-12-07 02:27:21 +02:00
Ahmed Samy 95610de5f3 bind set{Width,Height} of g_map to lua 2013-12-07 02:00:31 +02:00
Ahmed Samy 9154c0a678 mapio: fix load on new maps 2013-12-06 23:08:08 +02:00
Ahmed Samy 772ec208c0 don't throw error on fail 2013-12-05 22:23:46 +02:00
Sam 99500c9c91 Protocol 8.40-.42 fixes, closes #272 2013-12-04 16:02:51 +01:00
Ahmed Samy b9b9a32b83 Spawns: add function to find a spawn to place a creature on 2013-12-04 14:30:26 +02:00
conde2 ba091c9f5b Indentation 2013-12-01 01:30:48 -02:00
conde2 3288711d16 Mistake 2013-12-01 01:25:34 -02:00
conde2 8b0509a5c3 Try to fix compilation 2013-12-01 01:19:29 -02:00
conde2 d7612e9304 Little mistake 2013-12-01 01:12:06 -02:00
conde2 4dcb30110f Use of clamp 2013-12-01 00:48:36 -02:00
conde2 7ff73d1064 Fix indentation 2013-11-30 23:34:21 -02:00
conde2 ca2fe9cf45 Fix compilation under MSVC
Use template for std::min and std::max
2013-11-30 23:08:43 -02:00
Sam ec012cb137 Fix 7.6 protocol issue / Typo 2013-11-19 01:09:31 +01:00
Sam 69ae324676 Tiny setPVPMode fix 2013-11-19 00:55:42 +01:00
Sam 4d656f8bd1 New pvp modes to combat controls 2013-11-19 00:50:00 +01:00
Sam c98439ae65 onOutfitChange fix 2013-11-18 23:18:48 +01:00
Sam 4f9f04206d Added enter / escape button to minimap flag window 2013-11-18 20:57:50 +01:00
Sam fc54a6e418 Full modal dialog functionality 2013-11-18 18:58:15 +01:00
Ahmed Samy 25d3019d1a force use of template version of std::min/max 2013-11-14 00:02:47 +02:00
Ahmed Samy 1711d8bdaf Revert "replace all std::min/std::max with just min/max"
This reverts commit 28d967ccce.
2013-11-13 23:53:54 +02:00
Ahmed Samy 28d967ccce replace all std::min/std::max with just min/max
This errors out in MSVC since the inclusion of winsock2.h, CL uses the
macro not the template version.
2013-11-13 23:48:10 +02:00
BrunoDCC 4bfe9b640e Fix houses and monsters 2013-11-13 18:48:37 -02:00
Eduardo Bart 28786a3570 Update make_snapshop.sh 2013-11-13 14:33:29 -02:00
Eduardo Bart b07a77f705 Changes to compile for Win64 2013-11-13 13:55:34 -02:00
Eduardo Bart dd829395e3 Merge pull request #376 from dalkon/master
Item phases & Fix party "bug" & Additions
2013-11-12 15:56:54 -08:00
dalkon 18fa54181a Format fix 2013-11-13 00:50:46 +01:00
dalkon 5b8ff29fa3 Fix party "bug" & Additions 2013-11-13 00:48:41 +01:00
dalkon 59e90e8f1e Item phases 2013-11-13 00:18:15 +01:00
Eduardo Bart fc0297d6db Fix compile errors in ubuntu 2013-11-12 20:07:46 -02:00
Eduardo Bart 1060c6f78c Compilation for MSVC2013, thanks @dalkon
OTclient now compiles in "Microsoft Visual Studio 2013 Express for Windows Desktop"
All the needed libraries you can download at https://www.dropbox.com/s/2yfb1c763io8efy/otclient-msvc13-libs.zip
NOTE: You have to change VC++ Directories to the properly directories
NOTE: Latested MSVC 2013 or greated is required
2013-11-12 16:32:39 -02:00
dalkon c9597d6682 Visual Studio 2013 Compatibility 2013-11-12 16:32:39 -02:00
Ahmed Samy 2b015d49d7 don't set bits twice 2013-11-12 20:06:59 +02:00