Commit Graph

104 Commits

Author SHA1 Message Date
Eduardo Bart a1fb373b1b Revert protocol bug added in lasts commit 2012-07-30 21:08:32 -03:00
Henrique 12e6602925 Bind connection and fix protocol recv without xtea 2012-07-30 17:12:38 -03:00
Henrique c969f5209f Some changes to server compatibility 2012-07-30 16:40:03 -03:00
Eduardo Bart 03b8241bbc Rename stdext::shared_object_ptr to compile in gcc 4.6 2012-07-30 12:08:21 -03:00
Eduardo Bart 59b6abfa09 Implement message modes for 9.6
Fix possible crash when closing otclient
Fix private messages
Fix messages in 9.6
2012-07-30 09:33:52 -03:00
Eduardo Bart e0431021b5 Huge engine change, replace all std::shared_ptrs
Create a new shared pointer type stdext::shared_object_ptr and stdext::shared_obj
using boost::intrusive_ptr

Advantages:
 * half memory usage
 * faster and lightweight

Disadvantages:
 * using weak_ptr is not supported anymore
 * compiling seems slower
2012-07-29 00:34:40 -03:00
Eduardo Bart 0a49f58e50 Fix crash when InputMessage is too large 2012-07-26 11:03:57 -03:00
Eduardo Bart eb24d6776e Multi-protocol
Lots of chagnes to add multi protocol flexibility, not really
completed yet, still have to rework text messages opcodes and other stuff,
so this still a working in progress feature

* Rework dat reader, the dat reader can now
* dinamically detect dat version
* Split game into gamelib and game_interface
* Lots of other minor changes
2012-07-17 20:53:19 -03:00
BeniS b7ac6ce6d5 Added Market/MarketProtocol module to begin the construction of the Market! Fixed some Minor Issues, and Some Cosmetics
* Added new protocol lib.
* Added missing Game Features to game/const.lua
* Added new Market module that will handle the market/market protocols too.
* Finished Market protocol and begun on the market structure (MarketOffer etc).
* Removed any traces of market protocol in the core (I think).
* Moved minimap images to /images.
* Removed old zoom images for minimap.
* Fixed a bug with randomize outfit.
2012-07-18 02:36:27 +12:00
Eduardo Bart e3298d561c Rework application class and framework
Make otclient's framework flexible enough to run console apps like
servers, so this mean is possible to build otclient versions without
graphical interface and use it's framework to code servers
2012-07-13 22:23:11 -03:00
Eduardo Bart e7691b873b Add error code to onError protocol event 2012-07-09 19:45:34 -03:00
Eduardo Bart 472e78d368 Make C++ exception works for lua
* Throw exception when open a file fails
2012-06-25 19:42:38 -03:00
Eduardo Bart 98a1b611bf Refactor for documentation 2012-06-25 19:19:17 -03:00
Eduardo Bart 4515e360e4 A lot of cmake changes, fix compile on win32 2012-06-22 16:04:03 -03:00
Eduardo Bart 139f389d88 fix infinite loop while saving empty minimap 2012-06-22 14:26:12 -03:00
Eduardo Bart 0c14a8e602 fix minor cmake issue 2012-06-22 13:02:16 -03:00
Eduardo Bart aed779a2c8 doc and luabinder changes 2012-06-22 00:14:13 -03:00
Eduardo Bart 8761220deb Refactoring and flexibility changes
* Split game module into game and game_interface
* Move core_lib to corelib
* Move miniwindow to corelib
* Introduce init.lua script for initializing the client, giving much more flexibility
* OTClient is no longer Application derived and is much simpler
2012-06-19 21:16:52 -03:00
Eduardo Bart 1c7bbaea89 Fix memory leaks
* Fix recursive reference memory leak in UIWidget
* Make Event/ScheduledEvent memory-leak safe
* Fix exit crashs by freeing graphics resources before destroying GL context
* Add many asserts to avoid any leak regression
2012-06-18 05:13:52 -03:00
Eduardo Bart ad04043a88 Lua binder compability changes
* A lot of changes in lua binder to compile with clang's libc++
* Add more portability to luabinder
* Remove const keyword from bound lua functions
* Deprecate std::bind usage with luabinder replace its usage with registerSingletonClass/bindSingletonFunction for binding singleton classes
* Fix a bug in lua binder where calling functions with bil object would make the client crash
* More fixes to compile with clang
2012-06-17 12:21:46 -03:00
Eduardo Bart bb1fb939c4 just fixes
* fix battle rendering
* fix rendering glitch when following creatures
* properly throw exceptions from C++ to lua and avoid exception crashs
* fixes rendering states in framebuffer
2012-06-06 11:10:35 -03:00
Henrique Santiago 3cb5216858 protocol login working 2012-06-05 18:27:37 -03:00
Henrique Santiago 6b9943447a protocol login at lua 2012-06-05 16:16:57 -03:00
Eduardo Bart e5000fa577 encrypt password and account number
* the encryption uses a unique machine key, this means that if anyone steals config.otml with a saved password,
he will not be able to decrypt the password without the machine UUID key
* the encrypt uses a simple XOR encryption method, encoded with base64 and adler32 summing
2012-06-04 09:38:25 -03:00
Eduardo Bart 14db1066fc change logger 2012-06-01 17:39:23 -03:00
Eduardo Bart c01b32b032 rework log function and protocol
* remove some protocol ifdefs, replace with game features system
2012-05-28 19:04:44 -03:00
Eduardo Bart 4c80d783d6 rewrite and reoganize tools functions
* create stdext namespace which contains additional C++ algorithms
* organize stdext in string, math, cast and exception utilities
2012-05-28 10:06:26 -03:00
Eduardo Bart 946ec64e7f new protocol system fixes 2012-05-14 21:04:04 -03:00
Eduardo Bart 7bca3de8eb allow usage of network messages in extended opcode 2012-05-14 20:13:48 -03:00
Eduardo Bart 2478809945 add lua flexibility for protocol
* use shared_ptr for InputMessage and OutputMessage and bind them
* allow sending network messages from lua
* implement extended opcode
* use own OS type  for otclient to allow server side detection
* fixes in input event bot protection
* move RSA to input/output network messages
* allow to capture opcodes before GameProtocol parsing with the event GameProtocol.onOpcode
* fixes in lua std::string pop/push to allow byte buffering
2012-05-14 18:39:31 -03:00
Eduardo Bart fa9c942471 basic protocol 953 support, logging in real tibia! 2012-05-12 01:52:16 -03:00
Eduardo Bart 5a47e9d8a9 support for protocol 810
* change in protocol/network classes to make compatible with older protocols
* use filestream for reading dat
* add many ifdefs for multi-protocol support
2012-05-11 15:02:57 -03:00
Eduardo Bart 02c5e7b8ff missing files
* add questlog icon
* add playertrade otui
* some protocol changes for extended messages
2012-05-01 21:41:42 -03:00
Eduardo Bart cb7bd521d2 fix compilation on win32 2012-04-13 21:14:25 -03:00
Eduardo Bart 8b184d3ce8 compile fixes for gcc 4.7 in 32bit platforms 2012-04-04 12:12:25 -03:00
Eduardo Bart d4afb71263 clean containers when relogging 2012-04-03 11:15:11 -03:00
Eduardo Bart a475384b73 ui fixes
* fix viplist
* fix skills update
* fix mouse grabber
* minimize send interval
* add api to get world name
2012-03-29 16:25:04 -03:00
Eduardo Bart b46d4c4d5f non relevant changes 2012-03-16 10:31:21 -03:00
Eduardo Bart 411ac72fdc change some comments 2012-02-03 02:18:54 -02:00
Eduardo Bart f1cba66b1e fix possible issue when disconnecting from the server 2012-02-03 00:54:33 -02:00
Eduardo Bart 4584ce5b86 bind Game.turn 2012-02-02 00:38:46 -02:00
Eduardo Bart 98ef0e4574 allow setting/getting nodes in g_configs 2012-02-01 21:37:40 -02:00
Eduardo Bart 289efe34cf fix tcp congestion 2012-02-01 20:46:31 -02:00
Eduardo Bart 87236ee780 add missing shader 2012-01-30 01:27:25 -02:00
Eduardo Bart 9db7bd2602 rework map rendering 2012-01-29 22:00:12 -02:00
Eduardo Bart f57d46de0e fix minor connection leak 2012-01-13 13:41:57 -02:00
Andre (Notebook) 8f466b432c add lua functions to support packet manipulation/send 2012-01-13 09:51:43 +08:00
Eduardo Bart ada5c031d6 fix critial network delay issue 2012-01-09 16:46:15 -02:00
Eduardo Bart 9104305f37 update copyright notice 2012-01-02 14:59:24 -02:00
Eduardo Bart d5e15d1f06 add clock, change exceptions, add network exceptions, fix some crashes 2011-12-01 20:26:21 -02:00