Crossfire Server, Trunk  R20513
Macros | Functions
sounds.c File Reference

Sound-related functions. More...

#include "global.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "sounds.h"
#include "sproto.h"
Include dependency graph for sounds.c:

Go to the source code of this file.

Macros

#define MAX_SOUND_DISTANCE   10
 Maximum distance a player may hear a sound from. More...
 
#define POW2(x)   ((x)*(x))
 

Functions

static char const * pick_bg_music (mapstruct map[static 1])
 
void play_sound_map (int8_t sound_type, object *emitter, int dir, const char *action)
 Plays a sound on a map. More...
 
void play_sound_player_only (player *pl, int8_t sound_type, object *emitter, int dir, const char *action)
 Plays a sound for specified player only. More...
 
void player_update_bg_music (object player[static 1])
 
void send_background_music (player *pl, const char *music)
 Sends background music to client. More...
 

Detailed Description

Sound-related functions.

Date
2003-12-02

Definition in file sounds.c.

Macro Definition Documentation

#define MAX_SOUND_DISTANCE   10

Maximum distance a player may hear a sound from.

This is only used for new client/server sound. If the sound source on the map is farther away than this, we don't sent it to the client.

Definition at line 35 of file sounds.c.

Referenced by play_sound_map().

#define POW2 (   x)    ((x)*(x))

Definition at line 88 of file sounds.c.

Referenced by play_sound_map().

Function Documentation

static char const* pick_bg_music ( mapstruct  map[static 1])
static

Definition at line 145 of file sounds.c.

References mapdef::background_music, and get_name_of_region_for_map().

Referenced by player_update_bg_music().

Here is the call graph for this function:

Here is the caller graph for this function:

void play_sound_map ( int8_t  sound_type,
object emitter,
int  dir,
const char *  action 
)

Plays a sound on a map.

Parameters
sound_typesound type, see the sound types.
emitterobject emitting the sound. Must be on a map.
dirdirection the sound is moving.
actionsound name to play.

Definition at line 101 of file sounds.c.

References obj::env, first_player, isqrt(), obj::map, MAX_SOUND_DISTANCE, pl::next, pl::ob, play_sound_player_only(), POW2, RANDOM, obj::sound_chance, obj::x, and obj::y.

Referenced by apply_by_living(), attack_message(), cast_spell(), cf_handle_type_apply(), fire_bow(), hole_type_move_on(), kill_object(), move_player_attack(), player_attack_door(), polymorph_melt(), recharge(), save_life(), trapdoor_type_move_on(), and trigger_type_apply().

Here is the call graph for this function:

Here is the caller graph for this function:

void play_sound_player_only ( player pl,
int8_t  sound_type,
object emitter,
int  dir,
const char *  action 
)

Plays a sound for specified player only.

Parameters
plplayer to play sound to.
sound_typesound type, see the sound types.
emitterobject emitting a sound.
dirdirection the sound is moving into.
actionsound name to play.

Definition at line 51 of file sounds.c.

References obj::env, obj::map, MAX_SOUNDS_TICK, obj::name, pl::ob, PLAYER, obj::race, RANDOM, Send_With_Handling(), SND_EFFECTS, SND_MUTE, pl::socket, SockList_AddChar(), SockList_AddLen8Data(), SockList_AddString(), SockList_Init(), SockList_Term(), socket_struct::sound, obj::sound_chance, socket_struct::sounds_this_tick, obj::type, obj::x, and obj::y.

Referenced by apply_manual(), cast_spell(), clock_type_apply(), do_learn_spell(), fire_misc_object(), kill_player(), play_sound_map(), poison_type_apply(), and spellbook_type_apply().

Here is the call graph for this function:

Here is the caller graph for this function:

void player_update_bg_music ( object  player[static 1])

Definition at line 152 of file sounds.c.

References obj::contr, obj::map, pick_bg_music(), PLAYER, send_background_music(), and obj::type.

Referenced by cfapi_object_teleport(), dimension_door(), enter_map(), process_players1(), teleport(), and transfer_ob().

Here is the call graph for this function:

Here is the caller graph for this function:

void send_background_music ( player pl,
const char *  music 
)

Sends background music to client.

Parameters
plplayer
musicbackground music name. Can be NULL.

Definition at line 132 of file sounds.c.

References Send_With_Handling(), SND_MUSIC, SND_MUTE, pl::socket, SockList_AddString(), SockList_Init(), SockList_Term(), and socket_struct::sound.

Referenced by player_update_bg_music().

Here is the call graph for this function:

Here is the caller graph for this function: