Commit Graph

358 Commits

Author SHA1 Message Date
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 59a80ffaf9 scroll when focusing widgets 2012-06-01 21:38:26 -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
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 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 44cf5e20d3 begin some documentation in styles 2012-05-02 15:31:07 -03:00
Eduardo Bart 788a831f24 bug report module
* change modules authors and website
* avoid anchors recursivity crash
* update README
2012-05-01 10:06:38 -03:00
Eduardo Bart 2f0a151fed questlog module complete 2012-04-30 23:00: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 3f689e0edf optimize UIWidget for largers NPC trades 2012-04-30 03:34:29 -03:00
Eduardo Bart d0b839a4eb fix warnings and some reloading issues 2012-04-27 01:54:14 -03:00
Eduardo Bart fae2cc6481 new scripting functionality
* dofiles functions to run all scripts inside a directory
* new style option ! that evaluates its value from a lua code
2012-04-26 12:11: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 1d2f6c7e9f enable text-auto-resize for width 2012-04-10 23:59:05 -03:00
Eduardo Bart 48d2027327 use counter for disabling layout updates 2012-04-09 18:44:33 -03:00
Eduardo Bart 5425d344ba optimize widget destruction 2012-04-09 17:53:45 -03:00
Eduardo Bart 2017fb366e some optimizations 2012-04-09 09:36:40 -03:00
Henrique Santiago 2f3c83e858 textedit maxlength, fix charlist status height 2012-04-08 19:10:07 -03:00
Eduardo Bart 92bd1aba54 optimize graphics performance 2012-04-08 16:31:36 -03:00
Eduardo Bart 2e43a77d64 change mouse press behaviour 2012-04-07 00:37:29 -03:00
Eduardo Bart 218f2e4994 add API to remove widget anchors 2012-04-05 19:46:53 -03:00
Eduardo Bart 4f15da695c optimizations 2012-04-05 16:08:46 -03:00
Eduardo Bart 16acfebe3b move clipping to painter 2012-04-04 19:46:49 -03:00
Eduardo Bart 53d56259c7 fix compile error no ARM platforms
* and some improvements
2012-04-04 16:02:43 -03:00
Eduardo Bart d4afb71263 clean containers when relogging 2012-04-03 11:15:11 -03:00
Eduardo Bart 90d3acce2a restore containers
* implemente Container class
* restore module containers
* add lua bindings for std::map
* improve grid layout
* fixes in UIItem rendering
* changes in miniwindow design
2012-04-02 20:09:47 -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 c13a5b5dab fix crash and focus bug 2012-03-30 04:40:13 -03:00
Eduardo Bart 959d9a87b0 fix focus bug, change battle events 2012-03-29 19:47:12 -03:00
Eduardo Bart 6ace984440 fix combobox 2012-03-29 17:21:59 -03:00
Eduardo Bart 8d14d9bc99 restore old modules
* partially restore vip, battle, healthbar, skills and inventory modules
* more fixes on UIWidgets
* implement UIMiniWindow close/minimize functionality
* allow drag and drop miniwindows beteween game panels
2012-03-28 11:10:21 -03:00
Eduardo Bart e2ea267703 rework mouse events propagation 2012-03-28 08:46:15 -03:00
Eduardo Bart 8ea154016b fix and changes
* win32 compilation fix
* add buttons to miniwindow
* dispatcher events fixes
* ui fixes
2012-03-27 15:14:40 -03:00
Eduardo Bart 060c1cf8e7 ui changes
* create UIResizeBorder
* restore miniwindow
* scroll fixes
2012-03-26 19:24:01 -03:00
Eduardo Bart ee869bb279 side panel splitter 2012-03-26 15:33:00 -03:00
Eduardo Bart 9309d6e7f3 some rework in UIWidget input 2012-03-26 10:34:43 -03:00
Eduardo Bart 532e8e3e39 chat line wrapping
* rework UIWidget text wrapping
* implement auto wrap
* fixes in console
2012-03-25 19:14:09 -03:00
Eduardo Bart ccf55132a1 OMG the chat is finally scrolling!
* implement UIScrollArea
* rework console to allow scrolling
* many core ui changes in the way.. so maybe we will have new bugs
* fix in UIScrollBar
2012-03-25 14:10:19 -03:00
Eduardo Bart 179e53bb77 scrollbar, options and widgets changes
* complete scrollbar skin
* implement scrollbar functionality (scrolling with mouse)
* fix onMouseClick issues
* add tabs in options (graphics and general tab)
* add new option for limiting frame rate using scrollbar
* add new widget property "clipping" that will be used on scrollable areas
2012-03-25 11:10:15 -03:00
Eduardo Bart de0008caf1 ui and graphics changes
* implement draw clipping using opengl stencil buffers
* allow to create Widgets by style name with g_ui.createWidgetByStyle
* styles can now have children widgets
* make proper use of the isNotPathable in pathfinding
* add scrollbar skin
2012-03-24 12:22:40 -03:00
Eduardo Bart efa9811342 dragging fixes 2012-03-23 19:48:18 -03:00
Eduardo Bart b301aa1a2b rework splitter implementation 2012-03-23 00:06:00 -03:00
Eduardo Bart 33458a3e39 modules changes
* speedup widget destruction checks
* rework outfit module using grid layout and the new design
* fixes in console, terminal, textmessage modules
2012-03-22 18:47:52 -03:00
Eduardo Bart 159eb98df2 introduce startup options
* startup options with -help and -version
* many startup options for graphics
2012-03-22 13:10:12 -03:00
Eduardo Bart c7469e4454 graphics fixes
* zooming without real FBOs kinda works, but with lower quality
* hardware detection for glGenerateMipmaps
* possibility to disable bilinear filtering, mipmaps, framebuffers, and realtime mipmap generation in g_graphics
* otclient works well using 3D acceleration in VirtualBox again
* many fixes regarding FBOs fallback implementation
2012-03-21 09:41:43 -03:00
Eduardo Bart 5c35938a92 many graphics performance tweaks
* use hardware vertex buffers (video memory)
* cache text drawing with vertex buffers instead of framebuffers
* avoid recalculating texture transformation matrix
2012-03-20 16:10:04 -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 a24212d4de back to otclient dev, with new background!
* show otclient version in background
* disable about module (don't really need it)
* new function for formating strings like sprintf, Fw::formatString
* new nice background (taken from RPG maker XV)
* update contact information in README
* fix text rendering issues with opacity
2012-03-16 10:31:21 -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 96358b317d drag fixes 2012-02-09 16:38:50 -02:00
Eduardo Bart c707f990bf fix popupmenu, fix mouserelease events, fix connect 2012-02-09 04:42:07 -02:00
Eduardo Bart d4ce3c5354 fix issue on onMouseRelease 2012-02-08 18:46:25 -02:00
Eduardo Bart f056131ae1 fix possible crash when reading border style, fix onLogin event 2012-02-08 11:44:06 -02:00
Eduardo Bart e51789378a make hover, dragging, press and mouse release work in a proper way 2012-02-07 17:21:53 -02:00
Eduardo Bart e2203799dc clean table fields on widget destruction 2012-02-07 04:33:20 -02:00
Eduardo Bart 37f3f904c7 some fixes in MainWindow move 2012-02-07 02:55:20 -02:00
Eduardo Bart 71c706157a drag fixes 2012-02-07 00:06:48 -02:00
Eduardo Bart 46df3c7dbe some window moving 2012-02-06 22:41:53 -02:00
Eduardo Bart 88301c329a a lot of changes in modules 2012-02-06 17:19:47 -02:00
Eduardo Bart add8505a5b implement auto repeat configuration for key press events, to give more flexibility 2012-02-06 10:53:28 -02:00
Eduardo Bart 64c9e4f1d5 add modulemanager module 2012-02-05 23:44:47 -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 cc081d8151 update TODO, rename onMouseDoubleClick to onDoubleClick 2012-02-04 15:04:44 -02:00
Henrique Santiago d931b03fed spinbox improvements 2012-02-03 09:59:55 -02:00
Eduardo Bart 1340699b01 implement onMouseDoubleClick event in UIWidget 2012-02-03 03:47:26 -02:00
Eduardo Bart 9db7bd2602 rework map rendering 2012-01-29 22:00:12 -02:00
Henrique Santiago 1983a08cbe move window 2012-01-25 23:11:05 -02:00
Eduardo Bart cfcc3fd428 fix death issues, improve text messages 2012-01-25 12:56:17 -02:00
Eduardo Bart 99ff5ce24c implement line wrap for text messages 2012-01-24 22:58:57 -02:00
Eduardo Bart 24aab00431 fix use with, improve move, change icons, improve topbar 2012-01-24 16:39:16 -02:00
Eduardo Bart d500de9aa0 change in topmenu and some fixes 2012-01-23 11:47:15 -02:00
Henrique Santiago e3096c1648 fix move on different floors, dragqueen border on uiitem 2012-01-20 23:01:11 -02:00
Eduardo Bart 9b9e837e97 fix drag bug 2012-01-19 23:30:08 -02:00
Eduardo Bart 759b7f43b3 dran and drop for UIWidget 2012-01-19 23:16:22 -02:00
Henrique Santiago 3a4ed78b30 borders fix 2012-01-19 15:08:52 -02:00
Eduardo Bart 9450fab9e7 fix walk freeze, fix some texts displaying in pink 2012-01-19 14:23:45 -02:00
Eduardo Bart 6ce92a1a64 rework walk 2012-01-19 02:12:53 -02:00
Eduardo Bart 9997b258b9 fix combobox style 2012-01-17 04:43:48 -02:00
Eduardo Bart 452d1a76b0 fix key events for win32 2012-01-17 04:24:58 -02:00
Eduardo Bart 7bcf7f536e cache rendering of UILabel 2012-01-17 03:36:25 -02:00
Eduardo Bart e701cce5fd fire onTextChange for UILineEdit 2012-01-17 02:43:54 -02:00
Eduardo Bart e6cb3de637 add options style for UIComboBox, fix push values of otml nodes 2012-01-16 06:26:57 -02:00
Eduardo Bart 44a20222bb walk and key event system rework with some regressions 2012-01-15 19:19:52 -02:00
Eduardo Bart a238111c07 add horizontal box layout, enter keypress fix 2012-01-15 11:57:42 -02:00
Eduardo Bart eb308997d4 fix chat and grid layout 2012-01-13 04:32:47 -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 3230095cea add ui padding 2012-01-09 16:46:15 -02:00
Eduardo Bart 81e378cc22 some rework on gameprotocol class 2012-01-09 03:23:55 -02:00
Eduardo Bart fdc9087870 implement chat colors, rework on UI layout update system 2012-01-08 20:32:55 -02:00
Eduardo Bart c4b2dd18d6 restore terminal, rework console 2012-01-07 15:36:58 -02:00
Eduardo Bart f3c0260ea2 change bot protection 2012-01-06 17:29:51 -02:00
Eduardo Bart 028441831d save window position and size 2012-01-06 06:49:23 -02:00
Eduardo Bart fb20ad1ba1 improve combobox and menu design 2012-01-05 16:02:27 -02:00
Eduardo Bart c9280ecf9d invert widget event propagation order 2012-01-05 00:42:17 -02:00
Eduardo Bart 30ce5e2ba9 reorganize some stuff 2012-01-04 23:28:29 -02:00
Eduardo Bart b8150d160e implement combobox and do some ui rework 2012-01-04 08:26:58 -02:00
Eduardo Bart 7172d2251a display window on screen center 2012-01-02 23:32:34 -02:00
Eduardo Bart 05230f44e4 new lua function for creating widgets: createWidget 2012-01-02 22:42:53 -02:00
Eduardo Bart 7fc4ebd89e add new style states (first,middle,last,alternate) 2012-01-02 20:51:36 -02:00
Eduardo Bart 90600bbd69 make menu work 2012-01-02 20:09:49 -02:00
Eduardo Bart 43c16a1643 init menu 2012-01-02 18:47:02 -02:00
Eduardo Bart 9104305f37 update copyright notice 2012-01-02 14:59:24 -02:00
Eduardo Bart a4eed64709 fix ctrl+g 2011-12-16 19:48:01 -02:00
Eduardo Bart 7eead50806 use GLSL shaders 2011-12-06 22:31:55 -02:00
Eduardo Bart f548825faf too many changes to list, many regressions were made, master will be UNSTABLE for a few days 2011-12-03 19:52:56 -02:00
Eduardo Bart 9bb7332ac0 Merge branch 'revgraphics' 2011-12-01 20:33:45 -02:00
Eduardo Bart d5e15d1f06 add clock, change exceptions, add network exceptions, fix some crashes 2011-12-01 20:26:21 -02:00
Henrique aad540f5b5 outfit window working, still needs radio group and remove test button 2011-11-30 00:42:21 -02:00
Eduardo Bart ce681480ea fix compile error on mingw32, add lua events for channels 2011-11-18 22:12:17 -02:00
Eduardo Bart 5c654f685c make styles closer to CSS syntax 2011-11-17 19:41:02 -02:00
Eduardo Bart 55136fe866 change loadUI/UI.display lua API 2011-11-17 18:40:31 -02:00
Eduardo Bart 63cbe11f7e improvments in widgets initialization 2011-11-17 15:43:41 -02:00
Eduardo Bart 63c018ba4c focus and active states fixes 2011-11-16 19:00:40 -02:00
Eduardo Bart fa8291a433 configure server host and port in enter game 2011-11-16 18:07:52 -02:00
Eduardo Bart 9159e14895 implement auto login and remember password 2011-11-16 17:00:17 -02:00
Eduardo Bart 4341bf91a6 implement motd button 2011-11-16 16:08:42 -02:00
Eduardo Bart c584426f24 implement icon property for UIButton 2011-11-16 15:58:42 -02:00
Eduardo Bart ba62863ff7 add style for colorbox in outfit window 2011-11-16 15:03:11 -02:00
Eduardo Bart 1667662c5c fix disabled state in uicheckbox 2011-11-16 03:23:16 -02:00
Eduardo Bart 5e6fcd8217 fix checkbox crash 2011-11-16 00:50:48 -02:00
Eduardo Bart 532d7f239f new widget, UICheckBox 2011-11-15 21:47:32 -02:00
Eduardo Bart 654fb1f3ea fix uiprogressbar assert 2011-11-14 12:37:55 -02:00
Eduardo Bart 5784644701 fix tooltip 2011-11-14 12:30:35 -02:00
Eduardo Bart ff7f152522 expand skills percent progress bar 2011-11-14 06:46:49 -02:00
Eduardo Bart e74bca2c3a ignore hidden widget in vertical layout 2011-11-14 06:13:48 -02:00
Henrique f3b3ecada1 progress bar and skills improve 2011-11-14 00:40:18 -02:00
Eduardo Bart ca702109d6 item menu example 2011-11-13 03:11:47 -02:00
Eduardo Bart ce3b02fa09 add menu example in playerground module 2011-11-13 02:13:32 -02:00
Eduardo Bart 56f7ed3dd1 add fps counter widget 2011-11-11 22:33:03 -02:00
Eduardo Bart fc65f99ead improve window moving, minor changes to enable others apps use otclient framework 2011-11-11 18:26:10 -02:00
Eduardo Bart 578078007b change miniwindow moving 2011-11-10 03:40:49 -02:00
Eduardo Bart c07dd1066b fix compile issue on mingw32 2011-11-10 03:33:28 -02:00
Eduardo Bart 61ce6d6331 fix walking while the mouse is over topmenu buttons 2011-11-07 22:31:17 -02:00
Henrique 7db6b8b5e6 walk changes, nothing special 2011-11-06 02:12:13 -02:00
Eduardo Bart 650713a1e6 fix compile isses 2011-11-05 11:36:02 -02:00
Eduardo Bart 39c62942cf add chat buffer 2011-11-03 21:35:43 -02:00
Eduardo Bart b216b00a32 add chat panel, send text messages, guard forbidden functions with an ifdef 2011-11-03 18:54:53 -02:00
Eduardo Bart 6d6479e4a9 fix tooltip crash 2011-11-03 17:33:20 -02:00
Eduardo Bart 1b9f9bbc7d implement button tooltips on top menu 2011-11-03 17:07:07 -02:00
Eduardo Bart 5988867787 fix vertical sort 2011-11-03 14:27:35 -02:00