From b0d4415cff7358c90b125676c540ab0e5c20f25d Mon Sep 17 00:00:00 2001 From: Allanis Date: Sun, 23 Jun 2013 16:42:16 +0100 Subject: [PATCH] [Change] No longer use int id's for outfit types. [Add] Heavy Ion Turret. --- dat/outfit.xml | 153 +++++++++++++++-------------------- gfx/outfit/store/turret2.png | Bin 0 -> 8507 bytes gfx/outfit/store/turret3.png | Bin 0 -> 6668 bytes src/land.c | 4 +- src/outfit.c | 29 ++++++- src/outfit.h | 44 +++++----- 6 files changed, 117 insertions(+), 113 deletions(-) create mode 100644 gfx/outfit/store/turret2.png create mode 100644 gfx/outfit/store/turret3.png diff --git a/dat/outfit.xml b/dat/outfit.xml index baf8370..c4d047a 100644 --- a/dat/outfit.xml +++ b/dat/outfit.xml @@ -6,12 +6,10 @@ 2 5 5000 - -Your basic laser. Fires charged energy beams that do a decent amount of damage to both shield and armour. - +Your basic laser. Fires charged energy beams that do a decent amount of damage to both shield and armour. laser - + laserred laser ExpS @@ -29,12 +27,10 @@ Your basic laser. Fires charged energy beams that do a decent amount of damage 4 20 25000 - -Two laser cannons added on a rotating turret, allowing for 360 degrees of firepower. - +Two laser cannons added on a rotating turret, allowing for 360 degrees of firepower. laser_turret - + laserred laser ExpS @@ -52,12 +48,10 @@ Two laser cannons added on a rotating turret, allowing for 360 degrees of firepo 3 5 9000 - -Plasma is very volatile, if properly controlled it can be very destructive, it does tend to dissipate quickly though. - +Plasma is very volatile, if properly controlled it can be very destructive, it does tend to dissipate quickly though. laser - + plasma laser ExpS @@ -75,12 +69,10 @@ Plasma is very volatile, if properly controlled it can be very destructive, it d 7 9 15000 - -Ion pulses were originally intended only to deactivate shields since they had completely nullified the old radiation technology weapons. It was thought that by figuring out a way to deactivate shields fast the radiation technology would still be able to destroy the armour. By combining shield destruction power and armour destruction power, the perfect weopns could be designed. The Ion pulses ended up being very effective against armour and electronics. With the invention of the latest generation shields and armour materials, Ion pulses have lost much of the terrain they had as newfound technology. - +Ion pulses were originally intended only to deactivate shields since they had completely nullified the old radiation technology weapons. It was thought that by figuring out a way to deactivate shields fast the radiation technology would still be able to destroy the armour. By combining shield destruction power and armour destruction power, the perfect weopns could be designed. The Ion pulses ended up being very effective against armour and electronics. With the invention of the latest generation shields and armour materials, Ion pulses have lost much of the terrain they had as newfound technology. ion - + ion ion ExpS @@ -92,18 +84,37 @@ Ion pulses were originally intended only to deactivate shields since they had co 15 + + +3 +11 +35 +75000 +The heavy Ion Turret uses a bigger generator for each cannon giving it more punch then the Ion cannnon. The drawback is that this augments the power usage considerably. Being designed for capital ships, this doesn't seem to worry the makers too much. +turret3 + + +ion +ion +ExpS +400 +500 +400 +7 +17 +17 + + 2 8 15 85000 - -The rail gun is a cannon that uses heavy magnetic pulses to accelerate pieces of debris to extremely high velocities. The impact caused by the pieces of debris can tear apart even the strongest ship hulls. - +The rail gun is a cannon that uses heavy magnetic pulses to accelerate pieces of debris to extremely high velocities. The impact caused by the pieces of debris can tear apart even the strongest ship hulls. heavy - + mass mass ExpS @@ -121,12 +132,10 @@ The rail gun is a cannon that uses heavy magnetic pulses to accelerate pieces of 4 10 25000 - -Base for launching dumb missiles. - +Base for launching dumb missiles. missile - + Missile 1200 @@ -137,12 +146,10 @@ Base for launching dumb missiles. 2 1 800 - -The cheapest missile on the market, what it lacks in a decent tracking system it makes up for in affordability and firepower. - +The cheapest missile on the market, what it lacks in a decent tracking system it makes up for in affordability and firepower. missile - + missile missile ExpM @@ -160,12 +167,10 @@ The cheapest missile on the market, what it lacks in a decent tracking system it 5 12 40000 - -The Headhunter Launcher is one of the most used missile launcher by the security companies. Much more reliable then the regular missiles, Headhunters feature more sensors and an advanced tracking system making them much better at hitting their targets. - +The Headhunter Launcher is one of the most used missile launcher by the security companies. Much more reliable then the regular missiles, Headhunters feature more sensors and an advanced tracking system making them much better at hitting their targets. missile - + Headhunter 1400 @@ -176,12 +181,10 @@ The Headhunter Launcher is one of the most used missile launcher by the security 5 1 2000 - -Headhunters first gained fame in the crush of the Araknoid, a fearsome battle against a pirate stronghold where the Empire crushed the pirates thanks to the advanced guidance system on the Headhunter. Now used by mercenaries and bounty hunters all over. - +Headhunters first gained fame in the crush of the Araknoid, a fearsome battle against a pirate stronghold where the Empire crushed the pirates thanks to the advanced guidance system on the Headhunter. Now used by mercenaries and bounty hunters all over. missile - + headhunter missile ExpM @@ -199,12 +202,10 @@ Headhunters first gained fame in the crush of the Araknoid, a fearsome battle ag 99 8 25000 - -Neutron Disruptor. - +Neutron Disruptor. neutron - + neutron neutron ExpS @@ -222,12 +223,10 @@ Neutron Disruptor. 3 2 22500 - -A heavy battery that will increase your ship's energy to allow you to pack more firepower. - +A heavy battery that will increase your ship's energy to allow you to pack more firepower. capacitator - + 30 @@ -237,12 +236,10 @@ A heavy battery that will increase your ship's energy to allow you to pack more 5 3 55000 - -A big panel that will generate energy based off solar energy. This will allow your ship te regenerate it's energy supplies faster. - +A big panel that will generate energy based off solar energy. This will allow your ship te regenerate it's energy supplies faster. solar - + 125 @@ -252,12 +249,10 @@ A big panel that will generate energy based off solar energy. This will allow y 9 3 75000 - -An enhancement for the shield power system, allowing it to resist much heavier fire. - +An enhancement for the shield power system, allowing it to resist much heavier fire. capacitator - + 15 @@ -267,12 +262,10 @@ An enhancement for the shield power system, allowing it to resist much heavier f 10 5 145000 - -A shield generator that feeds off the ship's main energy line. It will allow you to generate your shield faster and give you a small maximum shield boost at the expense of draining osem of the ship's energy. - +A shield generator that feeds off the ship's main energy line. It will allow you to generate your shield faster and give you a small maximum shield boost at the expense of draining osem of the ship's energy. shield - + 15 15 -50 @@ -284,12 +277,10 @@ A shield generator that feeds off the ship's main energy line. It will allow yo 13 1 125000 - -This enhancement routes energy from the ship's energy supplies to the engine, giving the ship an increased thrust. It does not increase the ship's max speed nor turn abilities. - +This enhancement routes energy from the ship's energy supplies to the engine, giving the ship an increased thrust. It does not increase the ship's max speed nor turn abilities. reroute - + 70 -50 @@ -300,12 +291,10 @@ This enhancement routes energy from the ship's energy supplies to the engine, gi 13 1 135000 - -By improving your ship's stabilization systems drastically, this modification will allow you to reach higher speeds while still keeping the ship stable. - +By improving your ship's stabilization systems drastically, this modification will allow you to reach higher speeds while still keeping the ship stable. stabilizer - + 50 5 -10 @@ -317,12 +306,10 @@ By improving your ship's stabilization systems drastically, this modification wi 13 1 130000 - -With the adding of a couple additional steering thruster you can make it so that your ship is much agile at turning. - +With the adding of a couple additional steering thruster you can make it so that your ship is much agile at turning. thruster - + 25 -10 @@ -333,12 +320,10 @@ With the adding of a couple additional steering thruster you can make it so that 3 2 20000 - -Being able to run from your enemies is a very powerful ability. A generic afterburner will allow you to do that. It may not be as powerful as some of the more high-end afterburners, but they're not nearly as affordable as a generic one. - +Being able to run from your enemies is a very powerful ability. A generic afterburner will allow you to do that. It may not be as powerful as some of the more high-end afterburners, but they're not nearly as affordable as a generic one. afterburner - + 30 afterburner 100 @@ -354,12 +339,10 @@ Being able to run from your enemies is a very powerful ability. A generic after 13 4 95000 - -The Hellburner is one of the best afterburners available in the market. They have a much better energy to speed ratio then the generics and are much stronger. A must for any spacefarer who is proud of his ship. - +The Hellburner is one of the best afterburners available in the market. They have a much better energy to speed ratio then the generics and are much stronger. A must for any spacefarer who is proud of his ship. afterburner2 - + 50 afterburner 185 @@ -375,12 +358,10 @@ The Hellburner is one of the best afterburners available in the market. They ha 3 5 15000 - -The Fuel Pod allows a ship to store more fuel for hyperspace jumps. Each pod effectively increases a ship's range by a jump. - +The Fuel Pod allows a ship to store more fuel for hyperspace jumps. Each pod effectively increases a ship's range by a jump. fuel_pod - + 100 @@ -390,12 +371,10 @@ The Fuel Pod allows a ship to store more fuel for hyperspace jumps. Each pod ef 6 15 35000 - -Cargo Pods are big containers you can attach to dedicated weapon space allowing you to transport more cargo. The drawback is that you lose alot of weapon space and won't be able to defend your cargo as well... - +Cargo Pods are big containers you can attach to dedicated weapon space allowing you to transport more cargo. The drawback is that you lose alot of weapon space and won't be able to defend your cargo as well... cargo_pod - + 15 @@ -405,12 +384,10 @@ Cargo Pods are big containers you can attach to dedicated weapon space allowing 8 -10 65000 - -Adding a Weapon Rack to your ship will allow you to enjoy the benefits of more weapon space at the cost of cargo space. It's often more wiser to have less cargo, but to guard it well. - +Adding a Weapon Rack to your ship will allow you to enjoy the benefits of more weapon space at the cost of cargo space. It's often more wiser to have less cargo, but to guard it well. weapon_rack - + -15 diff --git a/gfx/outfit/store/turret2.png b/gfx/outfit/store/turret2.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c91fc15ee50295d43f42e5b150b2068bab96cb GIT binary patch literal 8507 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 literal 0 HcmV?d00001 diff --git a/gfx/outfit/store/turret3.png b/gfx/outfit/store/turret3.png new file mode 100644 index 0000000000000000000000000000000000000000..0780426e677bac554b02391c10ad0fa5ef5cb15d GIT binary patch literal 6668 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 literal 0 HcmV?d00001 diff --git a/src/land.c b/src/land.c index 7b806fb..dc5854f 100644 --- a/src/land.c +++ b/src/land.c @@ -284,8 +284,8 @@ static void outfits(void) { window_addText(secondary_wid, 40+200+40+60, -60, 250, 96, 0, "txtDDesc", &gl_smallFont, &cBlack, NULL); - window_addText(secondary_wid, 20+200+40, -200, - OUTFITS_WIDTH-300, 200, 0, "txtDescription", + window_addText(secondary_wid, 20+200+40, -220, + OUTFITS_WIDTH-300, 180, 0, "txtDescription", &gl_smallFont, NULL, NULL); /* Set up the outfits to buy/sell. */ diff --git a/src/outfit.c b/src/outfit.c index 2e316c9..8b294a3 100644 --- a/src/outfit.c +++ b/src/outfit.c @@ -26,6 +26,7 @@ static int outfits = 0; /* Misc. */ static DamageType outfit_strToDamageType(char* buf); +static OutfitType outfit_strToOutfitType(char* buf); /* Parsing. */ static int outfit_parseDamage(DamageType* dtype, double* dmg, xmlNodePtr node); static Outfit* outfit_parse(const xmlNodePtr parent); @@ -229,6 +230,32 @@ static DamageType outfit_strToDamageType(char* buf) { return DAMAGE_TYPE_NULL; } +/* Return the outfit type from string. */ +#define O_CMP(s, t) \ + if(strcmp(buf, (s))==0) return t; +static OutfitType outfit_strToOutfitType(char* buf) { + O_CMP("bolt", OUTFIT_TYPE_BOLT); + O_CMP("beam", OUTFIT_TYPE_BEAM); + O_CMP("missile dumb", OUTFIT_TYPE_MISSILE_DUMB); + O_CMP("missile dumb ammo", OUTFIT_TYPE_MISSILE_DUMB_AMMO); + O_CMP("missile seek", OUTFIT_TYPE_MISSILE_SEEK); + O_CMP("missile seek ammo", OUTFIT_TYPE_MISSILE_SEEK_AMMO); + O_CMP("missile smart", OUTFIT_TYPE_MISSILE_SEEK_SMART); + O_CMP("missile smart ammo", OUTFIT_TYPE_MISSILE_SEEK_SMART_AMMO); + O_CMP("missile swarm", OUTFIT_TYPE_MISSILE_SWARM); + O_CMP("missile swarm ammo", OUTFIT_TYPE_MISSILE_SWARM_AMMO); + O_CMP("missile swarm smart", OUTFIT_TYPE_MISSILE_SWARM_SMART); + O_CMP("missile swarm smart ammo", OUTFIT_TYPE_MISSILE_SWARM_SMART_AMMO); + O_CMP("turret bolt", OUTFIT_TYPE_TURRET_BOLT); + O_CMP("turret beam", OUTFIT_TYPE_TURRET_BEAM); + O_CMP("modification", OUTFIT_TYPE_MODIFICATION); + O_CMP("afterburner", OUTFIT_TYPE_AFTERBURNER); + + WARN("Invalid outfit type '%s'", buf); + return OUTFIT_TYPE_NULL; +} +#undef O_CMP + static int outfit_parseDamage(DamageType* dtype, double* dmg, xmlNodePtr node) { char* buf; @@ -429,7 +456,7 @@ static Outfit* outfit_parse(const xmlNodePtr parent) { prop = xml_nodeProp(node, "type"); if(prop == NULL) ERR("Outfit '%s' element 'specific' missing property 'type'", tmp->name); - tmp->type = atoi(prop); + tmp->type = outfit_strToOutfitType(prop); free(prop); /* Is this the secondary weapon? */ diff --git a/src/outfit.h b/src/outfit.h index fdb564e..1c20f70 100644 --- a/src/outfit.h +++ b/src/outfit.h @@ -8,31 +8,31 @@ /* Outfit types. */ typedef enum OutfitType_ { - OUTFIT_TYPE_NULL = 0, - OUTFIT_TYPE_BOLT = 1, - OUTFIT_TYPE_BEAM = 2, - OUTFIT_TYPE_MISSILE_DUMB = 3, - OUTFIT_TYPE_MISSILE_DUMB_AMMO = 4, - OUTFIT_TYPE_MISSILE_SEEK = 5, - OUTFIT_TYPE_MISSILE_SEEK_AMMO = 6, - OUTFIT_TYPE_MISSILE_SEEK_SMART = 7, - OUTFIT_TYPE_MISSILE_SEEK_SMART_AMMO = 8, - OUTFIT_TYPE_MISSILE_SWARM = 9, - OUTFIT_TYPE_MISSILE_SWARM_AMMO = 10, - OUTFIT_TYPE_MISSILE_SWARM_SMART = 11, - OUTFIT_TYPE_MISSILE_SWARM_SMART_AMMO = 12, - OUTFIT_TYPE_TURRET_BOLT = 13, - OUTFIT_TYPE_TURRET_BEAM = 14, - OUTFIT_TYPE_MODIFICATION = 15, - OUTFIT_TYPE_AFTERBURNER = 16 + OUTFIT_TYPE_NULL, + OUTFIT_TYPE_BOLT, + OUTFIT_TYPE_BEAM, + OUTFIT_TYPE_MISSILE_DUMB, + OUTFIT_TYPE_MISSILE_DUMB_AMMO, + OUTFIT_TYPE_MISSILE_SEEK, + OUTFIT_TYPE_MISSILE_SEEK_AMMO, + OUTFIT_TYPE_MISSILE_SEEK_SMART, + OUTFIT_TYPE_MISSILE_SEEK_SMART_AMMO, + OUTFIT_TYPE_MISSILE_SWARM, + OUTFIT_TYPE_MISSILE_SWARM_AMMO, + OUTFIT_TYPE_MISSILE_SWARM_SMART, + OUTFIT_TYPE_MISSILE_SWARM_SMART_AMMO, + OUTFIT_TYPE_TURRET_BOLT, + OUTFIT_TYPE_TURRET_BEAM, + OUTFIT_TYPE_MODIFICATION, + OUTFIT_TYPE_AFTERBURNER } OutfitType; typedef enum DamageType_ { - DAMAGE_TYPE_NULL = 0, - DAMAGE_TYPE_ENERGY = 1, - DAMAGE_TYPE_KINETIC = 2, - DAMAGE_TYPE_ION = 3, - DAMAGE_TYPE_RADIATION = 4 + DAMAGE_TYPE_NULL, + DAMAGE_TYPE_ENERGY, + DAMAGE_TYPE_KINETIC, + DAMAGE_TYPE_ION, + DAMAGE_TYPE_RADIATION } DamageType; /* An outfit depends a lot on the type. */