Menu/Manifests: Allow games to execute commands for the button reserved

for training. Gunman uses this to play a Smacker/Bink video file.
This commit is contained in:
Marco Cawthorne 2020-04-03 14:09:17 +02:00
parent 5055fc8879
commit 7f2f32efb1
11 changed files with 134 additions and 26 deletions

View file

@ -1,13 +1,10 @@
FTEMANIFEST 1
game valve
name "Nuclide"
protocolname "Nuclide"
basegame logos
basegame valve
disablehomedir 1
rtcbroker master.frag-net.com:27950
GAME valve
NAME "Half-Life"
BASEGAME logos
BASEGAME valve
// hastily converted
// custom game menu variables
-seta gameinfo_game "Nuclide"
-seta gameinfo_gamedir "valve"
-seta gameinfo_fallback_dir ""
@ -16,11 +13,16 @@ rtcbroker master.frag-net.com:27950
-seta gameinfo_url_info "www.icculus.org/~marco/"
-seta gameinfo_version "1.0"
-seta gameinfo_url_dl ""
-seta gameinfo_type ""
-seta gameinfo_type "Both"
-seta gameinfo_nomodels 0
-seta gameinfo_gamedll "progs.dat"
-seta gameinfo_startmap "c0a0"
-seta gameinfo_trainingmap "t0a0"
-seta gameinfo_trainingmap "map t0a0"
-seta gameinfo_cldll 1
-seta gameinfo_hlversion "1110"
-seta gameinfo_svonly "0"
// you don't really want to change these
RTCBROKER master.frag-net.com:27950
PROTOCOLNAME "Nuclide"
MAINCONFIG nuclide.cfg

29
gearbox.fmf Executable file
View file

@ -0,0 +1,29 @@
FTEMANIFEST 1
GAME gearbox
NAME "Opposing Force"
BASEGAME logos
BASEGAME valve
BASEGAME gearbox
// custom game menu variables
-seta gameinfo_game "Opposing Force"
-seta gameinfo_gamedir "gearbox"
-seta gameinfo_fallback_dir ""
-seta gameinfo_mpentity "info_player_deathmatch"
-seta gameinfo_size "212803108"
-seta gameinfo_url_info "www.gearboxsoftware.com"
-seta gameinfo_version "1.0"
-seta gameinfo_url_dl ""
-seta gameinfo_type "Singleplayer"
-seta gameinfo_nomodels 0
-seta gameinfo_gamedll "progs.dat"
-seta gameinfo_startmap "of0a0"
-seta gameinfo_trainingmap "map ofboot0"
-seta gameinfo_cldll 1
-seta gameinfo_hlversion "1110"
-seta gameinfo_svonly "0"
// you don't really want to change these
RTCBROKER master.frag-net.com:27950
PROTOCOLNAME "Nuclide"
MAINCONFIG nuclide.cfg

28
rewolf.fmf Executable file
View file

@ -0,0 +1,28 @@
FTEMANIFEST 1
GAME rewolf
NAME "Gunman Chronicles"
BASEGAME logos
BASEGAME rewolf
// custom game menu variables
-seta gameinfo_game "Gunman Chronicles"
-seta gameinfo_gamedir "rewolf"
-seta gameinfo_fallback_dir ""
-seta gameinfo_mpentity "info_player_deathmatch"
-seta gameinfo_size "212803108"
-seta gameinfo_url_info "www.gunmanchronicles.com"
-seta gameinfo_version "1.0"
-seta gameinfo_url_dl ""
-seta gameinfo_type "Both"
-seta gameinfo_nomodels 0
-seta gameinfo_gamedll "progs.dat"
-seta gameinfo_startmap "city1a"
-seta gameinfo_trainingmap "playvideo av:media/rewolf.bik"
-seta gameinfo_cldll 1
-seta gameinfo_hlversion "1110"
-seta gameinfo_svonly "0"
// you don't really want to change these
RTCBROKER master.frag-net.com:27950
PROTOCOLNAME "Nuclide"
MAINCONFIG nuclide.cfg

35
scihunt.fmf Normal file
View file

@ -0,0 +1,35 @@
FTEMANIFEST 1
GAME scihunt
NAME "Scientist Hunt"
BASEGAME logos
BASEGAME valve
BASEGAME scihunt
// custom game menu variables
-seta gameinfo_game "Scientist Hunt"
-seta gameinfo_type "Multiplayer"
-seta gameinfo_gamedir "scihunt"
-seta gameinfo_fallback_dir ""
-seta gameinfo_mpentity "info_player_deathmatch"
-seta gameinfo_size "12869244"
-seta gameinfo_version "1.0"
-seta gameinfo_hlversion "1110"
-seta gameinfo_nomodels 0
-seta gameinfo_gamedll "progs.dat"
-seta gameinfo_startmap "c1a0"
-seta gameinfo_trainingmap "map t0a0"
-seta gameinfo_cldll 1
-seta gameinfo_svonly "0"
-seta gameinfo_url_info "www.richwhitehouse.com"
-seta gameinfo_url_dl "http://www.frag-net.com/mods/scihunt.fmf"
// download/update packaging information
PACKAGE scihunt/pak0.pk3 0xc1cbd5c1 "http://www.frag-net.com/files/scihunt_pak0.pk3"
// do we want this? I don't want to automatically update it
// UPDATEURL http://www.frag-net.com/mods/scihunt.fmf
// you don't really want to change these
RTCBROKER master.frag-net.com:27950
PROTOCOLNAME "Nuclide"
MAINCONFIG nuclide.cfg

View file

@ -49,9 +49,15 @@ void CBaseTrigger :: UseTargets ( void )
}
}
/* hack: check to see if this is a sound file */
/*if (whichpack(m_strMessage)) {
print(m_strMessage);
print("\n");
} else {
if (m_strMessage && eActivator.flags & FL_CLIENT) {
centerprint(eActivator, m_strMessage);
}
}*/
if ( m_strKillTarget ) {
entity eKill = find( world, CBaseTrigger::m_strTargetName, m_strKillTarget );

View file

@ -73,7 +73,7 @@ void btn_training(void)
{
localcmd("stopmusic\n");
localcmd("maxplayers 1\n");
localcmd(sprintf("map %s\n", games[gameinfo_current].trainingmap));
localcmd(sprintf("%s\n", games[gameinfo_current].trainingmap));
}
void btn_configuration_start(void)
{

View file

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class monster_human_bandit:CBaseMonster
class monster_human_bandit:CBaseNPC
{
void() monster_human_bandit;
};
@ -22,5 +22,7 @@ class monster_human_bandit:CBaseMonster
void monster_human_bandit::monster_human_bandit(void)
{
model = "models/bandit.mdl";
CBaseMonster::CBaseMonster();
base_mins = [-16,-16,0];
base_maxs = [16,16,72];
CBaseNPC::CBaseNPC();
}

View file

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class monster_human_chopper:CBaseEntity
class monster_human_chopper:CBaseNPC
{
void() monster_human_chopper;
};
@ -22,7 +22,7 @@ class monster_human_chopper:CBaseEntity
void monster_human_chopper::monster_human_chopper(void)
{
model = "models/chopper.mdl";
CBaseEntity::CBaseEntity();
setmodel(this, m_oldModel);
setorigin(this, origin);
base_mins = [-16,-16,0];
base_maxs = [16,16,72];
CBaseNPC::CBaseNPC();
}

View file

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class monster_human_demoman:CBaseMonster
class monster_human_demoman:CBaseNPC
{
void() monster_human_demoman;
};
@ -22,5 +22,7 @@ class monster_human_demoman:CBaseMonster
void monster_human_demoman::monster_human_demoman(void)
{
model = "models/demolitionman.mdl";
CBaseMonster::CBaseMonster();
base_mins = [-16,-16,0];
base_maxs = [16,16,72];
CBaseNPC::CBaseNPC();
}

View file

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class monster_human_gunman:CBaseMonster
class monster_human_gunman:CBaseNPC
{
void() monster_human_gunman;
};
@ -22,5 +22,7 @@ class monster_human_gunman:CBaseMonster
void monster_human_gunman::monster_human_gunman(void)
{
model = "models/gunmantrooper.mdl";
CBaseMonster::CBaseMonster();
base_mins = [-16,-16,0];
base_maxs = [16,16,72];
CBaseNPC::CBaseNPC();
}

View file

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class monster_human_unarmed:CBaseMonster
class monster_human_unarmed:CBaseNPC
{
void() monster_human_unarmed;
};
@ -22,5 +22,7 @@ class monster_human_unarmed:CBaseMonster
void monster_human_unarmed::monster_human_unarmed(void)
{
model = "models/gunmantrooper.mdl";
CBaseMonster::CBaseMonster();
base_mins = [-16,-16,0];
base_maxs = [16,16,72];
CBaseNPC::CBaseNPC();
}