diff -ur ScummVM-cvs20030430/scummvm/scumm/gfx.cpp ScummVM-cvs20030430+hack/scummvm/scumm/gfx.cpp
old
|
new
|
|
2706 | 2706 | } |
2707 | 2707 | |
2708 | 2708 | void Scumm::setDirtyColors(int min, int max) { |
| 2709 | // FIXME: 16-color games don't use _currentPalette like the other |
| 2710 | // games do. |
| 2711 | if (_features & GF_16COLOR) { |
| 2712 | _fullRedraw = true; |
| 2713 | return; |
| 2714 | } |
| 2715 | |
2709 | 2716 | if (_palDirtyMin > min) |
2710 | 2717 | _palDirtyMin = min; |
2711 | 2718 | if (_palDirtyMax < max) |
diff -ur ScummVM-cvs20030430/scummvm/scumm/script_v5.cpp ScummVM-cvs20030430+hack/scummvm/scumm/script_v5.cpp
old
|
new
|
|
1679 | 1679 | // printf("copyPalColor(%d, %d)\n", a, b); |
1680 | 1680 | // copyPalColor(a, b); |
1681 | 1681 | _shadowPalette[b] = a; |
1682 | | if (!(_features & GF_16COLOR)) |
1683 | | setDirtyColors(b, b); |
| 1682 | setDirtyColors(b, b); |
1684 | 1683 | } else { |
1685 | 1684 | error("room-color is no longer a valid command"); |
1686 | 1685 | } |
… |
… |
|
1701 | 1700 | } |
1702 | 1701 | checkRange(256, 0, a, "o5_roomOps: 2: Illegal room color slot (%d)"); |
1703 | 1702 | _shadowPalette[b] = a; |
1704 | | if (!(_features & GF_16COLOR)) |
1705 | | setDirtyColors(b, b); |
| 1703 | setDirtyColors(b, b); |
1706 | 1704 | } else { |
1707 | 1705 | a = getVarOrDirectWord(0x80); |
1708 | 1706 | b = getVarOrDirectWord(0x40); |