summaryrefslogtreecommitdiffstats
path: root/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'player.c')
-rw-r--r--player.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/player.c b/player.c
index 9f4d531..e5b0fdf 100644
--- a/player.c
+++ b/player.c
@@ -114,8 +114,8 @@ void DoInput(int delta) {
if(input & INPUT_OPEN) {
for(i = 0; i < level.rooms[room].nGates; i++) {
if(level.rooms[room].gateinfo[i].state != STATE_CLOSED) continue;
- if(CollisionSphereTriangle(player.pos, 1.0, level.rooms[room].gates[i].triangles[0]) ||
- CollisionSphereTriangle(player.pos, 1.0, level.rooms[room].gates[i].triangles[1])) {
+ if(CollisionSphereTriangle(player.pos, 1.0, level.rooms[room].gates[i].walls[0].triangle) ||
+ CollisionSphereTriangle(player.pos, 1.0, level.rooms[room].gates[i].walls[1].triangle)) {
level.rooms[room].gateinfo[i].state = STATE_OPENING;
level.rooms[room].gateinfo[i].timer = 1000;
}
@@ -128,18 +128,18 @@ void DoInput(int delta) {
if(falling) pos.y -= delta/100.0;
for(i = 0; i < level.rooms[room].nGates; i++) {
- if(CollisionSphereTriangle(pos, 0.3, level.rooms[room].gates[i].triangles[0]) ||
- CollisionSphereTriangle(pos, 0.3, level.rooms[room].gates[i].triangles[1])) {
+ if(CollisionSphereTriangle(pos, 0.3, level.rooms[room].gates[i].walls[0].triangle) ||
+ CollisionSphereTriangle(pos, 0.3, level.rooms[room].gates[i].walls[1].triangle)) {
if(level.rooms[room].gateinfo[i].state == STATE_OPENED) {
- if(CollisionPointTriangle(pos, level.rooms[room].gates[i].triangles[0]) ||
- CollisionPointTriangle(pos, level.rooms[room].gates[i].triangles[1])) {
+ if(CollisionPointTriangle(pos, level.rooms[room].gates[i].walls[0].triangle) ||
+ CollisionPointTriangle(pos, level.rooms[room].gates[i].walls[1].triangle)) {
p1 = level.rooms[room].gates[i].point;
- v1 = level.rooms[room].gates[i].triangles[0].normal;
+ v1 = level.rooms[room].gates[i].walls[0].normal;
level.rooms[room].gateinfo[i].state = STATE_CLOSED;
g = level.rooms[room].gates[i].gate;
room = level.rooms[room].gates[i].room;
p2 = level.rooms[room].gates[g].point;
- v2 = VectorNeg(level.rooms[room].gates[g].triangles[0].normal);
+ v2 = VectorNeg(level.rooms[room].gates[g].walls[0].normal);
level.rooms[room].gateinfo[g].state = STATE_OPENED;
level.rooms[room].gateinfo[g].timer = 5000;
transform = VectorMatrix(p2, v2, p1, v1);
@@ -158,9 +158,9 @@ void DoInput(int delta) {
}
}
falling = 1;
- for(i = 0; i < level.rooms[room].nTriangles; i++) {
- if(level.rooms[room].triangles[i].type == TRIANGLE_WALL &&
- CollisionMovingSphereTriangle(VectorSub(pos, VectorMul(move, delta/150.0)), 0.3, move, delta/150.0, level.rooms[room].triangles[i])) {
+ for(i = 0; i < level.rooms[room].nWalls; i++) {
+ if(level.rooms[room].walls[i].type == TRIANGLE_WALL &&
+ CollisionMovingSphereTriangle(VectorSub(pos, VectorMul(move, delta/150.0)), 0.3, move, delta/150.0, level.rooms[room].walls[i].triangle)) {
pos = player.pos;
if(player.room != room) {
level.rooms[room].gateinfo[g].state = STATE_CLOSED;
@@ -173,12 +173,12 @@ void DoInput(int delta) {
falling = 0;
break;
}
- else if(level.rooms[room].triangles[i].type == TRIANGLE_FLOOR) {
+ else if(level.rooms[room].walls[i].type == TRIANGLE_FLOOR) {
pos.y -= 1.81;
- if(CollisionPointTriangle(pos, level.rooms[room].triangles[i])) {
+ if(CollisionPointTriangle(pos, level.rooms[room].walls[i].triangle)) {
falling = 0;
pos.y += 1.81;
- if(wasfalling && CollisionRayTriangle(pos, v, level.rooms[room].triangles[i], &f)) pos.y -= f - 1.8;
+ if(wasfalling && CollisionRayTriangle(pos, v, level.rooms[room].walls[i].triangle, &f)) pos.y -= f - 1.8;
}
else pos.y += 1.81;
}