|
@@ -19,7 +19,11 @@ Game::Game(Shader& shader, Shader& noiceShader, LayeredFramebuffer& buffer,
|
|
|
right(GLFW_KEY_D, "right"), front(GLFW_KEY_W, "front"),
|
|
|
back(GLFW_KEY_S, "back"), toggle(GLFW_KEY_T, "toggle"),
|
|
|
scaleUp(GLFW_KEY_G, "scale up"), scaleDown(GLFW_KEY_H, "scale down"),
|
|
|
- oldHeight(0.0f), height(0.0f), heightScale(0.0f) {
|
|
|
+ stepsUp(GLFW_KEY_Y, "steps up"), stepsDown(GLFW_KEY_U, "steps down"),
|
|
|
+ fineStepsUp(GLFW_KEY_I, "fine steps up"),
|
|
|
+ fineStepsDown(GLFW_KEY_O, "fine steps down"),
|
|
|
+ modeToggle(GLFW_KEY_C, "mode toggle"), oldHeight(0.0f), height(0.0f),
|
|
|
+ heightScale(0.01f), steps(1), fineSteps(1), mode(false) {
|
|
|
buttons.add(up);
|
|
|
buttons.add(down);
|
|
|
buttons.add(left);
|
|
@@ -29,8 +33,17 @@ Game::Game(Shader& shader, Shader& noiceShader, LayeredFramebuffer& buffer,
|
|
|
buttons.add(toggle);
|
|
|
buttons.add(scaleUp);
|
|
|
buttons.add(scaleDown);
|
|
|
+ buttons.add(stepsUp);
|
|
|
+ buttons.add(stepsDown);
|
|
|
+ buttons.add(fineStepsUp);
|
|
|
+ buttons.add(fineStepsDown);
|
|
|
+ buttons.add(modeToggle);
|
|
|
|
|
|
- position = Vector3(0.0f, 0.0f, -40.0f);
|
|
|
+ bricks.setLinearFilter();
|
|
|
+ bricksBump.setLinearFilter();
|
|
|
+ bricksNormal.setLinearFilter();
|
|
|
+
|
|
|
+ position = Vector3(-32.0f, 0.0f, -120.0f);
|
|
|
|
|
|
rectangleBuffer.setAttributes(Attributes().addFloat(2));
|
|
|
float recData[6][2] = {{-1.0f, -1.0f}, {-1.0, 1.0}, {1.0, -1.0},
|
|
@@ -66,6 +79,9 @@ void Game::render(float lag) {
|
|
|
shader.setVector("viewPos", -position + Vector3(0.0f, 32.0f, 0.0f));
|
|
|
shader.setVector("lightPos", Vector3());
|
|
|
shader.setFloat("heightScale", heightScale);
|
|
|
+ shader.setInt("steps", steps);
|
|
|
+ shader.setInt("fineSteps", fineSteps);
|
|
|
+ shader.setInt("kajetan", mode);
|
|
|
|
|
|
if(toggle.isDown()) {
|
|
|
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
|
@@ -79,6 +95,13 @@ void Game::render(float lag) {
|
|
|
}
|
|
|
|
|
|
void Game::tick() {
|
|
|
+ StringBuffer<50>()
|
|
|
+ .append(steps)
|
|
|
+ .append(" ")
|
|
|
+ .append(fineSteps)
|
|
|
+ .append(" ")
|
|
|
+ .append(heightScale)
|
|
|
+ .printLine();
|
|
|
oldHeight = height;
|
|
|
oldPosition = position;
|
|
|
if(up.isDown()) {
|
|
@@ -110,6 +133,22 @@ void Game::tick() {
|
|
|
heightScale = 0.0f;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if(stepsUp.wasReleased()) {
|
|
|
+ steps++;
|
|
|
+ }
|
|
|
+ if(stepsDown.wasReleased() && steps > 1) {
|
|
|
+ steps--;
|
|
|
+ }
|
|
|
+ if(fineStepsUp.wasReleased()) {
|
|
|
+ fineSteps++;
|
|
|
+ }
|
|
|
+ if(fineStepsDown.wasReleased() && fineSteps > 1) {
|
|
|
+ fineSteps--;
|
|
|
+ }
|
|
|
+ if(modeToggle.wasReleased()) {
|
|
|
+ mode = !mode;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
bool Game::isRunning() const {
|