Fix the twin ball elevator
svn-id: r4020
This commit is contained in:
parent
eb773b477a
commit
db2e803831
3 changed files with 8 additions and 70 deletions
70
gfx.cpp
70
gfx.cpp
|
@ -2641,131 +2641,67 @@ CHECK_HEAP;
|
|||
|
||||
|
||||
void Scumm::createSpecialPalette(int16 a, int16 b, int16 c, int16 d, int16 e, int16 colorMin, int16 colorMax)
|
||||
|
||||
{
|
||||
|
||||
byte *palPtr;
|
||||
|
||||
byte *curPtr;
|
||||
|
||||
byte *searchPtr;
|
||||
|
||||
|
||||
|
||||
byte colorComp1;
|
||||
|
||||
byte colorComp2;
|
||||
|
||||
byte colorComp3;
|
||||
|
||||
|
||||
|
||||
byte searchComp1;
|
||||
|
||||
byte searchComp2;
|
||||
|
||||
byte searchComp3;
|
||||
|
||||
|
||||
|
||||
short int bestResult;
|
||||
|
||||
short int currentResult;
|
||||
|
||||
byte currentIndex;
|
||||
|
||||
|
||||
|
||||
int i;
|
||||
|
||||
int j;
|
||||
|
||||
|
||||
|
||||
palPtr = getPalettePtr();
|
||||
|
||||
|
||||
|
||||
for(i=colorMin;i<colorMax;i++)
|
||||
|
||||
_proc_special_palette[i]=i;
|
||||
|
||||
|
||||
|
||||
curPtr = palPtr + colorMin*3;
|
||||
|
||||
|
||||
|
||||
for(i=colorMin;i<colorMax;i++)
|
||||
|
||||
{
|
||||
|
||||
/* colorComp1=((((*curPtr++)>>2)*c)>>8)&0x7F;
|
||||
|
||||
colorComp2=((((*curPtr++)>>2)*d)>>8)&0x7F;
|
||||
|
||||
colorComp3=((((*curPtr++)>>2)*e)>>8)&0x7F;*/
|
||||
|
||||
|
||||
//colorComp1=((((*curPtr++)>>2)*c)>>8)&0x7F;
|
||||
//colorComp2=((((*curPtr++)>>2)*d)>>8)&0x7F;
|
||||
//colorComp3=((((*curPtr++)>>2)*e)>>8)&0x7F;
|
||||
|
||||
/* Yazoo: I can't get the right formula, so I made one that just work fine with SamnMax flashlight */
|
||||
|
||||
|
||||
|
||||
colorComp1=(*curPtr++)+10;
|
||||
|
||||
colorComp2=(*curPtr++)+10;
|
||||
|
||||
colorComp3=(*curPtr++)+10;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
searchPtr = palPtr;
|
||||
|
||||
bestResult = 0x7FFF;
|
||||
|
||||
currentIndex = 0;
|
||||
|
||||
|
||||
|
||||
for(j=0;j<256;j++)
|
||||
|
||||
{
|
||||
|
||||
searchComp1 = (*searchPtr++);
|
||||
|
||||
searchComp2 = (*searchPtr++);
|
||||
|
||||
searchComp3 = (*searchPtr++);
|
||||
|
||||
|
||||
|
||||
currentResult = abs(searchComp1-colorComp1) + abs(searchComp2-colorComp2) + abs(searchComp3-colorComp3);
|
||||
|
||||
|
||||
|
||||
if(currentResult<bestResult)
|
||||
|
||||
if(currentIndex >= a && currentIndex <= b)
|
||||
|
||||
{
|
||||
|
||||
_proc_special_palette[i]=currentIndex;
|
||||
|
||||
bestResult=currentResult;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
currentIndex++;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue