distinguishes tremulous, tremulous gpp and tremfusion, plus some cleaning

This commit is contained in:
Thomas Debesse 2014-09-28 09:55:53 +02:00
parent 9b978d9930
commit 5dfc24604f
15 changed files with 472 additions and 130 deletions

View File

@ -1,15 +1,20 @@
Sep 28, 2014: Thomas DEBESSE <xqf@illwieckz.net>
- distinguish Tremulous, Tremulous GPP and TremFusion
- some cleaning (id tech 3 derivatives are not described as tremulous anymore)
- tremulous server qstat variable renamed to 'gamename'+'s' like others
Nov 11, 2013: Thomas Debesse <xqf@illwieckz.net>
- follow XDG Base Directory Specification for user configuration directory
and migrate previously created directory
and migrate old directory to the new one
Nov 10, 2013: Thomas Debesse <xqf@illwieckz.net>
- add World of Padman game
Nov 06, 2013: Thomas Debesse <xqf@illwieckz.net>
- recognize Unvanquished extended color codes
- recognize Unvanquished extended color codes to prevent printing
Nov 01, 2013: Thomas Debesse <xqf@illwieckz.net>
- complete french translation (100%)
- completed french translation (100%)
Oct 31, 2013: Thomas Debesse <xqf@illwieckz.net>
- detect more ioQuake3 variant as ioQuake3

View File

@ -3,8 +3,8 @@ XQF 1.0.5.2-git -- Currently
Changes since 1.0.5:
* New games: Unvanquished, Xonotic, Smokin'Guns, Urban Terror, Alien Arena, Reaction, Q3 Rally, World of Padman, OpenArena, OpenTTD, Enemy Territory: Quake Wars
* Recognize Unvanquished extended color codes
* New games: Unvanquished, Tremulous GPP, TremFusion, Xonotic, Smokin'Guns, ioUrbanTerror, Alien Arena, Reaction, Q3 Rally, World of Padman, OpenArena, OpenTTD, Enemy Territory: Quake Wars
* Recognize Unvanquished extended color codes and prevent for printing
* Add LAN broadcast for many games
* Drop disabled master servers (like id master server for Quake 3)
* Add or substitute new master servers (like ioquake3 master supplanting id master)

View File

@ -6,7 +6,7 @@ DESCRIPTION
-----------
XQF is a server browser and launcher for games using [id Tech engines](http://en.wikipedia.org/wiki/Id_Tech), [Unreal engines](http://en.wikipedia.org/wiki/Unreal_Engine) and derivatives.
It uses the [GTK+](http://www.gtk.org/) toolkit.
It uses the [GTK+](http://www.gtk.org/) 2 toolkit.
XQF is a front-end to [QStat](http://qstat.sourceforge.net/), a program by Steve Jankowski.
@ -36,7 +36,7 @@ See the file COPYING for more details.
HISTORY
-------
2013 Thomas Debesse <xqf@illwieckz.net>
2013-2014 Thomas Debesse <xqf@illwieckz.net>
2001-2013 Jordi Mallach <jordi@debian.org>
2001-2010 Ludwig Nussel <ludwig.nussel@suse.de>
2000-2003 Alex Burger <alex_b@users.sourceforge.net>

View File

@ -169,6 +169,8 @@ static struct quake_private quake4_private;
static struct quake_private etqw_private;
static struct quake_private warsow_private;
static struct quake_private tremulous_private;
static struct quake_private tremulousgpp_private;
static struct quake_private tremfusion_private;
static struct quake_private unvanquished_private;
static struct quake_private openarena_private;
static struct quake_private q3rally_private;
@ -1579,9 +1581,28 @@ static void q3_analyze_serverinfo (struct server *s) {
s->type=SOF2S_SERVER;
}
else if(!strncmp(info_ptr[1],"tremulous",9))
{
if(!strncmp(info_ptr[1],"tremulous 1.1.0",15))
{
s->type=TREMULOUS_SERVER;
}
else if(!strncmp(info_ptr[1],"tremulous gpp1",14))
{
s->type=TREMULOUSGPP_SERVER;
}
else
{
s->type=TREMULOUS_SERVER;
}
}
else if(!strncmp(info_ptr[1],"KoRx",4))
{
s->type=TREMULOUS_SERVER;
}
else if(!strncmp(info_ptr[1],"tremfusion",10))
{
s->type=TREMFUSION_SERVER;
}
else if(!strncmp(info_ptr[1],"Unvanquished",12))
{
s->type=UNVANQUISHED_SERVER;

View File

@ -49,23 +49,27 @@ static char* stringlist046[] = { "basewsw", NULL };
static char* stringlist047[] = { "warsow", NULL };
static char* stringlist048[] = { "base", NULL };
static char* stringlist049[] = { "tremulous", NULL };
static char* stringlist050[] = { "main", NULL };
static char* stringlist051[] = { "unvanquished", NULL };
static char* stringlist052[] = { "baseq3", NULL };
static char* stringlist053[] = { "openarena", NULL };
static char* stringlist054[] = { "openttd", NULL };
static char* stringlist055[] = { "baseq3", NULL };
static char* stringlist056[] = { "q3rally", NULL };
static char* stringlist057[] = { "wop", NULL };
static char* stringlist058[] = { "worldofpadman", NULL };
static char* stringlist059[] = { "q3ut4", NULL };
static char* stringlist060[] = { "ioUrbanTerror", "Quake3-UrT", "urbanterror", NULL };
static char* stringlist061[] = { "rq3", NULL };
static char* stringlist062[] = { "Reaction", NULL };
static char* stringlist063[] = { "smokinguns", NULL };
static char* stringlist064[] = { "smokinguns", NULL };
static char* stringlist065[] = { "arena", NULL };
static char* stringlist066[] = { "alienarena", NULL };
static char* stringlist050[] = { "base", NULL };
static char* stringlist051[] = { "tremulous-gpp", NULL };
static char* stringlist052[] = { "base", NULL };
static char* stringlist053[] = { "tremfusion", NULL };
static char* stringlist054[] = { "main", NULL };
static char* stringlist055[] = { "unvanquished", NULL };
static char* stringlist056[] = { "baseq3", NULL };
static char* stringlist057[] = { "openarena", NULL };
static char* stringlist058[] = { "openttd", NULL };
static char* stringlist059[] = { "baseq3", NULL };
static char* stringlist060[] = { "q3rally", NULL };
static char* stringlist061[] = { "wop", NULL };
static char* stringlist062[] = { "worldofpadman", NULL };
static char* stringlist063[] = { "q3ut4", NULL };
static char* stringlist064[] = { "ioUrbanTerror", "Quake3-UrT", "urbanterror", NULL };
static char* stringlist065[] = { "rq3", NULL };
static char* stringlist066[] = { "Reaction", NULL };
static char* stringlist067[] = { "smokinguns", NULL };
static char* stringlist068[] = { "smokinguns", NULL };
static char* stringlist069[] = { "arena", NULL };
static char* stringlist070[] = { "alienarena", NULL };
struct game games[] = {
{
type : Q1_SERVER,
@ -991,9 +995,9 @@ struct game games[] = {
name : "Tremulous",
default_port : 30720,
default_master_port : 30710,
id : "TREMULOUS",
qstat_str : "TREMULOUS",
qstat_option : "-tremulous",
id : "TREMULOUSS",
qstat_str : "TREMULOUSS",
qstat_option : "-tremulouss",
qstat_master_option : "-tremulousm",
icon : "tremulous.xpm",
parse_player : q3_parse_player,
@ -1011,12 +1015,74 @@ struct game games[] = {
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.tremulous",
pd : &tremulous_private,
main_mod : stringlist048,
command : stringlist049,
},
{
type : TREMULOUSGPP_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
name : "Tremulous GPP",
default_port : 30720,
default_master_port : 30700,
id : "TREMULOUSGPPS",
qstat_str : "TREMULOUSGPPS",
qstat_option : "-tremulousgpp",
qstat_master_option : "-tremulousgppm",
icon : "tremulousgpp.xpm",
parse_player : q3_parse_player,
parse_server : quake_parse_server,
analyze_serverinfo : q3_analyze_serverinfo,
config_is_valid : config_is_valid_generic,
exec_client : q3_exec,
custom_cfgs : quake_custom_cfgs,
save_info : quake_save_info,
init_maps : q3_init_maps,
has_map : quake_has_map,
get_mapshot : q3_get_mapshot,
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
prefs_load : q3_prefs_load_common,
update_prefs : q3_update_prefs,
default_home : "~/.tremulous",
pd : &tremulousgpp_private,
main_mod : stringlist050,
command : stringlist051,
},
{
type : TREMFUSION_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
name : "TremFusion",
default_port : 30720,
default_master_port : 30710,
id : "TREMFUSIONS",
qstat_str : "TREMFUSIONS",
qstat_option : "-tremfusions",
qstat_master_option : "-tremfusionm",
icon : "tremfusion.xpm",
parse_player : q3_parse_player,
parse_server : quake_parse_server,
analyze_serverinfo : q3_analyze_serverinfo,
config_is_valid : config_is_valid_generic,
exec_client : q3_exec,
custom_cfgs : quake_custom_cfgs,
save_info : quake_save_info,
init_maps : q3_init_maps,
has_map : quake_has_map,
get_mapshot : q3_get_mapshot,
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
prefs_load : q3_prefs_load_common,
update_prefs : q3_update_prefs,
default_home : "~/.tremulous",
pd : &tremfusion_private,
main_mod : stringlist052,
command : stringlist053,
},
{
type : UNVANQUISHED_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
@ -1041,13 +1107,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.Unvanquished",
pd : &unvanquished_private,
main_mod : stringlist050,
command : stringlist051,
main_mod : stringlist054,
command : stringlist055,
},
{
type : OPENARENA_SERVER,
@ -1073,13 +1138,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.openarena",
pd : &openarena_private,
main_mod : stringlist052,
command : stringlist053,
main_mod : stringlist056,
command : stringlist057,
},
{
type : OTTD_SERVER,
@ -1100,7 +1164,7 @@ struct game games[] = {
custom_cfgs : quake_custom_cfgs,
save_info : quake_save_info,
default_home : "~/.openttd",
command : stringlist054,
command : stringlist058,
},
{
type : Q3RALLY_SERVER,
@ -1126,13 +1190,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.q3rally",
pd : &q3rally_private,
main_mod : stringlist055,
command : stringlist056,
main_mod : stringlist059,
command : stringlist060,
},
{
type : WOP_SERVER,
@ -1158,18 +1221,17 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.WoPadman",
pd : &wop_private,
main_mod : stringlist057,
command : stringlist058,
main_mod : stringlist061,
command : stringlist062,
},
{
type : IOURT_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
name : "UrbanTerror",
name : "ioUrbanTerror",
default_port : 27960,
default_master_port : 27950,
id : "IOURTS",
@ -1190,13 +1252,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.q3a",
pd : &iourt_private,
main_mod : stringlist059,
command : stringlist060,
main_mod : stringlist063,
command : stringlist064,
},
{
type : REACTION_SERVER,
@ -1222,13 +1283,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.Reaction",
pd : &reaction_private,
main_mod : stringlist061,
command : stringlist062,
main_mod : stringlist065,
command : stringlist066,
},
{
type : SMOKINGUNS_SERVER,
@ -1254,13 +1314,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.smokinguns",
pd : &smokinguns_private,
main_mod : stringlist063,
command : stringlist064,
main_mod : stringlist067,
command : stringlist068,
},
{
type : GPS_SERVER,
@ -1302,13 +1361,12 @@ struct game games[] = {
arch_identifier : "version",
identify_cpu : identify_cpu,
identify_os : identify_os,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q2_prefs_load,
update_prefs : tremulous_update_prefs,
update_prefs : q3_update_prefs,
default_home : "~/.codered/",
pd : &alienarena_private,
main_mod : stringlist065,
command : stringlist066,
main_mod : stringlist069,
command : stringlist070,
},
{
type : UNKNOWN_SERVER,

View File

@ -742,9 +742,9 @@
<name>Tremulous</name>
<default_port>30720</default_port>
<default_master_port>30710</default_master_port>
<id>TREMULOUS</id>
<qstat_str>TREMULOUS</qstat_str>
<qstat_option>-tremulous</qstat_option>
<id>TREMULOUSS</id>
<qstat_str>TREMULOUSS</qstat_str>
<qstat_option>-tremulouss</qstat_option>
<qstat_master_option>-tremulousm</qstat_master_option>
<icon>tremulous.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
@ -752,10 +752,48 @@
<default_home>~/.tremulous</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>base</main_mod>
<pd>tremulous_private</pd>
</game>
<game>
<base>Q3_SERVER</base>
<type>TREMULOUSGPP_SERVER</type>
<name>Tremulous GPP</name>
<default_port>30720</default_port>
<default_master_port>30700</default_master_port>
<id>TREMULOUSGPPS</id>
<qstat_str>TREMULOUSGPPS</qstat_str>
<qstat_option>-tremulousgpp</qstat_option>
<qstat_master_option>-tremulousgppm</qstat_master_option>
<icon>tremulousgpp.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>tremulous-gpp</command>
<default_home>~/.tremulous</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>base</main_mod>
<pd>tremulousgpp_private</pd>
</game>
<game>
<base>Q3_SERVER</base>
<type>TREMFUSION_SERVER</type>
<name>TremFusion</name>
<default_port>30720</default_port>
<default_master_port>30710</default_master_port>
<id>TREMFUSIONS</id>
<qstat_str>TREMFUSIONS</qstat_str>
<qstat_option>-tremfusions</qstat_option>
<qstat_master_option>-tremfusionm</qstat_master_option>
<icon>tremfusion.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>tremfusion</command>
<default_home>~/.tremulous</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>base</main_mod>
<pd>tremfusion_private</pd>
</game>
<game>
<base>Q3_SERVER</base>
<type>UNVANQUISHED_SERVER</type>
@ -770,9 +808,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>unvanquished</command>
<default_home>~/.Unvanquished</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>main</main_mod>
<pd>unvanquished_private</pd>
</game>
@ -788,9 +825,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>openarena</command>
<default_home>~/.openarena</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>baseq3</main_mod>
<pd>openarena_private</pd>
</game>
@ -825,9 +861,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>q3rally</command>
<default_home>~/.q3rally</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>baseq3</main_mod>
<pd>q3rally_private</pd>
</game>
@ -843,16 +878,15 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>worldofpadman</command>
<default_home>~/.WoPadman</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>wop</main_mod>
<pd>wop_private</pd>
</game>
<game>
<base>Q3_SERVER</base>
<type>IOURT_SERVER</type>
<name>UrbanTerror</name>
<name>ioUrbanTerror</name>
<id>IOURTS</id>
<qstat_str>IOURTS</qstat_str>
<qstat_option>-iourts</qstat_option>
@ -863,9 +897,8 @@
<command>Quake3-UrT</command>
<command>ioUrbanTerror</command>
<default_home>~/.q3a</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>q3ut4</main_mod>
<pd>iourt_private</pd>
</game>
@ -881,9 +914,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>Reaction</command>
<default_home>~/.Reaction</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>rq3</main_mod>
<pd>reaction_private</pd>
</game>
@ -899,9 +931,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>smokinguns</command>
<default_home>~/.smokinguns</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>smokinguns</main_mod>
<pd>smokinguns_private</pd>
</game>
@ -930,9 +961,8 @@
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>alienarena</command>
<default_home>~/.codered/</default_home>
<cmd_or_dir_changed>tremulous_cmd_or_dir_changed</cmd_or_dir_changed>
<prefs_load>q2_prefs_load</prefs_load>
<update_prefs>tremulous_update_prefs</update_prefs>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>arena</main_mod>
<pd>alienarena_private</pd>
</game>

View File

@ -72,6 +72,8 @@
#include "xpm/xonotic.xpm"
#include "xpm/warsow.xpm"
#include "xpm/tremulous.xpm"
#include "xpm/tremulousgpp.xpm"
#include "xpm/tremfusion.xpm"
#include "xpm/unvanquished.xpm"
#include "xpm/gamespy3d.xpm"

View File

@ -493,6 +493,30 @@ static struct q3_common_prefs_s tremulous_prefs =
defproto : "69",
};
static const char* tremulousgpp_masterprotocols[] = {
"auto",
"70 - GPP",
NULL
};
static struct q3_common_prefs_s tremulousgpp_prefs =
{
protocols: tremulousgpp_masterprotocols,
defproto : "70",
};
static const char* tremfusion_masterprotocols[] = {
"auto",
"69 - v0.99",
NULL
};
static struct q3_common_prefs_s tremfusion_prefs =
{
protocols: tremfusion_masterprotocols,
defproto : "69",
};
static const char* unvanquished_masterprotocols[] = {
"auto",
"86",
@ -1069,18 +1093,6 @@ void quake4_update_prefs (struct game* g)
doom3_detect_version(g);
}
void tremulous_update_prefs (struct game* g)
{
q3_update_prefs_common(g);
doom3_detect_version(g);
}
void unvanquished_update_prefs (struct game* g)
{
q3_update_prefs_common(g);
doom3_detect_version(g);
}
void tribes2_update_prefs (struct game* g)
{
char* str;
@ -3250,6 +3262,8 @@ static struct q3_common_prefs_s* get_pref_widgets_for_game(enum server_type type
case XONOTIC_SERVER: return &xonotic_prefs;
case WARSOW_SERVER: return &warsow_prefs;
case TREMULOUS_SERVER: return &tremulous_prefs;
case TREMULOUSGPP_SERVER: return &tremulousgpp_prefs;
case TREMFUSION_SERVER: return &tremfusion_prefs;
case UNVANQUISHED_SERVER: return &unvanquished_prefs;
case OPENARENA_SERVER: return &openarena_prefs;
case Q3RALLY_SERVER: return &q3rally_prefs;
@ -4823,6 +4837,8 @@ static struct generic_prefs* new_generic_prefs (void) {
new_genprefs[XONOTIC_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[WARSOW_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[TREMULOUS_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[TREMULOUSGPP_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[TREMFUSION_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[UNVANQUISHED_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[OPENARENA_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[Q3RALLY_SERVER].add_options_to_notebook = add_q3_options_to_notebook;

View File

@ -132,7 +132,6 @@ void q3_update_prefs (struct game* g);
void q3_update_prefs_common (struct game* g);
void doom3_update_prefs (struct game* g);
void quake4_update_prefs (struct game* g);
void tremulous_update_prefs (struct game* g);
void tribes2_update_prefs (struct game* g);
void ut2004_update_prefs (struct game* g);

View File

@ -247,9 +247,9 @@ gametype WARSOWM new extend Q3M
end
# id Tech 3 fork (Tremulous engine, Quake 3 derivative)
gametype TREMULOUS new extend Q3S
gametype TREMULOUSS new extend Q3S
name = Tremulous
template var = TREMULOUS
template var = TREMULOUSS
game rule = gamename
end
gametype TREMULOUSM new extend Q3M
@ -257,7 +257,35 @@ gametype TREMULOUSM new extend Q3M
template var = TREMULOUSMASTER
default port = 30710
master protocol = 69
master for gametype = TREMULOUS
master for gametype = TREMULOUSS
end
# id Tech 3 fork (Tremulous engine derivative, Quake 3 derivative)
gametype TREMULOUSGPPS new extend Q3S
name = Tremulous GPP
template var = TREMULOUSGPPS
game rule = gamename
end
gametype TREMULOUSGPPM new extend Q3M
name = Tremulous GPP Master
template var = TREMULOUSGPPMASTER
default port = 30700
master protocol = 70
master for gametype = TREMULOUSGPPS
end
# id Tech 3 fork (Tremulous engine derivative, Quake 3 derivative)
gametype TREMFUSIONS new extend Q3S
name = TremFusion
template var = TREMFUSIONS
game rule = gamename
end
gametype TREMFUSIONM new extend Q3M
name = TremFusion Master
template var = TREMFUSIONMASTER
default port = 30710
master protocol = 69
master for gametype = TREMFUSIONS
end
# id Tech 3 fork (Daemon engine, Quake 3 derivative, via Tremulous, ioQuake3, XreaL, ioWolfET)

View File

@ -1169,7 +1169,11 @@ static char *builtin_masters_update_info[] = {
"ADD WARSOWS master://ghdigital.com ghdigital.com",
"ADD WARSOWS master://dpmaster.deathmask.net dpmaster.deathmask.net",
"ADD TREMULOUS master://master.tremulous.net:30710 tremulous.net",
"ADD TREMULOUSS master://master.tremulous.net:30710 tremulous.net",
"ADD TREMULOUSGPPS master://master.tremulous.net:30700 tremulous.net",
"ADD TREMFUSIONS master://master.tremulous.net:30710 tremulous.net",
"ADD UNVANQUISHEDS master://unvanquished.net:27950 unvanquished.net",
@ -1223,7 +1227,9 @@ static char *builtin_masters_update_info[] = {
"ADD NEXUIZS lan://255.255.255.255 LAN",
"ADD XONOTICS lan://255.255.255.255 LAN",
"ADD WARSOWS lan://255.255.255.255 LAN",
"ADD TREMULOUS lan://255.255.255.255 LAN",
"ADD TREMULOUSS lan://255.255.255.255 LAN",
"ADD TREMULOUSGPPS lan://255.255.255.255 LAN",
"ADD TREMFUSIONS lan://255.255.255.255 LAN",
"ADD UNVANQUISHEDS lan://255.255.255.255 LAN",
"ADD OPENARENAS lan://255.255.255.255 LAN",
"ADD OTTDS lan://255.255.255.255 LAN",

150
src/xpm/tremfusion.xpm Normal file
View File

@ -0,0 +1,150 @@
/* XPM */
static char * tremfusion_xpm[] = {
"16 16 131 2",
" c None",
". c #093433",
"+ c #0E3335",
"@ c #092425",
"# c #020404",
"$ c #00211C",
"% c #245C67",
"& c #123E41",
"* c #0C3B3B",
"= c #143F43",
"- c #081214",
"; c #030505",
"> c #020202",
", c #06302E",
"' c #155457",
") c #0C4645",
"! c #114445",
"~ c #184045",
"{ c #14383B",
"] c #01120F",
"^ c #050D0C",
"/ c #104142",
"( c #1A595E",
"_ c #21676F",
": c #266E77",
"< c #216A72",
"[ c #256E76",
"} c #21646B",
"| c #11393C",
"1 c #081213",
"2 c #071A1A",
"3 c #1D4E55",
"4 c #1B5A60",
"5 c #27717B",
"6 c #2B7681",
"7 c #2D7C87",
"8 c #27767E",
"9 c #2F818E",
"0 c #338593",
"a c #286C77",
"b c #091A1B",
"c c #144448",
"d c #1C595F",
"e c #34808F",
"f c #3F91A3",
"g c #3C8A9D",
"h c #35818F",
"i c #357C8B",
"j c #398B9C",
"k c #22626B",
"l c #072020",
"m c #031F1E",
"n c #1A5658",
"o c #327586",
"p c #499BB5",
"q c #3A7286",
"r c #4892A8",
"s c #3F97AA",
"t c #3B8294",
"u c #2B6F7B",
"v c #0D3B3D",
"w c #377B8B",
"x c #275B64",
"y c #388999",
"z c #3D8798",
"A c #22525D",
"B c #357A89",
"C c #338693",
"D c #358695",
"E c #28717C",
"F c #215761",
"G c #285C66",
"H c #29606D",
"I c #3C8799",
"J c #307683",
"K c #194F55",
"L c #358492",
"M c #348896",
"N c #2D7883",
"O c #1B474E",
"P c #2C6B77",
"Q c #29626D",
"R c #2A5963",
"S c #2A616C",
"T c #1C585E",
"U c #1C535A",
"V c #215964",
"W c #2B606E",
"X c #265764",
"Y c #2F6774",
"Z c #306574",
"` c #1F4B52",
" . c #296772",
".. c #215B63",
"+. c #175458",
"@. c #29636F",
"#. c #307483",
"$. c #376478",
"%. c #2F6C7B",
"&. c #346C7F",
"*. c #29717C",
"=. c #1E5C63",
"-. c #1B565D",
";. c #3B8599",
">. c #2D6776",
",. c #2E6673",
"'. c #255F68",
"). c #34808D",
"!. c #286A74",
"~. c #1B5459",
"{. c #195157",
"]. c #15494D",
"^. c #216067",
"/. c #26727B",
"(. c #1B575C",
"_. c #21626A",
":. c #317F8C",
"<. c #2B6C79",
"[. c #18484E",
"}. c #296571",
"|. c #2F7482",
"1. c #3B879A",
"2. c #256872",
"3. c #1F4E54",
"4. c #295F6A",
"5. c #13474B",
"6. c #3B7B8F",
"7. c #396C83",
"8. c #356276",
"9. c #286973",
"0. c #1A555C",
" . + @ # ",
" $ % & * = - ; > ",
" , ' ) ! ~ { ] ^ ",
" / ( _ : < [ } | 1 2 ",
" 3 4 5 6 7 8 9 0 a b ",
" c d e f g h i j e k l m ",
" n o p q r s t u v ",
" w x y z A B ",
" C D E F G H I J K ",
" L M N O P Q R S T ",
" U V W X Y Z ` . ..+.",
" @.#. $.%. &.*. =. ",
" -. ;.>.,. '.).!. ~. ",
" {.]. ^./.(._.:.<. [. ",
" }.|.1.2.3.4. ",
" 5.6.7.8.9.0. "};

View File

@ -2,34 +2,34 @@
static char * tremulous_xpm[] = {
"16 16 16 1",
" c None",
". c #000000",
"+ c #010101",
"@ c #020202",
"# c #030303",
"$ c #040404",
"% c #050505",
"& c #060606",
"* c #070707",
"= c #080808",
"- c #090909",
"; c #0A0A0A",
"> c #0B0B0B",
". c #060606",
"+ c #080808",
"@ c #000000",
"# c #010101",
"$ c #070707",
"% c #040404",
"& c #090909",
"* c #030303",
"= c #0A0A0A",
"- c #050505",
"; c #020202",
"> c #0E0E0E",
", c #0C0C0C",
"' c #0D0D0D",
") c #0E0E0E",
" & ",
" =.+ ",
" * +.. $ ",
" -+ ...# #; ",
" %@ +.. .* ",
" +# )...,+& ",
" @@+.... ",
" %..... ",
" $.....+ ",
" -$+...... ",
" ....., ",
" *....++, ",
" # #.@ # ",
" & > ",
" ' ",
"' c #0B0B0B",
") c #0D0D0D",
" . ",
" +@# ",
" $ #@@ % ",
" &# @@@ *= ",
" -; #@@ @$ ",
" #* >@@@,#. ",
" ;;#@@@@ ",
" -@@@@@ ",
" %@@@@@#> ",
" &%#@@@@@@ ",
" @@@@@, ",
" $@@@@##, ",
" * *@; * ",
" . ' ",
" ) ",
" "};

25
src/xpm/tremulousgpp.xpm Normal file
View File

@ -0,0 +1,25 @@
/* XPM */
static char * tremulousgpp_xpm[] = {
"16 16 6 1",
" c None",
". c #964700",
"+ c #80420A",
"@ c #6F3D11",
"# c #823E02",
"$ c #7B3C05",
" . ",
" ... ",
" . +.. . ",
" .. @++ .. ",
" @. @@@ +. ",
" @. @@@@@@+ ",
" @@@@@@@ ",
" @@@@#@ ",
" @@@@#@$+ ",
" ..@@@@@$@ ",
" @@@$@+ ",
" @@+$$@++ ",
" @ @@@ . ",
" . . ",
" . ",
" "};

View File

@ -138,6 +138,8 @@ enum server_type {
XONOTIC_SERVER,
WARSOW_SERVER,
TREMULOUS_SERVER,
TREMULOUSGPP_SERVER,
TREMFUSION_SERVER,
UNVANQUISHED_SERVER,
OPENARENA_SERVER,
OTTD_SERVER,