Git Product home page Git Product logo

gtkradiant's Introduction

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.

Useful links

Supported games

GtkRadiant provides level editing support for Quake, Quake2, Quake2 Re-Release, 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 here and to build on Mac OS here.

The Linux version is developed and distributed via Flatpak. See GtkRadiant on Flathub.

Building locally on Arch is the only setup that's likely to work as it's my daily driver. Ubuntu, Fedora etc. you are on your own. See the Flatpak SDK section below.

# ArchLinux
pacman -S git scons 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.

Building on Linux with the Flatpak SDK

# get the flatpak manifest
git clone "https://github.com/flathub/io.github.TTimo.GtkRadiant.git"

# use flatpak-builder
cd io.github.TTimo.GtkRadiant
flatpak-builder --force-clean --user --install gtkradiant io.github.TTimo.GtkRadiant.json

You can also checkout the GtkRadiant tree locally and modify the manifest to point to it.

Here is what you can do for debugging:

flatpak run --command=sh --devel io.github.TTimo.GtkRadiant
gdb /app/gtkradiant/radiant.bin

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.

Legal

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

gtkradiant's People

Contributors

atalanttore avatar birdstakes avatar bnoordhuis avatar calinou avatar divverent avatar ensiform avatar ericwa avatar eukara avatar garux avatar gsio01 avatar illwieckz avatar jansimek avatar jdolan avatar mateos81 avatar matthiaskrgr avatar merlin1991 avatar mjunix avatar mrwonko avatar neumond avatar pan7 avatar pbtoast avatar qball147 avatar ravualhemio avatar rsfbarreira avatar timepath avatar tkoeppe avatar ttimo avatar xycaleth avatar zeehio avatar zturtleman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gtkradiant's Issues

GTK file browser is confusing

The GTK file browser presented when choosing a game engine path is counter-intuitive and confusing, particularly if you have more than one drive or partition. This was discussed here:

mfn/GtkRadiant#31

Looking into the source, it's using gtk_file_selection_new() which is pretty much responsible for the whole dialog. It's deprecated and can (probably should) be replaced with gtk_file_chooser_dialog_new(). I did this already with the other in-editor file open/save dialogs. The GTK family of such i/o dialogs leave a lot to be desired.

IMHO on win32 it would ideally use the platforms native dialog.

Promote the new site and development activity

We'll want to promote this little bit of revival at some point. I'm going to use this to list the places to promote at, and the things that I'd like to see done before we do so (feel free to add).

Where:

  • Quake3World forum
  • UrT forum

Preconditions:

  • Write the mission statement
  • Finish fixing and testing the latest windows build, including reviewing the Q3 and the UrT packs functionality
  • Hook the correct about/help into the build

Managing releases

I'd like to drive towards a new release process.

Considering how much of a pain it is to compile binaries of Radiant we should try to have something where we can spit new binaries out easily.

Improve Camera-view FPS by using 1.5 code?

While the current build of 1.6 shows improvements regarding frame perfomance, Radiant 1.5 has better loading times and much better camera fps.
Maybe it would be possible to look into this and improve the camera view in 1.6 so that larger maps/detailed maps isn't so difficult to work on?

Include bspc.exe and q3data.exe with GtkRadiant

bspc.exe and q3data.exe have been included with installs of GtkRadiant in the past, but they are missing from the 1.6 branch. bspc.exe is crucial for generating a bot's navigational .aas file.

https://github.com/id-Software/Quake-III-Arena/tree/master/code/bspc
https://github.com/id-Software/GtkRadiant/tree/master/tools/quake3/q3data

Additionally, I know that some work has been done on bspc.exe, I'm not sure if those changes are included with id Software's source release. Latest binary: BSPC version 2.1i, Oct 6 2004 20:06:06 by Mr Elusive

See topic: http://www.quake3world.com/forum/viewtopic.php?f=10&t=47106

Misantropia has his branch here with lots of updates. This is probably the most recent (best) version:
https://github.com/bnoordhuis/bspc

Basic code cleanup

Trash anything that's outdated or inaccurate (documentation, compile guides etc.)
Look at doing an uncrustify pass? Good as any other time.

Add drag selection from 1.5

I'd like to see the drag selection feature from GTKradiant 1.5 being ported to 1.6 - it is a great way to select multiple brushes/patches/entities at the same time and really speeds things up at times.
You use drag selection by holding down the shift key and dragging a selection frame in your viewport. Radiant will then select everything within the frame.
This should not apply to surfaces, paint selection (ctrl+alt+shift+LMB) should be left untouched.

https://dl.dropbox.com/u/15072710/QL/radiant/dragselection1.jpg
https://dl.dropbox.com/u/15072710/QL/radiant/dragselection2.jpg

GL Context Creation fails

Lately I've been getting a lot of (the same few) OpenGL Context related errors in Windows 7 x64 - either already during startup, causing crashes when using the floating window layout or an error message containing

glXMakeCurrent failed
An Unrecoverable error has occured.
Would you like to edit Preferences before exiting Radiant?

otherwise, or later in the console

ERROR: glXMakeCurrent failed..
Please restart Radiant if the camera view is not working

with the 3D View not being rendered.

This is apparently in some way related to my computer because I don't remember ever having had any of problems before, yet I now have them in both the 2012-05-06 build and my own SVN Revision 486 build from last September. I can't quite pinpoint what introduced them thought since I've hardly used Radiant recently...

As far as I can tell it's no general OpenGL Context related problem though since other applications (like Blender) work just fine - as does the 2D Window, for what it's worth. (Provided the Radiant starts at all.)

Here's my DxDiag result, if that's of any help.

Texture lock on rotation

Function doesn't work precisely.
Textures shift and rotate noticeably, especially on not aligned to axis brushes.

Default Gtk Theme

Should we provide a default gtk theme (clearlooks, etc.)? The standard look is... horrible =P

Gamepack updates for Q3Map2

I had made some gamepack updates for Q3map2. It includes Q3 entity definition files, shaders and "common" texture assets.

I need advice on how best to introduce them to the current build. The gamepacks aren't on GitHub (license issues?) so I can't create a branch. I suppose I can start a new repository and then get some help thereafter. Git's new to me so pointers are welcome.

Provide Linux binaries

Compile Linux binaries releases the same way we do Windows binaries. Look into producing .deb and .rpm also in addition to a .tar.gz

Radiant can't compile map on Linux

Ok, we have some issue here I guess.

--- BSP ---
Creating meta surfaces from brush faces
************ ERROR ************
ExpandPath called without qdir set

Jedi Academy's .game file lacks entries

Jedi Academy's .game file should look somewhat like this:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<game
  name="Jedi Knight Jedi Academy"
  enginepath_win32="D:/Modding/JKA/GameData"
  gametools_win32="D:/Modding/JKA/GameData/ZeroRadiant"
  engine_win32="jasp.exe"
  mp_engine_win32="jamp.exe"
  basegame="base"
  shaderpath="shaders"
  default_scale="0.25"
  gamename="ja"
  caulk_shader="textures/system/caulk"
/>

Most importantly shaderpath defaults to scripts, which is wrong.

Currently there are only name, enginepath_win32 (on Windows at least), gametools_win32 (dito), prefix and basegame.

Floating window layout bugs

When using the floating window layout (option in preferences) there are some functionality issues:

Certain dialog boxes like Preferences, Surface Inspector, etc. will always render behind the 2D and camera windows even when it has focus.

Minimizing Radiant to task bar only minimizes the program window, but not any of the 2D or camera windows. Oddly enough, minimizing a 2D window minimizes everything. Behavior seems reversed of expected.

ZeroRadiant install directory is write protected on Windows

On Windows Vista, Windows 7 and Windows 8, the "C:\Program Files" and "C:\Program Files (x86)" directories are write protected for security reasons. ZeroRadiant does not normally have write access to its own install directory. As a result, ZeroRadiant cannot create or save to preference files, and reports errors:

(global.pref and local.pref cannot be created or saved to)
http://zero.robotrenegade.com/radiant/missing-xlink-pref.png

A temporary workaround is to run ZeroRadiant with elevated privilages ("Run as administrator"), though this is not intuitive to the user and poses a minor security risk.

Ideally, ZeroRadiant should save any program editable files (i.e. logs, preference files, shortcut.ini, etc.) to "C:\Users\USERNAME\AppData\RadiantSettings\VERSION". GtkRadiant 1.5.0 does this correctly so we can emulate it's behaviour.

Mouse rotation speed range

Setting rotation speed to 1 still results in too high sensitivity with 5k+ dpi mouse.
Tried to set not integer value, radiant doesn't accept one.

[20110405] "Hanging" Windows CLI on first startup

On first startup of ZeroRadiant build 2011-04-05 on Windows, it displays a black CLI window for a long period of time (over a minute) before the program actually starts. Most users are confused by this, think the program has crashed, and force-quit. However, if allowed to continue ZeroRadiant will eventually load, and subsequent program startups will no longer display this issue.

This has been discussed to some extent with end-users here:
http://www.quake3world.com/forum/viewtopic.php?f=10&t=45439

And previously on the mailing list:
http://icculus.org/pipermail/gtkradiant/2011-March/011630.html

replace scons with gyp

That's http://code.google.com/p/gyp/ - the build system used by chromium, v8 and node.js (what I get paid to work on so account for bias), among others.

This is more of a conversation starter than anything else but here are a couple of reasons why gyp > scons:

  • smart and fast (something that scons decidedly isn't)
  • actively maintained
  • approachable maintainers
  • generates VS projects
  • generates XCode projects
  • generates great Makefiles

Downsides:

  • mingw32 is not yet supported

One reason that I recommend gyp is that it would make it easy to steal e.g. libpng (see #9) from the chromium source tree and bundle that with gtkradiant.

Thoughts?

Mouse Pointer Gets Stuck In 2D viewport

Sometimes when I'm in edge editing mode in one of the 2d viewports and click mouse2 to move the camera the pointer gets stuck even when I release the button. I have only noticed the issue when I'm in edge editing mode. I'll pay more atention to it in future to give further details on the issue.

Edit: This now happened to me in normal editing mode too. It happens in all 2d viewports.

Miscellaneous Dialog Improvements

When a user modifies the map and closes the window, the dialog from 1.5.0 was more helpful than the current one (prompts to save instead of just "you will lose changes").

Jedi Academy's .game file not called ja.game

There are various hacks in the code that check the game via g_pGameDescription->mGameFile, which is expected to be "ja.game" for Jedi Academy. The automatically created file is called "Jedi Academy and mods.game" though.

The same problem probably arises for other games.

Entities operation improvements

Things, which ease complicated entities construction.

G bind selects func_groups, would be nice, if it could select any entity this way. Just like ExpandToTheWholeEntity function of 1.5 branch. The trick is doable atm with modify/undo sequence.

Another issue is copying, you always get separate entity, while doing that. Alternate behavior is needed. Like copying brush or patch to the same entity on space (clone selected) and separate entity on copy-paste (ctrl+c ctrl+v).

Another problem is adding existing brushes to complex entity. You have to recreate entity, losing keys and flags. Behavior can be changed to keep them. Netradiant have special 'regroup' solution for that, which resolves tearing brushes from entity, as well as adding ones.

Just have noticed, ungroup is not undoable in last release:
Ungrouped 1 entity.
ungroup selected entities undone.
But brushes are worldspawn.

q3dm17sample doesn't produce a 'good' version with latest ZeroRadiant

q3dm17sample compiled through the windows binary (running over wine) yields a badly lit version, with some missing textures, some textures not mapped correctly, and with some player clip brushes ending up as untextured solid geometry.

used the last/final q3map2 setting to compile

does anyone else confirm? on a native windows system preferably?

do that again from native Linux with a local compile

Model Loading Behavior

Two issues:

  • It would be nice if when the dialog popped up, there was an "all valid model formats" selected as the file filter, because it is annoying to have to manually swap between each one.
  • Sometimes you'll start to load a model, and then decide you don't want to for some reason, cancel, and then you're left with an empty model handle. If you deselect it, it is a pain in the ass to get rid of because it's "infinitely small." In 1.5.0 this was okay because you could select a wide area. This threw me off when I first ran into it.

Windows build: severe rendering/interaction problems when aero in on

build: ZeroRadiant_Win_2011-04-05.zip (from http://radiant.robotrenegade.com/downloads.html#zeror16)
system: Windows 8 Consumer Preview

  • Mouse interaction with the 2d views, the camera, the texture window barely works:
    Zoom in/out, or Right mouse click panning either don't work or are extremely slow.
  • The 3D view refreshes at random
  • The views don't refresh correctly when resizing
  • The camera view renders in the wrong place sometimes

https://www.dropbox.com/sh/y5rydj22e5ozpik/FSfVzsUiXf/resizing.png
https://www.dropbox.com/sh/y5rydj22e5ozpik/vec1838BOP/camera_drawing_in_2d_view.png

Please try this build on your own Windows install and report your findings. May be specific to Windows 8 but I doubt it.

PNG support doesn't work on my Ubuntu 12.04 32-bit system

Hello,
I want to design a Quake 3 Level (I want to use it with the BSP manager plugin of the rendering engine Ogre3D) with GtkRadiant 1.6 on my Ubuntu 12.04 system (32-bit). But when I add my own textures in the PNG format, they aren't loaded. But actually the module "imagepng.so" seems to have been built.
Does someone know why pictures in the PNG format aren't loaded?
Could the problem be that Ubuntu 12.04 does only include libpng 1.2 (http://icculus.org/pipermail/gtkradiant/2012-March/011728.html)?

q3map2 error: "ExpandPath called without qdir set"

Can't compile a map w/ the current Git source code. q3map2 broken.

In cmdlib.c, ExpandPath() function is catching an error where qdir is not initialized.
This was not broken in the SVN before it died.

New end-user website

I'm thinking we could use http://radiant.robotrenegade.com/ as the primary website.

  • I want to focus on dev/maintenance aspects of it, not on web and package distribution
  • Moving it to icculus.org/gtkradiant/ would be nice, but not strictly necessary
  • We would need a good way to publish new releases etc.

Experiment with an AWS instance or RightScale template for windows builds

I've always wanted to be able to provide a reference environment for producing builds (for Windows mostly, but also Linux).

Last year I experimented with creating an EBS instance on AWS, and it looked like it had some potential, but I didn't fully finish the work, and I didn't try to leverage what I had.

  • Use a reference setup that everyone can look at and contribute to in order to produce "official" Windows binaries
  • Support applying the build system to various forks and experimental builds of Radiant as well
  • Provide a solution for myself who is primarily working under OSX/Linux with no Windows machine around to compile things on

Todo:

Figure out if an unattended install of Visual Studio 2008 Express is possible. Build a rightscript to do that. It's likely the main obstacle. See http://blogs.msdn.com/b/astebner/archive/2007/09/12/4887301.aspx for some tips.

If that works, building a rightscale template that spits out a fresh windows build should be straightforward.

Radiant takes verylong time to start on Linux

I have compiled 1.6 today (finally!) on my linux box and noticed, that Radiant starts very slow, compared to for example 1.5 version.

Only thing I see in terminal is

[michal@localhost ~]$ gtkradiant
I/O warning : failed to load external entity "/tmp/gtkradiant-michal/global.xlink"

Mission Statement

Need to write that up, put it on the wiki or the static site.

  • who's involved
  • maintenance versus new dev
  • game support
  • accepting patches for fixes and features
  • policy regarding other forks, ports and branches

q3map2 with light styles

External lightmaps + light styles cause problem. Lighmaps are calculated well, but the autogenerated shader has $lightmap entries instead of proper light image links. Works ok on test map after correcting entries manually, but it doesn't seem possible on one with numerous light images.

Also light styles lightmaps kinda fail using bump image (q3map_normalimage one). There can be seen completely black marks of bump mapping with light, falling at very sharp angle to surface.

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.