nstlaurent / DoomLauncher

Doom Launcher is a doom launching utility and database for custom wads and pk3s
GNU General Public License v3.0
231 stars 20 forks source link

Unzipped/Unmanaged .pk3 files not loading (DoomLauncher 3.1.1.0) #203

Closed DawnVespero closed 4 years ago

DawnVespero commented 4 years ago

Loose .pk3 files will not launch correctly, even when I specifically select them from the "Select Individual Files" window. pk3s contained in ZIPs (both those added through the Launcher and those bundled into ZIPs externally) work just fine, but any loose files will usually not load at all, booting up my selected IWAD without any content from the pk3s. Loose WAD files still work fine though. I have found two files (two versions of Brutal Wolfenstein, "BW-PBSV0.pk3" and "BW-V4.5_Waiting_For_V50.pk3") which load in some assets (the title screen and maps) but not most (Screenshots below for comparison). As with Brutal Wolfenstein, I have checked numerous other .pk3s by loading them directly into GZDoom to see if that was causing the problem, but they all worked fine through it.

Loading BW-PBSV0.pk3 through GZDoom Screenshot_Doom_20201010_173730

Loading BW-PBSV0.pk3 through DoomLauncher Screenshot_Doom_20201010_173750

nstlaurent commented 4 years ago

Hi,

I think I am missing something here. I tried loading BW-PBSV0.pk3 as both managed and unmanaged and it loaded correctly. Could you post what the parameters look like by clicking Show next to Preview Launch parameters?

DawnVespero commented 4 years ago

Sure, here they are:

-iwad "A:\Games\Doom\Addons\Temp\DOOM2.WAD" -file "A:\Games\Doom\Addons\Temp\BWSTUFF.wad" "A:\Games\Doom\Addons\Temp\BWTERAIN.wad" "A:\Games\Doom\Addons\Temp\MAP01.wad" "A:\Games\Doom\Addons\Temp\MAP02.wad" "A:\Games\Doom\Addons\Temp\MAP03.wad" "A:\Games\Doom\Addons\Temp\MAP04.wad" "A:\Games\Doom\Addons\Temp\MAP05.wad" "A:\Games\Doom\Addons\Temp\MAP06.wad" "A:\Games\Doom\Addons\Temp\MAP07.wad" "A:\Games\Doom\Addons\Temp\MAP08.wad" "A:\Games\Doom\Addons\Temp\MAP09.wad" "A:\Games\Doom\Addons\Temp\MAP10.wad" "A:\Games\Doom\Addons\Temp\MAP11.wad" "A:\Games\Doom\Addons\Temp\MAP12.wad" "A:\Games\Doom\Addons\Temp\MAP13.wad" "A:\Games\Doom\Addons\Temp\MAP14.wad" "A:\Games\Doom\Addons\Temp\MAP15.wad" "A:\Games\Doom\Addons\Temp\MAP16.wad" "A:\Games\Doom\Addons\Temp\MAP17.wad" "A:\Games\Doom\Addons\Temp\MAP18.wad" "A:\Games\Doom\Addons\Temp\MAP19.wad" "A:\Games\Doom\Addons\Temp\MAP20.wad" "A:\Games\Doom\Addons\Temp\MAP21.wad" "A:\Games\Doom\Addons\Temp\MAP22.wad" "A:\Games\Doom\Addons\Temp\MAP23.wad" "A:\Games\Doom\Addons\Temp\MAP24.wad" "A:\Games\Doom\Addons\Temp\MAP25.wad" "A:\Games\Doom\Addons\Temp\MAP26.wad" "A:\Games\Doom\Addons\Temp\MAP27.wad" "A:\Games\Doom\Addons\Temp\MAP28.wad" "A:\Games\Doom\Addons\Temp\MAP29.wad" "A:\Games\Doom\Addons\Temp\MAP30.wad" "A:\Games\Doom\Addons\Temp\MAP31.wad" "A:\Games\Doom\Addons\Temp\MAP32.wad" "A:\Games\Doom\Addons\Temp\MAP33.wad" "A:\Games\Doom\Addons\Temp\MAP34.wad" "A:\Games\Doom\Addons\Temp\MAP35.wad" "A:\Games\Doom\Addons\Temp\MAP36.wad" "A:\Games\Doom\Addons\Temp\MAP37.wad" "A:\Games\Doom\Addons\Temp\MAP38.wad" "A:\Games\Doom\Addons\Temp\MAP39.wad" "A:\Games\Doom\Addons\Temp\MAP40.wad" "A:\Games\Doom\Addons\Temp\MAP41.wad" "A:\Games\Doom\Addons\Temp\MAP42.wad" "A:\Games\Doom\Addons\Temp\MAP43.wad" "A:\Games\Doom\Addons\Temp\MAP44.wad" "A:\Games\Doom\Addons\Temp\MAP45.wad" "A:\Games\Doom\Addons\Temp\MAP46.wad" "A:\Games\Doom\Addons\Temp\MAP47.wad" "A:\Games\Doom\Addons\Temp\MAP48.wad" "A:\Games\Doom\Addons\Temp\MAP49.wad" "A:\Games\Doom\Addons\Temp\MAP50.wad" "A:\Games\Doom\Addons\Temp\MAP51.wad" "A:\Games\Doom\Addons\Temp\MAP52.wad" "A:\Games\Doom\Addons\Temp\MAP53.wad" "A:\Games\Doom\Addons\Temp\MAP54.wad" "A:\Games\Doom\Addons\Temp\MAP55.wad" "A:\Games\Doom\Addons\Temp\MAP56.wad" "A:\Games\Doom\Addons\Temp\MAP57.wad" "A:\Games\Doom\Addons\Temp\MAP58.wad" "A:\Games\Doom\Addons\Temp\MAP59.wad" "A:\Games\Doom\Addons\Temp\MAP60.wad" "A:\Games\Doom\Addons\Temp\MAP62.wad" "A:\Games\Doom\Addons\Temp\test.wad" "A:\Games\Doom\Addons\Temp\TITLEMAP.wad"

Supported Extensions: .pk3,.wad,.deh,.bex,.pk7

*** If files appear to be missing check the 'Select Individual Files' option and supported extensions options in the Source Port form of the selected source port.

As you can see, it only loads the wad files from within the pk3, despite .pk3 being in the list of compatible formats.

nstlaurent commented 4 years ago

This looks like the bug that was in 3.0.0 where it was extracting pk3 files that were unmanaged. I am still unable to reproduce the problem. Maybe there is a difference with your configuration and/or how you are adding the file. Would you mind attaching your DoomLauncher.sqlite file? Hopefully, using that I can reproduce the issue and get this fixed.

DawnVespero commented 4 years ago

Interestingly, something strange happened while I was looking to post the file: I noticed that DoomLauncher actually hadn't created a .sqlite file, despite having a large library of files indexed. After I dropped in a clean one (the "DoomLauncher.sqlite" file that comes in the official release packages), which of course caused my library to reset, I rebuilt my library with the "Sync Status"_ command. Unfortunately, it still won't launch my unzipped pk3s so here's the file anyway.

nstlaurent commented 4 years ago

Oh, you must be using the installed version. When using the installer everything is stored in 'C:\Users\yourusername\AppData\Roaming\DoomLauncher'.

If this is the case you can delete the DoomLauncher.sqlite you just created. If it exists in that directly it assumes it isn't installed and will not longer use the one in the AppData folder.

OK, I can see what is going on. It's likely because the GameFiles directory is changed. This is probably making a real mess since the unmanaged option was implemented. I will see what I can do. Thanks for the help.

DawnVespero commented 4 years ago

Actually, I'm not using the installer version (I'm using the version extracted from the regular "DoomLauncher_3.1.1.0.zip", not the "DoomLauncher_3.1.1.0_install.zip"), but since you mentioned it, I did go to the AppData directory, and it actually did create a seperate DoomLauncher.sqlite file in there, along with the "Backup", "GameFiles" and "TileImages" folders that are usually found in the install directory. This is strange since, if I understand what you said correctly, these files shouldn't be present if DoomLauncher is not installed through the .msi installer, which to my knowledge I have never used.

nstlaurent commented 4 years ago

That is strange, running the msi is the only way those files can get in there.

I think the problem may be with the sync feature and having .pk3 files in the GameFiles directory. The problem is pk3 files are zip files and Doom Launcher by design unpacks zip files that are managed. Anything added through Doom Launcher in managed mode should have been added to a zip, even if it's a pk3.

As a test manually drag the BW-PBSV0.pk3 from the GameFiles folder somewhere else. Then drag BW-PBSV0.pk3 into Doom Launcher. It should be added as BW-PBSV0.zip and work. Then you can delete the BW-PBSV0.pk3 from Doom Launcher.

DawnVespero commented 4 years ago

Yeah, having the pk3 zipped works just fine. As I said, using zipped files through DoomLauncher usually works without problems, so manually re-adding all my loose pk3s should almost certainly solve the problem. I just thought it was strange that the Sync feature added my files to the library in a way that essentially makes them unplayable. Perhaps this could be solved by simply having the "Add to library" option in the Sync menu zip up loose files in the same way the regular "Add files" command already does.

nstlaurent commented 4 years ago

I can log it as an issue. The only way this can happen is if files are manually added to the GameFiles directory outside of Doom Launcher. These folders aren't intended to be touched outside of Doom Launcher, and the sync feature was added as feature to help with something happening to the database to quickly re-sync everything. Thanks for the report.