Jedi Knight 2 support by victorbe [sf.net patch 13](http://sourceforge.net/p/xqf/patches/13/)
This commit is contained in:
parent
c27abd9de6
commit
0b22235580
32
src/game.c
32
src/game.c
@ -164,6 +164,7 @@ static struct quake_private wolfet_private;
|
||||
static struct quake_private etl_private;
|
||||
static struct quake_private mohaa_private;
|
||||
static struct quake_private cod_private;
|
||||
static struct quake_private jk2_private;
|
||||
static struct quake_private jk3_private;
|
||||
static struct quake_private doom3_private;
|
||||
static struct quake_private quake4_private;
|
||||
@ -1243,6 +1244,19 @@ static char *wolfet_tcetest_gametypes[MAX_WOLFET_TCETEST_TYPES] = {
|
||||
"Bodycount" // 7 - Bodycount
|
||||
};
|
||||
|
||||
#define MAX_JK2_TYPES 9
|
||||
static char *jk2_gametypes[MAX_JK2_TYPES] = {
|
||||
"FFA", // 0 - Free For All
|
||||
"Holocron", // 1 - Holocron
|
||||
"Jedi Master", // 2 - Jedi Master
|
||||
"Duell", // 3 - Duell
|
||||
"FFA", // 4 - Free For All
|
||||
"TFFA", // 5 - Team Free For All
|
||||
NULL, // 6 - Unknown
|
||||
"CTF", // 7 - Capture the Flag
|
||||
"Capture the Ysalimari" // 8 - Capture the Ysalimari
|
||||
};
|
||||
|
||||
#define MAX_JK3_TYPES 9
|
||||
static char *jk3_gametypes[MAX_JK3_TYPES] = {
|
||||
"FFA", // 0 - Free For All
|
||||
@ -1474,6 +1488,20 @@ struct q3a_gametype_s wolfet_gametype_map[] =
|
||||
}
|
||||
};
|
||||
|
||||
struct q3a_gametype_s jk2_gametype_map[] =
|
||||
{
|
||||
{
|
||||
"basejk",
|
||||
jk2_gametypes,
|
||||
MAX_JK2_TYPES
|
||||
},
|
||||
{
|
||||
"base",
|
||||
jk2_gametypes,
|
||||
MAX_JK2_TYPES
|
||||
}
|
||||
};
|
||||
|
||||
struct q3a_gametype_s jk3_gametype_map[] =
|
||||
{
|
||||
{
|
||||
@ -1779,6 +1807,10 @@ static void q3_analyze_serverinfo (struct server *s) {
|
||||
{
|
||||
q3_decode_gametype( s, wolfet_gametype_map );
|
||||
}
|
||||
else if ( s->type == JK2_SERVER)
|
||||
{
|
||||
q3_decode_gametype( s, jk2_gametype_map );
|
||||
}
|
||||
else if ( s->type == JK3_SERVER)
|
||||
{
|
||||
q3_decode_gametype( s, jk3_gametype_map );
|
||||
|
149
src/games.c
149
src/games.c
@ -42,36 +42,38 @@ static char* stringlist039[] = { "codmp", NULL };
|
||||
static char* stringlist040[] = { "savage", NULL };
|
||||
static char* stringlist041[] = { "base", NULL };
|
||||
static char* stringlist042[] = { "jamp", NULL };
|
||||
static char* stringlist043[] = { "netpanzer", NULL };
|
||||
static char* stringlist044[] = { "data", NULL };
|
||||
static char* stringlist045[] = { "nexuiz", NULL };
|
||||
static char* stringlist043[] = { "base", NULL };
|
||||
static char* stringlist044[] = { "jamp", NULL };
|
||||
static char* stringlist045[] = { "netpanzer", NULL };
|
||||
static char* stringlist046[] = { "data", NULL };
|
||||
static char* stringlist047[] = { "xonotic", NULL };
|
||||
static char* stringlist048[] = { "basewsw", NULL };
|
||||
static char* stringlist049[] = { "warsow", NULL };
|
||||
static char* stringlist050[] = { "base", NULL };
|
||||
static char* stringlist051[] = { "tremulous", NULL };
|
||||
static char* stringlist047[] = { "nexuiz", NULL };
|
||||
static char* stringlist048[] = { "data", NULL };
|
||||
static char* stringlist049[] = { "xonotic", NULL };
|
||||
static char* stringlist050[] = { "basewsw", NULL };
|
||||
static char* stringlist051[] = { "warsow", NULL };
|
||||
static char* stringlist052[] = { "base", NULL };
|
||||
static char* stringlist053[] = { "tremulous-gpp", NULL };
|
||||
static char* stringlist053[] = { "tremulous", NULL };
|
||||
static char* stringlist054[] = { "base", NULL };
|
||||
static char* stringlist055[] = { "tremfusion", NULL };
|
||||
static char* stringlist056[] = { "main", NULL };
|
||||
static char* stringlist057[] = { "unvanquished", NULL };
|
||||
static char* stringlist058[] = { "baseq3", NULL };
|
||||
static char* stringlist059[] = { "openarena", NULL };
|
||||
static char* stringlist060[] = { "openttd", NULL };
|
||||
static char* stringlist061[] = { "baseq3", NULL };
|
||||
static char* stringlist062[] = { "q3rally", NULL };
|
||||
static char* stringlist063[] = { "wop", NULL };
|
||||
static char* stringlist064[] = { "worldofpadman", NULL };
|
||||
static char* stringlist065[] = { "q3ut4", NULL };
|
||||
static char* stringlist066[] = { "Urban Terror", "Quake3-UrT", "urbanterror", NULL };
|
||||
static char* stringlist067[] = { "rq3", NULL };
|
||||
static char* stringlist068[] = { "Reaction", NULL };
|
||||
static char* stringlist069[] = { "smokinguns", NULL };
|
||||
static char* stringlist070[] = { "smokinguns", NULL };
|
||||
static char* stringlist071[] = { "arena", NULL };
|
||||
static char* stringlist072[] = { "alienarena", NULL };
|
||||
static char* stringlist055[] = { "tremulous-gpp", NULL };
|
||||
static char* stringlist056[] = { "base", NULL };
|
||||
static char* stringlist057[] = { "tremfusion", NULL };
|
||||
static char* stringlist058[] = { "main", NULL };
|
||||
static char* stringlist059[] = { "unvanquished", NULL };
|
||||
static char* stringlist060[] = { "baseq3", NULL };
|
||||
static char* stringlist061[] = { "openarena", NULL };
|
||||
static char* stringlist062[] = { "openttd", NULL };
|
||||
static char* stringlist063[] = { "baseq3", NULL };
|
||||
static char* stringlist064[] = { "q3rally", NULL };
|
||||
static char* stringlist065[] = { "wop", NULL };
|
||||
static char* stringlist066[] = { "worldofpadman", NULL };
|
||||
static char* stringlist067[] = { "q3ut4", NULL };
|
||||
static char* stringlist068[] = { "Urban Terror", "Quake3-UrT", "urbanterror", NULL };
|
||||
static char* stringlist069[] = { "rq3", NULL };
|
||||
static char* stringlist070[] = { "Reaction", NULL };
|
||||
static char* stringlist071[] = { "smokinguns", NULL };
|
||||
static char* stringlist072[] = { "smokinguns", NULL };
|
||||
static char* stringlist073[] = { "arena", NULL };
|
||||
static char* stringlist074[] = { "alienarena", NULL };
|
||||
struct game games[] = {
|
||||
{
|
||||
type : Q1_SERVER,
|
||||
@ -889,6 +891,35 @@ struct game games[] = {
|
||||
exec_client : bf1942_exec,
|
||||
save_info : quake_save_info,
|
||||
},
|
||||
{
|
||||
type : JK2_SERVER,
|
||||
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
|
||||
name : "Jedi Outcast",
|
||||
default_port : 28070,
|
||||
default_master_port : 28060,
|
||||
id : "JK2S",
|
||||
qstat_str : "JK2S",
|
||||
qstat_option : "-jk2s",
|
||||
qstat_master_option : "-jk2m",
|
||||
icon : "jk2.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,
|
||||
identify_cpu : identify_cpu,
|
||||
identify_os : identify_os,
|
||||
prefs_load : q3_prefs_load_common,
|
||||
update_prefs : q3_update_prefs_common,
|
||||
pd : &jk2_private,
|
||||
main_mod : stringlist041,
|
||||
command : stringlist042,
|
||||
},
|
||||
{
|
||||
type : JK3_SERVER,
|
||||
flags : GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_QUAKE3_MASTERPROTOCOL | GAME_Q3COLORS,
|
||||
@ -915,8 +946,8 @@ struct game games[] = {
|
||||
prefs_load : q3_prefs_load_common,
|
||||
update_prefs : q3_update_prefs_common,
|
||||
pd : &jk3_private,
|
||||
main_mod : stringlist041,
|
||||
command : stringlist042,
|
||||
main_mod : stringlist043,
|
||||
command : stringlist044,
|
||||
},
|
||||
{
|
||||
type : NETP_SERVER,
|
||||
@ -935,7 +966,7 @@ struct game games[] = {
|
||||
config_is_valid : config_is_valid_generic,
|
||||
exec_client : netpanzer_exec,
|
||||
save_info : quake_save_info,
|
||||
command : stringlist043,
|
||||
command : stringlist045,
|
||||
},
|
||||
{
|
||||
type : NEXUIZ_SERVER,
|
||||
@ -961,8 +992,8 @@ struct game games[] = {
|
||||
prefs_load : q3_prefs_load_common,
|
||||
update_prefs : q3_update_prefs_common,
|
||||
default_home : "~/.nexuiz",
|
||||
main_mod : stringlist044,
|
||||
command : stringlist045,
|
||||
main_mod : stringlist046,
|
||||
command : stringlist047,
|
||||
},
|
||||
{
|
||||
type : XONOTIC_SERVER,
|
||||
@ -988,8 +1019,8 @@ struct game games[] = {
|
||||
prefs_load : q3_prefs_load_common,
|
||||
update_prefs : q3_update_prefs_common,
|
||||
default_home : "~/.xonotic",
|
||||
main_mod : stringlist046,
|
||||
command : stringlist047,
|
||||
main_mod : stringlist048,
|
||||
command : stringlist049,
|
||||
},
|
||||
{
|
||||
type : WARSOW_SERVER,
|
||||
@ -1019,8 +1050,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs_common,
|
||||
default_home : "~/.warsow",
|
||||
pd : &warsow_private,
|
||||
main_mod : stringlist048,
|
||||
command : stringlist049,
|
||||
main_mod : stringlist050,
|
||||
command : stringlist051,
|
||||
},
|
||||
{
|
||||
type : TREMULOUS_SERVER,
|
||||
@ -1051,8 +1082,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.tremulous",
|
||||
pd : &tremulous_private,
|
||||
main_mod : stringlist050,
|
||||
command : stringlist051,
|
||||
main_mod : stringlist052,
|
||||
command : stringlist053,
|
||||
},
|
||||
{
|
||||
type : TREMULOUSGPP_SERVER,
|
||||
@ -1082,8 +1113,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.tremulous",
|
||||
pd : &tremulousgpp_private,
|
||||
main_mod : stringlist052,
|
||||
command : stringlist053,
|
||||
main_mod : stringlist054,
|
||||
command : stringlist055,
|
||||
},
|
||||
{
|
||||
type : TREMFUSION_SERVER,
|
||||
@ -1113,8 +1144,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.tremulous",
|
||||
pd : &tremfusion_private,
|
||||
main_mod : stringlist054,
|
||||
command : stringlist055,
|
||||
main_mod : stringlist056,
|
||||
command : stringlist057,
|
||||
},
|
||||
{
|
||||
type : UNVANQUISHED_SERVER,
|
||||
@ -1144,8 +1175,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.Unvanquished",
|
||||
pd : &unvanquished_private,
|
||||
main_mod : stringlist056,
|
||||
command : stringlist057,
|
||||
main_mod : stringlist058,
|
||||
command : stringlist059,
|
||||
},
|
||||
{
|
||||
type : OPENARENA_SERVER,
|
||||
@ -1175,8 +1206,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.openarena",
|
||||
pd : &openarena_private,
|
||||
main_mod : stringlist058,
|
||||
command : stringlist059,
|
||||
main_mod : stringlist060,
|
||||
command : stringlist061,
|
||||
},
|
||||
{
|
||||
type : OTTD_SERVER,
|
||||
@ -1197,7 +1228,7 @@ struct game games[] = {
|
||||
custom_cfgs : quake_custom_cfgs,
|
||||
save_info : quake_save_info,
|
||||
default_home : "~/.openttd",
|
||||
command : stringlist060,
|
||||
command : stringlist062,
|
||||
},
|
||||
{
|
||||
type : Q3RALLY_SERVER,
|
||||
@ -1227,8 +1258,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.q3rally",
|
||||
pd : &q3rally_private,
|
||||
main_mod : stringlist061,
|
||||
command : stringlist062,
|
||||
main_mod : stringlist063,
|
||||
command : stringlist064,
|
||||
},
|
||||
{
|
||||
type : WOP_SERVER,
|
||||
@ -1258,8 +1289,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.WoPadman",
|
||||
pd : &wop_private,
|
||||
main_mod : stringlist063,
|
||||
command : stringlist064,
|
||||
main_mod : stringlist065,
|
||||
command : stringlist066,
|
||||
},
|
||||
{
|
||||
type : IOURT_SERVER,
|
||||
@ -1289,8 +1320,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.q3a",
|
||||
pd : &iourt_private,
|
||||
main_mod : stringlist065,
|
||||
command : stringlist066,
|
||||
main_mod : stringlist067,
|
||||
command : stringlist068,
|
||||
},
|
||||
{
|
||||
type : REACTION_SERVER,
|
||||
@ -1320,8 +1351,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.Reaction",
|
||||
pd : &reaction_private,
|
||||
main_mod : stringlist067,
|
||||
command : stringlist068,
|
||||
main_mod : stringlist069,
|
||||
command : stringlist070,
|
||||
},
|
||||
{
|
||||
type : SMOKINGUNS_SERVER,
|
||||
@ -1351,8 +1382,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.smokinguns",
|
||||
pd : &smokinguns_private,
|
||||
main_mod : stringlist069,
|
||||
command : stringlist070,
|
||||
main_mod : stringlist071,
|
||||
command : stringlist072,
|
||||
},
|
||||
{
|
||||
type : GPS_SERVER,
|
||||
@ -1398,8 +1429,8 @@ struct game games[] = {
|
||||
update_prefs : q3_update_prefs,
|
||||
default_home : "~/.codered/",
|
||||
pd : &alienarena_private,
|
||||
main_mod : stringlist071,
|
||||
command : stringlist072,
|
||||
main_mod : stringlist073,
|
||||
command : stringlist074,
|
||||
},
|
||||
{
|
||||
type : UNKNOWN_SERVER,
|
||||
|
@ -660,6 +660,25 @@
|
||||
<analyze_serverinfo>bf1942_analyze_serverinfo</analyze_serverinfo>
|
||||
<exec_client>bf1942_exec</exec_client>
|
||||
</game>
|
||||
<game>
|
||||
<base>Q3_SERVER</base>
|
||||
<type>JK2_SERVER</type>
|
||||
<name>Jedi Outcast</name>
|
||||
<default_port>28070</default_port>
|
||||
<default_master_port>28060</default_master_port>
|
||||
<id>JK2S</id>
|
||||
<qstat_str>JK2S</qstat_str>
|
||||
<qstat_option>-jk2s</qstat_option>
|
||||
<qstat_master_option>-jk2m</qstat_master_option>
|
||||
<icon>jk2.xpm</icon>
|
||||
<config_is_valid>config_is_valid_generic</config_is_valid>
|
||||
<arch_identifier>NULL</arch_identifier>
|
||||
<command>jamp</command>
|
||||
<prefs_load>q3_prefs_load_common</prefs_load>
|
||||
<update_prefs>q3_update_prefs_common</update_prefs>
|
||||
<main_mod>base</main_mod>
|
||||
<pd>jk2_private</pd>
|
||||
</game>
|
||||
<game>
|
||||
<base>Q3_SERVER</base>
|
||||
<type>JK3_SERVER</type>
|
||||
|
@ -83,6 +83,7 @@
|
||||
#include "xpm/savage.xpm"
|
||||
#include "xpm/cod.xpm"
|
||||
#include "xpm/bf1942.xpm"
|
||||
#include "xpm/jk2.xpm"
|
||||
#include "xpm/jk3.xpm"
|
||||
#include "xpm/doom3.xpm"
|
||||
#include "xpm/etqw.xpm"
|
||||
|
13
src/pref.c
13
src/pref.c
@ -381,12 +381,23 @@ static struct q3_common_prefs_s cod_prefs =
|
||||
defproto : "5",
|
||||
};
|
||||
|
||||
static const char* jk2_masterprotocols[] = {
|
||||
"16 - v1.04",
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char* jk3_masterprotocols[] = {
|
||||
"26 - v1.01",
|
||||
"25 - v1.0",
|
||||
NULL
|
||||
};
|
||||
|
||||
static struct q3_common_prefs_s jk2_prefs =
|
||||
{
|
||||
protocols: jk2_masterprotocols,
|
||||
defproto : "16",
|
||||
};
|
||||
|
||||
static struct q3_common_prefs_s jk3_prefs =
|
||||
{
|
||||
protocols: jk3_masterprotocols,
|
||||
@ -3270,6 +3281,7 @@ static struct q3_common_prefs_s* get_pref_widgets_for_game(enum server_type type
|
||||
case EF_SERVER: return &ef_prefs;
|
||||
case SOF2S_SERVER: return &sof2_prefs;
|
||||
case COD_SERVER: return &cod_prefs;
|
||||
case JK2_SERVER: return &jk2_prefs;
|
||||
case JK3_SERVER: return &jk3_prefs;
|
||||
case NEXUIZ_SERVER: return &nexuiz_prefs;
|
||||
case XONOTIC_SERVER: return &xonotic_prefs;
|
||||
@ -4841,6 +4853,7 @@ static struct generic_prefs* new_generic_prefs (void) {
|
||||
new_genprefs[Q4_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[ETQW_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[COD_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[JK2_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[JK3_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[SOF2S_SERVER].add_options_to_notebook = add_q3_options_to_notebook;
|
||||
new_genprefs[T2_SERVER].add_options_to_notebook = add_t2_options_to_notebook;
|
||||
|
@ -334,6 +334,20 @@ gametype PREYM new extend DM3M
|
||||
master for gametype = PREYS
|
||||
end
|
||||
|
||||
gametype JK2S new extend Q3S
|
||||
name = Jedi Knight 2
|
||||
default port = 28070
|
||||
template var = JEDIKNIGHT2
|
||||
game rule = gamename
|
||||
end
|
||||
|
||||
gametype JK2M new extend JK3M
|
||||
name = Jedi Knight 2
|
||||
default port = 28060
|
||||
master protocol = 16
|
||||
master for gametype = JK2S
|
||||
end
|
||||
|
||||
gametype UT3S new extend GS4
|
||||
name = UT3
|
||||
default port = 6500
|
||||
|
@ -1154,6 +1154,7 @@ static char *builtin_masters_update_info[] = {
|
||||
|
||||
"DELETE BF1942 http://tourneys.multiplay.co.uk/public/servers.pl?opt=ListGamespy&event=Online&type=BF1942&hostport=1 multiplay.co.uk - BF1942",
|
||||
|
||||
"ADD JK2S master://masterjk2.ravensoft.com:29060 Ravensoft",
|
||||
"ADD JK3S master://masterjk3.ravensoft.com:29060 Ravensoft",
|
||||
|
||||
"ADD UT2004S master://ut2004master1.epicgames.com:28902 Epic 1",
|
||||
@ -1222,6 +1223,7 @@ static char *builtin_masters_update_info[] = {
|
||||
"ADD MHS lan://255.255.255.255 LAN",
|
||||
"ADD AMS lan://255.255.255.255 LAN",
|
||||
"ADD CODS lan://255.255.255.255 LAN",
|
||||
"ADD JK2S lan://255.255.255.255 LAN",
|
||||
"ADD JK3S lan://255.255.255.255 LAN",
|
||||
"ADD T2S lan://255.255.255.255 LAN",
|
||||
"ADD POSTAL2 lan://255.255.255.255 LAN",
|
||||
|
36
src/xpm/jk2.xpm
Normal file
36
src/xpm/jk2.xpm
Normal file
@ -0,0 +1,36 @@
|
||||
/* XPM */
|
||||
static char * jk2_xpm[] = {
|
||||
"17 17 16 1",
|
||||
" c #020500",
|
||||
". c #10110E",
|
||||
"+ c #181917",
|
||||
"@ c #282A27",
|
||||
"# c #434543",
|
||||
"$ c #305C75",
|
||||
"% c #5C5E5C",
|
||||
"& c #7B8084",
|
||||
"* c #7A859C",
|
||||
"= c #8094C3",
|
||||
"- c #6B9BE7",
|
||||
"; c #8C9BB5",
|
||||
"> c #AAB6C8",
|
||||
", c #9DBFF9",
|
||||
"' c #A9C7EE",
|
||||
") c #CEE6FF",
|
||||
".. .@#%#$##@+. ",
|
||||
" ..+@$&$####@. ",
|
||||
" .++@$&$%%&$@. ..",
|
||||
" +@@$>$%$&$@..+.",
|
||||
". +@@$>$%$>$@++. ",
|
||||
".++@#$'$%$>$@@+ ",
|
||||
" +@@#*'$%$'$#@. ",
|
||||
" .+##&'&%$'&#@+.+",
|
||||
"++@#%='*&&'&##@+ ",
|
||||
"@@#%&'),=*';%#@. ",
|
||||
"+@#&;,)-,-''&#@+.",
|
||||
"@##;=,),''),=&#@@",
|
||||
"+@#;-')',,),-;#@+",
|
||||
".@#&,,)'',)'-;##@",
|
||||
"+@#%*,),',),,&#@+",
|
||||
"++@#%*>=;,)'*%@+ ",
|
||||
" .+##%%%&*>*%#@+ "};
|
Loading…
x
Reference in New Issue
Block a user