Commit Graph
15740 Commits
Author SHA1 Message Date
jackpoz 6cef507b89 Scripts/HallsOfReflection: Revert 3ffbd27cdd
Revert 3ffbd27cdd and PR #10985 , this change doesn't fix any issue and instead breaks the logic of the instance event.
2013-10-07 20:50:08 +02:00
Shauren 1d3e3fac89 Build fix 2013-10-06 12:09:05 +02:00
Shauren 9d19e4d0ac Core/Commands: Restored old functionality of getSelectedPlayer in chat commands
Also fixed build
2013-10-06 11:28:25 +02:00
Shauren 21a64d8fb4 Merge pull request #10976 from avengerweb/master
Core/Spells: Spells with SPELL_ATTR3_IGNORE_HIT_RESULT can never miss!
2013-10-06 02:19:19 -07:00
Shauren b658c17703 Core/Spells: Fixed summoning players after recent changes 2013-10-05 23:59:52 +02:00
jackpoz ba1a4cd0ce Merge branch 'authserver_fix_dos' of github.com:jackpoz/TrinityCore 2013-10-05 13:12:02 +02:00
jackpoz 03657525ad Core/Auth: Mitigate DoS attacks to authserver
Mitigate DoS attacks to authserver like "Wow Auth Flooder.exe" by allowing a finite number of AUTH_LOGON_CHALLEGE packets in a row from same socket, 3 sounds like a reasonable limit.
2013-10-05 13:10:06 +02:00
Discover- 4d654a885c Core/Misc: Fix compile after recent pull request... 2013-10-04 12:32:09 +02:00
Discover- 36e6407e24 Merge pull request #10981 from Lillecarl/hookz
Implement OnDamage and OnHeal hooks
2013-10-04 02:55:23 -07:00
Shauren a368fae588 Core/Players: Fixed issues with incorrect targets being selected for spells 2013-10-03 17:07:25 +02:00
Baeumchen 3ffbd27cdd Update wrong Escape state
Found by w5860363 : http://www.trinitycore.org/f/topic/9112-halls-of-reflectioncpp-question%EF%BC%9F/
2013-10-02 19:08:14 +02:00
Shauren 993513ce8d Core/Vehicles: Fixed a crash happening when a minion vehicle despawns with passenger on it
Ref #9738
2013-10-02 00:13:00 +02:00
Sebastian Valle 8fb1f7cc97 Tools/MeshExtractor: Implemented 7ca6f56a06 in MeshExtractor and fixed a memory leak. 2013-10-01 16:27:57 -05:00
Sebastian Valle a8611de906 Tools/MeshExtractor: Fixed a few mistakes in MPQManager::GetFileFrom and Utils::SaveToDisk 2013-10-01 15:45:55 -05:00
Shauren 770f69d4e6 Core/Vehicles: Fixed calling Vehicle::Uninstall on freed memory
Valgrind log:
    ==7723== Invalid read of size 8
    ==7723==    at 0x10753CE: Vehicle::GetBase() const (Vehicle.h:51)
    ==7723==    by 0x1072449: Vehicle::Uninstall() (Vehicle.cpp:159)
    ==7723==    by 0x10B1E3C: Unit::RemoveVehicleKit() (Unit.cpp:15946)
    ==7723==    by 0x10A8F32: Unit::RemoveFromWorld() (Unit.cpp:13441)
    ==7723==    by 0x11A4703: Creature::RemoveFromWorld() (Creature.cpp:203)
    ==7723==    by 0x11B9AB7: TempSummon::RemoveFromWorld() (TemporarySummon.cpp:279)
    ==7723==    by 0x11B9C6C: Minion::RemoveFromWorld() (TemporarySummon.cpp:308)
    ==7723==    by 0x10A917C: Unit::CleanupBeforeRemoveFromMap(bool) (Unit.cpp:13482)
    ==7723==    by 0x10A926C: Unit::CleanupsBeforeDelete(bool) (Unit.cpp:13504)
    ==7723==    by 0x12DBB89: Map::AddObjectToRemoveList(WorldObject*) (Map.cpp:2108)
    ==7723==    by 0x10F4556: WorldObject::AddObjectToRemoveList() (Object.cpp:2140)
    ==7723==    by 0x11B99C5: TempSummon::UnSummon(unsigned int) (TemporarySummon.cpp:256)
    ==7723==  Address 0x3bd20530 is 64 bytes inside a block of size 168 free'd
    ==7723==    at 0x4C2B59C: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==7723==    by 0x1071FD3: Vehicle::~Vehicle() (Vehicle.cpp:66)
    ==7723==    by 0x10B1E71: Unit::RemoveVehicleKit() (Unit.cpp:15947)
    ==7723==    by 0x10A8F32: Unit::RemoveFromWorld() (Unit.cpp:13441)
    ==7723==    by 0x11A4703: Creature::RemoveFromWorld() (Creature.cpp:203)
    ==7723==    by 0x11B9AB7: TempSummon::RemoveFromWorld() (TemporarySummon.cpp:279)
    ==7723==    by 0x11B9C6C: Minion::RemoveFromWorld() (TemporarySummon.cpp:308)
    ==7723==    by 0x10A917C: Unit::CleanupBeforeRemoveFromMap(bool) (Unit.cpp:13482)
    ==7723==    by 0x10A926C: Unit::CleanupsBeforeDelete(bool) (Unit.cpp:13504)
    ==7723==    by 0x12DBB89: Map::AddObjectToRemoveList(WorldObject*) (Map.cpp:2108)
    ==7723==    by 0x10F4556: WorldObject::AddObjectToRemoveList() (Object.cpp:2140)
    ==7723==    by 0x11B99C5: TempSummon::UnSummon(unsigned int) (TemporarySummon.cpp:256)
2013-10-01 22:06:39 +02:00
Sebastian Valle 1588e27f1e Tools/MeshExtractor: Fixed the generated mesh for continents.
Fixed a few more issues.
2013-10-01 14:13:37 -05:00
Carl Hjerpe 8737984b71 Implement script hooks: OnDamge, OnHeal 2013-10-01 18:35:09 +02:00
Ellie c803cc1f5c Merge branch 'master' of github.com:TrinityCore/TrinityCore into string_concatenation 2013-10-01 01:14:32 -07:00
Ellie 1fae858645 Whitespace between string literals and user-defined literals is now mandatory for concatenation in C++11 2013-10-01 01:13:13 -07:00
Discover- 11d9a44508 Core/SAI: Properly implement the second parameter of SMART_ACTION_CALL_TIMED_ACTIONLIST to reflect the wiki (which also makes more sense) 2013-10-01 10:08:05 +02:00
Sebastian Valle c5c3b7ab2a Tools/MeshExtractor: Implemented the code to generate mesh files for continent maps.
Fixed a few more things
ToDo:
Test the generated navmesh.
2013-09-30 23:31:09 -05:00
Sebastian Valle 3ed0a11679 Tools/MeshExtractor: Do not delete the polygons before we are done using them. 2013-09-30 21:08:33 -05:00
Sebastian Valle 1e23710b11 Tools/MeshExtractor: Forgot to push some changes. 2013-09-30 18:00:00 -05:00
Sebastian Valle 520ff5a6e7 Tools/MeshExtractor: Some more cleanup. 2013-09-30 17:46:19 -05:00
Sebastian Valle 271a57b80d Tools/MeshExtractor: Fixed mmap extracting for instance maps and fixed a number of issues.
ToDo:
Cleanup the code a bit.
WILL NOT CURRENTLY WORK WITH TrinityCore, if you want to test it, use the --extract 32 flag of MeshExtractor.
2013-09-30 17:27:37 -05:00
Vadim 2320f6d28f Core/Spells: Spells with SPELL_ATTR3_IGNORE_HIT_RESULT can`t never miss! 2013-09-30 13:43:02 +04:00
Discover- 80ce30ac7d Core/SAI: Add 'playerOnly' parameters to SMART_TARGET_CLOSEST_ENEMY and SMART_TARGET_CLOSEST_FRIENDLY. Wiki is updated accordingly. 2013-09-30 10:11:02 +02:00
Sebastian Valle 15e7f7ab21 Tools/MeshExtractor: Implemented mmap mesh generation for instances (They do not have ADT files, they're just a big WMO).
Cleaned up some things and fixed some errors.
ToDo:
* Test this a bit more.
* Cleanup the codebase for this, remove duplicated code.
2013-09-30 01:05:07 -05:00
Sebastian Valle 9876108f3e Tools/MeshExtractor: Removed some redundant code 2013-09-29 20:15:35 -05:00
Sebastian Valle 02a543b0a0 Tools/MeshExtractor: Some more cleanup and memory management improvements. 2013-09-29 20:06:44 -05:00
Sebastian Valle 371dd07037 Tools/MeshExtractor: Fixed Doodads and WMOs in the terrain.
Cleaned up a little.
2013-09-29 19:47:52 -05:00
Sebastian Valle 279183737c Tools/MeshExtractor: Fixed(??????) Doodads in the terrain.
Semi-fixed WMOs in the terrain, they are wrongly rotated.
P.D: HALP
P.P.D: Entered "I don't know what i'm doing" mode.
2013-09-29 16:52:20 -05:00
Spp ad29676c27 Fix compile under linux and update auth db with latest changes 2013-09-29 14:15:58 +02:00
Spp ea2fe0217d Core/RBAC: Simplify RBAC implementation
- Drop groups (roles than can have inherited roles) and roles (set of
  permissions)
- Permissions can now have inherited permissions (those act as roles)

RBAC DB structure is now limited to four tables
- rbac_permissions: Contains permissions and roles
- rbac_linked_permissions: Contains the relation between permissions and
  linked permissions (those permissions that have linked permissions are
  called roles)
- rbac_default_permissions: Contains the list of permissions to be granted
  to each security level [Added to maintain compatibility in an easy way]
- rbac_account_permissions: Contains the list of permissions granted or
  denied for a particular account.

NOTE: IF YOU ARE USING CUSTOM PERMISSIONS, ROLES OR GROUPS CHECK THE SQL
BEFORE APPLYING...
2013-09-29 13:19:05 +02:00
jackpoz a1fa7bf525 Tools/VMAP Extractor: Fix memory issues
Fix not-NULL terminated char buffer and uninitialized memory written to vmaps due to WMOLiquidHeader struct padding bytes left uninitialized. The padding bytes should be ignored anyway by VMAP Assembler so no re-extraction is required.

Valgrind log:
 Syscall param write(buf) points to uninitialised byte(s)
  at 0x585FB50: __write_nocancel (syscall-template.S:81)
  by 0x57EE2F2: _IO_file_write@@GLIBC_2.2.5 (fileops.c:1270)
  by 0x57EE1D1: new_do_write (fileops.c:546)
  by 0x57EF904: _IO_do_write@@GLIBC_2.2.5 (fileops.c:519)
  by 0x57EEB70: _IO_file_xsputn@@GLIBC_2.2.5 (fileops.c:1341)
  by 0x57E3EC4: fwrite (iofwrite.c:43)
  by 0x41161B: WMOGroup::ConvertToVMAPGroupWmo(_IO_FILE*, WMORoot*, bool) (wmo.cpp:386)
  by 0x407FA9: ExtractSingleWmo(std::string&) (vmapexport.cpp:215)
  by 0x407B16: ExtractWmo() (vmapexport.cpp:138)
  by 0x409D50: main (vmapexport.cpp:497)
 Address 0x40398e2 is not stack'd, malloc'd or (recently) free'd
 Uninitialised value was created by a heap allocation
  at 0x4C2C7A7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by 0x410ADA: WMOGroup::open() (wmo.cpp:224)
  by 0x407F54: ExtractSingleWmo(std::string&) (vmapexport.cpp:208)
  by 0x407B16: ExtractWmo() (vmapexport.cpp:138)
  by 0x409D50: main (vmapexport.cpp:497)
2013-09-29 12:26:56 +02:00
Sebastian Valle a68c29e15c Tools/MeshExtractor: Fixed a lot of stuff, finally made the Doodads render, the WMO's have been disabled for now.
ToDo:
* Fix the doodads positions.
* Review and re-implement some code.

P.D: Help me please.
2013-09-29 02:05:28 -05:00
jackpoz 7ca6f56a06 Tools/MapExtractor: Fix string-related memory issues
Fix not-NULL terminated char buffers and char[] to string conversion.

Valgrind logs:
 Invalid read of size 1
  at 0x4C2D7D4: __GI_strlen (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by 0x5318BAF: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17)
  by 0x409471: ReadBuild(int) (System.cpp:189)
  by 0x40CEC6: main (System.cpp:1108)
  Address 0x5f851ee is 0 bytes after a block of size 94 alloc'd
  at 0x4C2C037: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by 0x40F63A: MPQFile::MPQFile(char const*) (mpq_libmpq.cpp:65)
  by 0x409408: ReadBuild(int) (System.cpp:182)
  by 0x40CEC6: main (System.cpp:1108)

 Invalid read of size 1
  at 0x57FFCAC: strtok (strtok.S:165)
  by 0x40D279: MPQArchive::GetFileListTo(std::vector<std::string, std::allocator<std::string> >&) (mpq_libmpq04.h:45)
  by 0x40C5CF: ExtractDBCFiles(int, bool) (System.cpp:1001)
  by 0x40CEF5: main (System.cpp:1110)
  Address 0x5f91e27 is 0 bytes after a block of size 44,391 alloc'd
  at 0x4C2C037: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by 0x40D1A5: MPQArchive::GetFileListTo(std::vector<std::string, std::allocator<std::string> >&) (mpq_libmpq04.h:30)
  by 0x40C5CF: ExtractDBCFiles(int, bool) (System.cpp:1001)
  by 0x40CEF5: main (System.cpp:1110)
2013-09-28 23:52:55 +02:00
jackpoz ac5b6f337e Core/Scripts: Fix uninitialized values in The Black Morass
Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
  at 0x1798C2C: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:192)
  by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
  by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)

 Conditional jump or move depends on uninitialised value(s)
  at 0x1798C7E: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:200)
  by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
  by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)

 Conditional jump or move depends on uninitialised value(s)
  at 0x1798CB0: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:205)
  by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
  by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)

 Conditional jump or move depends on uninitialised value(s)
  at 0x1798CE2: npc_medivh_bm::npc_medivh_bmAI::UpdateAI(unsigned int) (the_black_morass.cpp:210)
  by 0x11AEFC0: Creature::Update(unsigned int) (Creature.cpp:542)
  by 0x12E96F8: Trinity::ObjectUpdater::Visit(GridRefManager<Creature>&) (GridNotifiersImpl.h:45)
2013-09-28 22:18:19 +02:00
Chaplain 42ae39bf97 Tools/MeshExtractor: Cleanup using static analyzing tool
*printf format fixed
*method arguments changed to const where needed
*removed not needed strlen() from cycles
*other minor changes
2013-09-28 15:47:23 +03:00
Tomatoes 58348d0362 Subv's changes to mesh extractor V2
Signed-off-by: Tomatoes <diredarknil@gmail.com>
2013-09-27 18:04:14 -07:00
Sebastian Valle 85d6b7b7b3 Tools/MeshExtractor: Added some debug messages. 2013-09-27 16:42:00 -05:00
Sebastian Valle b7b870be82 Tools/MeshExtractor: Removed the fool-proof code. 2013-09-27 16:01:28 -05:00
Sebastian Valle da60e515f0 Tools/MeshExtractor: Fixed it's build, still in pre-alpha 2013-09-27 15:09:24 -05:00
Spp 895a23df11 Core/RBAC: Add default groups to accounts based on their security level.
- Removed config option RBAC.DefaultGroups

Use the table rbac_security_level_groups to configure the groups to be added to the account at load time.

Note: Those groups are only used at run time, never saved to DB
2013-09-27 13:35:45 +02:00
Spp cfaea769bc Core/RBAC: Move RBAC code to namespace rbac 2013-09-27 13:35:45 +02:00
Kirkhammett 89085f7d57 DB/Core: The Storm King's Vengeance 2013-09-27 12:50:34 +02:00
jackpoz 2cca3982d4 Core/Movement: Port Ascent r1637 http://sourceforge.net/p/ascentemubackup/code/1637/ to TrinityCore
Port some movement packet fixes, taking into account client/server connection lag.
Credits to original author, check http://sourceforge.net/p/ascentemubackup/code/1637/ for more details.
MOVEMENT_PACKET_TIME_DELAY default value is currently set to 0, feel free to set it to different values and report feedback.
2013-09-26 20:09:50 +02:00
joschiwald a0c637f52a Core/Scripts: added some OVERRIDEs 2013-09-25 16:37:43 +02:00
joschiwald 1887fa28a0 Merge pull request #10933 from MitchesD/SteamVault
Scripts/SteamVault: reworked InstanceScript
2013-09-25 07:13:35 -07:00
Discover- a5c248b60f Core/SAI: Get rid of unused parameter 'storageId' (third) in SMART_ACTION_SUMMON_CREATURE. This means the 4th parameter (actionInvoker 0/1) must move back one parameter. On a clean TDB there is not a single case of this parameter being used.
Updated wiki accordingly.
2013-09-25 11:46:51 +02:00