Patch #1705791: Patch for #1648396 - AGI : SQ2 / 2.0F / IBM / priority line

Modify a workaround made for SQ1 to work on SQ1 only, not all AGI games. This fixes bug #1648396 with SQ2, a bug with LSL1 (Sarien bug #925074) and possibly others

svn-id: r26589
This commit is contained in:
Filippos Karapetis 2007-04-24 15:43:16 +00:00
parent 5c3cd34963
commit aa8fa78f62
3 changed files with 15 additions and 12 deletions

View File

@ -111,7 +111,8 @@ enum AgiGameFeatures {
GF_MACGOLDRUSH = (1 << 5),
GF_FANMADE = (1 << 6),
GF_ESC_MENU = (1 << 7),
GF_MANHUNTER = (1 << 8)
GF_MANHUNTER = (1 << 8),
GF_SQ1 = (1 << 9)
};
struct AGIGameDescription;

View File

@ -1236,7 +1236,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2440,
},
@ -1252,7 +1252,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2272,
},
@ -1268,7 +1268,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2440,
},
@ -1284,7 +1284,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2440,
},
@ -1300,7 +1300,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2917,
},
@ -1316,7 +1316,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2089,
},
@ -1332,7 +1332,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2272,
},
@ -1348,7 +1348,7 @@ static const AGIGameDescription gameDescriptions[] = {
Common::ADGF_NO_FLAGS
},
GType_V2,
0,
GF_SQ1,
0x2440,
},

View File

@ -618,10 +618,12 @@ void SpritesMgr::addToPic(int view, int loop, int cel, int x, int y, int pri, in
/* add rectangle around object, don't clobber control
* info in priority data. The box extends to the end of
* its priority band!
*
* SQ1 needs +1 (see bug #810331)
*/
y3 = (y2 / 12) * 12 + 1;
y3 = (y2 / 12) * 12;
// SQ1 needs +1 (see bug #810331)
if (_vm->getFeatures() & GF_SQ1)
y3++;
// don't let box extend below y.
if (y3 > y2) y3 = y2;