From cfaa83f3b1a02ec2422d7798f19864568c0057b1 Mon Sep 17 00:00:00 2001 From: neumond Date: Sun, 23 Mar 2014 02:06:03 +0400 Subject: [PATCH 1/7] Unvanquished appears in menu --- radiant/preferences.cpp | 24 ++++++++++++++++++++++++ radiant/preferences.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/radiant/preferences.cpp b/radiant/preferences.cpp index 5a115cac..28367575 100644 --- a/radiant/preferences.cpp +++ b/radiant/preferences.cpp @@ -3479,6 +3479,9 @@ void CGameInstall::BuildDialog() { case GAME_WOLF: gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( game_select_combo ), _( "Return To Castle Wolfenstein" ) ); break; + case GAME_UNVANQUISHED: + gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT( game_select_combo ), _( "Unvanquished" ) ); + break; } iGame++; } @@ -3645,6 +3648,10 @@ void CGameInstall::Run() { gamePack = WOLF_PACK; gameFilePath += WOLF_GAME; break; + case GAME_UNVANQUISHED: + gamePack = UNVANQUISHED_PACK; + gameFilePath += UNVANQUISHED_GAME; + break; default: Error( "Invalid game selected: %d", m_availGames[ m_nComboSelect ] ); } @@ -3832,6 +3839,20 @@ void CGameInstall::Run() { } break; } + case GAME_UNVANQUISHED: { + fprintf( fg, " prefix=\".unvanquished\"\n" ); + fprintf( fg, " basegame=\"pkg\"\n" ); + + // Hardcoded fix for "missing" shaderlist in gamepack + Str dest = m_strEngine.GetBuffer(); + dest += "/pkg/scripts/shaderlist.txt"; + if( CheckFile( dest.GetBuffer() ) != PATH_FILE ) { + Str source = gameInstallPath.GetBuffer(); + source += "pkg/scripts/default_shaderlist.txt"; + radCopyFile( source.GetBuffer(), dest.GetBuffer() ); + } + break; + } } fprintf( fg, "/>\n" ); fclose( fg ); @@ -3896,6 +3917,9 @@ void CGameInstall::ScanGames() { if ( stricmp( dirname, Q1_PACK ) == 0 ) { m_availGames[ iGame++ ] = GAME_Q1; } + if ( stricmp( dirname, UNVANQUISHED_PACK ) == 0) { + m_availGames[ iGame++ ] = GAME_UNVANQUISHED; + } } Sys_Printf( "No installable games found in: %s\n", pakPaths.GetBuffer() ); diff --git a/radiant/preferences.h b/radiant/preferences.h index ac6ca9d0..54ef1225 100644 --- a/radiant/preferences.h +++ b/radiant/preferences.h @@ -217,6 +217,7 @@ void Dump(); #define STVEF_GAME "stvef.game" #define WOLF_GAME "wolf.game" #define Q1_GAME "q1.game" +#define UNVANQUISHED_GAME "unvanquished.game" #define Q3_PACK "Q3Pack" #define URT_PACK "UrTPack" @@ -233,6 +234,7 @@ void Dump(); #define STVEF_PACK "STVEFPack" #define WOLF_PACK "WolfPack" #define Q1_PACK "Q1Pack" +#define UNVANQUISHED_PACK "UnvanquishedPack" class CGameInstall : public Dialog { public: @@ -262,6 +264,7 @@ public: GAME_STVEF, GAME_WOLF, GAME_Q1, + GAME_UNVANQUISHED, GAME_COUNT }; From 2b2d2eab0627ceba569183894116223f803e2b6e Mon Sep 17 00:00:00 2001 From: neumond Date: Sun, 23 Mar 2014 07:30:06 +0400 Subject: [PATCH 2/7] Unvanquished gamepack --- config.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/config.py b/config.py index 3df1ff36..010c7d15 100644 --- a/config.py +++ b/config.py @@ -31,7 +31,7 @@ class Config: # platforms for which to assemble a setup self.setup_platforms = [ 'local', 'x86', 'x64', 'win32' ] # paks to assemble in the setup - self.setup_packs = [ 'Q3Pack', 'UrTPack', 'ETPack', 'QLPack', 'Q2Pack', 'QuetooPack', 'JAPack', 'STVEFPack', 'WolfPack' ] + self.setup_packs = [ 'Q3Pack', 'UrTPack', 'ETPack', 'QLPack', 'Q2Pack', 'QuetooPack', 'JAPack', 'STVEFPack', 'WolfPack', 'UnvanquishedPack' ] def __repr__( self ): return 'config: target=%s config=%s' % ( self.target_selected, self.config_selected ) @@ -262,10 +262,14 @@ class Config: def FetchGamePaks( self, path ): for pak in self.setup_packs: - svnurl = 'svn://svn.icculus.org/gtkradiant-gamepacks/%s/trunk' % pak - self.CheckoutOrUpdate( svnurl, os.path.join( path, 'installs', pak ) ) + pak_path = os.path.join( path, 'installs', pak ) + if pak == 'UnvanquishedPack': + svnurl = 'https://github.com/Unvanquished/mapeditor-support/trunk/gtkradiant/' + else: + svnurl = 'svn://svn.icculus.org/gtkradiant-gamepacks/%s/trunk' % pak + self.CheckoutOrUpdate( svnurl, pak_path ) - def CopyTree( self, src, dst ): + def CopyTree( self, src, dst): for root, dirs, files in os.walk( src ): target_dir = os.path.join( dst, root[root.find( '/' )+1:] ) print ( target_dir ) From 33be0cb1f819c0d142458a2a051bc6e3109246bd Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sun, 30 Jul 2017 01:56:17 +0200 Subject: [PATCH 3/7] config.py: remove some spaces --- config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.py b/config.py index 010c7d15..76cb4a4f 100644 --- a/config.py +++ b/config.py @@ -268,7 +268,7 @@ class Config: else: svnurl = 'svn://svn.icculus.org/gtkradiant-gamepacks/%s/trunk' % pak self.CheckoutOrUpdate( svnurl, pak_path ) - + def CopyTree( self, src, dst): for root, dirs, files in os.walk( src ): target_dir = os.path.join( dst, root[root.find( '/' )+1:] ) From ce211f0773a16a8d69eab6650be296854a70e6d3 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sun, 30 Jul 2017 01:58:18 +0200 Subject: [PATCH 4/7] update unvanquished game pack repository url --- config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.py b/config.py index 76cb4a4f..70d2f68a 100644 --- a/config.py +++ b/config.py @@ -264,7 +264,7 @@ class Config: for pak in self.setup_packs: pak_path = os.path.join( path, 'installs', pak ) if pak == 'UnvanquishedPack': - svnurl = 'https://github.com/Unvanquished/mapeditor-support/trunk/gtkradiant/' + svnurl = 'https://github.com/Unvanquished/unvanquished-mapeditor-support.git/trunk/build/gtkradiant/' else: svnurl = 'svn://svn.icculus.org/gtkradiant-gamepacks/%s/trunk' % pak self.CheckoutOrUpdate( svnurl, pak_path ) From eee8d142613b3e9bc1e43de43d1463b1dd22c1a4 Mon Sep 17 00:00:00 2001 From: neumond Date: Sat, 10 May 2014 07:28:05 +0400 Subject: [PATCH 5/7] q3map2: Add -game unvanquished --- tools/quake3/q3map2/game_unvanquished.h | 160 ++++++++++++++++++++++++ tools/quake3/q3map2/path_init.c | 1 - tools/quake3/q3map2/q3map2.h | 2 + 3 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 tools/quake3/q3map2/game_unvanquished.h diff --git a/tools/quake3/q3map2/game_unvanquished.h b/tools/quake3/q3map2/game_unvanquished.h new file mode 100644 index 00000000..79287e98 --- /dev/null +++ b/tools/quake3/q3map2/game_unvanquished.h @@ -0,0 +1,160 @@ +/* ------------------------------------------------------------------------------- + + Copyright (C) 1999-2007 id Software, Inc. and contributors. + For a list of contributors, see the accompanying CONTRIBUTORS file. + + This file is part of GtkRadiant. + + GtkRadiant is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + GtkRadiant is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GtkRadiant; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + ---------------------------------------------------------------------------------- + + This code has been altered significantly from its original form, to support + several games based on the Quake III Arena engine, in the form of "Q3Map2." + + ------------------------------------------------------------------------------- */ + +/* Tremulous support, by LinuxManMikeC */ +/* Updated to Unvanquished support, by Neumond */ + + +/* marker */ +#ifndef GAME_UNVANQUISHED_H +#define GAME_UNVANQUISHED_H + + + +/* ------------------------------------------------------------------------------- + + content and surface flags - also uses defines from game_quake3.h + + ------------------------------------------------------------------------------- */ +#define UNV_CONT_NOALIENBUILD 0x1000 +#define UNV_CONT_NOHUMANBUILD 0x2000 +#define UNV_CONT_NOBUILD 0x4000 + +#define UNV_SURF_NOALIENBUILDSURFACE 0x80000 +#define UNV_SURF_NOHUMANBUILDSURFACE 0x100000 +#define UNV_SURF_NOBUILDSURFACE 0x200000 + + + +/* ------------------------------------------------------------------------------- + + game_t struct + + ------------------------------------------------------------------------------- */ + +{ + "unvanquished", /* -game x */ + "pkg", /* default base game data dir */ + ".unvanquished", /* unix home sub-dir */ + "unvanquished", /* magic path word - think this is right for unv*/ + "scripts", /* shader directory */ + 64, /* max lightmapped surface verts */ + 999, /* max surface verts */ + 6000, /* max surface indexes */ + qfalse, /* flares */ + "flareshader", /* default flare shader */ + qfalse, /* wolf lighting model? */ + 128, /* lightmap width/height */ + 1.0f, /* lightmap gamma */ + 1.0f, /* lightmap compensate */ + "IBSP", /* bsp file prefix */ + 46, /* bsp file version */ + qfalse, /* cod-style lump len/ofs order */ + LoadIBSPFile, /* bsp load function */ + WriteIBSPFile, /* bsp write function */ + + { + /* name contentFlags contentFlagsClear surfaceFlags surfaceFlagsClear compileFlags compileFlagsClear */ + + /* default */ + { "default", Q_CONT_SOLID, -1, 0, -1, C_SOLID, -1 }, + + + /* ydnar */ + { "lightgrid", 0, 0, 0, 0, C_LIGHTGRID, 0 }, + { "antiportal", 0, 0, 0, 0, C_ANTIPORTAL, 0 }, + { "skip", 0, 0, 0, 0, C_SKIP, 0 }, + + + /* compiler */ + { "origin", Q_CONT_ORIGIN, Q_CONT_SOLID, 0, 0, C_ORIGIN | C_TRANSLUCENT, C_SOLID }, + { "areaportal", Q_CONT_AREAPORTAL, Q_CONT_SOLID, 0, 0, C_AREAPORTAL | C_TRANSLUCENT, C_SOLID }, + { "trans", Q_CONT_TRANSLUCENT, 0, 0, 0, C_TRANSLUCENT, 0 }, + { "detail", Q_CONT_DETAIL, 0, 0, 0, C_DETAIL, 0 }, + { "structural", Q_CONT_STRUCTURAL, 0, 0, 0, C_STRUCTURAL, 0 }, + { "hint", 0, 0, Q_SURF_HINT, 0, C_HINT, 0 }, + { "nodraw", 0, 0, Q_SURF_NODRAW, 0, C_NODRAW, 0 }, + + { "alphashadow", 0, 0, Q_SURF_ALPHASHADOW, 0, C_ALPHASHADOW | C_TRANSLUCENT, 0 }, + { "lightfilter", 0, 0, Q_SURF_LIGHTFILTER, 0, C_LIGHTFILTER | C_TRANSLUCENT, 0 }, + { "nolightmap", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, + { "pointlight", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, + + + /* game */ + { "nonsolid", 0, Q_CONT_SOLID, Q_SURF_NONSOLID, 0, 0, C_SOLID }, + + { "trigger", Q_CONT_TRIGGER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + + { "water", Q_CONT_WATER, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + { "slime", Q_CONT_SLIME, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + { "lava", Q_CONT_LAVA, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + + { "playerclip", Q_CONT_PLAYERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, + { "monsterclip", Q_CONT_MONSTERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, + { "nodrop", Q_CONT_NODROP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + + { "clusterportal", Q_CONT_CLUSTERPORTAL, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "donotenter", Q_CONT_DONOTENTER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "botclip", Q_CONT_BOTCLIP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + + { "fog", Q_CONT_FOG, Q_CONT_SOLID, 0, 0, C_FOG, C_SOLID }, + { "sky", 0, 0, Q_SURF_SKY, 0, C_SKY, 0 }, + + { "slick", 0, 0, Q_SURF_SLICK, 0, 0, 0 }, + + { "noimpact", 0, 0, Q_SURF_NOIMPACT, 0, 0, 0 }, + { "nomarks", 0, 0, Q_SURF_NOMARKS, 0, C_NOMARKS, 0 }, + { "ladder", 0, 0, Q_SURF_LADDER, 0, 0, 0 }, + { "nodamage", 0, 0, Q_SURF_NODAMAGE, 0, 0, 0 }, + { "metalsteps", 0, 0, Q_SURF_METALSTEPS, 0, 0, 0 }, + { "flesh", 0, 0, Q_SURF_FLESH, 0, 0, 0 }, + { "nosteps", 0, 0, Q_SURF_NOSTEPS, 0, 0, 0 }, + { "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 }, + { "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 }, + + + /* unvanquished */ + {"noalienbuild", UNV_CONT_NOALIENBUILD,0,0,0,0,0}, + {"nohumanbuild", UNV_CONT_NOHUMANBUILD,0,0,0,0,0}, + {"nobuild", UNV_CONT_NOBUILD,0,0,0,0,0}, + + {"noalienbuildsurface", 0,0,UNV_SURF_NOALIENBUILDSURFACE,0,0,0}, + {"nohumanbuildsurface", 0,0,UNV_SURF_NOHUMANBUILDSURFACE,0,0,0}, + {"nobuildsurface", 0,0,UNV_SURF_NOBUILDSURFACE,0,0,0}, + + + /* null */ + { NULL, 0, 0, 0, 0, 0, 0 } + } +} + + + +/* end marker */ +#endif diff --git a/tools/quake3/q3map2/path_init.c b/tools/quake3/q3map2/path_init.c index fb97a166..49c7f83e 100644 --- a/tools/quake3/q3map2/path_init.c +++ b/tools/quake3/q3map2/path_init.c @@ -326,7 +326,6 @@ void InitPaths( int *argc, char **argv ){ int i, j, k, len, len2; char temp[ MAX_OS_PATH ]; - /* note it */ Sys_FPrintf( SYS_VRB, "--- InitPaths ---\n" ); diff --git a/tools/quake3/q3map2/q3map2.h b/tools/quake3/q3map2/q3map2.h index 680d715f..0ee9e58f 100644 --- a/tools/quake3/q3map2/q3map2.h +++ b/tools/quake3/q3map2/q3map2.h @@ -1885,6 +1885,8 @@ Q_EXTERN game_t games[] #include "game_nexuiz.h" /* most be after game_quake3.h as they share defines! */ , #include "game_tremulous.h" /*LinuxManMikeC: must be after game_quake3.h, depends on #define's set in it */ + , + #include "game_unvanquished.h" /*LinuxManMikeC: must be after game_quake3.h, depends on #define's set in it */ , #include "game_tenebrae.h" , From da38f7754cb791b81428fcc7da39ace16d02cfe5 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sun, 6 Aug 2017 02:55:32 +0200 Subject: [PATCH 6/7] [q3map2] reduce diff noise with netradiant tree --- tools/quake3/q3map2/game_unvanquished.h | 178 ++++++++++++------------ tools/quake3/q3map2/q3map2.h | 2 +- 2 files changed, 90 insertions(+), 90 deletions(-) diff --git a/tools/quake3/q3map2/game_unvanquished.h b/tools/quake3/q3map2/game_unvanquished.h index 79287e98..1c85c300 100644 --- a/tools/quake3/q3map2/game_unvanquished.h +++ b/tools/quake3/q3map2/game_unvanquished.h @@ -1,33 +1,33 @@ /* ------------------------------------------------------------------------------- - Copyright (C) 1999-2007 id Software, Inc. and contributors. - For a list of contributors, see the accompanying CONTRIBUTORS file. +Copyright (C) 1999-2007 id Software, Inc. and contributors. +For a list of contributors, see the accompanying CONTRIBUTORS file. - This file is part of GtkRadiant. +This file is part of GtkRadiant. - GtkRadiant is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. +GtkRadiant is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. - GtkRadiant is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. +GtkRadiant is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with GtkRadiant; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +You should have received a copy of the GNU General Public License +along with GtkRadiant; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - ---------------------------------------------------------------------------------- +---------------------------------------------------------------------------------- - This code has been altered significantly from its original form, to support - several games based on the Quake III Arena engine, in the form of "Q3Map2." +This code has been altered significantly from its original form, to support +several games based on the Quake III Arena engine, in the form of "Q3Map2." - ------------------------------------------------------------------------------- */ +------------------------------------------------------------------------------- */ -/* Tremulous support, by LinuxManMikeC */ -/* Updated to Unvanquished support, by Neumond */ +/* Derived from Tremulous support by LinuxManMikeC */ +/* Updated to Unvanquished support by Neumond */ /* marker */ @@ -38,9 +38,9 @@ /* ------------------------------------------------------------------------------- - content and surface flags - also uses defines from game_quake3.h +content and surface flags - also uses defines from game_quake3.h - ------------------------------------------------------------------------------- */ +------------------------------------------------------------------------------- */ #define UNV_CONT_NOALIENBUILD 0x1000 #define UNV_CONT_NOHUMANBUILD 0x2000 #define UNV_CONT_NOBUILD 0x4000 @@ -53,104 +53,104 @@ /* ------------------------------------------------------------------------------- - game_t struct +game_t struct - ------------------------------------------------------------------------------- */ +------------------------------------------------------------------------------- */ { - "unvanquished", /* -game x */ - "pkg", /* default base game data dir */ - ".unvanquished", /* unix home sub-dir */ - "unvanquished", /* magic path word - think this is right for unv*/ - "scripts", /* shader directory */ - 64, /* max lightmapped surface verts */ - 999, /* max surface verts */ - 6000, /* max surface indexes */ - qfalse, /* flares */ - "flareshader", /* default flare shader */ - qfalse, /* wolf lighting model? */ - 128, /* lightmap width/height */ - 1.0f, /* lightmap gamma */ - 1.0f, /* lightmap compensate */ - "IBSP", /* bsp file prefix */ - 46, /* bsp file version */ - qfalse, /* cod-style lump len/ofs order */ - LoadIBSPFile, /* bsp load function */ - WriteIBSPFile, /* bsp write function */ + "unvanquished", /* -game x */ + "pkg", /* default base game data dir */ + ".unvanquished", /* unix home sub-dir */ + "unvanquished", /* magic path word */ + "scripts", /* shader directory */ + 1048575, /* max lightmapped surface verts */ + 1048575, /* max surface verts */ + 1048575, /* max surface indexes */ + qfalse, /* flares */ + "flareshader", /* default flare shader */ + qfalse, /* wolf lighting model? */ + 128, /* lightmap width/height */ + 1.0f, /* lightmap gamma */ + 1.0f, /* lightmap compensate */ + "IBSP", /* bsp file prefix */ + 46, /* bsp file version */ + qfalse, /* cod-style lump len/ofs order */ + LoadIBSPFile, /* bsp load function */ + WriteIBSPFile, /* bsp write function */ { - /* name contentFlags contentFlagsClear surfaceFlags surfaceFlagsClear compileFlags compileFlagsClear */ + /* name contentFlags contentFlagsClear surfaceFlags surfaceFlagsClear compileFlags compileFlagsClear */ /* default */ - { "default", Q_CONT_SOLID, -1, 0, -1, C_SOLID, -1 }, + { "default", Q_CONT_SOLID, -1, 0, -1, C_SOLID, -1 }, /* ydnar */ - { "lightgrid", 0, 0, 0, 0, C_LIGHTGRID, 0 }, - { "antiportal", 0, 0, 0, 0, C_ANTIPORTAL, 0 }, - { "skip", 0, 0, 0, 0, C_SKIP, 0 }, + { "lightgrid", 0, 0, 0, 0, C_LIGHTGRID, 0 }, + { "antiportal", 0, 0, 0, 0, C_ANTIPORTAL, 0 }, + { "skip", 0, 0, 0, 0, C_SKIP, 0 }, /* compiler */ - { "origin", Q_CONT_ORIGIN, Q_CONT_SOLID, 0, 0, C_ORIGIN | C_TRANSLUCENT, C_SOLID }, - { "areaportal", Q_CONT_AREAPORTAL, Q_CONT_SOLID, 0, 0, C_AREAPORTAL | C_TRANSLUCENT, C_SOLID }, - { "trans", Q_CONT_TRANSLUCENT, 0, 0, 0, C_TRANSLUCENT, 0 }, - { "detail", Q_CONT_DETAIL, 0, 0, 0, C_DETAIL, 0 }, - { "structural", Q_CONT_STRUCTURAL, 0, 0, 0, C_STRUCTURAL, 0 }, - { "hint", 0, 0, Q_SURF_HINT, 0, C_HINT, 0 }, - { "nodraw", 0, 0, Q_SURF_NODRAW, 0, C_NODRAW, 0 }, + { "origin", Q_CONT_ORIGIN, Q_CONT_SOLID, 0, 0, C_ORIGIN | C_TRANSLUCENT, C_SOLID }, + { "areaportal", Q_CONT_AREAPORTAL, Q_CONT_SOLID, 0, 0, C_AREAPORTAL | C_TRANSLUCENT, C_SOLID }, + { "trans", Q_CONT_TRANSLUCENT, 0, 0, 0, C_TRANSLUCENT, 0 }, + { "detail", Q_CONT_DETAIL, 0, 0, 0, C_DETAIL, 0 }, + { "structural", Q_CONT_STRUCTURAL, 0, 0, 0, C_STRUCTURAL, 0 }, + { "hint", 0, 0, Q_SURF_HINT, 0, C_HINT, 0 }, + { "nodraw", 0, 0, Q_SURF_NODRAW, 0, C_NODRAW, 0 }, - { "alphashadow", 0, 0, Q_SURF_ALPHASHADOW, 0, C_ALPHASHADOW | C_TRANSLUCENT, 0 }, - { "lightfilter", 0, 0, Q_SURF_LIGHTFILTER, 0, C_LIGHTFILTER | C_TRANSLUCENT, 0 }, - { "nolightmap", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, - { "pointlight", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, + { "alphashadow", 0, 0, Q_SURF_ALPHASHADOW, 0, C_ALPHASHADOW | C_TRANSLUCENT, 0 }, + { "lightfilter", 0, 0, Q_SURF_LIGHTFILTER, 0, C_LIGHTFILTER | C_TRANSLUCENT, 0 }, + { "nolightmap", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, + { "pointlight", 0, 0, Q_SURF_VERTEXLIT, 0, C_VERTEXLIT, 0 }, /* game */ - { "nonsolid", 0, Q_CONT_SOLID, Q_SURF_NONSOLID, 0, 0, C_SOLID }, + { "nonsolid", 0, Q_CONT_SOLID, Q_SURF_NONSOLID, 0, 0, C_SOLID }, - { "trigger", Q_CONT_TRIGGER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "trigger", Q_CONT_TRIGGER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, - { "water", Q_CONT_WATER, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, - { "slime", Q_CONT_SLIME, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, - { "lava", Q_CONT_LAVA, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + { "water", Q_CONT_WATER, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + { "slime", Q_CONT_SLIME, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, + { "lava", Q_CONT_LAVA, Q_CONT_SOLID, 0, 0, C_LIQUID | C_TRANSLUCENT, C_SOLID }, - { "playerclip", Q_CONT_PLAYERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, - { "monsterclip", Q_CONT_MONSTERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, - { "nodrop", Q_CONT_NODROP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "playerclip", Q_CONT_PLAYERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, + { "monsterclip", Q_CONT_MONSTERCLIP, Q_CONT_SOLID, 0, 0, C_DETAIL | C_TRANSLUCENT, C_SOLID }, + { "nodrop", Q_CONT_NODROP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, - { "clusterportal", Q_CONT_CLUSTERPORTAL, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, - { "donotenter", Q_CONT_DONOTENTER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, - { "botclip", Q_CONT_BOTCLIP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "clusterportal", Q_CONT_CLUSTERPORTAL, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "donotenter", Q_CONT_DONOTENTER, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, + { "botclip", Q_CONT_BOTCLIP, Q_CONT_SOLID, 0, 0, C_TRANSLUCENT, C_SOLID }, - { "fog", Q_CONT_FOG, Q_CONT_SOLID, 0, 0, C_FOG, C_SOLID }, - { "sky", 0, 0, Q_SURF_SKY, 0, C_SKY, 0 }, + { "fog", Q_CONT_FOG, Q_CONT_SOLID, 0, 0, C_FOG, C_SOLID }, + { "sky", 0, 0, Q_SURF_SKY, 0, C_SKY, 0 }, - { "slick", 0, 0, Q_SURF_SLICK, 0, 0, 0 }, + { "slick", 0, 0, Q_SURF_SLICK, 0, 0, 0 }, - { "noimpact", 0, 0, Q_SURF_NOIMPACT, 0, 0, 0 }, - { "nomarks", 0, 0, Q_SURF_NOMARKS, 0, C_NOMARKS, 0 }, - { "ladder", 0, 0, Q_SURF_LADDER, 0, 0, 0 }, - { "nodamage", 0, 0, Q_SURF_NODAMAGE, 0, 0, 0 }, - { "metalsteps", 0, 0, Q_SURF_METALSTEPS, 0, 0, 0 }, - { "flesh", 0, 0, Q_SURF_FLESH, 0, 0, 0 }, - { "nosteps", 0, 0, Q_SURF_NOSTEPS, 0, 0, 0 }, - { "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 }, - { "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 }, + { "noimpact", 0, 0, Q_SURF_NOIMPACT, 0, 0, 0 }, + { "nomarks", 0, 0, Q_SURF_NOMARKS, 0, C_NOMARKS, 0 }, + { "ladder", 0, 0, Q_SURF_LADDER, 0, 0, 0 }, + { "nodamage", 0, 0, Q_SURF_NODAMAGE, 0, 0, 0 }, + { "metalsteps", 0, 0, Q_SURF_METALSTEPS, 0, 0, 0 }, + { "flesh", 0, 0, Q_SURF_FLESH, 0, 0, 0 }, + { "nosteps", 0, 0, Q_SURF_NOSTEPS, 0, 0, 0 }, + { "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 }, + { "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 }, /* unvanquished */ - {"noalienbuild", UNV_CONT_NOALIENBUILD,0,0,0,0,0}, - {"nohumanbuild", UNV_CONT_NOHUMANBUILD,0,0,0,0,0}, - {"nobuild", UNV_CONT_NOBUILD,0,0,0,0,0}, + {"noalienbuild", UNV_CONT_NOALIENBUILD, 0, 0, 0, 0, 0 }, + {"nohumanbuild", UNV_CONT_NOHUMANBUILD, 0, 0, 0, 0, 0 }, + {"nobuild", UNV_CONT_NOBUILD, 0, 0, 0, 0, 0 }, - {"noalienbuildsurface", 0,0,UNV_SURF_NOALIENBUILDSURFACE,0,0,0}, - {"nohumanbuildsurface", 0,0,UNV_SURF_NOHUMANBUILDSURFACE,0,0,0}, - {"nobuildsurface", 0,0,UNV_SURF_NOBUILDSURFACE,0,0,0}, + {"noalienbuildsurface", 0, 0, UNV_SURF_NOALIENBUILDSURFACE, 0, 0, 0 }, + {"nohumanbuildsurface", 0, 0, UNV_SURF_NOHUMANBUILDSURFACE, 0, 0, 0 }, + {"nobuildsurface", 0, 0, UNV_SURF_NOBUILDSURFACE, 0, 0, 0 }, /* null */ - { NULL, 0, 0, 0, 0, 0, 0 } + { NULL, 0, 0, 0, 0, 0, 0 } } } diff --git a/tools/quake3/q3map2/q3map2.h b/tools/quake3/q3map2/q3map2.h index 0ee9e58f..aee31e7e 100644 --- a/tools/quake3/q3map2/q3map2.h +++ b/tools/quake3/q3map2/q3map2.h @@ -1886,7 +1886,7 @@ Q_EXTERN game_t games[] , #include "game_tremulous.h" /*LinuxManMikeC: must be after game_quake3.h, depends on #define's set in it */ , - #include "game_unvanquished.h" /*LinuxManMikeC: must be after game_quake3.h, depends on #define's set in it */ + #include "game_unvanquished.h" /* must be after game_quake3.h as they share defines! */ , #include "game_tenebrae.h" , From 32543d8a2462f869a95dc95eb3a0c3b37bc1054c Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Sun, 7 Jan 2018 21:18:18 +0100 Subject: [PATCH 7/7] Unvanquished appears in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed4591e1..82713b5f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Useful links Supported games --------------- -GtkRadiant provides level editing support for [Quake](https://en.wikipedia.org/wiki/Quake_(video_game)), [Quake2](https://en.wikipedia.org/wiki/Quake_II), [Quake III Arena](https://ioquake3.org), [QuakeLive](https://www.quakelive.com), [Quetoo](http://quetoo.org), [Return to Castle Wolfenstein](https://en.wikipedia.org/wiki/Return_to_Castle_Wolfenstein), [Star Trek Voyager: Elite Force](https://en.wikipedia.org/wiki/Star_Trek:_Voyager_–_Elite_Force), [Star Wars Jedi Knight: Jedi Academy](https://en.wikipedia.org/wiki/Star_Wars_Jedi_Knight:_Jedi_Academy), [Urban Terror](http://urbanterror.info), [Wolfenstein: Enemy Territory](http://www.splashdamage.com/content/wolfenstein-enemy-territory-barracks). +GtkRadiant provides level editing support for [Quake](https://en.wikipedia.org/wiki/Quake_(video_game)), [Quake2](https://en.wikipedia.org/wiki/Quake_II), [Quake III Arena](https://ioquake3.org), [QuakeLive](https://www.quakelive.com), [Quetoo](http://quetoo.org), [Return to Castle Wolfenstein](https://en.wikipedia.org/wiki/Return_to_Castle_Wolfenstein), [Star Trek Voyager: Elite Force](https://en.wikipedia.org/wiki/Star_Trek:_Voyager_–_Elite_Force), [Star Wars Jedi Knight: Jedi Academy](https://en.wikipedia.org/wiki/Star_Wars_Jedi_Knight:_Jedi_Academy), [Unvanquished](https://www.unvanquished.net), [Urban Terror](http://urbanterror.info), [Wolfenstein: Enemy Territory](http://www.splashdamage.com/content/wolfenstein-enemy-territory-barracks). How to build ------------