I am 99% confident that this will not cause any weird collisions.
As Orpheon told me:
[20:23:29] The Almighty Orpheon: "By default all new sprites have their bounding boxes calculated automatically (the exact bbox will depend on the size and transparency of the sprite), however you may wish to customise this, in which case you should also use the function sprite_collision_mask."
Spriteloader didn't actually set the boundaries to what they should be, but now it does!
x = 0; //Sprite index number
while( sprite_exists(x) ) //Check that sprite exists
{
if file_exists("Plugins/Sprites/" + sprite_get_name(x) + ".png") //Check if something in the folder has the same name as the current sprite
{
bboxleft = sprite_get_bbox_left(x); //Grab
bboxright = sprite_get_bbox_right(x); //Those
bboxtop = sprite_get_bbox_top(x); //Boundary
bboxbottom = sprite_get_bbox_bottom(x); //Variables
sprite_replace(x,"Plugins/Sprites/" + sprite_get_name(x) + ".png",sprite_get_number(x),true,false,sprite_get_xoffset(x),sprite_get_yoffset(x)); //Swap the sprite over
sprite_collision_mask(x,0,2,bboxleft,bboxtop,bboxright,bboxbottom,1,0); //Set the damn boundaries properly
}
x += 1; //Move to the next sprite
}
Credit to Vindicator (For the actual spriteloader code), Orpheon for pointing out that GM likes to be 'helpful' and YB for pointing out the stupid mistake I made with the ordering of the bbox variables.