sultim-t / vkquake-rt

GNU General Public License v2.0
362 stars 14 forks source link

Quake = Free on Prime = Missing files #26

Open chaosophy opened 1 year ago

chaosophy commented 1 year ago

As a heads up Quake is free on Prime (not the Epic store) this week!

I downloaded the quake-rt-1_0_2 AMD release, unzipped and followed the manual install path.

Copied... D:\Program Files (x86)\Epic Games\Quake\id1\pak0.pak D:\Program Files (x86)\Epic Games\Quake\id1\music to an id1 folder next to vkQuake,exe and also copied... D:\Program Files (x86)\Epic Games\Quake\QuakeEX.kpf next to the vkQuake.exe

but when I run vkQuake I get the following pop up...


Missing files

Some files in a local "id1" folder are missing. Copy them from a Steam folder?

Yes No

game still seems to load fine after clicking No.

Wondering if anyone might know what it thinks is missing?
And if there are any more files I need to copy over? Not sure if I've done something wrong, the install notes are wrong, or if the app has something odd hardcoded?

Thanks.

HarbingerDawn commented 1 year ago

It always seems to say that when using the files from the re-release rather than classic Quake. It doesn't seem to affect anything, the pop-up just needs to be reprogrammed to only occur if classic files are used instead of files from the re-release.

chaosophy commented 1 year ago

Hi, thanks for confirming, was worried I'd messed it up. I guess it's looking for the pak1.pak file or something?

Andrew-Cottrell commented 1 year ago

This message also appears when using classic Quake. I get the same 'Some files in a local "id1" folder are missing' message even though I have both the ID1\PAK0.PAK and ID1\PAK1.PAK files — each with creation date Friday, ‎12 ‎July ‎1996, ‏‎18:31:52 — copied from the original CD-ROM disc. I just click "No" every time and the game works fine (I have completed the game on this engine). Perhaps the engine's detection routine is looking for a Steam-version specific file that isn't actually needed.


btw, I didn't find that Quake is free on the Epic store this week, and it doesn't appear, for me, on the free games page. Perhaps the free offer is region specific. The Epic version, for me, is the same price as the GOG version (which is my preferred digital distribution platform).


I just found the free offer: Quake (Epic Games Store) is free for Prime Gaming members (via amazon.com) from 1 December 2022 to 3 January 2022.

chaosophy commented 1 year ago

Ah yes, my bad, it was from the Prime offer. I must of got confused as it redeems to Epic store and I had been on Epic yesterday to claim the weekly free games on there.

Also, thanks for confirming you see the same issue as my op.

HarbingerDawn commented 1 year ago

I get the same 'Some files in a local "id1" folder are missing' message even though I have both the ID1\PAK0.PAK and ID1\PAK1.PAK files

Did you also copy the music to /id1/music/?

Andrew-Cottrell commented 1 year ago

Did you also copy the music to /id1/music/?

Yes, I also have ID1\music containing 10 files named Track02.ogg through to Track011.ogg. These contain Vorbis 44100Hz stereo 256 kbit/sec streams. The music plays in game.

While I could have grabbed the audio tracks from the original CD-ROM, I saved myself some effort and downloaded the tracks (maybe from https://quake.fandom.com/wiki/Quake_Soundtrack) and then renamed them.


There is a note on https://github.com/Novum/vkQuake for the Linux build

Make sure all data files are lowercase, e.g. "id1", not "ID1" and "pak0.pak", not "PAK0.PAK".

Although I am using Windows 10, I have just tried with renamed folders and files: id1\pak0.pak, id1\pak1.pak, and id1\music. As expected, this made no different and I still get the 'Some files in a local "id1" folder are missing' message.

Berzerk2k2 commented 1 year ago

The "Some files in a local "id1" folder are missing" message stopped appearing after I once hit the YES button.

Quake RT then copied the pak files (0 and 1) from the classic id1 folder (not the one in "rerelease") into the id1 folder that's located in my Quake RT installation. Now when I start the game the message doesn't show up anymore.

Looks like the rerelease files (pak0.pak, QuakeEX.kpf) are not recognised/supported by QRT at the moment so when you use any of those the message will appear.

Andrew-Cottrell commented 1 year ago

I have fixed my install to avoid the message. The solution is to ensure your folders & files match the lists specified in

https://github.com/sultim-t/vkquake-rt/blob/1.20.2-rt1.0.2/Quake/common.c#L2230

static const wchar_t *rt_folderstocreate[] = {
    L"\\id1",
    L"\\id1\\music",
};
static const wchar_t *rt_originalfiles[] = {
    L"\\id1\\PAK0.PAK",
    L"\\id1\\PAK1.PAK",
    L"\\rerelease\\id1\\music\\track02.ogg",
    L"\\rerelease\\id1\\music\\track03.ogg",
    L"\\rerelease\\id1\\music\\track04.ogg",
    L"\\rerelease\\id1\\music\\track05.ogg",
    L"\\rerelease\\id1\\music\\track06.ogg",
    L"\\rerelease\\id1\\music\\track07.ogg",
    L"\\rerelease\\id1\\music\\track08.ogg",
    L"\\rerelease\\id1\\music\\track09.ogg",
    L"\\rerelease\\id1\\music\\track10.ogg",
    L"\\rerelease\\id1\\music\\track11.ogg",
};
static const wchar_t *rt_dstfiles[] = {
    L"\\id1\\PAK0.PAK",
    L"\\id1\\PAK1.PAK",
    L"\\id1\\music\\track02.ogg",
    L"\\id1\\music\\track03.ogg",
    L"\\id1\\music\\track04.ogg",
    L"\\id1\\music\\track05.ogg",
    L"\\id1\\music\\track06.ogg",
    L"\\id1\\music\\track07.ogg",
    L"\\id1\\music\\track08.ogg",
    L"\\id1\\music\\track09.ogg",
    L"\\id1\\music\\track10.ogg",
    L"\\id1\\music\\track11.ogg",
};

A helpful enhancement would be to include this information in either readme.md or the release notes.


On Windows case-sensitivity doesn't matter. My discrepancy was with the two files "track10.ogg" and "track11.ogg", which I had named "Track010.ogg" and "Track011.ogg". I had followed a guide that indicated these were the required names for some other Quake engines.


If your version (perhaps from the Epic Game Store) does not have a "pak1.pak" file, you could try creating an empty file with that name. Possibly it will pass the check for missing files, even if the file is not actually required or used in game. This doesn't affect me, and I don't have a suitable version to test, but it would be helpful for others with this problem if someone would test this and post here if this solves the issue or not.

Note, the idea of creating an empty "pak1.pak" file has been tested and reported to not work.

In theory (but I don't know if correct in practise), the engine could detect if "pak1.pak" is required or not based on the "pak0.pak" file (e.g., recognise the Epic Game Store version using the file length, an SHA-256 hash, or similar). This might not be practical if the Epic Game Store version of "pak0.pak" is not stable and the file length and/or hash regularly changes.


See this comment for another workaround that might suppress the "Some files in a local "id1" folder are missing." message by using the -basegame command line option in a Windows shortcut.

This workaround has been confirmed to work here.

TR2NLG commented 1 year ago

Is this the same problem / folder circumstance that causes the Rerelease assests don´t appear ingame?

Laithan401 commented 1 year ago

Same issue here.. cannot get RT to work with the rerelease no matter what I do. It seems to be hardcoded to use files from the base steam folder and not using the rerelease folder. I even put the RT files directly into the rerelease folder and it still loads the original version.