This commit is contained in:
the me 2022-08-07 14:14:04 -07:00
commit 09ade10207
117 changed files with 2153 additions and 0 deletions

View file

@ -0,0 +1,56 @@
//TOP TEN [[Spookiest]] OPERATIONS ALL [[Children of any type]] NEED TO BECOME A KROMILLIONAIRE
function NUMBER10(KROMER) {
return KROMER+1;
//INCREASE KROMER WITH FREE [[Function]]-LIKE OPERATION
//balls
}
function NUMBER9(KROMER) {
return KROMER*2;
//I WILL BECOME BACK MY KROMER
}
function NUMBER8(KROMER) {
return KROMER+KROMER;
//DON"T BE FOOLED, [[Little sponge]]!! KROMER [[Times two]] IS [[Less than]] KROMER [[Plus]] KROMER
}
function NUMBER7(KROMER) {
return (KROMER/KROMER)*13;
//WHEN I WAS A [[Young Chip]] LIKE YOURSELF 13, KROMER WAS ALL YOU NEEDED FOR [[Fun in the sun]]!
}
function NUMBER6(KROMER) {
return KROMER;
//ALL YOUR MONEY BACK GUARANTEE
}
function NUMBER5(KROMER) {
{
//...but nobody came.
}
}
function NUMBER4(KROMER) {
var PROFITS;
for (var FREE=0; FREE< KROMER; FREE = NUMBER10(FREE)) {
PROFITS = KROMER | FREE;
}
return PROFITS;
//NOW'S YOUR CHANCE TO MAKE A BIT SHOT
}
function NUMBER3(KROMER) {
return 0;
//OUT OF KROMER??? LUCKY?????
}
function NUMBER2(KROMER) {
return {
KROMER: KROMER
}
//I HEARD YOU LIKE KROMER SO I P(*A&WERYI(&#(!@*&$()*&$()&*#AOPI$OPI(JKS
}
function NUMBER1(KROMER) {
var PROFITS = KROMER;
while KROMER {
PROFITS += infinity;
}
return PROFITS;
//WOW, [[Bread man]]!! YOU r BIG SHOT 4EVER?!
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Misc",
"path": "folders/Misc.yy",
},
"resourceVersion": "1.0",
"name": "KROMER_scrip",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,9 @@
function array_contains(array, val) {
var i;
for (i=0; i<array_length(array); i++) {
if array[i] = val {
return true;
}
}
return false;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_contains",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,11 @@
function array_find_index(array, val, repititionof=1) {
var i;
var amountof = 0;
for (i=0; i<array_length(array); i++) {
if array[i] == val {
amountof++;
if amountof >= repititionof return i;
}
}
return -1;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_find_index",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,18 @@
function array_front(array, val) {
var returnable = false;
var test;
var i;
for (i=0; i<array_length(array); i++) {
if array[i] == val {
test = array[i];
array_delete(array, i, 1);
array_insert(array, 0, test);
returnable = true;
}
}
/*do {
test = [];
array_copy(test, 0, array, movedcount, array_length(array)-movedcount);
} until !array_contains(test, val);*/
return returnable;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_front",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,24 @@
/*function array_create_depth(size, depth, value=0) {
var i;
var deepness = 0;
var array = [];
var arrayref = array;
for (i=0; i<depth; i++) {
for (j=0; j<size; j++) {
arrayref[j] = []
}
arrayref
}
array
return array;
}*/
function array_generate_2d(length, depth, value) {
var i;
var array = [];
for (i=0; i<length; i++) {
array[i] = array_create(depth, value);
}
return array;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_generate_2d",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
function array_greatest(array) {
var bigshot = -infinity;
var bigshotat = -1;
var i;
for (i=0; i<array_length(array); i++) {
if bigshot < array[i] {
bigshot = array[i];
bigshotat = i;
}
}
return bigshotat;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_greatest",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,18 @@
function array_insert_array(targetarray, insertarray, index) {
var i;
for (i=0; i<array_length(insertarray); i++) {
array_insert(targetarray, index+i, insertarray[i]);
}
}
function array_insert_array_parse(array) {
var i;
for(i=0; i<array_length(array); i++) {
if typeof(array[i]) == "array" {
var dude = array[i];
array_insert_array(array, dude, i);
array_remove(array, dude)
}
}
return array;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_insert_array",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
function array_remove(array, val) {
var returnable = false;
var i;
for (i=0; i<array_length(array); i++) {
if array[i] == val {
array_delete(array, i, 1);
i--;
returnable = true;
}
}
return returnable;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_remove",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,8 @@
function array_sum(array) {
var i;
var result = 0;
for (i=0; i<array_length(array); i++) {
result += array[i];
}
return result;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "array_sum",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,27 @@
function bint_sort(array){
function mix(array){
var mixed = array_create(array_length(array),undefined)
for(var i = 0; i < array_length(array); i++){
while(true){
var randm = irandom(array_length(array)-1);
if(mixed[randm] != undefined){
mixed[randm] = array[i];
break;
}
}
}
return mixed;
}
function check_sorted(array){
for(var i = 1; i < array_length(array); i++){
if(array[i] < array[i-1])
return 0;
}
return 1;
}
while(true){
array = mix(array)
if check_sorted(array)
return array;
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "bint_sort",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,38 @@
function c_null() {
//log("C NULLING");
return;
}
#macro yeah true
#macro nah false
#macro maybe undefined
#macro sec *60
#macro otherwise else
#macro u undefined
#macro bul global.bullets
#macro las global.lasers
#macro hsn global.hitscans
#macro chn global.chains
#macro en global.enemies
#macro WIDTH global.gw
#macro HEIGHT global.gh
#macro c_evil 0x999900
#macro c_pink 0xFF8FFF
#macro c_cyan $ECD919
#macro prog for
#macro dial switch
#macro stupidfalse false
#macro stupidtrue true
#macro xnor !xor
//#macro is ==
#macro MY_X ISAAC.visiblex
#macro MY_Y ISAAC.visibley
#macro gc global.count
/*var testStruct = {bruh:2,skruh:"40"};
var testArray = [2,4,5,7,8];
log(testArray[testStruct])

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Scripts",
"path": "folders/Scripts.yy",
},
"resourceVersion": "1.0",
"name": "c_null",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,5 @@
function clampneg(val) {
if val < 0 return -1
else if val > 0 return 1
else return 0
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "clampneg",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,58 @@
function collision_line_width(x1, y1, x2, y2, precision, width, target) {
///collizion_line(x1, y1, z1, x2, y2, z2, precision, width, object);
var hit = [0];
var xdist = x2-x1;
var ydist = y2-y1;
//var xydist = pythag(xdist, ydist, 0);
//var zdist = z2-z1;
var i;
var j=0;
width /= 2;
for (i=0; i<=precision; i++) {
if (x1+(xdist*(i/precision)) >= room_width || x1+(xdist*(i/precision)) <= 0) && (y1+(ydist*(i/precision)) >= room_height || y1+(ydist*(i/precision)) <= 0) return hit;
hit[i] = collision_circle(
x1+(xdist*(i/precision)),
y1+(ydist*(i/precision)),
width,
target,
false,
false
);
/*if hit[i] != noone {
j++;
hit[i] = 0;
}*/
}
return hit;
}
//LASER
function draw_collision_line_width(x1, y1, x2, y2, precision, width, target) {
///collizion_line(x1, y1, z1, x2, y2, z2, precision, width, object);
var hit = [0];
var xdist = x2-x1;
var ydist = y2-y1;
width /= 2;
//var xydist = pythag(xdist, ydist, 0);
//var zdist = z2-z1;
var i;
var j;
for (i=0; i<=precision; i++) {
if (x1+(xdist*(i/precision)) >= room_width || x1+(xdist*(i/precision)) <= 0) && (y1+(ydist*(i/precision)) >= room_height || y1+(ydist*(i/precision)) <= 0) exit;
draw_circle(
x1+(xdist*(i/precision)),
y1+(ydist*(i/precision)),
width,
false
);
}
}
//LASER

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "collision_line_width",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function cpp() {
count++;
}
function cmm() {
count--;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "cpp",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,88 @@
function deep_copy(struct, antiwhiletrue=[]) {
var newone = {};
var oldstuff = variable_struct_get_names(struct);
var i;
for (i=0; i<array_length(oldstuff); i++) {
switch typeof(struct[$oldstuff[i]]) {
case "struct":
if !array_contains(antiwhiletrue, struct[$oldstuff[i]]) {
array_push(antiwhiletrue, struct[$oldstuff[i]]);
newone[$oldstuff[i]] = deep_copy(struct[$oldstuff[i]], antiwhiletrue);
} else {
newone[$oldstuff[i]] = struct[$oldstuff[i]];
}
break;
case "array":
newone[$oldstuff[i]] = [];
var len = array_length(struct[$oldstuff[i]])
array_copy(newone[$oldstuff[i]], 0, struct[$oldstuff[i]], 0, len);
break;
case "method":
if method_get_self(struct[$oldstuff[i]]) == struct {
newone[$oldstuff[i]] = method(newone, struct[$oldstuff[i]]);
} else {
newone[$oldstuff[i]] = struct[$oldstuff[i]];
//log("it's someone else!");
}
break;
default:
newone[$oldstuff[i]] = struct[$oldstuff[i]];
break;
}
}
return newone;
}
function deep_copy_instance(instance) {
var farts = instance_create(instance.x, instance.y, instance.object_index);
var oldstuff = variable_struct_get_names(instance);
var i;
for (i=0; i<array_length(oldstuff); i++) {
if is_struct(variable_instance_get(instance, oldstuff[i])) {
variable_instance_set(farts, oldstuff[i], deep_copy(variable_instance_get(instance, oldstuff[i])));
} else {
variable_instance_set(farts, oldstuff[i], variable_instance_get(instance, oldstuff[i]));
}
}
return farts;
}
function deep_copy_into(struct, targetstruct, antiwhiletrue=[]) {
var oldstuff = variable_struct_get_names(struct);
var i;
log(11);
for (i=0; i<array_length(oldstuff); i++) {
log(string(22) + string(i));
if is_struct(struct[$oldstuff[i]]) {
if !array_contains(antiwhiletrue, struct[$oldstuff[i]]) {
log(string(99) + oldstuff[i]);
array_push(antiwhiletrue, struct[$oldstuff[i]]);
targetstruct[$oldstuff[i]] = deep_copy(struct[$oldstuff[i]], antiwhiletrue);
} else {
log("WASNT" + oldstuff[i]);
targetstruct[$oldstuff[i]] = struct[$oldstuff[i]];
}
} else {
log(string(33) + oldstuff[i]);
targetstruct[$oldstuff[i]] = struct[$oldstuff[i]];
}
}
log(string(44) + string(i));
log(irandom(999));
}
function deep_copy_instance_into(instance, targetinstance) {
var oldstuff = variable_struct_get_names(instance);
var i;
for (i=0; i<array_length(oldstuff); i++) {
if is_struct(variable_instance_get(instance, oldstuff[i])) {
variable_instance_set(targetinstance, oldstuff[i], deep_copy(variable_instance_get(instance, oldstuff[i])));
} else {
variable_instance_set(targetinstance, oldstuff[i], variable_instance_get(instance, oldstuff[i]));
}
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "deep_copy",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,19 @@
function dir2hv(dir_=direction, spd_=speed) {
//gml_pragma("forceinline")
//if dir && spd {
hspd = (dsin(dir_+90)%360)*spd_;
vspd = (dcos(dir_+90)%360)*spd_;
dir = 0;
spd = 0;
direction = 0;
speed = 0;
//}
}
function hv2dir(hspd, vspd) {
spd = (abs(hspd)+abs(vspd))/2;
dir = darctan2(hspd, vspd);
speed = spd;
direction = dir;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "dir2hv",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,28 @@
function distabs(dir, distance) {
var dist = {
x: 0,
y: 0
}
/*var bitch = instance_create(x1, y1, o_null);
bitch.speed = distance;
bitch.direction = dir;
with bitch {
dir2hv(direction, speed);
x += hspd;
y += vspd;
}
dist.x = bitch.x;
dist.y = bitch.y;
instance_destroy(bitch);*/
with dist {
dir2hv(dir, distance);
x = hspd;
y = vspd;
};
//log(distance, hspd, vspd);
//hspd = 0;
//vspd = 0;
return dist;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "distabs",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,75 @@
//I DID NOT MAKE THIS LOL
//https://marketplace.yoyogames.com/assets/1423/advanced-circle-drawing
/// @description draw_circle_curve(x,y,r,bones,ang,angadd,width,outline)
/// @param x
/// @param y
/// @param r
/// @param bones
/// @param ang
/// @param angadd
/// @param width
/// @param outline
function draw_circle_curve(argument0, argument1, argument2, argument3, argument4, argument5, argument6, argument7) {
/*
x,y — Center of circle.
r — Radius.
bones — Amount of bones. More bones = more quality, but less speed. Minimum — 3.
ang — Angle of first circle's point.
angadd — Angle of last circle's point (relative to ang).
width — Width of circle (may be positive or negative).
outline — 0 = curve, 1 = sector.
*/
var xx,yy,R,B,A,Aa,W,a,lp,lm,dp,dm,B2,AAa,Wh,Out;
xx=argument0
yy=argument1
R=argument2
B=max(3,argument3)
A=argument4
Aa=argument5
W=argument6
Out=argument7
a=Aa/B
Wh=W/2
lp=R+Wh
lm=R-Wh
AAa=A+Aa
if Out
{
//OUTLINE
draw_primitive_begin(pr_trianglestrip) //Change to pr_linestrip, to see how it works.
draw_vertex(xx+lengthdir_x(lm,A),yy+lengthdir_y(lm,A)) //First point.
for(i=1; i<=B; i+=1)
{
dp=A+a*i
dm=dp-a
draw_vertex(xx+lengthdir_x(lp,dm),yy+lengthdir_y(lp,dm))
draw_vertex(xx+lengthdir_x(lm,dp),yy+lengthdir_y(lm,dp))
}
draw_vertex(xx+lengthdir_x(lp,AAa),yy+lengthdir_y(lp,AAa))
draw_vertex(xx+lengthdir_x(lm,AAa),yy+lengthdir_y(lm,AAa)) //Last two points to make circle look right.
//OUTLINE
}
else
{
//SECTOR
draw_primitive_begin(pr_trianglefan) //Change to pr_linestrip, to see how it works.
draw_vertex(xx,yy) //First point in the circle's center.
for(i=1; i<=B; i+=1)
{
dp=A+a*i
dm=dp-a
draw_vertex(xx+lengthdir_x(lp,dm),yy+lengthdir_y(lp,dm))
}
draw_vertex(xx+lengthdir_x(lp,AAa),yy+lengthdir_y(lp,AAa)) //Last point.
//SECTOR
}
draw_primitive_end()
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_circle_curve",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function draw_circle_width(x, y, r, w, outline) {
var i;
for (i=-floor(w/2); i<w; i++) {
draw_circle(x, y, r+i/2, outline);
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_circle_width",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,7 @@
function draw_hitbox(obj){
with(obj){
var bbox_width = sprite_get_bbox_left(sprite_index) - sprite_get_bbox_right(sprite_index)
bbox_width = abs(bbox_width)
draw_circle_width((bbox_left+bbox_right)/2,(bbox_top+bbox_bottom)/2,bbox_width,global.scale,true)
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_hitbox",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,137 @@
// Script assets have changed for v2.3.0 see
// https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
function draw_outline_better(sprite,image,red,green,blue,alpha,outlineWidth,x,y){
var mathsw = sprite_get_width(sprite)+(outlineWidth*2);
var surf = surface_create(mathsw,mathsw);
var surf2 = surface_create(mathsw,mathsw);
surface_set_target(surf2);
draw_clear_alpha(c_white,0);
surface_reset_target();
surface_set_target(surf);
draw_clear_alpha(c_white,0);
draw_outline_nofunc_sprite(sprite,image,red,green,blue,alpha,1,mathsw/2,mathsw/2);
surface_reset_target();
repeat(outlineWidth){
surface_set_target(surf2);
draw_outline_nofunc_surface(surf,red,green,blue,alpha,1,0,0);
surface_reset_target();
var temp = surf2;
surf2 = surf
surf = temp;
}
draw_surface(surf,x- sprite_get_xoffset(sprite)-outlineWidth ,y-sprite_get_yoffset(sprite)-outlineWidth);
surface_free(surf);
surface_free(surf2);
draw_sprite(sprite, image, x, y);
}
function draw_outline(sprite,image,red,green,blue,alpha,outlineWidth,func){
shader_set(z_outline);
static uniw = shader_get_uniform(z_outline,"pixelW");
static unih = shader_get_uniform(z_outline,"pixelH");
static unicol = shader_get_uniform(z_outline,"theColor");
static uniprog = shader_get_uniform(z_outline,"progress");
static unioutline = shader_get_uniform(z_outline,"outlineSize");
shader_set_uniform_f(uniw,texture_get_texel_width(sprite_get_texture(sprite,image)));
shader_set_uniform_f(unih,texture_get_texel_height(sprite_get_texture(sprite,image)));
shader_set_uniform_f(unicol,red,green,blue,alpha);
shader_set_uniform_f(uniprog,1);
shader_set_uniform_f(unioutline,outlineWidth);
func();
shader_reset();
}
function draw_outline_nofunc_sprite(sprite,image,red,green,blue,alpha,outlineWidth,x,y){
shader_set(z_outline);
static uniw = shader_get_uniform(z_outline,"pixelW");
static unih = shader_get_uniform(z_outline,"pixelH");
static unicol = shader_get_uniform(z_outline,"theColor");
static uniprog = shader_get_uniform(z_outline,"progress");
static unioutline = shader_get_uniform(z_outline,"outlineSize");
shader_set_uniform_f(uniw,texture_get_texel_width(sprite_get_texture(sprite,image)));
shader_set_uniform_f(unih,texture_get_texel_height(sprite_get_texture(sprite,image)));
shader_set_uniform_f(unicol,red,green,blue,alpha);
shader_set_uniform_f(uniprog,1);
shader_set_uniform_f(unioutline,outlineWidth);
draw_sprite(sprite,image,x,y);
shader_reset();
}
function draw_outline_nofunc_surface(surf,red,green,blue,alpha,outlineWidth,x,y){
shader_set(z_outline);
static uniw = shader_get_uniform(z_outline,"pixelW");
static unih = shader_get_uniform(z_outline,"pixelH");
static unicol = shader_get_uniform(z_outline,"theColor");
static uniprog = shader_get_uniform(z_outline,"progress");
static unioutline = shader_get_uniform(z_outline,"outlineSize");
shader_set_uniform_f(uniw,texture_get_texel_width(surface_get_texture(surf)));
shader_set_uniform_f(unih,texture_get_texel_height(surface_get_texture(surf)));
shader_set_uniform_f(unicol,red,green,blue,alpha);
shader_set_uniform_f(uniprog,1);
shader_set_uniform_f(unioutline,outlineWidth);
draw_surface(surf,x,y);
shader_reset();
}
function draw_text_outline(x,y,width,height,red,green,blue,alpha,outlineWidth,func){
var bitches = surface_create(width, height);
surface_set_target(bitches);
draw_clear_alpha(c_black, 0);
func();
shader_set(z_outline);
static uniw = shader_get_uniform(z_outline,"pixelW");
static unih = shader_get_uniform(z_outline,"pixelH");
static unicol = shader_get_uniform(z_outline,"theColor");
static uniprog = shader_get_uniform(z_outline,"progress");
static unioutline = shader_get_uniform(z_outline,"outlineSize");
shader_set_uniform_f(uniw,texture_get_texel_width(surface_get_texture(bitches)));
shader_set_uniform_f(unih,texture_get_texel_height(surface_get_texture(bitches)));
shader_set_uniform_f(unicol,red,green,blue,alpha);
shader_set_uniform_f(uniprog,1);
shader_set_uniform_f(unioutline,outlineWidth);
surface_reset_target();
draw_surface(bitches, x, y);
surface_free(bitches);
shader_reset();
}
//number between 1 and 360
function draw_outline_progress(x,y,width,height,red,green,blue,alpha,progress,outlineWidth, func){
var bitches = surface_create(width, height);
surface_set_target(bitches);
draw_clear_alpha(c_black, 0);
func();
shader_set(z_outline);
static uniw = shader_get_uniform(z_outline,"pixelW");
static unih = shader_get_uniform(z_outline,"pixelH");
static unicol = shader_get_uniform(z_outline,"theColor");
static uniprog = shader_get_uniform(z_outline,"progress");
static unioutline = shader_get_uniform(z_outline,"outlineSize");
shader_set_uniform_f(uniw,texture_get_texel_width(surface_get_texture(bitches)));
shader_set_uniform_f(unih,texture_get_texel_height(surface_get_texture(bitches)));
shader_set_uniform_f(unicol,red,green,blue,alpha);
shader_set_uniform_f(uniprog,progress/360)
shader_set_uniform_f(unioutline,outlineWidth);
surface_reset_target();
draw_surface(bitches, x, y);
surface_free(bitches);
shader_reset();
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_outline",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,15 @@
// Script assets have changed for v2.3.0 see
// https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
function draw_percent(x,y,sprite,subimg,percent){
var percSurf = surface_create(sprite_get_width(sprite),sprite_get_height(sprite));
surface_set_target(percSurf);
draw_clear_alpha(c_black,0.0);
//draw_sprite(sprite,subimg,0,0);
draw_sprite_stretched(sprite,subimg,0,0,sprite_get_width(sprite),sprite_get_height(sprite))
surface_reset_target();
shader_set(z_draw_percent);
shader_set_uniform_f(shader_get_uniform(z_draw_percent,"percent"),percent)
draw_surface(percSurf,x,y);
surface_free(percSurf);
shader_reset();
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_percent",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function draw_rectangle_width(x1, y1, x2, y2, width) {
var i;
for (i=-ceil(width/2); i<floor(width/2); i++) {
draw_rectangle(x1+i, y1+i, x2+i, y2+i, true);
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_rectangle_width",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function draw_settings(fontstyle, color=c_black, halign=fa_left, valign=fa_top) {
set_font_style(fontstyle);
draw_set_color(color);
draw_set_halign(halign);
draw_set_valign(valign);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "draw_settings",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,20 @@
function draw_sprite_at(sprite_index, image_index, x, y, maxwidth, maxheight) {
var ratio1 = maxwidth/sprite_get_width(sprite_index);
var ratio2 = maxheight/sprite_get_height(sprite_index);
if ratio2 > ratio1 {
var ratio = ratio2;
} else {
var ratio = ratio1;
}
draw_sprite_stretched(sprite_index, image_index, x-sprite_get_xoffset(sprite_index)*ratio, y-sprite_get_yoffset(sprite_index)*ratio, sprite_get_width(sprite_index)*ratio, sprite_get_height(sprite_index)*ratio);
}
function draw_sprite_at_ext(sprite_index, image_index, x, y, maxwidth, maxheight, color, alpha) {
var ratio1 = maxwidth/sprite_get_width(sprite_index);
var ratio2 = maxheight/sprite_get_height(sprite_index);
if ratio2 > ratio1 {
var ratio = ratio2;
} else {
var ratio = ratio1;
}
draw_sprite_stretched_ext(sprite_index, image_index, x-sprite_get_xoffset(sprite_index)*ratio, y-sprite_get_yoffset(sprite_index)*ratio, sprite_get_width(sprite_index)*ratio, sprite_get_height(sprite_index)*ratio, color, alpha);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "drawing",
"path": "folders/Scripts/drawing.yy",
},
"resourceVersion": "1.0",
"name": "draw_sprite_at",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,32 @@
//https://github.com/Demigiant/dotween/blob/develop/_DOTween.Assembly/DOTween/Core/Easing/EaseManager.cs
#macro _PiOver2 pi/2
#macro _TwoPi pi*2
function ease_Linear(time,duration){
return time / duration;
}
function ease_InSine(time,duration){
return -cos(time / duration * _PiOver2) + 1;
}
function ease_outsine(time,duration){
return sin(time / duration * _PiOver2);
}
function ease_inoutsine(time,duration){
return -0.5 * (cos( pi* time / duration) - 1);
}
function ease_inquad(time,duration){ //idk if this one works
time /= duration;
return time * time;
}
function ease_outquad(time,duration){ //idk if this one works
time /= duration;
return -(time) * (time - 2);
}
function ease_inoutquad(time,duration){
time /= duration;
if ((time * 0.5) < 1) return 0.5 * time * time;
return -0.5 * ((--time) * (time - 2) - 1);
}
function ease_incubic(time,duration){
time /= duration;
return time * time * time;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "easing",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,9 @@
function format_time(seconds) {
var time = "";
second = floor(seconds%60);
minute = floor(seconds/60)%60;
hour = floor(seconds/60/60)%60;
//day = ((seconds-minute-second)/60)%24;
time = string(hour)+":"+string(minute)+":"+string(second);
return time;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "format_time",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,8 @@
function function_append(func, func2){
return munction(function() {
func();
func2();
})
}
//probably does not work i messed it up lol

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "function_append",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,4 @@
function gcd(a, b) {
//https://stackoverflow.com/questions/21570890/java-get-greatest-common-divisor-which-method-is-better
return b==0 ? a : gcd(b, a%b);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "gcd",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,9 @@
///@function instance_create(x, y, object, [layer, depth]);
function instance_create(x, y, object, layer_="instances", depth_) {
var chump = instance_create_layer(x, y, layer_, object);
if(depth_ != undefined){
chump.depth = depth_;
}
return chump;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "instance_create",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
function is_oob(variation=sprite_width/2, horizontal=true, vertical=true) {
if horizontal && vertical {
return !(x=clamp(x, 0-variation, global.gw+variation) && y=clamp(y, 0-variation, global.gh+variation));
} else if horizontal {
return !(x=clamp(x, 0-variation, global.gw+variation))
} else if vertical {
return !(y=clamp(y, 0-variation, global.gh+variation))
} else {
log("????????????");
return true;
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "is_oob",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,19 @@
function is_pprime(val) { //is probably prime
var primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 47, 53, 59, 61, 71, 73, 87, 93];
var i;
for (i=0; i<array_length(primes); i++) {
}
}
function is_pfibbonaci(val) { //is probably fibbonaci
var numbers = [1, 1, 2, 3, 5, 8, 11, 21, 32, 53, 85]
}
function is_prime(val) {
var trqs = ciel(sqrt(val));
var i;
for (i=2; i<trqs-1; i++) {
if nam(trqs, i) return false;
}
return true;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "is_prime",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,18 @@
function keyboard_check_advanced() {
if keyboard_check(vk_anykey) {
if keyboard_key = holding {
count++;
if count >= 30 {
keyboard_check_advanced = keyboard_check;
}
} else {
keyboard_check_advanced = keyboard_check_pressed;
count = 0;
}
holding = keyboard_key;
show_debug_message(currentpos);
} else {
keyboard_check_advanced = keyboard_check_pressed;
count = 0;
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "keyboard_check_advanced",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,5 @@
// Script assets have changed for v2.3.0 see
// https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
function lerp_angle(a,b,val){
return a - (angle_difference(a,b) / (1/ val));
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "lerp_angle",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,21 @@
///@function log(data[...]);
function log() {
var r = string(argument[0]), i;
for (i = 1; i < argument_count; i++) {
r += ", " + string(argument[i]);
}
var stack = debug_get_callstack(10);
//show_debug_message(stack);
show_debug_message(string(current_time) + " : " + string(stack[1]) + " : " + r);
var p = new consoleEntry(r,c_black);
}
/*
var a = {};
for(var i = 0; i < 24; i++){
a[$i] = i;
}
for(var i = 0; i < 24; i++){
log(a[$i]);
}*/
//log(a[$4])

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "log",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,10 @@
function mod_negative(val, modval) {
if val < 1 {
while val < 0 {
val += modval;
}
return val;
} else {
return val % modval;
}
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "mod_negative",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,21 @@
function msglang(english, japanese=[txt()], language=global.lang) {
return array_insert_array_parse(argument[language-1]);
/*switch language {
case LANGUAGE.ENGLISH:
return array_insert_array_parse(english);
break;
case LANGUAGE.JAPANESE:
return array_insert_array_parse(japanese);
break;
default:
return [txt()];
break;
}*/
}
enum LANGUAGE {
NULL,
ENGLISH,
JAPANESE,
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "msglang",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,3 @@
function munction(func) {
return method(undefined, func);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "munction",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,24 @@
function music_set(music, face=MUSFACE.FRONT, swaptype=MUSSWAP.INSTANT) {
if music == global.playingmusic {
global.playingmusictime = audio_sound_get_track_position(global.playingmusicdata);
audio_stop_sound(global.playingmusicdata);
global.playingmusicdata = audio_play_sound(music.audio[face], 0, true);
audio_sound_set_track_position(global.playingmusicdata, global.playingmusictime);
} else {
global.playingmusic = music;
audio_stop_sound(global.playingmusicdata);
global.playingmusicdata = audio_play_sound(music.audio[face], 0, true);
}
}
enum MUSSWAP {
INSTANT,
FADE,
GLITCH,
}
enum MUSFACE {
FRONT,
BACK,
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Music",
"path": "folders/Music.yy",
},
"resourceVersion": "1.0",
"name": "music_set",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function nam(anything, val) { //not anything mod
return !(anything%val);
}
function ngm(val) { //not global.count mod
return !(global.count%val);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "nam",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,29 @@
function ncm(val) { //not count mod value
return !(count%val);
}
function ncmr(val, low, high) { //not count mod value within range
return ncm(val) && count >= low && count <= high;
}
function ncml(val, low, repeats, count_=count) { //not count mod value above minimum repeated
//log(count);
return nam(count_,val) && //if count value is not anything moddable to the provided value
count_ >= low && //if count is greater than the floor value provided
count_ <= low+val*repeats; //
}
function ncmltime(val, low, repeats) { //not count mod value above minimum repeated duration
//log(count);
return low+val*repeats;
}
function fdx(val, divisor, multiplier=1) { //floor divided by x
return floor(val/divisor)*multiplier;
}
function itneg() { //tells you if youre on an odd iteration
return (iterations%2)*-2+1;
}
function ineg(i) { //tells you if youre on an odd i
return (i%2)*-2+1;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "ncm",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,3 @@
function point_me(xdif=0, ydif=0, myxdif=0, myydif=0) {
return point_direction(x+xdif, y+ydif, ISAAC.visiblex+myxdif, ISAAC.visibley+myydif);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "point_me",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,4 @@
function rescale(instance, scale) {
instance.image_xscale = scale;
instance.image_yscale = scale;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "rescale",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Scripts",
"path": "folders/Scripts.yy",
},
"resourceVersion": "1.0",
"name": "c_clearenemies",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,3 @@
function se_play(soundeffect) {
return audio_play_sound(soundeffect, 0, false);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Scripts",
"path": "folders/Scripts.yy",
},
"resourceVersion": "1.0",
"name": "se_play",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,6 @@
function sinmult(val, time, multiplier) {
return sin(val/(time/3))*multiplier;
}
function cosmult(val, time, multiplier) {
return cos(val/(time/3))*multiplier;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "data",
"path": "folders/Scripts/data.yy",
},
"resourceVersion": "1.0",
"name": "sinmult",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,10 @@
function song(name_="among us trap remix", shortname="autr", audio_=[m_null], bpm_=100, description_="when the im.ogg", maps_=[sm_null], loopstart=0,loopend=audio_sound_length(audio_[0])) constructor {
name = name_;
audio = audio_;
bpm = bpm_;
description = description_;
maps = maps_;
self.loopStart = loopstart;
self.loopEnd = loopend;
variable_struct_set(global.tracklist, shortname, self);
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Music",
"path": "folders/Music.yy",
},
"resourceVersion": "1.0",
"name": "song",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,13 @@
function string_contains(str,contains){
for(var i = 1; i <= string_length(str)+1; i++){
for(var j = 1; j <= string_length(contains)+1;j++){
if(string_char_at(str,i+j-1) != string_char_at(contains,j)){
break;
}
if(j == string_length(contains)){
return true;
}
}
}
return false;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "string_contains",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,27 @@
function string_extend_digits(str, integers, decimals=0) {
var ints = 0;
var decs = 0;
if decimals decimals++;
var i;
for (i=0; i<string_length(str); i++) {
if string_pos(".", str) <= i+1 {
decs++;
} else if string_pos(".", str) > i+1 {
ints++;
}
}
integers -= ints;
decimals -= decs;
while integers {
str = "0" + str;
integers--;
}
while decimals {
if !string_pos(".", str) {
str = str + ".";
}
str = str + "0";
decimals--;
}
return str;
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "convenience",
"path": "folders/Scripts/convenience.yy",
},
"resourceVersion": "1.0",
"name": "string_extend_digits",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,32 @@
global.tags = ds_map_create();
function tag(tagid, objectid=id) {
if !ds_map_exists(global.tags, tagid) {
global.tags[?tagid] = [];
}
array_push(global.tags[?tagid], objectid);
}
function with_tag(tag_, function_) {
var j;
for (j=0; j<array_length(global.tags[?tag_]); j++) {
with global.tags[?tag_][j] method(global.tags[?tag_][j], function_)();
}
}
function tag_get_instances(tag_) {
var dudes = [];
var j;
for (j=0; j<array_length(global.tags[?tag_]); j++) {
array_push(dudes, global.tags[?tag_][j]);
}
return dudes;
}
function tag_clear(tag_) {
global.tags[?tag_] = [];
}
/*function 日本語() {
}*/

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "Scripts",
"path": "folders/Scripts.yy",
},
"resourceVersion": "1.0",
"name": "tag",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,71 @@
///@function foreach(array,function(entry){})
///@param {array} array
///@param {function} function
///@description its foreach
function foreach(array, func){
for(i = 0; i < array_length(array);i++){
func(array[i]);
}
}
/*exception_unhandled_handler(function(ex){
var amongus = "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀\n⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀\n⣼⣿⠋⢀⣀⣀⠈⢻⣿⣿⡄\n⣸⣿⡏⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄\n⣿⣿⠁⢰⣿⣿⣯⠁⠈⠙⢿⣷⡄\n⣀⣤⣴⣶⣶⣿⡟⢸⣿⣿⣿⣆🔴🔴⣿⣷\n⢰⣿⡟⠋⠉⣹⣿⡇⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿\n⢸⣿⡇⣿⣿⡇⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃\n⣸⣿⡇⣿⣿⡇⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇\n⣿⣿⠁⣿⣿⡇⢸⣿⣧\n⣿⣿⣿⣿⡇⢸⣿⣿\n⣿⣿⣿⣿⡇⢸⣿⣿\n⢿⣿⡆⣿⣿⡇⢸⣿⡇\n⠸⣿⣧⡀⣿⣿⡇⣿⣿⠃\n⠛⢿⣿⣿⣿⣿⣇⣰⣿⣿⣷⣶⣶⣶⣶⠶⢠⣿⣿\n⣿⣿⣿⣿⡇⣽⣿⡏⠁⢸⣿⡇\n⣿⣿⣿⣿⡇⢹⣿⡆⣸⣿⠇\n⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠈⠻⣿⣿⣿⣿⡿⠏\n⠈⠛⠻⠿⠿⠿⠿⠋⠁"
amongus+="\n SUSSY SUSSY SUSSY YOU ARE SUSSY BAKA SUS SUS AMONGUS IMPOSTER SUS";
//var amongus= "Your game has crashed! ctrl+c this and send it to Bread Man#8916 on discord along with how you crashed\n\n";
amongus+="\n"+string(ex.message);
amongus+="\n##############################\n"+string(ex.longMessage);
amongus+="\n##############################\n"+string(ex.script);
amongus+="\n##############################\nat line:"+string(ex.line);
amongus+="\n##############################\n"+string(ex.stacktrace);
amongus+="\n" + global.seed.toString();
log(ex);
log(global.seed);
show_message(amongus);
//show_message(room);
//show_message(instance_number(all))
game_save("test");
//surface_save(global.surfaces.map,"balls.png");
return 0;
});*/
exception_unhandled_handler(function(ex){
var amongus = "Congratulations!";
amongus+="\nYou crashed the game!";
amongus+="\nWe tried our best to make sure it wasn't possible, but it happens.";
amongus+= "Ctrl+c this and send it to Bread Man#8916 or in the #bugs channel on discord along with how you crashed.\n\n";
amongus+="\n"+string(ex.message);
amongus+="\n##############################\n"+string(ex.longMessage);
amongus+="\n##############################\n"+string(ex.script);
amongus+="\n##############################\nat line:"+string(ex.line);
amongus+="\n##############################\n"+string(ex.stacktrace);
amongus+="\n" + global.seed.toString();
log(ex);
log(global.seed);
show_message(amongus);
//show_message(room);
//show_message(instance_number(all))
game_save("test");
//surface_save(global.surfaces.map,"balls.png");
return 0;
});
function ciel(value) {
return ceil(value);
}
function string_split(str,splitter){
var theArray = [];
for(var i = 0; i < string_length(str); i++){
if(string_char_at(str,i) == splitter){
array_push(theArray,string_copy(str,1,i-1));
str = string_delete(str,1,i);
i = 0;
}
}
array_push(theArray,str);
return theArray;
}
//#macro true (random_range(0,1000) > 1)
#macro nu a = new

Some files were not shown because too many files have changed in this diff Show more