Jump to content
Sign in to follow this  

Setting up NetRadiant Custom for JKA

Recommended Posts

Posted (edited)

Download a release from Garux GitHub:


And the gamepack contents from:


Extract the .tar.gz file using 7Zip for example so that the folder "ja-example-maps-2005-01-16.tar.gz\ja.tar\base\"

ends up being your base folder of the environment you want to map for.

You may want to use notepad++ - extract the shader files from the base assets or use the ones from the above gamepacks.

Replace the the following keywords from the existing shader files or enhance your shaders so that every keyword on the left of the list below is enhanced by its counterpart on the right side of the list...

q3map_origin => surfaceparm origin
=> q3map_patchshadows
=> surfaceparm nolightmap
=> surfaceparm hint
=> surfaceparm clusterportal
=> surfaceparm alphashadow
=> surfaceparm areaportal
q3map_structural => surfaceparm structural
q3map_detail => surfaceparm detail

Especially important to do this for the system.shader!

You can use the "search in folders/files" option in notepad++ and use replace for an entire folder (shaders in this case)

Check the documentation that comes along with NetRadiant Custom from Garux, you will see what shader instructions can be used with the included build of q3map2


Don't worry. The only relevant part of the documentation is about what instructs q3map2 to modify a surface - don't worry - undocumented stuff that is specific to JKA such as clampAnimMap and oneshotAnimMap do work of course as they are not what you have to look with regards to compatibility here - only instructions that affect how q3map2 modifies the surfaces - not the engine later on.

Extract NetRadiant Custom so I has a "netradiant-custom-DATE_OF_RELEASE" folder inside the "netradiant-custom-win64" folder you can place about anywhere you want.



I'll share my template adaption of the unverified_gamepacks ja.game package so you can extract this alongside radiant and overwrite the existing files.

I've customized the compile options as I didn't feel the need for the original variations anymore with more sophisticated q3map2 features in use.



<?xml version="1.0"?>
<project version="2.0">
<var name="bsp">&quot;[RadiantPath]q3map2.[ExecutableType]&quot; -v<cond value="[MonitorAddress]"> -connect [MonitorAddress]</cond> -game ja -fs_basepath &quot;[EnginePath]&quot;<cond value="[GameName]"> -fs_game [GameName]</cond></var>
<var name="light">&quot;[RadiantPath]q3map2.[ExecutableType]&quot; -v<cond value="[MonitorAddress]"> -connect [MonitorAddress]</cond> -game ja -fs_basepath &quot;[EnginePath]&quot;<cond value="[GameName]"> -fs_game [GameName]</cond> -light</var>
<var name="vis">&quot;[RadiantPath]q3map2.[ExecutableType]&quot;<cond value="[MonitorAddress]"> -connect [MonitorAddress]</cond> -game ja -fs_basepath &quot;[EnginePath]&quot;<cond value="[GameName]"> -fs_game [GameName]</cond> -vis</var>
<build name="Q3Map2: (single) BSP -meta">
<command>[bsp] -meta &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (single) BSP -meta -v -v -verboseentities -maxarea -threads 6">
<command>[bsp] -meta -v -v -verboseentities -maxarea -threads 6 &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (single) -vis">
<command>[vis] &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (single) -vis -saveprt -v -v -threads 6">
<command>[vis] -saveprt -v -v -threads 6 &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (single) -vis -merge -saveprt -v -v -threads 6">
<command>[vis] -merge -saveprt -v -v -threads 6 &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (light) Forced1024Lightmapsize -light -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -lightmapsize 1024 -nocollapse -nolightmapsearch -threads 6 -export -external">
<command>[light] -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -lightmapsize 1024 -nocollapse -nolightmapsearch -threads 6 -export -external &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (light) Forced1024LightmapsizeFiltered -light -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -lightmapsize 1024 -samples 4 -super 2 -filter -nocollapse -nolightmapsearch -threads 6 -export -external">
<command>[light] -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -lightmapsize 1024 -samples 4 -super 2 -filter -nocollapse -nolightmapsearch -threads 6 -export -external &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (light) ExternalLightmappingMadeEasy -light -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -nocollapse -nolightmapsearch -threads 6 -export -external ">
<command>[light] -patchshadows -v -v -brightness 1.25 -exposure 250 -gridscale 4 -nocollapse -nolightmapsearch -threads 6 -export -external &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (light) BounceOnlyTest -light -patchshadows -v -v -bounceonly -bounce 4 -bouncescale 4 -bouncegrid -brightness 1.25 -exposure 250 -gridscale 4 -nocollapse -nolightmapsearch -threads 6 -export -external">
<command>[light] -patchshadows -v -v -bounceonly -bounce 4 -bouncescale 4 -bouncegrid -brightness 1.25 -exposure 250 -gridscale 4 -nocollapse -nolightmapsearch -threads 6 -export -external &quot;[MapFile]&quot;</command>
<build name="Q3Map2: (light) Radiosity -light -dirty -dirtdepth 4 -dirtmode 0 -dirtscale 4 -patchshadows -v -v -brightness 1.25 -exposure 250 -bounce 4 -bouncescale 4 -bouncegrid -gridscale 4 -samples 4 -super 2 -filter -nocollapse -nolightmapsearch -threads 6 -export -external">
<command>[light] -dirty -dirtdepth 4 -dirtmode 0 -dirtscale 4 -patchshadows -v -v -brightness 1.25 -exposure 250 -bounce 4 -bouncescale 4 -bouncegrid -gridscale 4 -samples 4 -super 2 -filter -nocollapse -nolightmapsearch -threads 6 -export -external &quot;[MapFile]&quot;</command>
<build name="convert to .ASE">
<command>[bsp] -convert -format ase -shadersasbitmap &quot;[BspFile]&quot;</command>
<build name="convert to .OBJ">
<command>[bsp] -convert -format obj -shadersasbitmap &quot;[BspFile]&quot;</command>
<build name="make .pk3">
<command>[bsp] -pk3 &quot;[BspFile]&quot;</command>
<build name="make .aas">
<command>[mbspc] -forcesidesvisible -optimize -bsp2aas &quot;[BspFile]&quot;</command>
<build name="ScaleMap8">
<command>[bsp] -scale 8 &quot;[BspFile]&quot;</command>
<build name="ASE Shaders">
<command>[bsp] -convert -format ase -shadersasbitmap &quot;[BspFile]&quot;</command>
<build name="ASE Lightmaps">
<command>[bsp] -convert -format ase -lightmapsastexcoord -shadersasbitmap &quot;[BspFile]&quot;</command>

Inside the archive will be my preferences and modified compile commands. The original ones can be found in the unverified gamepacks if you want to see it. However look at my zip file so you know where your files should end up incase you want to build this yourself...

The file linked to this post is to be found here: 


Edited by mjt
HINT fix for VIS compile

Share this post

Link to post


On 7/3/2020 at 11:49 PM, mjt said:

Download a release from Garux GitHub:

Why should we use this over GTKRadiant again?

Share this post

Link to post
On 7/5/2020 at 12:20 AM, Aldro Koon said:

 Why should we use this over GTKRadiant again?

I wonder where I said you should 😉 Just providing another option here, because I really have grown fond of this tool over Radiant 1.6.6 because of its advanced BobToolZ plugin for Patchmeshes and the new patch primitives. I also like to compile with the version of q3map2 it brings along. Thinking about it, I will now edit the post again to include what I did to get that to work properly.

Granted it's a bit of effort but nothing special.

Aldro Koon, z3filus and {JoF} Atlas like this

Share this post

Link to post

Folks who checked this out, beware that I have occasionally updated this topic to include my latest findings with regards to mapping the q3map_ parameters in the shaders to their surfaceparm counterpart...

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Create New...