Coder Social home page Coder Social logo

cybersys / worldspawn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from veravisions/worldspawn

0.0 0.0 0.0 3.1 MB

WorldSpawn is our level-editor for id Tech projects using Nuclide. This is unsupported.

C++ 59.15% C 40.08% Makefile 0.65% GLSL 0.12%

worldspawn's Introduction

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. Please use those instead if you want to use a level editor with actual support, submission for feature requests, etc. - we are only sharing this because that's the best way of preserving software.

Please respect this notice, thank you.

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 have to jump through a lot more hoops, here's the gist:

  1. MSYS2: https://www.msys2.org/
  2. in the msys2 shell, enter pacman -S --needed base-devel git unzip mingw-w64-$(uname -m)-{toolchain,make,gtk2,gtkglext,minizip-git}
  3. boot into the Mingw64 shell, don't use the stock MSYS2 shell
  4. run make and it should build everything, in theory

Please don't contact us about helping you build it on Windows. This is a development tool. This is provided AS-IS.

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.

worldspawn's People

Contributors

eukara avatar joshua-ashton avatar slartibarty avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.