Fix music loading when maps are loaded last.
This commit is contained in:
@@ -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', [])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user