LAB: setAmigaPal() is always using 16 colors

This commit is contained in:
Filippos Karapetis 2015-12-23 22:04:03 +02:00 committed by Willem Jan Palenstijn
parent 07aec19a06
commit c66d5eca3a
3 changed files with 6 additions and 9 deletions

View file

@ -468,14 +468,11 @@ void DisplayMan::createScreen(bool hiRes) {
_displayBuffer = new byte[_screenBytesPerPage]; _displayBuffer = new byte[_screenBytesPerPage];
} }
void DisplayMan::setAmigaPal(uint16 *pal, uint16 numColors) { void DisplayMan::setAmigaPal(uint16 *pal) {
byte vgaPal[16 * 3]; byte vgaPal[16 * 3];
uint16 vgaIdx = 0; uint16 vgaIdx = 0;
if (numColors > 16) for (int i = 0; i < 16; i++) {
numColors = 16;
for (int i = 0; i < numColors; i++) {
vgaPal[vgaIdx++] = (byte)(((pal[i] & 0xf00) >> 8) << 2); vgaPal[vgaIdx++] = (byte)(((pal[i] & 0xf00) >> 8) << 2);
vgaPal[vgaIdx++] = (byte)(((pal[i] & 0x0f0) >> 4) << 2); vgaPal[vgaIdx++] = (byte)(((pal[i] & 0x0f0) >> 4) << 2);
vgaPal[vgaIdx++] = (byte)(((pal[i] & 0x00f)) << 2); vgaPal[vgaIdx++] = (byte)(((pal[i] & 0x00f)) << 2);
@ -999,7 +996,7 @@ void DisplayMan::fade(bool fadeIn, uint16 res) {
(0xF00 & fadeNumOut(0xF00 & _fadePalette[palIdx], 0xF00 & res, i)); (0xF00 & fadeNumOut(0xF00 & _fadePalette[palIdx], 0xF00 & res, i));
} }
setAmigaPal(newPal, 16); setAmigaPal(newPal);
_vm->waitTOF(); _vm->waitTOF();
_vm->updateMusicAndEvents(); _vm->updateMusicAndEvents();
} }

View file

@ -213,10 +213,10 @@ public:
void createScreen(bool hiRes); void createScreen(bool hiRes);
/** /**
* Converts an Amiga palette (up to 16 colors) to a VGA palette, then sets * Converts a 16-color Amiga palette to a VGA palette, then sets
* the VGA palette. * the VGA palette.
*/ */
void setAmigaPal(uint16 *pal, uint16 numColors); void setAmigaPal(uint16 *pal);
/** /**
* Writes any number of the 256 color registers. * Writes any number of the 256 color registers.

View file

@ -283,7 +283,7 @@ void Intro::introSequence() {
palette[15] = temp; palette[15] = temp;
_vm->_graphics->setAmigaPal(palette, 16); _vm->_graphics->setAmigaPal(palette);
_vm->waitTOF(); _vm->waitTOF();
} }