Ticket #8002: greatloom2.diff

File greatloom2.diff, 1.5 KB (added by eriktorbjorn, 22 years ago)

Patch which uses a new "backup" palette

  • scummvm/gfx.cpp

    diff -ur ScummVM-cvs20020804/scummvm/gfx.cpp ScummVM-cvs20020804+hack/scummvm/gfx.cpp
    old new  
    446446                }
    447447        }
    448448
     449        if (_features & GF_SMALL_HEADER)
     450                memcpy(_backupPalette, _currentPalette, sizeof(_backupPalette));
     451       
    449452        setDirtyColors(0, numcolor - 1);
    450453}
    451454
  • scummvm/script_v1.cpp

    diff -ur ScummVM-cvs20020804/scummvm/script_v1.cpp ScummVM-cvs20020804+hack/scummvm/script_v1.cpp
    old new  
    19221922                                b = getVarOrDirectWord(0x40);
    19231923                        }
    19241924                        checkRange(256, 0, a, "o5_roomOps: 2: Illegal room color slot (%d)");
    1925                         _shadowPalette[a] = b;
    1926                         //        _fullRedraw = 1;
     1925                        c = _backupPalette[a * 3 + 0];
     1926                        d = _backupPalette[a * 3 + 1];
     1927                        e = _backupPalette[a * 3 + 2];
     1928                        setPalColor(b, c, d, e);        /* index, r, g, b */
    19271929                } else {
    19281930                        a = getVarOrDirectWord(0x80);
    19291931                        b = getVarOrDirectWord(0x40);
  • scummvm/scumm.h

    diff -ur ScummVM-cvs20020804/scummvm/scumm.h ScummVM-cvs20020804+hack/scummvm/scumm.h
    old new  
    955955        byte *_shadowPalette;
    956956        int _shadowPaletteSize;
    957957        byte _currentPalette[0x300];
     958        byte _backupPalette[0x300];
    958959
    959960        byte _proc_special_palette[256];
    960961        int _palDirtyMin, _palDirtyMax;