summaryrefslogtreecommitdiffstats
path: root/src/core/SurfaceTable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SurfaceTable.cpp')
-rw-r--r--src/core/SurfaceTable.cpp135
1 files changed, 71 insertions, 64 deletions
diff --git a/src/core/SurfaceTable.cpp b/src/core/SurfaceTable.cpp
index 08a84cfd..f002bf49 100644
--- a/src/core/SurfaceTable.cpp
+++ b/src/core/SurfaceTable.cpp
@@ -56,40 +56,42 @@ int
CSurfaceTable::GetAdhesionGroup(uint8 surfaceType)
{
switch(surfaceType){
- case SURFACE_0: return ADHESIVE_ROAD;
- case SURFACE_1: return ADHESIVE_ROAD;
- case SURFACE_2: return ADHESIVE_LOOSE;
- case SURFACE_3: return ADHESIVE_LOOSE;
- case SURFACE_4: return ADHESIVE_HARD;
- case SURFACE_5: return ADHESIVE_ROAD;
- case SURFACE_6: return ADHESIVE_HARD;
- case SURFACE_7: return ADHESIVE_HARD;
- case SURFACE_8: return ADHESIVE_HARD;
- case SURFACE_9: return ADHESIVE_HARD;
- case SURFACE_10: return ADHESIVE_HARD;
- case SURFACE_11: return ADHESIVE_HARD;
- case SURFACE_12: return ADHESIVE_HARD;
- case SURFACE_13: return ADHESIVE_HARD;
- case SURFACE_14: return ADHESIVE_HARD;
- case SURFACE_15: return ADHESIVE_HARD;
- case SURFACE_16: return ADHESIVE_HARD;
- case SURFACE_17: return ADHESIVE_RUBBER;
- case SURFACE_18: return ADHESIVE_LOOSE;
- case SURFACE_19: return ADHESIVE_WET;
- case SURFACE_20: return ADHESIVE_ROAD;
- case SURFACE_21: return ADHESIVE_ROAD;
- case SURFACE_22: return ADHESIVE_ROAD;
- case SURFACE_23: return ADHESIVE_RUBBER;
- case SURFACE_24: return ADHESIVE_HARD;
- case SURFACE_25: return ADHESIVE_LOOSE;
- case SURFACE_26: return ADHESIVE_LOOSE;
- case SURFACE_27: return ADHESIVE_HARD;
- case SURFACE_28: return ADHESIVE_HARD;
- case SURFACE_29: return ADHESIVE_RUBBER;
- case SURFACE_30: return ADHESIVE_LOOSE;
- case SURFACE_31: return ADHESIVE_HARD;
- case SURFACE_32: return ADHESIVE_HARD;
- default: return ADHESIVE_ROAD;
+ case SURFACE_DEFAULT: return ADHESIVE_ROAD;
+ case SURFACE_TARMAC: return ADHESIVE_ROAD;
+ case SURFACE_GRASS: return ADHESIVE_LOOSE;
+ case SURFACE_DIRT: return ADHESIVE_LOOSE;
+ case SURFACE_DIRTTRACK: return ADHESIVE_HARD;
+ case SURFACE_PAVEMENT: return ADHESIVE_ROAD;
+ case SURFACE_METAL6: return ADHESIVE_HARD;
+ case SURFACE_GLASS: return ADHESIVE_HARD;
+ case SURFACE_SCAFFOLD: return ADHESIVE_HARD;
+ case SURFACE_METAL_DOOR: return ADHESIVE_HARD;
+ case SURFACE_BILLBOARD: return ADHESIVE_HARD;
+ case SURFACE_STEEL: return ADHESIVE_HARD;
+ case SURFACE_METAL_POLE: return ADHESIVE_HARD;
+ case SURFACE_STREET_LIGHT: return ADHESIVE_HARD;
+ case SURFACE_METAL14: return ADHESIVE_HARD;
+ case SURFACE_METAL15: return ADHESIVE_HARD;
+ case SURFACE_METAL_FENCE: return ADHESIVE_HARD;
+ case SURFACE_FLESH: return ADHESIVE_RUBBER;
+ case SURFACE_SAND: return ADHESIVE_SAND;
+ case SURFACE_PUDDLE: return ADHESIVE_WET;
+ case SURFACE_WOOD: return ADHESIVE_ROAD;
+ case SURFACE_WOOD_BOX: return ADHESIVE_ROAD;
+ case SURFACE_WOOD_PLANK: return ADHESIVE_ROAD;
+ case SURFACE_TIRE: return ADHESIVE_RUBBER;
+ case SURFACE_HARD24: return ADHESIVE_HARD;
+ case SURFACE_HEDGE: return ADHESIVE_LOOSE;
+ case SURFACE_STONE: return ADHESIVE_LOOSE;
+ case SURFACE_METAL27: return ADHESIVE_HARD;
+ case SURFACE_METAL28: return ADHESIVE_HARD;
+ case SURFACE_RUBBER29: return ADHESIVE_RUBBER;
+ case SURFACE_LOOSE30: return ADHESIVE_LOOSE;
+ case SURFACE_BOLLARD: return ADHESIVE_HARD;
+ case SURFACE_GATE: return ADHESIVE_HARD;
+ case SURFACE_SAND33: return ADHESIVE_SAND;
+ case SURFACE_ROAD34: return ADHESIVE_ROAD;
+ default: return ADHESIVE_ROAD;
}
}
@@ -97,40 +99,45 @@ float
CSurfaceTable::GetWetMultiplier(uint8 surfaceType)
{
switch(surfaceType){
- case SURFACE_0:
- case SURFACE_1:
- case SURFACE_4:
- case SURFACE_5:
- case SURFACE_8:
- case SURFACE_20:
- case SURFACE_21:
- case SURFACE_22:
- case SURFACE_25:
- case SURFACE_30:
- case SURFACE_31:
+ case SURFACE_DEFAULT:
+ case SURFACE_TARMAC:
+ case SURFACE_DIRTTRACK:
+ case SURFACE_PAVEMENT:
+ case SURFACE_SCAFFOLD:
+ case SURFACE_WOOD:
+ case SURFACE_WOOD_BOX:
+ case SURFACE_WOOD_PLANK:
+ case SURFACE_HEDGE:
+ case SURFACE_LOOSE30:
+ case SURFACE_BOLLARD:
+ case SURFACE_ROAD34:
return 1.0f - CWeather::WetRoads*0.25f;
- case SURFACE_2:
- case SURFACE_6:
- case SURFACE_7:
- case SURFACE_9:
- case SURFACE_10:
- case SURFACE_11:
- case SURFACE_12:
- case SURFACE_13:
- case SURFACE_14:
- case SURFACE_15:
- case SURFACE_16:
- case SURFACE_17:
- case SURFACE_23:
- case SURFACE_24:
- case SURFACE_26:
- case SURFACE_27:
- case SURFACE_28:
- case SURFACE_29:
- case SURFACE_32:
+ case SURFACE_GRASS:
+ case SURFACE_METAL6:
+ case SURFACE_GLASS:
+ case SURFACE_METAL_DOOR:
+ case SURFACE_BILLBOARD:
+ case SURFACE_STEEL:
+ case SURFACE_METAL_POLE:
+ case SURFACE_STREET_LIGHT:
+ case SURFACE_METAL14:
+ case SURFACE_METAL15:
+ case SURFACE_METAL_FENCE:
+ case SURFACE_FLESH:
+ case SURFACE_TIRE:
+ case SURFACE_HARD24:
+ case SURFACE_STONE:
+ case SURFACE_METAL27:
+ case SURFACE_METAL28:
+ case SURFACE_RUBBER29:
+ case SURFACE_GATE:
return 1.0f - CWeather::WetRoads*0.4f;
+ case SURFACE_SAND:
+ case SURFACE_SAND33:
+ return 1.0f - CWeather::WetRoads*0.5f;
+
default:
return 1.0f;
}