Commit graph

132 commits

Author SHA1 Message Date
tomrus88
4a8431f581 Merge commit 'origin/master' into 320
Conflicts:
	src/game/DBCStructure.h
	src/game/DBCfmt.h
	src/game/MiscHandler.cpp
	src/game/ObjectMgr.cpp
2009-09-04 21:16:59 +04:00
XTZGZoReX
66ffd80ed2 [8463] Fixed race conditions in LockedQueue.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-09-04 10:36:14 +02:00
tomrus88
9c8a0d615e Merge commit 'origin/master' into 320
Conflicts:
	src/game/WorldSession.cpp
2009-08-30 15:52:20 +04:00
VladimirMangos
a86abcf977 [8436] Return CMSG_SET_ACTIVE_VOICE_CHANNEL to STATUS_AUTHED.
It sent not only just after logout but also just before login packet.
2009-08-29 21:29:55 +04:00
tomrus88
d3fec0355c [8434] Fxied typo in account data loading.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-29 16:43:03 +04:00
tomrus88
f98fa7b4df Fixed one more typo, now it even compiles :P 2009-08-29 16:13:02 +04:00
tomrus88
77af8018e1 Fixed typo, account data saving should work now. 2009-08-29 16:03:30 +04:00
tomrus88
c90ced473d Compile/merge fix. 2009-08-29 12:37:33 +04:00
tomrus88
37f8736fba Merge fix. 2009-08-29 12:09:47 +04:00
tomrus88
d26712c6ba Merge commit 'origin/master' into 320
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Opcodes.cpp
	src/game/WorldSession.h
2009-08-29 12:01:39 +04:00
VladimirMangos
5cf72882ad [8433] Implement proper store and use character specific account data.
* Base at TOM_RUS reseach save/load character specific account data in new table `character_account_data`
* Move its in sql update from `account_data` to new table.
* For client packets that can be send in loggined state or just after logout but assocualted
  with recently logout character add new login status STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT
* Store low guid for loggedin player or recently logout into WorldSession.
2009-08-29 11:26:57 +04:00
tomrus88
935c0a44c2 Merge commit 'origin/master' into 320 2009-08-23 18:57:07 +04:00
Triply
512cb786ee [8408] Optimized guild_member loading during startup. Changed rank ids in guild_rank table.
First start of mangos will take more time then usually, because of guild_rank change. If you want to speed first start up, execute command:
UPDATE guild_rank SET rid = rid - 1;

Signed-off-by: Triply <triply@getmangos.com>
2009-08-23 09:22:34 +02:00
tomrus88
fec1a1954c Merge commit 'origin/master' into 320
Conflicts:
	src/game/MovementHandler.cpp
2009-08-20 16:24:37 +04:00
VladimirMangos
35121cdd34 [8389] Implement check really read received packet size and warning it not all data read.
* This let more easy catch packet structure chnages at client switch.
* Fixed structure CMSG_GUILD_BANK_SWAP_ITEMS
* Fixed structure CMSG_SPLIT_ITEM, CMSG_SELL_ITEM
* Added read data amount fixes for some other packets.

Thanks to TOM_RUS in help check correct packets structure.

Note: not all packets possible fixed. Please report for not fixed cases at errors:
"opcode %s (0x%.4X) have unprocessed tail data (read stop at %u from %u)"
2009-08-19 00:45:24 +04:00
tomrus88
f553cf2887 Merge commit 'origin/master' into 320
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/DuelHandler.cpp
	src/game/ItemHandler.cpp
	src/game/Mail.cpp
	src/game/MiscHandler.cpp
	src/game/MovementHandler.cpp
	src/game/TaxiHandler.cpp
	src/game/WorldSession.h
	src/game/WorldSocket.cpp
2009-08-17 10:31:02 +04:00
arrai
a24f39a36f [8378] Use exceptions instead of explicit size checking for each packet
CHECK_PACKET_SIZE was pretty error prone; once it was forgotten mangosd
could crash due to the asserts in ByteBuffer.h. That was exploitable by
malicious players.
Furthermore, there were duplicate checks: Additionally to
CHECK_PACKET_SIZE, the ByteBuffer assertions keept an eye
on not exceeding the packet boundaries - just to crash the server for
sure in such a case.
To prevent memory leaks or other undesirable states, please read in
every handler all variables _before_ doing any concrete handling.
2009-08-16 23:50:22 +02:00
tomrus88
2c30020c7e Login with 3.2.2.10257 should work now. 2009-08-15 14:24:04 +04:00
tomrus88
1df1f7cff5 Fixed player movement.
Fixed multinode taxi.
Removed some unhandled opcode spam.
2009-08-09 18:08:14 +04:00
tomrus88
f90f3dd987 Merge commit 'origin/master' into 320
Conflicts:
	src/game/ArenaTeam.cpp
2009-07-29 15:17:37 +04:00
fgenesis
46c314814c [8270] Fixed problem with Alt+F4 in instances.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-28 22:44:48 +02:00
tomrus88
3de88aef12 Updated to 10116 client build. 2009-07-17 17:01:47 +04:00
Ambal
58209ee79a [8182] Store and use Map* pointer in WorldObject instead map ids for speedup
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-15 02:13:52 +04:00
Win32
03926619d9 [8151] Fixed some format warnings and typos.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

SOme changes rewrited with using [8150]
2009-07-09 01:09:12 +04:00
Ambal
9f938a9ed4 [8103] More wide use IsInWorld checks and delayed at teleport operations.
* IsInWorld used to prevent return unexpected not in world objects.
* Delayed operations need to process its in world state.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-01 14:00:29 +04:00
VladimirMangos
21a6a26386 [8077] Resolve mixed store and use 2 different flags values types in single field.
* Create new monster move field in Creature class and use it in all cases when expected use MONSTER_MOVE_* flags.
* Store and use MOVEMENTFLAG_* values in field in MovementInfo structure of Player class.
* Cleanups and fix related code.

NOTE: DB in creature_addon store values similar MONSTER_MOVE_* flags, scritps also expected set only this flags.
2009-06-26 01:57:34 +04:00
QAston
a8dea60d6e [8054] First do cleanup then removefromworld for player.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Thanks to lordinpvp for patch prepering for mangos.
2009-06-21 01:09:16 +04:00
Ambal
b76c4c2f3c [8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-06-16 12:47:02 +04:00
tomrus88
cae3f0a532 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
2009-05-31 12:16:25 +04:00
VladimirMangos
2a27a44e2a [7918] Improve portability in work with uint64 string format specifiers and in code literals.
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
  I64FMTD renamed to UI64FMTD for more clear name.
* Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
  Please always use UI64LIT(0x00001) instead less portable 0x00001LL
2009-05-30 22:44:20 +04:00
tomrus88
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
tomrus88
5e26a2a152 Just a few renames. 2009-05-09 16:01:31 +04:00
tomrus88
908f41b031 Attempt to fix quests. Some other fixes. 2009-05-07 02:04:43 +04:00
tomrus88
7149324247 Fixed problem with integrated client addons 2009-04-29 19:48:33 +04:00
tomrus88
d4323e0071 Merge commit 'origin/master' into 310
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Player.cpp
2009-04-29 11:51:15 +04:00
VladimirMangos
512c015dc2 [7731] Some code cleanups, warrning fixes. 2009-04-29 04:03:59 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
tomrus88
2fc6e75a81 Fixed item buy packets. Thanks to yad02 for reporting.
Fixed client disconnect when boarding transport (by yad02 and woweur).
2009-04-19 11:03:20 +04:00
tomrus88
9b20869a32 Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
2009-04-12 14:37:33 +04:00
VladimirMangos
199c09640d [7648] Resolve problems with expected fall damage at near teleport.
Move near teleport landing code to WorldSession::HandleMoveTeleportAck.
This make Player::TeleportTo code working in same way for both far/near teleports.
Move mSemaphoreTeleport from WorldObject to Player and merge with DoNotMove (using 2 fields for far/near teleport flag).
Skip movement packets until landing confirmation for near teleport from client.
2009-04-11 11:06:30 +04:00
arrai
9f8fdea525 Fixed possible crash caused by invalid formed CMSG_AUTH_SESSION 2009-03-19 21:43:33 +01:00
tomrus88
cc6d0e0568 Small update 2009-03-15 10:10:21 +03:00
tomrus88
31b3ee95ad Merge branch 'master' into 310
Conflicts:
	src/game/Level2.cpp
	src/game/PetHandler.cpp
	src/game/Player.cpp
	src/game/Player.h
	src/game/SkillHandler.cpp
2009-03-11 12:22:58 +03:00
Triply
8a9942619b [7404] Fixed cheating in rated arena matches by alt+f4.
Signed-off-by: Triply <triply@getmangos.com>
2009-03-08 01:48:41 +01:00
balrok
54f2dbefa0 [7403] much more unneeded includes removed
now i extended my script:
NAME="Chat"; ack -c $NAME | ack ":1$" | sed 's/:1//' | xargs /usr/bin/ack-grep -l "include \""$NAME".h\"" | xargs /bin/sed -i '/include "'$NAME'.h"/d'

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-08 02:22:17 +03:00
balrok
f3ea479f6e removed duplicated includes
i used the following script
(i have no awk-skills :-/ i guess with awk it will look much better)
for i in `ls *.h`
do
    HEADER="#include \\\""`echo $i | sed 's/\./\\\\./'`"\\\"" #a grep-readable #include "file.h"
    # following should deletes the first occurence of a duplicated
    # (#include) line
    # if an include is more then once in this file this script
    # has to be run more often - i don't know a better solution
    grep -cH "$HEADER" *.[hcpp]* | grep -v :1$ | grep -v :0 | sed -r 's/:[0-9]*$//' | xargs sed -i '0,/#include "'$i'"/{//d;}'
done

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Restored build for x64: WorldSession expected to be fist include in WorldSession.cpp
2009-03-08 02:08:16 +03:00
VladimirMangos
49322fa20a Restore save tutorials only at character save and implement this for EquipmentSets 2009-03-04 19:17:59 +03:00
tomrus88
e6a66cdc54 Updated to new client build 2009-03-04 14:58:11 +03:00
Triply
4994611582 [7359] Fixed crash when removing battleground from BGFreeSlotQueue.
Fixed player will now drop a flag before he logs out, if he is in BG.

Signed-off-by: Triply <triply@getmangos.com>
2009-02-28 09:55:17 +01:00
GriffonHeart
1fb8a52032 Propertly send SMSG_SET_PHASE_SHIFT to inform client about phase shift at phase change.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-15 12:00:47 +03:00