if (!surface_exists(screensurface)) screensurface = surface_create(640, 480); surface_copy(screensurface, 0, 0, application_surface); shader_replace_simple_set_hook(47); shader_set_uniform_f(i_idx, 1); shader_set_uniform_f(i_width, sprite_get_width(palette)); shader_set_uniform_f(i_height, sprite_get_height(palette)); shader_set_uniform_f(i_blend, clamp(timer - 12, 0, 1)); var uvs = sprite_get_uvs(palette, 0); shader_set_uniform_f(i_uvs, uvs[0], uvs[1], uvs[2], uvs[3]); var t_sampler = shader_get_sampler_index(shd_palettemapper_simple, "iPalette"); texture_set_stage(t_sampler, sprite_get_texture(palette, 0)); draw_surface(screensurface, camerax(), cameray()); shader_replace_simple_reset_hook();