tools/installer/GamesList.h
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--
small clarification to param2 in MenuAction_End
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_