diff --git a/src/format.h b/src/format.h index e39e762..39ff428 100644 --- a/src/format.h +++ b/src/format.h @@ -526,7 +526,13 @@ namespace TR { } static void fixOpaque(Type type, bool &opaque) { - if (type >= LARA && type <= ENEMY_GIANT_MUTANT && type != ENEMY_MUMMY && type != ENEMY_CENTAUR && type != ENEMY_MUTANT_1 && type != ENEMY_NATLA && type != DOOR_BIG_1 && type != DOOR_BIG_2) + if (type >= LARA && type <= ENEMY_GIANT_MUTANT + && type != ENEMY_REX + && type != ENEMY_RAPTOR + && type != ENEMY_MUTANT_1 + && type != ENEMY_CENTAUR + && type != ENEMY_MUMMY + && type != ENEMY_NATLA) opaque = true; if (type == SWITCH || type == SWITCH_WATER) opaque = true; diff --git a/src/mesh.h b/src/mesh.h index 806350c..2210163 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -356,6 +356,7 @@ struct MeshBuilder { bool opaque = buildMesh(true, mesh, level, indices, vertices, iCount, vCount, vStart, j, 0, 0, 0, 0); if (!opaque) buildMesh(false, mesh, level, indices, vertices, iCount, vCount, vStart, j, 0, 0, 0, 0); + TR::Entity::fixOpaque(model.type, opaque); range.opaque &= opaque; } range.geometry.iCount = iCount - range.geometry.iStart;