Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_prophecy_custom_Draw_0

(view raw script w/o annotations or w/e)
1
if (!init)
2
    exit;
3
if (!sprite_exists(custom_sprite))
4
{
5
    if (!surface_exists(bg_surface))
6
        bg_surface = surface_create(320, 240);
7
    surface_set_target(bg_surface);
8
    draw_clear_alpha(c_black, 0);
9
    draw_set_color(c_white);
10
    ossafe_fill_rectangle(0, 0, 320, 240, false);
11
    gpu_set_blendenable(true);
12
    gpu_set_colorwriteenable(false, false, false, true);
13
    gpu_set_blendmode_ext(bm_inv_dest_alpha, bm_zero);
14
    gpu_set_alphatestenable(true);
15
    draw_set_alpha(1);
16
    if (mode == 0)
17
    {
18
        draw_sprite(sprite_mask, 0, 99.5, 122);
19
    }
20
    else if (mode == 1)
21
    {
22
        var font_cache = draw_get_font();
23
        draw_set_color(c_white);
24
        draw_set_font(
scr_84_get_font
scr_84_get_font

function
scr_84_get_font(arg0)
{ if (!variable_global_exists("chemg_last_get_font")) global.chemg_last_get_font = ""; if (arg0 != global.chemg_last_get_font) global.chemg_last_get_font = arg0; return ds_map_find_value(global.font_map, arg0); }
("legend_alt"));
25
        for (var i = 0; i < array_length(sprite_string); i++)
26
        {
27
            var _text_x_offset = floor(160 - (string_width(sprite_string[i]) / 2)) - (string_length(sprite_string[i]) / 2);
28
            _text_x_offset = floor(_text_x_offset);
29
            var y_offset_lang = (global.lang == "ja") ? 1 : -1;
30
            var y_offset = (16 / array_length(sprite_string)) + y_offset_lang;
31
            draw_text_kern_legend(_text_x_offset, y_offset + (i * 16), sprite_string[i], 1);
32
        }
33
        draw_set_font(font_cache);
34
    }
35
    gpu_set_alphatestenable(false);
36
    gpu_set_blendmode(bm_normal);
37
    gpu_set_colorwriteenable(true, true, true, true);
38
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
39
    gpu_set_alphatestenable(true);
40
    gpu_set_alphatestenable(false);
41
    gpu_set_blendmode(bm_normal);
42
    surface_reset_target();
43
    if (mode == 0)
44
    {
45
        custom_sprite = sprite_create_from_surface(bg_surface, 0, 0, 199, 124, false, false, 0, 0);
46
        sprite_set_offset(custom_sprite, sprite_get_width(custom_sprite) / 2, sprite_get_height(custom_sprite) / 2);
47
    }
48
    else if (mode == 1)
49
    {
50
        custom_sprite = sprite_create_from_surface(bg_surface, 0, 0, 320, 124, false, false, 0, 0);
51
    }
52
    surface_free(bg_surface);
53
}
54
else
55
{
56
}