[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) CSDL := $(shell sdl-config --cflags)
CXML := $(shell xml2-config --cflags) CXML := $(shell xml2-config --cflags)
CTTF := $(shell freetype-config --cflags) CTTF := $(shell freetype-config --cflags)
CPNG := $(shell libpng-config libpng --cflags) CPNG := #$(shell libpng-config libpng --cflags)
CGL := CGL :=
CFLAGS := $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CPNG) $(CGL) $(VERSION) -D$(OS) CFLAGS := $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CPNG) $(CGL) $(VERSION) -D$(OS)
@ -58,10 +58,10 @@ endif
# LDFLAGS. # LDFLAGS.
LDLUA := ../lib/lua/liblua.a 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) LDXML := $(shell xml2-config --libs)
LDTTF := $(shell freetype-config --libs) LDTTF := $(shell freetype-config --libs)
CPNG := $(shell libpng-config libpng --libs) CPNG := #$(shell libpng-config libpng --libs)
LDGL := -lGL LDGL := -lGL
LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(CPNG) $(LDGL) $(LDPNG) LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(CPNG) $(LDGL) $(LDPNG)

View File

@ -102,34 +102,47 @@ char* ship_class(Ship* s) {
switch(s->class) { switch(s->class) {
case SHIP_CLASS_NULL: case SHIP_CLASS_NULL:
return "NULL"; return "NULL";
/* Civilian */ /* Civilian. */
case SHIP_CLASS_CIV_LIGHT: case SHIP_CLASS_YACHT:
return "Civilian Light"; return "Yacht";
case SHIP_CLASS_CIV_MEDIUM: case SHIP_CLASS_LUXURY_YACHT:
return "Civilian Medium"; return "Luxury Yacht";
case SHIP_CLASS_CIV_HEAVY: case SHIP_CLASS_CRUISE_SHIP:
return "Civilian Heavy"; 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. */ /* Military. */
case SHIP_CLASS_MIL_LIGHT: case SHIP_CLASS_SCOUT:
return "Military Light"; return "Scout";
case SHIP_CLASS_MIL_MEDIUM: case SHIP_CLASS_FIGHTER:
return "Military Medium"; return "Fighter";
case SHIP_CLASS_MIL_HEAVY: case SHIP_CLASS_BOMBER:
return "Military Heavy"; 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. */ /* Robotic. */
case SHIP_CLASS_ROB_LIGHT: case SHIP_CLASS_DRONE:
return "Robotic Light"; return "Drone";
case SHIP_CLASS_ROB_MEDIUM: case SHIP_CLASS_HEAVY_DRONE:
return "Robotic Medium"; return "Heavy Drone";
case SHIP_CLASS_ROB_HEAVY: case SHIP_CLASS_MOTHERSHIP:
return "Robotic Heavy"; return "Mothership";
/* Hybrid. */
case SHIP_CLASS_HYB_LIGHT: /* Unknown. */
return "Hybrid Light";
case SHIP_CLASS_HYB_MEDIUM:
return "Hybrid Medium";
case SHIP_CLASS_HYB_HEAVY:
return "Hybrid Heavy";
default: default:
return "Unknown"; return "Unknown";
} }
@ -143,33 +156,42 @@ char* ship_class(Ship* s) {
*/ */
ShipClass ship_classFromString(char* str) { ShipClass ship_classFromString(char* str) {
/* Civilian. */ /* Civilian. */
if(strcmp(str, "civ light")==0) if(strcmp(str, "Yacht")==0)
return SHIP_CLASS_CIV_LIGHT; return SHIP_CLASS_YACHT;
if(strcmp(str, "civ medium")==0) else if(strcmp(str, "Luxury Yacht")==0)
return SHIP_CLASS_CIV_MEDIUM; return SHIP_CLASS_LUXURY_YACHT;
if(strcmp(str, "civ heavy")==0) else if(strcmp(str, "Cruise Ship")==0)
return SHIP_CLASS_CIV_HEAVY; 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. */ /* Military. */
if(strcmp(str, "mil light")==0) else if(strcmp(str, "Scout")==0)
return SHIP_CLASS_MIL_LIGHT; return SHIP_CLASS_SCOUT;
if(strcmp(str, "mil medium")==0) else if(strcmp(str, "Fighter")==0)
return SHIP_CLASS_MIL_MEDIUM; return SHIP_CLASS_FIGHTER;
if(strcmp(str, "mil heavy")==0) else if(strcmp(str, "Bomber")==0)
return SHIP_CLASS_MIL_HEAVY; 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. */ /* Robotic. */
if(strcmp(str, "rob light")==0) else if(strcmp(str, "Drone")==0)
return SHIP_CLASS_ROB_LIGHT; return SHIP_CLASS_DRONE;
if(strcmp(str, "rob medium")==0) else if(strcmp(str, "Heavy Drone")==0)
return SHIP_CLASS_ROB_MEDIUM; return SHIP_CLASS_HEAVY_DRONE;
if(strcmp(str, "rob heavy")==0) else if(strcmp(str, "Mothership")==0)
return SHIP_CLASS_ROB_HEAVY; return SHIP_CLASS_MOTHERSHIP;
/* 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;
/* Unknown. */ /* Unknown. */
return SHIP_CLASS_NULL; return SHIP_CLASS_NULL;

View File

@ -13,19 +13,29 @@
* @breif Contains the different types of ships. * @breif Contains the different types of ships.
*/ */
typedef enum ShipClass_ { typedef enum ShipClass_ {
SHIP_CLASS_NULL, SHIP_CLASS_NULL, /**< Invalid ship. */
SHIP_CLASS_CIV_LIGHT, /* Civilian. */
SHIP_CLASS_CIV_MEDIUM, SHIP_CLASS_YACHT, /**< Small cheap ship. */
SHIP_CLASS_CIV_HEAVY, SHIP_CLASS_LUXURY_YACHT, /**< Small expensive ship. */
SHIP_CLASS_MIL_LIGHT, SHIP_CLASS_CRUISE_SHIP, /**< Medium Ship. */
SHIP_CLASS_MIL_MEDIUM, /* Merchant. */
SHIP_CLASS_MIL_HEAVY, SHIP_CLASS_COURIER, /**< Small ship. */
SHIP_CLASS_ROB_LIGHT, SHIP_CLASS_FREIGHTER, /**< Medium ship. */
SHIP_CLASS_ROB_MEDIUM, SHIP_CLASS_BULK_CARRIER, /**< Large ship. */
SHIP_CLASS_ROB_HEAVY, /* Military. */
SHIP_CLASS_HYB_LIGHT, SHIP_CLASS_SCOUT, /**< Small scouter. */
SHIP_CLASS_HYB_MEDIUM, SHIP_CLASS_FIGHTER, /**< Small attack ship. */
SHIP_CLASS_HYB_HEAVY 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; } ShipClass;
/* Small wrapper for the outfits. */ /* Small wrapper for the outfits. */