Eduardo Bart
3bac3dcbb4
Rework stdext classes
...
Implement new classes:
* stdext::any => ligher replacement for boost::any
* stdext::packed_any => like any but optimized to use less memory
* stdext::shared_object => ligher replacement for std::shared_ptr
* stdext::shared_object_ptr => replacement for boost::intrusive_ptr
* stdext::fast_storage => for storing dynamic data
* stdext::packed_storage => same but with less memory
* stdext::packed_vector => std::vector with less memory
Compiling should be a little faster now because global boost including
is not needed anymore
2012-08-01 09:23:35 -03:00
Henrique
3c1a5f24e8
Fix to protocolgame
2012-07-31 14:23:52 -03:00
Eduardo Bart
614d1544c0
Fix market reload and a crash when exiting
2012-07-31 11:42:26 -03:00
Eduardo Bart
bca1af8f11
Add warning when trying to use invalid LuaObject class
2012-07-31 09:51:51 -03:00
Eduardo Bart
f4641333f4
Fix a rare drag/drop issue
2012-07-31 06:34:45 -03:00
Eduardo Bart
fbb3c9933a
Fix audio stopping on buffer underruns
2012-07-31 00:12:04 -03:00
Eduardo Bart
a1fb373b1b
Revert protocol bug added in lasts commit
2012-07-30 21:08:32 -03:00
niczkx
e316c0b5cd
Merge both getString functions in binarytree
2012-07-31 02:02:41 -06: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
niczkx
4c369bc823
fix compiling on gcc 4.6 (too early to use 4.7.1...)
2012-07-30 18:52:30 -06:00
Mark Samman
39db801f93
Fixed 9.6 otb loading
2012-07-30 18:38:23 +02: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
05436e135a
Fix some bugs
2012-07-30 05:51:03 -03:00
Eduardo Bart
1e2d20d289
Fix typos
2012-07-30 04:18:05 -03:00
Eduardo Bart
487dafb8c0
Fix compile issue in mingw32
2012-07-29 17:18:39 -03:00
Eduardo Bart
e2efbcffbe
Fix crash in clang while casting enums
2012-07-29 09:58:25 -03:00
Eduardo Bart
68ebcb559f
Fixes for compiling with clang
2012-07-29 09:04:47 -03:00
Eduardo Bart
73769c62e4
Just some refactoring
2012-07-29 07:32:54 -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
17dd08d983
More compatibility with OS X in CMake
...
Optimize Tile
2012-07-28 16:04:40 -03:00
Eduardo Bart
497902736c
Enable widget debugging
2012-07-28 08:43:48 -03:00
Eduardo Bart
4566472662
Allow to use more than 2GB of memory on win32
2012-07-28 03:24:40 -03:00
Eduardo Bart
d85dd3e20f
Normalize source code
...
Add .gitattributes
Remove trailing whitespaces
2012-07-28 02:07:57 -03:00
niczkx
a240429cb8
Fix possible gcc optimizations to binary reading
2012-07-28 02:54:25 -06:00
Eduardo Bart
d2b85bdba8
More modules fixes
2012-07-26 19:13:47 -03:00
Eduardo Bart
0a49f58e50
Fix crash when InputMessage is too large
2012-07-26 11:03:57 -03:00
Eduardo Bart
c795eb91ab
More multiprotocol support
2012-07-26 03:10:28 -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
Eduardo Bart
61d64c7417
Support for OTML inline sequences
2012-07-23 17:51:19 -03:00
Eduardo Bart
c9dce51458
Update otml and casts
...
Improve casts performance
OTML can now understand value escaped sequences
Use long instead of int for lua integer
2012-07-23 01:33:37 -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
Eduardo Bart
a6d53532d2
Rename ThingType classes
2012-07-19 22:25:55 -03:00
niczkx
9dc88de6b0
missed something in last commit
2012-07-19 17:28:40 +02: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
b0e6b3b8fb
Update item OTBM attributes reader
...
* Fix some lua errors generated by playMusic
* Fix possible crash when starting otcliet without dat loaded
2012-07-18 05:34:17 -03:00
niczkx
c8d1d5ecf2
rewrite xml stuff #2 - will be testing the monsters xml code soon
2012-07-18 02:58:28 -03:00
Eduardo Bart
cb1848d48d
Fix error in start/stop music
2012-07-17 22:22:21 -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
28825a3298
lalala
2012-07-18 00:03:46 +02:00
niczkx
02f89dd8be
fixes
2012-07-17 16:12:29 -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
niczkx
12d30f7355
monsters
2012-07-17 12:00:22 +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
1b0c527ad6
Fix Thing::getTopThing
2012-07-15 03:17:31 -03:00
Eduardo Bart
98c4240446
Changes for the mapeditor
2012-07-15 03:17:31 -03:00
Eduardo Bart
ec5106e7ce
Fix skin texture caching
2012-07-14 18:30:00 -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
Eduardo Bart
29ab28065b
Fix alt tab issue on win32
2012-07-13 00:56:56 -03:00
Eduardo Bart
c0c2411854
Improve minimap
2012-07-12 16:16:23 -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
kilouco
aaf3351e87
Fixed so Shift-Tab functionality works properly.
2012-07-10 23:18:33 -03:00
Eduardo Bart
d39ca7de10
Restore periodicalEvent function
...
* and typo fixes
2012-07-10 14:36:18 -03:00
Eduardo Bart
77648a2ffa
Fix compilation using static libs on linux
2012-07-09 20:28:48 -03:00
Eduardo Bart
e7691b873b
Add error code to onError protocol event
2012-07-09 19:45:34 -03:00
Eduardo Bart
a1644cad29
Minor g_app lua binding fix
2012-07-09 13:36:46 -03:00
Eduardo Bart
f215b206b1
Fix issue #25
2012-07-09 10:38:03 -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
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
8cc14c2d2d
Save graphics options
2012-07-05 15:49:10 -03:00
Eduardo Bart
6bce0bd680
Imrove lua engine
...
* Allow bound C++ functions to return multiples values to lua with tuples
2012-07-05 09:38:48 -03:00
Eduardo Bart
71bed49f80
Fixed issue #15 that caused lua stack to grow indefinitely
2012-07-04 09:10:05 -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
dbf5e8266b
Rename crash file
2012-06-24 10:06:02 -03:00
Eduardo Bart
eec6114b2d
Optimize lua object push
...
* Optimize position hash
* Fix minimap reload
2012-06-24 08:20:39 -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
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
170236f822
add missings files
2012-06-22 02:28:13 -03:00
Eduardo Bart
d39cf361ab
improve minimap
2012-06-22 02:26:22 -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
Henrique Santiago
a7c17cec2e
Save miniwindows states
2012-06-21 16:31:36 -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
9d5d400f7a
Fix cmake issue
2012-06-20 04:13:19 -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
eb457bf9cd
Fix error when exiting in win32
2012-06-20 02:41:00 -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
9e72860178
fix compile issue
2012-06-19 11:18:22 -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
cb58d2dcfa
Compile fixes for mingw32
2012-06-18 13:05:16 -03:00
Eduardo Bart
dff1564395
Fix bad usage of glDrawArrays that could lead to crash in some specific cases
2012-06-18 11:15:44 -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
f650b0e5bb
Restore and fix compile warnings
2012-06-17 18:47:05 -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
10b33c6124
Compile with clang and add cotire
...
* Add cotire cmake module to speedup compilation https://github.com/sakra/cotire
* Fix clang error and warnings
* Rename Font to BitmapFont to fix conflict with Xlib.g Font typedef
* Remove legacy PCH support
* Improve Position hash
2012-06-16 20:20:22 -03:00
Eduardo Bart
4813b7eb4b
many changes
...
* Fixes in WIN32 platform
* Remove unused files
* Make StaticText work more like tibia
* Fix WIN32 compilation
* Fix regression in framebuffers that caused battle to disappear
* Shader fixes for DX9
* Add two new shaders: noise and heat
2012-06-15 21:46:36 -03:00
Eduardo Bart
10b60a3871
fix high CPU usage under low framerate limit
2012-06-15 08:46:55 -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
318109158a
changes to make development easier in QtCreator
2012-06-12 13:50:43 -03:00
Eduardo Bart
8cef6463b3
improve miniwindow moving
2012-06-11 11:10:03 -03:00
Eduardo Bart
e91f822f62
fixes in WIN32-EGL
2012-06-10 20:48:53 -03:00
Eduardo Bart
29dadb849e
add EGL to win32
2012-06-10 15:52:08 -03:00
Henrique Santiago
52333f5d28
progress rect
2012-06-10 03:09:37 -03:00
Eduardo Bart
1a2e97bb5e
show private message on screen
...
* disable GL blending in some situations to speedup on older hardware
* fix wrap size in CachedText
2012-06-09 10:00:08 -03:00
Eduardo Bart
205aefe12f
add missing file
2012-06-08 22:15:58 -03:00
Eduardo Bart
95cf7eb788
graphics optimizations/fixes/features
...
* cache text vertex for StaticText, AnimatedText and Creature names
* improved outfit rendering
* fully compatible with OpenGL 1.1
* enable mipmaping for game sprites again
* Ctrl+W hotkey clean game texts
2012-06-08 21:40:41 -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
321c09e471
fix compiler flags
2012-06-06 21:12:07 -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
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
Eduardo Bart
7a529d23be
check lua stack size to avoid possible overflows
2012-06-06 00:44:17 -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
023a4ebef6
performance improvements
2012-06-05 12:36:27 -03:00
Eduardo Bart
4de9787198
new gcc compile optimizations
2012-06-05 09:39:45 -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
296f2a17c4
many modules fixes
2012-06-03 21:28:19 -03:00
Eduardo Bart
cfa7db77da
fix possible crash in older opengl driver implementations
2012-06-03 20:12:32 -03:00
Henrique Santiago
3f95d62467
fix draw square
2012-06-03 17:35:07 -03:00
Eduardo Bart
576e775494
fix initialization opengl glitch
2012-06-03 17:25:12 -03:00
Eduardo Bart
75f8b255ec
fix initialization opengl glitch
2012-06-03 17:06:05 -03:00
Eduardo Bart
e4cb9b27db
fix crash in grid layout
2012-06-03 16:42:22 -03:00
Eduardo Bart
d49cad31e2
fixes in EGL platform
2012-06-03 11:10:34 -03:00
Eduardo Bart
079b7a5c41
allow to change graphics engine in options
2012-06-02 18:41:20 -03:00
Eduardo Bart
e6d2e877f0
remove testing code
2012-06-02 16:16:50 -03:00
Eduardo Bart
257f652bb7
more opengl graphics fixes
2012-06-02 15:58:30 -03:00
Eduardo Bart
cde81666b8
fix opengl regressions
2012-06-02 12:54:35 -03:00
Eduardo Bart
1c5b906b5b
some optimizations
2012-06-02 11:43:27 -03:00
Eduardo Bart
59a80ffaf9
scroll when focusing widgets
2012-06-01 21:38:26 -03:00
Eduardo Bart
ba01909088
fix alpha blending issues
2012-06-01 20:22:10 -03:00
Henrique Santiago
6fce78d519
compile error, lua const
2012-06-01 17:53:04 -03:00
Eduardo Bart
14db1066fc
change logger
2012-06-01 17:39:23 -03:00