Ticket #8493: scummvm.patch

File scummvm.patch, 3.7 KB (added by dreammaster, 14 years ago)
  • Makefile.common

    diff -r -u scummvm-orig/Makefile.common scummvm-cvs/Makefile.common
    old new  
    9696MODULES += gob
    9797endif
    9898
     99ifdef DISABLE_LURE
     100DEFINES += -DDISABLE_LURE
     101else
     102MODULES += lure
     103endif
     104
    99105# After the game specific modules follow the shared modules
    100106MODULES += \
    101107        gui \
  • base/plugins.cpp

    diff -r -u scummvm-orig/base/plugins.cpp scummvm-cvs/base/plugins.cpp
    old new  
    328328        #ifndef DISABLE_GOB
    329329        LINK_PLUGIN(GOB)
    330330        #endif
     331        #ifndef DISABLE_LURE
     332        LINK_PLUGIN(LURE)
     333        #endif
    331334
    332335#endif
    333336}
  • configure

    diff -r -u scummvm-orig/configure scummvm-cvs/configure
    old new  
    5656_build_saga=yes
    5757_build_gob=yes
    5858_build_kyra=yes
     59_build_lure=yes
    5960_need_memalign=no
    6061_build_plugins=no
    6162_nasm=auto
     
    301302  --disable-saga           don't build the SAGA engine
    302303  --disable-gob            don't build the Gobli*ns engine
    303304  --disable-kyra           don't build the Legend of Kyrandia engine
     305  --disable-lure           don't build the Lure of the Temptress engine
    304306  --enable-plugins         build engines as loadable modules instead of
    305307                           static linking them
    306308  --disable-mt32emu        don't enable the integrated MT-32 emulator
     
    366368      --disable-saga)           _build_saga=no ;;
    367369      --disable-gob)            _build_gob=no ;;
    368370      --disable-kyra)           _build_kyra=no ;;
     371      --disable-lure)           _build_lure=no ;;
    369372      --disable-hq-scalers)     _build_hq_scalers=no ;;
    370373      --disable-scalers)        _build_scalers=no ;;
    371374      --enable-alsa)            _alsa=yes       ;;
     
    677680        _mak_gob='# DISABLE_GOB = 1'
    678681fi
    679682
     683if test "$_build_lure" = no ; then
     684        _mak_lure='DISABLE_LURE = 1'
     685else
     686        _mak_lure='# DISABLE_LURE = 1'
     687fi
     688
    680689if test "$_build_hq_scalers" = no ; then
    681690        _mak_hq_scalers='DISABLE_HQ_SCALERS = 1'
    682691else
     
    12421251if test "$_build_gob" = yes ; then
    12431252        echo "    Gobli*ns"
    12441253fi
     1254if test "$_build_lure" = yes ; then
     1255        echo "    Lure of the Temptress"
     1256fi
    12451257
    12461258echo
    12471259
     
    13791391$_mak_kyra
    13801392$_mak_saga
    13811393$_mak_gob
     1394$_mak_lure
    13821395$_mak_mt32emu
    13831396
    13841397$_mak_hq_scalers
  • lure/disk.cpp

    diff -r -u scummvm-orig/lure/disk.cpp scummvm-cvs/lure/disk.cpp
    old new  
    2929uint8 Disk::indexOf(uint16 id, bool suppressError) {
    3030        // Make sure the correct file is open - the upper two bits of the Id give the file number. Note
    3131        // that an extra check is done for the upper byte of the Id being 0x3f, which is the Id range
    32         // I use for disk0.vga resources, which are resources extracted from the lure.exe executable
     32        // I use for lure.dat resources, which are resources extracted from the lure.exe executable
    3333        uint8 entryFileNum = ((id>>8) == 0x3f) ? 0 : ((id >> 14) & 3) + 1;
    3434        openFile(entryFileNum);
    3535
     
    8585        uint32 headerSize = sizeof(FileEntry) * NUM_ENTRIES_IN_HEADER;
    8686        if (_fileHandle->read(_entries, headerSize) != headerSize)
    8787                error("The file %s%s had a corrupted header", _gameDataPath.c_str(), sFilename);
     88
     89#ifdef SCUMM_BIG_ENDIAN
     90        // Process the read in header list to convert to big endian
     91        for (int i = 0; i < NUM_ENTRIES_IN_HEADER; ++i) {
     92                _entries[i].id = FROM_LE_16(_entries[i].id);
     93                _entries[i].size = FROM_LE_16(_entries[i].size);
     94                _entries[i].offset = FROM_LE_16(_entries[i].offset);
     95        }
     96#endif
    8897}
    8998
    9099uint32 Disk::getEntrySize(uint16 id) {