102 Commits

Author SHA1 Message Date
Eduardo Bart
c795eb91ab More multiprotocol support 2012-07-26 03:10:28 -03:00
Eduardo Bart
1c3e630237 Improve modules and sandbox system 2012-07-23 21:22:38 -03: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
Eduardo Bart
a6d53532d2 Rename ThingType classes 2012-07-19 22:25:55 -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
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
ec5106e7ce Fix skin texture caching 2012-07-14 18:30:00 -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
Eduardo Bart
c0c2411854 Improve minimap 2012-07-12 16:16:23 -03:00
Eduardo Bart
a1644cad29 Minor g_app lua binding fix 2012-07-09 13:36:46 -03:00
Eduardo Bart
4ac3ec8344 Minor fixes for releasing otclient 2012-07-08 13:46:09 -03:00
Henrique Santiago
6a85c31a77 Some particle stuff, far from done 2012-07-06 02:01:13 -03:00
Eduardo Bart
98a1b611bf Refactor for documentation 2012-06-25 19:19:17 -03:00
Eduardo Bart
c5674d10ba some refactoring 2012-06-21 20:58:18 -03:00
Henrique
db4ced65eb Fix skin and locale at first run, adding new locale to combobox, exit function double call, enable sound option 2012-06-20 03:31:52 -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
Henrique Santiago
4bdcae2f8b improvements to skins 2012-06-19 05:46:49 -03:00
Eduardo Bart
5a048eb7ea Minor graphics fixes 2012-06-18 20:58:56 -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
cae4d46a7d implement style priority with # syntax 2012-06-14 21:30:46 -03:00
Eduardo Bart
83f86eac64 experimental map shaders 2012-06-14 15:26:55 -03:00
Eduardo Bart
8cef6463b3 improve miniwindow moving 2012-06-11 11:10:03 -03:00
Eduardo Bart
1a7f2a44fc graphics fixes and improvements 2012-06-08 21:40:41 -03:00
Henrique Santiago
4f9ca15ef0 bind clock, fixes to waiting list 2012-06-08 17:58:24 -03:00
Eduardo Bart
a8b9dcbf17 bind new system information functions 2012-06-06 22:01:49 -03:00
Eduardo Bart
70ea0361b6 new useful function, cycleEvent 2012-06-06 17:14:53 -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
079b7a5c41 allow to change graphics engine in options 2012-06-02 18:41:20 -03:00
Eduardo Bart
59a80ffaf9 scroll when focusing widgets 2012-06-01 21:38:26 -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
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
04eca969fa fix compile issue for win32 2012-05-09 20:04:09 -03:00
Eduardo Bart
fea34a41ea trade working
* use only mouse left release in checkboxes
* remvoe duplicated code in radiogroup
* implement player trade
2012-05-09 09:24:35 -03:00
Eduardo Bart
2afa80b1cd slowly adding documentation.. 2012-05-02 20:20:25 -03:00
Eduardo Bart
44cf5e20d3 begin some documentation in styles 2012-05-02 15:31:07 -03:00
Eduardo Bart
00740b56f3 begin playertrade, questlog and textbooks modules 2012-04-30 21:20:27 -03:00
Eduardo Bart
beaba25af1 UI tweaks 2012-04-30 16:30:37 -03:00
Eduardo Bart
c3eae3ba06 bind sound functions and add sample startup music 2012-04-14 11:19:58 -03:00
Eduardo Bart
cb7bd521d2 fix compilation on win32 2012-04-13 21:14:25 -03:00
Eduardo Bart
218f2e4994 add API to remove widget anchors 2012-04-05 19:46:53 -03:00
Eduardo Bart
0ddaa234af rework on UILineEdit
* allow multiline text editing
* rename UILineEdit to UITextEdit
2012-03-31 10:43:01 -03:00
Eduardo Bart
47e7eef716 implement more functionality
* update TODO
* rework UISpinBox
* restore move of stackable items and with horizontal scrollbar
* implement classic control look
2012-03-29 10:45:40 -03:00
Eduardo Bart
e2ea267703 rework mouse events propagation 2012-03-28 08:46:15 -03:00
Eduardo Bart
92d535f981 improve scrolling 2012-03-27 21:33:35 -03:00