Our preferred BSP compiler
Find a file
Joshua Ashton fc0e5c3ccc
Handle Half-Life 1 styled point light info
This adds support for the vector version of _light, where the first 3 values are the color and the alpha is the intensity.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-08-22 15:43:11 +01:00
docs Updated screen.jpg 2021-06-10 09:42:41 +02:00
include Run uncrustify over the codebase. 2021-08-04 22:23:18 +02:00
libs Tweak Makefile flag order slightly 2021-08-08 17:45:50 +02:00
plugins Classify func_detail and func_detail_illusionary as DETAILS for filters. 2021-08-12 22:29:43 +02:00
resources Swap ClipSelected and SplitSelected default keybindings 2021-08-04 23:12:23 +02:00
src Basic shortcuts should still use the common GDK_CONTROL_MASK 2021-08-10 12:04:06 +02:00
tools Handle Half-Life 1 styled point light info 2021-08-22 15:43:11 +01:00
icon.png Initial commit 2020-11-17 12:16:16 +01:00
Makefile rename radiant/ to src/, remove some redundant files, update paths, move 2021-06-05 19:11:38 +02:00
README.md typo'd 2021-08-05 06:19:54 +02:00
worldspawn.desktop If LastFolder isn't set, pick enginePath, not userGamePath 2021-08-04 16:23:22 +02:00

WorldSpawn Logo WorldSpawn

The worlds most opinionated fork of Radiant.

The editor we use at Vera Visions to create BSP levels. It was forked from NetRadiant in June of 2018 and was a result of necessity.

We wanted to move away from a proprietary toolchain that had technical issues the developer would not ever get back to us about, so we ended up here.

Use it if you actually want to use the features listed below - note that they require a modified engine as our BSP format is different from standard idTech 3 BSP. You will not be able to make levels compatible with other games and engines.

There's plenty of other editors for the first-party id Tech games.

Screenshot

Editor Changes

  • Valve 220 format is used top to bottom, imported & exported, with texture coords handled internally the same way, including the compiler
  • Integration with our own material format (no more giant .shader files)
  • Support for vertex-color/alpha editing of patches using our new fixed patch format, allowing technologies such as 4-way texture blending and whatever your designers can imagine
  • Gracefully deals with duplicate entity attribute key/value pairs, to support features like Source Engine style Input/Output system for triggers
  • Support for VVM (based on IQM) model format in the BSP compiler as well as the editor
  • Support for internal and external High-Dynamic-Range lightmaps in the BSP compiler
  • Support for cubemap aware surfaces in the BSP compiler
  • Support for our patchDef2WS and patchDef3WS curved surfaces in the BSP compiler
  • More bug-fixes than you could possibly imagine

Why

Back then there was no fork of Radiant supporting the 220 format like said program had exported. We had to make that happen on our own, since then we've expanded and kept changing more to meet our own needs. On top of that, there's other benefits from working in our own Radiant fork.

Rapid experimentation and tech development doesn't fit into an editor like GtkRadiant, which aims to be stable, reliable and support a specific set of games really, really well.

We can afford to break compat here in order to achieve our goals. It will break, be unstable and all that jazz at the cost of supporting the greatest and latest of we're working on.

Some code in here (like the IQM support in the compiler) has made it into other Radiant forks when we deem it to be mature. However not everything in here is going to be of interest to other Radiant forks.

A lot of the changes are specific to our BSP format & engine too. So tech like per-surface picked and generated environment maps will never make it into other games. Sorry!

Compiling

To compile on a standard GNU/Linux system: LDFLAGS=-ldl make -j $(nproc)

On BSD you should probably use GNU make right now. The Makefiles are simple enough however. Clang should also be supported, pass CC=clang and CXX=clang++ if you want to use it.

On NT you'll probably have a build command-line likes this: CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig make Not all works yet, but stay tuned.

It'll compile everything into a subdirectory 'build'. At the end it'll copy files from ./resources into it too.

In the Nuclide SDK, build_editor.sh will call make with the appropriate flags for Linux/BSD automatically and move it into Nuclide's ./bin directory.

Dependencies

  • GNU make
  • gcc-core
  • gcc-c++
  • gtk2-devel
  • gtkglext-devel
  • libxml2-devel
  • libjpeg8-devel
  • minizip-devel

Support

As mentioned before, if you need help with this: you're on your own.

Please use GtkRadiant if you want to make levels for existing games.