jharrels / scummy

A modern, clean front end for SCUMMVM, built on Node.js and Electron.
MIT License
7 stars 1 forks source link

Not all engine options are getting picked up from SCUMMVM. #10

Closed jharrels closed 3 years ago

jharrels commented 3 years ago

An example is Zork: Grand Inquisitor.

None of these options are available in engineOptions.js. This could be due to a bug in Scummy Tools, as that is used to extract this data.

Capture

nulani38728 commented 3 years ago

Where is Scummy Tools located? It doesn't appear to be bundled with this package. In addition to detection.cpp, you need to traverse detection_tables.h. Here's the block for Zvision engine (starts on line 45):

static const ADExtraGuiOptionsMap optionsList[] = {

    {
        GAMEOPTION_ORIGINAL_SAVELOAD,
        {
            _s("Use original save/load screens"),
            _s("Use the original save/load screens instead of the ScummVM ones"),
            "originalsaveload",
            false
        }
    },

    {
        GAMEOPTION_DOUBLE_FPS,
        {
            _s("Double FPS"),
            _s("Increase framerate from 30 to 60 FPS"),
            "doublefps",
            false
        }
    },

    {
        GAMEOPTION_ENABLE_VENUS,
        {
            _s("Enable Venus"),
            _s("Enable the Venus help system"),
            "venusenabled",
            true
        }
    },

    {
        GAMEOPTION_DISABLE_ANIM_WHILE_TURNING,
        {
            _s("Disable animation while turning"),
            _s("Disable animation while turning in panorama mode"),
            "noanimwhileturning",
            false
        }
    },

    {
        GAMEOPTION_USE_HIRES_MPEG_MOVIES,
        {
            _s("Use high resolution MPEG video"),
            _s("Use MPEG video from the DVD version instead of lower resolution AVI"),
            "mpegmovies",
            true
        }
    },

    AD_EXTRA_GUI_OPTIONS_TERMINATOR
};
jharrels commented 3 years ago

@nulani38728 Thanks for this information. I'll check them out! If you're looking for Scummy Tools, it's under a separate repo: https://github.com/jharrels/scummy_tools. I have to warn you that it's very much a hack to spit out as many of the engine settings as possible.

There's also the opposite problem: engine settings that aren't valid for certain games are getting displayed in Scummy because I lumped them in at the engine level. If you have any insight into how ScummVM determines which engine settings for an engine are supported by which games, that would be fantastic!