This is the title image!

Using GTKRadiant 1.4 and below for Q1 Mapping

GTKRadiant 1.4 and below do not natively support Quake 1 mapping, but it can still be done with some clever tricks.

Disclaimer: This is an ANCIENT guide, written in 2003. None of the links work. You will need Aguirre's ConvMap.exe to convert q3 to q1 map files.

To begin, your going to have to have GTKRadiant. The most recent version is best (as of the time of writing this, it is 1.2.10).
Go here to the site and download GTKRadiant.

Once you have it downloaded, install it.

Now that your copy is installed, your going to need to set up the Quake entities set. To do this, you need this file (zipped - 6k) which is directly from the 'Stoneless' quake editor entity file. The only thing that is changed is the extension.

Once you have the file, unzip it into your /quake3/baseq3/scripts/ directory. GTKRadiant goes in this directory and searches for any files which have the .def extension. It adds whatever files it finds into it's entity list. Go into this directory and look for the file 'entities.def'. This is the Quake3:Arena entities. You need to rename the file to change it's extension, otherwise, GTKRadiant will add those entities along with the Quake1 entities, and it could get confusing. If your going to be using GTKRadiant for both Quake1 and Quake3 editing, you'll need to switch these files around each time.

Now that you have your entities straightened out, your going to need some textures.

Find a texture wad that you like. For this, you will need a wad editor that can export textures as 24 Bit TGAs or Jpeg files. I recommend TexMex because it hasn't failed me yet and supports a large variety of image formats for both Import and Export, along with in-editor changes to texture names, brightness and removal of fullbrights.
Load up your texture wad in the texture editor, and export the textures you want as either 24Bit TGA or JPeg files into the /quake3/baseq3/textures/#YOURTEXTUREDIR#/.

Note: replace #YOURTEXTUREDIR# with whatever folder name you'd like. I find it easier to keep the textures in the same directory as the name of the map I'm working on. You might also want to add something like '(q1)' to the folder's name so you know they are Quake1 textures when your making Quake3(or other game) maps.

Alternative Methods
Mr. Fribbles mentioned something which I seem to have forgotten.
There is another way in which to convert textures from .wad to 24 Bit TGAs. If you'd rather do so, then get Qonverge. Read the instructions included in it's zip archive. I don't use this program, so I can't accuratly give any instructions on it's use. There are also some other misc. utilities which could come in handy that you may want to check out there.

Now that your textures are all done, you need to set up GTKRadiant to default to a 1x1 texture scale (as opposed to the default 0.5x0.5 scale).

Go in /gtkradiant/games/ and find the file. Copy it to a new file called Open up the newly copied file and look for the line < game name="Quake III Arena / Quake III: Team Arena and modifications" gametools="G:Quake3Radiant/" />

Change it to this: < game name="Quake 1" gametools="G:Quake3Radiant/" default_scale="1" />
Note: Obviously, make sure the paths are correct. If Quake3 is installed on D:, or C:, change the drive letter to reflect this.

Now, your all set. go in gtkr, and in the preferences, and choose Quake 1 in the drop down list. Voilà! Your ready for Quake1 mapping in GTKRadiant.

Now you will need a map converter. I highly recommend sleepwalkR's mapconv.exe. It works well and goes both ways (Q1 -> Q2, Q2 -> Q1.) Don't be deceived by the Q1 to Q2 thing. Quake3's map format is identical to Quake2's, meaning, this converter also works for Quake3 maps (and theoretically, you could even use GTKRadiant for Quake2, even though it's not officially supported).

Once you have the utility, read all the instructions. Discard all of the notes for using Q3Radiant/QERadiant for mapping in Quake1. Q3Radiant/QERdiant is different from the way it handles textures and such from the way GTKRadiant does.

For compiling, you'll obviously need a set of compilers, but I won't go into that. What you will need is batch files, and i'll give an example of what it can be like. This is my own batch file I use for 'regular' compiles (qbsp, vis, light).

@echo off

rem remove previous files
del %1_q1.bsp
del %1_q1.h1
del %1_q1.h2
del %1_q1.prt
del %1_q1.pts

rem copy in new one...

convert with added '_q1'
mapconv -toq1 -cspecialcharacters

rem compile...
qbsp %1_q1
tyrlite %1_q1
rvis2 -level 3 %1_q1

rem copy the map to the dir...
copy %1_q1.bsp g:quakeid1maps
copy %1_q1.pts g:quakeid1maps

It's not amazingly complicated, but it gets the job done. :)

Update (02.24.03): Finding leaks in GTKRadiant is ridiculously easy! Simply compile the map as if it were a Quake3 map, using the q3map.exe program distributed with GTKRadiant, or use the enhanced version (q3map2.exe). If there are any leaks, the q3 compilers will spit out a leak file which gets read by GTKR, showing a red line. If, for some reason, the q3 compilers don't pick up on leaks, but your q1 compilers are, simply take the .pts file that your q1 compilers are spitting out, and copy into the folder where GTKR is compiling the map as a q3 map. (I use g:quake3baseq3maps, for example). Rename the pointfile to a .lin file, and load the point file in GTKR (by going: File -> Pointfile...

Update (04.05.03): If you are used to using an editor which automatically includes textures for you (ie: Quark), you'll need to remember to specify the .wad file that your map uses in the worldspawn. To access the worldspawn, simply open the entity window ('n' key) and select any world brush -- not a door, or entity. Then, create a key named "wad" and set it to the filename (ie: q1textures.wad). When you compile your map, make sure the .wad file is in the same directory was the map file being compiled, and the compiler should include the textures automatically.