diff --git a/Toby Doom Launcher.py b/Toby Doom Launcher.py index ed7f2dc..b3a97e0 100755 --- a/Toby Doom Launcher.py +++ b/Toby Doom Launcher.py @@ -1560,25 +1560,32 @@ class DoomLauncher(QMainWindow): # Add music files with custom music mod priority optional_files = config.get('optional_files', []) music_added = False - + selectedMusicPath = None # Store music for later if map_after_files is true + # Check if any optional files are music-related (contain metal/music keywords) has_music_optionals = any('metal' in opt.lower() or 'music' in opt.lower() for opt in optional_files) - + if has_music_optionals: # First try to find custom music mod (highest priority) customMusicMod = self.find_custom_music_mod() if customMusicMod: - gameFiles.append(str(customMusicMod)) + if config.get('map_after_files', False): + selectedMusicPath = str(customMusicMod) + else: + gameFiles.append(str(customMusicMod)) music_added = True else: # Fall back to standard optional files priority for optFile in optional_files: optPath = self.find_file_in_paths(optFile) if optPath.exists(): - gameFiles.append(str(optPath)) + if config.get('map_after_files', False): + selectedMusicPath = str(optPath) + else: + gameFiles.append(str(optPath)) music_added = True break - + # Add any remaining non-music optional files if not music_added: for optFile in optional_files: @@ -1594,6 +1601,10 @@ class DoomLauncher(QMainWindow): else: gameFiles.append(selectedMapPath) + # Add music after map if map_after_files is true (ensures music overrides everything) + if selectedMusicPath: + gameFiles.append(selectedMusicPath) + # Get any custom flags gameFlags = config.get('flags', []) @@ -2693,25 +2704,32 @@ class DoomLauncher(QMainWindow): # Add music files with custom music mod priority optional_files = config.get('optional_files', []) music_added = False - + selectedMusicPath = None # Store music for later if map_after_files is true + # Check if any optional files are music-related (contain metal/music keywords) has_music_optionals = any('metal' in opt.lower() or 'music' in opt.lower() for opt in optional_files) - + if has_music_optionals: # First try to find custom music mod (highest priority) customMusicMod = self.find_custom_music_mod() if customMusicMod: - gameFiles.append(str(customMusicMod)) + if config.get('map_after_files', False): + selectedMusicPath = str(customMusicMod) + else: + gameFiles.append(str(customMusicMod)) music_added = True else: # Fall back to standard optional files priority for optFile in optional_files: optPath = self.find_file_in_paths(optFile) if optPath.exists(): - gameFiles.append(str(optPath)) + if config.get('map_after_files', False): + selectedMusicPath = str(optPath) + else: + gameFiles.append(str(optPath)) music_added = True break - + # Add any remaining non-music optional files if not music_added: for optFile in optional_files: @@ -2727,6 +2745,10 @@ class DoomLauncher(QMainWindow): else: gameFiles.append(selectedMapPath) + # Add music after map if map_after_files is true (ensures music overrides everything) + if selectedMusicPath: + gameFiles.append(selectedMusicPath) + # Get any custom flags gameFlags = config.get('flags', [])