From 7392943e3d9716c8696e291e582336b5cecf1cf1 Mon Sep 17 00:00:00 2001 From: Celtic Minstrel Date: Fri, 10 Feb 2017 10:24:32 -0500 Subject: [PATCH] Properly adjust terrain graphics in special nodes when porting This also fixes two instances of unadjusted graphics in the scenarios --- rsrc/scenarios/stealth/towns/town7.spec | 2 +- rsrc/scenarios/zakhazi/towns/town1.spec | 2 +- src/classes/special.cpp | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/rsrc/scenarios/stealth/towns/town7.spec b/rsrc/scenarios/stealth/towns/town7.spec index 9779b196..419ecdcd 100644 --- a/rsrc/scenarios/stealth/towns/town7.spec +++ b/rsrc/scenarios/stealth/towns/town7.spec @@ -120,7 +120,7 @@ @lever = 17 sdf -1, -1 msg 35, -1, -1 - pic 213, 1 + pic 214, 1 ex1 -1, 18, -1 ex2 -1, -1, -1 goto -1 diff --git a/rsrc/scenarios/zakhazi/towns/town1.spec b/rsrc/scenarios/zakhazi/towns/town1.spec index 8cd8322a..564210d3 100644 --- a/rsrc/scenarios/zakhazi/towns/town1.spec +++ b/rsrc/scenarios/zakhazi/towns/town1.spec @@ -225,7 +225,7 @@ @once-dlog = 32 sdf 1, 9 msg 27, -1, 1 - pic 252, 1 + pic 208, 1 ex1 -1, -1, -1 ex2 -1, -1, -1 goto -1 diff --git a/src/classes/special.cpp b/src/classes/special.cpp index 9da46336..d72a68d3 100644 --- a/src/classes/special.cpp +++ b/src/classes/special.cpp @@ -201,6 +201,30 @@ void cSpecial::import_legacy(legacy::special_node_type& old){ pictype = PIC_TER; m3 = m2; m2 = -1; + switch(pic) { + case 247: pic = 210; break; + case 248: pic = 211; break; + case 249: pic = 212; break; + case 250: pic = 213; break; + case 202: pic = 0; break; + case 203: pic = 2; break; + case 204: pic = 32; break; + case 207: pic = 0; break; + case 208: pic = 123; break; + case 209: pic = 210; break; + case 210: pic = 163; break; + case 211: pic = 2; break; + case 212: pic = 32; break; + case 218: case 219: case 220: case 221: + case 222: case 223: case 224: case 225: + case 215: pic = 216; break; + case 233: pic = 137; break; + case 213: pic = 214; break; + case 214: pic = 215; break; + case 246: pic = 209; break; + case 251: pic = 207; break; + case 252: pic = 208; break; + } if(old.type == 56) type = eSpecType::ONCE_DIALOG; else if(old.type == 59) type = eSpecType::ONCE_GIVE_ITEM_DIALOG; else type = eSpecType::TOWN_LEVER;