From 3020ea8a08cc146f5e4fb4f5fe04f8f7d4ec315c Mon Sep 17 00:00:00 2001 From: a dinosaur Date: Mon, 21 Aug 2023 02:55:19 +1000 Subject: [PATCH] I FUCKING LOVE COLIN --- src/main/kotlin/Colin.kt | 46 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/kotlin/Colin.kt b/src/main/kotlin/Colin.kt index 2a0d3bd..4660bdf 100644 --- a/src/main/kotlin/Colin.kt +++ b/src/main/kotlin/Colin.kt @@ -24,6 +24,8 @@ class Colin private var fov = 60.0f private var cam: PerspectiveCamera private var nutted = false + private var colinMode = false + private var backPressed = false private var texture: Texture = assetManager.get("colin.png") private val nut: Sound = assetManager.get("nut.wav") @@ -76,16 +78,29 @@ class Colin if (!stick.isZero) pos -= forward * stick.y * speed * deltaTime - offsAngle = Controllers.getCurrent()?.let { pad -> + if (Gdx.input.isKeyJustPressed(Input.Keys.C)) + colinMode = !colinMode + + Controllers.getCurrent()?.let { pad -> val dst = Vector2( pad.getAxis(pad.mapping.axisRightX), pad.getAxis(pad.mapping.axisRightY)) - .radialDeadzone(0.1f, 1.0f) * MathUtils.PI * -0.25f - offsAngle.lerp(dst, 16.0f * deltaTime) - } ?: Vector2.Zero - Controllers.getCurrent()?.let { pad -> - val targetFov = MathUtils.lerp(60.0f, 20.0f, pad.getAxis(5)) + .radialDeadzone(0.1f, 1.0f) * MathUtils.PI * -0.5f + offsAngle = offsAngle.lerp(dst, 16.0f * deltaTime) + + val targetFov = MathUtils.lerp(60.0f, 20.0f, pad.getAxis(5)) //fixme: where is mapping for rt?? cam.fieldOfView = MathUtils.lerp(cam.fieldOfView, targetFov, 20.0f * deltaTime) + + val right = Vector2(MathUtils.cos(angle), -MathUtils.sin(angle)) + if (pad.getButton(pad.mapping.buttonL1)) + pos -= right * speed * deltaTime + if (pad.getButton(pad.mapping.buttonR1)) + pos += right * speed * deltaTime + + val back = pad.getButton(pad.mapping.buttonBack) + if (!backPressed && back) + colinMode = !colinMode + backPressed = back } if (Controllers.getCurrent()?.let { pad -> pad.getButton(pad.mapping.buttonA) } == true || Gdx.input.isKeyJustPressed(Input.Keys.N)) @@ -107,15 +122,16 @@ class Colin fun draw(spriteBatch: SpriteBatch) { - val drawPos = Vector2(pos.x * 100.0f, -pos.y * 100.0f) - //spriteBatch.draw(texture, drawPos.x - 32.0f, drawPos.y - 32.0f, 64.0f, 64.0f) - val region = TextureRegion(texture) - spriteBatch.draw(region, - drawPos.x - 32.0f, drawPos.y - 32.0f, - 32.0f, 32.0f, - 64.0f, 64.0f, - 1.0f, 1.0f, angle * MathUtils.radiansToDegrees) - + if (colinMode) + { + val drawPos = Vector2(pos.x * 100.0f, -pos.y * 100.0f) + val region = TextureRegion(texture) + spriteBatch.draw(region, + drawPos.x - 32.0f, drawPos.y - 32.0f, + 32.0f, 32.0f, + 64.0f, 64.0f, + 1.0f, 1.0f, angle * MathUtils.radiansToDegrees) + } } val camera get() = cam