cleanup
svn-id: r17740
This commit is contained in:
parent
97749a934e
commit
8d76879849
4 changed files with 24 additions and 52 deletions
|
@ -1002,9 +1002,8 @@ protected:
|
||||||
|
|
||||||
uint8 *getHEPaletteIndex(int palSlot);
|
uint8 *getHEPaletteIndex(int palSlot);
|
||||||
int getHEPaletteColor(int palSlot, int color);
|
int getHEPaletteColor(int palSlot, int color);
|
||||||
int getPaletteUnk1(int palSlot, int arg_4, int arg_8, int start, int end);
|
int getHEPaletteSimilarColor(int palSlot, int red, int green, int start, int end);
|
||||||
int getPaletteUnk2(int palSlot, int unk1, int unk2);
|
int getHEPaletteColorComponent(int palSlot, int color, int component);
|
||||||
|
|
||||||
void setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b);
|
void setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b);
|
||||||
void setHEPaletteFromPtr(int palSlot, const uint8 *palData);
|
void setHEPaletteFromPtr(int palSlot, const uint8 *palData);
|
||||||
void setHEPaletteFromCostume(int palSlot, int resId);
|
void setHEPaletteFromCostume(int palSlot, int resId);
|
||||||
|
|
|
@ -78,64 +78,37 @@ uint8 *ScummEngine_v90he::getHEPaletteIndex(int palSlot) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int ScummEngine_v90he::getPaletteUnk1(int palSlot, int arg_4, int arg_8, int start, int end) {
|
int ScummEngine_v90he::getHEPaletteSimilarColor(int palSlot, int red, int green, int start, int end) {
|
||||||
assert(palSlot >= 1 && palSlot <= _numPalettes);
|
assert(palSlot >= 1 && palSlot <= _numPalettes);
|
||||||
assert(start >= 1 && start <= 255);
|
assert(start >= 1 && start <= 255);
|
||||||
assert(end >= 1 && end <= 255);
|
assert(end >= 1 && end <= 255);
|
||||||
|
|
||||||
int eax, edi, edp, edx, esi;
|
uint8 *pal = _hePalettes + palSlot * 1024 + start * 3;
|
||||||
int sum, bestitem, bestsum;
|
|
||||||
uint8 *palPtr;
|
|
||||||
|
|
||||||
palPtr = _hePalettes + palSlot * 1024 + start * 3;
|
int bestsum = 0xFFFFFFFF;
|
||||||
|
int bestitem = start;
|
||||||
bestsum = 0xFFFFFFFF;
|
|
||||||
bestitem = start;
|
|
||||||
edp = arg_8;
|
|
||||||
|
|
||||||
for (int i = start; i <= end; i++) {
|
for (int i = start; i <= end; i++) {
|
||||||
esi = arg_4;
|
int dr = red - pal[0];
|
||||||
|
int dg = green - pal[1];
|
||||||
edi = *palPtr++;
|
int sum = dr * dr + dg * dg * 2;
|
||||||
edx = *palPtr;
|
|
||||||
esi -= edi;
|
|
||||||
eax = edx;
|
|
||||||
|
|
||||||
edi = edp;
|
|
||||||
eax = -eax;
|
|
||||||
eax <<= 31;
|
|
||||||
eax -= edx;
|
|
||||||
edi -= edx;
|
|
||||||
|
|
||||||
eax += edp;
|
|
||||||
|
|
||||||
edx = esi;
|
|
||||||
|
|
||||||
eax *= edi;
|
|
||||||
edx *= esi;
|
|
||||||
|
|
||||||
sum = edx + eax * 2;
|
|
||||||
|
|
||||||
palPtr += 2;
|
|
||||||
|
|
||||||
if (sum < bestsum) {
|
|
||||||
if (sum == 0) {
|
if (sum == 0) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
if (sum < bestsum) {
|
||||||
bestsum = sum;
|
bestsum = sum;
|
||||||
bestitem = i;
|
bestitem = i;
|
||||||
}
|
}
|
||||||
|
pal += 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
return bestitem;
|
return bestitem;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ScummEngine_v90he::getPaletteUnk2(int palSlot, int unk1, int unk2) {
|
int ScummEngine_v90he::getHEPaletteColorComponent(int palSlot, int color, int component) {
|
||||||
assert(palSlot >= 1 && palSlot <= _numPalettes);
|
assert(palSlot >= 1 && palSlot <= _numPalettes);
|
||||||
assert(unk1 >= 1 && unk1 <= 255);
|
assert(color >= 1 && color <= 255);
|
||||||
|
|
||||||
return _hePalettes[palSlot * 1024 + unk1 * 3 + unk2 / 3];
|
return _hePalettes[palSlot * 1024 + color * 3 + component % 3];
|
||||||
}
|
}
|
||||||
|
|
||||||
int ScummEngine_v90he::getHEPaletteColor(int palSlot, int color) {
|
int ScummEngine_v90he::getHEPaletteColor(int palSlot, int color) {
|
||||||
|
|
|
@ -2397,7 +2397,7 @@ void ScummEngine_v100he::o100_getPaletteData() {
|
||||||
case 13:
|
case 13:
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
push(getPaletteUnk2(1, b, c));
|
push(getHEPaletteColorComponent(1, b, c));
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 20:
|
||||||
color = pop();
|
color = pop();
|
||||||
|
@ -2411,7 +2411,7 @@ void ScummEngine_v100he::o100_getPaletteData() {
|
||||||
pop();
|
pop();
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
push(getPaletteUnk1(palSlot, b, c, d, e));
|
push(getHEPaletteSimilarColor(palSlot, b, c, d, e));
|
||||||
break;
|
break;
|
||||||
case 53:
|
case 53:
|
||||||
pop();
|
pop();
|
||||||
|
@ -2421,13 +2421,13 @@ void ScummEngine_v100he::o100_getPaletteData() {
|
||||||
b = pop();
|
b = pop();
|
||||||
b = MAX(0, b);
|
b = MAX(0, b);
|
||||||
b = MIN(b, 255);
|
b = MIN(b, 255);
|
||||||
push(getPaletteUnk1(1, b, c, 10, 245));
|
push(getHEPaletteSimilarColor(1, b, c, 10, 245));
|
||||||
break;
|
break;
|
||||||
case 73:
|
case 73:
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
palSlot = pop();
|
palSlot = pop();
|
||||||
push(getPaletteUnk2(palSlot, b, c));
|
push(getHEPaletteColorComponent(palSlot, b, c));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
error("o100_getPaletteData: Unknown case %d", subOp);
|
error("o100_getPaletteData: Unknown case %d", subOp);
|
||||||
|
|
|
@ -2270,13 +2270,13 @@ void ScummEngine_v90he::o90_getPaletteData() {
|
||||||
pop();
|
pop();
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
push(getPaletteUnk1(palSlot, b, c, d, e));
|
push(getHEPaletteSimilarColor(palSlot, b, c, d, e));
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
palSlot = pop();
|
palSlot = pop();
|
||||||
push(getPaletteUnk2(palSlot, b, c));
|
push(getHEPaletteColorComponent(palSlot, b, c));
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
color = pop();
|
color = pop();
|
||||||
|
@ -2286,7 +2286,7 @@ void ScummEngine_v90he::o90_getPaletteData() {
|
||||||
case 87:
|
case 87:
|
||||||
c = pop();
|
c = pop();
|
||||||
b = pop();
|
b = pop();
|
||||||
push(getPaletteUnk2(1, b, c));
|
push(getHEPaletteColorComponent(1, b, c));
|
||||||
break;
|
break;
|
||||||
case 172:
|
case 172:
|
||||||
pop();
|
pop();
|
||||||
|
@ -2296,7 +2296,7 @@ void ScummEngine_v90he::o90_getPaletteData() {
|
||||||
b = pop();
|
b = pop();
|
||||||
b = MAX(0, b);
|
b = MAX(0, b);
|
||||||
b = MIN(b, 255);
|
b = MIN(b, 255);
|
||||||
push(getPaletteUnk1(1, b, c, 10, 245));
|
push(getHEPaletteSimilarColor(1, b, c, 10, 245));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
error("o90_getPaletteData: Unknown case %d", subOp);
|
error("o90_getPaletteData: Unknown case %d", subOp);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue