From 1374bd8c97cf3326f51d3f3859f0ab9d6ff31285 Mon Sep 17 00:00:00 2001 From: Frank v/d Haterd Date: Wed, 15 Jan 2014 16:42:47 +0100 Subject: New heightmap --- src/heightmap.bmp | Bin 5140 -> 5140 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/heightmap.bmp b/src/heightmap.bmp index 355d005..2532f0c 100644 Binary files a/src/heightmap.bmp and b/src/heightmap.bmp differ -- cgit v1.2.1 From 0b144c7df87bb0c6a42bdd95267a7927bd6a20e9 Mon Sep 17 00:00:00 2001 From: Frank v/d Haterd Date: Thu, 16 Jan 2014 16:33:05 +0100 Subject: Camera: FPS mode now follows last robot in race (see assignment). New getLastRobot method and getter in Robot.java --- src/Camera.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Camera.java b/src/Camera.java index fde3d80..f53abd7 100644 --- a/src/Camera.java +++ b/src/Camera.java @@ -155,7 +155,7 @@ class Camera { /** * First person mode: look from the slowest robot forward. */ - FocusPosition focus = smoothFocusTo(getSlowestRobot()); + FocusPosition focus = smoothFocusTo(getLastRobot()); // trivial: looks from the robot POV. eye = track.getPointForLane(focus.getTimePos(), focus.getLane()); @@ -221,6 +221,20 @@ class Camera { } return slowest; } + + /** + * Returns the robot which is placed last in the race. + */ + private Robot getLastRobot() { + Robot last = robots[0]; + + for (Robot robot : robots) { + if (robot.getPositionMeters() < last.getPositionMeters()) { + last = robot; + } + } + return last; + } /** * Time when the transition started; -- cgit v1.2.1 From 0102f9c589b0f174014169ca140e971d5e0684dc Mon Sep 17 00:00:00 2001 From: Frank v/d Haterd Date: Thu, 16 Jan 2014 16:33:10 +0100 Subject: Camera: FPS mode now follows last robot in race (see assignment). New getLastRobot method and getter in Robot.java --- src/Robot.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Robot.java b/src/Robot.java index 612ecec..36a6f6e 100644 --- a/src/Robot.java +++ b/src/Robot.java @@ -546,6 +546,13 @@ class Robot extends BetterBase { public double getSpeed() { return speed; } + + /** + * Gets the total distance traveled by the robot. + */ + public double getPositionMeters() { + return robot_pos_meters; + } /** * Move the robot with the number of seconds based on its current speed. -- cgit v1.2.1 From d2c5cbb1fce613ecd48fe978c810c4fb2975ef4e Mon Sep 17 00:00:00 2001 From: Frank v/d Haterd Date: Thu, 16 Jan 2014 16:33:42 +0100 Subject: Camera: FPS mode now follows last robot in race (see assignment). New getLastRobot method and getter in Robot.java RaceTrack: Track texture now has a start line and every 20 segments shows a distance line. --- src/RaceTrack.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/RaceTrack.java b/src/RaceTrack.java index 01a28c2..0dfb194 100644 --- a/src/RaceTrack.java +++ b/src/RaceTrack.java @@ -188,15 +188,17 @@ class RaceTrack extends BetterBase { } // Draw track itself + // Every 20 segments a distance line is drawn, + // and at the start, a start line is drawn. gl.glBegin(GL_QUADS); glNormal(Vector.Z); - gl.glTexCoord2f(0, 0); + gl.glTexCoord2f(i == 1 ? 0 : 0.2f, 0); glVertex(point_A); - gl.glTexCoord2f(1, 0); + gl.glTexCoord2f(i % 20 == 0 && i != SEGMENTS ? 1f : 0.8f, 0); glVertex(point_C); - gl.glTexCoord2f(1, 1); + gl.glTexCoord2f(i % 20 == 0 && i != SEGMENTS ? 1f : 0.8f, 1f); glVertex(point_D); - gl.glTexCoord2f(0, 1); + gl.glTexCoord2f(i == 1 ? 0 : 0.2f, 1f); glVertex(point_B); gl.glEnd(); } -- cgit v1.2.1 From e59c165cb6e17f1967e40ce0eff352412581430f Mon Sep 17 00:00:00 2001 From: Frank v/d Haterd Date: Thu, 16 Jan 2014 16:33:58 +0100 Subject: New track texture --- src/track.jpg | Bin 111409 -> 102380 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/track.jpg b/src/track.jpg index 72995f8..7c32ce6 100644 Binary files a/src/track.jpg and b/src/track.jpg differ -- cgit v1.2.1