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
conde2
3288711d16
Mistake
2013-12-01 01:25:34 -02:00
conde2
8b0509a5c3
Try to fix compilation
2013-12-01 01:19:29 -02:00
conde2
d7612e9304
Little mistake
2013-12-01 01:12:06 -02:00
conde2
4dcb30110f
Use of clamp
2013-12-01 00:48:36 -02:00
conde2
7ff73d1064
Fix indentation
2013-11-30 23:34:21 -02:00
conde2
ca2fe9cf45
Fix compilation under MSVC
...
Use template for std::min and std::max
2013-11-30 23:08:43 -02:00
Sam
ec012cb137
Fix 7.6 protocol issue / Typo
2013-11-19 01:09:31 +01:00
Sam
69ae324676
Tiny setPVPMode fix
2013-11-19 00:55:42 +01:00
Sam
4d656f8bd1
New pvp modes to combat controls
2013-11-19 00:50:00 +01:00
Sam
c98439ae65
onOutfitChange fix
2013-11-18 23:18:48 +01:00
Sam
4f9f04206d
Added enter / escape button to minimap flag window
2013-11-18 20:57:50 +01:00
Sam
fc54a6e418
Full modal dialog functionality
2013-11-18 18:58:15 +01:00
Ahmed Samy
25d3019d1a
force use of template version of std::min/max
2013-11-14 00:02:47 +02:00
Ahmed Samy
1711d8bdaf
Revert "replace all std::min/std::max with just min/max"
...
This reverts commit 28d967ccce
.
2013-11-13 23:53:54 +02:00
Ahmed Samy
28d967ccce
replace all std::min/std::max with just min/max
...
This errors out in MSVC since the inclusion of winsock2.h, CL uses the
macro not the template version.
2013-11-13 23:48:10 +02:00
BrunoDCC
4bfe9b640e
Fix houses and monsters
2013-11-13 18:48:37 -02:00
Eduardo Bart
28786a3570
Update make_snapshop.sh
2013-11-13 14:33:29 -02:00
Eduardo Bart
b07a77f705
Changes to compile for Win64
2013-11-13 13:55:34 -02:00
Eduardo Bart
dd829395e3
Merge pull request #376 from dalkon/master
...
Item phases & Fix party "bug" & Additions
2013-11-12 15:56:54 -08:00
dalkon
18fa54181a
Format fix
2013-11-13 00:50:46 +01:00
dalkon
5b8ff29fa3
Fix party "bug" & Additions
2013-11-13 00:48:41 +01:00
dalkon
59e90e8f1e
Item phases
2013-11-13 00:18:15 +01:00
Eduardo Bart
fc0297d6db
Fix compile errors in ubuntu
2013-11-12 20:07:46 -02:00
Eduardo Bart
1060c6f78c
Compilation for MSVC2013, thanks @dalkon
...
OTclient now compiles in "Microsoft Visual Studio 2013 Express for Windows Desktop"
All the needed libraries you can download at https://www.dropbox.com/s/2yfb1c763io8efy/otclient-msvc13-libs.zip
NOTE: You have to change VC++ Directories to the properly directories
NOTE: Latested MSVC 2013 or greated is required
2013-11-12 16:32:39 -02:00
dalkon
c9597d6682
Visual Studio 2013 Compatibility
2013-11-12 16:32:39 -02:00
Ahmed Samy
2b015d49d7
don't set bits twice
2013-11-12 20:06:59 +02:00
Ahmed Samy
f04b4a0b42
small fix
2013-11-12 20:02:24 +02:00
Ahmed Samy
ff5c22d4c0
Tiny fix
...
Saving newly made houses by the map editor is not even supported, so this
is not a bug
2013-11-12 17:15:09 +02:00
Eduardo Bart
0938e22eb9
Fixes in stdext::format
2013-11-11 23:07:25 -02:00
Eduardo Bart
1868b235cb
Implement creature marks
2013-11-11 01:45:18 -02:00
Eduardo Bart
9a30050340
Fix typo
2013-11-10 23:40:29 -02:00
Eduardo Bart
9d689f0c43
Add missing changes for protocol > 1000
2013-11-10 23:31:59 -02:00
Eduardo Bart
2b34c0ea0a
Fix #337
...
The sound buffer was not being fully preloaded because it's size was incorrect
2013-11-10 20:35:00 -02:00
Eduardo Bart
d32f71c2b9
Partial support for protocol 1020 and minimize lag
...
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
2013-11-10 20:10:04 -02:00
BrunoDCC
7d7bd00a63
minor fix :3
2013-11-09 22:48:29 -02:00
BrunoDCC
c81a623c43
Fixes for creatures name
...
fixes on save houses (Now open most generate some error)
First 10.22 commit (open dat to edit)
Add server id for new versions
2013-11-09 20:04:48 -02:00
Sam
6f9436dd60
UISprite widget added
...
Display single sprites
2013-10-30 21:35:29 +01:00
Eduardo Bart
38dec168ee
Fix boost::asio misuse that would cause lag
...
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)
2013-10-22 21:42:35 -02:00
Joao Pasqualini Costa
b3717ceb93
Fix - Writeable / Readable items
2013-10-21 22:25:12 -02:00
Joao Pasqualini Costa
084ee45650
A little mistake
2013-10-20 20:33:44 -02:00
Joao Pasqualini Costa
7290ec3334
Some work on container pagination
...
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 !
2013-10-20 20:21:20 -02:00
Joao Pasqualini Costa
971d90a596
Fix protocol error #362
...
TODO:
Handle the helpers in LUA, it could be added into Battle Window i think,
if someone know where should this be comment here !
2013-10-20 18:31:20 -02:00
Sam
8230bf2af4
Merge branch 'master' of https://github.com/edubart/otclient
2013-10-20 17:15:30 +02:00
Sam
241b54262a
Updated lua consts
2013-10-20 17:15:24 +02:00
Ahmed Samy
63ce68b449
mapio: make sure we read the house tile flag
2013-10-12 11:38:30 +02:00
BrunoDCC
de3160c90d
Save houses and spawns fix
2013-10-11 02:35:31 -03:00
Sam
778559c7b9
Protocol 10.10 fixed containers
2013-10-09 17:58:58 +02:00
Sam
3aac0ac0ec
Reverting mapio.cpp change
...
Should not have been commited.
2013-10-07 21:38:55 +02:00
Sam
4adfafc67e
Fix for Client 8.5
2013-10-07 21:32:13 +02:00
Sam
1b27a095a9
Hotkeys for Fluid Containers
...
Hotkeys now save subType for fluid containers instead of always trying
to use item with subType 0.
2013-10-05 18:08:49 +02:00
Sam
5843b78e87
Support for client version 7.6
...
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
2013-10-04 04:09:54 +02:00
Ahmed Samy
7cf645e715
Woops, fix operator less than
2013-09-02 19:12:12 +00:00
Ahmed Samy
537508021e
Make g_map.findItemsById return a map instead of a vector
2013-09-02 17:53:32 +00:00
Ahmed Samy
e741a62ce9
g_map.findItemsByid
2013-08-31 01:18:17 +00:00
Ahmed Samy
56d6ef6642
Introduce 4 new functions:
...
- g_map.beginGhostMode(float opacity)
- g_map.endGhostMode()
- UIMap::movePixels(int x, int y)
- MapView::move(int x, int y)
2013-08-30 01:54:36 +00:00
Ahmed Samy
3db8f54aa9
Introduce 2 new functions to g_things
...
- g_things.findItemTypesByName
- g_things.findItemTypesByString
2013-08-29 17:53:21 +00:00
Ahmed Samy
9234030c1b
Zone colors: add more tile flags to be checked for
2013-08-27 15:49:48 +00:00
Ahmed Samy
520baa28ea
Move "getNPC" that was introduced in commit
...
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.
2013-08-27 03:40:18 +02:00
KnopersPL
1f914351bb
Update protocolcodes.cpp
...
Fix for server messages on 850
2013-08-25 12:24:18 +02:00
KnopersPL
eb68504dc1
Update protocolgameparse.cpp
...
Fix the slow animation move effect, some opcodes error and logging in as GM
2013-08-25 12:20:54 +02:00
Ahmed Samy
32647f11bf
Introduce 2 new functions to Map
...
- g_map.colorizeThing
- g_map.removeThingColor
2013-08-24 00:09:56 +02:00
Ahmed Samy
644d4daeea
More cleanups
2013-08-23 02:12:36 +02:00
Ahmed Samy
b27352c321
Merge branch 'master' of https://github.com/BrunoDCC/otclient
...
* 'master' of https://github.com/BrunoDCC/otclient :
Add full npc read (it not cause bug)
Fixed a npcs save Fixed a spawns and npcs load
2013-08-23 02:03:40 +02:00
BrunoDCC
a6be9ae525
Add full npc read (it not cause bug)
2013-08-22 21:00:48 -03:00
Ahmed Samy
5df3ec8cf2
More cleanups
...
Also, bind map descriptions auxiliar functions
2013-08-23 01:55:15 +02:00
BrunoDCC
00729bbc2e
Fixed a npcs save
...
Fixed a spawns and npcs load
2013-08-22 20:54:09 -03:00
Ahmed Samy
3b2d8a2b5e
Fix build
2013-08-22 23:20:44 +02:00
Ahmed Samy
d5298c1011
Cleanups
2013-08-22 21:15:17 +02:00
Allan Ference
aaad8ab8a0
Fix spawn loading and saving, thanks to @BrunoDCC
2013-08-20 12:14:52 +02:00
Allan Ference
efbd9ab693
Attempt to fix spawn loader
2013-08-19 18:57:25 +02:00
Allan Ference
092209c0bb
Attempt to fix houses and spawns save
2013-08-19 10:38:22 +02:00
Allan Ference
05f7f6a4cf
Introduce Item::getName()
2013-08-18 18:29:20 +02:00
Joao Pasqualini Costa
96bb28e806
Fix Mount frame issue
...
This will fix mount for all protocols
2013-08-17 22:19:24 -03:00
Allan Ference
e7137c2535
Rework NPCs loader with g_resources (Untested)
2013-08-17 23:36:44 +02:00
Allan Ference
5eabf6f518
Optional and configurable zone colors
2013-08-17 23:06:58 +02:00
Allan Ference
5849136526
Introduce g_things.findItemTypeByName
2013-08-17 15:09:10 +02:00
Allan Ference
0451fd6b58
OTBM saver: don't escape version check for waypoints
2013-08-15 11:20:22 +02:00
Allan Ference
9cf878335a
Minor changes
...
Mainly code style
2013-08-14 18:58:53 +02:00
Allan Ference
1ea2b380ca
Disregard progressbar
2013-08-09 17:35:56 +02:00
BrunoDCC
4d498ed0d8
Fix OTBM save
...
Remove if(version > 1) { (it causes bug)
2013-08-07 20:04:21 -03:00
Allan Ference
9aa667da26
MapEditor: more changes for ease of use
2013-08-04 14:21:12 +02:00
Allan Ference
e6db43ac3a
MapEditor specific: Use colors for tile states
2013-08-04 14:19:10 +02:00
Mark Samman
4a04a18835
Fix login with 9.83-10.10
...
This only adds protocol compatibility, the features aren't actually
implemented yet
2013-07-28 07:05:46 +02:00
Mark Samman
261642190b
Fix compiling on OS X
2013-07-28 04:30:52 +02:00
BeniS
95abf2a1d2
Fix a bug with autowalking & add prompt param for tryLogout.
...
(We don't want to be prompted when pressing Ctrl + Q or Ctrl + L).
2013-07-07 05:36:56 +12:00
Sam
987c6d6c91
Mount display issue
...
fixes #275
Not really needed but enables some cool stuff
2013-07-02 23:16:11 +02:00
Sam
b81590f297
Fixed Alt + F4 keycombo on Windows
2013-06-29 16:53:15 +02:00
BeniS
e062562888
Added sublime text 2 project file.
...
* Changed the order of the dofiles params.
2013-05-12 21:16:43 +12:00
BeniS
18d23653c4
Added some control params to dofiles lua method.
...
* File name contains string.
* Recursive file checking for deep searches.
2013-05-12 17:00:52 +12:00
Sam
cc12db0d1f
Reverted getTopMultiUseThing() change
2013-04-09 23:54:10 +02:00
Joao Pasqualini Costa
57bb6ff974
Fix #315 by @pacmanis
...
Credits go to @pacmanis
2013-04-09 18:02:43 -03:00
Eduardo Bart
b43a196eac
Minor fixes and add auto resize for images
2013-03-15 21:59:22 -03:00
Joao Pasqualini Costa
6ef3508362
Properly Fix #301
2013-03-14 20:57:02 -03:00
Eduardo Bart
a71e07f063
Restore walk optimization
2013-03-14 00:16:57 -03:00
Eduardo Bart
4bdd1e79fd
Fix compile error for win32
2013-03-13 21:18:17 -03:00
Eduardo Bart
e9e4dcd71b
Improve walk when lagging
2013-03-13 20:55:20 -03:00
Eduardo Bart
0891e2b30a
Add C++ traceback to errors
2013-03-12 01:36:36 -03:00
Eduardo Bart
24664714bd
Fix rare but serious bug in Connection
...
* Implement output pooling for writing data in connection,
this should fix rare cases where sending would fail
2013-03-12 00:18:47 -03:00
Eduardo Bart
64fc4570c9
Try to fix compilation for gcc 4.6 [3]
2013-03-06 15:47:38 -03:00
Eduardo Bart
392acc0b43
Try to fix compilation for gcc 4.6 [2]
2013-03-06 15:40:47 -03:00
Eduardo Bart
69f72b9c86
Try to fix compilation for gcc 4.6
2013-03-06 13:05:46 -03:00
Eduardo Bart
489688e9fb
Merge branch 'sql'
2013-03-06 13:00:21 -03:00
Eduardo Bart
61be2103ed
Fix linkage
2013-03-06 12:54:27 -03:00
BeniS
a7b27ef8dd
Forgot to add MySQLResult lua binding
2013-03-05 20:33:27 +13:00
Eduardo Bart
44bf4dcb6e
Fix ubuntu compile errors
2013-03-05 02:54:08 -03:00
BeniS
9305053e34
Few issues with compilation and layout
2013-03-05 17:47:43 +13:00
Eduardo Bart
1dd558d57e
Revert "Use boost::thread instead of std::thread"
...
This reverts commit 71b5c5f2e4
.
2013-03-05 01:47:23 -03:00
BeniS
15ee7962f1
Some minor clean ups
2013-03-05 17:31:19 +13:00
Eduardo Bart
8c016b143a
Fix #294
2013-03-04 23:59:37 -03:00
Eduardo Bart
71b5c5f2e4
Use boost::thread instead of std::thread
2013-03-04 23:06:00 -03:00
Henrique Santiago
5396ea6231
Fix to last commit
2013-03-04 22:46:14 -03:00
Henrique Santiago
9955de573b
Avoid infinite loop
2013-03-04 22:44:29 -03:00
Eduardo Bart
0be7bd5360
Implement async dispatcher #221
2013-03-04 18:56:22 -03:00
Eduardo Bart
c452e74e0c
Implement stdext::shared_ptr
...
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
2013-03-04 13:14:35 -03:00
Eduardo Bart
bdbe065c23
Add thread safety for std::shared_object_ptr
2013-03-04 10:47:07 -03:00
BeniS
f4263384bc
Fix boost issue on Ubuntu and fix MySQL lib issue
...
* Add framework options for configuration
* libboost_chrono-mt.a dependency issue (with clock_gettime)
* MySQL lib must be added before zlib
2013-03-04 18:03:04 +13:00
BeniS
f50c63e9e5
Removed singleton instance & added more lua bindings
...
* Some tidying up
2013-03-04 04:11:29 +13:00