1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-08-22 21:03:19 +02:00

#23 fix sky triangles; #3 fix braid offset

This commit is contained in:
XProger
2017-11-28 10:53:16 +03:00
parent 6c4915c4f3
commit 7567e2f733
2 changed files with 8 additions and 7 deletions

View File

@@ -453,7 +453,7 @@ struct Lara : Character {
} }
if (level->extra.braid > -1) if (level->extra.braid > -1)
braid = new Braid(this, (level->version & (TR::VER_TR2 | TR::VER_TR3)) ? vec3(0.0f, -16.0f, -48.0f) : vec3(-4.0f, 24.0f, -48.0f)); braid = new Braid(this, (level->version & (TR::VER_TR2 | TR::VER_TR3)) ? vec3(-2.0f, -16.0f, -48.0f) : vec3(-4.0f, 24.0f, -48.0f));
#ifdef _DEBUG #ifdef _DEBUG
//reset(14, vec3(40448, 3584, 60928), PI * 0.5f, STAND_ONWATER); // gym (pool) //reset(14, vec3(40448, 3584, 60928), PI * 0.5f, STAND_ONWATER); // gym (pool)
//reset(0, vec3(74858, 3072, 20795), 0); // level 1 (dart) //reset(0, vec3(74858, 3072, 20795), 0); // level 1 (dart)

View File

@@ -359,17 +359,18 @@ struct MeshBuilder {
} }
range.iCount = iCount - range.iStart; range.iCount = iCount - range.iStart;
// remove bottom triangles from skybox
if (range.iCount && model.type == TR::Entity::SKY && ((level.version & TR::VER_TR3)))
range.iCount -= 16 * 3;
} }
//int transp = TR::Entity::fixTransp(model.type); //int transp = TR::Entity::fixTransp(model.type);
if (model.type == TR::Entity::SKY) { if (model.type == TR::Entity::SKY) {
models[i].geometry[0].iCount = iCount - models[i].geometry[0].iStart; ModelRange &m = models[i];
models[i].geometry[1].iCount = 0; m.geometry[0].iCount = iCount - models[i].geometry[0].iStart;
models[i].geometry[2].iCount = 0; m.geometry[1].iCount = 0;
m.geometry[2].iCount = 0;
// remove bottom triangles from skybox
if (m.geometry[0].iCount && ((level.version & TR::VER_TR3)))
m.geometry[0].iCount -= 16 * 3;
} }
} }
ASSERT(vCount - vStartModel <= 0xFFFF); ASSERT(vCount - vStartModel <= 0xFFFF);