Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_spritecomparer_Draw_0

(view raw script w/o annotations or w/e)
1
siner++;
2
draw_sprite_ext(spr_whitepx, 0, 0, horizony, 640, 1, 0, #F2A176, (abs(sin(siner / 40)) * 0.75) + 0.25);
3
draw_sprite_ext(spr_whitepx, 0, horizonx, 0, 1, 480, 0, #C7E3F2, (abs(sin((siner + 1.5707963267948966) / 40)) * 0.75) + 0.25);
4
if (keyboard_check_pressed(ord("1")) && keyboard_check(ord("F")))
5
    flip1 *= -1;
6
if (keyboard_check_pressed(ord("2")) && keyboard_check(ord("F")))
7
    flip2 *= -1;
8
if (keyboard_check_pressed(ord("3")) && keyboard_check(ord("F")))
9
    flip3 *= -1;
10
for (i = 0; i < 3; i++)
11
{
12
    xx[i] = sprite_get_xoffset(mysprite[i]);
13
    yy[i] = sprite_get_yoffset(mysprite[i]);
14
}
15
if (sunkus_kb_check_pressed(49) && keyboard_check(vk_shift))
16
{
17
    checkstring = get_string("Enter sprite_index of first sprite, OR enemy name from the object", "");
18
    if (sprite_exists(asset_get_index("spr_" + checkstring + "_idle")))
19
    {
20
        sprite[0] = asset_get_index("spr_" + checkstring + "_idle");
21
        sprite[1] = asset_get_index("spr_" + checkstring + "_hurt");
22
        sprite[2] = asset_get_index("spr_" + checkstring + "_spared");
23
    }
24
    else if (sprite_exists(asset_get_index(checkstring)))
25
    {
26
        sprite[0] = asset_get_index(checkstring);
27
    }
28
    event_user(0);
29
}
30
if (sunkus_kb_check_pressed(50) && keyboard_check(vk_shift))
31
{
32
    checksprite = asset_get_index(get_string("Enter sprite_index of second sprite.", ""));
33
    if (checksprite != -1)
34
        sprite[1] = checksprite;
35
    event_user(0);
36
}
37
if (sunkus_kb_check_pressed(51) && keyboard_check(vk_shift))
38
{
39
    checksprite = asset_get_index(get_string("Enter sprite_index of third sprite.", ""));
40
    if (checksprite != -1)
41
        sprite[2] = checksprite;
42
    event_user(0);
43
}
44
var altalpha1 = 1;
45
var altalpha2 = 1;
46
if (keyboard_check(vk_numpad8))
47
{
48
    if ((siner % 8) == 0)
49
        alt = 1 - alt;
50
    if (alt == 0)
51
        altalpha1 = 0;
52
    if (alt == 1)
53
        altalpha2 = 0;
54
}
55
draw_sprite_ext(mysprite[0], image_index, x - hspace, y, image_xscale * flip1, image_yscale, image_angle, image_blend, 1);
56
draw_sprite_ext(mysprite[1], image_index, x + hspace, y, image_xscale * flip2, image_yscale, image_angle, image_blend, 1);
57
draw_sprite_ext(mysprite[2], image_index, x + hspace, y, image_xscale * flip3, image_yscale, image_angle, image_blend, 1);
58
var spr1alph = 1;
59
if (sunkus_kb_check(52))
60
    spr1alph = 0.5;
61
if (sunkus_kb_check(52) && keyboard_check(vk_shift))
62
    spr1alph = 0;
63
draw_sprite_ext(mysprite[0], image_index, x, y, image_xscale * flip1, image_yscale, image_angle, image_blend, spr1alph * altalpha1);
64
spr1alph = 1;
65
if (sunkus_kb_check(53))
66
    spr1alph = 0.5;
67
if (sunkus_kb_check(53) && keyboard_check(vk_shift))
68
    spr1alph = 0;
69
draw_sprite_ext(mysprite[1], image_index, x, y, image_xscale * flip2, image_yscale, image_angle, image_blend, spr1alph * altalpha2);
70
spr1alph = 1;
71
if (sunkus_kb_check(54))
72
    spr1alph = 0.5;
73
if (sunkus_kb_check(54) && keyboard_check(vk_shift))
74
    spr1alph = 0;
75
draw_sprite_ext(mysprite[2], image_index, x, y, image_xscale * flip3, image_yscale, image_angle, image_blend, spr1alph);
76
if (sunkus_kb_check_pressed(72))
77
{
78
    if (hitbox_mode == 0)
79
        hitbox_mode = 1;
80
    else
81
        hitbox_mode = 0;
82
}
83
ii = 3;
84
if (hitbox_mode)
85
    ii = 1;
86
var bboxl = sprite_get_bbox_left(mysprite[0]);
87
var bboxu = sprite_get_bbox_top(mysprite[0]);
88
var bboxr = sprite_get_bbox_right(mysprite[0]);
89
var bboxd = sprite_get_bbox_bottom(mysprite[0]);
90
draw_set_font(fnt_mainbig);
91
for (i = 0; i < ii; i++)
92
{
93
    if (i == 0)
94
        draw_set_color(c_yellow);
95
    if (i == 1)
96
        draw_set_color(c_red);
97
    ossafe_fill_rectangle((x + (xx[i] * image_xscale)) - 1, (y + (yy[i] * image_yscale)) - 1, x + (xx[i] * image_xscale) + 1, y + (yy[i] * image_xscale) + 1, false);
98
    if (i == 0)
99
        ossafe_fill_rectangle((x + (xx[i] * image_xscale)) - hspace - 1, (y + (yy[i] * image_yscale)) - 1, (x + (xx[i] * image_xscale)) - hspace - 1, y + (yy[i] * image_yscale) + 1, false);
100
    if (i == 1)
101
        ossafe_fill_rectangle((x + (xx[i] * image_xscale) + hspace) - 1, (y + (yy[i] * image_yscale)) - 1, x + (xx[i] * image_xscale) + hspace + 1, y + (yy[i] * image_yscale) + 1, false);
102
    draw_text(0, i * 20, string(xx[i]) + ", " + string(yy[i]));
103
    var height = sprite_get_height(mysprite[i]);
104
    var width = sprite_get_height(mysprite[i]);
105
    draw_set_color(c_blue);
106
    ossafe_fill_rectangle(x - (xx[i] * image_xscale), y - (yy[i] * image_yscale), (x + (width * image_xscale)) - (xx[i] * image_xscale), (y + (height * image_xscale)) - (yy[i] * image_yscale), true);
107
    if (hitbox_mode)
108
    {
109
        var ix = image_xscale;
110
        var iy = image_yscale;
111
        draw_set_color(c_red);
112
        draw_set_alpha(0.5);
113
        ossafe_fill_rectangle(x + (bboxl * ix), y + (bboxu * iy), x + (bboxr * ix), y + (bboxd * iy), false);
114
        draw_set_alpha(1);
115
    }
116
}
117
if (sunkus_kb_check_pressed(49) && !keyboard_check(vk_shift))
118
    s = 0;
119
if (sunkus_kb_check_pressed(50) && !keyboard_check(vk_shift))
120
    s = 1;
121
if (sunkus_kb_check_pressed(51) && !keyboard_check(vk_shift))
122
    s = 2;
123
var m = 5;
124
if (sunkus_kb_check(40) && !keyboard_check(vk_shift))
125
{
126
    movetimer++;
127
    go = 0;
128
    if (movetimer >= m)
129
        go = 1;
130
    if (go && !hitbox_mode)
131
        sprite_set_offset(mysprite[s], xx[s], yy[s] - 1);
132
}
133
if (sunkus_kb_check(38) && !keyboard_check(vk_shift))
134
{
135
    movetimer++;
136
    go = 0;
137
    if (movetimer >= m)
138
        go = 1;
139
    if (go && !hitbox_mode)
140
        sprite_set_offset(mysprite[s], xx[s], yy[s] + 1);
141
}
142
if (sunkus_kb_check(37) && !keyboard_check(vk_shift))
143
{
144
    movetimer++;
145
    go = 0;
146
    if (movetimer >= m)
147
        go = 1;
148
    if (go && !hitbox_mode)
149
        sprite_set_offset(mysprite[s], xx[s] + 1, yy[s]);
150
}
151
if (sunkus_kb_check(39) && !keyboard_check(vk_shift))
152
{
153
    movetimer++;
154
    go = 0;
155
    if (movetimer >= m)
156
        go = 1;
157
    if (go && !hitbox_mode)
158
        sprite_set_offset(mysprite[s], xx[s] - 1, yy[s]);
159
}
160
if (hitbox_mode)
161
{
162
    if (keyboard_check(vk_right))
163
        bboxr++;
164
    if (keyboard_check(vk_left))
165
        bboxr--;
166
    sprite_set_bbox(mysprite[0], bboxl, bboxu, bboxr, bboxd);
167
}
168
if (sunkus_kb_check_pressed(83))
169
{
170
    snd_play(snd_save);
171
    sprite_set_bbox(sprite[0], bboxl, bboxu, bboxr, bboxd);
172
    for (i = 0; i < 3; i++)
173
        sprite_set_offset(sprite[i], xx[i], yy[i]);
174
}
175
draw_set_font(fnt_ja_dotumche);
176
draw_set_color(c_white);
177
var space = 15;
178
var yyy = 310;
179
var xxx = 10;
180
draw_text(xxx, yyy + (space * 0), "1/2/3: Select Sprite");
181
draw_text(xxx, yyy + (space * 1), "Shift+1/2/3: Change sprite");
182
draw_text(xxx, yyy + (space * 2), "4/5/6 Lower Transparency (Shift to Hide)");
183
draw_text(xxx, yyy + (space * 3), "Arrows: Adjust Anchor Point");
184
draw_text(xxx, yyy + (space * 4), "H: Edit hitbox of Sprite1");
185
draw_text(xxx, yyy + (space * 5), "S: Save changes (This session only)");
186
draw_text(xxx, yyy + (space * 6), "Shift+Arrows: Reposition Sprites");
187
draw_text(xxx, yyy + (space * 7), "D: Switch Image Scale");
188
draw_text(xxx, yyy + (space * 8), "CTRL+Shift+Arrows: Adjust spacing");
189
draw_text(xxx, yyy + (space * 9), "numpad 7/9 to change image_index");
190
draw_text(xxx, yyy + (space * 10), "Hold numpad 8 to alternate visibility");
191
draw_set_halign(fa_right);
192
draw_text(640 - xxx, yyy + (space * 0), "Hold F and Press 1/2/3 to flip sprite");
193
draw_set_halign(fa_left);
194
if (s == 0)
195
    draw_set_color(c_yellow);
196
else
197
    draw_set_color(c_gray);
198
draw_text(40, yyy + (space * -4), "Sprite 1: " + string(sprite_get_name(sprite[0])));
199
if (s == 1)
200
    draw_set_color(c_yellow);
201
else
202
    draw_set_color(c_gray);
203
draw_text(40, yyy + (space * -3), "Sprite 2: " + string(sprite_get_name(sprite[1])));
204
if (s == 2)
205
    draw_set_color(c_yellow);
206
else
207
    draw_set_color(c_gray);
208
draw_text(40, yyy + (space * -2), "Sprite 3: " + string(sprite_get_name(sprite[2])));
209
draw_set_color(c_white);
210
if (keyboard_check(vk_shift) && keyboard_check(vk_down))
211
    y++;
212
if (keyboard_check(vk_shift) && keyboard_check(vk_up))
213
    y--;
214
if (keyboard_check(vk_shift) && keyboard_check(vk_left) && !keyboard_check(vk_control))
215
    x--;
216
if (keyboard_check(vk_shift) && keyboard_check(vk_right) && !keyboard_check(vk_control))
217
    x++;
218
if (keyboard_check(vk_shift) && keyboard_check(vk_control) && keyboard_check(vk_right))
219
    hspace++;
220
if (keyboard_check(vk_shift) && keyboard_check(vk_control) && keyboard_check(vk_left))
221
    hspace--;
222
if (sunkus_kb_check_pressed(105))
223
    image_index++;
224
if (sunkus_kb_check_pressed(103))
225
    image_index--;
226
if (sunkus_kb_check_pressed(82))
227
    room_restart();
228
if (sunkus_kb_check_pressed(45))
229
    room_goto_next();
230
if (sunkus_kb_check_pressed(36))
231
    game_restart();
232
if (keyboard_check_pressed(ord("D")))
233
{
234
    if (image_xscale == 2)
235
    {
236
        image_xscale = 1;
237
        image_yscale = 1;
238
    }
239
    else
240
    {
241
        image_xscale = 2;
242
        image_yscale = 2;
243
    }
244
}