Commit Graph

605 Commits

Author SHA1 Message Date
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
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 7aba117cf2 More market work (getting close to completion)
* Can now create market offers with fully working UI.
* All filtering is now completed (just need to finish word searching).
* Added some user friendly features to offer selections and item displays (show amount in depot).
* Some more UI ascetics.
* Some other minor market fixes.

TODO:
* Finishing applying changes for latest module updates by edubart.
* Finish buying/selling existing offers.
* Word searching items.
* Offer management.
* Full cipsoft tibia testing.
2012-07-27 15:53:42 +12:00
Eduardo Bart 2b2f5b33ff Fix hidden npc messages 2012-07-26 20:36:51 -03:00
Eduardo Bart 964c73a6ad Debug unknown message modes
Fix broadcast message mode
2012-07-26 19:32:23 -03:00
Eduardo Bart d2b85bdba8 More modules fixes 2012-07-26 19:13:47 -03:00
Eduardo Bart 9ad9d88e10 Fix npc trade and npc chat 2012-07-26 12:42:15 -03:00
Eduardo Bart 0a49f58e50 Fix crash when InputMessage is too large 2012-07-26 11:03:57 -03:00
Eduardo Bart 0eb7c166c0 Fix console blue messages 2012-07-26 09:19:30 -03:00
Eduardo Bart 657640c270 Mounts
Show creature mounts
Fix outfit window
Fix some 9.6 protocol issues
2012-07-26 09:19:30 -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
niczkx 45d55b63d9 typo 2012-07-24 14:00:38 -06:00
niczkx 1e2af86d16 http://lua-users.org/wiki/StringsTutorial learn plz *facepalm* 2012-07-24 13:49:19 -06:00
Eduardo Bart bb52608cda Fixes for last commit 2012-07-24 02:41:59 -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
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
niczkx 8a49d09b75 stop using pairs instead of index loops, please, it's so much slower 2012-07-20 20:56:08 +02: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
Eduardo Bart 09b4705a33 Fixes errors in textmessage 2012-07-19 16:47:55 -03: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 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
Eduardo Bart 7cd49712f8 Add missing file 2012-07-18 04:49:44 -03:00
Eduardo Bart cf9f57736f More multiprotocol progress 2012-07-18 03:04:57 -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 6fc11d2fa9 Forgot to make private functions local. 2012-07-18 11:31:32 +12: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 59fc3d5f77 Rename 'addons' folder to 'mods' to avoid
Use onRun event to play startup music
2012-07-16 20:07:42 -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
BeniS 09425eba31 Fixed crash issue with outfit window with protocols <= 860 2012-07-17 02:39:08 +12:00
BeniS f73b3bbece Fix for Issue #41 2012-07-17 00:21:34 +12:00
BeniS 92e3c2cbd6 Fixes to mounting, outfit randomizing, and added creature getSpeed to the lua binding. 2012-07-16 11:08:27 +12:00
Eduardo Bart f47a947bf3 Fixes for last commits 2012-07-15 11:29:05 -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
Eduardo Bart ec5106e7ce Fix skin texture caching 2012-07-14 18:30:00 -03:00
Eduardo Bart 70115e391d Merge fallen changes 2012-07-14 14:22:18 -03:00
BeniS 694a69e1bf Changed/Fixed Text Windows, Text Message, Hotkeys Manager, Game Interface and Quest Log
* Renamed game_textbooks to game_textwindow.
* Fixed text window from opening multiple times, and is destroyed correctly.
* Added new game_playerdeath module (moved death message and window here).
* Hotkey window will hide on game end.
* Logout/Exit/Stackable Items/Questlog/Hotkeys windows will now close on game end.
2012-07-14 22:59:32 +12: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
BeniS 810816b4a3 Changes/Fixes to Character List, Hotkey Manager, Exit Window and Text Message.
*Fixed typo in character list string.
* Hotkey text edit will now focus when you select a list item.
* Fix to the exit window layout.
* Added a death window for player deaths.
2012-07-13 20:24:52 +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