From 99d932743948c8fa47c6efebdf2a2464ff45c027 Mon Sep 17 00:00:00 2001 From: Allanis <allanis@saracraft.net> Date: Sun, 9 Mar 2014 23:23:13 +0000 Subject: [PATCH] [Change] Revamped the ship classes. I've yet to change them in the data files. --- bin/Makefile | 6 +-- src/ship.c | 124 ++++++++++++++++++++++++++++++--------------------- src/ship.h | 36 +++++++++------ 3 files changed, 99 insertions(+), 67 deletions(-) diff --git a/bin/Makefile b/bin/Makefile index 5707275..b9246b2 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -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) diff --git a/src/ship.c b/src/ship.c index 11878dc..d6885d0 100644 --- a/src/ship.c +++ b/src/ship.c @@ -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; diff --git a/src/ship.h b/src/ship.h index 3f67b69..bd44fc9 100644 --- a/src/ship.h +++ b/src/ship.h @@ -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. */