Commit Graph
243 Commits
Author SHA1 Message Date
Shauren 67f9d916cb Build: Fixed game & collision depending on each other for linking 2014-10-09 23:01:31 +02:00
jackpoz df7f188cfe Core/Misc: Refactor scripts to fix static analysis warnings
Fourth batch of fixes targeting 100 issues reported by Coverity
2014-09-07 20:12:54 +02:00
jackpoz dd4dbdcd16 Core/Misc: Refactor scripts to fix static analysis warnings
First batch of fixes targeting 100 issues reported by Coverity
2014-08-31 20:42:02 +02:00
Vincent-Michael 79b954a349 Core: meh, remove again whitespace :( 2014-08-24 02:46:14 +02:00
jackpoz f8a7d537ec Tools/MMAPs: Fix log message if mmaps folder is not found
Fixes #12787
2014-08-10 17:25:48 +02:00
jackpoz d3100edccb Tools/MMAPs: Fix uninitialized value in mmap_generator
Fix uninitialized value in mmap_generator. This fixes mmaps_generator broken in some build configurations.
Fixes #12644
2014-08-07 18:58:21 +02:00
jackpoz 4190d84c5b Tools/MMaps: Fix static analysis issues
Fix static analysis issue spotted by Coverity "Structurally dead code found"
2014-07-30 20:22:32 +02:00
DDuarte eabf0f44dd Tools/mmaps: Change the PCQ queue to uint32 again
6f272ea5b7 re-added support for non-pointer types
2014-07-27 17:33:42 +01:00
DDuarte 63e1cc6276 Tools/mmaps: Fix build when building only tools
Closes #12631
2014-07-25 15:23:40 +01:00
DDuarte baf9922350 Tools/mmaps: Fix a possible mem leak and a compile warning 2014-07-25 14:04:39 +01:00
leak 90bc6f1e39 Restore mmaps gen build
Closes #12631
2014-07-24 21:55:37 +02:00
DDuarte 44c0d66d63 Core/Misc: Remove a define that is no longer needed since ACE was removed 2014-07-22 13:12:39 +01:00
leak 8c10ffa62d GCC compile fixes 2014-07-16 19:27:15 +02:00
leak ecde28d1c1 Replacing ACE based multi threading with PCQ 2014-07-14 22:51:13 +02:00
leak d45d741426 Removed dead ACE includes from mmaps gen (mt still needs rewrite) 2014-07-14 00:03:49 +02:00
jackpoz 519d76c194 Core/VMAPs: Fix object orientation
Merge https://github.com/249CAAFE40/mangos-wotlk/commit/2f8b8e55d99122d34be2a08cbdbd2d2b1ae172d1
Quoting original commit log:
This patch fixes 2 issues with the vmap extractor. 1) Incorrectly converts vertex coordinates. 2) Forgets to convert coordinates on triangle indices.

The effects of [1] causes models to be flipped. This isn't very noticeable on most trees as flipping a cylinder results in the same cylinder, but it's very noticeable on any non-symmetrical geometry (which, even includes trees, it's just harder to notice). [2] Didn't seem to be a problem when the coordinates were incorrectly converted, but when applying the correct conversion caused some triangles to be flipped (i.e. facing inwards).

You will need to re-extract vmaps and re-generate mmaps for these changes to take effect.

Fixes #417
2014-07-03 22:52:36 +02:00
jackpoz ff25736338 Tools/MMapsGenerator: Improve mmaps generation time on multi-core CPUs
Queue biggest maps first for mmaps generation to avoid waiting for last map, usually map id 571.
Fix wrong maps count being printed on startup.
2014-06-25 22:01:44 +02:00
jackpoz 0892c71a16 Core/Dependencies: Clean up recastnavigation folder
Remove old files from recastnavigation folder and update the structure to the same of https://github.com/memononen/recastnavigation/ to allow easier updates.
2014-06-20 23:30:44 +02:00
Praetonus f296095191 Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic.
-Fix warnings from -Woverflow on implicit constant conversion.
-Fix warnings from -pedantic.
-Fix warnings from -pedantic.
-Fix warnings from -Wformat.

Two minor changes in addition :

-Replace a defined value equal to 2^31 - 1 by std::numeric_limits<int>::max().
-Remove useless null-check on pointer returned by new. New doesn't returns nullptr on failure, it throws std::bad_alloc.
2014-05-15 21:32:47 +02:00
Shauren fc538c5088 Tools: Enabled struct packing to ensure that structures are read from files properly 2014-04-20 14:49:44 +02:00
jackpoz 93a68a66c3 Core/MMAPs: Improve NPC behavior with fences and high climbs
Increase the max walkable angle and max walkable climb in MMAPs generator to allow NPCs to jump on fences and climb steps.
This requires MMAPs to be extracted again with mmaps_generator, old extracted MMAPs are still compatible but will not provide the benefits of this commit.
Fixes #9965
2014-04-19 15:35:13 +02:00
jackpoz 4c27c83efa Core/Misc: Fix some static analysis issues 2014-03-20 21:34:05 +01:00
jackpoz f7bc86a17c Core/MMAPs: Update recast
Update recast from https://github.com/memononen/recastnavigation/commit/1be9de72d87dcfdecf6bea30f5461745f7d7afe6 to https://github.com/memononen/recastnavigation/commit/740a7ba51600a3c87ce5667ae276a38284a1ce75 .
This differs from https://github.com/TrinityCore/TrinityCore/commit/aa645683b8b25bfb35cb977678daf5c56c1531e6 because it includes a fix https://github.com/memononen/recastnavigation/commit/77ebf643531c90ea712b496e23c48f0b0671f43d which correctly extract tile connections when using rcMergePolyMeshes(), used by mmaps_generator.
MMAPs version is now set to 5.

Re-extract MMAPs using mmaps_generator , any old extracted MMAPs will not work.
2014-02-23 12:39:16 +01:00
jackpoz 006d72a828 Core/MMAPS: Fix invisible wall issue in MMAPS.
Fix invisible wall issues in MMAPS caused by tile connections not being extracted correctly.
This reverts aa645683b8 and restores an old version of recastnavigation, most likely https://github.com/memononen/recastnavigation/commit/1be9de72d87dcfdecf6bea30f5461745f7d7afe6 .

Re-extracting MMAPS is required.
2014-02-13 22:19:56 +01:00
Duarte Duarte d39b36b50f Tools/VMAP: Fix a logic error in processArgv of vmapexport 2014-01-26 14:29:51 +00:00
Gacko 784ebb891a Tools: Fix build for Mac
ACE_thread_t returned by ACE_Thread::self is a struct in Mac OS
2014-01-26 00:33:53 +01:00
Shauren 619edff196 Misc:
* Tools: Fixed a compile warning
* Commands: Fixed npcflag format in .npc info
2014-01-06 13:53:29 +01:00
Vincent_Michael 20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Gacko 62c6ae7660 Tools: Skip extracting already existing DBC files
Thanks to MacWarrior, closes #11061
2013-11-02 14:07:54 +01:00
Ascathor 7a7ad4a60a Core/Code: Adding copyright to all the mesh_extractor files. 2013-10-27 23:56:58 +01:00
Ascathor 2607738990 Core/Code: Unify codestyle for brackets: {} to { }.
Also added missing copyright to some files.
2013-10-27 23:46:02 +01: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
Sebastian Valle 1588e27f1e Tools/MeshExtractor: Fixed the generated mesh for continents.
Fixed a few more issues.
2013-10-01 14:13:37 -05: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
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
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
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