I am able to login in global Tibia however there are game protocol errors
* there is a new opcode 167, which I dont know what it is
* there are changes in opcode 147 which handles text messages that I don't know too
Connection writing was optimized, playing "lag" should improve by 10ms,
and improve much more in systems with low fps
io_service::reset was not called before io_service::poll, meaning that new events would be really polled in the next Connection::poll call, this could lead to network lag in computers with low framerate (ie: a user with 10 fps would have 100ms lag just because of that)
Bind lua functions for containers
Update onAddItem now it have the pagination slot
Note: getSize as i see is equal to getItemsCount, but not sure thats why
I've added !
Tell me if there are parts which I should change.
- Not everything is tested yet, feel free to report bugs in 7.6
- the data send in between login opcode and account data might not be
correct, but I could not find any documents showing the right protocol
yet
- Hotkeys working
00729bbc2e
from Spawn to CreatureType
I didn't have a closer look at how his code was structured, what he
basically did
is that he set all creatures in a spawn as NPC's even if it's a monster
which is
so erroneous.
Highlights:
- Add branch prediction macros
- Minor code style fixes & some others
Hopefully the branch prediction thing will speed up OTB since it's
awfully slow.
It's an alternative to stdext::shared_object_ptr
with weak pointers support and some other functionallity, however
it's heavier, uses more memory, more allocation and slower,
this class should be used when really needed, prefer
stdext::shared_object_ptr
* Might have fixed death window issue but not confirmed
* Stop hotkey window from display while offline
* Moved some required features to >= 840 if statement
(protocol 840/842 arent supported in otclient yet)
* Begin working on a new layout system for UIMinimap and later UIMap,
this new layout system allows to add widgets to the minimap
* Add option to disable motd
* Rework hotkey binding
* Lots of fixes in hotkeys manager
* Add fullmap view using Ctrl+Shift+M
* Prevent some crashs in ThingType draw
* Add function to load minimap from PNG files
* Fixes in minimap saving
* Fixes in Tile::isClickable
* Add UIMapAnchorLayout, new layout for maps
* Fix freezes in win32 when pressing alt key
* Auto walking on unwalkable objects was still being processed
by the findPath algorithm. Ed, if this algorithm shouldn't be causing
lag spikes for the client, perhaps I should find the cause in findPath.
For now this will fix the issue however.
Now otclient lightning may look like more tibia lights,
before this too many lights together would increase
brightness a lot, this won't happen anymore in cards
with OpenGL 1.4 or newer
* It's now possible to add custom data in the login packet
* Add utility funciton to generate RSA keys
* Make the protocol able to use RSA keys with 2048 bits or more
* Save last logged character and world instead of character name
* Make focused label always visible in character list and hotkeys
* Other fixes in hotkeys
* There was an error in the encryption used to save passwords,
now it's really harder to decrypt the password from the config file
* Other minor changes
* Set textedit's cursor position to the end of text in some situations
* Send hotkey messages to the current channel instead of default channel
* Allow to overwrite sprites using otml and pngs
* Hotkeys now save by server & player rather than just player
* Added double clicking to module dialog options
* Fixed a bug in the modal dialog for > pv970 (protocol changed)
* Fixed a login bug for pv970.
WARNING: Will remove all your current hotkeys.
* IMPORTANT: dat/spr should now be placed in /data/things/
* Rename game_tibiafiles to game_things
* Make battle list algorithm much faster
* Split UITabBar into UITabBar and UIMoveableTabBar
* Fix other minor issues
* All modules are sandboxed now
* All images,sounds,fonts,translations and styles were moved to "data" folder
* Reorganize image files folders
* Remove unmaintained modules: client_particles, client_shaders
* Implement new automatic way to load styles and fonts
* Add hide/show offline option in VipList
* Add invite/exclude to/from private channel in players menus
* Many other minor changes
* Fixed miniwindow cancelling (sorry Summ! :D)
* Fixed pathFind to check floor change tiles
* Fixed buying/selling stackable items in pv < 860
* Added force walk to the first step of auto walking for open tibia
* There was a bug in OTML saving hotkeys per player because of the way they are storing children and not a straight value. Perhaps you want to look at it ed.
Note: Your hotkeys will reset in this revision.
* Fixed a small issue in the ignore module (also please remember to use 2 spaces for tabulation and not tabs)
* Changed the order of count window buttons
* Added new player functions.
* Fix issues in item use
* Stack animated texts values
* Add utility functions for changing creature color and jumping
* Add some new extended functionality
* Improve map shader API
* IMPORTANT: A new dependency is required, boost_locale, comes with boost 1.50.0 or later
* Copying and pasting special characters should now work
* Running otclient from filepaths with special characters should work now too
* 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).
* Fixed an issue with the cooldown timing.
* Fixed issue with 'right click' using items under players.
* Some changes to the minimap control (ctrl + mouse wheel to
change floors and tweaked the zoom/move speeds).
* Fixed some bugs in the trade module.
* Added new Spells table for spell related functions
(Also added getSpellByName and getSpellByWords).
* Fixed an issue with follow/attack cancelling (wasn't calling
onFollowChanged for updates in battle, etc).
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
Need to finish:
* Pending login state
* New creature speed changes
* Vip state displays
Fixed:
* Creature light
* Missing lua constants
If someone can finish this off that would be good,
I will be busy for a while :)
* 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
* Will now load the dat values for creature lights (ed if you know a more conventional way for this please let me know).
* No need to draw light for the outfit the creature draw will handle it.
Note: not sure if the from8bit method should limit at 256 or not, but tibia dat contains colors 216+.
* Draw lights beneath holes
* Improve light particle
* Light intensityvaries inversely with the square of the distance
* Local player always have a minimum light in complete darkness
* Creature names are behind lights now
Now otclient have lights! This code was originally made
by @Tarjei400, I have improved it and merged into otclient
master. Many thanks for tarjei for the contribution.
Warning, this still experimental, fixes may come in the next days.
OTC now supports showing and answering modal dialogs.
addDialog(modaldialog, dialogId, cid, callback)
TODO:
-find out what the "popup" value does.. (Maybe someone knows)
Now server can call:
doPlayerAddMapMark(cid, pos, icon, description)
and it will be parsed.
TODO:
Adding map icons by rightclick on minimap menu.
Removing icons.
Needs to be tested when switching between different versions.
m_itemTypes was being resized too much than expected so is allocin
new itemtype each time it was not being found (which is fake).
otb loader is slow, not sure if it's because of the binary reader
or just the file format is stupid
-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