From 93bbb30e026c050f33902ab31f3ac066a215138a Mon Sep 17 00:00:00 2001 From: cochrane Date: Fri, 18 Nov 2016 17:29:52 +0100 Subject: [PATCH 1/5] Fix project not compiling on OS X 10.11.6. As the comment says: In Compatibility mode (used by including gl.h instead of gl3.h), OS X only supports OpenGL 2 with some extensions. VAOs, which are an OpenGL 3 feature, are not available under their OpenGL 3 name. Instead they are exposed through an Apple-specific extension that works identically in all respects that matter. With this, it is possible to build and run the program without any trouble. --- src/core.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core.h b/src/core.h index 21c3592..30c7897 100644 --- a/src/core.h +++ b/src/core.h @@ -18,6 +18,14 @@ #include #include #include +/* + * In compatibility mode, Mac OS X only supports OpenGL 2 (no VAO), but it does + * support the Apple-specific VAO extension which is older and in all relevant + * parts 100% compatible. So use those functions instead. + */ +#define glBindVertexArray glBindVertexArrayAPPLE +#define glGenVertexArrays glGenVertexArraysAPPLE +#define glDeleteVertexArrays glDeleteVertexArraysAPPLE #elif __EMSCRIPTEN__ #define MOBILE 1 #include From 36fce871cb086a05b18e8b31123cee87e01c04ef Mon Sep 17 00:00:00 2001 From: XProger Date: Fri, 25 Nov 2016 04:28:41 +0300 Subject: [PATCH 2/5] #13 trap floors & doors; fix debug render --- src/camera.h | 16 ++--- src/character.h | 10 +-- src/controller.h | 55 +++-------------- src/debug.h | 156 ++++++++++++++++++----------------------------- src/enemy.h | 2 +- src/format.h | 81 +++++++++++++++++------- src/game.h | 2 +- src/lara.h | 52 ++++++++++------ src/level.h | 21 +++++-- src/trigger.h | 73 +++++++++++++++++++++- 10 files changed, 261 insertions(+), 207 deletions(-) diff --git a/src/camera.h b/src/camera.h index f8b21ee..ac12b13 100644 --- a/src/camera.h +++ b/src/camera.h @@ -21,7 +21,7 @@ struct Camera : Controller { int actTargetEntity, actCamera; Camera(TR::Level *level, Lara *owner) : Controller(level, owner ? owner->entity : 0), owner(owner), frustum(new Frustum()), timer(0.0f), actTargetEntity(-1), actCamera(-1) { - fov = 80.0f; + fov = 65.0f; znear = 128; zfar = 100.0f * 1024.0f; angleAdv = vec3(0.0f); @@ -130,27 +130,27 @@ struct Camera : Controller { if (actCamera <= -1) { TR::Level::FloorInfo info; - level->getFloorInfo(room, (int)pos.x, (int)pos.z, info); + level->getFloorInfo(room, (int)pos.x, (int)pos.y, (int)pos.z, info); int lastRoom = room; if (info.roomNext != 255) room = info.roomNext; - if (pos.y < info.ceiling) { + if (pos.y < info.roomCeiling) { if (info.roomAbove != 255) room = info.roomAbove; else - if (info.ceiling != 0xffff8100) - pos.y = (float)info.ceiling; + if (info.roomCeiling != 0xffff8100) + pos.y = (float)info.roomCeiling; } - if (pos.y > info.floor) { + if (pos.y > info.roomFloor) { if (info.roomBelow != 255) room = info.roomBelow; else - if (info.floor != 0xffff8100) - pos.y = (float)info.floor; + if (info.roomFloor != 0xffff8100) + pos.y = (float)info.roomFloor; } // play underwater sound when camera goes under water diff --git a/src/character.h b/src/character.h index 819c4e4..aa90279 100644 --- a/src/character.h +++ b/src/character.h @@ -41,19 +41,19 @@ struct Character : Controller { virtual void checkRoom() { TR::Level::FloorInfo info; TR::Entity &e = getEntity(); - level->getFloorInfo(e.room, e.x, e.z, info); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); if (info.roomNext != 0xFF) e.room = info.roomNext; - if (info.roomBelow != 0xFF && e.y > info.floor) - e.room = info.roomBelow; + if (info.roomBelow != 0xFF && e.y > info.roomFloor) + e.room = info.roomBelow; - if (info.roomAbove != 0xFF && e.y <= info.ceiling) { + if (info.roomAbove != 0xFF && e.y <= info.roomCeiling) { if (stand == STAND_UNDERWATER && !level->rooms[info.roomAbove].flags.water) { stand = STAND_ONWATER; velocity.y = 0; - pos.y = float(info.ceiling); + pos.y = float(info.roomCeiling); updateEntity(); } else if (stand != STAND_ONWATER) diff --git a/src/controller.h b/src/controller.h index 1e8a074..b998ed3 100644 --- a/src/controller.h +++ b/src/controller.h @@ -24,13 +24,14 @@ struct Controller { int mCount; struct ActionCommand { + int emitter; TR::Action action; int value; float timer; ActionCommand *next; ActionCommand() {} - ActionCommand(TR::Action action, int value, float timer, ActionCommand *next = NULL) : action(action), value(value), timer(timer), next(next) {} + ActionCommand(int emitter, TR::Action action, int value, float timer, ActionCommand *next = NULL) : emitter(emitter), action(action), value(value), timer(timer), next(next) {} } *actionCommand; Controller(TR::Level *level, int entity) : level(level), entity(entity), animation(level, getModel()), state(animation.state), actionCommand(NULL), mCount(0), meshes(NULL) { @@ -223,10 +224,10 @@ struct Controller { sz = pz / 1024 * 1024 + 512; if (lr != room || lx != sx || lz != sz) { - level->getFloorInfo(room, sx, sz, info); + level->getFloorInfo(room, sx, py, sz, info); if (info.roomNext != 0xFF) { room = info.roomNext; - level->getFloorInfo(room, sx, sz, info); + level->getFloorInfo(room, sx, py, sz, info); } lr = room; lx = sx; @@ -234,9 +235,9 @@ struct Controller { } if (isCamera) { - if (py > info.floor && info.roomBelow != 0xFF) + if (py > info.roomFloor && info.roomBelow != 0xFF) room = info.roomBelow; - else if (py < info.ceiling && info.roomAbove != 0xFF) + else if (py < info.roomCeiling && info.roomAbove != 0xFF) room = info.roomAbove; else if (py > info.floor || py < info.ceiling) { int minX = px / 1024 * 1024; @@ -248,14 +249,14 @@ struct Controller { dir = (pos - from).normal(); } } else { - if (py > info.floor) { + if (py > info.roomFloor) { if (info.roomBelow != 0xFF) room = info.roomBelow; else break; } - if (py < info.ceiling) { + if (py < info.roomCeiling) { if (info.roomAbove != 0xFF) room = info.roomAbove; else @@ -277,45 +278,7 @@ struct Controller { if (rand() % 10 <= 6) return; playSound(TR::SND_BUBBLE, pos, Sound::Flags::PAN); } - /* - void collide() { - TR::Entity &entity = getEntity(); - TR::Level::FloorInfo info; - level->getFloorInfo(entity.room, entity.x, entity.z, info); - - if (info.roomNext != 0xFF) - entity.room = info.roomNext; - - if (entity.y > info.floor) { - if (info.roomBelow == 0xFF) { - if (entity.y > info.floor) { - entity.y = info.floor; - pos.y = entity.y; - velocity.y = 0.0f; - } - } else - entity.room = info.roomBelow; - } - - int height = getHeight(); - if (entity.y - height < info.ceiling) { - if (info.roomAbove == 0xFF) { - pos.y = entity.y = info.ceiling + height; - if (velocity.y < 0.0f) - velocity.y = GRAVITY; - } else { - if (stand == STAND_UNDERWATER && !level->rooms[info.roomAbove].flags.water) { - stand = STAND_ONWATER; - velocity.y = 0; - pos.y = info.ceiling; - } else - if (stand != STAND_ONWATER && entity.y < info.ceiling) - entity.room = info.roomAbove; - } - } - } - */ void activateNext() { // activate next entity (for triggers) if (!actionCommand || !actionCommand->next) { actionCommand = NULL; @@ -480,7 +443,7 @@ struct Controller { if (TR::castShadow(entity.type)) { TR::Level::FloorInfo info; - level->getFloorInfo(entity.room, entity.x, entity.z, info, true); + level->getFloorInfo(entity.room, entity.x, entity.y, entity.z, info); renderShadow(mesh, vec3(float(entity.x), info.floor - 16.0f, float(entity.z)), box.center(), box.size() * 0.8f, angle.y); } } diff --git a/src/debug.h b/src/debug.h index 3ebb393..e366d25 100644 --- a/src/debug.h +++ b/src/debug.h @@ -184,85 +184,72 @@ namespace Debug { namespace Level { - void debugFloor(const TR::Level &level, int roomIndex, int x, int z) { + void debugFloor(const TR::Level &level, int roomIndex, int x, int y, int z) { TR::Level::FloorInfo info; - level.getFloorInfo(roomIndex, x, z, info); + level.getFloorInfo(roomIndex, x, y, z, info); - vec3 f = vec3(x, info.floor, z); - vec3 c = vec3(x, info.ceiling, z); - vec3 vf[4] = { f, f + vec3(1024, 0, 0), f + vec3(1024, 0, 1024), f + vec3(0, 0, 1024) }; - vec3 vc[4] = { c, c + vec3(1024, 0, 0), c + vec3(1024, 0, 1024), c + vec3(0, 0, 1024) }; + vec3 rf[4], rc[4], f[4], c[4]; - - int sx = 256 * info.slantX; - int sz = 256 * info.slantZ; + int offsets[4][2] = { { 1, 1 }, { 1023, 1 }, { 1023, 1023 }, { 1, 1023 } }; - if (sx > 0) { - vf[0].y += sx; - vf[3].y += sx; - } else { - vf[1].y -= sx; - vf[2].y -= sx; + for (int i = 0; i < 4; i++) { + level.getFloorInfo(roomIndex, x + offsets[i][0], y, z + offsets[i][1], info); + rf[i] = vec3( x + offsets[i][0], info.roomFloor - 4, z + offsets[i][1] ); + rc[i] = vec3( x + offsets[i][0], info.roomCeiling + 4, z + offsets[i][1] ); + f[i] = vec3( x + offsets[i][0], info.floor - 4, z + offsets[i][1] ); + c[i] = vec3( x + offsets[i][0], info.ceiling + 4, z + offsets[i][1] ); + if (info.roomBelow == 0xFF) rf[i].y = f[i].y; + if (info.roomAbove == 0xFF) rc[i].y = c[i].y; } - if (sz > 0) { - vf[0].y += sz; - vf[1].y += sz; - } else { - vf[3].y -= sz; - vf[2].y -= sz; - } - /* - } else { // ceiling - if (sx < 0) { - p[0].y += sx; - p[3].y += sx; - } else { - p[1].y -= sx; - p[2].y -= sx; - } - - if (sz > 0) { - p[0].y -= sz; - p[1].y -= sz; - } else { - p[3].y += sz; - p[2].y += sz; - } - } - */ - - glBegin(GL_LINE_STRIP); - for (int i = 0; i < 5; i++) - glVertex3fv((GLfloat*)&vf[i % 4]); - glEnd(); - - glColor3f(1, 0, 0); - glBegin(GL_LINE_STRIP); - for (int i = 0; i < 5; i++) - glVertex3fv((GLfloat*)&vc[i % 4]); - glEnd(); - if (info.roomNext != 0xFF) { - glColor4f(0.0f, 0.0f, 1.0f, 0.5f); + glColor4f(0.0f, 0.0f, 1.0f, 0.1f); glBegin(GL_QUADS); - for (int i = 3; i >= 0; i--) - glVertex3fv((GLfloat*)&vf[i]); + glVertex3fv((GLfloat*)&f[3]); + glVertex3fv((GLfloat*)&f[2]); + glVertex3fv((GLfloat*)&f[1]); + glVertex3fv((GLfloat*)&f[0]); + glEnd(); + } else { + + glColor4f(0.0f, 1.0f, 0.0f, 0.1f); + glBegin(GL_QUADS); + glVertex3fv((GLfloat*)&f[3]); + glVertex3fv((GLfloat*)&f[2]); + glVertex3fv((GLfloat*)&f[1]); + glVertex3fv((GLfloat*)&f[0]); + glEnd(); + + if (info.trigCmdCount > 0) + glColor4f(1.0f, 1.0f, 1.0f, 0.5f); + else + glColor4f(0.0f, 1.0f, 0.0f, 0.25f); + glBegin(GL_LINE_STRIP); + for (int i = 0; i < 5; i++) + glVertex3fv((GLfloat*)&rf[i % 4]); glEnd(); } + + glColor4f(1.0f, 0.0f, 0.0f, 0.1f); + glBegin(GL_QUADS); + glVertex3fv((GLfloat*)&c[0]); + glVertex3fv((GLfloat*)&c[1]); + glVertex3fv((GLfloat*)&c[2]); + glVertex3fv((GLfloat*)&c[3]); + glEnd(); - if (info.roomAbove != 0xFF) { - glColor4f(1.0f, 0.0f, 0.0f, 1.0f); - glBegin(GL_QUADS); - for (int i = 3; i >= 0; i--) { - vec3 v = vf[i]; - v.y -= 32.0f; - glVertex3fv((GLfloat*)&v); - } - glEnd(); - } + if (info.trigCmdCount > 0) + glColor4f(1.0f, 1.0f, 1.0f, 0.5f); + else + glColor4f(1.0f, 0.0f, 0.0f, 0.25f); + glBegin(GL_LINE_STRIP); + for (int i = 0; i < 5; i++) + glVertex3fv((GLfloat*)&rc[i % 4]); + glEnd(); + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + /* if (boxIndex == 0xFFFF) { glBegin(GL_LINES); @@ -292,37 +279,14 @@ namespace Debug { } while (!(o++)->end); } - void debugSectors(const TR::Level &level, const vec3 &pos, int roomIndex) { + void sectors(const TR::Level &level, int roomIndex, int y) { TR::Room &room = level.rooms[roomIndex]; - vec3 p = (pos - vec3(room.info.x, 0, room.info.z)) * vec3(1.0f / 1024.0f, 1, 1.0f / 1024.0f); - - glDisable(GL_DEPTH_TEST); + // glDisable(GL_DEPTH_TEST); for (int z = 0; z < room.zSectors; z++) - for (int x = 0; x < room.xSectors; x++) { - TR::Room::Sector &s = room.sectors[x * room.zSectors + z]; - float floor = s.floor * 256; - /* - if (s.boxIndex < 0xFFFF) { - auto &b = level.boxes[s.boxIndex]; - // floor = b.floor; - } - */ - vec3 f(x * 1024 + room.info.x, floor - 1, z * 1024 + room.info.z); - vec3 c(x * 1024 + room.info.x, s.ceiling * 256 + 1, z * 1024 + room.info.z); - - bool current = (int)p.x == x && (int)p.z == z; - debugFloor(level, roomIndex, room.info.x + x * 1024, room.info.z + z * 1024); - /* - if (current && s.boxIndex != 0xFFFF && level.boxes[s.boxIndex].overlap != 0xFFFF) { - glColor4f(0.0f, 1.0f, 0.0f, 0.25f); - debugBox(level.boxes[s.boxIndex]); - glColor4f(1.0f, 1.0f, 0.0f, 0.25f); - debugOverlaps(level, s.boxIndex); - } - */ - } - glEnable(GL_DEPTH_TEST); + for (int x = 0; x < room.xSectors; x++) + debugFloor(level, roomIndex, room.info.x + x * 1024, y, room.info.z + z * 1024); + // glEnable(GL_DEPTH_TEST); } void rooms(const TR::Level &level, const vec3 &pos, int roomIndex) { @@ -334,7 +298,7 @@ namespace Debug { if (i == roomIndex) { //if (lara->insideRoom(Core::viewPos, i)) { - debugSectors(level, pos, i); + // sectors(level, i); glColor3f(0, 1, 0); } else glColor3f(1, 1, 1); @@ -526,7 +490,7 @@ namespace Debug { Debug::Draw::text(vec2(16, 48), vec4(1.0f), buf); TR::Level::FloorInfo info; - level.getFloorInfo(entity.room, entity.x, entity.z, info); + level.getFloorInfo(entity.room, entity.x, entity.y, entity.z, info); sprintf(buf, "floor = %d, roomBelow = %d, roomAbove = %d, height = %d", info.floorIndex, info.roomBelow, info.roomAbove, info.floor - info.ceiling); Debug::Draw::text(vec2(16, 64), vec4(1.0f), buf); } diff --git a/src/enemy.h b/src/enemy.h index f5d0a5c..158e473 100644 --- a/src/enemy.h +++ b/src/enemy.h @@ -32,7 +32,7 @@ struct Enemy : Character { vec3 p = pos; pos += velocity * Core::deltaTime * 30.0f; TR::Level::FloorInfo info; - level->getFloorInfo(getRoomIndex(), (int)pos.x, (int)pos.z, info, true); + level->getFloorInfo(getRoomIndex(), (int)pos.x, (int)pos.y, (int)pos.z, info); if (pos.y - info.floor > 1024) { pos = p; return; diff --git a/src/format.h b/src/format.h index 7b26a53..8f769ba 100644 --- a/src/format.h +++ b/src/format.h @@ -420,7 +420,7 @@ namespace TR { angle rotation; int16 intensity; union { - struct { uint16 unused:7, clear:1, invisible:1, active:5, unused2:1, rendered:1; }; + struct { uint16 unused:7, clear:1, invisible:1, active:5, collision:1, rendered:1; }; uint16 value; } flags; // not exists in file @@ -736,9 +736,10 @@ namespace TR { }; struct FloorInfo { + int roomFloor, roomCeiling; + int roomNext, roomBelow, roomAbove; int floor, ceiling; int slantX, slantZ; - int roomNext, roomBelow, roomAbove; int floorIndex; int kill; int trigCmdCount; @@ -1013,15 +1014,17 @@ namespace TR { return room.sectors[sx * room.zSectors + sz]; } - void getFloorInfo(int roomIndex, int x, int z, FloorInfo &info, bool actual = false, int prevRoom = 0xFF) const { + void getFloorInfo(int roomIndex, int x, int y, int z, FloorInfo &info) const { int dx, dz; Room::Sector &s = getSector(roomIndex, x, z, dx, dz); - info.floor = 256 * (int)s.floor; - info.ceiling = 256 * (int)s.ceiling; + info.roomFloor = 256 * s.floor; + info.roomCeiling = 256 * s.ceiling; + info.floor = info.roomFloor; + info.ceiling = info.roomCeiling; info.slantX = 0; info.slantZ = 0; - info.roomNext = 255; + info.roomNext = 0xFF; info.roomBelow = s.roomBelow; info.roomAbove = s.roomAbove; info.floorIndex = s.floorIndex; @@ -1029,23 +1032,60 @@ namespace TR { info.trigger = Trigger::ACTIVATE; info.trigCmdCount = 0; - if (actual) { - if (info.roomBelow != 0xFF && info.roomBelow != prevRoom) { - FloorInfo tmp; - getFloorInfo(info.roomBelow, x, z, tmp, true, roomIndex); - info.floor = tmp.floor; - } + Room::Sector *sBelow = &s; + while (sBelow->roomBelow != 0xFF) sBelow = &getSector(sBelow->roomBelow, x, z, dx, dz); + info.floor = 256 * sBelow->floor; + parseFloorData(info, sBelow->floorIndex, dx, dz); - if (info.roomAbove != 0xFF && info.roomAbove != prevRoom) { - FloorInfo tmp; - getFloorInfo(info.roomAbove, x, z, tmp, true, roomIndex); - info.ceiling = tmp.ceiling; + if (info.roomNext == 0xFF) { + Room::Sector *sAbove = &s; + while (sAbove->roomAbove != 0xFF) sAbove = &getSector(sAbove->roomAbove, x, z, dx, dz); + if (sAbove != sBelow) { + info.ceiling = 256 * sAbove->ceiling; + parseFloorData(info, sAbove->floorIndex, dx, dz); } + } else { + int tmp = info.roomNext; + getFloorInfo(tmp, x, y, z, info); + info.roomNext = tmp; } - if (!s.floorIndex) return; + // entities collide + if (info.trigCmdCount) { + int sx = x / 1024; + int sz = z / 1024; - FloorData *fd = &floors[s.floorIndex]; + for (int i = 0; i < info.trigCmdCount; i++) { + FloorData::TriggerCommand cmd = info.trigCmd[i]; + if (cmd.action != Action::ACTIVATE) continue; + + Entity &e = entities[cmd.args]; + if (!e.flags.collision) continue; + + if (sx != e.x / 1024 || sz != e.z / 1024) continue; + + switch (e.type) { + case Entity::DOOR_FLOOR_1 : + case Entity::DOOR_FLOOR_2 : + case Entity::TRAP_FLOOR : { + int ey = e.y - (e.type == Entity::TRAP_FLOOR ? 512 : 0); + if (ey >= y - 128 && ey < info.floor) + info.floor = ey; + if (ey < y - 128 && ey > info.ceiling) + info.ceiling = ey + (e.type == Entity::TRAP_FLOOR ? 256 : 0); + break; + } + + default : ; + } + } + } + } + + void parseFloorData(FloorInfo &info, int floorIndex, int dx, int dz) const { + if (!floorIndex) return; + + FloorData *fd = &floors[floorIndex]; FloorData::Command cmd; do { @@ -1083,7 +1123,7 @@ namespace TR { ASSERT(info.trigCmdCount < MAX_TRIGGER_COMMANDS); trigCmd = (*fd++).triggerCmd; // trigger action info.trigCmd[info.trigCmdCount++] = trigCmd; - } while (!trigCmd.end); + } while (!trigCmd.end); break; } @@ -1096,10 +1136,9 @@ namespace TR { } while (!cmd.end); - if (actual && info.roomNext != 0xFF) - getFloorInfo(info.roomNext, x, z, info, actual, prevRoom); } + }; // struct Level bool castShadow(Entity::Type type) { diff --git a/src/game.h b/src/game.h index 09ea3f6..76d8449 100644 --- a/src/game.h +++ b/src/game.h @@ -14,7 +14,7 @@ namespace Game { Core::init(); level = new Level("LEVEL2_DEMO.PHD", true, false); //level = new Level("GYM.PHD", false, true); - //level = new Level("LEVEL4.PHD", false, false); + //level = new Level("LEVEL8A.PHD", false, false); #ifndef __EMSCRIPTEN__ //Sound::play(Sound::openWAD("05_Lara's_Themes.wav"), 1, 1, 0); diff --git a/src/lara.h b/src/lara.h index 0f65402..59f248b 100644 --- a/src/lara.h +++ b/src/lara.h @@ -195,6 +195,7 @@ struct Lara : Character { int lastPickUp; Lara(TR::Level *level, int entity, bool home) : Character(level, entity, 1000), home(home), wpnCurrent(Weapon::EMPTY), wpnNext(Weapon::EMPTY), chestOffset(pos) { + animation.setAnim(ANIM_STAND); getEntity().flags.active = 1; initMeshOverrides(); for (int i = 0; i < 2; i++) { @@ -218,12 +219,12 @@ struct Lara : Character { pos = vec3(43182, 2473, 51556); angle = vec3(0.0f, PI * 0.5f, 0.0f); getEntity().room = 12; - */ + // level 2 (pool) pos = vec3(70067, -256, 29104); angle = vec3(0.0f, -0.68f, 0.0f); getEntity().room = 15; - /* + // level 2 (blade) pos = vec3(27221, -1024, 29205); angle = vec3(0.0f, PI * 0.5f, 0.0f); @@ -258,16 +259,27 @@ struct Lara : Character { pos = vec3(70082, -512, 26935); angle = vec3(0.0f, PI * 0.5f, 0.0f); getEntity().room = 15; - + + // level 2 (trap floor) + pos = vec3(31390, -2048, 33472); + angle = vec3(0.0f, 0.0f, 0.0f); + getEntity().room = 63; + + // level 2 (trap door) + pos = vec3(21987, -1024, 29144); + angle = vec3(0.0f, PI * 3.0f * 0.5f, 0.0f); + getEntity().room = 61; + // level 3a pos = vec3(41015, 3584, 34494); angle = vec3(0.0f, -PI, 0.0f); getEntity().room = 51; - + // level 1 pos = vec3(20215, 6656, 52942); angle = vec3(0.0f, PI, 0.0f); getEntity().room = 14; + */ updateEntity(); #endif @@ -838,8 +850,8 @@ struct Lara : Character { vec3 dst = pos + getDir() * 32.0f; TR::Level::FloorInfo infoCur, infoDst; - level->getFloorInfo(getEntity().room, (int)pos.x, (int)pos.z, infoCur), - level->getFloorInfo(infoCur.roomAbove, (int)dst.x, (int)dst.z, infoDst); + level->getFloorInfo(getEntity().room, (int)pos.x, (int)pos.y, (int)pos.z, infoCur), + level->getFloorInfo(infoCur.roomAbove, (int)dst.x, (int)dst.y, (int)dst.z, infoDst); int h = int(pos.y - infoDst.floor); @@ -907,7 +919,7 @@ struct Lara : Character { TR::Entity &e = getEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(e.room, e.x, e.z, info); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); if (!info.trigCmdCount) return; // has no trigger bool isActive = level->entities[info.trigCmd[0].args].flags.active != 0; @@ -976,10 +988,10 @@ struct Lara : Character { TR::FloorData::TriggerCommand &cmd = info.trigCmd[i]; switch (cmd.action) { case TR::Action::CAMERA_SWITCH : - *actionItem = ActionCommand(cmd.action, cmd.args, (float)info.trigCmd[++i].delay); // camera switch uses next command for delay timer + *actionItem = ActionCommand(entity, cmd.action, cmd.args, (float)info.trigCmd[++i].delay); // camera switch uses next command for delay timer break; default : - *actionItem = ActionCommand(cmd.action, cmd.args, info.trigInfo.timer); + *actionItem = ActionCommand(entity, cmd.action, cmd.args, info.trigInfo.timer); } actionItem->next = (i < info.trigCmdCount - 1) ? actionItem + 1 : NULL; @@ -1027,7 +1039,7 @@ struct Lara : Character { TR::Entity &e = getEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(e.room, e.x, e.z, info, true); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); if (stand == STAND_SLIDE || (stand == STAND_AIR && velocity.y > 0) || stand == STAND_GROUND) { if (e.y + 8 >= info.floor && (abs(info.slantX) > 2 || abs(info.slantZ) > 2)) { @@ -1077,12 +1089,12 @@ struct Lara : Character { TR::Level::FloorInfo info; info.roomAbove = getRoomIndex(); - level->getFloorInfo(info.roomAbove, (int)pos.x, (int)pos.z, info); + level->getFloorInfo(info.roomAbove, (int)pos.x, (int)pos.y, (int)pos.z, info); if (info.roomAbove == 0xFF) info.roomAbove = getRoomIndex(); do { - level->getFloorInfo(info.roomAbove, (int)p.x, (int)p.z, info, true); + level->getFloorInfo(info.roomAbove, (int)p.x, (int)p.y, (int)p.z, info); } while (info.ceiling > p.y - LARA_HANG_OFFSET && info.roomAbove != 0xFF); if (abs(int(info.floor - (p.y - LARA_HANG_OFFSET))) < 16) { @@ -1145,7 +1157,7 @@ struct Lara : Character { if ((input & (FORTH | ACTION)) == (FORTH | ACTION) && (animation.index == ANIM_STAND || animation.index == ANIM_STAND_NORMAL) && emptyHands()) { // TODO: get rid of animation.index vec3 p = pos + getDir() * 64.0f; TR::Level::FloorInfo info; - level->getFloorInfo(getRoomIndex(), (int)p.x, (int)p.z, info, true); + level->getFloorInfo(getRoomIndex(), (int)p.x, (int)p.y, (int)p.z, info); int h = (int)pos.y - info.floor; int aIndex = animation.index; @@ -1233,7 +1245,7 @@ struct Lara : Character { if (state != STATE_SLIDE && state != STATE_SLIDE_BACK) { TR::Level::FloorInfo info; - level->getFloorInfo(e.room, e.x, e.z, info); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); int sx = abs(info.slantX), sz = abs(info.slantZ); // get direction @@ -1269,7 +1281,7 @@ struct Lara : Character { // possibility check TR::Level::FloorInfo info; vec3 p = pos + getDir() * 128.0f; - level->getFloorInfo(getRoomIndex(), (int)p.x, (int)p.z, info, true); + level->getFloorInfo(getRoomIndex(), (int)p.x, (int)p.y, (int)p.z, info); if (info.floor - info.ceiling >= 768) return (input & WALK) ? STATE_HANDSTAND : STATE_HANG_UP; } @@ -1464,11 +1476,11 @@ struct Lara : Character { TR::Level::FloorInfo info; if (stand == STAND_HANG) { vec3 p = pos + getDir() * 128.0f; - level->getFloorInfo(e.room, (int)p.x, (int)p.z, info); + level->getFloorInfo(e.room, (int)p.x, (int)p.y, (int)p.z, info); if (info.roomAbove != 0xFF && info.floor >= e.y - LARA_HANG_OFFSET) - level->getFloorInfo(info.roomAbove, (int)p.x, (int)p.z, info); + level->getFloorInfo(info.roomAbove, (int)p.x, (int)p.y, (int)p.z, info); } else - level->getFloorInfo(e.room, e.x, e.z, info); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); vec3 v(sinf(angleExt), 0.0f, cosf(angleExt)); velocity = info.getSlant(v) * speed; @@ -1509,7 +1521,7 @@ struct Lara : Character { TR::Entity &e = getEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(e.room, (int)pos.x, (int)pos.z, info, true); + level->getFloorInfo(e.room, (int)pos.x, (int)pos.y, (int)pos.z, info); // get frame to get height TR::Animation *anim = animation; @@ -1583,7 +1595,7 @@ struct Lara : Character { canPassGap = f >= 220.0f; // check dist to floor if (canPassGap) { // check end of hang layer vec3 d = pos + getDir() * 128.0f; - level->getFloorInfo(info.roomAbove != 0xFF ? info.roomAbove : getRoomIndex(), (int)d.x, (int)d.z, info, true); + level->getFloorInfo(info.roomAbove != 0xFF ? info.roomAbove : getRoomIndex(), (int)d.x, (int)d.y, (int)d.z, info); canPassGap = fabsf((pos.y - LARA_HANG_OFFSET) - info.floor) < 64.0f; } break; diff --git a/src/level.h b/src/level.h index a813abf..b65eb4b 100644 --- a/src/level.h +++ b/src/level.h @@ -83,9 +83,15 @@ struct Level { case TR::Entity::DOOR_6 : case TR::Entity::DOOR_BIG_1 : case TR::Entity::DOOR_BIG_2 : + entity.controller = new Door(&level, i); + break; case TR::Entity::DOOR_FLOOR_1 : case TR::Entity::DOOR_FLOOR_2 : + entity.controller = new DoorFloor(&level, i); + break; case TR::Entity::TRAP_FLOOR : + entity.controller = new TrapFloor(&level, i); + break; case TR::Entity::TRAP_BLADE : case TR::Entity::TRAP_SPIKES : entity.controller = new Trigger(&level, i, true); @@ -238,6 +244,8 @@ struct Level { Shader *sh = setRoomShader(room, 1.0f); + Core::lightColor[0] = vec4(0, 0, 0, 1); + sh->bind(); sh->setParam(uColor, Core::color); sh->setParam(uLightColor, Core::lightColor[0], MAX_LIGHTS); @@ -264,12 +272,11 @@ struct Level { rMesh.flags.rendered = true; // set light parameters - getLight(offset, roomIndex); + //getLight(offset, roomIndex); if (rMesh.intensity >= 0) { - Core::ambient = vec3(intensity(rMesh.intensity) / 255.0f); - Core::ambient = vec3(0.0); - sh->setParam(uAmbient, Core::ambient); + // Core::ambient = vec3(intensity(rMesh.intensity) / 255.0f); + sh->setParam(uAmbient, vec3(0.0f));//Core::ambient); } // render static mesh @@ -378,6 +385,7 @@ struct Level { } void renderEntity(const TR::Entity &entity) { + // if (entity.room != lara->getRoomIndex()) return; if (entity.type == TR::Entity::NONE) return; ASSERT(entity.controller); @@ -483,10 +491,11 @@ struct Level { Debug::begin(); // Debug::Level::rooms(level, lara->pos, lara->getEntity().room); // Debug::Level::lights(level); + Debug::Level::sectors(level, lara->getRoomIndex(), (int)lara->pos.y); // Debug::Level::portals(level); // Debug::Level::meshes(level); - // Debug::Level::entities(level); - Debug::Level::info(level, lara->getEntity(), lara->animation); + Debug::Level::entities(level); + // Debug::Level::info(level, lara->getEntity(), lara->animation); Debug::end(); #endif } diff --git a/src/trigger.h b/src/trigger.h index 3a59de8..71ffb42 100644 --- a/src/trigger.h +++ b/src/trigger.h @@ -12,6 +12,7 @@ struct Trigger : Controller { Trigger(TR::Level *level, int entity, bool immediate) : Controller(level, entity), immediate(immediate), timer(0.0f) { baseState = state; + getEntity().flags.collision = false; } bool inState() { @@ -73,7 +74,7 @@ struct Dart : Controller { pos = pos + velocity * (Core::deltaTime * 30.0f); updateEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(getRoomIndex(), (int)pos.x, (int)pos.z, info); + level->getFloorInfo(getRoomIndex(), (int)pos.x, (int)pos.y, (int)pos.z, info); if (pos.y > info.floor || pos.y < info.ceiling || !insideRoom(pos, getRoomIndex())) { if (!inWall) { TR::Entity &e = getEntity(); @@ -144,7 +145,7 @@ struct Block : Controller { void updateFloor(bool rise) { TR::Entity &e = getEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(e.room, e.x, e.z, info); + level->getFloorInfo(e.room, e.x, e.y, e.z, info); if (info.roomNext != 0xFF) e.room = info.roomNext; int dx, dz; @@ -157,7 +158,7 @@ struct Block : Controller { vec3 dir = getDir() * (push ? 1024.0f : -2048.0f); TR::Entity &e = getEntity(); TR::Level::FloorInfo info; - level->getFloorInfo(e.room, e.x + (int)dir.x, e.z + (int)dir.z, info, true); + level->getFloorInfo(e.room, e.x + (int)dir.x, e.y, e.z + (int)dir.z, info); if ((info.slantX | info.slantZ) || info.floor != e.y) return false; if (!animation.setState(push ? STATE_PUSH : STATE_PULL)) @@ -176,4 +177,70 @@ struct Block : Controller { } }; + +struct Door : Trigger { + + Door(TR::Level *level, int entity) : Trigger(level, entity, true) {} +}; + +struct DoorFloor : Trigger { + + DoorFloor(TR::Level *level, int entity) : Trigger(level, entity, true) { + getEntity().flags.collision = true; + } + + virtual bool activate(ActionCommand *cmd) { + bool res = Trigger::activate(cmd); + getEntity().flags.collision = !getEntity().flags.active; + return res; + } + +}; + + +struct TrapFloor : Trigger { + + enum { + STATE_STATIC, + STATE_SHAKE, + STATE_FALL, + STATE_DOWN, + }; + float velocity; + + TrapFloor(TR::Level *level, int entity) : Trigger(level, entity, true), velocity(0) { + TR::Entity &e = getEntity(); + e.flags.collision = true; + } + + virtual bool activate(ActionCommand *cmd) { + TR::Entity &e = level->entities[cmd->emitter]; + if (e.type != TR::Entity::LARA) return true; + int ey = (int)pos.y - 512; // real floor object position + return (abs(e.y - ey) <= 8) ? Trigger::activate(cmd) : true; + } + + virtual void update() { + Trigger::update(); + if (state == STATE_FALL) { + TR::Entity &e = getEntity(); + e.flags.collision = false; + velocity += GRAVITY * 30 * Core::deltaTime; + pos.y += velocity * Core::deltaTime; + + TR::Level::FloorInfo info; + level->getFloorInfo(e.room, e.x, (int)pos.y, e.z, info); + + if (pos.y > info.roomFloor && info.roomBelow != 0xFF) + e.room = info.roomBelow; + + if (pos.y > info.floor) { + pos.y = info.floor; + animation.setState(STATE_DOWN); + } + updateEntity(); + } + } +}; + #endif \ No newline at end of file From ba5ffaf9777039d62d657fa0a5fcafb9b808f527 Mon Sep 17 00:00:00 2001 From: XProger Date: Sat, 26 Nov 2016 01:39:40 +0300 Subject: [PATCH 3/5] closed #13 add doors implementation & puzzle hole mesh swap; #9 loop ambient sound; --- bin/OpenLara.exe | Bin 112640 -> 116736 bytes src/camera.h | 4 ++- src/controller.h | 4 ++- src/format.h | 14 ++++++++-- src/lara.h | 65 ++++++++++++++++++++++++++++++++++------------- src/level.h | 4 +-- src/sound.h | 15 +++++++---- src/trigger.h | 43 ++++++++++++++++++++++++++++--- 8 files changed, 118 insertions(+), 31 deletions(-) diff --git a/bin/OpenLara.exe b/bin/OpenLara.exe index 3d0e86e58169b64c9bdccad43488b5c825fb0814..a6d13b81d0f9b44b14a730a545843d980d2904a6 100644 GIT binary patch delta 46470 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 LJHlVn&TIb%K0Efs delta 42264 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 DuC}Fs diff --git a/src/camera.h b/src/camera.h index ac12b13..a62663f 100644 --- a/src/camera.h +++ b/src/camera.h @@ -57,8 +57,10 @@ struct Camera : Controller { virtual void update() { int lookAt = -1; - if (owner->target > -1) lookAt = owner->target; if (actTargetEntity > -1) lookAt = actTargetEntity; + if (owner->target > -1) lookAt = owner->target; + + owner->viewTarget = lookAt; if (timer > 0.0f) { timer -= Core::deltaTime; diff --git a/src/controller.h b/src/controller.h index b998ed3..2dc7e0e 100644 --- a/src/controller.h +++ b/src/controller.h @@ -52,7 +52,9 @@ struct Controller { meshes[i] = model->mStart + i; } - void meshSwap(TR::Model *model, int mask) { + void meshSwap(TR::Model *model, int mask = 0xFFFFFFFF) { + if (!meshes) initMeshOverrides(); + for (int i = 0; i < model->mCount; i++) { int index = model->mStart + i; if (((1 << i) & mask) && level->meshOffsets[index]) diff --git a/src/format.h b/src/format.h index 8f769ba..8f79e81 100644 --- a/src/format.h +++ b/src/format.h @@ -9,6 +9,10 @@ namespace TR { + enum { + FLOOR_BLOCK = -127, + }; + enum { ANIM_CMD_NONE , ANIM_CMD_OFFSET , @@ -387,6 +391,7 @@ namespace TR { PUZZLE_4 = 113, // sprite HOLE_PUZZLE = 118, + HOLE_PUZZLE_SET = 122, PICKUP = 126, // sprite @@ -766,6 +771,7 @@ namespace TR { struct { Model *muzzleFlash; + Model *puzzleSet; } extra; Level(const char *name, bool demo) { @@ -899,7 +905,8 @@ namespace TR { memset(&extra, 0, sizeof(extra)); for (int i = 0; i < modelsCount; i++) switch (models[i].type) { - case Entity::MUZZLE_FLASH : extra.muzzleFlash = &models[i]; break; + case Entity::MUZZLE_FLASH : extra.muzzleFlash = &models[i]; break; + case Entity::HOLE_PUZZLE_SET : extra.puzzleSet = &models[i]; break; default : ; } } @@ -1032,6 +1039,9 @@ namespace TR { info.trigger = Trigger::ACTIVATE; info.trigCmdCount = 0; + if (s.floor == -127) + return; + Room::Sector *sBelow = &s; while (sBelow->roomBelow != 0xFF) sBelow = &getSector(sBelow->roomBelow, x, z, dx, dz); info.floor = 256 * sBelow->floor; @@ -1072,7 +1082,7 @@ namespace TR { if (ey >= y - 128 && ey < info.floor) info.floor = ey; if (ey < y - 128 && ey > info.ceiling) - info.ceiling = ey + (e.type == Entity::TRAP_FLOOR ? 256 : 0); + info.ceiling = ey + (e.type == Entity::TRAP_FLOOR ? 0 : 256); break; } diff --git a/src/lara.h b/src/lara.h index 59f248b..f3468eb 100644 --- a/src/lara.h +++ b/src/lara.h @@ -24,6 +24,7 @@ #define PICKUP_FRAME_GROUND 40 #define PICKUP_FRAME_UNDERWATER 16 +#define PUZZLE_FRAME 80 #define MAX_TRIGGER_ACTIONS 64 @@ -193,8 +194,9 @@ struct Lara : Character { Inventory inventory; int lastPickUp; + int viewTarget; - Lara(TR::Level *level, int entity, bool home) : Character(level, entity, 1000), home(home), wpnCurrent(Weapon::EMPTY), wpnNext(Weapon::EMPTY), chestOffset(pos) { + Lara(TR::Level *level, int entity, bool home) : Character(level, entity, 1000), home(home), wpnCurrent(Weapon::EMPTY), wpnNext(Weapon::EMPTY), chestOffset(pos), viewTarget(-1) { animation.setAnim(ANIM_STAND); getEntity().flags.active = 1; initMeshOverrides(); @@ -264,12 +266,12 @@ struct Lara : Character { pos = vec3(31390, -2048, 33472); angle = vec3(0.0f, 0.0f, 0.0f); getEntity().room = 63; - + */ // level 2 (trap door) pos = vec3(21987, -1024, 29144); angle = vec3(0.0f, PI * 3.0f * 0.5f, 0.0f); getEntity().room = 61; - + /* // level 3a pos = vec3(41015, 3584, 34494); angle = vec3(0.0f, -PI, 0.0f); @@ -376,6 +378,15 @@ struct Lara : Character { return wpnCurrent == Weapon::EMPTY || arms[0].anim == Weapon::Anim::NONE; } + bool canLookAt() { + return (stand == STAND_GROUND || stand == STAND_SLIDE) + && state != STATE_REACH + && state != STATE_PUSH_BLOCK + && state != STATE_PULL_BLOCK + && state != STATE_PUSH_PULL_READY + && state != STATE_PICK_UP; + } + bool canDrawWeapon() { return wpnCurrent != Weapon::EMPTY && emptyHands() @@ -713,7 +724,8 @@ struct Lara : Character { } else animation.overrideMask &= ~(BODY_ARM_R | BODY_ARM_L); - lookAt(target); + + lookAt(viewTarget); if (wpnCurrent == Weapon::SHOTGUN) aimShotgun(); @@ -725,15 +737,16 @@ struct Lara : Character { float speed = 8.0f * Core::deltaTime; quat rot; + bool can = canLookAt(); // chest - if ((stand == STAND_GROUND || stand == STAND_SLIDE) && aim(target, 7, vec4(-PI * 0.4f, PI * 0.4f, -PI * 0.9f, PI * 0.9f), rot)) + if (can && aim(target, 7, vec4(-PI * 0.4f, PI * 0.4f, -PI * 0.9f, PI * 0.9f), rot)) rotChest = rotChest.slerp(quat(0, 0, 0, 1).slerp(rot, 0.5f), speed); else rotChest = rotChest.slerp(quat(0, 0, 0, 1), speed); animation.overrides[7] = rotChest * animation.overrides[7]; // head - if (aim(target, 14, vec4(-PI * 0.25f, PI * 0.25f, -PI * 0.5f, PI * 0.5f), rot)) + if (can && aim(target, 14, vec4(-PI * 0.25f, PI * 0.25f, -PI * 0.5f, PI * 0.5f), rot)) rotHead = rotHead.slerp(rot, speed); else rotHead = rotHead.slerp(quat(0, 0, 0, 1), speed); @@ -941,15 +954,21 @@ struct Lara : Character { return; break; case TR::Level::Trigger::KEY : - actionState = STATE_USE_KEY; + if (level->entities[info.trigCmd[0].args].flags.active) + return; + actionState = level->entities[info.trigCmd[0].args].type == TR::Entity::HOLE_KEY ? STATE_USE_KEY : STATE_USE_PUZZLE; if (isActive || !isPressed(ACTION) || state == actionState || !emptyHands()) // TODO: STATE_USE_PUZZLE return; if (!checkAngle(level->entities[info.trigCmd[0].args].rotation)) return; - if (animation.canSetState(actionState) && !useItem(TR::Entity::NONE, level->entities[info.trigCmd[0].args].type)) { - playSound(TR::SND_NO, pos, Sound::PAN); + if (animation.canSetState(actionState)) { + if (false) { //!useItem(TR::Entity::NONE, level->entities[info.trigCmd[0].args].type)) { + playSound(TR::SND_NO, pos, Sound::PAN); + return; + } + } else return; - } + lastPickUp = info.trigCmd[0].args; // TODO: it's not pickup, it's key/puzzle hole break; case TR::Level::Trigger::PICKUP : if (!isActive) // check if item is not picked up @@ -964,6 +983,9 @@ struct Lara : Character { if (!animation.setState(actionState)) return; if (info.trigger == TR::Level::Trigger::SWITCH || info.trigger == TR::Level::Trigger::KEY) { + if (info.trigger == TR::Level::Trigger::KEY) + level->entities[info.trigCmd[0].args].flags.active = true; + TR::Entity &p = level->entities[info.trigCmd[0].args]; angle.y = p.rotation; angle.x = 0; @@ -1370,14 +1392,23 @@ struct Lara : Character { } virtual void doCustomCommand(int curFrame, int prevFrame) { - if (state == STATE_PICK_UP) { - TR::Entity &item = level->entities[lastPickUp]; - if (!item.flags.invisible) { - int pickupFrame = stand == STAND_GROUND ? PICKUP_FRAME_GROUND : PICKUP_FRAME_UNDERWATER; - if (animation.isFrameActive(pickupFrame)) { - item.flags.invisible = true; - inventory.add(item.type, 1); + switch (state) { + case STATE_PICK_UP : { + TR::Entity &item = level->entities[lastPickUp]; + if (!item.flags.invisible) { + int pickupFrame = stand == STAND_GROUND ? PICKUP_FRAME_GROUND : PICKUP_FRAME_UNDERWATER; + if (animation.isFrameActive(pickupFrame)) { + item.flags.invisible = true; + inventory.add(item.type, 1); + } } + break; + } + case STATE_USE_PUZZLE : { + TR::Entity &item = level->entities[lastPickUp]; + if (animation.isFrameActive(PUZZLE_FRAME)) + ((Controller*)item.controller)->meshSwap(level->extra.puzzleSet); + break; } } } diff --git a/src/level.h b/src/level.h index b65eb4b..3f086e0 100644 --- a/src/level.h +++ b/src/level.h @@ -385,7 +385,7 @@ struct Level { } void renderEntity(const TR::Entity &entity) { - // if (entity.room != lara->getRoomIndex()) return; + //if (entity.room != lara->getRoomIndex()) return; if (entity.type == TR::Entity::NONE) return; ASSERT(entity.controller); @@ -495,7 +495,7 @@ struct Level { // Debug::Level::portals(level); // Debug::Level::meshes(level); Debug::Level::entities(level); - // Debug::Level::info(level, lara->getEntity(), lara->animation); + Debug::Level::info(level, lara->getEntity(), lara->animation); Debug::end(); #endif } diff --git a/src/sound.h b/src/sound.h index 761d67c..c9e26c7 100644 --- a/src/sound.h +++ b/src/sound.h @@ -196,10 +196,9 @@ namespace Sound { OGG(Stream *stream, int channels) : Decoder(stream, channels), size(stream->size), pos(0) { buffer = new char[size]; // TODO: file streaming stream->raw(buffer, size); - int error; alloc.alloc_buffer_length_in_bytes = 256 * 1024; alloc.alloc_buffer = new char[alloc.alloc_buffer_length_in_bytes]; - ogg = stb_vorbis_open_memory((unsigned char*)buffer, size, &error, &alloc); + ogg = stb_vorbis_open_memory((unsigned char*)buffer, size, NULL, &alloc); stb_vorbis_info info = stb_vorbis_get_info(ogg); channels = info.channels; } @@ -220,7 +219,10 @@ namespace Sound { return i; } - // TODO: replay + virtual void replay() { + stb_vorbis_close(ogg); + ogg = stb_vorbis_open_memory((unsigned char*)buffer, size, NULL, &alloc); + } }; #endif @@ -321,8 +323,11 @@ namespace Sound { while (i < count) { int res = decoder->decode(&frames[i], count - i); if (res == 0) { - if (i == 0) isPlaying = false; - break; + if (!(flags & Flags::LOOP)) { + if (i == 0) isPlaying = false; + break; + } else + decoder->replay(); } i += res; } diff --git a/src/trigger.h b/src/trigger.h index 71ffb42..7fec58d 100644 --- a/src/trigger.h +++ b/src/trigger.h @@ -51,7 +51,7 @@ struct Trigger : Controller { } } - if (!inState()) + if (!inState() && entity.type != TR::Entity::HOLE_KEY && entity.type != TR::Entity::HOLE_PUZZLE) animation.setState(state != baseState ? baseState : (entity.type == TR::Entity::TRAP_BLADE ? 2 : (baseState ^ 1))); updateAnimation(true); @@ -179,8 +179,45 @@ struct Block : Controller { struct Door : Trigger { + int8 *floor[2], orig[2]; - Door(TR::Level *level, int entity) : Trigger(level, entity, true) {} + Door(TR::Level *level, int entity) : Trigger(level, entity, true) { + TR::Entity &e = getEntity(); + TR::Level::FloorInfo info; + vec3 p = pos - getDir() * 1024.0f; + + level->getFloorInfo(e.room, (int)p.x, (int)p.y, (int)p.z, info); + int dx, dz; + TR::Room::Sector *s = &level->getSector(e.room, (int)p.x, (int)p.z, dx, dz); + + orig[0] = *(floor[0] = &s->floor); + + if (info.roomNext != 0xFF) { + s = &level->getSector(info.roomNext, e.x, e.z, dx, dz); + orig[1] = *(floor[1] = &s->floor); + } else + floor[1] = NULL; + + updateBlock(); + } + + void updateBlock() { + int8 v[2]; + if (getEntity().flags.active) { + v[0] = orig[0]; + v[1] = orig[1]; + } else + v[0] = v[1] = TR::FLOOR_BLOCK; + + if (floor[0]) *floor[0] = v[0]; + if (floor[1]) *floor[1] = v[1]; + } + + virtual bool activate(ActionCommand *cmd) { + bool res = Trigger::activate(cmd); + updateBlock(); + return res; + } }; struct DoorFloor : Trigger { @@ -235,7 +272,7 @@ struct TrapFloor : Trigger { e.room = info.roomBelow; if (pos.y > info.floor) { - pos.y = info.floor; + pos.y = (float)info.floor; animation.setState(STATE_DOWN); } updateEntity(); From 5f3bbadf3a87a9565dc8622714ccf5b4fe1cc3d9 Mon Sep 17 00:00:00 2001 From: XProger Date: Sat, 26 Nov 2016 02:09:14 +0300 Subject: [PATCH 4/5] restore inventory check --- bin/OpenLara.exe | Bin 116736 -> 116736 bytes src/lara.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/OpenLara.exe b/bin/OpenLara.exe index a6d13b81d0f9b44b14a730a545843d980d2904a6..fc8196d0e231035d927326834cf601c329249e34 100644 GIT binary patch delta 4525 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[info.trigCmd[0].args].rotation)) return; if (animation.canSetState(actionState)) { - if (false) { //!useItem(TR::Entity::NONE, level->entities[info.trigCmd[0].args].type)) { + if (!useItem(TR::Entity::NONE, level->entities[info.trigCmd[0].args].type)) { playSound(TR::SND_NO, pos, Sound::PAN); return; } From ff9b87ff3c21217a85068b346e7328b26775efa8 Mon Sep 17 00:00:00 2001 From: XProger Date: Sat, 26 Nov 2016 12:20:20 +0300 Subject: [PATCH 5/5] #15 linux build --- bin/OpenLara | Bin 121504 -> 150192 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/OpenLara b/bin/OpenLara index 737c3f8aeddd7f128efdd7f518c6d3913f9a2360..e4dda8fcffadf592774b08763a73639eb1476185 100755 GIT binary patch literal 150192 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

VV6>*)AcTcq0RK3=w7Hq2KBe%_!1t^AfG z{($z?1HTV`qOhvJO1m6~KL~%mw2QC5vk#O0 z&RXZ|bciLNs7qMy68+=fTzB2@&Lquv{_SfI<{#5JY~6g8qL+)FJkJf%Zb9covD<`Q zdopqP5_Zzx_hPp`g>lER)X!WO&Fj$P$mLy`Y>}(DNIk<{^e=epK3Liz3O*M8KR8zY z>*GV;uN%v~-hXq^+m7Dm06k;A7Qaf7NAoU@z8|vrCFL|DPeA@C$NqIMaD5a%cc8Z& zJ$<}c{O^X}18?`g7rq-lA6tL?X(xStGlrpF{|T%S=uK97=KK}~|A{SM(RafihnHbx zCgB&rA2juqK=@Mlcj2cAXYqS2yp(JAdlUTc;ZG@j`u~8qOTL}x?eJ*YwIQ7FxJcB6 z?}7hYx)$&}-3@;n{tSFV@cAI3y+ro#`;V%?JRjdnF2UT`Yq zEk!;yThpEvL*F>@UH33wd}F}GCF67xc6V24zUx`rd>3FN<#eO}Fz*tzPdZ0A?ZX0W z(9+{{7Q4{R_3+{kAkzgNl4d0_$kcKBZ^KG?h^`PZZO zt&N&iDSAQ1!zSdLkY8ob$I@>lPMzqzhF-Ay=6TN63#@xWiPLfPpTA$zwuW&Mv^@r1 ze~4W)gY=RgYTBzD2eCV6zgddiW7uUXJBgECfB3iH7b@PIr({YI`6lFNkUt$nF7e-q zyt&OkuFZV+!taE)#6#^njOS&?k-zqkrY%$Xik;LioPi(mu%z z{Xp_0iT{Q0@57&~e)Y)D+stn`i-A#IfS;R?KZ86)|gQQ?8-kJ!%l+0Nx1C`qRM zph1D>qty9ugLbry%hHd|SLa)fWa~%f+|rU!te}txb>x{hzqlHH2MC~#<}UYS>8}xi}$ed}blEPgI4=6mQ z@RY*AYF@fX;S_}ql@9&M82^7#ctYVBg^oT$Zt4$J=c5!xDV(Hmy24os(-h8Cc!k1m zE38mx<}cHkj4_$7%&~aY%9V>6s%wiY>l|@)6?OHs^+m;wIDY1$thUAxx4OE%EG|3e zvKjS7E7jS`)i=cz-&9#uI-|1G5hrIAMRgU9xY9MN>(;C?u)fxisPEASoGeFHTUJ#h z2I{D$s$Pn$pukazu`Ea6Y+MDZHt6D(K^$Qg} z+2eO5tgIcTy}4e<_a-GBFu=E7ntCS6JwsWG%yV-+%2Eqnhq4#{W!#wlE7~FVuqCFZ zy}ADND|@q^=DKFun|!^^-ds;3)B0h^nAmKyH}`AtF45-wnx6-@m}zH7c^=JywS05GwB?9lXYLzJ zeY^jy%HE8BhuUv-D0}(dnKjwVZ?oBF4a?EhvxXTt$~&gkWG{akLh;lrziX6X-!;l$ zwr~w(O=kOAK<&0DQMb% MY~kck^sVWC0I7{IzyJUM literal 121504 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