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