171 Commits

Author SHA1 Message Date
Eduardo Bart
d2b85bdba8 More modules fixes 2012-07-26 19:13:47 -03:00
Eduardo Bart
c54cd1fdf1 Use new coding style in game modules
Lots of refactoring and changes
Remove docs folder
2012-07-24 02:30:08 -03:00
Eduardo Bart
1c3e630237 Improve modules and sandbox system 2012-07-23 21:22:38 -03:00
niczkx
3461761739 comment out & remove untested stuff 2012-07-20 21:18:03 +02:00
niczkx
8a49d09b75 stop using pairs instead of index loops, please, it's so much slower 2012-07-20 20:56:08 +02:00
Eduardo Bart
a11d6e501e More refactoring and some changes
* Move protocol safeSend() to send()
* Bind some new functions
* Refactor lots of enums
2012-07-20 02:52:57 -03:00
niczkx
f74b013da2 ignore this 2012-07-19 15:55:10 +02:00
Eduardo Bart
f289db3a9e Module sandboxing system
Sandboxing makes module scripts run inside an isolated lua environments,
making more easier and secure to script

Move and rework TextMessage using the new sandbox system
2012-07-19 06:15:23 -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
niczkx
02f89dd8be fixes 2012-07-17 16:12:29 -03:00
Eduardo Bart
c131d29b5f Fix some issues with the current working directory 2012-07-16 21:30:15 -03:00
Eduardo Bart
bc81c9c8bf Packages system with .otpkg files
When otclient initializes it tries to find all .otpkg files inside the
current search paths (./ ./modules ./addons) and then add them
to the front of current search paths. This way .otpkg can contains
many modules/addons and modifications in a single file that otclient
can recognize.

otpkg files can be compressed files supported by PhysFS, which
are ZIP (.zip) and LZMA (.7z).
2012-07-16 16:35:14 -03:00
Eduardo Bart
7a08fed689 Optimize overall memory usage
* Fixes in otbm loader
* Rework BinaryTree
2012-07-15 10:30:39 -03:00
Eduardo Bart
36e5a5a92f Remove if spaces 2012-07-14 14:29:42 -03:00
Eduardo Bart
70115e391d Merge fallen changes 2012-07-14 14:22:18 -03:00
niczkx
992cbf9d1d mapeditor changes 2012-07-14 16:20:38 -07: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
Kamil
8f492f7e06 Fixed bug with adding Vip from console or map, who is already on viplist. 2012-07-12 13:21:51 +02:00
Henrique
9523b5cde5 Changes to last commit. Maybe add FW_LUA, FW_SOUND, etc definitions further 2012-07-12 00:55:18 -03:00
Henrique
962e9c7d16 Allow logger usage on console applications 2012-07-12 00:21:26 -03:00
Eduardo Bart
d39ca7de10 Restore periodicalEvent function
* and typo fixes
2012-07-10 14:36:18 -03:00
Eduardo Bart
31612036fb Fix issue #23 2012-07-09 10:30:41 -03:00
otfallen
42971b10f8 backing up at OTBM loading, if someone can continue working on it until I'm available again, I would appreciate it much, here is current progress: http://pastebin.com/qEfC9ftv 2012-07-09 08:46:11 +02:00
Eduardo Bart
1e8491cdcd fix possible compile issue in Os X 2012-07-08 14:05:29 -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
2c7ae6e521 Now otb reader is properly working 2012-06-24 12:44:33 -03:00
Eduardo Bart
e65a8456e9 Add binary tree class for reading otb 2012-06-24 10:06:02 -03:00
Eduardo Bart
79532cd612 Optimize minimap save/load 2012-06-23 18:30:54 -03:00
Eduardo Bart
fcd6d3cfe9 Minimap fixes
* Fix infinite loop while loading minimap
* Fix errors in FileStream class
* Remake OTCM map format
* Fixes in UIMap
2012-06-23 12:03:28 -03:00
Eduardo Bart
4515e360e4 A lot of cmake changes, fix compile on win32 2012-06-22 16:04:03 -03:00
Eduardo Bart
170236f822 add missings files 2012-06-22 02:28:13 -03:00
Eduardo Bart
aed779a2c8 doc and luabinder changes 2012-06-22 00:14:13 -03:00
Eduardo Bart
c5674d10ba some refactoring 2012-06-21 20:58:18 -03:00
Eduardo Bart
96c363d997 changes for otb compability 2012-06-21 14:54:20 -03:00
Eduardo Bart
f3499efe83 Adjust fallen changes
* Restore old map load() used in minimap
* Change tabs to 4 spaces
* Add missing cmake file
2012-06-21 00:05:44 -03:00
otfallen
d139c3738b map stuff 2012-06-21 04:31:29 +02: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
Henrique Santiago
4bdcae2f8b improvements to skins 2012-06-19 05:46:49 -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
e698383538 fix addons search path 2012-06-06 19:39:42 -03:00
Eduardo Bart
70ea0361b6 new useful function, cycleEvent 2012-06-06 17:14:53 -03:00
Eduardo Bart
296f2a17c4 many modules fixes 2012-06-03 21:28:19 -03:00
Eduardo Bart
079b7a5c41 allow to change graphics engine in options 2012-06-02 18:41:20 -03:00
Eduardo Bart
257f652bb7 more opengl graphics fixes 2012-06-02 15:58:30 -03:00
Eduardo Bart
1c5b906b5b some optimizations 2012-06-02 11:43:27 -03:00
Eduardo Bart
14db1066fc change logger 2012-06-01 17:39:23 -03:00
Eduardo Bart
bd2faabe99 graphics optimization feature inspirated by diablo3 engine
* the rendering now consits of two panes
- the background pane (for animated stuff like the map)
- the foreground pane (for steady stuff, like UI)
each pane has it own max FPS and works idependently
this may increase graphics performance on many platforms
2012-06-01 16:39:09 -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