Crossfire Server, Trunk
R21041
|
#include "global.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "sounds.h"
#include "sproto.h"
Go to the source code of this file.
Macros | |
#define | MAX_SOUND_DISTANCE 10 |
#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) |
void | play_sound_player_only (player *pl, int8_t sound_type, object *emitter, int dir, const char *action) |
void | player_update_bg_music (object player[static 1]) |
void | send_background_music (player *pl, const char *music) |
#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().
|
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().
Plays a sound on a map.
sound_type | sound type, see the sound types. |
emitter | object emitting the sound. Must be on a map. |
dir | direction the sound is moving. |
action | sound 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().
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.
pl | player to play sound to. |
sound_type | sound type, see the sound types. |
emitter | object emitting a sound. |
dir | direction the sound is moving into. |
action | sound 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().
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.
void send_background_music | ( | player * | pl, |
const char * | music | ||
) |
Sends background music to client.
pl | player |
music | background 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().