From d22b895e22fbc600e22bce1767547f1211078027 Mon Sep 17 00:00:00 2001 From: Misa <infoteddyatgitgud@cock.li> Date: Tue, 30 Jun 2020 23:43:33 -0700 Subject: [PATCH] Allow edentity terminals to use any sprite they want Checkpoints can use any sprite they want, why not terminals, too? --- desktop_version/src/Map.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/desktop_version/src/Map.cpp b/desktop_version/src/Map.cpp index 623b6b0a..fe040275 100644 --- a/desktop_version/src/Map.cpp +++ b/desktop_version/src/Map.cpp @@ -1728,10 +1728,27 @@ void mapclass::loadlevel(int rx, int ry) break; } case 18: //Terminals + { obj.customscript=edentity[edi].scriptname; - obj.createentity((edentity[edi].x*8)- ((rx-100)*40*8),(edentity[edi].y*8)- ((ry-100)*30*8)+8, 20, 1); - obj.createblock(5, (edentity[edi].x*8)- ((rx-100)*40*8)-8, (edentity[edi].y*8)- ((ry-100)*30*8)+8, 20, 16, 35); + + int usethistile = edentity[edi].p1; + int usethisy = (edentity[edi].y*8)- ((ry-100)*30*8); + + // This isn't a boolean: we just swap 0 and 1 around and leave the rest alone + if (usethistile == 0) + { + usethistile = 1; // Unflipped + } + else if (usethistile == 1) + { + usethistile = 0; // Flipped; + usethisy -= 8; + } + + obj.createentity((edentity[edi].x*8)- ((rx-100)*40*8), usethisy+8, 20, usethistile); + obj.createblock(5, (edentity[edi].x*8)- ((rx-100)*40*8)-8, usethisy+8, 20, 16, 35); break; + } case 19: //Script Box game.customscript[tempscriptbox]=edentity[edi].scriptname; obj.createblock(1, (edentity[edi].x*8)- ((rx-100)*40*8), (edentity[edi].y*8)- ((ry-100)*30*8),