re3/src/core/SurfaceTable.h

66 lines
1.1 KiB
C
Raw Normal View History

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
};