Skip to content

Commit 3d4b3fe

Browse files
authored
Merge pull request #303 from chaoticgd/hero_collision_winding
Fix the winding order of hero collision
2 parents 8e03e1d + 1dba234 commit 3d4b3fe

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/engine/collision.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -494,9 +494,9 @@ static CollisionOutput collision_to_scene(const CollisionOctants& octants, const
494494
submesh.material = 256; // hero_group_collision
495495
for (const HeroCollisionTriangle& triangle : group.triangles) {
496496
Face& face = submesh.faces.emplace_back();
497-
face.v0 = triangle.v0;
497+
face.v0 = triangle.v2;
498498
face.v1 = triangle.v1;
499-
face.v2 = triangle.v2;
499+
face.v2 = triangle.v0;
500500

501501
verify(face.v0 < group.vertices.size() && face.v1 < group.vertices.size() && face.v2 < group.vertices.size(),
502502
"Hero collision triangle references out of bounds vertex.");
@@ -660,14 +660,14 @@ static std::vector<HeroCollisionGroup> build_hero_collision_groups(const std::ve
660660
for (const SubMesh& submesh : mesh->submeshes) {
661661
for (const Face& face : submesh.faces) {
662662
HeroCollisionTriangle& triangle = group.triangles.emplace_back();
663-
triangle.v0 = face.v0;
663+
triangle.v0 = face.v2;
664664
triangle.v1 = face.v1;
665-
triangle.v2 = face.v2;
665+
triangle.v2 = face.v0;
666666
if (face.is_quad()) {
667667
HeroCollisionTriangle& triangle = group.triangles.emplace_back();
668-
triangle.v0 = face.v2;
668+
triangle.v0 = face.v0;
669669
triangle.v1 = face.v3;
670-
triangle.v2 = face.v0;
670+
triangle.v2 = face.v2;
671671
}
672672
}
673673
}

0 commit comments

Comments
 (0)