Fix music loading when maps are loaded last.
This commit is contained in:
+32
-10
@@ -1560,25 +1560,32 @@ class DoomLauncher(QMainWindow):
|
|||||||
# Add music files with custom music mod priority
|
# Add music files with custom music mod priority
|
||||||
optional_files = config.get('optional_files', [])
|
optional_files = config.get('optional_files', [])
|
||||||
music_added = False
|
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)
|
# 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)
|
has_music_optionals = any('metal' in opt.lower() or 'music' in opt.lower() for opt in optional_files)
|
||||||
|
|
||||||
if has_music_optionals:
|
if has_music_optionals:
|
||||||
# First try to find custom music mod (highest priority)
|
# First try to find custom music mod (highest priority)
|
||||||
customMusicMod = self.find_custom_music_mod()
|
customMusicMod = self.find_custom_music_mod()
|
||||||
if customMusicMod:
|
if customMusicMod:
|
||||||
gameFiles.append(str(customMusicMod))
|
if config.get('map_after_files', False):
|
||||||
|
selectedMusicPath = str(customMusicMod)
|
||||||
|
else:
|
||||||
|
gameFiles.append(str(customMusicMod))
|
||||||
music_added = True
|
music_added = True
|
||||||
else:
|
else:
|
||||||
# Fall back to standard optional files priority
|
# Fall back to standard optional files priority
|
||||||
for optFile in optional_files:
|
for optFile in optional_files:
|
||||||
optPath = self.find_file_in_paths(optFile)
|
optPath = self.find_file_in_paths(optFile)
|
||||||
if optPath.exists():
|
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
|
music_added = True
|
||||||
break
|
break
|
||||||
|
|
||||||
# Add any remaining non-music optional files
|
# Add any remaining non-music optional files
|
||||||
if not music_added:
|
if not music_added:
|
||||||
for optFile in optional_files:
|
for optFile in optional_files:
|
||||||
@@ -1594,6 +1601,10 @@ class DoomLauncher(QMainWindow):
|
|||||||
else:
|
else:
|
||||||
gameFiles.append(selectedMapPath)
|
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
|
# Get any custom flags
|
||||||
gameFlags = config.get('flags', [])
|
gameFlags = config.get('flags', [])
|
||||||
|
|
||||||
@@ -2693,25 +2704,32 @@ class DoomLauncher(QMainWindow):
|
|||||||
# Add music files with custom music mod priority
|
# Add music files with custom music mod priority
|
||||||
optional_files = config.get('optional_files', [])
|
optional_files = config.get('optional_files', [])
|
||||||
music_added = False
|
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)
|
# 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)
|
has_music_optionals = any('metal' in opt.lower() or 'music' in opt.lower() for opt in optional_files)
|
||||||
|
|
||||||
if has_music_optionals:
|
if has_music_optionals:
|
||||||
# First try to find custom music mod (highest priority)
|
# First try to find custom music mod (highest priority)
|
||||||
customMusicMod = self.find_custom_music_mod()
|
customMusicMod = self.find_custom_music_mod()
|
||||||
if customMusicMod:
|
if customMusicMod:
|
||||||
gameFiles.append(str(customMusicMod))
|
if config.get('map_after_files', False):
|
||||||
|
selectedMusicPath = str(customMusicMod)
|
||||||
|
else:
|
||||||
|
gameFiles.append(str(customMusicMod))
|
||||||
music_added = True
|
music_added = True
|
||||||
else:
|
else:
|
||||||
# Fall back to standard optional files priority
|
# Fall back to standard optional files priority
|
||||||
for optFile in optional_files:
|
for optFile in optional_files:
|
||||||
optPath = self.find_file_in_paths(optFile)
|
optPath = self.find_file_in_paths(optFile)
|
||||||
if optPath.exists():
|
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
|
music_added = True
|
||||||
break
|
break
|
||||||
|
|
||||||
# Add any remaining non-music optional files
|
# Add any remaining non-music optional files
|
||||||
if not music_added:
|
if not music_added:
|
||||||
for optFile in optional_files:
|
for optFile in optional_files:
|
||||||
@@ -2727,6 +2745,10 @@ class DoomLauncher(QMainWindow):
|
|||||||
else:
|
else:
|
||||||
gameFiles.append(selectedMapPath)
|
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
|
# Get any custom flags
|
||||||
gameFlags = config.get('flags', [])
|
gameFlags = config.get('flags', [])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user