mozaik bugfix

This commit is contained in:
markojozsef
2026-10-14 12:53:45 +02:00
parent d428aed8c8
commit 86048b5ae7
3 changed files with 12 additions and 12 deletions

View File

@@ -92,14 +92,13 @@ def update(game, dt):
btrans_timer += dt
if btrans_timer >= BTRANS_DURATION:
game.mos_enabled = False
game.mosaic = 1
btrans_active = False
btrans_sound.stop()
gamestate.switch_gamestate(game, "battle")
game.mos_enabled = True
cycle_progress = (btrans_timer % BTRANS_PULSE_DUR) / BTRANS_PULSE_DUR
game.mosaic = max(1, math.floor(cycle_progress * 16))
game.mosaic = max(1, math.floor(cycle_progress * 8))
return
balthasar.update()

View File

@@ -21,7 +21,6 @@ class Game(arcade.Window):
self.screen_width = SCREEN_WIDTH
self.screen_height = SCREEN_HEIGHT
self.mosaic = 1
self.mos_enabled = False
self.game_texture = self.ctx.texture(
(SCREEN_WIDTH, SCREEN_HEIGHT),
@@ -76,8 +75,9 @@ class Game(arcade.Window):
y,
scaled_width,
scaled_height,
self.mosaic,
self.mos_enabled
SCREEN_WIDTH,
SCREEN_HEIGHT,
self.mosaic
)
game = Game()

View File

@@ -34,13 +34,13 @@ class TextureRenderer:
""",
fragment_shader="""
#version 330
#define INV_RESOLUTION_X (1. / bounds.z)
#define INV_RESOLUTION_Y (1. / bounds.w)
#define INV_RESOLUTION_X (1. / orig_size.x)
#define INV_RESOLUTION_Y (1. / orig_size.y)
uniform vec4 bounds;
uniform vec2 orig_size;
uniform sampler2D tex;
uniform float mosaic;
uniform bool mos_enabled;
in vec2 uv;
out vec4 color;
@@ -51,19 +51,20 @@ class TextureRenderer:
(floor((uv.y / INV_RESOLUTION_Y) / mosaic) * INV_RESOLUTION_Y) * mosaic
);
color = texture(tex, mos_enabled ? new_uv : uv);
color = texture(tex, new_uv);
}
""",
)
self.quad = arcade.gl.geometry.quad_2d_fs()
def render(self, texture, x, y, width, height, mosaic, mos_enabled):
def render(self, texture, x, y, width, height, orig_width, orig_height, mosaic):
self.program["screen_size"] = (self.ctx.screen.width,
self.ctx.screen.height)
self.program["orig_size"] = (orig_width,
orig_height)
self.program["bounds"] = (x, y, width, height)
self.program["mosaic"] = mosaic
self.program["mos_enabled"] = mos_enabled
texture.use(0)
self.program["tex"] = 0