diff --git a/doomsday/apps/libdoomsday/include/doomsday/game.h b/doomsday/apps/libdoomsday/include/doomsday/game.h index 5ad5e8fe03..3b3cdadee6 100644 --- a/doomsday/apps/libdoomsday/include/doomsday/game.h +++ b/doomsday/apps/libdoomsday/include/doomsday/game.h @@ -70,6 +70,7 @@ class LIBDOOMSDAY_PUBLIC Game : public de::IObject static de::String const DEF_TITLE; ///< Title for the game (intended for humans). static de::String const DEF_AUTHOR; ///< Author of the game (intended for humans). static de::String const DEF_RELEASE_DATE; + static de::String const DEF_TAGS; static de::String const DEF_LEGACYSAVEGAME_NAME_EXP; ///< Regular expression used for matching legacy savegame names. static de::String const DEF_LEGACYSAVEGAME_SUBFOLDER; ///< Game-specific subdirectory of /home for legacy savegames. static de::String const DEF_MAPINFO_PATH; ///< Base relative path to the main MAPINFO definition data. diff --git a/doomsday/apps/libdoomsday/src/game.cpp b/doomsday/apps/libdoomsday/src/game.cpp index 186e3a5cd9..c84ab96483 100644 --- a/doomsday/apps/libdoomsday/src/game.cpp +++ b/doomsday/apps/libdoomsday/src/game.cpp @@ -48,6 +48,7 @@ String const Game::DEF_CONFIG_BINDINGS_PATH("bindingsConfig"); String const Game::DEF_TITLE("title"); String const Game::DEF_AUTHOR("author"); String const Game::DEF_RELEASE_DATE("releaseDate"); +String const Game::DEF_TAGS("tags"); String const Game::DEF_LEGACYSAVEGAME_NAME_EXP("legacySavegame.nameExp"); String const Game::DEF_LEGACYSAVEGAME_SUBFOLDER("legacySavegame.subfolder"); String const Game::DEF_MAPINFO_PATH("mapInfoPath"); diff --git a/doomsday/apps/plugins/doom/src/d_api.cpp b/doomsday/apps/plugins/doom/src/d_api.cpp index 662931381d..c904f64477 100644 --- a/doomsday/apps/plugins/doom/src/d_api.cpp +++ b/doomsday/apps/plugins/doom/src/d_api.cpp @@ -95,6 +95,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_AUTHOR, "Banjo Software", Game::DEF_RELEASE_DATE, "1997-09-01", Game::DEF_FAMILY, "", + Game::DEF_TAGS, "hacx", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hacx.mapinfo")); @@ -110,6 +111,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_AUTHOR, "Digital Cafe", Game::DEF_RELEASE_DATE, "1996-01-01", Game::DEF_FAMILY, "", + Game::DEF_TAGS, "chex chexquest", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/chex.mapinfo")); @@ -124,6 +126,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "Final DOOM: TNT: Evilution", Game::DEF_AUTHOR, "Team TNT", Game::DEF_RELEASE_DATE, "1996-06-17", + Game::DEF_TAGS, "finaldoom tnt evilution", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom2-tnt.mapinfo")); @@ -138,6 +141,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "Final DOOM: The Plutonia Experiment", Game::DEF_AUTHOR, "Dario Casali and Milo Casali", Game::DEF_RELEASE_DATE, "1996-06-17", + Game::DEF_TAGS, "finaldoom plutonia", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom2-plut.mapinfo")); @@ -153,6 +157,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_AUTHOR, "Freedoom Project", Game::DEF_RELEASE_DATE, "2015-12-23", Game::DEF_FAMILY, "", + Game::DEF_TAGS, "freedoom multiplayer", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom2-freedm.mapinfo")); @@ -167,6 +172,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "DOOM 2: Hell on Earth", Game::DEF_AUTHOR, "id Software", Game::DEF_RELEASE_DATE, "1994-09-30", + Game::DEF_TAGS, "doom2", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom2.mapinfo")); @@ -181,6 +187,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "Ultimate DOOM", Game::DEF_AUTHOR, "id Software", Game::DEF_RELEASE_DATE, "1995-04-30", + Game::DEF_TAGS, "doom", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom1-ultimate.mapinfo")); @@ -195,6 +202,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "DOOM Registered", Game::DEF_AUTHOR, "id Software", Game::DEF_RELEASE_DATE, "1993-12-10", + Game::DEF_TAGS, "doom", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom1.mapinfo")); @@ -209,6 +217,7 @@ int G_RegisterGames(int hookType, int param, void *data) Game::DEF_TITLE, "DOOM Shareware", Game::DEF_AUTHOR, "id Software", Game::DEF_RELEASE_DATE, "1993-12-10", + Game::DEF_TAGS, "doom shareware", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom1-share.mapinfo")); diff --git a/doomsday/apps/plugins/doom64/src/d64_api.cpp b/doomsday/apps/plugins/doom64/src/d64_api.cpp index 2ca43e6f78..8dd38bafb9 100644 --- a/doomsday/apps/plugins/doom64/src/d64_api.cpp +++ b/doomsday/apps/plugins/doom64/src/d64_api.cpp @@ -69,6 +69,7 @@ int G_RegisterGames(int hookType, int param, void* data) Game::DEF_TITLE, "Doom 64: Absolution", Game::DEF_AUTHOR, "Kaiser et al.", Game::DEF_FAMILY, "", + Game::DEF_TAGS, "doom64", Game::DEF_RELEASE_DATE, "2003-12-31", Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/doom64.mapinfo")); //game.addResource(RC_PACKAGE, FF_STARTUP, "libdoom64.pk3", 0); diff --git a/doomsday/apps/plugins/heretic/src/h_api.cpp b/doomsday/apps/plugins/heretic/src/h_api.cpp index 82f71f9229..d3c2a121d6 100644 --- a/doomsday/apps/plugins/heretic/src/h_api.cpp +++ b/doomsday/apps/plugins/heretic/src/h_api.cpp @@ -79,6 +79,7 @@ int G_RegisterGames(int hookType, int param, void* data) Game::DEF_TITLE, "Heretic: Shadow of the Serpent Riders", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1996-03-31", + Game::DEF_TAGS, "heretic", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/heretic-ext.mapinfo")); @@ -94,6 +95,7 @@ int G_RegisterGames(int hookType, int param, void* data) Game::DEF_TITLE, "Heretic Registered", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1994-12-23", + Game::DEF_TAGS, "heretic", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/heretic.mapinfo")); @@ -109,6 +111,7 @@ int G_RegisterGames(int hookType, int param, void* data) Game::DEF_TITLE, "Heretic Shareware", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1994-12-23", + Game::DEF_TAGS, "heretic shareware", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/heretic-share.mapinfo")); diff --git a/doomsday/apps/plugins/hexen/src/x_api.cpp b/doomsday/apps/plugins/hexen/src/x_api.cpp index 85e957ec82..029d964f80 100644 --- a/doomsday/apps/plugins/hexen/src/x_api.cpp +++ b/doomsday/apps/plugins/hexen/src/x_api.cpp @@ -85,6 +85,7 @@ int G_RegisterGames(int, int, void *) Game::DEF_TITLE, "Hexen: Deathkings of the Dark Citadel", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1996-01-01", + Game::DEF_TAGS, "hexen deathkings", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hexen-dk.mapinfo")); @@ -101,6 +102,7 @@ int G_RegisterGames(int, int, void *) Game::DEF_TITLE, "Hexen", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1995-12-01", + Game::DEF_TAGS, "hexen", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hexen.mapinfo")); @@ -115,6 +117,7 @@ int G_RegisterGames(int, int, void *) Game::DEF_TITLE, "Hexen v1.0", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1995-10-30", + Game::DEF_TAGS, "hexen", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hexen.mapinfo")); @@ -129,6 +132,7 @@ int G_RegisterGames(int, int, void *) Game::DEF_TITLE, "Hexen 4-map Demo", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1995-10-18", + Game::DEF_TAGS, "hexen demo", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hexen.mapinfo")); @@ -144,6 +148,7 @@ int G_RegisterGames(int, int, void *) Game::DEF_TITLE, "Hexen 4-map Beta Demo", Game::DEF_AUTHOR, "Raven Software", Game::DEF_RELEASE_DATE, "1995-10-01", + Game::DEF_TAGS, "hexen demo", Game::DEF_LEGACYSAVEGAME_NAME_EXP, LEGACYSAVEGAMENAMEEXP, Game::DEF_LEGACYSAVEGAME_SUBFOLDER, LEGACYSAVEGAMESUBFOLDER, Game::DEF_MAPINFO_PATH, "$(App.DataPath)/$(GamePlugin.Name)/hexen.mapinfo"));