parent
b0f820e6f0
commit
3f3d08ac32
@ -11,7 +11,6 @@ object ClientConfig {
|
|||||||
|
|
||||||
init {
|
init {
|
||||||
specBuilder.comment("Clientside Config").push("client")
|
specBuilder.comment("Clientside Config").push("client")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var EXOSUIT_INVENTORY_ROWS: Int by specBuilder
|
var EXOSUIT_INVENTORY_ROWS: Int by specBuilder
|
||||||
@ -22,6 +21,11 @@ object ClientConfig {
|
|||||||
.comment("If looking below this angle (actually, looking 'above' as you see in game, but not as you expect it, check with debug screen), Crouch + Jump will trigger jump boost android ability")
|
.comment("If looking below this angle (actually, looking 'above' as you see in game, but not as you expect it, check with debug screen), Crouch + Jump will trigger jump boost android ability")
|
||||||
.defineInRange("jumpBoostTriggerAngle", 30.0, -180.0, 180.0)
|
.defineInRange("jumpBoostTriggerAngle", 30.0, -180.0, 180.0)
|
||||||
|
|
||||||
|
var ENABLE_COLOR_NOISE: Boolean by specBuilder
|
||||||
|
.comment("Enable color noise effect on android glitches")
|
||||||
|
.comment("Enabling this may have performance implication")
|
||||||
|
.define("glitchColorNoise", false)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
specBuilder.pop()
|
specBuilder.pop()
|
||||||
spec = specBuilder.build()
|
spec = specBuilder.build()
|
||||||
|
@ -17,6 +17,7 @@ import net.minecraft.client.Minecraft
|
|||||||
import net.minecraft.client.renderer.GameRenderer
|
import net.minecraft.client.renderer.GameRenderer
|
||||||
import net.minecraft.core.Vec3i
|
import net.minecraft.core.Vec3i
|
||||||
import net.minecraft.world.level.levelgen.XoroshiroRandomSource
|
import net.minecraft.world.level.levelgen.XoroshiroRandomSource
|
||||||
|
import ru.dbotthepony.mc.otm.ClientConfig
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability
|
import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||||
import ru.dbotthepony.mc.otm.client.minecraft
|
import ru.dbotthepony.mc.otm.client.minecraft
|
||||||
@ -334,6 +335,10 @@ object GlitchRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun makeColorGlitch() {
|
private fun makeColorGlitch() {
|
||||||
|
if (!ClientConfig.ENABLE_COLOR_NOISE) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
lastEncodingGlitch = System.nanoTime()
|
lastEncodingGlitch = System.nanoTime()
|
||||||
nextEncodingGlitch = random.nextIntBetweenInclusive(10_000_000, 40_000_000).toLong()
|
nextEncodingGlitch = random.nextIntBetweenInclusive(10_000_000, 40_000_000).toLong()
|
||||||
colorGlitchWidth = ceil(glitchBuffer.width / GLITCH_BLOCK_SIZE).toInt()
|
colorGlitchWidth = ceil(glitchBuffer.width / GLITCH_BLOCK_SIZE).toInt()
|
||||||
@ -456,7 +461,7 @@ object GlitchRenderer {
|
|||||||
makeGlitch()
|
makeGlitch()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (System.nanoTime() - lastEncodingGlitch >= nextEncodingGlitch) {
|
if (ClientConfig.ENABLE_COLOR_NOISE && System.nanoTime() - lastEncodingGlitch >= nextEncodingGlitch) {
|
||||||
makeColorGlitch()
|
makeColorGlitch()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -493,11 +498,13 @@ object GlitchRenderer {
|
|||||||
drawVHSLineGap(((milliTime + glitchBuffer.height / 3) % glitchBuffer.height).toDouble(), glitchBuffer.height * 0.04)
|
drawVHSLineGap(((milliTime + glitchBuffer.height / 3) % glitchBuffer.height).toDouble(), glitchBuffer.height * 0.04)
|
||||||
drawVHSLineGap(((-milliTime - glitchBuffer.height / 3) % glitchBuffer.height).toDouble().absoluteValue, glitchBuffer.height * 0.07)
|
drawVHSLineGap(((-milliTime - glitchBuffer.height / 3) % glitchBuffer.height).toDouble().absoluteValue, glitchBuffer.height * 0.07)
|
||||||
|
|
||||||
|
if (ClientConfig.ENABLE_COLOR_NOISE) {
|
||||||
// color encoding errors (encoder/transmission glitch)
|
// color encoding errors (encoder/transmission glitch)
|
||||||
RenderSystem.setShaderColor(1f, 1f, 1f, 1f)
|
RenderSystem.setShaderColor(1f, 1f, 1f, 1f)
|
||||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader)
|
RenderSystem.setShader(GameRenderer::getPositionTexColorShader)
|
||||||
colorGlitchVertexBuffer.bind()
|
colorGlitchVertexBuffer.bind()
|
||||||
colorGlitchVertexBuffer.drawWithShader(Matrix4f().also { it.setIdentity() }, Matrix4f().also { it.setIdentity() }, GameRenderer.getPositionTexColorShader()!!)
|
colorGlitchVertexBuffer.drawWithShader(Matrix4f().also { it.setIdentity() }, Matrix4f().also { it.setIdentity() }, GameRenderer.getPositionTexColorShader()!!)
|
||||||
|
}
|
||||||
|
|
||||||
// upload final result to main frame buffer
|
// upload final result to main frame buffer
|
||||||
minecraft.mainRenderTarget.bindWrite(true)
|
minecraft.mainRenderTarget.bindWrite(true)
|
||||||
|
Loading…
Reference in New Issue
Block a user