Skip to content

Commit 5eca621

Browse files
committed
Fix white outline being produced on sprites with semitransparent borders
1 parent 8a5fdac commit 5eca621

File tree

5 files changed

+24
-12
lines changed

5 files changed

+24
-12
lines changed

DROButtonMaker.yyp

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

objects/objButtonGenerator/Draw_0.gml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if (mode == 1 or mode == 3) {
55
surface = surface_create(cam_w(0), cam_h(0))
66
}
77
surface_set_target(surface);
8-
draw_clear_alpha(c_white, 0);
8+
draw_clear_alpha(c_black, 0);
99
surface_reset_target();
1010

1111
var size = objButtonGenerator.target_size;
@@ -60,5 +60,7 @@ if (mode == 1 or mode == 3) {
6060
alarm[0] = 1;
6161
var _vx = cam_x(0);
6262
var _vy = cam_y(0);
63+
gpu_set_blendmode_ext(bm_one, bm_inv_src_alpha);
6364
draw_surface(surface, _vx, _vy);
65+
gpu_set_blendmode(bm_normal);
6466
}

objects/objController/Draw_0.gml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ if (objButtonGenerator.mask_name == "") {
4242
}
4343

4444
draw_text(_x, _y + _gap*8, "Size of frame: " + string(objFrame.width));
45-
draw_text(_x, _y + _gap*9, "Left coordinate of frame: " + string(objFrame.x));
46-
draw_text(_x, _y + _gap*10, "Top coordinate of frame: " + string(objFrame.y));
45+
draw_text(_x, _y + _gap*9, "x coordinate of frame: " + string(objFrame.x));
46+
draw_text(_x, _y + _gap*10, "y coordinate of frame: " + string(objFrame.y));
4747

objects/objImageDisplay/Draw_0.gml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if !surface_exists(surface) {
99
surface = surface_create(cam_w(0), cam_h(0))
1010
}
1111
surface_set_target(surface);
12-
draw_clear_alpha(c_white, 0);
12+
draw_clear_alpha(c_black, 0);
1313
var _vx = cam_x(0);
1414
var _vy = cam_y(0);
1515
var _vw = cam_w(0);
@@ -24,7 +24,9 @@ if (sprite_height < _vh) {
2424
}
2525
draw_sprite(sprite_index, image_index, x - _vx + _small_x_offset, y - _vy + _small_y_offset);
2626
surface_reset_target();
27+
gpu_set_blendmode_ext(bm_one, bm_inv_src_alpha);
2728
draw_surface(surface, _vx, _vy);
29+
gpu_set_blendmode(bm_normal);
2830

2931
// Surface for zoom
3032
if (!draw_zoom) {
@@ -38,4 +40,6 @@ draw_clear_alpha(c_white, 0);
3840
surface_reset_target();
3941
surface_copy_part(zoom_surface, 0, 0, surface, mouse_x-_vx-40, mouse_y-_vy-40, 80, 80);
4042
surface_copy_part(zoom_surface, 0, 0, objFrame.frame_surface, mouse_x-40, mouse_y-40, 80, 80);
43+
gpu_set_blendmode_ext(bm_one, bm_inv_src_alpha);
4144
draw_surface_stretched(zoom_surface, _vx+_vw-200, _vy, 200, 200);
45+
gpu_set_blendmode(bm_normal);

objects/objPreview/Draw_0.gml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ if (character_name != "") {
55
if !surface_exists(preview_surface) {
66
preview_surface = surface_create(cam_w(0), cam_h(0));
77
}
8-
surface_set_target(preview_surface);
9-
draw_clear_alpha(c_white, 0);
10-
surface_reset_target();
11-
128
var _x = cam_x(0) + cam_w(0) - preview_size;
139
var _y = cam_y(0);
14-
10+
surface_set_target(preview_surface);
11+
draw_clear_alpha(c_black, 0);
12+
surface_reset_target();
13+
1514
if (sprite_exists(background_sprite)) {
1615
draw_scaled(preview_surface, background_sprite, _x, _y, preview_size, preview_size);
1716
}
@@ -46,5 +45,12 @@ if (character_name != "") {
4645

4746
var _vx = cam_x(0);
4847
var _vy = cam_y(0);
48+
49+
//lay_id = layer_get_id("Background");
50+
//back_id = layer_background_get_id(lay_id);
51+
//layer_background_blend(back_id, );
52+
53+
gpu_set_blendmode_ext(bm_one, bm_inv_src_alpha);
4954
draw_surface(preview_surface, _vx, _vy);
55+
gpu_set_blendmode(bm_normal);
5056
}

0 commit comments

Comments
 (0)