2019-05-15 14:52:37 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-05-22 12:27:16 +00:00
|
|
|
// TODO: check this
|
2019-05-15 14:52:37 +00:00
|
|
|
enum eSurfaceType
|
|
|
|
{
|
2019-05-28 06:39:36 +00:00
|
|
|
SURFACE_DEFAULT,
|
|
|
|
SURFACE_TARMAC,
|
2019-05-15 14:52:37 +00:00
|
|
|
SURFACE_GRASS,
|
|
|
|
SURFACE_DIRT,
|
2019-05-28 06:39:36 +00:00
|
|
|
SURFACE_DIRTTRACK,
|
2019-05-15 14:52:37 +00:00
|
|
|
SURFACE_PAVEMENT,
|
|
|
|
SURFACE_METAL6,
|
|
|
|
SURFACE_GLASS,
|
2019-05-28 06:39:36 +00:00
|
|
|
SURFACE_SCAFFOLD,
|
|
|
|
SURFACE_METAL_DOOR, // garage door
|
|
|
|
SURFACE_BILLBOARD,
|
|
|
|
SURFACE_STEEL, //?
|
|
|
|
SURFACE_METAL_POLE, // ?
|
|
|
|
SURFACE_STREET_LIGHT,
|
2019-05-15 14:52:37 +00:00
|
|
|
SURFACE_METAL14,
|
|
|
|
SURFACE_METAL15,
|
|
|
|
SURFACE_METAL_FENCE,
|
|
|
|
SURFACE_FLESH,
|
2019-05-28 06:39:36 +00:00
|
|
|
SURFACE_SAND,
|
|
|
|
SURFACE_PUDDLE,
|
2019-05-15 14:52:37 +00:00
|
|
|
SURFACE_WOOD,
|
|
|
|
SURFACE_WOOD_BOX,
|
|
|
|
SURFACE_WOOD_PLANK,
|
|
|
|
SURFACE_TIRE,
|
|
|
|
SURFACE_HARD24,
|
|
|
|
SURFACE_HEDGE,
|
|
|
|
SURFACE_STONE,
|
|
|
|
SURFACE_METAL27,
|
|
|
|
SURFACE_METAL28,
|
|
|
|
SURFACE_RUBBER29,
|
|
|
|
SURFACE_LOOSE30,
|
|
|
|
SURFACE_BOLLARD,
|
|
|
|
SURFACE_GATE,
|
|
|
|
SURFACE_SAND33,
|
|
|
|
SURFACE_ROAD34,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
ADHESIVE_RUBBER,
|
|
|
|
ADHESIVE_HARD,
|
|
|
|
ADHESIVE_ROAD,
|
|
|
|
ADHESIVE_LOOSE,
|
2020-05-22 12:27:16 +00:00
|
|
|
ADHESIVE_SAND,
|
2019-05-15 14:52:37 +00:00
|
|
|
ADHESIVE_WET,
|
|
|
|
|
|
|
|
NUMADHESIVEGROUPS
|
|
|
|
};
|
|
|
|
|
2019-05-18 10:39:39 +00:00
|
|
|
struct CColPoint;
|
|
|
|
|
2019-05-15 14:52:37 +00:00
|
|
|
class CSurfaceTable
|
|
|
|
{
|
2020-04-17 05:54:14 +00:00
|
|
|
static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
2019-05-15 14:52:37 +00:00
|
|
|
public:
|
2020-05-11 23:24:57 +00:00
|
|
|
static void Initialise(Const char *filename);
|
2019-05-15 14:52:37 +00:00
|
|
|
static int GetAdhesionGroup(uint8 surfaceType);
|
2019-05-18 10:39:39 +00:00
|
|
|
static float GetWetMultiplier(uint8 surfaceType);
|
|
|
|
static float GetAdhesiveLimit(CColPoint &colpoint);
|
2019-05-15 14:52:37 +00:00
|
|
|
};
|