mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-29 14:15:42 +00:00
108 lines
1.7 KiB
C++
108 lines
1.7 KiB
C++
#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_DEFAULT,
|
|
SURFACE_TARMAC,
|
|
SURFACE_GRASS,
|
|
SURFACE_DIRT,
|
|
SURFACE_DIRTTRACK,
|
|
SURFACE_PAVEMENT,
|
|
SURFACE_METAL6,
|
|
SURFACE_GLASS,
|
|
SURFACE_SCAFFOLD,
|
|
SURFACE_METAL_DOOR, // garage door
|
|
SURFACE_BILLBOARD,
|
|
SURFACE_STEEL, //?
|
|
SURFACE_METAL_POLE, // ?
|
|
SURFACE_STREET_LIGHT,
|
|
SURFACE_METAL14,
|
|
SURFACE_METAL15,
|
|
SURFACE_METAL_FENCE,
|
|
SURFACE_FLESH,
|
|
SURFACE_SAND,
|
|
SURFACE_PUDDLE,
|
|
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,
|
|
|
|
// These are illegal
|
|
SURFACE_SAND33,
|
|
SURFACE_ROAD34,
|
|
};
|
|
|
|
enum
|
|
{
|
|
ADHESIVE_RUBBER,
|
|
ADHESIVE_HARD,
|
|
ADHESIVE_ROAD,
|
|
ADHESIVE_LOOSE,
|
|
ADHESIVE_WET,
|
|
|
|
NUMADHESIVEGROUPS
|
|
};
|
|
|
|
struct CColPoint;
|
|
|
|
class CSurfaceTable
|
|
{
|
|
// static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
|
|
static float (*ms_aAdhesiveLimitTable)[NUMADHESIVEGROUPS];
|
|
public:
|
|
static void Initialise(char *filename);
|
|
static int GetAdhesionGroup(uint8 surfaceType);
|
|
static float GetWetMultiplier(uint8 surfaceType);
|
|
static float GetAdhesiveLimit(CColPoint &colpoint);
|
|
};
|