Skip to content

Commit 8458670

Browse files
v 1.2
1 parent 06a4528 commit 8458670

File tree

3 files changed

+239
-33
lines changed

3 files changed

+239
-33
lines changed

objects/obj_demo/Draw_0.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ draw_set_halign(fa_left);
88
draw_set_valign(fa_center);
99
draw_set_font(noone);
1010

11-
draw_text(5, 15, "Display Size: " + display_get_gui_size().to_string("x"));
11+
draw_text_color(Vector2(5, 15), "Display Size: " + display_get_gui_size().to_string("x"), c_yellow, c_yellow, c_orange, c_orange, 1);

scripts/Overwrite/Overwrite.gml

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,212 @@
1+
#region FUCKING SHIT (System)
2+
#region Draw text
3+
/// @function draw_text((x, y) or vector2, string)
4+
function __v_draw_text() {
5+
if (argument_count > 2) {
6+
var position = Vector2(argument[0], argument[1]);
7+
var text = argument[2];
8+
} else {
9+
var position = argument[0];
10+
var text = argument[1];
11+
}
12+
__draw_text(position.x, position.y, text);
13+
}
114

15+
/// @function draw_text_color((x, y) or vector2, string, c1, c2, c3, c4, alpha)
16+
function __v_draw_text_color() {
17+
var arg_offset = 1
18+
var vector = argument[0];
19+
if (argument_count > 7) {
20+
arg_offset = 2;
21+
vector = Vector2(argument[0], argument[1]);
22+
}
23+
var st = argument[arg_offset];
24+
var c1 = argument[arg_offset + 1];
25+
var c2 = argument[arg_offset + 2];
26+
var c3 = argument[arg_offset + 3];
27+
var c4 = argument[arg_offset + 4];
28+
var al = argument[arg_offset + 5];
29+
__draw_text_color(vector.x, vector.y, st, c1, c2, c3, c4, al);
30+
}
31+
32+
/// @function draw_text_ext((x, y) or vector2, string, sep, w)
33+
function __v_draw_text_ext() {
34+
var arg_offset = 1
35+
var vector = argument[0];
36+
if (argument_count > 4) {
37+
arg_offset = 2;
38+
vector = Vector2(argument[0], argument[1]);
39+
}
40+
var st = argument[arg_offset];
41+
var sp = argument[arg_offset + 1];
42+
var wd = argument[arg_offset + 2];
43+
__draw_text_ext(vector.x, vector.y, st, sp, wd);
44+
}
45+
46+
/// @function draw_text_ext_color((x, y) or vector2, string, sep, w, c1, c2, c3, c4, alpha)
47+
function __v_draw_text_ext_color() {
48+
var arg_offset = 1
49+
var vector = argument[0];
50+
if (argument_count > 9) {
51+
arg_offset = 2;
52+
vector = Vector2(argument[0], argument[1]);
53+
}
54+
var st = argument[arg_offset];
55+
var sp = argument[arg_offset + 1];
56+
var wd = argument[arg_offset + 2];
57+
var c1 = argument[arg_offset + 3];
58+
var c2 = argument[arg_offset + 4];
59+
var c3 = argument[arg_offset + 5];
60+
var c4 = argument[arg_offset + 6];
61+
var al = argument[arg_offset + 7];
62+
__draw_text_ext_color(vector.x, vector.y, st, sp, wd, c1, c2, c3, c4, al);
63+
}
64+
65+
/// @function draw_text_ext_transformed((x, y) or vector2, string, sep, w, xscale, yscale, angle)
66+
function __v_draw_text_ext_transformed() {
67+
var arg_offset = 1
68+
var vector = argument[0];
69+
if (argument_count > 7) {
70+
arg_offset = 2;
71+
vector = Vector2(argument[0], argument[1]);
72+
}
73+
var st = argument[arg_offset];
74+
var sp = argument[arg_offset + 1];
75+
var wd = argument[arg_offset + 2];
76+
var xs = argument[arg_offset + 3];
77+
var ys = argument[arg_offset + 4];
78+
var an = argument[arg_offset + 5];
79+
__draw_text_ext_transformed(vector.x, vector.y, st, sp, wd, xs, ys, an);
80+
}
81+
82+
/// @function draw_text_ext_transformed_color((x, y) or vector2, string, sep, w, xscale, yscale, angle, c1, c2, c3, c4, alpha)
83+
function __v_draw_text_ext_transformed_color() {
84+
var arg_offset = 1
85+
var vector = argument[0];
86+
if (argument_count > 12) {
87+
arg_offset = 2;
88+
vector = Vector2(argument[0], argument[1]);
89+
}
90+
var st = argument[arg_offset];
91+
var sp = argument[arg_offset + 1];
92+
var wd = argument[arg_offset + 2];
93+
var xs = argument[arg_offset + 3];
94+
var ys = argument[arg_offset + 4];
95+
var an = argument[arg_offset + 5];
96+
var c1 = argument[arg_offset + 6];
97+
var c2 = argument[arg_offset + 7];
98+
var c3 = argument[arg_offset + 8];
99+
var c4 = argument[arg_offset + 9];
100+
var al = argument[arg_offset + 10];
101+
__draw_text_ext_transformed_color(vector.x, vector.y, st, sp, wd, xs, ys, an, c1, c2, c3, c4, al);
102+
}
103+
104+
/// @function raw_text_transformed((x, y) or vector2, string, xscale, yscale, angle)
105+
function __v_draw_text_transformed() {
106+
var arg_offset = 1
107+
var vector = argument[0];
108+
if (argument_count > 5){
109+
arg_offset = 2;
110+
vector = Vector2(argument[0], argument[1]);
111+
}
112+
var st = argument[arg_offset];
113+
var xs = argument[arg_offset + 1];
114+
var ys = argument[arg_offset + 2];
115+
var an = argument[arg_offset + 3];
116+
__draw_text_transformed(vector.x, vector.y, st, xs, ys, an);
117+
}
118+
119+
/// @function draw_text_transformed_color((x, y) or vector2, string, xscale, yscale, angle, c1, c2, c3, c4, alpha)
120+
function __v_draw_text_transformed_color() {
121+
var arg_offset = 1
122+
var vector = argument[0];
123+
if (argument_count > 10) {
124+
arg_offset = 2;
125+
vector = Vector2(argument[0], argument[1]);
126+
}
127+
var st = argument[arg_offset];
128+
var xs = argument[arg_offset + 1];
129+
var ys = argument[arg_offset + 2];
130+
var an = argument[arg_offset + 3];
131+
var c1 = argument[arg_offset + 5];
132+
var c2 = argument[arg_offset + 6];
133+
var c3 = argument[arg_offset + 7];
134+
var c4 = argument[arg_offset + 8];
135+
var al = argument[arg_offset + 9];
136+
__draw_text_transformed_color(vector.x, vector.y, st, xs, ys, an, c1, c2, c3, c4, al);
137+
}
138+
#endregion
139+
#region Place
140+
/// @function place_empty((x, y) or vector2, [object_id])
141+
function __v_place_empty() {
142+
var obj_id = id;
143+
var position;
144+
if (is_vector2(argument[0])) {
145+
position = argument[0];
146+
if (argument_count > 1) {
147+
obj_id = argument[1];
148+
}
149+
} else {
150+
position = Vector2(argument[0], argument[1]);
151+
if (argument_count > 2) {
152+
obj_id = argument[3];
153+
}
154+
}
155+
return __place_empty(position.x, position.y, obj_id);
156+
}
157+
158+
/// @function place_free((x, y) or vector2)
159+
function __v_place_free() {
160+
var position = argument[0];
161+
if (argument_count > 1) {
162+
position = Vector2(argument[0], argument[1]);
163+
}
164+
return __place_free(position);
165+
}
166+
#endregion
167+
#endregion
168+
169+
#region Macros
170+
#region Draw text
171+
// draw_text
172+
#macro __draw_text draw_text
173+
#macro draw_text __v_draw_text
174+
175+
// draw_text_color
176+
#macro __draw_text_color draw_text_color
177+
#macro draw_text_color __v_draw_text_color
178+
179+
// draw_text_ext
180+
#macro __draw_text_ext draw_text_ext
181+
#macro draw_text_ext __v_draw_text_ext
182+
183+
// draw_text_ext_color
184+
#macro __draw_text_ext_color draw_text_ext_color
185+
#macro draw_text_ext_color __v_draw_text_ext_color
186+
187+
// draw_text_ext_transformed
188+
#macro __draw_text_ext_transformed draw_text_ext_transformed
189+
#macro draw_text_ext_transformed __v_draw_text_ext_transformed
190+
191+
// draw_text_ext_transformed_color
192+
#macro __draw_text_ext_transformed_color draw_text_ext_transformed_color
193+
#macro draw_text_ext_transformed_color __v_draw_text_ext_transformed_color
194+
195+
// draw_text_transformed
196+
#macro __draw_text_transformed draw_text_transformed
197+
#macro draw_text_transformed __v_draw_text_transformed
198+
199+
// draw_text_transformed_color
200+
#macro __draw_text_transformed_color draw_text_transformed_color
201+
#macro draw_text_transformed_color __v_draw_text_transformed_color
202+
#endregion
203+
#region Collision
204+
// place_empty
205+
#macro __place_empty place_empty
206+
#macro place_empty __v_place_empty
207+
208+
// place_free
209+
#macro __place_free place_free
210+
#macro place_free __v_place_free
211+
#endregion
212+
#endregion

scripts/Vector2/Vector2.gml

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -191,40 +191,16 @@ function ClassVector2(x, y) constructor {
191191
return Vector2(round(x), round(y));
192192
}
193193

194-
/// @func math_roundv()
195-
/// @desc Sets self with all components in round values
196-
static math_roundv = function() {
197-
var value = math_round();
198-
set(value);
199-
delete value;
200-
return self;
201-
}
202-
203194
/// @func math_floor()
204195
static math_floor = function() {
205196
return Vector2(floor(x), floor(y));
206197
}
207198

208-
/// @func math_floorv()
209-
static math_floorv = function() {
210-
var value = math_floor();
211-
set(value);
212-
delete value;
213-
return self;
214-
}
215-
216199
/// @func math_ceil()
217200
static math_ceil = function() {
218201
return Vector2(ceil(x), ceil(y));
219202
}
220203

221-
/// @func math_ceilv()
222-
static math_ceilv = function() {
223-
var value = math_ceilv();
224-
set(value);
225-
delete value;
226-
return self;
227-
}
228204

229205
/// @func math_length()
230206
/// @desc Returns real vector length
@@ -319,6 +295,15 @@ function ClassVector2(x, y) constructor {
319295
#endregion
320296
#region Convert
321297

298+
/// @func to_map()
299+
/// @param {bool} mirror
300+
static to_map = function(mirror = false) {
301+
var map = ds_map_create();
302+
map[? 0] = mirror ? y : x;
303+
map[? 1] = mirror ? x : y;
304+
return map;
305+
}
306+
322307
/// @func to_list()
323308
/// @param {bool} mirror
324309
static to_list = function(mirror = false) {
@@ -394,9 +379,9 @@ function ClassVector2(x, y) constructor {
394379
/// @func dir_multi()
395380
/// @param {vector2_dir} direction
396381
/// @param {real} value
397-
static dir_multi = function(dir, value) {
382+
static dir_multi = function(_dir, _value) {
398383
var vector = copy();
399-
__dir_base(dir, value, vector);
384+
__dir_base(_dir, _value, vector);
400385
multi(vector);
401386
delete vector;
402387
return self;
@@ -408,12 +393,22 @@ function ClassVector2(x, y) constructor {
408393
#region Vector2
409394

410395
/// @func vector2_to_string()
411-
/// @param {Vector2} Vector2
396+
/// @param {Vector2} vector2
412397
/// @param {string} delemiter
413-
function vector2_to_string(vector, delimiter = ":") {
414-
return vector.to_string(delimiter);
398+
function vector2_to_string(_vector, _delimiter = ":") {
399+
return _vector.to_string(_delimiter);
415400
}
401+
402+
/// @func is_vector2()
403+
/// @param {Vector2} vector2
404+
function is_vector2(_vector) {
405+
if (is_struct(_vector)) {
406+
return instanceof(_vector) == "ClassVector2";
407+
}
416408

409+
return false;
410+
}
411+
417412
#endregion
418413
#region Display
419414

@@ -438,23 +433,23 @@ function position_get(_object = id) {
438433
}
439434

440435
/// @func position_set()
441-
/// @param {Vector2} Vector2
436+
/// @param {Vector2} vector2
442437
/// @param {object} obj
443438
function position_set(_vector2, _object = id) {
444439
_object.x = _vector2.x;
445440
_object.y = _vector2.y;
446441
}
447442

448443
/// @func position_add()
449-
/// @param {Vector2} Vector2
444+
/// @param {Vector2} vector2
450445
/// @param {object} obj
451446
function position_add(_vector2, _object = id) {
452447
_object.x += _vector2.x;
453448
_object.y += _vector2.y;
454449
}
455450

456451
/// @func position_multi()
457-
/// @param {Vector2} Vector2
452+
/// @param {Vector2} vector2
458453
/// @param {object} obj
459454
function position_multi(_vector2, _object = id) {
460455
_object.x *= _vector2.x;

0 commit comments

Comments
 (0)