mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 14:10:40 +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);
|
myHead.setAverageLoudness(averageLoudness);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Send my stream of head/hand data to the avatar mixer
|
// Send my stream of head/hand data to the avatar mixer and voxel server
|
||||||
const int MAX_BROADCAST_STRING = 200;
|
char broadcastString[200];
|
||||||
char broadcast_string[MAX_BROADCAST_STRING];
|
int broadcastBytes = myHead.getBroadcastData(broadcast_string);
|
||||||
int broadcast_bytes = myHead.getBroadcastData(broadcast_string);
|
|
||||||
agentList.getAgentSocket().send(AVATAR_SERVER_IP, AVATAR_SERVER_PORT, broadcast_string, broadcast_bytes);
|
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 I'm in paint mode, send a voxel out to VOXEL server agents.
|
||||||
if (::paintOn) {
|
if (::paintOn) {
|
||||||
|
@ -556,7 +560,7 @@ void simulateHead(float frametime)
|
||||||
::paintingVoxel.z >= 0.0 && ::paintingVoxel.z <= 1.0) {
|
::paintingVoxel.z >= 0.0 && ::paintingVoxel.z <= 1.0) {
|
||||||
|
|
||||||
if (createVoxelEditMessage(PACKET_HEADER_SET_VOXEL,0,1,&::paintingVoxel,bufferOut,sizeOut)){
|
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;
|
delete bufferOut;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -809,14 +813,14 @@ void sendVoxelServerEraseAll() {
|
||||||
char message[100];
|
char message[100];
|
||||||
sprintf(message,"%c%s",'Z',"erase all");
|
sprintf(message,"%c%s",'Z',"erase all");
|
||||||
int messageSize = strlen(message)+1;
|
int messageSize = strlen(message)+1;
|
||||||
::agentList.broadcastToAgents(message, messageSize,AgentList::AGENTS_OF_TYPE_VOXEL);
|
::agentList.broadcastToAgents(message, messageSize, AGENT_TYPE_VOXEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendVoxelServerAddScene() {
|
void sendVoxelServerAddScene() {
|
||||||
char message[100];
|
char message[100];
|
||||||
sprintf(message,"%c%s",'Z',"add scene");
|
sprintf(message,"%c%s",'Z',"add scene");
|
||||||
int messageSize = strlen(message)+1;
|
int messageSize = strlen(message)+1;
|
||||||
::agentList.broadcastToAgents(message, messageSize,AgentList::AGENTS_OF_TYPE_VOXEL);
|
::agentList.broadcastToAgents(message, messageSize, AGENT_TYPE_VOXEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void shiftPaintingColor()
|
void shiftPaintingColor()
|
||||||
|
|
|
@ -24,9 +24,7 @@
|
||||||
const char * SOLO_AGENT_TYPES_STRING = "MV";
|
const char * SOLO_AGENT_TYPES_STRING = "MV";
|
||||||
char DOMAIN_HOSTNAME[] = "highfidelity.below92.com";
|
char DOMAIN_HOSTNAME[] = "highfidelity.below92.com";
|
||||||
char DOMAIN_IP[100] = ""; // IP Address will be re-set by lookup on startup
|
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 DOMAINSERVER_PORT = 40102;
|
||||||
const int AVATAR_SERVER_PORT = 55444;
|
|
||||||
|
|
||||||
bool silentAgentThreadStopFlag = false;
|
bool silentAgentThreadStopFlag = false;
|
||||||
bool domainServerCheckinStopFlag = 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) {
|
void AgentList::broadcastToAgents(char *broadcastData, size_t dataBytes,const char* agentTypes) {
|
||||||
for(std::vector<Agent>::iterator agent = agents.begin(); agent != agents.end(); agent++) {
|
for(std::vector<Agent>::iterator agent = agents.begin(); agent != agents.end(); agent++) {
|
||||||
// only send to the AgentTypes we are asked to send to.
|
// only send to the AgentTypes we are asked to send to.
|
||||||
|
@ -348,7 +341,6 @@ void *checkInWithDomainServer(void *args) {
|
||||||
sockaddr_in tempAddress;
|
sockaddr_in tempAddress;
|
||||||
memcpy(&tempAddress.sin_addr, pHostInfo->h_addr_list[0], pHostInfo->h_length);
|
memcpy(&tempAddress.sin_addr, pHostInfo->h_addr_list[0], pHostInfo->h_length);
|
||||||
strcpy(DOMAIN_IP, inet_ntoa(tempAddress.sin_addr));
|
strcpy(DOMAIN_IP, inet_ntoa(tempAddress.sin_addr));
|
||||||
strcpy(AVATAR_SERVER_IP, inet_ntoa(tempAddress.sin_addr));
|
|
||||||
printf("Domain server %s: \n", DOMAIN_HOSTNAME);
|
printf("Domain server %s: \n", DOMAIN_HOSTNAME);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -68,10 +68,6 @@ public:
|
||||||
void startDomainServerCheckInThread();
|
void startDomainServerCheckInThread();
|
||||||
void stopDomainServerCheckInThread();
|
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);
|
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
|
// Now send this to the connected agents so they know to delete
|
||||||
printf("rebroadcasting delete voxel message to connected agents... agentList.broadcastToAgents()\n");
|
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) {
|
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
|
// Now send this to the connected agents so they can also process these messages
|
||||||
printf("rebroadcasting Z message to connected agents... agentList.broadcastToAgents()\n");
|
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 (packetData[0] == PACKET_HEADER_HEAD_DATA) {
|
||||||
if (agentList.addOrUpdateAgent(&agentPublicAddress,
|
if (agentList.addOrUpdateAgent(&agentPublicAddress,
|
||||||
&agentPublicAddress,
|
&agentPublicAddress,
|
||||||
packetData[0],
|
AGENT_TYPE_INTERFACE,
|
||||||
agentList.getLastAgentId())) {
|
agentList.getLastAgentId())) {
|
||||||
agentList.increaseAgentId();
|
agentList.increaseAgentId();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue