smokinguns draft, now needs qstat.cfg modification

This commit is contained in:
Thomas Debesse 2013-10-26 01:24:33 +02:00 committed by Thomas Debesse
parent 23bc276b60
commit d2ad111e44
8 changed files with 133 additions and 10 deletions

View File

@ -172,6 +172,7 @@ static struct quake_private tremulous_private;
static struct quake_private unvanquished_private;
static struct quake_private openarena_private;
static struct quake_private iourt_private;
static struct quake_private smokinguns_private;
#include "games.c"

View File

@ -49,11 +49,15 @@ static char* stringlist046[] = { "basewsw", NULL };
static char* stringlist047[] = { "warsow", NULL };
static char* stringlist048[] = { "base", NULL };
static char* stringlist049[] = { "tremulous", NULL };
static char* stringlist050[] = { "baseq3", NULL };
static char* stringlist051[] = { "openarena", NULL };
static char* stringlist052[] = { "openttd", NULL };
static char* stringlist053[] = { "q3ut4", NULL };
static char* stringlist054[] = { "ioUrbanTerror", 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[] = { "q3ut4", NULL };
static char* stringlist056[] = { "ioUrbanTerror", NULL };
static char* stringlist057[] = { "smokinguns", NULL };
static char* stringlist058[] = { "smokinguns", NULL };
struct game games[] = {
{
type : Q1_SERVER,
@ -1005,6 +1009,38 @@ struct game games[] = {
main_mod : stringlist048,
command : stringlist049,
},
{
type : UNVANQUISHED_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
name : "Unvanquished",
default_port : 27950,
default_master_port : 27950,
id : "UNVANQUISHEDS",
qstat_str : "UNVANQUISHEDS",
qstat_option : "-tremulous",
qstat_master_option : "-tremulousm",
icon : "unvanquished.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,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
default_home : "~/.Unvanquished",
pd : &unvanquished_private,
main_mod : stringlist050,
command : stringlist051,
},
{
type : OPENARENA_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
@ -1034,8 +1070,8 @@ struct game games[] = {
update_prefs : tremulous_update_prefs,
default_home : "~/.openarena",
pd : &openarena_private,
main_mod : stringlist050,
command : stringlist051,
main_mod : stringlist052,
command : stringlist053,
},
{
type : OTTD_SERVER,
@ -1056,7 +1092,7 @@ struct game games[] = {
custom_cfgs : quake_custom_cfgs,
save_info : quake_save_info,
default_home : "~/.openttd",
command : stringlist052,
command : stringlist054,
},
{
type : IOURT_SERVER,
@ -1087,8 +1123,40 @@ struct game games[] = {
update_prefs : tremulous_update_prefs,
default_home : "~/.ioUrbanTerror",
pd : &iourt_private,
main_mod : stringlist053,
command : stringlist054,
main_mod : stringlist055,
command : stringlist056,
},
{
type : SMOKINGUNS_SERVER,
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
name : "Smokin'Guns",
default_port : 27960,
default_master_port : 27950,
id : "SMOKINGUNSS",
qstat_str : "SMOKINGUNSS",
qstat_option : "-q3s",
qstat_master_option : "-q3m",
icon : "smokinguns.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,
cmd_or_dir_changed : tremulous_cmd_or_dir_changed,
prefs_load : q3_prefs_load_common,
update_prefs : tremulous_update_prefs,
default_home : "~/.smokinguns",
pd : &smokinguns_private,
main_mod : stringlist057,
command : stringlist058,
},
{
type : GPS_SERVER,

View File

@ -833,6 +833,24 @@
<main_mod>q3ut4</main_mod>
<pd>iourt_private</pd>
</game>
<game>
<base>Q3_SERVER</base>
<type>SMOKINGUNS_SERVER</type>
<name>Smokin'Guns</name>
<id>SMOKINGUNSS</id>
<qstat_str>SMOKINGUNSS</qstat_str>
<qstat_option>-q3s</qstat_option>
<qstat_master_option>-q3m</qstat_master_option>
<icon>smokinguns.xpm</icon>
<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>
<main_mod>smokinguns</main_mod>
<pd>smokinguns_private</pd>
</game>
<game>
<type>GPS_SERVER</type>
<name>Generic Gamespy</name>

View File

@ -86,6 +86,7 @@
#include "xpm/openttd.xpm"
#include "xpm/openarena.xpm"
#include "xpm/iourt.xpm"
#include "xpm/smokinguns.xpm"
#include "xpm/green-plus.xpm"
#include "xpm/red-minus.xpm"

View File

@ -527,6 +527,18 @@ static struct q3_common_prefs_s iourt_prefs =
defproto : "68",
};
static const char* smokinguns_masterprotocols[] = {
"auto",
"68",
NULL
};
static struct q3_common_prefs_s smokinguns_prefs =
{
protocols: smokinguns_masterprotocols,
defproto : "68",
};
static struct q3_common_prefs_s* get_pref_widgets_for_game(enum server_type type);
static void game_file_dialog(enum server_type type);
@ -3187,6 +3199,7 @@ static struct q3_common_prefs_s* get_pref_widgets_for_game(enum server_type type
case UNVANQUISHED_SERVER: return &unvanquished_prefs;
case OPENARENA_SERVER: return &openarena_prefs;
case IOURT_SERVER: return &iourt_prefs;
case SMOKINGUNS_SERVER: return &smokinguns_prefs;
default: xqf_error("need to define preferences"); return NULL;
}
}
@ -4755,6 +4768,7 @@ static struct generic_prefs* new_generic_prefs (void) {
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[IOURT_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
new_genprefs[SMOKINGUNS_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
for (i = 0; i < GAMES_TOTAL; i++) {
new_genprefs[i].pref_dir = g_strdup (games[i].dir);

View File

@ -326,3 +326,20 @@ gametype IOURTM new extend Q3M
master query = empty full
master for gametype = IOURTS
end
# ioq3 fork
gametype SMOKINGUNSS new extend Q3S
name = Smokin'Guns
template var = SMOKINGUNS
game rule = gamename
end
gametype IOURTM new extend Q3M
name = Smokin'Guns Master
template var = SMOKINGUNSMASTER
default port = 27960
master packet = \377\377\377\377getservers %s %s
master protocol = 68
master query = empty full
master for gametype = SMOKINGUNSS
end

View File

@ -1173,8 +1173,11 @@ static char *builtin_masters_update_info[] = {
"ADD OPENARENAS master://dpmaster.deathmask.net dpmaster.deathmask.net",
"ADD OTTDS master://master.openttd.org OpenTTD",
"ADD IOURTS master://master.urbanterror.net ioUrbanTerror",
"ADD SMOKINGUNSS master://master.smokin-guns.org master.smokinguns.org",
"ADD QS lan://255.255.255.255 LAN",
"ADD QWS lan://255.255.255.255 LAN",
"ADD Q2S lan://255.255.255.255 LAN",

View File

@ -141,6 +141,7 @@ enum server_type {
OPENARENA_SERVER,
OTTD_SERVER,
IOURT_SERVER,
SMOKINGUNS_SERVER,
GPS_SERVER,
UNKNOWN_SERVER
};