How do i use .pk3dir feature?

I knew the ioquake3 new convenient feature: ioquake3 has a useful new feature for mappers. Paths in a game directory with the extension “.pk3dir” are treated like pk3 files. :grinning:

So i unzip the baseq3/pak1.pk3 to baseq3/pak1.pk3dir and delete the pak1.pk3 file, when i debug program, an error occured: “Point Release files are missing. Please re-install the 1.32 point release…”, the error is threw by FS_CheckPak0 function.

How do i use the .pk3dir feature properly ? Thanks in advance!!

If you’re touching Quake 3 main game resources, I think you should do something like that, in my way I’m used to use the mod way: ioquake3.x86_64.exe +set fs_game q3-data.pk3dir where q3-data.pk3dir is where I save vm folder.
So, in q3-data.pk3dir is where we save textures, sounds, vm, maps, effects, … Must be included the folders like that: q3-data.pk3dir/textures/, q3-data.pk3dir/effects/, q3-data.pk3dir/maps/, …

pk3direxample

To use .pk3dir, create baseq3/<name>.pk3dir with folders like in a pk3 and set sv_pure 0. The .pk3dir will be sorted to the same load order as <name>.pk3. You can use any <name>.pk3 or .pk3dir and it will automatically be used. (This can be used with other game/mod directories as well as baseq3.)

The default baseq3 / missionpack pk3s are a special case; ioquake3 requires the pk3 files to be present to run and they should not be modified. In general, this is needed for joining servers with sv_pure 1.

If you really want to use default Quake 3 pk3s as pk3dirs for some reason, you could do this using “ioquake3 +set com_basegame baseq3-unzipped +set sv_pure 0” (to disable the default pk3 files requirement and enable unzipped files / .pk3dir) and put the pak*.pk3dir folders in “baseq3-unzipped” instead of “baseq3”. (You cannot join regular Quake 3 servers using this set up.)

fs_game <name>.pk3dir is actually not using the .pk3dir system. It’s a mod/game directory. You could just use <name> or whatever. (This still needed sv_pure 0 to access unzipped files in-game.)

Thank for your replay. I created a new folder named ‘data’, then pass ‘+set com_basegame data +set sv_pure 0’ to command line, unzip files from pak0.pk3 to pak8.pk3 to this folder (merge and replace files in correct order), and it works fine!

Thank for your help! Actually i didn’t create a .pk3dir directory, instead of i created a new folder named ‘data’, then pass ‘+set com_basegame data +set sv_pure 0 ’ to command line, unzip files from pak0.pk3 to pak8.pk3 to this folder (merge and replace files in correct order), and it works fine!

BTW, i noticed that the console didn’t print the count of files when loading .pk3dir, i don’t know if this is intentional.

Also, I’d really like to know how to enable truetype font in ioquake3. Although I define USE_FRRETYPE as 1 in Makefile, the freetype code in tr_font.c still doesn’t run, it seems that these codes are used to precompile truetype font files. I look up some answers seem to require modifying all relevant font code, which is a bit tricky.

It would be very exciting if truetype fonts could be used in ioquake3 directly, will this feature be possible in future ioquake3 ?

Thanks again !

TrueType fonts are only utilized by the expansion Quake 3: Team Arena and it’s a little complicated to use. Use ttf font in a standalone game - #2 by zturtleman

Thanks for your explanation ! The Spearmint Quake 3 looks very nice!:+1: I will test it in someday.

Have a good day!