Commit graph

54 commits

Author SHA1 Message Date
Ambal
40ef9cbf2f [11284] Implement prepared statements for INSERT+DELETE+UPDATE SQL requests. Should improve player save performance + lower MySQL server CPU usage.
Note: PostgreSQL does not have prepared statements implemented using native APIs.

Huge thanks to Undergarun, kero99 and Vinolentus.

Signed-off-by: Ambal <pogrebniak@gala.net>
2011-03-25 22:17:59 +02:00
cipherCOM
a81cf28610 [11167] Added CMake support
(based on cipherCOM's commit 0039476)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:56:50 +03:00
cipherCOM
c9942fb0cc [11166] Removed old autoconf files
(based on cipherCOM's repo commit 7b5a932)
2011-02-14 12:56:11 +03:00
VladimirMangos
22115a8d04 [10968] More typo fixes in Callback.h 2011-01-06 01:20:21 +03:00
VladimirMangos
43707056f3 [10966] Fixed typos in Callback template classes. 2011-01-05 08:57:49 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
Ambal
f67d89f109 [10727] Map system re-engineered. Special thanks to Blueboy for tests.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-16 21:08:28 +02:00
VladimirMangos
3b0e926788 [10717] Revert "[10716][10688] New version of patch for send real diff from last update."
This reverts commit 8398a55fa274471daae115e00c627b299a3fdbbd.
This reverts commit 06e2d6859ba3d7fd47be72c23a64e68ae039701f.
2010-11-10 06:29:49 +03:00
VladimirMangos
2b98f699b7 [10690] Fixed *nix build problem after recent commits. 2010-11-07 03:04:35 +03:00
VladimirMangos
e219ee99bb [10688] New version of patch for send real diff from last update.
In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.

Original version provided by ciphercom.
2010-11-06 22:59:54 +03:00
VladimirMangos
acd0716297 [10432] Rename ASSERT -> MANGOS_ASSERT and related fixes
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.

In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
2010-09-02 05:13:16 +04:00
VladimirMangos
c5ffa7710b [10376] Fixed build at VS90 with TR1
As problems show VS90 with TR1 different from VS100 by expected namespaces.
2010-08-19 02:25:35 +04:00
VladimirMangos
acdaac3587 [10370] Rename UnorderedMap.h -> UnorderedMapSet.h 2010-08-18 04:54:25 +04:00
CipherCOM
6600fc842f [10369] Implement UNORDERED_SET support.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also added compatibility code for old Visual Studio versions
for non standard way hash calculation for hash_set.

Thanks to Lynx3D for help in Unix side testing.
2010-08-18 04:37:08 +04:00
NoFantasy
a6360987de [10368] Use AI function DoCastSpellIfCan for eventAI ACTION_T_CAST
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-18 01:31:59 +02:00
VladimirMangos
fbf4c5b3b4 [10366] Add portable way for hash specialization adding.
Use it for ObjectGuid hash specialization
2010-08-18 01:13:42 +04:00
Derex
0cb3a01833 [10149] Build tbb on linux/unix
Unix specific notes:
* Use --with-std-malloc in configure to disable tbb, if you have problems or you want to use the default or another allocator.
* Even if you disable tbb, the library will still be built and installed, so you can still use it manually.
2010-07-04 21:55:05 +03:00
ApoC
c781dbbada [10062] Removed wrong method const.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-06-15 14:53:24 +02:00
Lynx3d
d3cc3c2f27 [9778] Old gcc hash_map not have support for std::string keys.
In different from tr1 unordered_map

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-04-22 23:57:11 +04:00
XTZGZoReX
7532061a79 [9775] Cleanups in framework library.
* Removed last bits of threading in grid code.
* Removed some weird and unneeded declarations.
* General code style fixes.
* (Perhaps some things I forgot.)

Thanks to Lynx3d for the usual GCC-stabbing...
2010-04-22 11:49:43 +02:00
VladimirMangos
b01de55396 [9574] Use proper template arg instead default value 2010-03-12 12:20:50 +03:00
VladimirMangos
9c346fc0a9 [9337] Use ACE PATH_MAX define magic 2010-02-09 03:34:02 +03:00
VladimirMangos
8997f0f240 [9336] Use single FD_SETSIZE define
* Remove unused framework/Network/SocketDefines.h
* Make sure that we have single FD_SETSIZE define in code
2010-02-09 02:38:58 +03:00
SilverIce
0c8fccbd47 [9307] Grid containers, cleanup
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-05 01:46:40 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
VladimirMangos
01c852fee8 [8888] Use ACE for access to script lib
* This allow have more portable code and resolve some related portability problems.
* Also make default script library name lowcase at Windows in same way as used for Unix case.

Thanks to XTZGZoReX for Unix side testing :)
2009-11-29 16:15:18 +03:00
XTZGZoReX
1e9c672abd [8790] Remove useless/unused Base and CountedReference sources. 2009-11-08 12:22:41 +01:00
XTZGZoReX
4d2f4726fd Remove useless throw() and fix TBB warnings. 2009-11-06 18:17:53 +01:00
Ambal
a2ed351365 [8735] New memory allocator for MaNGOS, based on Intel Threading Building Blocks library. Performance gains depend greatly on OS you use!
You should add two libraries into your server binaries:
tbb.so/tbbmalloc.so on *nix and tbb(_debug).dll/tbbmalloc(_debug).dll on Windows!!!

Define USE_STANDARD_MALLOC while compiling 'framework' project to use OS' default memory allocator!

Signed-off-by: Ambal <pogrebniak@gala.net>
2009-10-26 00:59:35 +02:00
ApoC
45c9c136ba [8653] Implemented per map guids store.
This patch implements storing guid->object pairs on per map level, this leads
to less locking in ObjectAccessor in case of further multithreaded map update.

For case of cross map guid looking (auras cases) all maps are linked into
ObjectAccessor and can be traversed for this lookup.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-17 00:12:31 +02:00
Ambal
cfea99ea62 [8524] New cell search algorithm implemented. You can now choose different visibility distances on continents, in BG/Arenas and instances.
Please, update your config files and check new options:

Visibility.Distance.Continents    = 90
Visibility.Distance.Instances     = 120
Visibility.Distance.BGArenas      = 180

Thanks everyone involved in patch tests!

Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-21 23:25:29 +03:00
VladimirMangos
8bb451c85c [7420] Not set cdecl calling convention for x64 platform for Unic/Linux.
This will prevent generation "warning: 'cdecl' attribute ignored"
2009-03-09 10:09:59 +03:00
freghar
74b9874fd8 [7356] Use tabs for indent in Makefiles
Signed-off-by: freghar <compmancz@gmail.com>
2009-02-27 21:23:19 +01:00
VladimirMangos
3dd6b69adb [7343] Fixed uninitilized lock fields for grid info.
This must fix problem with unexpected lock grids data in memory
with enabled grid unloading config setting.
2009-02-26 08:53:54 +03:00
VladimirMangos
872d791ca6 [7335] Implement active objects support.
Active objects triggrering grid loading and updating around self like players.
It can be used for event long run movements or escoring quest travels.
Also can be used for proper implementation far vision spells.
Currently only creatures can be activated by function call (from script) cr->SetActiveObjectState(true);
Please avoid lot amount active objects in same time use. Existance active objects support isn't meaning
that each rabbit must be active creature.

Also added independent grid unloading locks for explicit unloading lock,
lock for used by instance copied grids, lock counter for actiove object spawn grids locks.
Last case required for prevent double spawn active creature walk far away from spawn point.
2009-02-25 13:44:49 +03:00
VladimirMangos
9b3daf3933 [7330] Code warnings and style cleanups. Some bugs fixes.
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.

Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
2009-02-24 01:54:53 +03:00
VladimirMangos
9e590f7ceb [7114] Code cleanups.
Remove redundant `inline` for in-class function definitions.
Fixed float -> int implicit casts.
2009-01-19 15:13:57 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
VladimirMangos
9aa0578770 [6856] Fixed typo in not used function. This let build mangos with VS90/GCC. 2008-11-28 16:15:15 +03:00
Wyk3d
8b707ca072 [6855] Fixed the MapReference loop on map update by storing the iterator in the map. 2008-11-28 13:17:01 +02:00
Wyk3d
bdf7fb8394 [6849] Fixed build on linux (patch provided by Tabak) 2008-11-26 14:42:30 +02:00
hunuza
79558a32d9 Introduce player map references. 2008-11-16 21:47:18 +01:00
derex
5055d957e2 Restore build for GCC < 4.3. 2008-11-09 13:27:22 +02:00
Wyk3d
61a3159c31 [6811] Use unordered_map only from gcc 4.3.x where it became deprecated 2008-11-09 12:01:26 +02:00
Wyk3d
ca31e21740 [6808] Fixed VC9 build when TR1 is not present and added revision number output to the exception report 2008-11-08 22:03:42 +02:00
VladimirMangos
5222f49820 Use (if available) TR1 unordered_map instead hash_map at Unix/Linux (in GCC 4.0.0 and later) and Windows (VC90 and later) 2008-11-08 11:44:13 +03:00
VladimirMangos
88b1974df6 Fixed warnings, unused code and typos.
Including fix  _SCallback for 3 params, triggred mode correct call for .cast back and .cast target.
Remove outdated code for support old 19421 (and ranks) implementation in client data.
2008-11-05 05:06:35 +03:00
VladimirMangos
ce351382a3 Remove unused src/game/HateMatrix.h and references.
Also one explicit include for used header.
2008-11-04 22:28:06 +03:00
VladimirMangos
3e43600c3b Correct check for ACE_BIG_ENDIAN. Warning fixed and code cleanups. 2008-11-03 23:59:06 +03:00
VladimirMangos
ed7390dede Instead mark spell as delatable mark it as executed and referenced from Unit current spells array and not deleted spell in like cases.
This is solve crashs if spell deleted at caster die in result triggered spells casting chain from currently executed spell.
2008-11-03 01:48:14 +03:00