]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
Add OpenQuartz support, provided by Toddd.
authorcoderjoe <coderjoe@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 11 Jul 2004 17:58:54 +0000 (17:58 +0000)
committercoderjoe <coderjoe@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 11 Jul 2004 17:58:54 +0000 (17:58 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4266 d7cf8633-e32d-0410-b094-e92efae38249

common.c
common.h
menu.c

index f91b2d98ba78d1a2eabfe36bc52fbabaf30b1406..98fe591efb0d1712795099de4c68de0798bc682f 100644 (file)
--- a/common.c
+++ b/common.c
@@ -742,6 +742,8 @@ void COM_InitGameType (void)
                gamemode = GAME_TENEBRAE;
        else if (strstr(name, "neoteric"))
                gamemode = GAME_NEOTERIC;
+       else if (strstr(name, "openquartz"))
+               gamemode = GAME_OPENQUARTZ;
        else
                gamemode = GAME_NORMAL;
 
@@ -775,6 +777,8 @@ void COM_InitGameType (void)
                gamemode = GAME_TENEBRAE;
        else if (COM_CheckParm ("-neoteric"))
                gamemode = GAME_NEOTERIC;
+       else if (COM_CheckParm ("-openquartz"))
+               gamemode = GAME_OPENQUARTZ;
 
        switch(gamemode)
        {
@@ -853,6 +857,11 @@ void COM_InitGameType (void)
                gamedirname = "neobase";
                gamescreenshotname = "neo";
                break;
+       case GAME_OPENQUARTZ:
+               gamename = "OpenQuartz";
+               gamedirname = "id1";
+               gamescreenshotname = "openquartz";
+               break;
        default:
                Sys_Error("COM_InitGameType: unknown gamemode %i\n", gamemode);
                break;
index 5058c0d6f094100a5a54629d7d1bb9f379c5fffa..864de3966fbcb9f8e5c3bb5371a8fc649f027ef0 100644 (file)
--- a/common.h
+++ b/common.h
@@ -185,6 +185,7 @@ extern      struct cvar_s   cmdline;
 #define GAME_SOM 12
 #define GAME_TENEBRAE 13 // full of evil hackery
 #define GAME_NEOTERIC 14
+#define GAME_OPENQUARTZ 15 //this game sucks
 
 extern int gamemode;
 extern char *gamename;
diff --git a/menu.c b/menu.c
index f5b9d54484aea8c04b5c70e46096ee23b5f950ae..b5c92a7b8bdabd65f82447973b3fcc4fbb91cb3c 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -2497,6 +2497,12 @@ int M_ChooseQuitMessage(int request)
                if (request-- == 0) return M_QuitMessage("Your mech here is way more impressive","than your car out there...","Press Y to quit, N to keep fraggin'",NULL,NULL,NULL,NULL,NULL);
                if (request-- == 0) return M_QuitMessage("Quitting won't reduce your debt","Press Y to quit, N to keep fraggin'",NULL,NULL,NULL,NULL,NULL,NULL);
                break;
+       case GAME_OPENQUARTZ:
+               if (request-- == 0) return M_QuitMessage("There is nothing like free beer!","Press Y to quit, N to stay",NULL,NULL,NULL,NULL,NULL,NULL);
+               if (request-- == 0) return M_QuitMessage("GNU is not Unix!","Press Y to quit, N to stay",NULL,NULL,NULL,NULL,NULL,NULL);
+               if (request-- == 0) return M_QuitMessage("You prefer free beer over free speech?","Press Y to quit, N to stay",NULL,NULL,NULL,NULL,NULL,NULL);
+               if (request-- == 0) return M_QuitMessage("Is OpenQuartz Propaganda?","Press Y to quit, N to stay",NULL,NULL,NULL,NULL,NULL,NULL);
+               break;
        default:
                if (request-- == 0) return M_QuitMessage("Tired of fragging already?",NULL,NULL,NULL,NULL,NULL,NULL,NULL);
                if (request-- == 0) return M_QuitMessage("Quit now and forfeit your bodycount?",NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -3048,6 +3054,32 @@ episode_t battlemechepisodes[] =
        {"Time for Battle", 0, 7},
 };
 
+level_t openquartzlevels[] =
+{
+       {"start", "Welcome to Openquartz"},
+
+       {"void1", "The center of nowhere"},                        // 1
+       {"void2", "The place with no name"},
+       {"void3", "The lost supply base"},
+       {"void4", "Past the outer limits"},
+       {"void5", "Into the nonexistance"},
+       {"void6", "Void walk"},
+
+       {"vtest", "Warp Central"},
+       {"box", "The deathmatch box"},
+       {"bunkers", "Void command"},
+       {"house", "House of chaos"},
+       {"office", "Overnight office kill"},
+       {"am1", "The nameless chambers"},
+};
+
+episode_t openquartzepisodes[] =
+{
+       {"Single Player", 0, 1},
+       {"Void Deathmatch", 1, 6},
+       {"Contrib", 7, 6},
+};
+
 gamelevels_t sharewarequakegame = {"Shareware Quake", quakelevels, quakeepisodes, 2};
 gamelevels_t registeredquakegame = {"Quake", quakelevels, quakeepisodes, 7};
 gamelevels_t hipnoticgame = {"Scourge of Armagon", hipnoticlevels, hipnoticepisodes, 6};
@@ -3056,6 +3088,7 @@ gamelevels_t nehahragame = {"Nehahra", nehahralevels, nehahraepisodes, 4};
 gamelevels_t transfusiongame = {"Transfusion", transfusionlevels, transfusionepisodes, 7};
 gamelevels_t goodvsbad2game = {"Good Vs. Bad 2", goodvsbad2levels, goodvsbad2episodes, 1};
 gamelevels_t battlemechgame = {"Battlemech", battlemechlevels, battlemechepisodes, 1};
+gamelevels_t openquartzgame = {"OpenQuartz", openquartzlevels, openquartzepisodes, 3};
 
 typedef struct
 {
@@ -3074,6 +3107,7 @@ gameinfo_t gamelist[] =
        {GAME_TRANSFUSION, &transfusiongame, &transfusiongame},
        {GAME_GOODVSBAD2, &goodvsbad2game, &goodvsbad2game},
        {GAME_BATTLEMECH, &battlemechgame, &battlemechgame},
+       {GAME_OPENQUARTZ, &openquartzgame, &openquartzgame},
        {-1, &sharewarequakegame, &registeredquakegame} // final fallback
 };