Commit Graph

1083 Commits

Author SHA1 Message Date
Shawak d20c263912 Ability to get buffer from inputmessage 2014-03-22 18:09:11 +01:00
Shawak 07e40afa3d Ability to get buffer from inputmessage 2014-03-22 18:07:13 +01:00
Shawak 8179915e06 Ability to get buffer from inputmessage 2014-03-22 18:05:32 +01:00
Henrique Santiago b7b8fdfd0c Fix BinaryTree skip, small otb changes 2014-02-13 00:42:06 -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
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
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
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
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
Sam 863bece70b VC12 fixes by @dalkon 2013-12-15 19:09:03 +01: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 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
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
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 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
Eduardo Bart 0938e22eb9 Fixes in stdext::format 2013-11-11 23:07:25 -02:00
Eduardo Bart 2b34c0ea0a Fix #337
The sound buffer was not being fully preloaded because it's size was incorrect
2013-11-10 20:35:00 -02:00
Eduardo Bart d32f71c2b9 Partial support for protocol 1020 and minimize lag
I am able to login in global Tibia however there are game protocol errors
* there is a new opcode 167, which I dont know what it is
* there are changes in opcode 147 which handles text messages that I don't know too

Connection writing was optimized, playing "lag" should improve by 10ms,
and improve much more in systems with low fps
2013-11-10 20:10:04 -02:00
Eduardo Bart 38dec168ee Fix boost::asio misuse that would cause lag
io_service::reset was not called before io_service::poll, meaning that new events would be really polled in the next Connection::poll call, this could lead to network lag in computers with low framerate (ie: a user with 10 fps would have 100ms lag just because of that)
2013-10-22 21:42:35 -02:00
Ahmed Samy 520baa28ea Move "getNPC" that was introduced in commit
00729bbc2e
from Spawn to CreatureType

I didn't have a closer look at how his code was structured, what he
basically did
is that he set all creatures in a spawn as NPC's even if it's a monster
which is
so erroneous.

Highlights:
- Add branch prediction macros
- Minor code style fixes & some others

Hopefully the branch prediction thing will speed up OTB since it's
awfully slow.
2013-08-27 03:40:18 +02:00
Mark Samman 261642190b Fix compiling on OS X 2013-07-28 04:30:52 +02:00
Sam b81590f297 Fixed Alt + F4 keycombo on Windows 2013-06-29 16:53:15 +02:00
BeniS e062562888 Added sublime text 2 project file.
* Changed the order of the dofiles params.
2013-05-12 21:16:43 +12:00
BeniS 18d23653c4 Added some control params to dofiles lua method.
* File name contains string.
* Recursive file checking for deep searches.
2013-05-12 17:00:52 +12:00
Eduardo Bart b43a196eac Minor fixes and add auto resize for images 2013-03-15 21:59:22 -03:00
Eduardo Bart 4bdd1e79fd Fix compile error for win32 2013-03-13 21:18:17 -03:00
Eduardo Bart e9e4dcd71b Improve walk when lagging 2013-03-13 20:55:20 -03:00
Eduardo Bart 0891e2b30a Add C++ traceback to errors 2013-03-12 01:36:36 -03:00
Eduardo Bart 24664714bd Fix rare but serious bug in Connection
* Implement output pooling for writing data in connection,
this should fix rare cases where sending would fail
2013-03-12 00:18:47 -03:00
Eduardo Bart 64fc4570c9 Try to fix compilation for gcc 4.6 [3] 2013-03-06 15:47:38 -03:00
Eduardo Bart 392acc0b43 Try to fix compilation for gcc 4.6 [2] 2013-03-06 15:40:47 -03:00
Eduardo Bart 69f72b9c86 Try to fix compilation for gcc 4.6 2013-03-06 13:05:46 -03:00
Eduardo Bart 489688e9fb Merge branch 'sql' 2013-03-06 13:00:21 -03:00
Eduardo Bart 61be2103ed Fix linkage 2013-03-06 12:54:27 -03:00
BeniS a7b27ef8dd Forgot to add MySQLResult lua binding 2013-03-05 20:33:27 +13:00
Eduardo Bart 44bf4dcb6e Fix ubuntu compile errors 2013-03-05 02:54:08 -03:00
BeniS 9305053e34 Few issues with compilation and layout 2013-03-05 17:47:43 +13:00
Eduardo Bart 1dd558d57e Revert "Use boost::thread instead of std::thread"
This reverts commit 71b5c5f2e4.
2013-03-05 01:47:23 -03:00
BeniS 15ee7962f1 Some minor clean ups 2013-03-05 17:31:19 +13:00
Eduardo Bart 71b5c5f2e4 Use boost::thread instead of std::thread 2013-03-04 23:06:00 -03:00
Eduardo Bart 0be7bd5360 Implement async dispatcher #221 2013-03-04 18:56:22 -03:00
Eduardo Bart c452e74e0c Implement stdext::shared_ptr
It's an alternative to stdext::shared_object_ptr
with weak pointers support and some other functionallity, however
it's heavier, uses more memory, more allocation and slower,
this class should be used when really needed, prefer
stdext::shared_object_ptr
2013-03-04 13:14:35 -03:00
Eduardo Bart bdbe065c23 Add thread safety for std::shared_object_ptr 2013-03-04 10:47:07 -03:00
BeniS f4263384bc Fix boost issue on Ubuntu and fix MySQL lib issue
* Add framework options for configuration
* libboost_chrono-mt.a dependency issue (with clock_gettime)
* MySQL lib must be added before zlib
2013-03-04 18:03:04 +13:00
BeniS f50c63e9e5 Removed singleton instance & added more lua bindings
* Some tidying up
2013-03-04 04:11:29 +13:00
BeniS 48ac91d173 A few clean ups and also tested, its working fine 2013-03-04 01:27:07 +13:00
BeniS 8db85e4e3a Use stdext::millis not g_clock.millis 2013-03-03 19:43:25 +13:00
BeniS 02d32565e9 Work on sql framework classes 2013-03-03 19:19:22 +13:00
BeniS 3980f859b7 Forgot to remove header includes 2013-03-03 19:17:48 +13:00
Eduardo Bart c392bcca90 Fix win32 alt bug 2013-03-03 00:00:13 -03:00
Eduardo Bart 62921dee9b Fixes in options, hotkeys and viplist 2013-03-02 17:01:52 -03:00
BeniS 3ca85cbe87 Removed Position dependencies inside the framework 2013-03-02 18:33:14 +13:00
Eduardo Bart 32df317163 Fix luajit on Mac OS X 2013-03-01 17:14:18 -03:00
Eduardo Bart 8314b84f69 Add live_textures_reload command 2013-03-01 05:46:55 -03:00
Henrique Santiago e85afd4b63 Platform modtime, little changes to entergame 2013-03-01 05:08:40 -03:00
Eduardo Bart dad3026ba0 Optimize terminal buffering 2013-02-28 21:35:35 -03:00
Eduardo Bart 9312d20a0f More terminal improvements 2013-02-28 20:10:36 -03:00
Eduardo Bart b804dd6959 Fixes and new tuned terminal 2013-02-28 18:46:42 -03:00
Eduardo Bart 69e762385e Warn when shared_object_ptr misused 2013-02-28 12:19:42 -03:00
Eduardo Bart e528fcc8f8 Minor fixes and improvements 2013-02-28 02:43:26 -03:00
Henrique Santiago 46aa0c005f Support to miniwindow margin, fix protocollogin connectCallback, pt translation 2013-02-27 23:45:03 -03:00
Eduardo Bart ef20f59a98 Fix new line in utf8 conversion 2013-02-26 18:31:09 -03:00
Eduardo Bart dc3559a5c0 Fix hotkey bug and compile error on Mac 2013-02-26 17:50:08 -03:00
Eduardo Bart 06e2b6eca2 Platform fixes and rework ping 2013-02-24 22:16:45 -03:00
Henrique Santiago a8c175452b Pt translations 2013-02-23 20:15:12 -03:00
Eduardo Bart 035ce26728 Fix link error in Mac OS X 2013-02-22 19:42:28 -03:00
Eduardo Bart 04c4943fa8 Remove boost::filesystem dependency 2013-02-22 19:29:58 -03:00
Eduardo Bart 09c937998f Dont use boost locale anymore 2013-02-22 18:49:36 -03:00
Eduardo Bart e4e3d7d053 New platform APIs and new OpenAL cmake 2013-02-22 16:53:49 -03:00
Henrique Santiago 90d2032e9e More changes to painter 2013-02-22 03:31:13 -03:00
Henrique Santiago 3eeb5ae890 Painter became PainterOGL, new Painter generic class 2013-02-22 02:55:35 -03:00
Eduardo Bart 9a54bfcc90 Minimap, hotkeys and lot of other changes
* Begin working on a new layout system for UIMinimap and later UIMap,
this new layout system allows to add widgets to the minimap
* Add option to disable motd
* Rework hotkey binding
* Lots of fixes in hotkeys manager
* Add fullmap view using Ctrl+Shift+M
* Prevent some crashs in ThingType draw
* Add function to load minimap from PNG files
* Fixes in minimap saving
* Fixes in Tile::isClickable
* Add UIMapAnchorLayout, new layout for maps
* Fix freezes in win32 when pressing alt key
2013-02-21 17:03:05 -03:00
Henrique 33ce0aa704 A few more changes to dx9 2013-02-20 19:12:52 -03:00
Henrique bb304f9f4e Fixes to npc trade, begin native directx support 2013-02-20 15:41:28 -03:00
Henrique Santiago ffcb65f365 Draw minimap background without map 2013-02-13 18:40:15 -02:00
Henrique Santiago b1bab32618 Fixes to lua 2013-02-10 02:05:02 -02:00
Henrique Santiago dfb0150a7d Fix signalCall, healthinfo tooltips 2013-02-10 01:17:20 -02:00
Henrique Santiago 11cb287a21 Changes to UIProgressBar, simplified healthinfo module 2013-02-09 19:57:37 -02:00
Henrique Santiago 25841e9c77 Merge pull request #267 from ricardoianelli/master
Rework on init/exit log messages.
2013-02-08 21:03:08 -08:00
Ricardo Ianelli cbeab6f9b0 Moving start messages to lua
Moved start log messages to lua, to make easier to enable/disable those
messages.
2013-02-10 02:28:47 -02:00
Eduardo Bart ea0d5f3d81 Fix compile error for OpenGL ES 2013-02-07 03:56:21 -02:00
Eduardo Bart 7f6a4bbbe5 Lightning is not additive anymore
Now otclient lightning may look like more tibia lights,
before this too many lights together would increase
brightness a lot, this won't happen anymore in cards
with OpenGL 1.4 or newer
2013-02-06 19:49:40 -02:00
Eduardo Bart 86c462eb4d Fix win32 compile errors 2013-02-06 18:48:23 -02:00
Eduardo Bart 7ece0ed8c7 Buttons for client options 2013-02-06 17:35:59 -02:00
Eduardo Bart cf77df05ca Fix possible leaks in stdext::format 2013-02-05 20:00:28 -02:00
Eduardo Bart dcd6249e8f Link ICU in Mac OS 2013-02-05 19:21:15 -02:00
Eduardo Bart f0ac63eb5c Disable crash handler in Mac OS 2013-02-05 19:10:22 -02:00
Eduardo Bart 637b6ceca2 Trying to get it compiling on Mac OS X 2013-02-05 19:03:18 -02:00
Eduardo Bart 86d06057ca Fixes to compile with libc++ 2013-02-05 18:30:16 -02:00
Eduardo Bart 36a60419ec Fix some issues when reloading entergame 2013-01-31 14:19:41 -02:00