|
1
|
if (!i_ex(target_char))
|
|
2
|
{
|
|
3
|
instance_destroy();
|
|
4
|
exit;
|
|
5
|
}
|
|
6
|
if (!target_char.visible)
|
|
7
|
exit;
|
|
8
|
if (target_char == noone)
|
|
9
|
exit;
|
|
10
|
if (init == 0)
|
|
11
|
{
|
|
12
|
depth = 0;
|
|
13
|
if (target_char != obj_mainchara)
|
|
14
|
{
|
|
15
|
if (target_char.name == "susie")
|
|
16
|
color = #EA79C8;
|
|
17
|
if (target_char.name == "ralsei")
|
|
18
|
color = #B5E61D;
|
|
19
|
if (target_char.name == "noelle")
|
|
20
|
{
|
|
21
|
color = c_yellow;
|
|
22
|
rsprite = spr_noelle_young_silhouette;
|
|
23
|
}
|
|
24
|
}
|
|
25
|
init = 1;
|
|
26
|
}
|
|
27
|
if (copy_sprite)
|
|
28
|
{
|
|
29
|
sprite_index = target_char.sprite_index;
|
|
30
|
image_index = target_char.image_index;
|
|
31
|
}
|
|
32
|
else if (target_char.sprite_index == target_char.usprite)
|
|
33
|
{
|
|
34
|
sprite_index = usprite;
|
|
35
|
}
|
|
36
|
else if (target_char.sprite_index == target_char.dsprite)
|
|
37
|
{
|
|
38
|
sprite_index = dsprite;
|
|
39
|
}
|
|
40
|
else if (target_char.sprite_index == target_char.lsprite)
|
|
41
|
{
|
|
42
|
sprite_index = lsprite;
|
|
43
|
}
|
|
44
|
else if (target_char.sprite_index == target_char.rsprite || target_char.sprite_index == spr_noelle_walk_face_up_dw)
|
|
45
|
{
|
|
46
|
obj_silhouette_base.outline = true;
|
|
47
|
sprite_index = rsprite;
|
|
48
|
}
|
|
49
|
else
|
|
50
|
{
|
|
51
|
sprite_index = target_char.sprite_index;
|
|
52
|
}
|
|
53
|
depth = 4000;
|
|
54
|
gpu_set_blendenable(false);
|
|
55
|
gpu_set_colorwriteenable(false, false, false, true);
|
|
56
|
draw_set_alpha(0);
|
|
57
|
draw_rectangle(0, 0, room_width, room_height, false);
|
|
58
|
draw_set_alpha(1);
|
|
59
|
gpu_set_alphatestenable(true);
|
|
60
|
gpu_set_blendenable(true);
|
|
61
|
if (instance_number(obj_silhouette_cover) > 0)
|
|
62
|
{
|
|
63
|
for (i = 0; i < instance_number(obj_silhouette_cover); i++)
|
|
64
|
{
|
|
65
|
var _cover = instance_find(obj_silhouette_cover, i);
|
|
66
|
if (tiled_cover)
|
|
67
|
scr_draw_sprite_tiled_areascr_draw_sprite_tiled_area
function scr_draw_sprite_tiled_area()
{
var sprite = argument[0];
var subimg = argument[1];
var xx = argument[2];
var yy = argument[3];
var x1 = argument[4];
var y1 = argument[5];
var x2 = argument[6];
var y2 = argument[7];
var xscale = argument[8];
var yscale = argument[9];
var col = (argument_count > 10) ? argument[10] : 16777215;
var alpha = (argument_count > 11) ? argument[11] : 1;
var sw = sprite_get_width(sprite) * xscale;
var sh = sprite_get_height(sprite) * yscale;
var i = x1 - ((x1 % sw) - (xx % sw)) - (sw * ((x1 % sw) < (xx % sw)));
var j = y1 - ((y1 % sh) - (yy % sh)) - (sh * ((y1 % sh) < (yy % sh)));
var jj = j;
while (i <= x2)
{
while (j <= y2)
{
var left;
if (i <= x1)
left = x1 - i;
else
left = 0;
var X = i + left;
var top;
if (j <= y1)
top = y1 - j;
else
top = 0;
var Y = j + top;
var width;
if (x2 <= (i + sw))
width = ((sw - ((i + sw) - x2)) + 1) - left;
else
width = sw - left;
var height;
if (y2 <= (j + sh))
height = ((sh - ((j + sh) - y2)) + 1) - top;
else
height = sh - top;
draw_sprite_part_ext(sprite, subimg, left, top, width, height, X, Y, xscale, yscale, col, alpha);
j += sh;
}
j = jj;
i += sw;
}
return 0;
} (_cover.sprite_index, 0, _cover.x, _cover.y, _cover.x, _cover.y, _cover.x + (sprite_get_width(_cover.sprite_index) * _cover.image_xscale), _cover.y + (sprite_get_height(_cover.sprite_index) * _cover.image_yscale), 2, 2, c_white, 1);
|
|
68
|
else
|
|
69
|
draw_sprite_ext(_cover.sprite_index, _cover.image_index, _cover.x, _cover.y, _cover.image_xscale, _cover.image_yscale, _cover.image_angle, c_white, 1);
|
|
70
|
}
|
|
71
|
}
|
|
72
|
gpu_set_blendenable(true);
|
|
73
|
if (outline)
|
|
74
|
{
|
|
75
|
gpu_set_blendmode_ext(bm_zero, bm_zero);
|
|
76
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, c_black, 1);
|
|
77
|
}
|
|
78
|
gpu_set_colorwriteenable(true, true, true, true);
|
|
79
|
gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
|
|
80
|
gpu_set_alphatestenable(true);
|
|
81
|
d3d_set_fog(true, color, 0, 1);
|
|
82
|
if (outline)
|
|
83
|
{
|
|
84
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x - 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
|
|
85
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x + 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
|
|
86
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y - 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
|
|
87
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y + 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
|
|
88
|
}
|
|
89
|
else
|
|
90
|
{
|
|
91
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, c_black, 1);
|
|
92
|
}
|
|
93
|
draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, c_black, 0.5);
|
|
94
|
d3d_set_fog(false, c_black, 0, 0);
|
|
95
|
gpu_set_alphatestenable(false);
|
|
96
|
gpu_set_blendmode(bm_normal);
|