| author | David Anderson <dvander@alliedmods.net> |
| Sun Nov 25 18:50:13 2007 +0000 (2007-11-25) | |
| changeset 1725 | ea875bcbc286 |
| parent 1723 | befc8cfb4f3c |
| child 2289 | 44045ead61cd |
| permissions | -rw-r--r-- |
| dvander@1651 | 1 |
#ifndef _INCLUDE_INSTALLER_GAMES_LIST_H_ |
| dvander@1651 | 2 |
#define _INCLUDE_INSTALLER_GAMES_LIST_H_ |
| dvander@1651 | 3 |
|
| dvander@1651 | 4 |
#include "platform_headers.h" |
| dvander@1651 | 5 |
|
| dvander@1651 | 6 |
#define GAMEINFO_IS_USABLE 0 |
| dvander@1651 | 7 |
#define GAMEINFO_DOES_NOT_EXIST 1 |
| dvander@1651 | 8 |
#define GAMEINFO_IS_READ_ONLY 2 |
| dvander@1651 | 9 |
|
| dvander@1651 | 10 |
#define GAME_LIST_HALFLIFE1 -2 |
| dvander@1651 | 11 |
#define GAME_LIST_CANT_READ -1 |
| dvander@1651 | 12 |
#define GAME_LIST_NO_GAMES 0 |
| dvander@1651 | 13 |
|
| dvander@1651 | 14 |
#define GAMES_DEDICATED 1 |
| dvander@1651 | 15 |
#define GAMES_LISTEN 2 |
| dvander@1651 | 16 |
#define GAMES_STANDALONE 3 |
| dvander@1651 | 17 |
|
| dvander@1651 | 18 |
#define SOURCE_ENGINE_UNKNOWN 0 |
| dvander@1651 | 19 |
#define SOURCE_ENGINE_2004 1 |
| dvander@1651 | 20 |
#define SOURCE_ENGINE_2007 2 |
| dvander@1651 | 21 |
|
| dvander@1723 | 22 |
struct valve_game_t |
| dvander@1723 | 23 |
{ |
| dvander@1723 | 24 |
const TCHAR *folder; |
| dvander@1723 | 25 |
const TCHAR *subfolder; |
| dvander@1723 | 26 |
int eng_type; |
| dvander@1723 | 27 |
}; |
| dvander@1723 | 28 |
|
| dvander@1723 | 29 |
/* One game */ |
| dvander@1723 | 30 |
struct game_info_t |
| dvander@1651 | 31 |
{ |
| dvander@1651 | 32 |
TCHAR name[128]; |
| dvander@1723 | 33 |
TCHAR game_path[MAX_PATH]; |
| dvander@1651 | 34 |
int source_engine; |
| dvander@1651 | 35 |
}; |
| dvander@1651 | 36 |
|
| dvander@1723 | 37 |
/* A list of games under one "account" */ |
| dvander@1723 | 38 |
struct game_list_t |
| dvander@1723 | 39 |
{ |
| dvander@1723 | 40 |
TCHAR root_name[128]; |
| dvander@1723 | 41 |
unsigned int *games; |
| dvander@1723 | 42 |
unsigned int game_count; |
| dvander@1723 | 43 |
}; |
| dvander@1723 | 44 |
|
| dvander@1723 | 45 |
/* A list of accounts */ |
| dvander@1723 | 46 |
struct game_group_t |
| dvander@1723 | 47 |
{ |
| dvander@1723 | 48 |
game_list_t **lists; |
| dvander@1723 | 49 |
unsigned int list_count; |
| dvander@1723 | 50 |
int error_code; |
| dvander@1723 | 51 |
}; |
| dvander@1723 | 52 |
|
| dvander@1723 | 53 |
/* All games on the system */ |
| dvander@1723 | 54 |
struct game_database_t |
| dvander@1723 | 55 |
{ |
| dvander@1723 | 56 |
game_info_t *game_list; |
| dvander@1723 | 57 |
unsigned int game_count; |
| dvander@1723 | 58 |
game_group_t dedicated; |
| dvander@1723 | 59 |
game_group_t listen; |
| dvander@1723 | 60 |
game_group_t standalone; |
| dvander@1723 | 61 |
}; |
| dvander@1723 | 62 |
|
| dvander@1651 | 63 |
int IsValidFolder(const TCHAR *path); |
| dvander@1651 | 64 |
void DisplayBadFolderDialog(HWND hWnd, int reason); |
| dvander@1651 | 65 |
|
| dvander@1723 | 66 |
void BuildGameDB(); |
| dvander@1723 | 67 |
void ReleaseGameDB(); |
| dvander@1723 | 68 |
void DisplayBadGamesDialog(HWND hWnd, int reason); |
| dvander@1651 | 69 |
|
| dvander@1723 | 70 |
extern game_database_t g_games; |
| dvander@1651 | 71 |
|
| dvander@1651 | 72 |
#endif //_INCLUDE_INSTALLER_GAMES_LIST_H_ |