Commit Graph

1850 Commits

Author SHA1 Message Date
TheSumm cbf70c1d63 Enable protocol 10.75 2015-02-15 03:25:43 +01:00
Nailson 74af47f4d6 Added support for enhanced animations for items.
Thanks to @conde2, @BenDol
2015-02-13 08:19:45 -03:00
TheSumm 4c4e0b9d07 Fix error showing after relogging with containers being open 2015-02-12 14:48:56 +01:00
TheSumm 71931b961a Full protocol 10.74 support (session key), entergame style fixes 2015-01-27 23:44:37 +01:00
BenDol 900ebbd985 Fixes #181 and fixes #551 2015-01-27 22:11:52 +13:00
TheSumm 8542f8bfd4 Protocol 10.73 support 2015-01-20 11:07:38 +01:00
TheSumm fc76ca4523 Updated advernturer blessing inventory style to be more robust 2015-01-19 01:52:49 +01:00
TheSumm 63f95317a2 Fixed baseSpeed not being parsed (10.59+) 2015-01-19 01:08:18 +01:00
TheSumm 26fb35fd4d Fixed major bug 2015-01-18 23:57:19 +01:00
TheSumm ddec9627b8 Protocol 10.72 (Authenticator) Support, Unjustified Points diplay
- Unjustified Points (Better topbar icon would be nice)
![Unjustified Points](http://i.gyazo.com/81286f46d9b4d56b3fe864140173cf34.png)
- Authenticator token support
- adjusted 'can change pvp frame' to 1054
- ...
2015-01-18 15:14:07 +01:00
TheSumm 4b7770361d Fix parseLogin packet 2014-12-30 19:25:20 +01:00
BenDol 16f6a0019c Fix dat loading issue with 10.00 & minor outfit window fix. 2014-12-30 17:27:53 +13:00
TheSumm 7f3f18f991 Support for Protocols up to 10.71, Adventurer Blessing 2014-12-29 18:08:33 +01:00
Eduardo Bart f6fb785cea Use -O2 in release build 2014-11-05 10:45:28 -02:00
BenDol bdfb77166e Reuse code by merging dash functionality with walk method. 2014-11-03 15:12:14 +13:00
BenDol 9f3ebb0036 Fix #577 dash will now fire onWalk (with isDash parameter).
Also added missing client versions.
2014-11-03 12:23:00 +13:00
BenDol ddb5e58057 Fix #569 finally had some free time. 2014-11-03 08:51:01 +13:00
Dominique Verellen 682694cc07 Update graphicalapplication.cpp 2014-09-29 11:28:13 -05:00
osmarjunior 3557879361 Fix bug when drawing mounts while walking 2014-08-22 08:36:55 -03:00
BenDol d3d3294277 Added missing premium trigger opcode. 2014-08-07 07:17:16 +12:00
BenDol ef7f94ac76 Some minor changes/additions. 2014-08-07 06:40:56 +12:00
BenDol 3343919c92 Added GameEnhancedAnimations to lua 2014-08-04 00:13:23 +12:00
BenDol 4eb7668922 Can now login to official tibia servers. 2014-08-03 23:46:07 +12:00
BenDol 1f272b7aba Added preview state packet. 2014-08-03 23:22:06 +12:00
BenDol 09d830d02e Fix build error 2014-08-03 10:10:33 +12:00
BenDol d7429c201c Started 1050 implementation and fix ups:
* Dat now loads (new animations aren't yet functional).
* Fixed the way we reference client versions.

TODO: Write new animation functionality & find out protocol changes.
2014-08-03 10:02:28 +12:00
Sam fe585d27d8 Cleanup dat loading, fix version 8.6+ 2014-07-30 17:06:40 +02:00
Sam 153cf3e859 Container fix 2014-07-29 21:11:56 +02:00
Sam 6b46370d1a 7.4 .dat support, playing an actual server might not work yet 2014-07-29 21:11:17 +02:00
Sam 2a57a5f7d0 Browse field, locked & paginated container support 2014-07-15 23:27:44 +02:00
BenDol 9e0ddb08e3 More debug prints and avoid null pointer. 2014-07-14 01:56:17 +12:00
BenDol 0f362f80e3 Added easy menu hooking, fixed terminal default size/pos & more:
* Added autowalk style option to Minimap style.
* Added onCreate for setting up variables before styling is applied etc.
2014-07-13 22:27:09 +12:00
BenDol 07ac5c27ca Added some missing lua functions. 2014-07-12 01:03:21 +12:00
BenDol 9f7aafac0b Fix a crash issue when attempting to draw invalid item.
This can happen when using UIItem as interfaces etc.
2014-07-11 16:19:30 +12:00
djayk1 8fccc1eb63 Little fix 2014-06-29 11:25:01 -03:00
djayk1 10438c21ff Update game.cpp 2014-06-23 12:20:12 -03:00
djayk1 ec99d35cee Update game.cpp 2014-06-23 12:19:12 -03:00
djayk1 85fe5867f3 Update protocolgameparse.cpp 2014-06-23 12:07:38 -03:00
djayk1 1a77473e13 Update const.h 2014-06-23 12:05:35 -03:00
djayk1 cc483fba5a Update game.cpp 2014-06-23 12:04:30 -03:00
djayk1 94686d3fe8 Update protocolgameparse.cpp 2014-06-23 11:39:43 -03:00
djayk1 468ac9cbd2 Update game.cpp 2014-06-23 11:38:15 -03:00
BenDol 2df51622ba Some improvements to some things. 2014-06-02 10:04:56 +12:00
BenDol 0ad45d6826 Added 2 global functions for Position & g_map.getTiles(). 2014-05-31 15:47:18 +12:00
Henrique Santiago 72b3403728 Fix filestream read 2014-05-09 18:56:15 -03:00
Nail 25fb3113fa Fix calculate patterns. 2014-04-20 23:58:26 -03:00
BenDol 24acf8855f Now possible to create effects and missiles via lua. 2014-04-20 13:26:05 +12:00
BenDol 65d556ef4e Fixed issue with isAttacking and isFollowing on older protocols.
Some protocols don't send a cancel attack/follow packet to the client when a creature dies.
2014-04-20 04:36:52 +12:00
BenDol 45b41b88bd Merge branch 'master' of https://github.com/edubart/otclient 2014-04-06 15:29:23 +12:00
BenDol 1baad726ae Just use g_configs.unload(config) to unload config files.
Avoids concurrent modification errors.
2014-04-06 15:29:02 +12:00
Nail 8dec9cd835 Fix alpha at color key. 2014-04-04 16:28:56 -03:00
Nail 41b2f9b911 Per-pixel transparency. 2014-04-04 12:58:12 -03:00
BenDol a02c091376 Fix stop crashing with UIWidget::moveChildToIndex. 2014-04-04 11:33:17 +13:00
BenDol 01e6169cfb Fix to setText method. 2014-04-04 04:49:44 +13:00
BenDol 1074b6b787 Provide the option to suppress lua call in setText 2014-04-03 05:20:35 +13:00
BenDol 3ce37dacbd Removed onUnload from corelib and added more lua bindings for resources. 2014-04-02 05:20:18 +13:00
BenDol 166eb7614f Fix accidental cmake changes. 2014-04-02 03:04:10 +13:00
BenDol 8b3f3b11f0 Can now unload a Config by config:unload() 2014-04-02 02:34:12 +13:00
BenDol 2d84fae2c8 Can now create new configs on the fly using: local config = g_configs.create(file) 2014-04-02 01:54:13 +13:00
BenDol 5204e3ac03 Proper termination and initialization of the ConfigManager. 2014-04-02 00:30:17 +13:00
BenDol 547b18db9a Update copyright for 2014 2014-04-01 18:36:42 +13:00
BenDol 37f9d3e200 Fix building issues. 2014-04-01 18:09:25 +13:00
BenDol b295053662 Finished stable implementation (as far as tested), still requires more testing. 2014-04-01 16:27:33 +13:00
BenDol 61059e66ec Started implementing ability to load custom config files (currently unstable).
Feel free to help out with this if you like :)
2014-04-01 05:43:31 +13:00
Shawak d20c263912 Ability to get buffer from inputmessage 2014-03-22 18:09:11 +01:00
Shawak 07e40afa3d Ability to get buffer from inputmessage 2014-03-22 18:07:13 +01:00
Shawak 8179915e06 Ability to get buffer from inputmessage 2014-03-22 18:05:32 +01:00
Sam a58a3e90c8 Implement purse slot (closes #208), add version 10.37 (could not find protocol changes) 2014-03-12 15:46:35 +01:00
Sam 8d8f32b081 Partial 10.36 support, also fix #499 2014-03-12 06:39:20 +01:00
Sam 9d866a3616 Merge pull request #501 from conde2/master
Fix protocol erros and try to fix walk delay
2014-03-11 21:56:07 +01:00
conde2 0fbba70003 Fix protocol erros and try to fix walk delay
Not implemented CreaturesType, just fixed the protocol error reported in
#493, also try to fix #499 and #461
2014-03-11 17:18:50 -03:00
Henrique Santiago 598a7edf6b Merge pull request #497 from Faith2531/patch-1
Update game.cpp
2014-03-03 12:04:09 -03:00
Sam b415b73b4a Fix creature marks. Thanks to @dalkon 2014-03-03 15:54:58 +01:00
Faith2531 b6d8ede854 Update game.cpp
changed max supported protocol to 10.35
2014-03-03 11:50:47 +01:00
conde2 d080432e14 Support for newer versions and light draw fix
Avoid drawing light under covered tiles.
2014-02-24 15:33:29 -03:00
LordHepipud 82a5989f5c Fix Tile::getTopLookThing()
Fixing an issue which returned splash items instead of real usable items.
In case a blood splash is inside an open door, you are unable to close it. This patch will ignore splash items and return the real usable item correctly.

~~~~Lord Hepipud~~~~
2014-02-17 22:51:59 +01:00
Eduardo Bart bb514d3acb Optimize path finding upto 100x performance again 2014-02-16 13:58:26 -03:00
Henrique Santiago b7b8fdfd0c Fix BinaryTree skip, small otb changes 2014-02-13 00:42:06 -02:00
Eduardo Bart 57a330e589 Fix path finding issue introduced by PR #470 2014-02-11 19:28:01 -02:00
Ahmed Samy 96f3bcb42b Merge https://github.com/shirayukikitsune/otclient
* https://github.com/shirayukikitsune/otclient:
  And do not delete curly brackets.
  Meh, spacing.
  Even more fixes
  Optimizations in Map::findPath
  More fixes in Map::findPath
  Fixes heap corruption in Map::findPath
2014-02-11 15:55:23 +02:00
Ahmed Samy c8b4566194 TextEdit: If cursor pos reaches end, move to start, and the opposite 2014-02-10 08:05:45 +02:00
sakagushi f0fbd4790f And do not delete curly brackets. 2014-02-06 04:36:39 -02:00
sakagushi cb1f28a3a3 Meh, spacing. 2014-02-06 04:34:54 -02:00
sakagushi cc1e3c534e Even more fixes
Forgot to clean the garbage generated in the last commit.
2014-02-06 04:34:04 -02:00
sakagushi f4f79f47bd Optimizations in Map::findPath 2014-02-06 03:57:17 -02:00
sakagushi ff617c3fab More fixes in Map::findPath
Fixed the styling, std::unique and removed the priority_queue comment
2014-02-06 03:36:19 -02:00
sakagushi 43524a9127 Fixes heap corruption in Map::findPath 2014-02-06 02:08:10 -02:00
Sam 48ff67dc06 Fix useWith issue 2014-01-25 22:14:01 +01:00
Sam 8bd154b604 Merge pull request #452 from conde2/master
Temporary fix for async
2014-01-24 10:26:28 -08:00
conde2 9da018fdff Temporary fix for async
This should be fixed in server side, until that we just don't need to
use.
2014-01-24 00:19:08 -02:00
Sam 4f4788c1c3 Fix WritableDate to correct version (at least I hope so), fixes #446 2014-01-21 23:13:07 +01:00
Sam d0d8c9a081 Bind adjustments, some fixes 2014-01-21 22:12:50 +01:00
Henrique Santiago f3b5adbf40 Merge pull request #447 from conde2/master
Fix compilation under MSVC, bind some fucntions
2014-01-21 13:01:56 -08:00
Sam 38c9b6b0b2 Luacasts for Light 2014-01-21 22:01:11 +01:00
conde2 79be0eca73 Fix compilation under MSVC, bind some fucntions 2014-01-21 18:33:22 -02:00
Sam 9bd02ca8ba Added method to export a ThingType as png :exportImage(fileName) 2014-01-21 12:11:19 +01:00
Sam f12ecd8404 Implemented a function to save .dat file 2014-01-21 11:10:02 +01:00
Sam 53803b2218 Implemented a function to save .spr file 2014-01-20 23:51:15 +01:00
Sam 67c2453c82 savePNG method for Image 2014-01-20 23:04:49 +01:00
Sam 455000c02d Fix save_png definition / New UISprite function 2014-01-20 22:48:50 +01:00
Sam 27ae54d7d6 Lua call for loading .spr, .dat, .otb 2014-01-18 18:38:13 +01:00
Sam aec577a4b4 Merge pull request #442 from d33tah/master
Get rid of trailing whitespace.
2014-01-18 08:11:03 -08:00
Ahmed Samy 6f467d5a1b Sort town/house names 2014-01-18 17:57:42 +02:00
Jacek Wielemborek e6c9e78935 Get rid of trailing whitespace.
Commit generated by command:

find -type f ! -path '*.git*' ! -path '*.png' ! -path '*.ico' ! -path \
    '*.ogg' | xargs -I '{}' sed -i '{}' -e 's/\t*$//g' -e 's/ *$//g'
2014-01-18 15:09:26 +01:00
Sam 3750a85c5f Fix for version 8.40 2014-01-17 22:41:58 +01:00
Sam 03de13d618 Duplicate lua function removed 2014-01-16 22:11:42 +01:00
Sam 20b68c6a42 Vip functionality, closes #83 2014-01-14 23:15:01 +01:00
Ahmed Samy e4ba805e00 deleteSpawn() 2014-01-14 11:04:48 +02:00
Ahmed Samy 93be0f975f getCreatures / getSpawns 2014-01-14 01:47:43 +02:00
Sam cbfeef39bc Effects now use x and y pattern, fixes #433 2014-01-13 16:03:42 +01:00
Sam d7dfa2220e GMAction fix 2014-01-08 17:25:05 +01:00
Ahmed Samy edf17a44ca Code cleanup 2014-01-06 14:35:57 +02:00
Sam 6db2458c1d Adding 10.31 to version list 2014-01-01 15:47:51 +01:00
Ahmed Samy 2556bfcbf2 Tab -> space 2013-12-30 18:13:49 +02:00
Ahmed Samy 9bdce800d8 Bind Container item code to lua 2013-12-30 18:10:45 +02:00
Ahmed Samy 9adab5f9bf Item serialization: Write description & text 2013-12-27 12:59:50 +02:00
Ahmed Samy a6f998d406 Fix typo & bind ItemType::isWritable 2013-12-27 11:32:19 +02:00
Ahmed Samy ab21558c47 Do not test for TILESTATE_NONE
This flag is ALWAYS set, cause it's always 0 i put there by mistake.
It causes an issue by simplying drawing everything dark, cause of
the opacity...
2013-12-27 05:10:00 +02:00
Sam 17c4d59b15 Enabling versions 7.8 to 8.0 2013-12-26 23:20:34 +01:00
Sam da959aca28 Support for protocol 7.7/7.72 / Tiny fix 2013-12-26 21:31:55 +01:00
Ahmed Samy 6745bff132 Introduce g_resources.getDirectoryFiles
This can recursively find files in a directory that's not in physfs search
path, this is needed for mapeditor needs, esp the file browser.

We do not want to limit users to the application run directory
so we have to use this.

This function uses boost filesystem.
Prototype:
	g_resources.getDirectoryFiles(directory STRING, filenameOnly BOOL,
	recursive BOOL)

filenameOnly is there if we want to just get the filenames in the
directory.
recursive if we want to loop directories in the directory.
2013-12-25 21:32:49 +02:00
Sam 27db78567b Fix writables in 7.6, fixes #416 2013-12-25 15:11:12 +01:00
Sam 9d8cf33acc Fix 7.60 login protocol 2013-12-23 23:45:49 +01:00
LordHepipud aa84ee4362 Fix 7.70 RSA / XTEA encryption
RSA / XTEA encryption was implemented with Client 7.70

~~~~Lord Hepipud~~~~
2013-12-23 23:31:59 +01:00
Henrique Santiago 1e17919a26 Use of createTable on containers 2013-12-22 17:36:43 -02:00
Ahmed Samy df3546b073 lua: now we have a function to static allocate an array
lua_newtable() definition:
	#define lua_newtable(L) 	lua_createtable(L, 0, 0)

This simply allocates space for 0 fields, meaning, if we push any
values into this array, it will re-allocate the array, which is bad.

This function statically allocates an array, so it's ready to have
X fields into it.

Performance tests:

lua_newtable
1428161
1426992
1413513

lua_createtable
2004544
1974117
1957533

These tests were done on an AMD 8350fx CPU, single thread used.

narr: This is for fields that just have an index, e.g. arr[0] etc.
nrec: For fields which needs like arr.a, arr.b etc.

This is how many times each of the functions can run per second, as
you can see about 1.7x the calls to lua_newtable.

All credits goes to @dalkon, he was too lazy to do it by himself, and
asked me to do it for him.
2013-12-21 16:13:24 +02:00
Ahmed Samy 24e26e190b Also unbind g_minimap.updateTile 2013-12-18 04:40:53 +02:00
Ahmed Samy ad7cda534d Fix minimap tile update for item removal 2013-12-18 04:40:52 +02:00
Sam 863bece70b VC12 fixes by @dalkon 2013-12-15 19:09:03 +01:00
Ahmed Samy 22f97aa00b More binds to lua 2013-12-15 04:59:45 +02:00
Ahmed Samy e32607b05c Tiny fixes 2013-12-15 04:33:43 +02:00
Ahmed Samy 1790eee1c6 Add selection to tile 2013-12-14 23:06:52 +02:00
Ahmed Samy ec2518525a Add more tile flags to be checked for 2013-12-14 19:44:54 +02:00
Ahmed Samy eb4fb4ff41 Animations are now optional
The default behaviour is still there though.
2013-12-14 18:48:18 +02:00
Ahmed Samy 4f997a3826 Only request tile cache to be updated once for both x & y 2013-12-12 16:24:50 +02:00
Ahmed Samy c54015a60d Fixup movePixels a little bit
Thanks to @dalkon for dis.
2013-12-12 16:21:22 +02:00
Ahmed Samy 57c432d3ea Increase maximum move offset to be 64 instead of 32 2013-12-12 03:23:13 +02:00
Ahmed Samy bd8c883e13 Take out debug message 2013-12-12 02:53:57 +02:00
Ahmed Samy b5c3b37b3c Tiny fix for movePixels 2013-12-12 02:46:20 +02:00
Ahmed Samy ece6507df2 Bind g_minimap.updateTile to lua
This is needed to update tile removals from minimap widget.
2013-12-11 19:08:12 +02:00
Ahmed Samy 04515ffbb8 Fix map move pixels function
Thanks to @dalkon for this.
2013-12-11 18:36:31 +02:00
Ahmed Samy ed24a0735a Bind {un,}lockVisibleFloor to lua 2013-12-09 20:15:39 +02:00
Ahmed Samy 2498129ff3 mapio: don't add saved with line in description 2013-12-07 02:52:51 +02:00
Ahmed Samy 066638e7c0 mapio: don't add description twice 2013-12-07 02:27:21 +02:00
Ahmed Samy 95610de5f3 bind set{Width,Height} of g_map to lua 2013-12-07 02:00:31 +02:00
Ahmed Samy 9154c0a678 mapio: fix load on new maps 2013-12-06 23:08:08 +02:00
Ahmed Samy 772ec208c0 don't throw error on fail 2013-12-05 22:23:46 +02:00
Sam 99500c9c91 Protocol 8.40-.42 fixes, closes #272 2013-12-04 16:02:51 +01:00
Ahmed Samy b9b9a32b83 Spawns: add function to find a spawn to place a creature on 2013-12-04 14:30:26 +02:00
conde2 ba091c9f5b Indentation 2013-12-01 01:30:48 -02:00