Skip to content

Core/VMaps: Fix LoS in Strand of the Ancients#19847

Merged
Warpten merged 3 commits into
TrinityCore:3.3.5from
Golrag:vmap_sota_los
Jun 5, 2017
Merged

Core/VMaps: Fix LoS in Strand of the Ancients#19847
Warpten merged 3 commits into
TrinityCore:3.3.5from
Golrag:vmap_sota_los

Conversation

@Golrag

@Golrag Golrag commented Jun 4, 2017

Copy link
Copy Markdown
Contributor

Fixed LoS issues in some places like SotA.
Re extracting VMaps is required.
Thanks @Warpten for the patch.

Changes proposed:

  • Don't dump destructible wmo's
  • Better check to skip no collision triangles

Target branch(es): Both.

  • 3.3.5
  • master

Issues addressed: Closes #15798

Tests performed:

  • Builds
  • Tested in game

…) places)

Re extracting VMaps is required
Thanks @Warpten for the patch
@Golrag Golrag changed the title Core/VMaps: Fix LoS in Strand of the Anctiens Core/VMaps: Fix LoS in Strand of the Ancients Jun 4, 2017

@ariel- ariel- left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codestyle

Comment thread src/tools/vmap4_extractor/wmo.h Outdated
#define WMO_MATERIAL_RENDER 0x10
#define WMO_MATERIAL_COLLIDE_HIT 0x20
#define WMO_MATERIAL_WALL_SURFACE 0x40
#define WMO_MATERIAL_UNK01 0x01

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put these constants inside an enum?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure :)

Comment thread src/tools/vmap4_extractor/wmo.cpp Outdated
bool isDetail = (MOPY[2 * i] & WMO_MATERIAL_DETAIL);
bool isCollision = (MOPY[2 * i] & WMO_MATERIAL_COLLISION);

if (!(isRenderFace || isDetail || isCollision))

@ariel- ariel- Jun 4, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (!isRenderFace && !isDetail && !isCollision)

Comment thread src/tools/vmap4_extractor/wmo.cpp Outdated
!(MOPY[2*i]&(WMO_MATERIAL_HINT|WMO_MATERIAL_COLLIDE_HIT)) )
bool isRenderFace = (MOPY[2 * i] & WMO_MATERIAL_RENDER) && !(MOPY[2 * i] & WMO_MATERIAL_DETAIL);
bool isDetail = (MOPY[2 * i] & WMO_MATERIAL_DETAIL);
bool isCollision = (MOPY[2 * i] & WMO_MATERIAL_COLLISION);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From AppVeyor (VS2015):

src\tools\vmap4_extractor\wmo.cpp(352): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) [src\tools\vmap4_extractor\vmap4extractor.vcxproj]
src\tools\vmap4_extractor\wmo.cpp(353): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) [src\tools\vmap4_extractor\vmap4extractor.vcxproj]

@Warpten Warpten merged commit c357939 into TrinityCore:3.3.5 Jun 5, 2017
@Golrag Golrag deleted the vmap_sota_los branch June 6, 2017 08:08
Aokromes pushed a commit to Aokromes/TrinityCore that referenced this pull request Jun 6, 2017
Core/Collision: Fixed MOPY chunk flags enum.

Also avoid loading destructible WMOs into vmaps.

VMap re-extraction is required.

Closes TrinityCore#15798.
@ghost ghost mentioned this pull request Jun 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants