MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / MultiPlay3dSound

Function MultiPlay3dSound

Descent3/multi.cpp:6981–7008  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6979}
6980
6981void MultiPlay3dSound(int16_t soundidx, uint16_t objnum, int priority) {
6982 uint8_t data[MAX_GAME_DATA_SIZE];
6983 int count = 0;
6984 int size = 0;
6985 MULTI_ASSERT_NOMESSAGE(Netgame.local_role == LR_SERVER);
6986 ASSERT(Objects[objnum].flags & OF_CLIENT_KNOWS);
6987 // mprintf(0,"^");//KBTEST
6988 size = START_DATA(MP_PLAY_3D_SOUND_FROM_OBJ, data, &count);
6989 MultiAddUshort(objnum, data, &count);
6990 MultiAddShort(soundidx, data, &count);
6991 MultiAddByte(priority, data, &count);
6992 END_DATA(count, data, size);
6993
6994 // Add it to the outgoing queue. The MultiSendRobotFireSound() function will actually send it
6995 for (int i = 0; i < MAX_NET_PLAYERS; i++) {
6996 if (i == Player_num)
6997 continue;
6998
6999 if ((NetPlayers[i].flags & NPF_CONNECTED) && (NetPlayers[i].sequence == NETSEQ_PLAYING)) {
7000 if (Multi_send_size[i] + count >= MAX_GAME_DATA_SIZE)
7001 MultiSendFullPacket(i, 0);
7002
7003 memcpy(&Multi_send_buffer[i][Multi_send_size[i]], data, count);
7004 Multi_send_size[i] += count;
7005 MultiSendFullPacket(i, 0);
7006 }
7007 }
7008}
7009
7010void MultiSendRobotFireSound(int16_t soundidx, uint16_t objnum) {
7011 int size;

Callers 8

osipf_ObjCreateFunction · 0.85
do_melee_attackFunction · 0.85
AIUpdateAnimFunction · 0.85
AISeeTargetFunction · 0.85
AINotifyFunction · 0.85
ai_moveFunction · 0.85
ai_fireFunction · 0.85
DoObjProdMethod · 0.85

Calls 6

START_DATAFunction · 0.85
MultiAddUshortFunction · 0.85
MultiAddShortFunction · 0.85
MultiAddByteFunction · 0.85
END_DATAFunction · 0.85
MultiSendFullPacketFunction · 0.85

Tested by

no test coverage detected