summaryrefslogtreecommitdiff
path: root/src/RobotRace.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/RobotRace.java')
-rw-r--r--src/RobotRace.java39
1 files changed, 35 insertions, 4 deletions
diff --git a/src/RobotRace.java b/src/RobotRace.java
index cc48694..ee1fc86 100644
--- a/src/RobotRace.java
+++ b/src/RobotRace.java
@@ -142,6 +142,11 @@ public class RobotRace extends Base {
private final Random random = new Random();
/**
+ * Whether textures are enabled for surfaces.
+ */
+ boolean enableTextures;
+
+ /**
* Constructs this robot race by initializing robots, camera, track, and
* terrain.
*/
@@ -194,6 +199,9 @@ public class RobotRace extends Base {
// Initialize global OpenGL context.
BetterBase.setGL(gl);
+ // enable textures if supported
+ toggleTextures();
+
// Enable blending.
gl.glEnable(GL_BLEND);
gl.glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -530,19 +538,23 @@ public class RobotRace extends Base {
}
public Texture getTorsoTexture() {
- return this.torso;
+ assert torso != null;
+ return torso;
}
public Texture getHeadTexture() {
- return this.head;
+ assert head != null;
+ return head;
}
public Texture getBrickTexture() {
- return this.brick;
+ assert brick != null;
+ return brick;
}
public Texture getTrackTexture() {
- return this.track;
+ assert track != null;
+ return track;
}
/**
@@ -583,10 +595,29 @@ public class RobotRace extends Base {
case KeyEvent.VK_I: /* print Info */
System.err.println("GlobalState: " + robotRace.gs);
return true;
+ case KeyEvent.VK_T: /* toggle Textures */
+ boolean state = robotRace.toggleTextures();
+ System.err.println("Textures are " +
+ (state ? "enabled" : "disabled"));
+ return true;
default:
return false;
}
}
});
}
+
+ /**
+ * Disable textures if enabled, enable textures iff disabled AND supported.
+ * @return The new enabled state.
+ */
+ boolean toggleTextures() {
+ if (track == null || brick == null || head == null || torso == null) {
+ System.err.println("Some textures are missing");
+ enableTextures = false;
+ } else {
+ enableTextures = !enableTextures;
+ }
+ return enableTextures;
+ }
}