summaryrefslogtreecommitdiffstats
path: root/src/control/RoadBlocks.h
blob: ef6149506cf8a53c5bfc1db299f6d7936ba3e996 (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
#pragma once
#include "common.h"

class CVehicle;

class CScriptRoadblock
{
public:
	CVector m_vInf;
	CVector m_vSup;
	bool m_bInUse;
	CVector GetPosition() { return (m_vInf + m_vSup) / 2; }
};

class CRoadBlocks
{
public:
	static int16 NumRoadBlocks;
	static int16 RoadBlockNodes[NUMROADBLOCKS];
	static bool InOrOut[NUMROADBLOCKS];
	static CScriptRoadblock aScriptRoadBlocks[NUM_SCRIPT_ROADBLOCKS];

	static void Init(void);
	static void GenerateRoadBlockCopsForCar(CVehicle* pVehicle, int32 roadBlockType);
	static void GenerateRoadBlocks(void);

	static void CreateRoadBlockBetween2Points(CVector, CVector);
	static void RegisterScriptRoadBlock(CVector, CVector);
	static void ClearScriptRoadBlocks();
};