Commit Graph

225 Commits

Author SHA1 Message Date
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 1be9de72d8 to 740a7ba516 .
This differs from aa645683b8 because it includes a fix 77ebf64353 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 1be9de72d8 .

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
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
Sebastian Valle
24f8b2b994 Core/Misc: Fixed some more issues found by code analysis tools. 2013-09-03 15:09:37 -05:00
Sebastian Valle
5b95301de5 Core/Misc: Solved some issues found by static code analysis. 2013-09-03 13:38:50 -05:00
Nay
8eaf763235 Core&Tools: Fix multiple issues found by a static code coverage tool 2013-08-26 02:00:18 +01:00
Nay
3e2f037b20 Core&Tools: Fix warnings and non-pch build 2013-08-25 14:27:40 +01:00
Nay
12973de799 Core&Tools: Fix multiple issues found by a static code coverage tool 2013-08-24 22:57:22 +01:00
Nay
556c478e68 Tools: Fix compiler warnings 2013-08-23 20:42:22 +01:00
Nay
1bb3c4a2b4 Misc: Fix warnings and build
Closes #10396
2013-07-29 14:24:53 +01:00
Shauren
53e5fc2fbc Core/Extractors: Fixed a possible issue with M2 model scaling 2013-06-27 19:38:03 +02:00
kaelima
ec0cb39acb Core/MMAPS: Revert walkableClimb/Height config changes
Fixes movement on some stairs
Needs more research
2013-06-27 11:48:23 +02:00
kaelima
aa645683b8 Core/MMAPS: Update recastnavigation!
* Complete changelog can be found at http://code.google.com/p/recastnavigation/
* Adjusted a few config values

Important:
* New mmaps extraction is required
* Folder size will be increased
2013-06-17 05:11:56 +02:00
Nay
383ed042b3 MMAPS: Update mmaps_generator readme.txt with thread info 2013-05-19 20:56:52 +02:00
baines
88dd08d4b0 Fix mismatching new/delete 2013-03-20 06:47:30 -04:00
click
6395c80e86 Buildsystem: Disable building the nonfunctional meshextractor.tool (not in a production-state atm), it CAN however be built with with using the -DWITH_MESHEXTRACTOR flag (not documented as option, and will most probably change in the future) 2013-02-17 20:28:55 +01:00
Shauren
b346459ca8 Core: Warning fixes 2013-02-03 14:11:59 +01:00
Spp
c4e4cb1b5c Core/Misc: Remove using directive from header files (It will eventually lead to name collisions) 2013-01-30 09:06:19 +01:00
Shauren
08866f377e Tools/mmap_generator: Fixed a deadlock at exit 2013-01-24 16:40:35 +01:00