[Scummvm-cvs-logs] scummvm master -> 1d77c9f0cf710e1f9f439ad371cb1b49624aed75

m-kiewitz m_kiewitz at users.sourceforge.net
Fri Dec 20 01:02:00 CET 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
1d77c9f0cf SCI: script patcher cleanup


Commit: 1d77c9f0cf710e1f9f439ad371cb1b49624aed75
    https://github.com/scummvm/scummvm/commit/1d77c9f0cf710e1f9f439ad371cb1b49624aed75
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2013-12-19T16:01:26-08:00

Commit Message:
SCI: script patcher cleanup

Changed paths:
    engines/sci/engine/script_patches.cpp
    engines/sci/engine/script_patches.h



diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 1fa8d66..e9f8b54 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -147,25 +147,25 @@ enum ScriptPatcherSelectors {
 // Responsible method: fawaz::handleEvent
 // Fixes bug: #6402
 static const uint16 camelotSignaturePeepingTom[] = {
-	0x72, SIG_MAGICDWORD, SIG_UINT16 + 0x7e, 0x07, // lofsa fawaz <-- start of proper initializion code
+	0x72, SIG_MAGICDWORD, SIG_UINT16(0x077e), // lofsa fawaz <-- start of proper initializion code
 	0xa1, 0xb9,                      // sag b9h
-	SIG_ADDTOOFFSET +571,            // skip 571 bytes
+	SIG_ADDTOOFFSET(+571),           // skip 571 bytes
 	0x39, 0x7a,                      // pushi 7a <-- initialization code when walking automatically
 	0x78,                            // push1
 	0x7a,                            // push2
-	0x38, SIG_UINT16 + 0xa9, 0x00,   // pushi 00a9 - script 169
+	0x38, SIG_UINT16(0x00a9), // + 0xa9, 0x00,   // pushi 00a9 - script 169
 	0x78,                            // push1
 	0x43, 0x02, 0x04,                // call kScriptID
 	0x36,                            // push
 	0x81, 0x00,                      // lag 00
 	0x4a, 0x06,                      // send 06
-	0x32, SIG_UINT16 + 0x20, 0x05,   // jmp [end of fawaz::handleEvent]
+	0x32, SIG_UINT16(0x0520),        // jmp [end of fawaz::handleEvent]
 	SIG_END
 };
 
 static const uint16 camelotPatchPeepingTom[] = {
-	PATCH_ADDTOOFFSET +576,
-	0x32, PATCH_UINT16 + 0xbd, 0xfd, // jmp to fawaz::doit / properly init peepingTom code
+	PATCH_ADDTOOFFSET(+576),
+	0x32, PATCH_UINT16(0xfdbd),      // jmp to fawaz::doit / properly init peepingTom code
 	PATCH_END
 };
 
@@ -196,12 +196,12 @@ static const uint16 ecoquest1SignatureStayAndHelp[] = {
 	0x76,                            // push0
 	0x45, 0x01, 0x00,                // callb export1 from script 0 (switching control off)
 	SIG_MAGICDWORD,
-	0x38, SIG_UINT16 + 0x22, 0x01,   // pushi 0122
+	0x38, SIG_UINT16(0x0122),        // pushi 0122
 	0x78,                            // push1
 	0x76,                            // push0
 	0x81, 0x00,                      // lag global[0]
 	0x4a, 0x06,                      // send 06 - call ego::setMotion(0)
-	0x39, SIG_SELECTOR8 + SELECTOR_init, // pushi "init"
+	0x39, SIG_SELECTOR8(SELECTOR_init), // pushi "init"
 	0x39, 0x04,                      // pushi 04
 	0x76,                            // push0
 	0x76,                            // push0
@@ -220,19 +220,19 @@ static const uint16 ecoquest1PatchStayAndHelp[] = {
 	0x2f, 0x22,                      // bt [next state] (this optimization saves 6 bytes)
 	0x39, 0x00,                      // pushi 0 (wasting 1 byte here)
 	0x45, 0x01, 0x00,                // callb export1 from script 0 (switching control off)
-	0x38, PATCH_UINT16 + 0x22, 0x01, // pushi 0122
+	0x38, PATCH_UINT16(0x0122),      // pushi 0122
 	0x78,                            // push1
 	0x76,                            // push0
 	0x81, 0x00,                      // lag global[0]
 	0x4a, 0x06,                      // send 06 - call ego::setMotion(0)
-	0x39, PATCH_SELECTOR8 + SELECTOR_init, // pushi "init"
+	0x39, PATCH_SELECTOR8(SELECTOR_init), // pushi "init"
 	0x39, 0x06,                      // pushi 06
 	0x39, 0x02,                      // pushi 02 (additional 2 bytes)
 	0x76,                            // push0
 	0x76,                            // push0
 	0x39, 0x17,                      // pushi 17
 	0x7c,                            // pushSelf
-	0x38, PATCH_UINT16 + 0x80, 0x02, // pushi 280 (additional 3 bytes)
+	0x38, PATCH_UINT16(0x0280),      // pushi 280 (additional 3 bytes)
 	0x51, 0x82,                      // class EcoNarrator
 	0x4a, 0x10,                      // send 10 - call EcoNarrator::init(2, 0, 0, 23, self, 640)
 	PATCH_END
@@ -263,14 +263,14 @@ static const uint16 ecoquest2SignatureEcorder[] = {
 	0x39, 0x66,                      // pushi 66
 	0x39, 0x17,                      // pushi 17
 	0x39, 0x69,                      // pushi 69
-	0x38, PATCH_UINT16 + 0x31, 0x26, // pushi 2631
+	0x38, PATCH_UINT16(0x2631),      // pushi 2631
 	0x39, 0x6a,                      // pushi 6a
 	0x39, 0x64,                      // pushi 64
 	0x43, 0x1b, 0x14,                // call kDisplay
 	0x35, 0x0a,                      // ldi 0a
 	0x65, 0x20,                      // aTop ticks
 	0x33,                            // jmp [end]
-	SIG_ADDTOOFFSET +1,              // [skip 1 byte]
+	SIG_ADDTOOFFSET(+1),             // [skip 1 byte]
 	0x3c,                            // dup
 	0x35, 0x03,                      // ldi 03
 	0x1a,                            // eq?
@@ -282,21 +282,21 @@ static const uint16 ecoquest2PatchEcorder[] = {
 	0x2f, 0x02,                      // bt [to pushi 07]
 	0x3a,                            // toss
 	0x48,                            // ret
-	0x38, PATCH_UINT16 + 0x07, 0x00, // pushi 07 (parameter count) (waste 1 byte)
+	0x38, PATCH_UINT16(0x0007),      // pushi 07 (parameter count) (waste 1 byte)
 	0x39, 0x0b,                      // push (FillBoxAny)
 	0x39, 0x1d,                      // pushi 29d
 	0x39, 0x73,                      // pushi 115d
 	0x39, 0x5e,                      // pushi 94d
-	0x38, PATCH_UINT16 + 0xd7, 0x00, // pushi 215d
+	0x38, PATCH_UINT16(0x00d7),      // pushi 215d
 	0x78,                            // push1 (visual screen)
-	0x38, PATCH_UINT16 + 0x17, 0x00, // pushi 17 (color) (waste 1 byte)
+	0x38, PATCH_UINT16(0x0017),      // pushi 17 (color) (waste 1 byte)
 	0x43, 0x6c, 0x0e,                // call kGraph
-	0x38, PATCH_UINT16 + 0x05, 0x00, // pushi 05 (parameter count) (waste 1 byte)
+	0x38, PATCH_UINT16(0x0005),      // pushi 05 (parameter count) (waste 1 byte)
 	0x39, 0x0c,                      // pushi 12d (UpdateBox)
 	0x39, 0x1d,                      // pushi 29d
 	0x39, 0x73,                      // pushi 115d
 	0x39, 0x5e,                      // pushi 94d
-	0x38, PATCH_UINT16 + 0xd7, 0x00, // pushi 215d
+	0x38, PATCH_UINT16(0x00d7),      // pushi 215d
 	0x43, 0x6c, 0x0a,                // call kGraph
 	PATCH_END
 };
@@ -308,7 +308,7 @@ static const uint16 ecoquest2PatchEcorder[] = {
 // the function otherwise.
 // Fixes bug: #6467
 static const uint16 ecoquest2SignatureEcorderTutorial[] = {
-	0x30, SIG_UINT16 + 0x23, 0x00,   // bnt [next state]
+	0x30, SIG_UINT16(0x0023),        // bnt [next state]
 	0x39, 0x0a,                      // pushi 0a
 	0x5b, 0x04, 0x1f,                // lea temp[1f]
 	0x36,                            // push
@@ -319,7 +319,7 @@ static const uint16 ecoquest2SignatureEcorderTutorial[] = {
 	0x39, 0x66,                      // pushi 66
 	0x39, 0x17,                      // pushi 17
 	0x39, 0x69,                      // pushi 69
-	0x38, SIG_UINT16 + 0x31, 0x26,   // pushi 2631
+	0x38, SIG_UINT16(0x2631),        // pushi 2631
 	0x39, 0x6a,                      // pushi 6a
 	0x39, 0x64,                      // pushi 64
 	0x43, 0x1b, 0x14,                // call kDisplay
@@ -340,7 +340,7 @@ static const uint16 ecoquest2PatchEcorderTutorial[] = {
 	0x39, 0x1d,                      // pushi 29d
 	0x39, 0x73,                      // pushi 115d
 	0x39, 0x5e,                      // pushi 94d
-	0x38, PATCH_UINT16 + 0xd7, 0x00, // pushi 215d
+	0x38, PATCH_UINT16(0x00d7),      // pushi 215d
 	0x78,                            // push1 (visual screen)
 	0x39, 0x17,                      // pushi 17 (color)
 	0x43, 0x6c, 0x0e,                // call kGraph
@@ -352,14 +352,14 @@ static const uint16 ecoquest2PatchEcorderTutorial[] = {
 	0x39, 0x1d,                      // pushi 29d
 	0x39, 0x73,                      // pushi 115d
 	0x39, 0x5e,                      // pushi 94d
-	0x38, PATCH_UINT16 + 0xd7, 0x00, // pushi 215d
+	0x38, PATCH_UINT16(0x00d7),      // pushi 215d
 	0x43, 0x6c, 0x0a,                // call kGraph
 	// We are out of bytes to patch at this point,
 	// so we skip 494 (0x1EE) bytes to reuse this code:
 	// ldi 1e
 	// aTop 20
 	// jmp 030e (jump to end)
-	0x32, PATCH_UINT16 + 0xee, 0x01, // skip 494 (0x1EE) bytes
+	0x32, PATCH_UINT16(0x01ee),      // skip 494 (0x1EE) bytes
 	PATCH_END
 };
 
@@ -377,19 +377,19 @@ static const SciScriptPatcherEntry ecoquest2Signatures[] = {
 // event handling was slightly different there, so it was never discovered.
 // Fixes bug: #5120
 static const uint16 fanmadeSignatureInfiniteLoop[] = {
-	0x38, SIG_UINT16 + 0x4c, 0x00,   // pushi 004c
+	0x38, SIG_UINT16(0x004c),        // pushi 004c
 	0x39, 0x00,                      // pushi 00
 	0x87, 0x01,                      // lap 01
 	0x4b, 0x04,                      // send 04
 	SIG_MAGICDWORD,
 	0x18,                            // not
-	0x30, SIG_UINT16 + 0x2f, 0x00,   // bnt 002f  [06a5]    --> jmp ffbc  [0664] --> BUG! infinite loop
+	0x30, SIG_UINT16(0x002f),        // bnt 002f  [06a5]    --> jmp ffbc  [0664] --> BUG! infinite loop
 	SIG_END
 };
 
 static const uint16 fanmadePatchInfiniteLoop[] = {
-	PATCH_ADDTOOFFSET | +10,
-	0x30, SIG_UINT16 + 0x32, 0x00,    // bnt 0032  [06a8] --> pushi 004c
+	PATCH_ADDTOOFFSET(+10),
+	0x30, SIG_UINT16(0x0032),        // bnt 0032  [06a8] --> pushi 004c
 	PATCH_END
 };
 
@@ -421,9 +421,9 @@ static const uint16 freddypharkasSignatureScoreDisposal[] = {
 };
 
 static const uint16 freddypharkasPatchScoreDisposal[] = {
-	0x34, PATCH_UINT16 + 0x00, 0x00, // ldi 0000
-	0x34, PATCH_UINT16 + 0x00, 0x00, // ldi 0000
-	0x34, PATCH_UINT16 + 0x00, 0x00, // ldi 0000
+	0x34, PATCH_UINT16(0x0000),      // ldi 0000
+	0x34, PATCH_UINT16(0x0000),      // ldi 0000
+	0x34, PATCH_UINT16(0x0000),      // ldi 0000
 	PATCH_END
 };
 
@@ -436,7 +436,7 @@ static const uint16 freddypharkasPatchScoreDisposal[] = {
 // Applies to at least: English PC-CD
 // Responsible method: rm235::init and sEnterFrom500::changeState
 static const uint16 freddypharkasSignatureCanisterHang[] = {
-	0x38, SIG_SELECTOR16 + SELECTOR_disable, // pushi disable
+	0x38, SIG_SELECTOR16(SELECTOR_disable), // pushi disable
 	0x7a,                            // push2
 	SIG_MAGICDWORD,
 	0x39, 0x07,                      // pushi 07
@@ -447,11 +447,11 @@ static const uint16 freddypharkasSignatureCanisterHang[] = {
 };
 
 static const uint16 freddypharkasPatchCanisterHang[] = {
-	PATCH_ADDTOOFFSET | +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x78,                            // push1
-	PATCH_ADDTOOFFSET | +2,
+	PATCH_ADDTOOFFSET(+2),
 	0x33, 0x00,                      // ldi 00 (waste 2 bytes)
-	PATCH_ADDTOOFFSET | +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x06,                            // send 06 - call IconBar::disable(7)
 	PATCH_END
 };
@@ -468,15 +468,15 @@ static const uint16 freddypharkasPatchCanisterHang[] = {
 // Responsible method: lowerLadder::doit and highLadder::doit
 static const uint16 freddypharkasSignatureLadderEvent[] = {
 	0x39, SIG_MAGICDWORD,
-	SIG_SELECTOR8 + SELECTOR_new,    // pushi new
+	SIG_SELECTOR8(SELECTOR_new),     // pushi new
 	0x76,                            // push0
-	0x38, SIG_SELECTOR16 + SELECTOR_curEvent, // pushi curEvent
+	0x38, SIG_SELECTOR16(SELECTOR_curEvent), // pushi curEvent
 	0x76,                            // push0
 	0x81, 0x50,                      // lag global[50]
 	0x4a, 0x04,                      // send 04 - read User::curEvent
 	0x4a, 0x04,                      // send 04 - call curEvent::new
 	0xa5, 0x00,                      // sat temp[0]
-	0x38, SIG_SELECTOR16 + SELECTOR_localize,
+	0x38, SIG_SELECTOR16(SELECTOR_localize),
 	0x76,                            // push0
 	0x4a, 0x04,                      // send 04 - call curEvent::localize
 	SIG_END
@@ -484,9 +484,9 @@ static const uint16 freddypharkasSignatureLadderEvent[] = {
 
 static const uint16 freddypharkasPatchLadderEvent[] = {
 	0x34, 0x00, 0x00,                // ldi 0000 (waste 3 bytes, overwrites first 2 pushes)
-	PATCH_ADDTOOFFSET | +8,
+	PATCH_ADDTOOFFSET(+8),
 	0xa5, 0x00,                      // sat temp[0] (waste 2 bytes, overwrites 2nd send)
-	PATCH_ADDTOOFFSET | +2,
+	PATCH_ADDTOOFFSET(+2),
 	0x34, 0x00, 0x00,                // ldi 0000
 	0x34, 0x00, 0x00,                // ldi 0000 (waste 6 bytes, overwrites last 3 opcodes)
 	PATCH_END
@@ -502,14 +502,14 @@ static const uint16 freddypharkasSignatureMacInventory[] = {
 	0x39, 0x23,                      // pushi 23
 	0x39, 0x74,                      // pushi 74
 	0x78,                            // push1
-	0x38, SIG_UINT16 + 0x74, 0x01,   // pushi 0174 (on mac it's actually 0x01, 0x74)
+	0x38, SIG_UINT16(0x0174),        // pushi 0174 (on mac it's actually 0x01, 0x74)
 	0x85, 0x15,                      // lat 15
 	SIG_END
 };
 
 static const uint16 freddypharkasPatchMacInventory[] = {
 	0x39, 0x02,                      // pushi 02 (now matches the DOS version)
-	PATCH_ADDTOOFFSET +23,
+	PATCH_ADDTOOFFSET(+23),
 	0x39, 0x04,                      // pushi 04 (now matches the DOS version)
 	PATCH_END
 };
@@ -531,21 +531,21 @@ static const SciScriptPatcherEntry freddypharkasSignatures[] = {
 static const uint16 gk1SignatureDay6PoliceBeignet[] = {
 	0x35, 0x04,                         // ldi 04
 	0x1a,                               // eq?
-	0x30, SIG_ADDTOOFFSET +2,           // bnt [next state check]
-	0x38, SIG_SELECTOR16 + SELECTOR_dispose, // pushi dispose
+	0x30, SIG_ADDTOOFFSET(+2),          // bnt [next state check]
+	0x38, SIG_SELECTOR16(SELECTOR_dispose), // pushi dispose
 	0x76,                               // push0
-	0x72, SIG_ADDTOOFFSET +2,           // lofsa deskSarg
-	0x4a, SIG_UINT16 + 0x04, 0x00,      // send 04
+	0x72, SIG_ADDTOOFFSET(+2),          // lofsa deskSarg
+	0x4a, SIG_UINT16(0x0004),           // send 04
 	SIG_MAGICDWORD,
-	0x34, SIG_UINT16 + 0xdc, 0x00,      // ldi 220
-	0x65, SIG_ADDTOOFFSET +1,           // aTop cycles (1a for PC, 1c for Mac)
+	0x34, SIG_UINT16(0x00dc),           // ldi 220
+	0x65, SIG_ADDTOOFFSET(+1),          // aTop cycles (1a for PC, 1c for Mac)
 	0x32,                               // jmp [end]
 	SIG_END
 };
 
 static const uint16 gk1PatchDay6PoliceBeignet[] = {
-	PATCH_ADDTOOFFSET +16,
-	0x34, PATCH_UINT16 + 0x17, 0x00,    // ldi 23
+	PATCH_ADDTOOFFSET(+16),
+	0x34, PATCH_UINT16(0x0017),         // ldi 23
 	0x65, PATCH_GETORIGINALBYTEADJUST +20, +2, // aTop seconds (1c for PC, 1e for Mac)
 	PATCH_END
 };
@@ -557,17 +557,17 @@ static const uint16 gk1PatchDay6PoliceBeignet[] = {
 static const uint16 gk1SignatureDay6PoliceSleep[] = {
 	0x35, 0x08,                         // ldi 08
 	0x1a,                               // eq?
-	0x31, SIG_ADDTOOFFSET +1,           // bnt [next state check]
+	0x31, SIG_ADDTOOFFSET(+1),          // bnt [next state check]
 	SIG_MAGICDWORD,
-	0x34, SIG_UINT16 + 0xdc, 0x00,      // ldi 220
-	0x65, SIG_ADDTOOFFSET +1,           // aTop cycles (1a for PC, 1c for Mac)
+	0x34, SIG_UINT16(0x00dc),           // ldi 220
+	0x65, SIG_ADDTOOFFSET(+1),          // aTop cycles (1a for PC, 1c for Mac)
 	0x32,                               // jmp [end]
 	0
 };
 
 static const uint16 gk1PatchDay6PoliceSleep[] = {
-	PATCH_ADDTOOFFSET +5,
-	0x34, SIG_UINT16 + 0x2a, 0x00,      // ldi 42
+	PATCH_ADDTOOFFSET(+5),
+	0x34, SIG_UINT16(0x002a),           // ldi 42
 	0x65, PATCH_GETORIGINALBYTEADJUST +9, +2, // aTop seconds (1c for PC, 1e for Mac)
 	PATCH_END
 };
@@ -577,17 +577,17 @@ static const uint16 gk1PatchDay6PoliceSleep[] = {
 // Responsible method: startOfDay5::changeState
 static const uint16 gk1SignatureDay5PhoneFreeze[] = {
 	0x4a,
-	SIG_MAGICDWORD, SIG_UINT16 + 0x0c, 0x00, // send 0c
+	SIG_MAGICDWORD, SIG_UINT16(0x000c), // send 0c
 	0x35, 0x03,                         // ldi 03
-	0x65, SIG_ADDTOOFFSET +1,           // aTop cycles
-	0x32, SIG_ADDTOOFFSET +2,           // jmp [end]
+	0x65, SIG_ADDTOOFFSET(+1),          // aTop cycles
+	0x32, SIG_ADDTOOFFSET(+2),          // jmp [end]
 	0x3c,                               // dup
 	0x35, 0x21,                         // ldi 21
 	SIG_END
 };
 
 static const uint16 gk1PatchDay5PhoneFreeze[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x35, 0x06,                         // ldi 01
 	0x65, PATCH_GETORIGINALBYTEADJUST +6, +6, // aTop ticks
 	PATCH_END
@@ -608,23 +608,23 @@ static const uint16 gk1SignatureInterrogationBug[] = {
 	SIG_MAGICDWORD,
 	0x65, 0x4c,                      // aTop 4c
 	0x67, 0x50,                      // pTos 50
-	0x34, SIG_UINT16 + 0x10, 0x27,   // ldi 2710
+	0x34, SIG_UINT16(0x2710),        // ldi 2710
 	0x1e,                            // gt?
 	0x31, 0x08,                      // bnt 08  [05a0]
 	0x67, 0x50,                      // pTos 50
-	0x34, SIG_UINT16 + 0x10, 0x27,   // ldi 2710
+	0x34, SIG_UINT16(0x2710),        // ldi 2710
 	0x04,                            // sub
 	0x65, 0x50,                      // aTop 50
 	0x63, 0x50,                      // pToa 50
 	0x31, 0x15,                      // bnt 15  [05b9]
 	0x39, 0x0e,                      // pushi 0e
 	0x76,                            // push0
-	0x4a, SIG_UINT16 + 0x04, 0x00,   // send 0004
+	0x4a, SIG_UINT16(0x0004),        // send 0004
 	0xa5, 0x00,                      // sat 00
-	0x38, SIG_SELECTOR16 + SELECTOR_dispose, // pushi dispose
+	0x38, SIG_SELECTOR16(SELECTOR_dispose), // pushi dispose
 	0x76,                            // push0
 	0x63, 0x50,                      // pToa 50
-	0x4a, SIG_UINT16 + 0x04, 0x00,   // send 0004
+	0x4a, SIG_UINT16(0x0004),        // send 0004
 	0x85, 0x00,                      // lat 00
 	0x65, 0x50,                      // aTop 50
 	SIG_END
@@ -638,18 +638,18 @@ static const uint16 gk1PatchInterrogationBug[] = {
 	0x76,                            // push0
 	0x4a, 0x04, 0x00,                // send 0004
 	0xa5, 0x00,                      // sat 00
-	0x38, SIG_SELECTOR16 + SELECTOR_dispose, // pushi dispose
+	0x38, SIG_SELECTOR16(SELECTOR_dispose), // pushi dispose
 	0x76,                            // push0
 	0x63, 0x50,                      // pToa 50
 	0x4a, 0x04, 0x00,                // send 0004
 	0x85, 0x00,                      // lat 00
 	0x65, 0x50,                      // aTop 50
 	0x67, 0x50,                      // pTos 50
-	0x34, PATCH_UINT16 + 0x10, 0x27, // ldi 2710
+	0x34, PATCH_UINT16(0x2710),      // ldi 2710
 	0x1e,                            // gt?
 	0x31, 0x08,                      // bnt 08  [05b9]
 	0x67, 0x50,                      // pTos 50
-	0x34, PATCH_UINT16 + 0x10, 0x27, // ldi 2710
+	0x34, PATCH_UINT16(0x2710),      // ldi 2710
 	0x04,                            // sub
 	0x65, 0x50,                      // aTop 50
 	PATCH_END
@@ -672,17 +672,17 @@ static const SciScriptPatcherEntry gk1Signatures[] = {
 //  those cases.
 static const uint16 kq5SignatureCdHarpyVolume[] = {
 	SIG_MAGICDWORD,
-	0x80, SIG_UINT16 + 0x91, 0x01,   // lag global[191h]
+	0x80, SIG_UINT16(0x0191),        // lag global[191h]
 	0x18,                            // not
-	0x30, SIG_UINT16 + 0x2c, 0x00,   // bnt [jump further] (jumping, if global 191h is 1)
+	0x30, SIG_UINT16(0x002c),        // bnt [jump further] (jumping, if global 191h is 1)
 	0x35, 0x01,                      // ldi 01
-	0xa0, SIG_UINT16 + 0x91, 0x01,   // sag global[191h] (setting global 191h to 1)
-	0x38, SIG_UINT16 + 0x7b, 0x01,   // pushi 017b
+	0xa0, SIG_UINT16(0x0191),        // sag global[191h] (setting global 191h to 1)
+	0x38, SIG_UINT16(0x017b),        // pushi 017b
 	0x76,                            // push0
 	0x81, 0x01,                      // lag global[1]
 	0x4a, 0x04,                      // send 04 - read KQ5::masterVolume
 	0xa5, 0x03,                      // sat temp[3] (store volume in temp 3)
-	0x38, SIG_UINT16 + 0x7b, 0x01,   // pushi 017b
+	0x38, SIG_UINT16(0x017b),        // pushi 017b
 	0x76,                            // push0
 	0x81, 0x01,                      // lag global[1]
 	0x4a, 0x04,                      // send 04 - read KQ5::masterVolume
@@ -693,17 +693,17 @@ static const uint16 kq5SignatureCdHarpyVolume[] = {
 };
 
 static const uint16 kq5PatchCdHarpyVolume[] = {
-	0x38, PATCH_UINT16 + 0x2f, 0x02, // pushi 022f (selector theVol) (3 new bytes)
+	0x38, PATCH_UINT16(0x022f),      // pushi 022f (selector theVol) (3 new bytes)
 	0x76,                            // push0 (1 new byte)
 	0x51, 0x88,                      // class SpeakTimer (2 new bytes)
 	0x4a, 0x04,                      // send 04 (2 new bytes) -> read SpeakTimer::theVol
 	0xa5, 0x03,                      // sat temp[3] (2 new bytes) -> write to temp 3
-	0x80, PATCH_UINT16 + 0x91, 0x01, // lag global[191h]
+	0x80, PATCH_UINT16(0x0191),      // lag global[191h]
 	// saving 1 byte due optimization
-	0x2e, PATCH_UINT16 + 0x23, 0x00, // bt [jump further] (jumping, if global 191h is 1)
+	0x2e, PATCH_UINT16(0x0023),      // bt [jump further] (jumping, if global 191h is 1)
 	0x35, 0x01,                      // ldi 01
-	0xa0, PATCH_UINT16 + 0x91, 0x01, // sag global[191h] (setting global 191h to 1)
-	0x38, PATCH_UINT16 + 0x7b, 0x01, // pushi 017b
+	0xa0, PATCH_UINT16(0x0191),      // sag global[191h] (setting global 191h to 1)
+	0x38, PATCH_UINT16(0x017b),      // pushi 017b
 	0x76,                            // push0
 	0x81, 0x01,                      // lag global[1]
 	0x4a, 0x04,                      // send 04 - read KQ5::masterVolume
@@ -731,23 +731,23 @@ static const uint16 kq5PatchCdHarpyVolume[] = {
 //
 // Fixes bug: #4964
 static const uint16 kq5SignatureWitchCageInit[] = {
-	SIG_UINT16 + 0x00, 0x00,    // top
-	SIG_UINT16 + 0x00, 0x00,    // left
-	SIG_UINT16 + 0x00, 0x00,    // bottom
-	SIG_UINT16 + 0x00, 0x00,    // right
-	SIG_UINT16 + 0x00, 0x00,    // extra property #1
+	SIG_UINT16(0x0000),         // top
+	SIG_UINT16(0x0000),         // left
+	SIG_UINT16(0x0000),         // bottom
+	SIG_UINT16(0x0000),         // right
+	SIG_UINT16(0x0000),         // extra property #1
 	SIG_MAGICDWORD,
-	SIG_UINT16 + 0x7a, 0x00,    // extra property #2
-	SIG_UINT16 + 0xc8, 0x00,    // extra property #3
-	SIG_UINT16 + 0xa3, 0x00,    // extra property #4
+	SIG_UINT16(0x007a),         // extra property #2
+	SIG_UINT16(0x00c8),         // extra property #3
+	SIG_UINT16(0x00a3),         // extra property #4
 	SIG_END
 };
 
 static const uint16 kq5PatchWitchCageInit[] = {
-	PATCH_UINT16 + 0x00, 0x00,  // top
-	PATCH_UINT16 + 0x7a, 0x00,  // left
-	PATCH_UINT16 + 0xc8, 0x00,  // bottom
-	PATCH_UINT16 + 0xa3, 0x00,  // right
+	PATCH_UINT16(0x0000),       // top
+	PATCH_UINT16(0x007a),       // left
+	PATCH_UINT16(0x00c8),       // bottom
+	PATCH_UINT16(0x00a3),       // right
 	PATCH_END
 };
 
@@ -767,15 +767,15 @@ static const uint16 kq5PatchWitchCageInit[] = {
 // TODO: Investigate these side effects more closely.
 static const uint16 kq5SignatureWinGMSignals[] = {
 	SIG_MAGICDWORD,
-	0x80, SIG_UINT16 + 0x90, 0x01,   // lag 0x190
+	0x80, SIG_UINT16(0x0190),        // lag 0x190
 	0x18,                            // not
-	0x30, SIG_UINT16 + 0x1b, 0x00,   // bnt +0x001B
+	0x30, SIG_UINT16(0x001b),        // bnt +0x001B
 	0x89, 0x57,                      // lsg 0x57
 	SIG_END
 };
 
 static const uint16 kq5PatchWinGMSignals[] = {
-	0x34, PATCH_UINT16 + 0x01, 0x00, // ldi 0x0001
+	0x34, PATCH_UINT16(0x0001),      // ldi 0x0001
 	PATCH_END
 };
 
@@ -822,7 +822,7 @@ static const uint16 kq6PatchDuplicateBabyCry[] = {
 // Fixes bug: #5681
 static const uint16 kq6SignatureInventoryStackFix[] = {
 	0x67, 0x30,                         // pTos state
-	0x34, SIG_UINT16 + 0x00, 0x20,      // ldi 2000
+	0x34, SIG_UINT16(0x2000),           // ldi 2000
 	0x12,                               // and
 	0x18,                               // not
 	0x31, 0x04,                         // bnt [not first refresh]
@@ -830,10 +830,10 @@ static const uint16 kq6SignatureInventoryStackFix[] = {
 	SIG_MAGICDWORD,
 	0x65, 0x1e,                         // aTop curIcon
 	0x67, 0x30,                         // pTos state
-	0x34, SIG_UINT16 + 0xff, 0xdf,      // ldi dfff
+	0x34, SIG_UINT16(0xdfff),           // ldi dfff
 	0x12,                               // and
 	0x65, 0x30,                         // aTop state
-	0x38, SIG_SELECTOR16 + SELECTOR_show, // pushi "show" ("show" is e1h for KQ6CD)
+	0x38, SIG_SELECTOR16(SELECTOR_show), // pushi "show" ("show" is e1h for KQ6CD)
 	0x78,                               // push1
 	0x87, 0x00,                         // lap param[0]
 	0x31, 0x04,                         // bnt [use global for show]
@@ -842,7 +842,7 @@ static const uint16 kq6SignatureInventoryStackFix[] = {
 	0x81, 0x00,                         // lag global[0]
 	0x36,                               // push
 	0x54, 0x06,                         // self 06 (KqInv::show)
-	0x31, SIG_ADDTOOFFSET + 1,          // bnt [exit menu code] (0x08 for PC, 0x07 for mac)
+	0x31, SIG_ADDTOOFFSET(+1),          // bnt [exit menu code] (0x08 for PC, 0x07 for mac)
 	0x39, 0x39,                         // pushi 39
 	0x76,                               // push0
 	0x54, 0x04,                         // self 04 (KqInv::doit)
@@ -853,7 +853,7 @@ static const uint16 kq6PatchInventoryStackFix[] = {
 	0x67, 0x30,                         // pTos state
 	0x3c,                               // dup (1 more byte, needed for patch)
 	0x3c,                               // dup (1 more byte, saves 1 byte later)
-	0x34, PATCH_UINT16 + 0x00, 0x20,    // ldi 2000
+	0x34, PATCH_UINT16(0x2000),         // ldi 2000
 	0x12,                               // and
 	0x2f, 0x02,                         // bt [not first refresh] - saves 3 bytes in total
 	0x65, 0x1e,                         // aTop curIcon
@@ -872,7 +872,7 @@ static const uint16 kq6PatchInventoryStackFix[] = {
 	0x54, 0x06,                         // self 06 (call x::show)
 	0x31,                               // bnt [menu exit code]
 	PATCH_GETORIGINALBYTEADJUST +39, +6,// dynamic offset must be 0x0E for PC and 0x0D for mac
-	0x34, PATCH_UINT16 + 0x00, 0x20,    // ldi 2000
+	0x34, PATCH_UINT16(0x2000),         // ldi 2000
 	0x12,                               // and
 	0x2f, 0x05,                         // bt [to return]
 	0x39, 0x39,                         // pushi 39
@@ -895,42 +895,42 @@ static const uint16 kq6SignatureDrinkMeFix[] = {
 	0x3c,                               // dup
 	0x35, 0x0f,                         // ldi 0f
 	0x1a,                               // eq?
-	0x30, SIG_UINT16 + 0xa4, 0x00,      // bnt [skip to next check]
-	SIG_ADDTOOFFSET +161,
-	0x32, SIG_UINT16 + 0x7f, 0x00,      // jmp [return]
+	0x30, SIG_UINT16(0x00a4),           // bnt [skip to next check]
+	SIG_ADDTOOFFSET(+161),
+	0x32, SIG_UINT16(0x007f),           // jmp [return]
 	0x3c,                               // dup
 	0x35, 0x10,                         // ldi 10
 	0x1a,                               // eq?
 	0x31, 0x07,                         // bnt [skip to next check]
 	0x35, 0x03,                         // ldi 03
 	0x65, 0x1a,                         // aTop (cycles)
-	0x32, SIG_UINT16 + 0x72, 0x00,      // jmp [return]
+	0x32, SIG_UINT16(0x0072),           // jmp [return]
 	0x3c,                               // dup
 	0x35, 0x11,                         // ldi 11
 	0x1a,                               // eq?
 	0x31, 0x13,                         // bnt [skip to next check]
-	SIG_ADDTOOFFSET +20,
+	SIG_ADDTOOFFSET(+20),
 	0x35, 0x12,                         // ldi 12
-	SIG_ADDTOOFFSET +23,
+	SIG_ADDTOOFFSET(+23),
 	0x35, 0x13,                         // ldi 13
 	SIG_END
 };
 
 static const uint16 kq6PatchDrinkMeFix[] = {
-	PATCH_ADDTOOFFSET +5,               // skip to bnt offset
+	PATCH_ADDTOOFFSET(+5),              // skip to bnt offset
 	PATCH_GETORIGINALBYTEADJUST +5, +13, // adjust jump to [check for 11h code]
-	SIG_ADDTOOFFSET +162,
-	0x39, PATCH_SELECTOR8 + SELECTOR_doit, // pushi (doit)
+	PATCH_ADDTOOFFSET(+162),
+	0x39, PATCH_SELECTOR8(SELECTOR_doit), // pushi (doit)
 	0x76,                               // push0
 	0x81, 0x0a,                         // lag 0a
 	0x4a, 0x04,                         // send 04 (call addToPics::doit)
 	0x3a,                               // toss
 	0x48,                               // ret
-	PATCH_ADDTOOFFSET +8,               // skip to check 11h code
+	PATCH_ADDTOOFFSET(+8),               // skip to check 11h code
 	0x35, 0x10,                         // ldi 10 instead of 11
-	PATCH_ADDTOOFFSET +23,              // skip to check 12h code
+	PATCH_ADDTOOFFSET(+23),             // skip to check 12h code
 	0x35, 0x11,                         // ldi 11 instead of 12
-	PATCH_ADDTOOFFSET +23,              // skip to check 13h code
+	PATCH_ADDTOOFFSET(+23),             // skip to check 13h code
 	0x35, 0x12,                         // ldi 12 instead of 13
 	PATCH_END
 };
@@ -945,12 +945,12 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport1[] = {
 	0x12,                               // and
 	SIG_MAGICDWORD,
 	0x31, 0x13,                         // bnt [audio call]
-	0x38, SIG_SELECTOR16 + SELECTOR_modNum, // pushi modNum
+	0x38, SIG_SELECTOR16(SELECTOR_modNum), // pushi modNum
 	SIG_END
 };
 
 static const uint16 kq6laurabow2CDPatchAudioTextSupport1[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x33, 0x13,                         // jmp [audio call]
 	PATCH_END
 };
@@ -966,7 +966,7 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport2[] = {
 };
 
 static const uint16 kq6laurabow2CDPatchAudioTextSupport2[] = {
-	PATCH_ADDTOOFFSET +7,
+	PATCH_ADDTOOFFSET(+7),
 	0xa1, 98,                           // sag global[98d]
 	PATCH_END
 };
@@ -982,7 +982,7 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport3[] = {
 };
 
 static const uint16 kq6laurabow2CDPatchAudioTextSupport3[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x89, 98,                           // lsg global[98d]
 	PATCH_END
 };
@@ -993,7 +993,7 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport4[] = {
 	0x35, 0x01,                         // ldi 01
 	0x12,                               // and
 	0x31, 0x08,                         // bnt [skip code]
-	0x38, SIG_SELECTOR16 + SELECTOR_startText, // pushi startText
+	0x38, SIG_SELECTOR16(SELECTOR_startText), // pushi startText
 	0x78,                               // push1
 	0x8f, 0x01,                         // lsp param[1]
 	0x54, 0x06,                         // self 06
@@ -1002,7 +1002,7 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport4[] = {
 	0x12,                               // and
 	0x31, 0x08,                         // bnt [skip code]
 	SIG_MAGICDWORD,
-	0x38, SIG_SELECTOR16 + SELECTOR_startAudio, // pushi startAudio
+	0x38, SIG_SELECTOR16(SELECTOR_startAudio), // pushi startAudio
 	0x78,                               // push1
 	0x8f, 0x01,                         // lsp param[1]
 	0x54, 0x06,                         // self 06
@@ -1010,11 +1010,11 @@ static const uint16 kq6laurabow2CDSignatureAudioTextSupport4[] = {
 };
 
 static const uint16 kq6laurabow2CDPatchAudioTextSupport4[] = {
-	PATCH_ADDTOOFFSET +2,
-	0x34, PATCH_UINT16 + 0x01, 0x00,    // ldi 0001 (waste 1 byte)
+	PATCH_ADDTOOFFSET(+2),
+	0x34, PATCH_UINT16(0x0001),         // ldi 0001 (waste 1 byte)
 	0x12,
 	0x18,                               // not - prepares acc for KQ6 talker::startText
-	PATCH_ADDTOOFFSET +19,
+	PATCH_ADDTOOFFSET(+19),
 	0x89, 98,                           // lsp global[98d]
 	PATCH_END
 };
@@ -1047,7 +1047,7 @@ static const uint16 kq6CDSignatureAudioTextSupport1[] = {
 };
 
 static const uint16 kq6CDPatchAudioTextSupport1[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x33, 0x32,                         // jmp [jump-for-text-code]
 	PATCH_END
 };
@@ -1062,14 +1062,14 @@ static const uint16 kq6CDSignatureAudioTextSupport2[] = {
 	0x63, 0x8a,                         // pToa viewInPrint
 	0x18,                               // not
 	0x31, 0x06,                         // bnt [skip following code]
-	0x38, SIG_UINT16 + 0xe1, 0x00,      // pushi 00e1
+	0x38, SIG_UINT16(0x00e1),           // pushi 00e1
 	0x76,                               // push0
 	0x54, 0x04,                         // self 04
 	SIG_END
 };
 
 static const uint16 kq6CDPatchAudioTextSupport2[] = {
-	PATCH_ADDTOOFFSET +2,
+	PATCH_ADDTOOFFSET(+2),
 	0x67, 0x8a,                         // pTos viewInPrint
 	0x14,                               // or
 	0x2f,                               // bt [skip following code]
@@ -1092,7 +1092,7 @@ static const uint16 kq6CDSignatureAudioTextSupport3[] = {
 };
 
 static const uint16 kq6CDPatchAudioTextSupport3[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x18, 0x18,                         // not (waste bytes)
 	PATCH_END
 };
@@ -1108,8 +1108,8 @@ static const uint16 kq6CDSignatureAudioTextSupportGuards[] = {
 };
 
 static const uint16 kq6CDPatchAudioTextSupportGuards[] = {
-	PATCH_ADDTOOFFSET +2,
-	0x34, PATCH_UINT16 + 0x01, 0x00,    // ldi 0001 (waste 1 byte to overwrite eq?)
+	PATCH_ADDTOOFFSET(+2),
+	0x34, PATCH_UINT16(0x0001),         // ldi 0001 (waste 1 byte to overwrite eq?)
 	PATCH_END
 };
 
@@ -1125,7 +1125,7 @@ static const uint16 kq6CDSignatureAudioTextSupportStepmother[] = {
 };
 
 static const uint16 kq6CDPatchAudioTextSupportJumpAlways[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x33,                               // jump always
 	PATCH_END
 };
@@ -1179,25 +1179,25 @@ static const SciScriptPatcherEntry kq6Signatures[] = {
 static const uint16 longbowSignatureShowHandCode[] = {
 	0x78,                            // push1
 	0x78,                            // push1
-	0x72, SIG_ADDTOOFFSET +2,        // lofsa (letter, that was typed)
+	0x72, SIG_ADDTOOFFSET(+2),       // lofsa (letter, that was typed)
 	0x36,                            // push
-	0x40, SIG_ADDTOOFFSET +2,        // call
+	0x40, SIG_ADDTOOFFSET(+2),       // call
 	0x02,                            // perform the call above with 2 parameters
 	0x36,                            // push
-	0x40, SIG_ADDTOOFFSET +2,        // call
+	0x40, SIG_ADDTOOFFSET(+2),       // call
 	SIG_MAGICDWORD,
 	0x02,                            // perform the call above with 2 parameters
-	0x38, SIG_SELECTOR16 + SELECTOR_setMotion, // pushi "setMotion" (0x11c in Longbow German)
-	0x39, SIG_SELECTOR8 + SELECTOR_x, // pushi "x" (0x04 in Longbow German)
+	0x38, SIG_SELECTOR16(SELECTOR_setMotion), // pushi "setMotion" (0x11c in Longbow German)
+	0x39, SIG_SELECTOR8(SELECTOR_x), // pushi "x" (0x04 in Longbow German)
 	0x51, 0x1e,                      // class MoveTo
 	SIG_END
 };
 
 static const uint16 longbowPatchShowHandCode[] = {
 	0x39, 0x01,                      // pushi 1 (combine the two push1's in one, like in the English version)
-	PATCH_ADDTOOFFSET +3,            // leave the lofsa call untouched
+	PATCH_ADDTOOFFSET(+3),           // leave the lofsa call untouched
 	// The following will remove the duplicate call
-	0x32, PATCH_UINT16 + 0x02, 0x00, // jmp 02 - skip 2 bytes (the remainder of the first call)
+	0x32, PATCH_UINT16(0x0002),      // jmp 02 - skip 2 bytes (the remainder of the first call)
 	0x48,                            // ret (dummy, should never be reached)
 	0x48,                            // ret (dummy, should never be reached)
 	PATCH_END
@@ -1229,19 +1229,19 @@ static const SciScriptPatcherEntry longbowSignatures[] = {
 static const uint16 larry2SignatureWearParachutePoints[] = {
 	0x35, 0x01,                      // ldi 01
 	0xa1, SIG_MAGICDWORD, 0x8e,      // sag 8e
-	0x80, SIG_UINT16 + 0xe0, 0x01,   // lag 1e0
+	0x80, SIG_UINT16(0x01e0),        // lag 1e0
 	0x18,                            // not
-	0x30, SIG_UINT16 + 0x0f, 0x00,   // bnt [don't give points]
+	0x30, SIG_UINT16(0x000f),        // bnt [don't give points]
 	0x35, 0x01,                      // ldi 01
 	0xa0, 0xe0, 0x01,                // sag 1e0
 	SIG_END
 };
 
 static const uint16 larry2PatchWearParachutePoints[] = {
-	PATCH_ADDTOOFFSET +4,
-	0x80, PATCH_UINT16 + 0x5a, 0x00, // lag 5a (global 90)
-	PATCH_ADDTOOFFSET +6,
-	0xa0, PATCH_UINT16 + 0x5a, 0x00, // sag 5a (global 90)
+	PATCH_ADDTOOFFSET(+4),
+	0x80, PATCH_UINT16(0x005a),      // lag 5a (global 90)
+	PATCH_ADDTOOFFSET(+6),
+	0xa0, PATCH_UINT16(0x005a),      // sag 5a (global 90)
 	PATCH_END
 };
 
@@ -1261,16 +1261,16 @@ static const SciScriptPatcherEntry larry2Signatures[] = {
 // Responsible method: none, position of talker object on screen needs to get modified
 static const uint16 larry5SignatureGermanEndingPattiTalker[] = {
 	SIG_MAGICDWORD,
-	SIG_UINT16 + 0x6e, 0x00,            // object pattiTalker::x (110)
-	SIG_UINT16 + 0xb4, 0x00,            // object pattiTalker::y (180)
-	SIG_ADDTOOFFSET + 469,              // verify that it's really the German version
+	SIG_UINT16(0x006e),                 // object pattiTalker::x (110)
+	SIG_UINT16(0x00b4),                 // object pattiTalker::y (180)
+	SIG_ADDTOOFFSET(+469),              // verify that it's really the German version
 	0x59, 0x6f, 0x75,                   // (object name) "You"
 	0x23, 0x47, 0x44, 0x75,             // "#GDu"
 	SIG_END
 };
 
 static const uint16 larry5PatchGermanEndingPattiTalker[] = {
-	PATCH_UINT16 + 0x5a, 0x00,          // change pattiTalker::x to 90
+	PATCH_UINT16(0x005a),               // change pattiTalker::x to 90
 	PATCH_END
 };
 
@@ -1292,36 +1292,36 @@ static const SciScriptPatcherEntry larry5Signatures[] = {
 // Responsible method: unknown
 static const uint16 larry6SignatureDeathDialog[] = {
 	SIG_MAGICDWORD,
-	0x3e, SIG_UINT16 + 0x33, 0x01,   // link 0133 (offset 0x20)
+	0x3e, SIG_UINT16(0x0133),        // link 0133 (offset 0x20)
 	0x35, 0xff,                      // ldi ff
 	0xa3, 0x00,                      // sal 00
-	SIG_ADDTOOFFSET +680,            // [skip 680 bytes]
+	SIG_ADDTOOFFSET(+680),           // [skip 680 bytes]
 	0x8f, 0x01,                      // lsp 01 (offset 0x2cf)
 	0x7a,                            // push2
-	0x5a, SIG_UINT16 + 0x04, 0x00, SIG_UINT16 + 0x0e, 0x01, // lea 0004 010e
+	0x5a, SIG_UINT16(0x0004), SIG_UINT16(0x010e), // lea 0004 010e
 	0x36,                            // push
 	0x43, 0x7c, 0x0e,                // kMessage[7c] 0e
-	SIG_ADDTOOFFSET +90,             // [skip 90 bytes]
-	0x38, SIG_UINT16 + 0xd6, 0x00,   // pushi 00d6 (offset 0x335)
+	SIG_ADDTOOFFSET(+90),            // [skip 90 bytes]
+	0x38, SIG_UINT16(0x00d6),        // pushi 00d6 (offset 0x335)
 	0x78,                            // push1
-	0x5a, SIG_UINT16 + 0x04, 0x00, SIG_UINT16 + 0x0e, 0x01, // lea 0004 010e
+	0x5a, SIG_UINT16(0x0004), SIG_UINT16(0x010e), // lea 0004 010e
 	0x36,                            // push
-	SIG_ADDTOOFFSET +76,             // [skip 76 bytes]
-	0x38, SIG_UINT16 + 0xcd, 0x00,   // pushi 00cd (offset 0x38b)
+	SIG_ADDTOOFFSET(+76),            // [skip 76 bytes]
+	0x38, SIG_UINT16(0x00cd),        // pushi 00cd (offset 0x38b)
 	0x39, 0x03,                      // pushi 03
-	0x5a, SIG_UINT16 + 0x04, 0x00, SIG_UINT16 + 0x0e, 0x01, // lea 0004 010e
+	0x5a, SIG_UINT16(0x0004), SIG_UINT16(0x010e), // lea 0004 010e
 	0x36,
 	SIG_END
 };
 
 static const uint16 larry6PatchDeathDialog[] = {
 	0x3e, 0x00, 0x02,                // link 0200
-	PATCH_ADDTOOFFSET +687,
-	0x5a, PATCH_UINT16 + 0x04, 0x00, PATCH_UINT16 + 0x40, 0x01, // lea 0004 0140
-	PATCH_ADDTOOFFSET +98,
-	0x5a, PATCH_UINT16 + 0x04, 0x00, PATCH_UINT16 + 0x40, 0x01, // lea 0004 0140
-	PATCH_ADDTOOFFSET +82,
-	0x5a, PATCH_UINT16 + 0x04, 0x00, PATCH_UINT16 + 0x40, 0x01, // lea 0004 0140
+	PATCH_ADDTOOFFSET(+687),
+	0x5a, PATCH_UINT16(0x0004), PATCH_UINT16(0x0140), // lea 0004 0140
+	PATCH_ADDTOOFFSET(+98),
+	0x5a, PATCH_UINT16(0x0004), PATCH_UINT16(0x0140), // lea 0004 0140
+	PATCH_ADDTOOFFSET(+82),
+	0x5a, PATCH_UINT16(0x0004), PATCH_UINT16(0x0140), // lea 0004 0140
 	PATCH_END
 };
 
@@ -1363,13 +1363,13 @@ static const uint16 laurabow2CDSignaturePaintingClosing[] = {
 	0x76,                               // push0
 	SIG_MAGICDWORD,
 	0x7a,                               // push2
-	0x38, SIG_UINT16 + 0x31, 0x02,      // pushi 0231h (561)
+	0x38, SIG_UINT16(0x0231),           // pushi 0231h (561)
 	0x76,                               // push0
 	0x43, 0x02, 0x04,                   // kScriptID (get export 0 of script 561)
 	0x4a, 0x04,                         // send 04 (gets safePicture::cel)
 	0x18,                               // not
 	0x31, 0x21,                         // bnt [exit]
-	0x38, SIG_UINT16 + 0x83, 0x02,      // pushi 0283h
+	0x38, SIG_UINT16(0x0283),           // pushi 0283h
 	0x76,                               // push0
 	0x7a,                               // push2
 	0x39, 0x20,                         // pushi 20
@@ -1386,19 +1386,19 @@ static const uint16 laurabow2CDSignaturePaintingClosing[] = {
 };
 
 static const uint16 laurabow2CDPatchPaintingClosing[] = {
-	PATCH_ADDTOOFFSET +2,
+	PATCH_ADDTOOFFSET(+2),
 	0x3c,                               // dup (1 additional byte)
 	0x76,                               // push0
 	0x3c,                               // dup (1 additional byte)
 	0xab, 0x00,                         // ssl local[0] -> reset safePic signal
 	0x7a,                               // push2
-	0x38, PATCH_UINT16 + 0x31, 0x02,    // pushi 0231h (561)
+	0x38, PATCH_UINT16(0x0231),         // pushi 0231h (561)
 	0x76,                               // push0
 	0x43, 0x02, 0x04,                   // kScriptID (get export 0 of script 561)
 	0x4a, 0x04,                         // send 04 (gets safePicture::cel)
 	0x1a,                               // eq?
 	0x31, 0x1d,                         // bnt [exit]
-	0x38, PATCH_UINT16 + 0x83, 0x02,    // pushi 0283h
+	0x38, PATCH_UINT16(0x0283),         // pushi 0283h
 	0x76,                               // push0
 	0x7a,                               // push2
 	0x39, 0x20,                         // pushi 20
@@ -1433,7 +1433,7 @@ static const uint16 laurabow2CDPatchPaintingClosing[] = {
 // Fixes bug: #6440
 static const uint16 laurabow2CDSignatureFixProblematicIconBar[] = {
 	SIG_MAGICDWORD,
-	0x38, SIG_UINT16 + 0xf1, 0x00,      // pushi 00f1 (disable) - hardcoded, we only want to patch the CD version
+	0x38, SIG_UINT16(0x00f1),           // pushi 00f1 (disable) - hardcoded, we only want to patch the CD version
 	0x76,                               // push0
 	0x81, 0x45,                         // lag global[45]
 	0x4a, 0x04,                         // send 04
@@ -1476,8 +1476,8 @@ static const uint16 mothergoose256SignatureReplay[] = {
 };
 
 static const uint16 mothergoose256PatchReplay[] = {
-	0x34, PATCH_UINT16 + 0x00, 0x00, // ldi 0000 (dummy)
-	0x34, PATCH_UINT16 + 0x00, 0x00, // ldi 0000 (dummy)
+	0x34, PATCH_UINT16(0x0000),      // ldi 0000 (dummy)
+	0x34, PATCH_UINT16(0x0000),      // ldi 0000 (dummy)
 	PATCH_END
 };
 
@@ -1491,7 +1491,7 @@ static const uint16 mothergoose256SignatureSaveLimit[] = {
 };
 
 static const uint16 mothergoose256PatchSaveLimit[] = {
-	PATCH_ADDTOOFFSET | +2,
+	PATCH_ADDTOOFFSET(+2),
 	0x35, 0x0d + SAVEGAMEID_OFFICIALRANGE_START, // ldi 113d
 	PATCH_END
 };
@@ -1521,9 +1521,9 @@ static const uint16 pq1vgaSignaturePutGunInLockerBug[] = {
 	0x35, 0x00,                      // ldi 00
 	0x1a,                            // eq?
 	0x31, 0x25,                      // bnt [next state check]
-	SIG_ADDTOOFFSET +22,             // [skip 22 bytes]
+	SIG_ADDTOOFFSET(+22),            // [skip 22 bytes]
 	SIG_MAGICDWORD,
-	0x38, SIG_SELECTOR16 + SELECTOR_put, // pushi "put"
+	0x38, SIG_SELECTOR16(SELECTOR_put), // pushi "put"
 	0x78,                            // push1
 	0x76,                            // push0
 	0x81, 0x00,                      // lag 00
@@ -1535,17 +1535,17 @@ static const uint16 pq1vgaSignaturePutGunInLockerBug[] = {
 	0x35, 0x01,                      // ldi 01
 	0x1a,                            // eq?
 	0x31, 0x08,                      // bnt [end of method]
-	0x39, SIG_SELECTOR8 + SELECTOR_dispose, // pushi "dispose"
+	0x39, SIG_SELECTOR8(SELECTOR_dispose), // pushi "dispose"
 	0x76,                            // push0
-	0x72, SIG_UINT16 + 0x88, 0x00,   // lofsa 0088
+	0x72, SIG_UINT16(0x0088),        // lofsa 0088
 	0x4a, 0x04,                      // send 04 - locker::dispose
 	SIG_END
 };
 
 static const uint16 pq1vgaPatchPutGunInLockerBug[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x31, 0x1c,                      // bnt [next state check]
-	PATCH_ADDTOOFFSET +22,
+	PATCH_ADDTOOFFSET(+22),
 	0x35, 0x02,                      // ldi 02
 	0x65, 0x1c,                      // aTop 1c (set timer to 2 seconds)
 	0x33, 0x17,                      // jmp [end of method]
@@ -1553,7 +1553,7 @@ static const uint16 pq1vgaPatchPutGunInLockerBug[] = {
 	0x35, 0x01,                      // ldi 01
 	0x1a,                            // eq?
 	0x31, 0x11,                      // bnt [end of method]
-	0x38, PATCH_SELECTOR16 + SELECTOR_put, // pushi "put"
+	0x38, PATCH_SELECTOR16(SELECTOR_put), // pushi "put"
 	0x78,                            // push1
 	0x76,                            // push0
 	0x81, 0x00,                      // lag 00
@@ -1573,8 +1573,7 @@ static const uint16 pq1vgaPatchPutGunInLockerBug[] = {
 // Fixes bug: #5016
 static const uint16 pq1vgaSignatureMapSaveRestoreBug[] = {
 	0x39, 0x04,                          // pushi 04
-	SIG_ADDTOOFFSET +2,                  // skip either lsg global[f9] or pTos register
-	//0x89, 0xf9,                          // lsg global[f9]
+	SIG_ADDTOOFFSET(+2),                 // skip either lsg global[f9] or pTos register
 	SIG_MAGICDWORD,
 	0x38, 0x64, 0x80,                    // pushi 8064
 	0x76,                                // push0
@@ -1584,7 +1583,7 @@ static const uint16 pq1vgaSignatureMapSaveRestoreBug[] = {
 };
 
 static const uint16 pq1vgaPatchMapSaveRestoreBug[] = {
-	0x38, PATCH_SELECTOR16 + SELECTOR_overlay, // pushi "overlay"
+	0x38, PATCH_SELECTOR16(SELECTOR_overlay), // pushi "overlay"
 	0x7a,                            // push2
 	0x89, 0xf9,                      // lsg global[f9]
 	0x39, 0x64,                      // pushi 64 (no transition)
@@ -1614,7 +1613,7 @@ static const SciScriptPatcherEntry pq1vgaSignatures[] = {
 // Responsible method: pointBox::doit
 static const uint16 qfg1vgaSignatureFightEvents[] = {
 	0x39, SIG_MAGICDWORD,
-	SIG_SELECTOR8 + SELECTOR_new,       // pushi "new"
+	SIG_SELECTOR8(SELECTOR_new),        // pushi "new"
 	0x76,                               // push0
 	0x51, 0x07,                         // class Event
 	0x4a, 0x04,                         // send 04 - call Event::new
@@ -1634,7 +1633,7 @@ static const uint16 qfg1vgaSignatureFightEvents[] = {
 };
 
 static const uint16 qfg1vgaPatchFightEvents[] = {
-	0x38, PATCH_SELECTOR16 + SELECTOR_curEvent, // pushi 15a (selector curEvent)
+	0x38, PATCH_SELECTOR16(SELECTOR_curEvent), // pushi 15a (selector curEvent)
 	0x76,                            // push0
 	0x81, 0x50,                      // lag global[50]
 	0x4a, 0x04,                      // send 04 - read User::curEvent -> needs one byte more than previous code
@@ -1701,13 +1700,13 @@ static const uint16 qfg1vgaSignatureMoveToCrusher[] = {
 	0x51, 0x1f,                         // class Motion
 	0x36,                               // push
 	0x39, 0x4f,                         // pushi 4f (79 - x)
-	0x38, SIG_UINT16 + 0xa5, 0x00,      // pushi 00a5 (165 - y)
+	0x38, SIG_UINT16(0x00a5),           // pushi 00a5 (165 - y)
 	0x7c,                               // pushSelf
 	SIG_END
 };
 
 static const uint16 qfg1vgaPatchMoveToCrusher[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x39, 0x55,                         // pushi 55 (85 - x)
 	PATCH_END
 };
@@ -1727,7 +1726,7 @@ static const uint16 qfg1vgaSignatureMoveToCastleGate[] = {
 };
 
 static const uint16 qfg1vgaPatchMoveToCastleGate[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x39, 0x72,                         // pushi 72 (114 - x)
 	PATCH_END
 };
@@ -1740,10 +1739,10 @@ static const uint16 qfg1vgaPatchMoveToCastleGate[] = {
 // Fixes bug #6249
 static const uint16 qfg1vgaSignatureCheetaurDescription[] = {
 	SIG_MAGICDWORD,
-	0x34, SIG_UINT16 + 0xb8, 0x01,      // ldi 01b8
+	0x34, SIG_UINT16(0x01b8),           // ldi 01b8
 	0x1a,                               // eq?
 	0x31, 0x16,                         // bnt 16
-	0x38, SIG_UINT16 + 0x27, 0x01,      // pushi 0127
+	0x38, SIG_UINT16(0x0127),           // pushi 0127
 	0x39, 0x06,                         // pushi 06
 	0x39, 0x03,                         // pushi 03
 	0x78,                               // push1
@@ -1752,7 +1751,7 @@ static const uint16 qfg1vgaSignatureCheetaurDescription[] = {
 };
 
 static const uint16 qfg1vgaPatchCheetaurDescription[] = {
-	PATCH_ADDTOOFFSET +14,
+	PATCH_ADDTOOFFSET(+14),
 	0x39, 0x11,                         // pushi 11 -> monster type cheetaur
 	PATCH_END
 };
@@ -1776,7 +1775,7 @@ static const uint16 qfg1vgaSignatureFunnyRoomFix[] = {
 	0x3c,                               // dup
 	0x35, 0x00,                         // ldi 00
 	0x1a,                               // eq?
-	0x30, SIG_UINT16 + 0x25, 0x00,      // bnt 0025 [-> next state]
+	0x30, SIG_UINT16(0x0025),           // bnt 0025 [-> next state]
 	SIG_MAGICDWORD,
 	0x35, 0x01,                         // ldi 01
 	0xa3, 0x4e,                         // sal 4e
@@ -1784,8 +1783,8 @@ static const uint16 qfg1vgaSignatureFunnyRoomFix[] = {
 };
 
 static const uint16 qfg1vgaPatchFunnyRoomFix[] = {
-	PATCH_ADDTOOFFSET +3,
-	0x2e, PATCH_UINT16 + 0x29, 0x00,    // bt 0029 [-> next state] - saves 4 bytes
+	PATCH_ADDTOOFFSET(+3),
+	0x2e, PATCH_UINT16(0x0029),         // bt 0029 [-> next state] - saves 4 bytes
 	0x35, 0x01,                         // ldi 01
 	0xa3, 0x4e,                         // sal 4e
 	0xa3, 0x05,                         // sal 05 (sets local 5 to 1)
@@ -1822,7 +1821,7 @@ static const SciScriptPatcherEntry qfg1vgaSignatures[] = {
 // Fixes bug: #5096
 static const uint16 qfg2SignatureImportDialog[] = {
 	0x63, SIG_MAGICDWORD, 0x20,         // pToa text
-	0x30, SIG_UINT16 + 0x0b, 0x00,      // bnt [next state]
+	0x30, SIG_UINT16(0x000b),           // bnt [next state]
 	0x7a,                               // push2
 	0x39, 0x03,                         // pushi 03
 	0x36,                               // push
@@ -1833,7 +1832,7 @@ static const uint16 qfg2SignatureImportDialog[] = {
 };
 
 static const uint16 qfg2PatchImportDialog[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x48,                               // ret
 	PATCH_END
 };
@@ -1859,7 +1858,7 @@ static const uint16 qfg3SignatureImportDialog[] = {
 };
 
 static const uint16 qfg3PatchImportDialog[] = {
-	PATCH_ADDTOOFFSET +4,
+	PATCH_ADDTOOFFSET(+4),
 	0x48,                               // ret
 	PATCH_END
 };
@@ -1892,9 +1891,9 @@ static const uint16 qfg3SignatureWooDialog[] = {
 	0x35, 0x9b,                         // ldi 9b
 	0x1a,                               // eq?
 	0x31, 0x0c,                         // bnt 0c
-	0x38, SIG_SELECTOR16 + SELECTOR_solvePuzzle, // pushi 0297
+	0x38, SIG_SELECTOR16(SELECTOR_solvePuzzle), // pushi 0297
 	0x7a,                               // push2
-	0x38, SIG_UINT16 + 0x0c, 0x01,      // pushi 010c
+	0x38, SIG_UINT16(0x010c),           // pushi 010c
 	0x7a,                               // push2
 	0x81, 0x00,                         // lag 00
 	0x4a, 0x08,                         // send 08
@@ -1904,7 +1903,7 @@ static const uint16 qfg3SignatureWooDialog[] = {
 };
 
 static const uint16 qfg3PatchWooDialog[] = {
-	PATCH_ADDTOOFFSET +0x29,
+	PATCH_ADDTOOFFSET(+0x29),
 	0x33, 0x11,                         // jmp to 0x6a2, the call to hero::solvePuzzle for 0xFFFC
 	PATCH_END
 };
@@ -1929,13 +1928,13 @@ static const uint16 sq4FloppySignatureEndlessFlight[] = {
 	SIG_MAGICDWORD,
 	0x78,                               // push1
 	0x67, 0x08,                         // pTos 08 (property x)
-	0x63, SIG_ADDTOOFFSET + 1,          // pToa (invalid property) - 44h for English floppy, 4ch for German floppy
+	0x63, SIG_ADDTOOFFSET(+1),          // pToa (invalid property) - 44h for English floppy, 4ch for German floppy
 	0x02,                               // add
 	SIG_END
 };
 
 static const uint16 sq4FloppyPatchEndlessFlight[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x35, 0x03,                         // ldi 03 (which would be the content of the property)
 	PATCH_END
 };
@@ -1967,7 +1966,7 @@ static const uint16 sq4FloppySignatureThrowStuffAtSequelPoliceBug[] = {
 };
 
 static const uint16 sq4FloppyPatchThrowStuffAtSequelPoliceBug[] = {
-	PATCH_ADDTOOFFSET +5,
+	PATCH_ADDTOOFFSET(+5),
 	0x48,                            // ret
 	PATCH_END
 };
@@ -1990,7 +1989,7 @@ static const uint16 sq4CdSignatureTextOptionsButton[] = {
 };
 
 static const uint16 sq4CdPatchTextOptionsButton[] = {
-	PATCH_ADDTOOFFSET +7,
+	PATCH_ADDTOOFFSET(+7),
 	0x39, 0x0b,                         // pushi 0x0b
 	PATCH_END
 };
@@ -2036,7 +2035,7 @@ static const uint16 sq4CdSignatureTextOptions[] = {
 	0x35, 0x01,                         // ldi 0x01
 	0xa1, 0x5a,                         // sag 0x5a (save acc to global 90)
 	0x3a,                               // toss
-	0x38, SIG_SELECTOR16 + SELECTOR_show, // pushi 0x00d9
+	0x38, SIG_SELECTOR16(SELECTOR_show), // pushi 0x00d9
 	0x76,                               // push0
 	0x54, 0x04,                         // self 0x04
 	0x48,                               // ret
@@ -2056,7 +2055,7 @@ static const uint16 sq4CdPatchTextOptions[] = {
 	0x35, 0x01,                         // ldi 0x01 (reset acc to 1)
 	0xa1, 0x5a,                         // sag 0x5a (save acc to global 90)
 	0x33, 0x03,                         // jmp 0x03 (jump over the wasted bytes below)
-	0x34, PATCH_UINT16 + 0x00, 0x00,    // ldi 0x0000 (waste 3 bytes)
+	0x34, PATCH_UINT16(0x0000),         // ldi 0x0000 (waste 3 bytes)
 	0x3a,                               // toss
 	// (the rest of the code is the same)
 	PATCH_END
@@ -2085,24 +2084,24 @@ static const SciScriptPatcherEntry sq4Signatures[] = {
 // Responsible method: robotIntoShip::changeState(9)
 static const uint16 sq1vgaSignatureUlenceFlatsTimepodGfxGlitch[] = {
 	0x39,
-	SIG_MAGICDWORD, SIG_SELECTOR8 + SELECTOR_cel, // pushi "cel"
+	SIG_MAGICDWORD, SIG_SELECTOR8(SELECTOR_cel), // pushi "cel"
 	0x78,                               // push1
 	0x39, 0x0a,                         // pushi 0x0a (set ship::cel to 10)
-	0x38, SIG_UINT16 + 0xa0, 0x00,      // pushi 0x00a0 (ship::setLoop)
+	0x38, SIG_UINT16(0x00a0),           // pushi 0x00a0 (ship::setLoop)
 	SIG_END
 };
 
 static const uint16 sq1vgaPatchUlenceFlatsTimepodGfxGlitch[] = {
-	PATCH_ADDTOOFFSET +3,
+	PATCH_ADDTOOFFSET(+3),
 	0x39, 0x09,                         // pushi 0x09 (set ship::cel to 9)
 	PATCH_END
 };
 
 static const uint16 sq1vgaSignatureEgoShowsCard[] = {
 	SIG_MAGICDWORD,
-	0x38, SIG_SELECTOR16 + SELECTOR_timesShownID, // push "timesShownID"
+	0x38, SIG_SELECTOR16(SELECTOR_timesShownID), // push "timesShownID"
 	0x78,                               // push1
-	0x38, SIG_SELECTOR16 + SELECTOR_timesShownID, // push "timesShownID"
+	0x38, SIG_SELECTOR16(SELECTOR_timesShownID), // push "timesShownID"
 	0x76,                               // push0
 	0x51, 0x7c,                         // class DeltaurRegion
 	0x4a, 0x04,                         // send 0x04 (get timesShownID)
@@ -2121,7 +2120,7 @@ static const uint16 sq1vgaSignatureEgoShowsCard[] = {
 // Note that this script patch is merely a reordering of the
 // instructions in the original script.
 static const uint16 sq1vgaPatchEgoShowsCard[] = {
-	0x38, PATCH_SELECTOR16 + SELECTOR_timesShownID, // push "timesShownID"
+	0x38, PATCH_SELECTOR16(SELECTOR_timesShownID), // push "timesShownID"
 	0x76,                               // push0
 	0x51, 0x7c,                         // class DeltaurRegion
 	0x4a, 0x04,                         // send 0x04 (get timesShownID)
@@ -2129,7 +2128,7 @@ static const uint16 sq1vgaPatchEgoShowsCard[] = {
 	0x35, 0x01,                         // ldi 1
 	0x02,                               // add
 	0x36,                               // push (this push corresponds to the wrong one above)
-	0x38, PATCH_SELECTOR16 + SELECTOR_timesShownID, // push "timesShownID"
+	0x38, PATCH_SELECTOR16(SELECTOR_timesShownID), // push "timesShownID"
 	0x78,                               // push1
 	0x36,                               // push
 	0x51, 0x7c,                         // class DeltaurRegion
@@ -2172,7 +2171,7 @@ static const SciScriptPatcherEntry sq1vgaSignatures[] = {
 static const uint16 sq5SignatureToolboxFix[] = {
 	0x31, 0x13,                    // bnt [check for state 1]
 	SIG_MAGICDWORD,
-	0x38, SIG_UINT16 + 0xaa, 0x00, // pushi 00aa
+	0x38, SIG_UINT16(0x00aa),      // pushi 00aa
 	0x39, 0x05,                    // pushi 05
 	0x39, 0x16,                    // pushi 16
 	0x76,                          // push0
@@ -2181,7 +2180,7 @@ static const uint16 sq5SignatureToolboxFix[] = {
 	0x7c,                          // pushSelf
 	0x81, 0x5b,                    // lag 5b
 	0x4a, 0x0e,                    // send 0e
-	0x32, SIG_UINT16 + 0x88, 0x00, // jmp [end-of-method]
+	0x32, SIG_UINT16(0x0088),      // jmp [end-of-method]
 	0x3c,                          // dup
 	0x35, 0x01,                    // ldi 01
 	0x1a,                          // eq?
@@ -2191,7 +2190,7 @@ static const uint16 sq5SignatureToolboxFix[] = {
 
 static const uint16 sq5PatchToolboxFix[] = {
 	0x31, 0x41,                    // bnt [check for state 2]
-	PATCH_ADDTOOFFSET +16,         // skip to jmp offset
+	PATCH_ADDTOOFFSET(+16),        // skip to jmp offset
 	0x35, 0x01,                    // ldi 01
 	0x65, 0x14,                    // aTop [state]
 	0x36, 0x00, 0x00,              // ldi 0000 (waste 3 bytes)
@@ -2242,7 +2241,7 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, byte *sc
 		uint16 patchCommand = patchWord & PATCH_COMMANDMASK;
 		uint16 patchValue = patchWord & PATCH_VALUEMASK;
 		switch (patchCommand) {
-		case PATCH_ADDTOOFFSET: {
+		case PATCH_codeADDTOOFFSET: {
 			// add value to offset
 			offset += patchValue;
 			break;
@@ -2266,13 +2265,13 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, byte *sc
 			offset++;
 			break;
 		}
-		case PATCH_UINT16:
-		case PATCH_SELECTOR16: {
+		case PATCH_codeUINT16:
+		case PATCH_codeSELECTOR16: {
 			byte byte1;
 			byte byte2;
 
 			switch (patchCommand) {
-			case PATCH_UINT16: {
+			case PATCH_codeUINT16: {
 				byte1 = patchValue & PATCH_BYTEMASK;
 				patchData++; patchWord = *patchData;
 				if (patchWord & PATCH_COMMANDMASK)
@@ -2280,7 +2279,7 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, byte *sc
 				byte2 = patchWord & PATCH_BYTEMASK;
 				break;
 			}
-			case PATCH_SELECTOR16: {
+			case PATCH_codeSELECTOR16: {
 				patchSelector = _selectorIdTable[patchValue];
 				byte1 = patchSelector & 0xFF;
 				byte2 = patchSelector >> 8;
@@ -2299,7 +2298,7 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, byte *sc
 			}
 			break;
 		}
-		case PATCH_SELECTOR8: {
+		case PATCH_codeSELECTOR8: {
 			patchSelector = _selectorIdTable[patchValue];
 			if (patchSelector & 0xFF00)
 				error("Script-Patcher: 8 bit selector required, game uses 16 bit selector");
@@ -2307,7 +2306,7 @@ void ScriptPatcher::applyPatch(const SciScriptPatcherEntry *patchEntry, byte *sc
 			offset++;
 			break;
 		}
-		case PATCH_BYTE:
+		case PATCH_codeBYTE:
 			scriptData[offset] = patchValue & PATCH_BYTEMASK;
 			offset++;
 		}
@@ -2338,19 +2337,19 @@ int32 ScriptPatcher::findSignature(const SciScriptPatcherEntry *patchEntry, SciS
 				uint16 sigCommand = sigWord & SIG_COMMANDMASK;
 				uint16 sigValue = sigWord & SIG_VALUEMASK;
 				switch (sigCommand) {
-				case SIG_ADDTOOFFSET: {
+				case SIG_codeADDTOOFFSET: {
 					// add value to offset
 					byteOffset += sigValue;
 					break;
 				}
-				case SIG_UINT16:
-				case SIG_SELECTOR16: {
+				case SIG_codeUINT16:
+				case SIG_codeSELECTOR16: {
 					if ((byteOffset + 1) < scriptSize) {
 						byte byte1;
 						byte byte2;
 
 						switch (sigCommand) {
-						case SIG_UINT16: {
+						case SIG_codeUINT16: {
 							byte1 = sigValue & SIG_BYTEMASK;
 							signatureData++; sigWord = *signatureData;
 							if (sigWord & SIG_COMMANDMASK)
@@ -2358,7 +2357,7 @@ int32 ScriptPatcher::findSignature(const SciScriptPatcherEntry *patchEntry, SciS
 							byte2 = sigWord & SIG_BYTEMASK;
 							break;
 						}
-						case SIG_SELECTOR16: {
+						case SIG_codeSELECTOR16: {
 							sigSelector = _selectorIdTable[sigValue];
 							byte1 = sigSelector & 0xFF;
 							byte2 = sigSelector >> 8;
@@ -2381,7 +2380,7 @@ int32 ScriptPatcher::findSignature(const SciScriptPatcherEntry *patchEntry, SciS
 					}
 					break;
 				}
-				case SIG_SELECTOR8: {
+				case SIG_codeSELECTOR8: {
 					if (byteOffset < scriptSize) {
 						sigSelector = _selectorIdTable[sigValue];
 						if (sigSelector & 0xFF00)
@@ -2394,7 +2393,7 @@ int32 ScriptPatcher::findSignature(const SciScriptPatcherEntry *patchEntry, SciS
 					}
 					break;
 				}
-				case SIG_BYTE:
+				case SIG_codeBYTE:
 					if (byteOffset < scriptSize) {
 						if (scriptData[byteOffset] != sigWord)
 							sigWord = SIG_MISMATCH;
@@ -2476,17 +2475,17 @@ void ScriptPatcher::initSignature(const SciScriptPatcherEntry *patchTable, bool
 					}
 					break;
 				}
-				case SIG_ADDTOOFFSET: {
+				case SIG_codeADDTOOFFSET: {
 					magicOffset -= curValue;
 					if (magicDWordLeft)
 						error("Script-Patcher: Magic-DWORD contains AddToOffset command\nFaulty patch: '%s'", curEntry->description);
 					break;
 				}
-				case SIG_UINT16:
-				case SIG_SELECTOR16: {
+				case SIG_codeUINT16:
+				case SIG_codeSELECTOR16: {
 					// UINT16 or 1
 					switch (curCommand) {
-					case SIG_UINT16: {
+					case SIG_codeUINT16: {
 						curData++; curWord = *curData;
 						if (curWord & SIG_COMMANDMASK)
 							error("Script-Patcher: signature entry inconsistent\nFaulty patch: '%s'", curEntry->description);
@@ -2499,7 +2498,7 @@ void ScriptPatcher::initSignature(const SciScriptPatcherEntry *patchTable, bool
 						}
 						break;
 					}
-					case SIG_SELECTOR16: {
+					case SIG_codeSELECTOR16: {
 						curSelector = _selectorIdTable[curValue];
 						if (curSelector == -1) {
 							curSelector = g_sci->getKernel()->findSelector(selectorNameTable[curValue]);
@@ -2530,9 +2529,9 @@ void ScriptPatcher::initSignature(const SciScriptPatcherEntry *patchTable, bool
 					}
 					break;
 				}
-				case SIG_BYTE:
-				case SIG_SELECTOR8: {
-					if (curCommand == SIG_SELECTOR8) {
+				case SIG_codeBYTE:
+				case SIG_codeSELECTOR8: {
+					if (curCommand == SIG_codeSELECTOR8) {
 						curSelector = _selectorIdTable[curValue];
 						if (curSelector == -1) {
 							curSelector = g_sci->getKernel()->findSelector(selectorNameTable[curValue]);
diff --git a/engines/sci/engine/script_patches.h b/engines/sci/engine/script_patches.h
index 5d3ee22..d634db8 100644
--- a/engines/sci/engine/script_patches.h
+++ b/engines/sci/engine/script_patches.h
@@ -27,41 +27,47 @@
 
 namespace Sci {
 
-#define SIG_END               0xFFFF
-#define SIG_MISMATCH          0xFFFE
-#define SIG_COMMANDMASK       0xF000
-#define SIG_VALUEMASK         0x0FFF
-#define SIG_BYTEMASK          0x00FF
-#define SIG_MAGICDWORD        0xF000
-#define SIG_ADDTOOFFSET       0xE000
-#define SIG_SELECTOR16        0x9000
-#define SIG_SELECTOR8         0x8000
-#define SIG_UINT16            0x1000
-#define SIG_BYTE              0x0000
-
-#define PATCH_END                   SIG_END
-#define PATCH_COMMANDMASK           SIG_COMMANDMASK
-#define PATCH_VALUEMASK             SIG_VALUEMASK
-#define PATCH_BYTEMASK              SIG_BYTEMASK
-#define PATCH_ADDTOOFFSET           SIG_ADDTOOFFSET
-#define PATCH_GETORIGINALBYTE       0xD000
-#define PATCH_GETORIGINALBYTEADJUST 0xC000
-#define PATCH_SELECTOR16            SIG_SELECTOR16
-#define PATCH_SELECTOR8             SIG_SELECTOR8
-#define PATCH_UINT16                SIG_UINT16
-#define PATCH_BYTE                  SIG_BYTE
+// Please do not use the #defines, that are called SIG_code* / PATCH_code* inside signature/patch-tables
+#define SIG_END                      0xFFFF
+#define SIG_MISMATCH                 0xFFFE
+#define SIG_COMMANDMASK              0xF000
+#define SIG_VALUEMASK                0x0FFF
+#define SIG_BYTEMASK                 0x00FF
+#define SIG_MAGICDWORD               0xF000
+#define SIG_codeADDTOOFFSET          0xE000
+#define SIG_ADDTOOFFSET(_offset_)    SIG_codeADDTOOFFSET | _offset_
+#define SIG_codeSELECTOR16           0x9000
+#define SIG_SELECTOR16(_selectorID_) SIG_codeSELECTOR16 | _selectorID_
+#define SIG_codeSELECTOR8            0x8000
+#define SIG_SELECTOR8(_selectorID_)  SIG_codeSELECTOR8 | _selectorID_
+#define SIG_codeUINT16               0x1000
+#define SIG_UINT16(_value_)          SIG_codeUINT16 | (_value_ & 0xFF), (_value_ >> 8)
+#define SIG_codeBYTE                 0x0000
+
+#define PATCH_END                      SIG_END
+#define PATCH_COMMANDMASK              SIG_COMMANDMASK
+#define PATCH_VALUEMASK                SIG_VALUEMASK
+#define PATCH_BYTEMASK                 SIG_BYTEMASK
+#define PATCH_codeADDTOOFFSET          SIG_codeADDTOOFFSET
+#define PATCH_ADDTOOFFSET(_offset_)    SIG_codeADDTOOFFSET | _offset_
+#define PATCH_GETORIGINALBYTE          0xD000
+#define PATCH_GETORIGINALBYTEADJUST    0xC000
+#define PATCH_codeSELECTOR16           SIG_codeSELECTOR16
+#define PATCH_SELECTOR16(_selectorID_) SIG_codeSELECTOR16 | _selectorID_
+#define PATCH_codeSELECTOR8            SIG_codeSELECTOR8
+#define PATCH_SELECTOR8(_selectorID_)  SIG_codeSELECTOR8 | _selectorID_
+#define PATCH_codeUINT16               SIG_codeUINT16
+#define PATCH_UINT16(_value_)          SIG_codeUINT16 | (_value_ & 0xFF), (_value_ >> 8)
+#define PATCH_codeBYTE                 SIG_codeBYTE
 
 // defines maximum scratch area for getting original bytes from unpatched script data
 #define PATCH_VALUELIMIT      4096
 
 struct SciScriptPatcherEntry {
 	bool defaultActive;
-//	bool active;
 	uint16 scriptNr;
 	const char *description;
 	int16 applyCount;
-//	uint32 magicDWord;
-//	int magicOffset;
 	const uint16 *signatureData;
 	const uint16 *patchData;
 };






More information about the Scummvm-git-logs mailing list