aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tinsel')
-rw-r--r--engines/tinsel/pcode.cpp6
-rw-r--r--engines/tinsel/polygons.cpp10
2 files changed, 11 insertions, 5 deletions
diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp
index 8646ad3267..a2661237b7 100644
--- a/engines/tinsel/pcode.cpp
+++ b/engines/tinsel/pcode.cpp
@@ -145,8 +145,8 @@ const WorkaroundEntry workaroundList[] = {
// Present Outside Inn
{TINSEL_V1, false, 352600876, 0, fragment2_size, fragment2},
- // DW1-GRA: Talking to palace guards in Act 2 gives !!!HIGH STRING||| - this happens if you initiate dialog
- // with one of the guards, but not the other. So this fix routes the talk parameters of the broken one
+ // DW1-GRA: Talking to palace guards in Act 2 gives !!!HIGH STRING||| - this happens if you initiate dialog with
+ // one of the guards, but not the other. So these fragments provide the correct talk parameters where needed
{TINSEL_V1, false, 310506872, 463, fragment4_size, fragment4},
{TINSEL_V1, false, 310506872, 485, fragment5_size, fragment5},
{TINSEL_V1, false, 310506872, 513, fragment6_size, fragment6},
@@ -164,7 +164,7 @@ const WorkaroundEntry workaroundList[] = {
{TINSEL_V0, false, 0, 0, 0, NULL}
};
-//310505453, x
+
//----------------- LOCAL GLOBAL DATA --------------------
/**
diff --git a/engines/tinsel/polygons.cpp b/engines/tinsel/polygons.cpp
index bb2daea206..825abc9a6b 100644
--- a/engines/tinsel/polygons.cpp
+++ b/engines/tinsel/polygons.cpp
@@ -1996,8 +1996,14 @@ void GetPolyNode(HPOLYGON hp, int *pNodeX, int *pNodeY) {
Poly pp(LockMem(pHandle), Polys[hp]->pIndex);
- *pNodeX = FROM_LE_32(pp.nodex);
- *pNodeY = FROM_LE_32(pp.nodey);
+ // WORKAROUND: Invalid node adjustment for DW2 Cartwheel scene refer polygon
+ if (TinselV2 && (pHandle == 0x74191900) && (hp == 8)) {
+ *pNodeX = 480;
+ *pNodeY = 408;
+ } else {
+ *pNodeX = FROM_LE_32(pp.nodex);
+ *pNodeY = FROM_LE_32(pp.nodey);
+ }
if (TinselV2) {
*pNodeX += volatileStuff[hp].xoff;