[Change] Revamped the ship classes. I've yet to change them in the data files.

This commit is contained in:
Allanis 2014-03-09 23:23:13 +00:00
parent dcbf81973f
commit 99d9327439
3 changed files with 99 additions and 67 deletions

View File

@ -28,7 +28,7 @@ CLUA := -I../lib/lua
CSDL := $(shell sdl-config --cflags)
CXML := $(shell xml2-config --cflags)
CTTF := $(shell freetype-config --cflags)
CPNG := $(shell libpng-config libpng --cflags)
CPNG := #$(shell libpng-config libpng --cflags)
CGL :=
CFLAGS := $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CPNG) $(CGL) $(VERSION) -D$(OS)
@ -58,10 +58,10 @@ endif
# LDFLAGS.
LDLUA := ../lib/lua/liblua.a
LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer
LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -lpng
LDXML := $(shell xml2-config --libs)
LDTTF := $(shell freetype-config --libs)
CPNG := $(shell libpng-config libpng --libs)
CPNG := #$(shell libpng-config libpng --libs)
LDGL := -lGL
LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(CPNG) $(LDGL) $(LDPNG)

View File

@ -102,34 +102,47 @@ char* ship_class(Ship* s) {
switch(s->class) {
case SHIP_CLASS_NULL:
return "NULL";
/* Civilian */
case SHIP_CLASS_CIV_LIGHT:
return "Civilian Light";
case SHIP_CLASS_CIV_MEDIUM:
return "Civilian Medium";
case SHIP_CLASS_CIV_HEAVY:
return "Civilian Heavy";
/* Civilian. */
case SHIP_CLASS_YACHT:
return "Yacht";
case SHIP_CLASS_LUXURY_YACHT:
return "Luxury Yacht";
case SHIP_CLASS_CRUISE_SHIP:
return "Cruise Ship";
/* Merchant. */
case SHIP_CLASS_COURIER:
return "Courier";
case SHIP_CLASS_FREIGHTER:
return "Freighter";
case SHIP_CLASS_BULK_CARRIER:
return "Bulk Carrier";
/* Military. */
case SHIP_CLASS_MIL_LIGHT:
return "Military Light";
case SHIP_CLASS_MIL_MEDIUM:
return "Military Medium";
case SHIP_CLASS_MIL_HEAVY:
return "Military Heavy";
case SHIP_CLASS_SCOUT:
return "Scout";
case SHIP_CLASS_FIGHTER:
return "Fighter";
case SHIP_CLASS_BOMBER:
return "Bomber";
case SHIP_CLASS_CORVETTE:
return "Corvette";
case SHIP_CLASS_DESTROYER:
return "Destroyer";
case SHIP_CLASS_CRUISER:
return "Cruiser";
case SHIP_CLASS_CARRIER:
return "Carrier";
/* Robotic. */
case SHIP_CLASS_ROB_LIGHT:
return "Robotic Light";
case SHIP_CLASS_ROB_MEDIUM:
return "Robotic Medium";
case SHIP_CLASS_ROB_HEAVY:
return "Robotic Heavy";
/* Hybrid. */
case SHIP_CLASS_HYB_LIGHT:
return "Hybrid Light";
case SHIP_CLASS_HYB_MEDIUM:
return "Hybrid Medium";
case SHIP_CLASS_HYB_HEAVY:
return "Hybrid Heavy";
case SHIP_CLASS_DRONE:
return "Drone";
case SHIP_CLASS_HEAVY_DRONE:
return "Heavy Drone";
case SHIP_CLASS_MOTHERSHIP:
return "Mothership";
/* Unknown. */
default:
return "Unknown";
}
@ -143,33 +156,42 @@ char* ship_class(Ship* s) {
*/
ShipClass ship_classFromString(char* str) {
/* Civilian. */
if(strcmp(str, "civ light")==0)
return SHIP_CLASS_CIV_LIGHT;
if(strcmp(str, "civ medium")==0)
return SHIP_CLASS_CIV_MEDIUM;
if(strcmp(str, "civ heavy")==0)
return SHIP_CLASS_CIV_HEAVY;
if(strcmp(str, "Yacht")==0)
return SHIP_CLASS_YACHT;
else if(strcmp(str, "Luxury Yacht")==0)
return SHIP_CLASS_LUXURY_YACHT;
else if(strcmp(str, "Cruise Ship")==0)
return SHIP_CLASS_CRUISE_SHIP;
/* Merchant. */
else if(strcmp(str, "Courier")==0)
return SHIP_CLASS_COURIER;
else if(strcmp(str, "Freighter")==0)
return SHIP_CLASS_FREIGHTER;
else if(strcmp(str, "Bulk Carrier")==0)
return SHIP_CLASS_BULK_CARRIER;
/* Military. */
if(strcmp(str, "mil light")==0)
return SHIP_CLASS_MIL_LIGHT;
if(strcmp(str, "mil medium")==0)
return SHIP_CLASS_MIL_MEDIUM;
if(strcmp(str, "mil heavy")==0)
return SHIP_CLASS_MIL_HEAVY;
else if(strcmp(str, "Scout")==0)
return SHIP_CLASS_SCOUT;
else if(strcmp(str, "Fighter")==0)
return SHIP_CLASS_FIGHTER;
else if(strcmp(str, "Bomber")==0)
return SHIP_CLASS_BOMBER;
else if(strcmp(str, "Corvette")==0)
return SHIP_CLASS_CORVETTE;
else if(strcmp(str, "Destroyer")==0)
return SHIP_CLASS_DESTROYER;
else if(strcmp(str, "Carrier")==0)
return SHIP_CLASS_CARRIER;
/* Robotic. */
if(strcmp(str, "rob light")==0)
return SHIP_CLASS_ROB_LIGHT;
if(strcmp(str, "rob medium")==0)
return SHIP_CLASS_ROB_MEDIUM;
if(strcmp(str, "rob heavy")==0)
return SHIP_CLASS_ROB_HEAVY;
/* Hybrid. */
if(strcmp(str, "hyb light")==0)
return SHIP_CLASS_HYB_LIGHT;
if(strcmp(str, "hyb medium")==0)
return SHIP_CLASS_HYB_MEDIUM;
if(strcmp(str, "hyb heavy")==0)
return SHIP_CLASS_HYB_HEAVY;
else if(strcmp(str, "Drone")==0)
return SHIP_CLASS_DRONE;
else if(strcmp(str, "Heavy Drone")==0)
return SHIP_CLASS_HEAVY_DRONE;
else if(strcmp(str, "Mothership")==0)
return SHIP_CLASS_MOTHERSHIP;
/* Unknown. */
return SHIP_CLASS_NULL;

View File

@ -13,19 +13,29 @@
* @breif Contains the different types of ships.
*/
typedef enum ShipClass_ {
SHIP_CLASS_NULL,
SHIP_CLASS_CIV_LIGHT,
SHIP_CLASS_CIV_MEDIUM,
SHIP_CLASS_CIV_HEAVY,
SHIP_CLASS_MIL_LIGHT,
SHIP_CLASS_MIL_MEDIUM,
SHIP_CLASS_MIL_HEAVY,
SHIP_CLASS_ROB_LIGHT,
SHIP_CLASS_ROB_MEDIUM,
SHIP_CLASS_ROB_HEAVY,
SHIP_CLASS_HYB_LIGHT,
SHIP_CLASS_HYB_MEDIUM,
SHIP_CLASS_HYB_HEAVY
SHIP_CLASS_NULL, /**< Invalid ship. */
/* Civilian. */
SHIP_CLASS_YACHT, /**< Small cheap ship. */
SHIP_CLASS_LUXURY_YACHT, /**< Small expensive ship. */
SHIP_CLASS_CRUISE_SHIP, /**< Medium Ship. */
/* Merchant. */
SHIP_CLASS_COURIER, /**< Small ship. */
SHIP_CLASS_FREIGHTER, /**< Medium ship. */
SHIP_CLASS_BULK_CARRIER, /**< Large ship. */
/* Military. */
SHIP_CLASS_SCOUT, /**< Small scouter. */
SHIP_CLASS_FIGHTER, /**< Small attack ship. */
SHIP_CLASS_BOMBER, /**< Small attack ship with many missiles. */
SHIP_CLASS_CORVETTE, /**< Very agile medium ship. */
SHIP_CLASS_DESTROYER, /**< Not so agile medium ship. */
SHIP_CLASS_CRUISER, /**< Large ship. */
SHIP_CLASS_CARRIER, /**< Large ship with fighter bays. */
/* Robotic. */
SHIP_CLASS_DRONE, /**< Unmanned small robotic ship. */
SHIP_CLASS_HEAVY_DRONE, /**< Unmannded medium robotic ship. */
SHIP_CLASS_MOTHERSHIP /**< Unmanned large robotic carrier. */
/* Hybrid. */
/** @todo hybrid ship classification. */
} ShipClass;
/* Small wrapper for the outfits. */