kondrak / vkQuake2

id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, macOS, FreeBSD, Raspberry Pi 4)
GNU General Public License v2.0
906 stars 90 forks source link

Quake II Enhanced mission pack(s) are embeded in pak0.pak file now (as of 2023.08.10) #162

Closed todortanevski closed 9 months ago

todortanevski commented 1 year ago

This is pretty new - can this be reverse engineered to be used with linux ports like this one?

I have paid for the game on GOG/Steam but it is only usable/playable on Windows OS.

It would be really good to be usable on our favorite Linux as well.

baseq2 structure is like this:

[baseq2]$ tree -L 1 . ├── game_x64.dll ├── music ├── pak0.pak └── video

where pak0.pak is 1629M and contains two new mission packs - Nintendo 64 one and brand new "Call of the machine" - these two are not available from this pack at all.

kondrak commented 1 year ago

Not impossible to pull off but definitely not within the scope of the project (and the amount of time I can dedicate to it these days). Also, would be difficult for me to test without getting the enhanced edition myself and frankly - not what I feel like spending money on right now :)

I'll leave this open, though, as it would make a nice improvement.

folknor commented 1 year ago

Also, would be difficult for me to test without getting the enhanced edition myself and frankly - not what I feel like spending money on right now :)

It's free if you already own Q2, which I suspect you do.

folknor commented 1 year ago

Also, here is the code for the remaster: https://github.com/id-Software/quake2-rerelease-dll

EDIT: It should be noted that the readme for the code is exceptionally well written. Very useful for you as well.

kondrak commented 9 months ago

I actually had a look at this recently and indeed, the re-release is well documented.

With that being said, there's so much architectural change (not to mention need to use a fairly recent compiler, preferably something that support C++20) that I consider adding support to this in vkQuake2 as not feasible. The amount of changes would require modifications in other mods and given that APIs have changed - likely in the remaining parts of the game itself. This is far beyond the scope of this project. Not to mention - I have no way to test this on Linux or Mac anymore.

On the bright side - this looks like something that Yamagi team, for example, could incorporate - so might be a good idea to report that to them as well and see what they say :) The modding community is really rich and vkQuake2 is primarily my testbed for Vulkan.