summaryrefslogblamecommitdiffstats
path: root/src/SurfaceTable.h
blob: f1ef300202dd610546d76b9787489a24ccefd567 (plain) (tree)





























































































                            

                 

                   

                                                                                  

                                                       

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

struct CColPoint;

class CSurfaceTable
{
//	static float ms_aAdhesiveLimitTable[NUMADHESIVEGROUPS][NUMADHESIVEGROUPS];
	static float (*ms_aAdhesiveLimitTable)[NUMADHESIVEGROUPS];
public:
	static int GetAdhesionGroup(uint8 surfaceType);
	static float GetWetMultiplier(uint8 surfaceType);
	static float GetAdhesiveLimit(CColPoint &colpoint);
};