mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 11:53:28 +02:00
broadcast to VS and avatar mixer on position change
This commit is contained in:
parent
a0f3f161b1
commit
ae7f3e71d8
4 changed files with 16 additions and 24 deletions
|
@ -532,11 +532,15 @@ void simulateHead(float frametime)
|
|||
myHead.setAverageLoudness(averageLoudness);
|
||||
#endif
|
||||
|
||||
// Send my stream of head/hand data to the avatar mixer
|
||||
const int MAX_BROADCAST_STRING = 200;
|
||||
char broadcast_string[MAX_BROADCAST_STRING];
|
||||
int broadcast_bytes = myHead.getBroadcastData(broadcast_string);
|
||||
agentList.getAgentSocket().send(AVATAR_SERVER_IP, AVATAR_SERVER_PORT, broadcast_string, broadcast_bytes);
|
||||
// Send my stream of head/hand data to the avatar mixer and voxel server
|
||||
char broadcastString[200];
|
||||
int broadcastBytes = myHead.getBroadcastData(broadcast_string);
|
||||
|
||||
char broadcastReceivers[2];
|
||||
*broadcastReceivers = AGENT_TYPE_VOXEL;
|
||||
*(broadcastReceivers + 1) = AGENT_TYPE_AVATAR_MIXER;
|
||||
|
||||
agentList.broadcastToAgents(broadcast_string, broadcast_bytes, broadcastReceivers);
|
||||
|
||||
// If I'm in paint mode, send a voxel out to VOXEL server agents.
|
||||
if (::paintOn) {
|
||||
|
@ -556,7 +560,7 @@ void simulateHead(float frametime)
|
|||
::paintingVoxel.z >= 0.0 && ::paintingVoxel.z <= 1.0) {
|
||||
|
||||
if (createVoxelEditMessage(PACKET_HEADER_SET_VOXEL,0,1,&::paintingVoxel,bufferOut,sizeOut)){
|
||||
agentList.broadcastToAgents((char*)bufferOut, sizeOut,AgentList::AGENTS_OF_TYPE_VOXEL);
|
||||
agentList.broadcastToAgents((char*)bufferOut, sizeOut, AGENT_TYPE_VOXEL);
|
||||
delete bufferOut;
|
||||
}
|
||||
}
|
||||
|
@ -809,14 +813,14 @@ void sendVoxelServerEraseAll() {
|
|||
char message[100];
|
||||
sprintf(message,"%c%s",'Z',"erase all");
|
||||
int messageSize = strlen(message)+1;
|
||||
::agentList.broadcastToAgents(message, messageSize,AgentList::AGENTS_OF_TYPE_VOXEL);
|
||||
::agentList.broadcastToAgents(message, messageSize, AGENT_TYPE_VOXEL);
|
||||
}
|
||||
|
||||
void sendVoxelServerAddScene() {
|
||||
char message[100];
|
||||
sprintf(message,"%c%s",'Z',"add scene");
|
||||
int messageSize = strlen(message)+1;
|
||||
::agentList.broadcastToAgents(message, messageSize,AgentList::AGENTS_OF_TYPE_VOXEL);
|
||||
::agentList.broadcastToAgents(message, messageSize, AGENT_TYPE_VOXEL);
|
||||
}
|
||||
|
||||
void shiftPaintingColor()
|
||||
|
|
|
@ -24,9 +24,7 @@
|
|||
const char * SOLO_AGENT_TYPES_STRING = "MV";
|
||||
char DOMAIN_HOSTNAME[] = "highfidelity.below92.com";
|
||||
char DOMAIN_IP[100] = ""; // IP Address will be re-set by lookup on startup
|
||||
char AVATAR_SERVER_IP[100] = "";
|
||||
const int DOMAINSERVER_PORT = 40102;
|
||||
const int AVATAR_SERVER_PORT = 55444;
|
||||
|
||||
bool silentAgentThreadStopFlag = false;
|
||||
bool domainServerCheckinStopFlag = false;
|
||||
|
@ -232,11 +230,6 @@ bool AgentList::addOrUpdateAgent(sockaddr *publicSocket, sockaddr *localSocket,
|
|||
}
|
||||
}
|
||||
|
||||
// XXXBHG - do we want to move these?
|
||||
const char* AgentList::AGENTS_OF_TYPE_HEAD = "H";
|
||||
const char* AgentList::AGENTS_OF_TYPE_VOXEL_AND_INTERFACE = "VI";
|
||||
const char* AgentList::AGENTS_OF_TYPE_VOXEL = "V";
|
||||
|
||||
void AgentList::broadcastToAgents(char *broadcastData, size_t dataBytes,const char* agentTypes) {
|
||||
for(std::vector<Agent>::iterator agent = agents.begin(); agent != agents.end(); agent++) {
|
||||
// only send to the AgentTypes we are asked to send to.
|
||||
|
@ -348,7 +341,6 @@ void *checkInWithDomainServer(void *args) {
|
|||
sockaddr_in tempAddress;
|
||||
memcpy(&tempAddress.sin_addr, pHostInfo->h_addr_list[0], pHostInfo->h_length);
|
||||
strcpy(DOMAIN_IP, inet_ntoa(tempAddress.sin_addr));
|
||||
strcpy(AVATAR_SERVER_IP, inet_ntoa(tempAddress.sin_addr));
|
||||
printf("Domain server %s: \n", DOMAIN_HOSTNAME);
|
||||
|
||||
} else {
|
||||
|
|
|
@ -67,11 +67,7 @@ public:
|
|||
void stopSilentAgentRemovalThread();
|
||||
void startDomainServerCheckInThread();
|
||||
void stopDomainServerCheckInThread();
|
||||
|
||||
static const char* AGENTS_OF_TYPE_HEAD;
|
||||
static const char* AGENTS_OF_TYPE_VOXEL_AND_INTERFACE;
|
||||
static const char* AGENTS_OF_TYPE_VOXEL;
|
||||
|
||||
|
||||
};
|
||||
|
||||
int unpackAgentId(unsigned char *packedData, uint16_t *agentId);
|
||||
|
|
|
@ -345,7 +345,7 @@ int main(int argc, const char * argv[])
|
|||
|
||||
// Now send this to the connected agents so they know to delete
|
||||
printf("rebroadcasting delete voxel message to connected agents... agentList.broadcastToAgents()\n");
|
||||
agentList.broadcastToAgents(packetData,receivedBytes,AgentList::AGENTS_OF_TYPE_HEAD);
|
||||
agentList.broadcastToAgents(packetData,receivedBytes, AGENT_TYPE_INTERFACE);
|
||||
|
||||
}
|
||||
if (packetData[0] == PACKET_HEADER_Z_COMMAND) {
|
||||
|
@ -373,12 +373,12 @@ int main(int argc, const char * argv[])
|
|||
|
||||
// Now send this to the connected agents so they can also process these messages
|
||||
printf("rebroadcasting Z message to connected agents... agentList.broadcastToAgents()\n");
|
||||
agentList.broadcastToAgents(packetData,receivedBytes,AgentList::AGENTS_OF_TYPE_HEAD);
|
||||
agentList.broadcastToAgents(packetData,receivedBytes, AGENT_TYPE_INTERFACE);
|
||||
}
|
||||
if (packetData[0] == PACKET_HEADER_HEAD_DATA) {
|
||||
if (agentList.addOrUpdateAgent(&agentPublicAddress,
|
||||
&agentPublicAddress,
|
||||
packetData[0],
|
||||
AGENT_TYPE_INTERFACE,
|
||||
agentList.getLastAgentId())) {
|
||||
agentList.increaseAgentId();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue