From 2f4c20a0b6fa0397d623d883ee48ba59563f1e2f Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 18 May 2008 19:22:39 +0000 Subject: standard hail --- src/core/gameserver.cc | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'src/core/gameserver.cc') diff --git a/src/core/gameserver.cc b/src/core/gameserver.cc index 54d667b..85c00ab 100644 --- a/src/core/gameserver.cc +++ b/src/core/gameserver.cc @@ -151,7 +151,7 @@ void GameServer::say(Player *player, std::string const &message) // send to application application()->notify_message(notification); - application()->notify_sound("ui/chat.wav"); + application()->notify_sound("com/chat"); // broadcast to remote clients if (server_network) { @@ -165,7 +165,8 @@ void GameServer::say(Player *player, std::string const &message) void GameServer::broadcast(std::string const & message, Player *ignore_player) { // send to application - application()->notify_message(message); + if (ignore_player != game()->localplayer()) + application()->notify_message(message); // broadcast to remote clients if (server_network) { @@ -176,6 +177,21 @@ void GameServer::broadcast(std::string const & message, Player *ignore_player) } } +void GameServer::broadcast_sound(std::string const & sound, Player *ignore_player) +{ + // send to application + if (ignore_player != game()->localplayer()) + application()->notify_sound(sound.c_str()); + + // broadcast to remote clients + if (server_network) { + std::string netmessage("msg snd "); + netmessage.append(sound); + netmessage += '\n'; + server_network->broadcast(netmessage, ignore_player); + } +} + void GameServer::send(Player *player, std::string message) { // send to application @@ -195,6 +211,24 @@ void GameServer::send(Player *player, std::string message) } } +void GameServer::send_sound(Player *player, std::string sound) +{ + if (player->id() == localplayer()->id()) { + application()->notify_sound(sound.c_str()); + } + + // send to remote clients + if (server_network) { + NetClient *client = server_network->find_client(player); + if (client) { + std::string netmessage("msg snd "); + netmessage.append(sound); + netmessage += '\n'; + server_network->send(client, netmessage); + } + } +} + void GameServer::exec(Player *player, std::string const & cmdline) { std::string command; -- cgit v1.2.3