Commit Graph

191 Commits

Author SHA1 Message Date
BeniS 1b6be92cad Minor fix to previous commit and added mouse scroll option to UIScrollBar class. 2013-01-11 20:10:37 +13:00
Jeffrey a1f5a88fe7 Minor Edits to UIMiniWindow
Allow for a double click on the Top Bar of a UIMiniWindow to function
the same as pessing the minimize/maximize button.
2013-01-07 23:09:00 -06:00
BeniS bb139955dc More fixes and edits!
* Fixed a bug with client_exit module button appearing on full reload.
* Fixed the battle window to work properly now (left click: attack, right click: menu).
* Added auto walk checker for more accurate aut walking:
  - It will always find the path now, except in rare occasions gets stuck running back and forward
  - Re-calculates path every 10 steps and also when you hit an object that cancels your step.
  - Right now this is just a temporary method.
  - Cancels the checker when you move or press escape (has to be done client-side).
* Added a new setting to UIComboBox class 'mouse-scroll' to enable/disable mouse wheel scrolling.
* Added support for no ping in cooldowns.
* Added missing PlayerStates (hungry and bleeding).
2013-01-08 06:17:01 +13:00
BeniS 3fa5993177 Changed scrollbar style, and some other changes:
* Changed the scrollbar style to look a bit nicer.
* Fixed a typo in the EventDispatcher class.
* Added PlayerStates to player.lua.
* Minor tweak to console tab spacing.
* Add unbinding key 'Ctrl+Shift+D' in the options.
2013-01-05 20:57:31 +13:00
BeniS ca46b5033e More progress on cipserver login for pv973 and a few fixes.
* Fixed the "options" module hotkey (changed boost walker to Ctrl+Shift+D).
* Fixed a small issue with UIMiniWindow:setup() function (was setting parent before its pos).
* Pic signature has changed for cipsoft client.
* Fixed 'client type' byte position in the login packet.
* Changed the ping function to execute every 4 seconds rather than 2.
* Changed some protocolgame for pv973 support.
2013-01-04 11:42:02 +13:00
BeniS fc55c6b524 Interface edits, additions, and fixes:
* Added a new module for exiting the client (client_exit).
* Added tab spacing to the UITabBar class.
* Added tab popup menus for things like channel tabs.
* Impelemented channel tab popup menus (still need to be finished).
* Fixed UITabBar tab draging (will now change after dragged half way over the
  next tab, not 2 pixels).
* Fixes to the client_options module.
* Edited some UI settings.
* Changed game_cooldown and game_spelllist menu button icons.
* Fixed some typos.
2013-01-03 21:24:07 +13:00
BeniS abf0ee4303 More walk control optimization and fixes:
* Finished off the walking control optimization! (Should be smooth controlling now).
* Fixed issue #151
* Fixed an issue with the character list.
* Fixed a bug in the g_keyboard.isKeySetPressed function.
2012-12-30 19:14:49 +13:00
BeniS 1782de7336 Game control precision edits and many other fixes:
* Updated the walking(mouse/keys) control to be a lot more responsive/smooth!
* Updated creature diagonal steps to animate faster (due to demand).
* Added a warning popup for boost walker option in cipsoft servers.
* Added KeyUp event controls in the g_keyboard class.
* Fixed an issue with the minimap not reconfiguring.
* Fixed a bug with creature lights drawing properly.
* Fixed refreshContainer method.
* Some layout edits.
* Some minor typo fixes.

TODO:
* Add walk event stack.
* Test new walking edits extensively.
* Finish pending state feature.
2012-12-30 06:41:14 +13:00
BeniS 8961f4dfd4 Some fixes and design tweaks:
* Fixed the game_viplist module to work with the latest vip protocols.
* Fixed a referencing error in the game_cooldown module
* Started editing the design of the popupmenu (needs more work).
2012-12-29 05:15:57 +13:00
BeniS 44e428bccb Progress updating to cv981/pv973:
* Implemented the new client AND protocol version methods.
* Implemented the new speed laws added in cv980 (http://www.tibia.com/news/?subtopic=newsarchive&id=2251).
* Added more missing bytea to login packets (client version/type and some unknown bytes).
* Fixed the InputMessage::getDouble method.
* Cleaned up some of the const values.
* Started on the pending state features.

TODO:
* Pending game state feature.
* Ensure version compatibility hasn't been compromised.
2012-12-29 00:05:45 +13:00
Eduardo Bart 7c48a98b67 Minor fixes
* Fix auto openning channels with id 0 (guild chats)
* Minor fix in print
* Fix use of items behind creatures with classic control
* Fix teleports of 1sqm
2012-12-08 16:08:54 -02:00
Samuel f48fb4343f Moveable Tabbars, Stretch/Shrink Fix
Added key 'moveable' to tabbars
(tabbars are ordered with margins now, not with anchors to the previous
widget)

If stretching is forbidden by options the mapPanel will now update when
the window is resized
2012-10-10 22:20:32 +02:00
Samuel f0e9cf070e Important fix to uiscrollarea
I messed up the code and forgot to commit this.
->Check if function is set before calling it here.
2012-10-06 13:02:46 +00:00
Samuel 6c2539bbd4 Added support for curly braces in NPC chat
-Added overlay to the default consoleBuffer for highlighting
-Char 127 now is used as spacer (Width 1)
-Supports default font "verdana-11px-antialised"

http://i.imgur.com/8drWH.png
2012-10-05 17:50:54 +02:00
Eduardo Bart 8119428d41 Fix issue #90 2012-10-04 19:35:02 -03:00
Henrique Santiago c9688551f3 Fixes to scrollbar 2012-09-01 20:16:17 -03:00
Henrique Santiago 23097980a3 Fix scrollbar slider move, outfit exact size, charlist focus 2012-08-31 20:33:51 -03:00
Henrique Santiago 18a0d7ab94 Fixes to horizontal scrollarea, improve charlist flexibility 2012-08-31 01:56:10 -03:00
Henrique Santiago c517f7b745 Add/get table functions implemented on ext charlist 2012-08-30 02:59:27 -03:00
Henrique Santiago fe6f6c2d20 Spinbox changes 2012-08-29 03:11:53 -03:00
BeniS 9c497f72f9 Added styling option for UISpinBox buttons. 2012-08-29 01:40:04 +12:00
Henrique Santiago 0c5479b031 Spinbox changes 2012-08-27 18:56:05 -03:00
Henrique Santiago 5a367cfe27 Some flexibility changes 2012-08-27 04:47:20 -03:00
BeniS 3baf2b809d Moved UICreatureButton class to the gamelib directory, minor market fix. 2012-08-26 21:00:50 +12:00
BeniS b58f4aa465 Added new features to the options.
* Added 'enable smart walk' and 'show connection ping' options.
* Minor tidy ups.
2012-08-26 16:27:30 +12:00
Eduardo Bart 4bac36d3bc Implement new cool features
* Implement walk booster (dash) as an option in settings menu
* Dash is smarter (can pre-animate)
* Implement smart walking (walk in diagonal when holding two arrow keys)
* Implement ping meter for all protocols
* Ping meter uses uses real ping packet for 9.6 and walk for others
2012-08-25 16:11:54 -03:00
BeniS 0763b266d5 Some more UI updates and fixes.
* Added UICreatureButton class for handling/replacing "battle buttons" (can now be used in other modules).
* Added the ability to use items on creatures via the battle window.
* Some minor cosmetics.
2012-08-26 04:05:33 +12:00
Henrique Santiago beb04d8d8e Fix container bug, miniwindow pos, creature skulls outsite map bound 2012-08-24 19:59:46 -03:00
Eduardo Bart 112d584b66 Allow to set default server in entergame 2012-08-23 14:45:39 -03:00
BeniS ecd1ec5c0d Some overall fixes:
* Fix to market constraints.
* Fixed bug with skill percent not rounding.
* Dereference textEdit variable properly.
* Fix to the outfit window regarding mounts.
* Added enableResize to UIMiniWindow.
* Some minor edits.
2012-08-23 02:21:02 +12:00
Henrique Santiago 05fcf740b4 Stats module 2012-08-22 05:51:31 -03:00
Henrique Santiago c50e186fa7 Fix miniwindow height save 2012-08-22 00:33:44 -03:00
Henrique Santiago 868abf3ef6 Miniwindow minimize fix, resizeborder cursor fix 2012-08-21 22:08:21 -03:00
Henrique Santiago 8d89d1194a More fixes to miniwindow 2012-08-21 18:40:47 -03:00
Henrique Santiago f27f005757 Fixed issue #79 and some miniwindows bugs 2012-08-21 17:27:44 -03:00
Eduardo Bart ea4dd2f8e6 Support for compressed textures 2012-08-21 08:09:48 -03:00
Henrique Santiago 2142ee765d Fix issue #21, but miniwindows can be a lot smarter 2012-08-21 02:35:20 -03:00
Henrique Santiago d1d8b79edc Fix issue #73 2012-08-20 19:50:18 -03:00
Eduardo Bart fb1c495a4c Fix minor tooltip bug 2012-08-19 06:13:37 -03:00
Eduardo Bart 0e3136f424 Fix stackoverflow caused by new table.copy 2012-08-19 05:48:25 -03:00
BeniS d237087718 Added new stats to the skills module, fixed minor market error.
* Added Offline Training information.
* Added Regeneration Time information.
* Added Speed information.
* Added base stats/skills information (will show the players increase in a skill e.g. magic level 43 = 40 + 3 bonus from an item).
* Fixed the game feature constants in const.lua.
* Fixed a market error when logging out.
* Added removeTooltip function.
2012-08-19 13:19:43 +12:00
Eduardo Bart 5e3882f87a Add libgit2 library, new mingw32 libraries will be uploaded soon 2012-08-18 14:08:05 -03:00
Henrique Santiago ab7400c51d Progress on issues #60, #24, #21 2012-08-18 02:04:15 -03:00
Henrique Santiago 4d2bd54f6b Fixed #12 #28 #51 issues 2012-08-17 18:37:11 -03:00
Henrique Santiago 42ccff8596 Fix table copy function, combat controls now hideable 2012-08-17 02:31:23 -03:00
BeniS c4c29be272 Added new market buttons: Close, Refresh Offers, and Reset Market.
* New refresh offers function.
* Fixed Market.reset function.
2012-08-15 23:56:29 +12:00
Henrique Santiago 4e8afab335 Fix rsa change, messagebox and remove lua variable from c++ 2012-08-14 17:37:28 -03:00
BeniS b93ea86260 Checked off some Market TODO's.
* Added some market offer constraints: offer creation exhaustion and now checks balance to validate sell offers.
* Fixed the depot updating issue (no longer requires updateDepotItemCount function)
* Can now silence the MarketProtocol messages.
* Few minor market fixes.
2012-08-15 03:45:26 +12:00
Henrique Santiago abb6f59568 Rework to UIMessageBox 2012-08-12 20:27:41 -03:00
Henrique Santiago 8753f82fd0 Change cursor on textedit, remove possibility to close EnterGame window 2012-08-10 16:32:21 -03:00
Henrique Santiago 47f0d7f3a6 Fix to creature name formatting and scrollarea maximum option 2012-08-09 21:36:52 -03:00
Henrique Santiago 16a3dd2b7e Remove ; and little fix to MiniWindow 2012-08-08 11:24:59 -03:00
Henrique Santiago 93fdd2e326 Fix messagebox width, use boost in stdext net 2012-08-07 23:18:36 -03:00
Eduardo Bart 54f4e2b801 Fix console error 2012-08-06 20:54:56 -03:00
Henrique Santiago e6bd3907e1 Background label hide function, Skins fix and combobox hide, messagebox changes, show entergame when reload 2012-08-06 16:15:20 -03:00
Henrique Santiago d939ade06d Fix compile issue and miniwindows index 2012-08-03 10:26:04 -03:00
Eduardo Bart 90312965bc Avoid spr loading freeze when logging 2012-07-31 01:09:55 -03:00
BeniS 1281b04a6a Some small fixes. 2012-07-31 00:33:10 +12:00
Eduardo Bart 52f81c53f9 More fixes for 9.6
And add ping bindings :D
2012-07-30 07:59:08 -03:00
BeniS 6c281a828c Market fixes for creating offers, got Tibia working properly with market, fixes to statistics. 2012-07-29 01:41:10 +12:00
Eduardo Bart 20314de00a Fix corelib tr 2012-07-28 02:29:26 -03:00
Eduardo Bart d85dd3e20f Normalize source code
Add .gitattributes
Remove trailing whitespaces
2012-07-28 02:07:57 -03:00
BeniS 5419eece66 Some minor fixes
* UISpinBox bug with minimum/maximum
* Some fixes to UITable
* Fixed force exit bug.
* Added new next/previous ui buttons.
2012-07-26 22:22:53 +12:00
Eduardo Bart 36c029fc69 Multiprotocol 8.1-9.6 finally working
Still have many minor issues, tests are needed
No recompilation needed anymore
9.60 messages is not fully implemented
2012-07-26 06:12:20 -03:00
Eduardo Bart c795eb91ab More multiprotocol support 2012-07-26 03:10:28 -03:00
niczkx e393bc245d BeniS made tests, loop is faster. 2012-07-24 17:02:56 -06: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
BeniS 19dd96fd02 Market item filtering improvements and other some minor improvements
* Can now filter market items by vocation, level, slot type, and depot items.
* Added new bitwise lib for handling flag operations.
* Can now get/set local player vocation/premium (TODO: spell list).
2012-07-24 03:11:53 +12:00
Eduardo Bart dc8ef845ab Warn redefined key bindings 2012-07-23 01:44:15 -03:00
BeniS bacb324f9e Work on the Market Interface (feel free to test it out so far, can't purchase items through the UI yet), More on UITable (needs work on headers still).
* Tables can now have headers (the layouts will require some more work before read to be used formally).
* Finished Market offers display, Item details display, and Item statistics display.
* Added getSelectedWidget to UIRadioGroup class.

Market TODO:
* Create buy/sell offer.
* Purchase sale offer or accept purchase offer.
* More item filtering features (weapons, types, depot only, vocation, etc).
* Item searching feature.
* View your offers (history/current).
* UI touch ups and optimizations.
2012-07-23 02:02:01 +12:00
BeniS 76c7bf45bd More on UITable and the Market. 2012-07-22 05:17:03 +12:00
BeniS 9c8134c8a6 Some performance fixes, added UITable widget for easy tables (needs more work still), Worked on Market order displaying. 2012-07-22 00:15:29 +12:00
BeniS 483487ab09 More work on Market functionality and UI
* Now loads all market items.
* Can filter market items.
* Will load market offers on items.
* Edited some UI images.
2012-07-21 06:20:06 +12:00
BeniS 6293a49f8f More on Market (far from done), Minor Fixes, Edited Outfits Module, Some Cosmetics.
* Started building the market UI.
* More work on the market functionality.
* Fixes to the market protocol. (Known issue: if I use safeSend method from Market (like so: MarketProtocol.send~) is thinks it is a bot).
* Fixes to the market offer class.
* Outfit window will no longer display the mount box if you are using protocol < 870.
* Added getFeature to playermount module.
* Added isMarketable and getMarketData to the lua binding.
* Added lua casts for MarketData.
* Fixed typo in the module manager.
* Added new 'light flat panel' for more variation (can change later) will require some graphics for market.
* Added new functions to table lib.
* Fixed some styling issues from previous commits.
2012-07-20 06:54:24 +12: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 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
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
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
BeniS 5520501673 Implemented the mount interface, Fixed some interface stuff, Some cosmetics, and Updated the outfits window
* Added new arrow buttons.
* Fixed the vertical separator.
* Added new game_playermount module to handle player mounting.
* Moved the battle icons to /images.
* Outfit window accommodates for mounts, loads addons more efficiently and keeps addons set on update, added new Outfit.randomize function that allows you to randomize your outfit colors, and set up a new layout.
2012-07-15 23:49:28 +12:00
BeniS 3ebb997c37 Fixed/Changed Minimap and Game Interface Window Issue.
* Changed minimap navigation to hold right click.
* Added MAX_FLOOR_UP and MAX_FLOOR_DOWN for floor changing in the minimap.
* Fixed issues with exit window, logout window and count window to stop multiple instances of the window.
2012-07-13 18:31:05 +12:00
Eduardo Bart ebc88b8354 Tweak modules interface
Minimize miniwindows space usage
Implement easier minimap navigation
Redesign inventory, minimap and healthinfo layout
2012-07-12 20:40:55 -03:00
BeniS 8850528091 Updated Top Menu, Health Info, Combat Controls, Console (Channels), Game Toggle Buttons, Minimap Layout, Game Interface Prompts, and Creature Draw Info.
* Added new left and right game button panels.
* Relocated main game toggle buttons to the right side of the screen to make it easier to toggle miniwindows.
* Added table.empty(t) function to table lib.
* Renamed module game_healthbar to game_healthinfo.
* Combat controls now save per character (e.g. Fight mode, chase mode, safe fight mode)
* Last channels open now save per character.
* Fixed typo in containers.lua.
* Added logout prompting window message when you logout via the logout button.
* Added exit promting window message when you attempt to exit the client.
* Repositioned some minimap buttons.
* Fixed so when creatures health percent is < 1 it will not draw the creature information.

Known Issues:
* If you move a container widget into the map rect if you move an item onto itself it will allow this to execute still dropping the item on the ground.
* The server is calling to open channels after onGameStart is executed causing it to focus the last tab opened. Fix: Don't save channels to the settings that are opened by the server.
2012-07-13 04:45:22 +12:00
Eduardo Bart d39ca7de10 Restore periodicalEvent function
* and typo fixes
2012-07-10 14:36:18 -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 98a1b611bf Refactor for documentation 2012-06-25 19:19:17 -03:00
Henrique Santiago 39403e612f Fixes to miniwindows 2012-06-24 09:41:50 -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 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