Nuclide
Software Development Kit for id Tech
gamelibrary.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016-2023 Vera Visions LLC.
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
13 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
14 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*/
16
55typedef enum
56{
79
81void GameLibrary_Init(void);
84void GameLibrary_InitCustom(void);
85
87void GameLibrary_Install(int);
89void GameLibrary_Activate(int);
91void GameLibrary_Deactivate(void);
92
102__variant GameLibrary_GetGameInfo(int, gameInfo_t);
105
107void GameLibrary_DebugList(void);
108
109typedef enum
110{
116} gi_type;
117
119typedef struct
120{
121 string game;
122 string gamedir;
123 string base_dir;
124 string url_info;
125 string url_dl;
126 string version;
127 string readme;
128 int size;
130 int cldll;
131 string type;
133 string pkgname;
134 string pkgfile;
135 int pkgid;
139 string mpentity;
140 string gamedll;
141 string startmap;
144 string chatroom;
145 string menumap;
149
150#ifndef DOXYGEN
151int gameinfo_count;
152gameEntry_t *games;
153#endif
154 // end of gamelibrary
void GameLibrary_Activate(int)
Activate the specified game.
Definition: gamelibrary.qc:700
__variant GameLibrary_GetInfo(gameInfo_t)
Retrieves fields for the currently running game.
Definition: gamelibrary.qc:750
gameInfo_t
Options for querying Game Library entry information using GameLibrary_GetInfo()
Definition: gamelibrary.h:56
void GameLibrary_DebugList(void)
Prints debug info about the currently cached games to the console.
Definition: gamelibrary.qc:832
__variant GameLibrary_GetGameInfo(int, gameInfo_t)
Retrieves fields for a given game.
Definition: gamelibrary.qc:756
float GameLibrary_InstallProgress(void)
Returns a 0-100% value of game install progress, tracking across multiple packages.
Definition: gamelibrary.qc:607
bool GameLibrary_IsInstalling(void)
Returns true/false depending on if a Game installation is in progress.
Definition: gamelibrary.qc:601
gi_type
Definition: gamelibrary.h:110
void GameLibrary_InitCustom(void)
Called when you want to initialize custom games/mods.
Definition: gamelibrary.qc:430
int GameLibrary_GetCurrentGame(void)
Return the ID for the currently active game.
Definition: gamelibrary.qc:738
void GameLibrary_Install(int)
Install the specified game.
Definition: gamelibrary.qc:678
void GameLibrary_Init(void)
Called when initializing the current game.
Definition: gamelibrary.qc:549
int GameLibrary_GetGameCount(void)
Returns the total amount of games currently available.
Definition: gamelibrary.qc:744
void GameLibrary_Deactivate(void)
Deactivate the currently running mod.
Definition: gamelibrary.qc:728
@ GAMEINFO_AUTHOR
(string) Name of the author.
Definition: gamelibrary.h:74
@ GAMEINFO_STARTMAP
(string) The command for starting a new game.
Definition: gamelibrary.h:67
@ GAMEINFO_INTROVIDEO
(string) File name of the intro video to play.
Definition: gamelibrary.h:72
@ GAMEINFO_TRAININGMAP
(string) The command for starting the training.
Definition: gamelibrary.h:68
@ GAMEINFO_NOPLAYERMODELS
(bool) If the game allows player model selection.
Definition: gamelibrary.h:65
@ GAMEINFO_MINVERSION
(string) The minimum base game version.
Definition: gamelibrary.h:69
@ GAMEINFO_NOSPRAYS
(bool) If the game allows custom spray logos.
Definition: gamelibrary.h:66
@ GAMEINFO_WEBSITE
(string) The game its official website.
Definition: gamelibrary.h:61
@ GAMEINFO_FALLBACKDIR
(string) The directory to be loaded before the game directory.
Definition: gamelibrary.h:59
@ GAMEINFO_TITLE
(string) The title of the game.
Definition: gamelibrary.h:57
@ GAMEINFO_GAMEDIR
(string) The game directory name.
Definition: gamelibrary.h:58
@ GAMEINFO_INSTALLED
(bool) Whether the game is installed.
Definition: gamelibrary.h:77
@ GAMEINFO_PACKAGELIST
(string) List of packages, separated by white-space.
Definition: gamelibrary.h:76
@ GAMEINFO_CHATROOM
(string) The chatroom for this game.
Definition: gamelibrary.h:70
@ GAMEINFO_VERSION
(string) Version number string.
Definition: gamelibrary.h:62
@ GAMEINFO_SIZE
(int) The size of the game, in bytes.
Definition: gamelibrary.h:63
@ GAMEINFO_READMEFILE
(string) File name of the readme documentation.
Definition: gamelibrary.h:71
@ GAMEINFO_TYPE
(string) The game type.
Definition: gamelibrary.h:64
@ GAMEINFO_AUTHORSITE
(string) The author their website.
Definition: gamelibrary.h:75
@ GAMEINFO_MENUMAP
(string) Name of the map to be used as a background.
Definition: gamelibrary.h:73
@ GAMEINFO_BASEDIR
(string) The first game directory to be loaded.
Definition: gamelibrary.h:60
@ GAMEINFO_MANIFEST
Game info was read from a manifest within the path.
Definition: gamelibrary.h:112
@ GAMEINFO_PACKAGE
Definition: gamelibrary.h:115
@ GAMEINFO_GITXT
Game info stems from a Source Engine style gameinfo.txt file.
Definition: gamelibrary.h:113
@ GAMEINFO_LIBLIST
Game info stems from a GoldSrc style liblist.gam file.
Definition: gamelibrary.h:114
@ GAMEINFO_NONE
No gameinfo available.
Definition: gamelibrary.h:111
Data holding Game Library entries.
Definition: gamelibrary.h:120
string type
Definition: gamelibrary.h:131
string gamedir
Definition: gamelibrary.h:122
gi_type info_type
Definition: gamelibrary.h:147
int svonly
Definition: gamelibrary.h:129
string game
Definition: gamelibrary.h:121
int nomodels
Definition: gamelibrary.h:136
string menumap
Definition: gamelibrary.h:145
string introvideo
Definition: gamelibrary.h:146
string readme
Definition: gamelibrary.h:127
string pkgname
Definition: gamelibrary.h:133
string version
Definition: gamelibrary.h:126
int nosprays
Definition: gamelibrary.h:137
string mpentity
Definition: gamelibrary.h:139
string chatroom
Definition: gamelibrary.h:144
int pkgid
Definition: gamelibrary.h:135
string base_dir
Definition: gamelibrary.h:123
int size
Definition: gamelibrary.h:128
string minversion
Definition: gamelibrary.h:132
string pkgfile
Definition: gamelibrary.h:134
string url_dl
Definition: gamelibrary.h:125
string startmap
Definition: gamelibrary.h:141
string trainingmap
Definition: gamelibrary.h:142
string gamedll
Definition: gamelibrary.h:140
int installed
Definition: gamelibrary.h:138
int cldll
Definition: gamelibrary.h:130
string fallback_dir
Definition: gamelibrary.h:143
string url_info
Definition: gamelibrary.h:124