summaryrefslogtreecommitdiff
path: root/engine/DevShotGenerator.h
blob: 96cdb232d92e78d90cf12a978088e1b97f889c9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
//=============================================================================

#ifndef DEVSHOTGENERATOR_H
#define DEVSHOTGENERATOR_H
#ifdef _WIN32
#pragma once
#endif

#include "filesystem.h"
#include "utlvector.h"
#include "utlsymbol.h"
#include "MapReslistGenerator.h"

// initialization
void DevShotGenerator_Init();
void DevShotGenerator_Shutdown();
void DevShotGenerator_BuildMapList();

//-----------------------------------------------------------------------------
// Purpose: Takes development screenshots at camera positions over a set of levels
//-----------------------------------------------------------------------------
class CDevShotGenerator
{
public:
	CDevShotGenerator();

	// initializes the object to enable devshot generation
	void EnableDevShotGeneration( bool usemaplistfile );

	// starts the dev shot generation (starts cycling maps)
	void StartDevShotGeneration();

	void BuildMapList();
	void NextMap();

	void Shutdown();

	// returns true if reslist generation is enabled
	bool IsEnabled()	{ return m_bDevShotsEnabled; }

private:
	bool	m_bDevShotsEnabled;
	int		m_iCurrentMap;
	bool	m_bUsingMapList;

	// list of all maps to scan
	CUtlVector<maplist_map_t> m_Maps;
};

// singleton accessor
CDevShotGenerator &DevShotGenerator();


#endif // DEVSHOTGENERATOR_H