Commit Graph

141 Commits

Author SHA1 Message Date
Eduardo Bart c131d29b5f Fix some issues with the current working directory 2012-07-16 21:30:15 -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 70115e391d Merge fallen changes 2012-07-14 14:22:18 -03: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
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 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 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 e65a8456e9 Add binary tree class for reading otb 2012-06-24 10:06:02 -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 c5674d10ba some refactoring 2012-06-21 20:58:18 -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
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
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 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 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 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 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 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 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
Henrique Santiago d33d0c2ee8 fix missiles, mapzoom, restore relwithdeb, replace 32 with tilepixels 2012-05-13 13:05:09 -03:00
Henrique Santiago 1203756baf items draw rework, npc trade fix 2012-05-13 12:05:30 -03:00
Eduardo Bart 5e176ca6d1 fix in cmake configuration for LuaJIT and OpenGL ES 2012-05-13 09:15:30 -03:00
Eduardo Bart df0147cf64 remove usage of libpng with custom save_png 2012-04-28 21:16:22 -03:00
Eduardo Bart cc965bb77b add libpng as dependency
* NOTE: you will need to download the new required libraries
2012-04-28 19:02:57 -03:00
Eduardo Bart f14706206a continue implementing new graphics engine
* implement OpenGL ES 1.1 and OpenGL ES 2.0 support
* new framebuffer that can run on any opengl implementation
* fixes in outfit size rendering
2012-04-20 07:16:03 -03:00
Eduardo Bart 58d76e255d begin implementing OpenGL 1.0 engine
* option to pass -opengl1 or -opengl2 as argument
* note that with this commit there are a lot of graphics regressions and the master will remaing unstable for a while
* shaders disabled for a while
2012-04-18 20:03:43 -03:00
Eduardo Bart a4a00a49fe cmake option to use luajit 2012-04-16 10:57:24 -03:00
Eduardo Bart 1d558bc412 make precompiled header work again 2012-04-15 08:00:13 -03:00
Eduardo Bart 8e679f2da7 get stereo audo working on linux 2012-04-14 10:15:51 -03:00
Eduardo Bart ae67c6adbc drop usage of threads in sound system 2012-04-14 06:53:32 -03:00
Eduardo Bart cb7bd521d2 fix compilation on win32 2012-04-13 21:14:25 -03:00
Eduardo Bart c4525059ce implement basic sound engine using OpenAL 2012-04-13 16:54:08 -03:00
Eduardo Bart a46a16738c performance improvement, lock free render 2012-04-12 11:26:56 -03:00
Eduardo Bart 0fe5491635 fix display of stackable items in shop 2012-04-11 00:37:46 -03:00
Eduardo Bart 4c67e57dd4 fix cmake error 2012-04-11 00:07:14 -03:00
Eduardo Bart db00792351 update compile options 2012-04-09 09:36:40 -03:00
Eduardo Bart 53d56259c7 fix compile error no ARM platforms
* and some improvements
2012-04-04 16:02:43 -03:00
Eduardo Bart 11ad1f5c5b performance improvements 2012-04-04 09:56:22 -03:00
Eduardo Bart 8450f1f896 add FileStream class
* minimize memory consumption by using FileStream for loading sprites
2012-04-02 12:51:03 -03:00
Eduardo Bart 7e6fe71b5e new build types
* and remove uneeded files
2012-04-02 09:49:43 -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 0e46df3f29 fix useWith mouse conflict with resize borders 2012-03-28 19:25:00 -03:00
Eduardo Bart 58d9426be8 small changes
* show protocol version on background
* make 860 the default protocol
* avoid more crashes on mapview
* activa crash handler by default
2012-03-28 16:32:18 -03:00
Eduardo Bart 3ad97c9eab crash handler, logger and oengles changes
* save log messages to otclient.txt
* fixes in FrameBuffer and HardwareBuffer to work with OpenGLES
* possibility to get compilation information from lua (compiler version, build date, build revision, build type)
* make crash handler more informatave
* handle assert crash signals (SIGABRT)
2012-03-22 09:57:43 -03:00
Eduardo Bart 57adcb38bd rework windows crash handler
* use -Ofast -fomit-frame-pointer for release
* new windows crash handler that can generate backtraces reports
* fix crash after fatal errors
2012-03-21 12:31:34 -03:00
Eduardo Bart b4261a8c7b bunch of optimizations 2012-03-20 12:17:10 -03:00
Eduardo Bart c0611bfe2a restore some game functionallity
* i'm gradually restoring game functionality with the new modules design, though still a lot to do
* you can reload all scripts and modules using Ctrl+R shortcut while playing (finally! this is the reason of all this rework)
* a bunch of fixes, but new regression too :P
* fix performance issue that could lead freezes in the client in older machines
* completely new game module with new design
* fix crashs in map render
* remove uigame.cpp (now every game input is via lua)
* enable DEBUG macro by default, with it you are able to view any possible lua leak while running
2012-03-18 10:35:45 -03:00
Eduardo Bart b46d4c4d5f non relevant changes 2012-03-16 10:31:21 -03:00
Eduardo Bart 27b83fa722 some optimizations and compilation changes
* speedup render of widget images on low end devices using mipmaps
* changes in CMakeLists.txt to allow usage of distcc and crosscompiling
2012-02-20 11:10:54 -02:00
Eduardo Bart e03bf33f58 BEAWARE all game functionality is disabled with this commit for a while
* rework client modules
* hide main window when loading
* remake top menu functions
* rework modules autoload
* improve path resolving for otml and lua
* move core_widgets to core_lib
* fix tooltip issues
* split some styles
* add bit32 lua library
* fix assert issues
* fix compilation on linux 32 systems
* rework gcc compile options
* renable and fix some warnings
* remove unused constants
* speedup sprite cache
* move UIGame to lua (not funcional yet)
* fix a lot of issues in x11 window
* fix crash handler
* add some warnings do uiwidget
and much more...
2012-02-20 00:28:13 -02:00
Eduardo Bart a55e138002 some cleanup in modules, fixes in tooltip, uiwidget warnings, disable map saving for a while 2012-02-05 20:42:35 -02:00
Eduardo Bart 9b8043cf31 fix paste oftexts with accents in x11 2012-01-19 15:56:52 -02:00
Eduardo Bart a238111c07 add horizontal box layout, enter keypress fix 2012-01-15 11:57:42 -02:00
Eduardo Bart c1cf53829e implement grid layout 2012-01-12 17:20:18 -02:00
Eduardo Bart 8ad88c4070 move UIWindow to lua 2012-01-10 21:13:38 -02:00
Eduardo Bart a1374baee1 major UIWidget rewrite with new features 2012-01-10 20:13:40 -02:00
Eduardo Bart fdc9087870 implement chat colors, rework on UI layout update system 2012-01-08 20:32:55 -02:00
Eduardo Bart c7619316bb display 'you are dead message' on death, support speak/text messages in multiprotocol 2012-01-08 16:29:41 -02:00
Eduardo Bart b8150d160e implement combobox and do some ui rework 2012-01-04 08:26:58 -02:00
Eduardo Bart 808eb8cd80 fix compile issue in mingw32 2011-12-29 22:30:09 -02:00
Eduardo Bart 212bcf9379 remove duplicate file sources 2011-12-29 21:01:42 -02:00
Eduardo Bart fd88ba773a ... 2011-12-29 21:00:37 -02:00
Eduardo Bart 00c5481dd0 fix for cmake 2.6 compatibility 2011-12-29 20:50:36 -02:00
Eduardo Bart 7c0ad7a356 fix EGL 2011-12-29 17:36:43 -02:00
Eduardo Bart d597335135 make work on win32 again using GLEW 2011-12-29 16:21:58 -02:00
Eduardo Bart 400afa9981 fix outfit glitches, init combobox, move shaders, remove unused particles files, create timer utility 2011-12-28 17:38:29 -02:00
Eduardo Bart 2b25ffd86b changes to compile on gcc 4.7 2011-12-19 15:26:41 -02:00
Henrique Santiago ad38dad227 particle affectors 2011-12-15 23:59:29 -02:00
Henrique Santiago 2643de367a remove particles from emitter 2011-12-15 18:54:42 -02:00
Henrique Santiago f67770ed00 particles from file 2011-12-15 16:20:09 -02:00
Eduardo Bart 8638c980ec fix some issues 2011-12-09 13:01:04 -02:00
Eduardo Bart 2030a4da29 Merge branch 'revgraphics'
Conflicts:
	src/framework/CMakeLists.txt
	src/framework/application.cpp
	src/framework/graphics/graphics.cpp
2011-12-09 12:23:32 -02:00
Henrique Santiago 262f54ce3b init particles, still not working 2011-12-07 18:00:28 -02:00
Eduardo Bart 1a3dcb215e use vertex buffers 2011-12-07 16:49:20 -02:00
Eduardo Bart f89bc352d5 fix shaders for OpenGL ES 2011-12-06 23:48:39 -02:00
Eduardo Bart 7eead50806 use GLSL shaders 2011-12-06 22:31:55 -02:00
Eduardo Bart cf0aab6d4d reorganize modules 2011-12-05 16:39:33 -02:00
Eduardo Bart ffeb34e0e7 make framework more flexible, split cmake files 2011-12-05 04:44:40 -02:00