OpenTTD Game API
Static Public Member Functions
GSBase Class Reference

Class that handles some basic functions. More...

Inheritance diagram for GSBase:

Static Public Member Functions

static uint32 Rand ()
 Get a random value. More...
 
static uint32 RandItem (int unused_param)
 Get a random value. More...
 
static uint RandRange (uint max)
 Get a random value in a range. More...
 
static uint RandRangeItem (int unused_param, uint max)
 Get a random value in a range. More...
 
static bool Chance (uint out, uint max)
 Returns approximately 'out' times true when called 'max' times. More...
 
static bool ChanceItem (int unused_param, uint out, uint max)
 Returns approximately 'out' times true when called 'max' times. More...
 

Detailed Description

Class that handles some basic functions.

Note
The random functions are not called Random and RandomRange, because RANDOM_DEBUG does some tricky stuff, which messes with those names.
In MP we cannot use Random because that will cause desyncs (scripts are ran on the server only, not on all clients). This means that we use InteractiveRandom in MP. Rand() takes care of this for you.

Member Function Documentation

◆ Chance()

static bool GSBase::Chance ( uint  out,
uint  max 
)
static

Returns approximately 'out' times true when called 'max' times.

After all, it is a random function.

Parameters
outHow many times it should return true.
maxOut of this many times.
Precondition
out is at most equal to max.
Returns
True if the chance worked out.

◆ ChanceItem()

static bool GSBase::ChanceItem ( int  unused_param,
uint  out,
uint  max 
)
static

Returns approximately 'out' times true when called 'max' times.

After all, it is a random function.

Parameters
unused_paramThis parameter is not used, but is needed to work with lists.
outHow many times it should return true.
maxOut of this many times.
Precondition
out is at most equal to max.
Returns
True if the chance worked out.

◆ Rand()

static uint32 GSBase::Rand ( )
static

Get a random value.

Returns
A random value between 0 and MAX(uint32).

◆ RandItem()

static uint32 GSBase::RandItem ( int  unused_param)
static

Get a random value.

Parameters
unused_paramThis parameter is not used, but is needed to work with lists.
Returns
A random value between 0 and MAX(uint32).

◆ RandRange()

static uint GSBase::RandRange ( uint  max)
static

Get a random value in a range.

Parameters
maxThe first number this function will never return (the maximum it returns is max - 1).
Returns
A random value between 0 .. max - 1.

◆ RandRangeItem()

static uint GSBase::RandRangeItem ( int  unused_param,
uint  max 
)
static

Get a random value in a range.

Parameters
unused_paramThis parameter is not used, but is needed to work with lists.
maxThe first number this function will never return (the maximum it returns is max - 1).
Returns
A random value between 0 .. max - 1.