|
1
|
var cx = camerax();
|
|
2
|
var cy = cameray();
|
|
3
|
if (delay > 0)
|
|
4
|
{
|
|
5
|
delay--;
|
|
6
|
introflashalpha = 0;
|
|
7
|
exit;
|
|
8
|
}
|
|
9
|
if (!surface_exists(bgsurface))
|
|
10
|
bgsurface = surface_create(640, 480);
|
|
11
|
if (!surface_exists(windowsurface))
|
|
12
|
windowsurface = surface_create(302, 122);
|
|
13
|
colors_lerp = min(colors_lerp + 0.01, 1);
|
|
14
|
gradient_lerp = min(gradient_lerp + 0.01, 1);
|
|
15
|
var current_red = merge_color(colors_last.r, colors_current.r, colors_lerp);
|
|
16
|
var current_green = merge_color(colors_last.g, colors_current.g, colors_lerp);
|
|
17
|
var current_blue = merge_color(colors_last.b, colors_current.b, colors_lerp);
|
|
18
|
var current_light = merge_color(colors_last.l, colors_current.l, colors_lerp);
|
|
19
|
var gradient_top = merge_color(gradient_last.t, gradient_current.t, gradient_lerp);
|
|
20
|
var gradient_bottom = merge_color(gradient_last.b, gradient_current.b, gradient_lerp);
|
|
21
|
var t = 0.002 * current_time;
|
|
22
|
current_green = merge_color(current_green, current_light, 0.5 + (0.5 * sin(t * 0.4)));
|
|
23
|
var rain_speed = 0.012 * current_time;
|
|
24
|
surface_set_target(windowsurface);
|
|
25
|
draw_clear_alpha(c_black, 0);
|
|
26
|
if (con == 3 || con == 5)
|
|
27
|
window_opacity = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (window_opacity, 0, 0.01);
|
|
28
|
else
|
|
29
|
window_opacity = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (window_opacity, 1, 0.01);
|
|
30
|
draw_sprite_ext(spr_dw_church_bell_Large_topcenter, 0, 151, 10, 1.5, 1.5, sin(t * 0.5) * 24, c_green, bellalpha * 0.75);
|
|
31
|
hammerobj.image_alpha = hammeralpha;
|
|
32
|
cityobj.image_alpha = cityalpha * 0.5;
|
|
33
|
var i = ds_list_size(to_draw) - 1;
|
|
34
|
while (i >= 0)
|
|
35
|
{
|
|
36
|
var obj = ds_list_find_value(to_draw, i);
|
|
37
|
if (instance_exists(obj))
|
|
38
|
{
|
|
39
|
if (obj.image_alpha > 0)
|
|
40
|
{
|
|
41
|
if (obj == hammerobj)
|
|
42
|
{
|
|
43
|
shader_set(shd_prophecy);
|
|
44
|
var _tex1 = sprite_get_texture(IMAGE_DEPTH_EXTEND_MONO_SEAMLESS_POW2, 0);
|
|
45
|
var _tex2 = sprite_get_texture(textureSprite2, 0);
|
|
46
|
shader_set(myShader);
|
|
47
|
shader_set_uniform_f(uniformTime, (get_timer() / 1000000) * 10);
|
|
48
|
shader_set_uniform_f(uniformOpacity, (obj.image_alpha * 0.6) + (0.1 * sin(current_time * 0.001)));
|
|
49
|
shader_set_uniform_f(uniformCol, colour[0], colour[1], colour[2]);
|
|
50
|
texture_set_stage(sampler1, _tex1);
|
|
51
|
texture_set_stage(sampler2, _tex2);
|
|
52
|
draw_to_window(obj);
|
|
53
|
shader_reset();
|
|
54
|
}
|
|
55
|
else
|
|
56
|
{
|
|
57
|
draw_to_window(obj);
|
|
58
|
}
|
|
59
|
}
|
|
60
|
}
|
|
61
|
else
|
|
62
|
{
|
|
63
|
ds_list_delete(to_draw, i);
|
|
64
|
}
|
|
65
|
i--;
|
|
66
|
}
|
|
67
|
draw_sprite_ext(spr_gersonwindow_water, rain_speed, 232, 0, 2, 2, 0, c_white, 0.4 * window_opacity);
|
|
68
|
draw_sprite_ext(spr_gersonwindow_water, rain_speed, -38, 0, 2, 2, 0, c_white, 0.4 * window_opacity);
|
|
69
|
draw_sprite_ext(spr_gersonwindow_water, rain_speed, 92, 0, 2, 2, 0, c_white, 0.4 * window_opacity);
|
|
70
|
draw_sprite_ext(bg_dw_gerson_arena_stained_glass, 0, 44, 0, 2, 2, 0, c_white, 0.5 * window_opacity);
|
|
71
|
surface_reset_target();
|
|
72
|
surface_set_target(bgsurface);
|
|
73
|
draw_clear_alpha(c_black, 0);
|
|
74
|
draw_sprite_ext(spr_pxwhite, 0, 0, 0, 640, 480, 0, gradient_bottom, 1);
|
|
75
|
draw_sprite_ext(spr_20px_white_gradient, 0, 640, 160, 640, 8, 180, gradient_top, 1);
|
|
76
|
draw_set_blend_mode(bm_add);
|
|
77
|
draw_surface(windowsurface, 168, 0);
|
|
78
|
draw_set_blend_mode(bm_normal);
|
|
79
|
surface_reset_target();
|
|
80
|
draw_surface_ext(windowsurface, 168, 416, 1, -2, 0, c_white, 0.5);
|
|
81
|
draw_surface_part(bgsurface, 320 - (320 * image_alpha), 0, 640 * image_alpha, 480, (x + 320) - (320 * image_alpha), y);
|
|
82
|
draw_set_color(c_black);
|
|
83
|
ossafe_fill_rectangle(cx + 257, cy, cx + 266, cy + 200, false);
|
|
84
|
ossafe_fill_rectangle(cx + 372, cy, cx + 381, cy + 200, false);
|
|
85
|
draw_set_color(c_white);
|
|
86
|
var adv = 0.01;
|
|
87
|
if (colcon < 1)
|
|
88
|
adv = 0.1;
|
|
89
|
colcon = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (colcon, con + 1, adv);
|
|
90
|
pal_swap_set(spr_dw_gerson_arena_palette, colcon, false);
|
|
91
|
draw_sprite_ext(bg_dw_gerson_arena_battle, 0, cx, cy, 2, 2, 0, c_white, 1);
|
|
92
|
pal_swap_reset();
|
|
93
|
draw_sprite_ext(spr_dw_gerson_arena_shadow, 0, (cx + (0.5 * camerawidth())) - 2, cy + 200, 2, 2, 0, gradient_bottom, 0.4);
|
|
94
|
if (introflashalpha > 0)
|
|
95
|
{
|
|
96
|
introflashalpha -= 0.3;
|
|
97
|
draw_sprite_ext(spr_dw_gerson_arena_shadow, 0, cx + (0.5 * camerawidth()), cy + 200, 2.1, 2.1, 0, c_white, 0.5 * sin(degtorad(introflashalpha * 90)));
|
|
98
|
}
|