From fc3276464a941d020afb495672c4ab9674fdc45a Mon Sep 17 00:00:00 2001 From: Allanis <allanis@saracraft.net> Date: Fri, 6 Sep 2013 16:37:38 +0100 Subject: [PATCH] [Add] Targetting sounds implemented. [Add] More doxygen. --- snd/sounds/target.wav | Bin 0 -> 10690 bytes src/pilot.c | 10 ++++----- src/player.c | 46 ++++++++++++++++++++++++++++++++++++++---- 3 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 snd/sounds/target.wav diff --git a/snd/sounds/target.wav b/snd/sounds/target.wav new file mode 100644 index 0000000000000000000000000000000000000000..471889032173cf20e82445dc716b76c3ac281624 GIT binary patch literal 10690 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 literal 0 HcmV?d00001 diff --git a/src/pilot.c b/src/pilot.c index 6f52454..fa36ee6 100644 --- a/src/pilot.c +++ b/src/pilot.c @@ -20,7 +20,7 @@ #include "pilot.h" #define XML_ID "Fleets" /**< XML section identifier. */ -#define XML_FLEET "fleet +#define XML_FLEET "fleet" #define FLEET_DATA "../dat/fleet.xml" /**< Where to find fleet data. */ @@ -1308,9 +1308,9 @@ static Fleet* fleet_parse(const xmlNodePtr parent) { memcpy(tmp->pilots+(tmp->npilots-1), pilot, sizeof(FleetPilot)); free(pilot); } - } while((cur = cur->next)); + } while(xml_nextNode(cur)); } - } while((node = node->next)); + } while(xml_nextNode(node)); #define MELEMENT(o,s) if(o) WARN("Fleet '%s' missing '"s"' element", tmp->name) MELEMENT(tmp->ai==NULL, "ai"); MELEMENT(tmp->faction==-1, "faction"); @@ -1348,13 +1348,13 @@ int fleet_load(void) { memcpy(fleet_stack+nfleets-1, tmp, sizeof(Fleet)); free(tmp); } - } while((node = node->next)); + } while(xml_nextNode(node)); xmlFreeDoc(doc); free(buf); xmlCleanupParser(); - DEBUG("Loaded %d fleet%c", nfleets, (nfleets==1)?' ':'s'); + DEBUG("Loaded %d fleet%s", nfleets, (nfleets==1) ? "" : "s"); return 0; } diff --git a/src/player.c b/src/player.c index cf74034..ed80e6b 100644 --- a/src/player.c +++ b/src/player.c @@ -53,6 +53,12 @@ static Ship* player_ship = NULL; /**< Temp ship to hold when naming it. * static double player_px, player_py, player_vx, player_vy, player_dir; /**< More hack. */ static int player_credits = 0; /**< Temp hack on create. */ +/* + * Player sounds. + */ +static int snd_target = -1; +static int snd_jump = -1; + /* Player pilot stack - Ships she owns. */ static Pilot** player_stack = NULL; /**< Stack of ships player has. */ static char** player_lstack = NULL; /**< Names of the planet the ships are at. */ @@ -478,10 +484,15 @@ static int player_soundReserved = 0; /**< Has the player already reserved sound? static void player_initSound(void) { if(player_soundReserved) return; + /* Allocated channels. */ sound_reserve(PLAYER_RESERVED_CHANNELS); sound_createGroup(PLAYER_ENGINE_CHANNEL, 0, 1); /* Channel for engine noises. */ sound_createGroup(PLAYER_GUI_CHANNEL, 1, PLAYER_RESERVED_CHANNELS-1); player_soundReserved = 1; + + /* Get sounds. */ + snd_target = sound_get("target"); + snd_jump = sound_get("jump"); } /** @@ -587,7 +598,7 @@ const char* player_rating(void) { * @fn int player_outfitOwned(const char* outfitname) * * @brief Get how many of the outfits the player owns. - * @param outfitname Outfit to check how many the player owns of. + * @param outfitname Outfit to check how many the player owns. * @return The number of outfits matching outfitname owned. */ int player_outfitOwned(const char* outfitname) { @@ -600,7 +611,13 @@ int player_outfitOwned(const char* outfitname) { return 0; } -/* Return how many of the commodity the player has. */ +/** + * @fn int player_cargoOwned(const char* commodityname) + * + * @brief Get how many of the commodity the player has. + * @param commodityname Commodity to check how many the player has. + * @return The number of commodities owned matching commodityname. + */ int player_cargoOwned(const char* commodityname) { int i; @@ -623,7 +640,11 @@ void player_rmMissionCargo(unsigned int cargo_id) { return; /* Success. */ } -/* Render the background player stuff, namely planet target */ +/** + * @fn void player_renderBG(void) + * + * @brief Render the background player stuff, namely planet target gfx. + */ void player_renderBG(void) { double x, y; glColour* c; @@ -689,7 +710,11 @@ void player_render(void) { } } -/* Render the player's GUI. */ +/** + * @fn void player_renderGUI(void) + * + * @brief Render the players GUI. + */ void player_renderGUI(void) { int i, j; double x, y; @@ -1668,6 +1693,10 @@ void player_targetHostile(void) { tp = pilot_stack[i]->id; } } + + if((tp != PLAYER_ID) && (tp != player_target)) + player_playSound(snd_target, 1); + player_target = tp; } @@ -1678,6 +1707,9 @@ void player_targetHostile(void) { */ void player_targetNext(void) { player_target = pilot_getNextID(player_target); + + if(player_target != PLAYER_ID) + player_playSound(snd_target, 1); } /** @@ -1686,7 +1718,13 @@ void player_targetNext(void) { * @brief Player targets nearest pilot. */ void player_targetNearest(void) { + unsigned int t; + + t = player_target; player_target = pilot_getNearestPilot(player); + + if((player_target != PLAYER_ID) && (t != player_target)) + player_playSound(snd_target, 1); } /**