The open source, cross platform level editor for idtech games
Go to file
Thomas Debesse 8aeff6b09a Do not do `using namespace std` to avoid type conflict
The STL now defines `std::byte` so doing `using namespace std`
will conflict will custom definition of `byte`, which this
legacy code is full of.

It looks like NetRadiant went the route of making explicit
usage of `std::` prefixed types and did not renamed the
custom definition of byte, so doing the same reduces diff
noise between the two trees.

This also makes the code future proof if the STL decides
to define some other types with common name.

This patches replaces all usages of `map`, `pair` and
`vector` with `std::map`, `std::pair` and `std::vector`
and remove the `using namespace std` line in `stl_check.h`.

```
libs/mathlib.h:132:44: error: reference to ‘byte’ is ambiguous
  132 | void NormalToLatLong( const vec3_t normal, byte bytes[2] );
      |                                            ^~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:61,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from libs/missing.h:76,
                 from radiant/qe3.h:40,
                 from radiant/stdafx.h:39,
                 from radiant/bp_dlg.cpp:28:
/usr/include/c++/11/bits/cpp_type_traits.h:404:30: note: candidates are: ‘enum class std::byte’
  404 |   enum class byte : unsigned char;
      |                              ^~~~
```
2022-07-14 17:18:51 +02:00
.github/workflows wasn't building everything.. 2021-05-16 17:14:31 -05:00
apple Nudge Apple Makefile version to 1.6.6. 2018-03-16 13:34:14 -04:00
contrib Do not do `using namespace std` to avoid type conflict 2022-07-14 17:18:51 +02:00
docs/manual uncrustify! now the code is only ugly on the *inside* 2012-03-17 15:01:54 -05:00
include Do not do `using namespace std` to avoid type conflict 2022-07-14 17:18:51 +02:00
install always provide notex 2018-01-23 00:18:45 +01:00
libs Do not do `using namespace std` to avoid type conflict 2022-07-14 17:18:51 +02:00
plugins Do not do `using namespace std` to avoid type conflict 2022-07-14 17:18:51 +02:00
po Update de.po 2016-05-15 20:14:43 +02:00
radiant Do not do `using namespace std` to avoid type conflict 2022-07-14 17:18:51 +02:00
regression_tests/q3map2 [regression_tests] Convert line endings to Unix style uniformly 2016-08-03 15:47:20 +01:00
tools Fix build error on Linux due to missing `<stdint.h>` include 2021-01-07 18:57:03 +01:00
.cproject Eclipse project files. 2020-11-11 12:31:42 -05:00
.gitignore Update gitignore to cleanup some build spam 2017-04-23 00:29:56 -05:00
.gitmodules remove the bspc submodule - it is meant to get pulled by scons target=setup 2017-03-02 21:39:49 -06:00
.project Eclipse Python support for Scons files. 2021-02-11 17:44:45 -05:00
.pydevproject Eclipse Python support for Scons files. 2021-02-11 17:44:45 -05:00
BSD * eol-style native 2008-06-25 22:07:02 +00:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-03-13 17:41:32 -05:00
CONTRIBUTORS trash a bunch of outdated and confusing things 2012-03-17 14:07:19 -05:00
GPL * eol-style native 2008-06-25 22:07:02 +00:00
GtkRadiant-build-commands.json add IQM format support into lib/picomodel 2021-07-29 17:44:53 +02:00
GtkRadiant.srctrlbm Add a SourceTrail project 2018-01-06 22:00:50 -06:00
GtkRadiant.srctrldb Add a SourceTrail project 2018-01-06 22:00:50 -06:00
GtkRadiant.srctrlprj Remove stale Quake Live VFS plugin references. 2021-02-11 17:45:04 -05:00
LGPL * eol-style native 2008-06-25 22:07:02 +00:00
LICENSE * changed eol-style to native 2008-06-25 22:05:08 +00:00
README.md README: Add build dependancies required for Ubuntu and ArchLinux 2020-06-12 21:56:24 +10:00
SConscript.lib SCons: Update SCons build scripts to support Python 3 and SCons 3 2020-06-12 21:23:33 +10:00
SConscript.module read source file lists from .vcxproj files for SCons build 2017-01-01 09:07:33 -06:00
SConscript.q3data read source file lists from .vcxproj files for SCons build 2017-01-01 09:07:33 -06:00
SConscript.q3map2 read source file lists from .vcxproj files for SCons build 2017-01-01 09:07:33 -06:00
SConscript.q3map2.urt convert to python 3 2021-04-25 15:30:41 -05:00
SConscript.radiant fix the --no-packs stuff 2018-02-03 17:39:38 -06:00
SConstruct convert to python 3 2021-04-25 15:30:41 -05:00
TRANSLATING * some notes for running the translated version of radiant 2008-06-26 11:01:07 +00:00
config.py Fix macOS Python urllib module name issue. 2021-11-24 09:44:31 -05:00
install.py convert to python 3 2021-04-25 15:30:41 -05:00
makeversion.py convert to python 3 2021-04-25 15:30:41 -05:00
prepare_archive.py convert to python 3 2021-04-25 15:30:41 -05:00
radiant.pot Rename surface_ufoai to surface_idtech2. This plugin should be used for all Quake1 / Quake2 derived games. Updated game packs to be checked in shortly. 2013-07-08 22:20:13 -04:00
radiant.sln Add bspc from the submodule in the main solution 2018-01-22 08:51:32 -06:00
uncrustify.cfg uncrustify config - not applying until more sync with internal versions are done 2008-03-16 15:51:12 +00:00
utils.py convert to python 3 2021-04-25 15:30:41 -05:00

README.md

GtkRadiant

logo

GtkRadiant is an open-source, cross-platform level editor for id Tech based games. It comes with some map compilers and data authoring tools.

Downloads

Ready-to-use GtkRadiant packages are available on the Downloads page on GtkRadiant's website. Some installation instruction may be useful.

Supported games

GtkRadiant provides level editing support for Quake, Quake2, Quake III Arena, QuakeLive, Quetoo, Return to Castle Wolfenstein, Star Trek Voyager: Elite Force, Star Wars Jedi Knight: Jedi Academy, Unvanquished, Urban Terror, Wolfenstein: Enemy Territory.

How to build

You can find more complete instructions to build on Windows there and to build on Mac OS there.

# install build dependancies
# Ubuntu 18.04
apt install git scons python-urllib3 libxml2 libxml2-dev libgtk2.0 libgtk2.0-dev libgtkgl2.0-1 libgtkgl2.0-dev libglu1-mesa libglu1-mesa-dev libgtkglext1 libgtkglext1-dev subversion libjpeg8 libjpeg8-dev

# Ubuntu 20.04
apt install git scons libxml2 libxml2-dev libgtkgl2.0-1 libgtkgl2.0-dev libglu1-mesa libglu1-mesa-dev libgtkglext1 libgtkglext1-dev subversion libjpeg8 libjpeg8-dev

# ArchLinux
pacman -S git scons python-urllib3 libxml2 gtk2 freeglut gtkglext subversion libjpeg-turbo
# get the source
git clone "https://github.com/TTimo/GtkRadiant.git"

# enter the source tree
cd GtkRadiant

# build everything
scons

You can build a specific part like this:

# only build the GtkRadiant level editor
scons target="radiant"

# only build the q3map2 map compiler and the q3data tool
scons target="q3map2,q3data"

Level editor binary (radiant) and tools (like q3map2) will be found in install/ directory. The build process automatically fetches gamepacks.

Getting in touch

The #radiant channel at QuakeNet is the official GtkRadiant IRC channel. Come and chat about level design, development or bugs, you're welcome. Bugs can be submitted on the GitHub issue tracker.

GtkRadiant source code is copyrighted by id Software, Inc and various contributors and protected by the General Public License v2.