Commit graph

108 commits

Author SHA1 Message Date
VladimirMangos
7a2df3c309 [8476] Revert some recent cleanup changes, some other fixes and cleanups. 2009-09-05 22:09:37 +04:00
balrok
bd30769dec [8475] fixed some gcc-warnings
all warnings from Wunused
and some from Wall

cause unused may be most interesting for some:
they were in following files:
src/game/Level2.cpp
src/game/Map.cpp
src/game/SpellAuras.cpp
src/game/Unit.cpp
src/mangosd/Master.cpp
but i guess mostly someone just fogot to remove this code

for some unsigned vs signed warnings i used:
ack "for.*int .*size\(\)" | ack -v uint

also note for coding:
if you do something like
    if( a && b || c)
just place parentheses around (a && b) && always will have
precedence over || but without parentheses this could be overseen
quite fast (at least that's my guess why gcc will warn for this)

Signed-off-by: balrok <der-coole-carl@gmx.net>
2009-09-05 13:47:47 +02:00
arrai
3b1b68595b [8445] Fixed redundant calculation of v and s on every login
The SRP-6 specifications clearly say, that v and s are only to be
calculated on registering a user and changing his password; calculating
them on every login is plain waste.
2009-09-01 02:42:50 +02: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
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
ApoC
6d9448dd7f [8339] Improved storing/restoring BG entry point
* Introduced new table character_battleground_data
* Entry point is now stored on BG enter event not join event
* Entry point for dungeons is now correctly set to nearest graveyard
  (this prevent well known assert in GetInstance because of porting to already destroyed instance)
* Teleporting from BG correctly restore mount state
* Teleporting from BG correctly restore taxi flight
  (in multipath flight you will end up in nearest transition point on the route)

Signed-off-by: ApoC <apoc@nymfe.net>
2009-08-09 11:00:37 +02:00
VladimirMangos
8af151eee7 [8304] Move standup code to login, remove other not needed data change at save.
Now players saved as-is without any modifications.
2009-08-04 12:52:01 +04:00
redcore
cc20be1012 [8286] Correctly show talent points after talents reset at login by "at login" flag.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-01 15:09:52 +04:00
VladimirMangos
715470a898 [8126] Improvemets in player/pet/charter name checks.
* Implement new config options for minimal player/pet/charter name length (2 by default)
* Better error reporting at problems in names.
* Add check from max pet/charter name length (same as for player names at client side)
2009-07-05 20:30:33 +04:00
VladimirMangos
1baec77845 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-06-30 11:25:32 +04:00
hunuza
8a32a19bad [8072] First step to get rid of data blob.
Adds new fields gender, level, xp, money, playerBytes, playerBytes2 and playerFlags to characters table.

The update will not work if your database contains characters with an old data field (not fitting to the actual client version).

It's recommended to backup your character database before applying this patch.

Signed-off-by: hunuza <hunuza@gmail.com>
2009-06-23 17:51:48 +02:00
VladimirMangos
d56de2cd77 [8053] At character talents reset using chat command also reset talents for all character pets.
This applied to .reset talents and .reset all talents commands.
2009-06-21 00:29:46 +04:00
VladimirMangos
08fe4933c5 [8015] More dislpay id selection fixes...
* Allow have only A2 or H2 display ids for less strincted DB field data.
* Check model data existance for all provided display ids atserver startup.
* Avoid explicit access to creature info display fields but use display selection functions.
* Rename GetTaxiMount to more clear for returned value GetTaxiMountDisplayId.
* Check display ids in `creature_model_info` at server load.
2009-06-14 21:57:56 +04:00
tomrus88
1f87157edf Merge commit 'origin/master' into 310
Conflicts:
	src/game/UpdateData.cpp
2009-06-07 21:42:02 +04:00
VladimirMangos
5ac6b2f34b [7971] Implement support exotic pets limtations related to hunter telent 53270.
Note: before this commit hunters can tame exotic pets like any other.
      After patch like not propertly contriolled pets will auto-dismiss at loading
      if talent not learned.
2009-06-06 21:21:27 +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
ebb03b7b9f Merge commit 'origin/master' into 310
Hope it works with live 3.1.2.9901 client
2009-05-20 10:53:55 +04:00
SilverIce
b7f09eb37c [7841] Fixed: Prevent loading maps/vmaps when building enum.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-05-17 19:58:43 +04:00
tomrus88
6734694a90 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-16 00:47:37 +04:00
Foks
dbf1f4323b [7822] Avoid declined names form show in case disabled config option with russian client at non-russian realm.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-14 11:31:04 +04:00
tomrus88
0db4ccc692 Partly fixed MSG_LOOKING_FOR_GROUP opcode. 2009-05-10 00:46:11 +04:00
tomrus88
5e26a2a152 Just a few renames. 2009-05-09 16:01:31 +04:00
tomrus88
c9f5062955 Merge commit 'origin/master' into 310 2009-05-08 15:31:27 +04:00
tomrus88
930f3304de Fixed SMSG_PET_SPELLS opcode. 2009-05-08 15:30:39 +04:00
VladimirMangos
3989212ad1 [7797] Use DBC data for mount model selection in more cases.
* Use alt.team mount data for take player team model id if DB not provide own team creature id in spell taxi call case.
* Remove unddeded hacks for model ids from Spell::EffectSendTaxi
* Provide spell target for SPELL_EFFECT_SEND_TAXI for spell with target mode 0 for this effect.
2009-05-07 22:40:37 +04:00
tomrus88
908f41b031 Attempt to fix quests. Some other fixes. 2009-05-07 02:04:43 +04:00
tomrus88
6b71704ac0 Added CMSG_EQUIPMENT_SET_USE opcode structure. 2009-05-05 11:52:58 +04:00
tomrus88
7e938af972 Updated to latest PTR client build 9868. 2009-05-05 10:41:22 +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
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
9b20869a32 Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
2009-04-12 14:37:33 +04:00
VladimirMangos
eb198f8239 [7645] Fixed problems wit temporary unsummoned pets and cleanup code.
* Save temporary unsummoned pet to current slot (instead non_in_slot mode) and
  prevent save as current pet summoned while temporay unsummon (arena)
* Prevent overwrite temporary summoned pet data
* At player loading set temporary unsummoned pet data instead pet loading
  if pet expected to be temporary unsummoned in current player state (loading in taxi flight/etc)
* Restore proper pet at arena leave and unsummon in arena summoned.
2009-04-11 08:46:48 +04:00
VladimirMangos
263bf2ab22 [7644] Fixed pet slot values using in pet save.
Problem exist from client version switch when stable slot amount changed.
In result this has been source problems with stable use (3-4 slots) and possible pet lost in some cases
or "not save state" for summoned pets.
Use enums to avoid repeating problem, use more safe value for not-in-slot save (for summoned pets)
Fixed data preparing for MSG_LIST_STABLED_PETS.
2009-04-10 09:02:04 +04:00
tomrus88
2a8776e567 Merge branch 'master' into 310
Conflicts:
	src/game/Unit.cpp
2009-04-04 23:25:57 +04:00
NoFantasy
02247d411b [7612] Move SMSG_TRIGGER_CINEMATIC and SMSG_TRIGGER_MOVIE to functions and use its instead explicit packet creating.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-04 03:06:02 +04:00
tomrus88
bd06497546 Removed trailing whitespaces 2009-04-03 21:18:58 +04:00
tomrus88
963aed5e0b Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
	src/game/Player.h
	src/game/Unit.cpp
2009-03-26 14:28:37 +03:00
VladimirMangos
c33eff13f4 [7540] Move most reputation/force faction reaction code to new ReputationMgr. 2009-03-26 11:28:56 +03:00
AlexDereka
ef014420a5 [7539] Fixed log output 2009-03-26 00:39:10 +03:00
VladimirMangos
df9caf58cd [7538] Hide some implementation details for reputation/forced faction reaction. 2009-03-25 21:28:04 +03:00
tomrus88
1c04b528f8 Merged with master and fixed compile error 2009-03-21 20:06:51 +03:00
VladimirMangos
befa6c5c86 [7508] Revert to "check first, proccess later" code style in WorldSession::HandleRemoveGlyph. 2009-03-21 19:45:30 +03:00
tomrus88
28dc20c6e2 Small code cleanup and partial merge with dev branch 2009-03-21 19:07:38 +03:00
tomrus88
e5bde711ea Merge branch 'master' into 310
Conflicts:
	src/game/Chat.cpp
	src/game/Chat.h
	src/game/GameObject.cpp
	src/game/Level2.cpp
2009-03-21 15:48:51 +03:00
GriffonHeart
73e6ba114f [7502] Fixed :customize characters
Signed-off-by: AlexDereka <Dereka.Alex@gmail.com>
2009-03-20 16:11:30 +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
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
tomrus88
6aadc16d7d Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
	src/game/QueryHandler.cpp
2009-03-06 08:03:34 +03:00