Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

nix-common/zonestrings.c

Go to the documentation of this file.
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 }

Generated on Mon Aug 30 19:44:15 2004 for pocketcity by doxygen1.2.18