From db4850e0f49cbe2b51bc19408550d0b7ec0dd706 Mon Sep 17 00:00:00 2001 From: Dark-Storm Date: Sun, 19 Aug 2018 16:18:40 +0200 Subject: [PATCH] =?UTF-8?q?Optimisation=20du=20code=20de=20sortie=20gr?= =?UTF-8?q?=C3=A2ce=20=C3=A0=20Zezeombye?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sprite-optimizer.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/sprite-optimizer.py b/sprite-optimizer.py index b9cc362..05f5b54 100755 --- a/sprite-optimizer.py +++ b/sprite-optimizer.py @@ -129,8 +129,8 @@ def generate_code(lines, args): for (xa, yb), (x, y) in lines: x, y = x + int(args.offset[0]), y + int(args.offset[1]) a, b = xa - x + int(args.offset[0]), yb - y + int(args.offset[1]) - str_x += "{}{:+}{}, ".format(x, a, "T" if a else "") - str_y += "{}{:+}{}, ".format(y, b, "T" if b else "") + str_x += "{}, ".format(get_coord(x, a)) + str_y += "{}, ".format(get_coord(y, b)) str_x = str_x[:-2] + "}" str_y = str_y[:-2] + "}" @@ -138,6 +138,26 @@ def generate_code(lines, args): return code +# From Zezeombye's BIDE +def get_coord(start, end): + result = ""; + if start != 0: + result += str(start) + delta = end - start + if delta != 0: + if delta > 0 and start != 0: + result += "+"; + if delta < 0: + result += "-"; + if delta != 1 and delta != -1: + result += str(abs(delta)) + result += "T"; + if len(result) == 0: + result = "0" + return result; + + + if __name__ == "__main__": start = time()