2019-05-15 16:52:37 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
SURFACE_0,
|
|
|
|
SURFACE_1,
|
|
|
|
SURFACE_2,
|
|
|
|
SURFACE_3,
|
|
|
|
SURFACE_4,
|
|
|
|
SURFACE_5,
|
|
|
|
SURFACE_6,
|
|
|
|
SURFACE_7,
|
|
|
|
SURFACE_8,
|
|
|
|
SURFACE_9,
|
|
|
|
SURFACE_10,
|
|
|
|
SURFACE_11,
|
|
|
|
SURFACE_12,
|
|
|
|
SURFACE_13,
|
|
|
|
SURFACE_14,
|
|
|
|
SURFACE_15,
|
|
|
|
SURFACE_16,
|
|
|
|
SURFACE_17,
|
|
|
|
SURFACE_18,
|
|
|
|
SURFACE_19,
|
|
|
|
SURFACE_20,
|
|
|
|
SURFACE_21,
|
|
|
|
SURFACE_22,
|
|
|
|
SURFACE_23,
|
|
|
|
SURFACE_24,
|
|
|
|
SURFACE_25,
|
|
|
|
SURFACE_26,
|
|
|
|
SURFACE_27,
|
|
|
|
SURFACE_28,
|
|
|
|
SURFACE_29,
|
|
|
|
SURFACE_30,
|
|
|
|
SURFACE_31,
|
|
|
|
SURFACE_32,
|
|
|
|
|
|
|
|
NUMSURFACETYPES
|
|
|
|
};
|
|
|
|
|
|
|
|
// From nick
|
|
|
|
// TODO: check and use this
|
|
|
|
enum eSurfaceType
|
|
|
|
{
|
|
|
|
SURFACE_ROAD0,
|
|
|
|
SURFACE_ROAD1,
|
|
|
|
SURFACE_GRASS,
|
|
|
|
SURFACE_DIRT,
|
|
|
|
SURFACE_MUD,
|
|
|
|
SURFACE_PAVEMENT,
|
|
|
|
SURFACE_METAL6,
|
|
|
|
SURFACE_GLASS,
|
|
|
|
SURFACE_HARD8,
|
|
|
|
SURFACE_METAL_DOOR,
|
|
|
|
SURFACE_METAL10,
|
|
|
|
SURFACE_METAL11,
|
|
|
|
SURFACE_METAL12,
|
|
|
|
SURFACE_METAL13,
|
|
|
|
SURFACE_METAL14,
|
|
|
|
SURFACE_METAL15,
|
|
|
|
SURFACE_METAL_FENCE,
|
|
|
|
SURFACE_FLESH,
|
|
|
|
SURFACE_SAND18,
|
|
|
|
SURFACE_WATER,
|
|
|
|
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,
|
|
|
|
ADHESIVE_WET,
|
|
|
|
|
|
|
|
NUMADHESIVEGROUPS
|
|
|
|
};
|
|
|
|
|
2019-05-18 12:39:39 +02:00
|
|
|
struct CColPoint;
|
|
|
|
|
2019-05-15 16:52:37 +02:00
|
|
|
class CSurfaceTable
|
|
|
|
{
|
2019-05-18 12:39:39 +02:00
|
|
|
// static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
|
|
|
static float (*ms_aAdhesiveLimitTable)[NUMADHESIVEGROUPS];
|
2019-05-15 16:52:37 +02:00
|
|
|
public:
|
|
|
|
static int GetAdhesionGroup(uint8 surfaceType);
|
2019-05-18 12:39:39 +02:00
|
|
|
static float GetWetMultiplier(uint8 surfaceType);
|
|
|
|
static float GetAdhesiveLimit(CColPoint &colpoint);
|
2019-05-15 16:52:37 +02:00
|
|
|
};
|