diff --git a/rulegen.cpp b/rulegen.cpp index 028e2180..43fefd6f 100644 --- a/rulegen.cpp +++ b/rulegen.cpp @@ -2652,6 +2652,10 @@ int readRuleArgs() { rulegen::flags ^= Flag(argi()); } + else if(argis("-origin-id")) { + shift(); origin_id = argi(); + } + else if(argis("-ruledflags")) { shift(); rulegen::rdebug_flags = argi(); diff --git a/screenshot.cpp b/screenshot.cpp index 3cca8603..c5387481 100644 --- a/screenshot.cpp +++ b/screenshot.cpp @@ -29,6 +29,8 @@ EX always_false in; #endif EX bool in = false; + + EX bool remove_out = true; ld cta(color_t col) { // col >>= 24; @@ -155,6 +157,14 @@ EX always_false in; if(invisible(col) && invisible(outline)) return; if(polyi < 2) return; + if(remove_out) { + int minx = polyx[0], miny = polyy[0]; + int maxx = minx, maxy = miny; + for(int i=0; i maxx) maxx = polyx[i]; + for(int i=0; i maxy) maxy = polyy[i]; + if(maxx < 0 || maxy < 0 || minx > vid.xres || miny > vid.yres) return; + } + startstring(); for(int i=0; i