diff options
author | neoraider <devnull@localhost> | 2005-04-23 13:41:04 +0200 |
---|---|---|
committer | neoraider <devnull@localhost> | 2005-04-23 13:41:04 +0200 |
commit | 05f9b1d15c237e89176cc2b207454f0f30073d57 (patch) | |
tree | ccd3aa17254bca7670da5a2ab2f7202f230d3de4 /player.c | |
parent | d836a9eb311efe71faf5c67425b25496333ab1b8 (diff) | |
download | libzoom-05f9b1d15c237e89176cc2b207454f0f30073d57.tar libzoom-05f9b1d15c237e89176cc2b207454f0f30073d57.zip |
libneofx: neofx/types.h: TRIANGLE-Struktur aufger?umt;
libzoom: zoom/types.h: WALL-Struktur als Ersatz f?r TRIANGLE eingef?gt;
zoom/level.h, level.c und player.c an die neuen Strukturen angepasst
Diffstat (limited to 'player.c')
-rw-r--r-- | player.c | 28 |
1 files changed, 14 insertions, 14 deletions
@@ -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; } |