aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/shared/interval.cpp
blob: 38c9035995ebf6310eff1f05b991a432c4f075ea (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
59
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $NoKeywords: $
//=============================================================================//

#include "tier0/platform.h"
#include "interval.h"
#include "tier1/strtools.h"
#include "vstdlib/random.h"

// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"

//-----------------------------------------------------------------------------
// Purpose: 
// Input  : *pString - 
// Output : interval_t
//-----------------------------------------------------------------------------
interval_t ReadInterval( const char *pString )
{
	interval_t tmp;
	
	tmp.start = 0;
	tmp.range = 0;

	char tempString[128];
	Q_strncpy( tempString, pString, sizeof(tempString) );
	
	char *token = strtok( tempString, "," );
	if ( token )
	{
		tmp.start = atof( token );
		token = strtok( NULL, "," );
		if ( token )
		{
			tmp.range = atof( token ) - tmp.start;
		}
	}

	return tmp;
}

//-----------------------------------------------------------------------------
// Purpose: 
// Input  : &interval - 
// Output : float
//-----------------------------------------------------------------------------
float RandomInterval( const interval_t &interval )
{
	float out = interval.start;
	if ( interval.range != 0 )
	{
		out += RandomFloat( 0, interval.range );
	}

	return out;
}