Add correct palette for pc versions of v1 games

Add some correct colors for v1 games

svn-id: r8988
This commit is contained in:
Travis Howell 2003-07-13 15:13:43 +00:00
parent 8ba41ba5e0
commit ffddfd76d9
5 changed files with 92 additions and 4 deletions

View file

@ -2573,6 +2573,27 @@ void Scumm::setupEGAPalette() {
setPalColor(15, 252, 252, 252);
}
void Scumm::setupC64Palette() {
setPalColor( 0, 0, 0, 0);
setPalColor( 1, 252, 252, 252);
setPalColor( 2, 168, 0, 0);
setPalColor( 3, 0, 168, 168);
setPalColor( 4, 168, 0, 168);
setPalColor( 5, 0, 168, 0);
setPalColor( 6, 0, 0, 168);
setPalColor( 7, 252, 252, 84);
setPalColor( 8, 252, 84, 84);
setPalColor( 9, 168, 84, 0);
setPalColor(10, 252, 84, 84);
setPalColor(11, 84, 84, 84);
setPalColor(12, 168, 168, 168);
setPalColor(13, 84, 252, 84);
setPalColor(14, 84, 84, 252);
setPalColor(15, 168, 168, 168);
}
/* Old palette used in Commodre 64 versions
void Scumm::setupC64Palette() {
setPalColor( 0, 0, 0, 0);
setPalColor( 1, 252, 252, 252);
@ -2591,6 +2612,7 @@ void Scumm::setupC64Palette() {
setPalColor(14, 136, 136, 252);
setPalColor(15, 204, 204, 204);
}
*/
void Scumm::setPaletteFromPtr(const byte *ptr) {
int i;

View file

@ -827,9 +827,15 @@ void Scumm_v2::o2_verbOps() {
vs = &_verbs[slot];
vs->verbid = verb;
vs->color = 2;
vs->hicolor = 14;
vs->dimcolor = 8;
if (_version == 1) {
vs->color = 5;
vs->hicolor = 7;
vs->dimcolor = 11;
} else {
vs->color = 2;
vs->hicolor = 14;
vs->dimcolor = 8;
}
vs->type = kTextVerbType;
vs->charset_nr = _string[0].t_charset;
vs->curmode = 1;

View file

@ -757,6 +757,7 @@ protected:
V2MouseoverBox v2_mouseover_boxes[7];
int8 v2_mouseover_box;
void initV1MouseOver();
void initV2MouseOver();
void checkV2MouseOver(ScummVM::Point pos);
void checkV2Inventory(int x, int y);

View file

@ -802,7 +802,11 @@ void Scumm::scummInit() {
}
if (_version <= 2) {
initV2MouseOver();
if (_version == 1)
initV1MouseOver();
else
initV2MouseOver();
// Seems in V2 there was only a single room effect (iris),
// so we set that here.
_switchRoomEffect2 = 1;

View file

@ -33,6 +33,61 @@ enum {
kSentenceLine = 6
};
void Scumm::initV1MouseOver() {
int i;
v2_mouseover_box = -1;
// Inventory items
for (i = 0; i < 2; i++) {
v2_mouseover_boxes[2 * i].rect.left = 0;
v2_mouseover_boxes[2 * i].rect.right = 144;
v2_mouseover_boxes[2 * i].rect.top = 34 + 8 * i;
v2_mouseover_boxes[2 * i].rect.bottom = v2_mouseover_boxes[2 * i].rect.top + 8;
v2_mouseover_boxes[2 * i].color = 4;
v2_mouseover_boxes[2 * i].hicolor = 7;
v2_mouseover_boxes[2 * i + 1].rect.left = 176;
v2_mouseover_boxes[2 * i + 1].rect.right = 320;
v2_mouseover_boxes[2 * i + 1].rect.top = v2_mouseover_boxes[2 * i].rect.top;
v2_mouseover_boxes[2 * i + 1].rect.bottom = v2_mouseover_boxes[2 * i].rect.bottom;
v2_mouseover_boxes[2 * i + 1].color = 4;
v2_mouseover_boxes[2 * i + 1].hicolor = 7;
}
// Inventory arrows
v2_mouseover_boxes[kInventoryUpArrow].rect.left = 144;
v2_mouseover_boxes[kInventoryUpArrow].rect.right = 176;
v2_mouseover_boxes[kInventoryUpArrow].rect.top = 34;
v2_mouseover_boxes[kInventoryUpArrow].rect.bottom = 42;
v2_mouseover_boxes[kInventoryUpArrow].color = 6;
v2_mouseover_boxes[kInventoryUpArrow].hicolor = 7;
v2_mouseover_boxes[kInventoryDownArrow].rect.left = 144;
v2_mouseover_boxes[kInventoryDownArrow].rect.right = 176;
v2_mouseover_boxes[kInventoryDownArrow].rect.top = 42;
v2_mouseover_boxes[kInventoryDownArrow].rect.bottom = 50;
v2_mouseover_boxes[kInventoryDownArrow].color = 6;
v2_mouseover_boxes[kInventoryDownArrow].hicolor = 7;
// Sentence line
v2_mouseover_boxes[kSentenceLine].rect.left = 0;
v2_mouseover_boxes[kSentenceLine].rect.right = 320;
v2_mouseover_boxes[kSentenceLine].rect.top = 0;
v2_mouseover_boxes[kSentenceLine].rect.bottom = 6;
v2_mouseover_boxes[kSentenceLine].color = 4;
v2_mouseover_boxes[kSentenceLine].hicolor = 7;
}
void Scumm::initV2MouseOver() {
int i;