00001
00009 #include <zonestrings.h>
00010 #include <simulation.h>
00011 #include <string.h>
00012
00013 static const struct type_zone {
00014 welem_t tile_start;
00015 welem_t tile_end;
00016 char *zonestring;
00017 } type_zones[] = {
00018 { Z_DIRT, Z_DIRT, "Empty Land" },
00019 { Z_REALTREE, Z_REALTREE, "Forest" },
00020 { Z_REALWATER, Z_REALWATER, "Real Water" },
00021 { Z_FAKETREE, Z_FAKETREE, "Development Tree" },
00022 { Z_FAKEWATER, Z_FAKEWATER, "Lake" },
00023 { Z_PUMP, Z_PUMP, "Water Pump" },
00024 { Z_WASTE, Z_WASTE, "Wasteland" },
00025 { Z_FIRE1, Z_FIRE3, "Fire" },
00026 { Z_CRATER, Z_CRATER, "Crater" },
00027 { Z_PIPE_START, Z_PIPE_END, "Pipe" },
00028 { Z_POWERLINE_START, Z_POWERLINE_END, "Power Line" },
00029 { Z_POWERWATER_START, Z_POWERWATER_END, "Powerline and Water Pipe" },
00030 { Z_COMMERCIAL_SLUM, Z_COMMERCIAL_SLUM, "Commercial Zone (new)" },
00031 { Z_RESIDENTIAL_SLUM, Z_RESIDENTIAL_SLUM, "Residential Zone (new)" },
00032 { Z_INDUSTRIAL_SLUM, Z_INDUSTRIAL_SLUM, "Industrial Zone (new)" },
00033 { Z_COALPLANT_START, Z_COALPLANT_END, "Coal Plant" },
00034 { Z_NUCLEARPLANT_START, Z_NUCLEARPLANT_END, "Nuclear Plant" },
00035 { Z_FIRESTATION_START, Z_FIRESTATION_END, "Fire Station" },
00036 { Z_POLICEDEPT_START, Z_POLICEDEPT_END, "Police Department" },
00037 { Z_ARMYBASE_START, Z_ARMYBASE_END, "Army Base" },
00038 { Z_COMMERCIAL_MIN, Z_COMMERCIAL_MAX, "Commercial Zone" },
00039 { Z_RESIDENTIAL_MIN, Z_RESIDENTIAL_MAX, "Residential Zone" },
00040 { Z_INDUSTRIAL_MIN, Z_INDUSTRIAL_MAX, "Industrial Zone" },
00041 { Z_POWERROAD_START, Z_POWERROAD_END, "Powerline over Road" },
00042 { Z_PIPEROAD_START, Z_PIPEROAD_END, "Pipe over Road" },
00043 { Z_ROAD_START, Z_ROAD_END, "Road" },
00044 { Z_BRIDGE_START, Z_BRIDGE_END, "Bridge" },
00045 { Z_RAIL_START, Z_RAIL_END, "Rail" },
00046 { Z_RAILPIPE_START, Z_RAILPIPE_END, "Rail under Water Pipe" },
00047 { Z_RAILPOWER_START, Z_RAILPOWER_END, "Rail under Powerline" },
00048 { Z_RAILOVROAD_START, Z_RAILOVROAD_END, "Rail over Road" },
00049 { Z_RAILTUNNEL_START, Z_RAILTUNNEL_END, "Rail Tunnel" },
00050 { 0, 0, 0 }
00051 };
00052
00053 int
00054 getFieldString(welem_t world, char *dest, int destlen)
00055 {
00056 int i = 0;
00057
00058 while (type_zones[i].zonestring != NULL) {
00059 if ((world >= type_zones[i].tile_start) &&
00060 (world <= type_zones[i].tile_end)) {
00061 break;
00062 }
00063 i++;
00064 }
00065 if (type_zones[i].zonestring == NULL) return (-1);
00066 strncpy(dest, type_zones[i].zonestring, destlen - 1);
00067 dest[destlen - 1] = '\0';
00068 return (0);
00069 }
00070
00071 char *densities[] = {
00072 "Low",
00073 "Medium",
00074 "High",
00075 "Very High"
00076 };
00077
00078 char *values[] = {
00079 "Slum",
00080 "Lower Class",
00081 "Middle Class",
00082 "Upper Class"
00083 };
00084
00085 int
00086 getFieldValue(welem_t world, char *dest, int destlen)
00087 {
00088 strncpy(dest, values[ZoneValue(world) % 4], destlen - 1);
00089 values[destlen - 1] = '\0';
00090
00091 return (0);
00092 }
00093
00094 int
00095 getFieldDensity(welem_t world, char *dest, int destlen)
00096 {
00097 strncpy(dest, values[(ZoneValue(world) / 4) % 4], destlen - 1);
00098 values[destlen - 1] = '\0';
00099
00100 return (0);
00101 }