schellingb / dosbox-pure

DOSBox Pure is a new fork of DOSBox built for RetroArch/Libretro aiming for simplicity and ease of use.
GNU General Public License v2.0
767 stars 64 forks source link

0.9.7 skips Start Menu - is this intentional? #310

Open mrmatteastwood opened 2 years ago

mrmatteastwood commented 2 years ago

Heya @schellingb and DBP community! I haven't played with RA in a while, so when I jumped back in today, I updated everything and I was surprised that when I ran any games from my DOS playlist, the start menu no longer showed. Instead, the first executable in the list is automatically run.

Did I miss anything in the past few releases? Is this a new behaviour? How can I get the start menu to show again when I run a game? Note, I never set any executable to auto-start on any of my games.

PoloniumRain commented 2 years ago

Core Options > Emulation Options > Advanced > Start Menu > 'Always show Start Menu on start up'

Or whenever you run a game, if you hold down the shift key and click on 'Restart' it will go to the Start Menu. With a controller hold down either of the left or right trigger buttons and press A (or whatever equivalent button).

This doesn't happen for me though, so i'm not sure why it's happening here... You could try deleting the DOSBox-pure.opt config file in the RetroArch\config\DOSBox-pure folder. It will reset all your core options.

mrmatteastwood commented 2 years ago

Man that's really really strange. I deleted retroarch.cfg and the entire config folder, in fact I completely re-installed RA 1.10.3 on both my Linux Mint 20.2 machines from scratch. No matter what option I choose in the menu you mention (I actually set it to show show the start menu no matter what), the start menu is always skipped.

I can access it by selecting "Restart" from the quick menu while holding shift / the gamepad's modifier button.

Will provide a log later.

mrmatteastwood commented 2 years ago

Here's my log: https://pastebin.com/8j8sAmW9

schellingb commented 2 years ago

If there is only 1 EXE/BAT/COM file to be listed in the start menu, it automatically launches that (unless the option PoloniumRain mentioned is set).

Now it sounds like this happens to you even when there are more programs? Does this happen no matter what content you load? Or did you set one of the menu entries to be the "auto start" entry? To confirm if you have an auto start option set, do as PoloniumRain said and hold shift or L2/R2 while selecting restart in the quick menu. In the start menu it will then show [SET AUTO START] next to the item and you can turn it off by pressing left on the arrow keys or d-pad.

mrmatteastwood commented 2 years ago

Hey @schellingb it happens even when I have nothing set to "auto start", in fact, I have that on none of my games. An example is the full version of Duke Nukem 1, which has several executables. When selecting that entry from my playlist, it automatically launches dn1.exe.

However, I just discovered something! Here's the section from my playlist file (DOS.lpl):

    {
      "path": "/home/thebrightside/Appdata/Games/MS-DOS/Duke/dn1.exe",
      "label": "Duke Nukem",
      "core_path": "/home/thebrightside/.config/retroarch/cores/dosbox_pure_libretro.so",
      "core_name": "DOS (DOSBox-Pure)",
      "crc32": "BC15451F|crc",
      "db_name": "DOS.lpl"
    },

All the games in my playlist are set up the same way, in that the .exe is specifically set in the .lpl file. Up until today, ever since the very first version of DBP, the start menu would always show even though the .exe is specifically named in the .lpl file.

I just removed the .exe, to make my playlist entry look as such:

    {
      "path": "/home/thebrightside/Appdata/Games/MS-DOS/Duke/",
      "label": "Duke Nukem",
      "core_path": "/home/thebrightside/.config/retroarch/cores/dosbox_pure_libretro.so",
      "core_name": "DOS (DOSBox-Pure)",
      "crc32": "BC15451F|crc",
      "db_name": "DOS.lpl"
    },

Boom, now the start menu shows!

So something must have changed recently about the way DBP interprets playlist files?

schellingb commented 2 years ago

Aha! You are right, I did change this. I actually thought this to be a bug and to me it is more correct now. But I can totally understand the confusion due to this "fix" being a significant change in behavior.

If I had realized the implications when making this change (so when DOSBox Pure is launched with a content path to a specific .EXE file it automatically launches it) I might have reconsidered but now that it is out for a few weeks already I'm not really inclined to go back. Unless you and maybe others think it is really annoying this way.

By the way, in original DOSBox, when launching it with an argument that points to an .EXE file, it does the same. It mounts the directory as C: and auto launches the .EXE.

PoloniumRain commented 2 years ago

Oh now that you mention it, i also had a problem with this before. Totally forgot about it!

It makes sense to skip the Start Menu if the path points to a .EXE file, but could you make it show the Start Menu if 'Always show Start Menu on startup' is chosen? This is what confused me before because i had this selected but it was still skipping the menu.

mrmatteastwood commented 2 years ago

I agree with @PoloniumRain. When I started using DBP when it came out, I remember thinking it wasn't logical that the start menu would show even though the playlist pointed to an .exe. However, I figured it made sense.

The new behaviour is fine by me, but yeh, the start menu should show when setting "Always show start menu". Also, I'm not entirely sure, but doesn't RA write playlist files with the .exe in them when you scan or manually add a game to a playlist through the UI?

schellingb commented 2 years ago

@PoloniumRain I guess I agree with that. It could be debatable but it's only with a non-default core option so why not :-)

There are two more cases where the start menu always gets skipped (even with 'Always Show Start Menu' set) which I think I will keep like that because it's probably what a user wants:

@mrmatteastwood I think you are right that it isn't possible to add a directory as loadable content in RetroArch (I guess unless you do the manual .lpl file modification you did). So it will always point to a EXE/COM/BAT file when using it like that. Personally most of the time I load ZIP files where this doesn't apply.

PoloniumRain commented 2 years ago

Maybe a new option would be best? :)

'Always show Start Menu unless DOSBOX.BAT/.CONF exists or playlist points to .EXE' 'Always show Start Menu'

So the first option is the current behaviour and would only need its name changed to make it more clear. But the second option would always show the Start Menu without any exceptions.

toniosj commented 2 years ago

@schellingb Keep this feature pleeeeease , hahahaha

https://github.com/schellingb/dosbox-pure/issues/209

cbrunner83 commented 2 years ago

i have this irritating situation aswell since i recently installed a fresh win10 using RA on D drive now my dospox pure also autostarts almost everything... and picks the wrong execution files too so i have to make use of the restart workaround.

in my case it also ingores any setting regarding autosart behaviours.