Commit Graph

855 Commits

Author SHA1 Message Date
Eduardo Bart b5a4d31fa7 more graphics optimizations
* avoid buffers clears
* use scisors testing instead of stencil testing for clipping
* remove stencil buffers
2012-04-04 17:18:24 -03:00
Eduardo Bart 53d56259c7 fix compile error no ARM platforms
* and some improvements
2012-04-04 16:02:43 -03:00
Eduardo Bart 2c38dfb397 fix dumbfounding issue on win32 that caused HUGE lags 2012-04-04 13:21:02 -03:00
Eduardo Bart 034fce9147 improve clipping performance 2012-04-04 12:19:17 -03:00
Eduardo Bart 8b184d3ce8 compile fixes for gcc 4.7 in 32bit platforms 2012-04-04 12:12:25 -03:00
Eduardo Bart 27e24bda28 fixes to compile on gcc 4.7 2012-04-04 10:16:33 -03:00
Eduardo Bart 11ad1f5c5b performance improvements 2012-04-04 09:56:22 -03:00
Eduardo Bart c250bfcf42 fix issue 2012-04-03 23:54:56 -03:00
Eduardo Bart dd875fc925 support for GL_EXT_framebuffer_object 2012-04-03 23:41:12 -03:00
Eduardo Bart cb890e8cb1 prevent some protocol crashs 2012-04-03 19:24:15 -03:00
Eduardo Bart c33741d324 display unsupported extensions 2012-04-03 17:12:05 -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 231ba17ba1 remove old unused game files
* and fix minor allocation leak
2012-04-02 14:53:25 -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 595cdc1bb4 fix some win32 hotkeys and change zoom hotkeys 2012-03-30 07:21:24 -03:00
Eduardo Bart 95e0a41b55 remove debug message, minor battle fix 2012-03-30 07:06:33 -03:00
Eduardo Bart fa3d60a00a minor fixes 2012-03-30 06:51:34 -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 a475384b73 ui fixes
* fix viplist
* fix skills update
* fix mouse grabber
* minimize send interval
* add api to get world name
2012-03-29 16:25:04 -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 0e46df3f29 fix useWith mouse conflict with resize borders 2012-03-28 19:25:00 -03:00
Eduardo Bart 5201071707 fiz rare logging crash 2012-03-28 16:59:51 -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 a4cef0d390 fix possible mapview crash 2012-03-28 16:09:45 -03:00
Eduardo Bart 4743763d48 remvoe blur, fix scroll issue on win32 2012-03-28 15:10:59 -03:00
Eduardo Bart 8c2a84b6be motion blur for fun 2012-03-28 14:34:07 -03:00
Eduardo Bart 56d6cc2cc0 testing bloom and motion blur 2012-03-28 14:18:21 -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 92d535f981 improve scrolling 2012-03-27 21:33:35 -03:00
Eduardo Bart 668c4d98d9 win32 fixes 2012-03-27 18:33:58 -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 3aacd9d43c console fixes 2012-03-23 19:02:58 -03:00
Eduardo Bart fe86dc8050 real autowalking
* smart autowalking using A* path finding algorithm
2012-03-23 17:36:58 -03:00
Eduardo Bart 8bc63e25df simplistic autowalk
* add simple and stupid autowalk algorithm
* fix issue in classic control
2012-03-23 11:48:00 -03:00
Eduardo Bart 239f58296e restore inventory and healthbar
* make inventory/healthbar work again allowing reload
* changes in top menu toggle buttons
* all modules are now reloadable by default
* fix warning when using fade in
* remove some unused files
2012-03-23 10:48:05 -03:00
Eduardo Bart b301aa1a2b rework splitter implementation 2012-03-23 00:06:00 -03:00
Eduardo Bart 79a1d66f3f add splitter widget
* add horizontal/vertical cursor
* possibildiade to resize game map with the new splitter widget
* fix reload warnings in textmessage
2012-03-22 22:52:31 -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 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 28633a9e20 fixes
* dont use realtime mipmaps by default
* fix void rendering
* fix max Z rendering
2012-03-21 14:30:57 -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 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 01d5fad315 support for OpenGL 2.0
* use OpenGL 2.0 auxiliary buffers when FBO is not supported, thus this means that OpenGL 3 is not a requirement anymore, so otclient might work in older video cards
* map zooming will never work well with Opengl 2.0 because of glCopyTexSubImage2D limitation
2012-03-20 19:26:07 -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 3cd31bcd1e rework Color to optimize render 2012-03-19 18:56:07 -03:00
Eduardo Bart f62f507813 just fixes
* clean map when relogging
* fix otclientrc.lua reloading
* fix game disconnection messagebox
* fix animated texture
2012-03-19 14:54:47 -03:00
Eduardo Bart 4bac617fd9 some protocol 870 support 2012-03-18 17:59:00 -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 ba24e7ce39 fix compile issue 2012-02-20 00:40:01 -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 1145eb7e42 fix creature draw bug 2012-02-09 05:52:52 -02:00
Eduardo Bart c707f990bf fix popupmenu, fix mouserelease events, fix connect 2012-02-09 04:42:07 -02:00
Eduardo Bart a8c9980a5c bind lua functions for questlog/npc trade/trade/channels/text edit/list edit/containers 2012-02-09 01:45:19 -02:00
Eduardo Bart 55fbb5f1a6 improvment in connect 2012-02-08 20:58:27 -02:00
Eduardo Bart 175f97b98f reaname and cleanup many stuff 2012-02-08 19:23:15 -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
AndreFaramir b56a7e3029 bind more needs for battle window 2012-02-08 11:05:31 -02:00
AndreFaramir aff8c7717e fixes and preparations for battle window 2012-02-08 06:12:46 -02:00
Eduardo Bart 9bff1aa6ea changes in creature drawing for battle list 2012-02-08 03:13:52 -02:00
Eduardo Bart a24fe38174 fix some issues with stackpos 2012-02-08 02:20:14 -02:00
Eduardo Bart 1013ae279b fix messagebox and rename some stuff 2012-02-08 00:11:57 -02:00
Eduardo Bart 619f751371 fixes in uicreature rendering 2012-02-07 23:33:08 -02:00
Eduardo Bart 09b3aa82df add onGameStart/onGameEnd/onLogin/onLogout events 2012-02-07 21:54:33 -02:00
Eduardo Bart ee1357a848 add combat controls 2012-02-07 21:06:52 -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 d6ade5a8e0 fix draw of uicreature 2012-02-07 05:59:20 -02:00
Eduardo Bart 0b220e2e88 pass item id to item shader 2012-02-07 05:04:22 -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 e9411aa244 some cleanup 2012-02-07 01:33:50 -02:00
Eduardo Bart 85a121822e allow useWith with inventory items 2012-02-07 01:02:06 -02:00
Eduardo Bart 71c706157a drag fixes 2012-02-07 00:06:48 -02:00
Eduardo Bart 53ead20de5 restore map clicking 2012-02-06 23:35:46 -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 f97104f12e replace require with dofile, rename Hotkeys to Keyboard 2012-02-06 02:39:52 -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