mirror of
https://github.com/overte-org/overte.git
synced 2025-08-04 01:43:27 +02:00
Merge branch 'master' of https://github.com/worklist/hifi into pointy
This commit is contained in:
commit
d8d9f5e315
4 changed files with 11 additions and 44 deletions
|
@ -434,7 +434,7 @@ void sendDanceFloor() {
|
||||||
for (int i = 0; i < DANCE_FLOOR_WIDTH; i++) {
|
for (int i = 0; i < DANCE_FLOOR_WIDTH; i++) {
|
||||||
for (int j = 0; j < DANCE_FLOOR_LENGTH; j++) {
|
for (int j = 0; j < DANCE_FLOOR_LENGTH; j++) {
|
||||||
|
|
||||||
int randomColorIndex = randIntInRange( -(DANCE_FLOOR_COLORS), (DANCE_FLOOR_COLORS + 1));
|
int randomColorIndex = randIntInRange(-DANCE_FLOOR_COLORS, DANCE_FLOOR_COLORS);
|
||||||
::danceFloorColors[i][j] = randomColorIndex;
|
::danceFloorColors[i][j] = randomColorIndex;
|
||||||
::danceFloorLights[i][j] = ::danceFloorPosition +
|
::danceFloorLights[i][j] = ::danceFloorPosition +
|
||||||
glm::vec3(i * DANCE_FLOOR_LIGHT_SIZE, 0, j * DANCE_FLOOR_LIGHT_SIZE);
|
glm::vec3(i * DANCE_FLOOR_LIGHT_SIZE, 0, j * DANCE_FLOOR_LIGHT_SIZE);
|
||||||
|
|
|
@ -97,7 +97,7 @@ int main(int argc, const char* argv[]) {
|
||||||
switch (packetData[0]) {
|
switch (packetData[0]) {
|
||||||
case PACKET_TYPE_HEAD_DATA:
|
case PACKET_TYPE_HEAD_DATA:
|
||||||
// grab the node ID from the packet
|
// grab the node ID from the packet
|
||||||
unpackNodeId(packetData + 1, &nodeID);
|
unpackNodeId(packetData + numBytesForPacketHeader(packetData), &nodeID);
|
||||||
|
|
||||||
// add or update the node in our list
|
// add or update the node in our list
|
||||||
avatarNode = nodeList->addOrUpdateNode(nodeAddress, nodeAddress, NODE_TYPE_AGENT, nodeID);
|
avatarNode = nodeList->addOrUpdateNode(nodeAddress, nodeAddress, NODE_TYPE_AGENT, nodeID);
|
||||||
|
|
|
@ -1410,10 +1410,9 @@ void Application::importVoxels() {
|
||||||
_glWidget, tr("Import Voxels"), desktopLocation,
|
_glWidget, tr("Import Voxels"), desktopLocation,
|
||||||
tr("Sparse Voxel Octree Files, Square PNG, Schematic Files (*.svo *.png *.schematic)"));
|
tr("Sparse Voxel Octree Files, Square PNG, Schematic Files (*.svo *.png *.schematic)"));
|
||||||
|
|
||||||
QByteArray fileNameAscii = fileNameString.toAscii();
|
const char* fileName = fileNameString.toAscii().data();
|
||||||
const char* fileName = fileNameAscii.data();
|
|
||||||
|
_clipboardTree.eraseAllVoxels();
|
||||||
VoxelTree importVoxels;
|
|
||||||
if (fileNameString.endsWith(".png", Qt::CaseInsensitive)) {
|
if (fileNameString.endsWith(".png", Qt::CaseInsensitive)) {
|
||||||
QImage pngImage = QImage(fileName);
|
QImage pngImage = QImage(fileName);
|
||||||
if (pngImage.height() != pngImage.width()) {
|
if (pngImage.height() != pngImage.width()) {
|
||||||
|
@ -1429,43 +1428,11 @@ void Application::importVoxels() {
|
||||||
pixels = reinterpret_cast<const uint32_t*>(tmp.constBits());
|
pixels = reinterpret_cast<const uint32_t*>(tmp.constBits());
|
||||||
}
|
}
|
||||||
|
|
||||||
importVoxels.readFromSquareARGB32Pixels(pixels, pngImage.height());
|
_clipboardTree.readFromSquareARGB32Pixels(pixels, pngImage.height());
|
||||||
} else if (fileNameString.endsWith(".svo", Qt::CaseInsensitive)) {
|
} else if (fileNameString.endsWith(".svo", Qt::CaseInsensitive)) {
|
||||||
importVoxels.readFromSVOFile(fileName);
|
_clipboardTree.readFromSVOFile(fileName);
|
||||||
} else {
|
} else if (fileNameString.endsWith(".schematic", Qt::CaseInsensitive)) {
|
||||||
importVoxels.readFromSchematicFile(fileName);
|
_clipboardTree.readFromSchematicFile(fileName);
|
||||||
}
|
|
||||||
|
|
||||||
VoxelNode* selectedNode = _voxels.getVoxelAt(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s);
|
|
||||||
|
|
||||||
// Recurse the Import Voxels tree, where everything is root relative, and send all the colored voxels to
|
|
||||||
// the server as an set voxel message, this will also rebase the voxels to the new location
|
|
||||||
unsigned char* calculatedOctCode = NULL;
|
|
||||||
SendVoxelsOperationArgs args;
|
|
||||||
|
|
||||||
int numBytesPacketHeader = populateTypeAndVersion(args.messageBuffer, PACKET_TYPE_SET_VOXEL_DESTRUCTIVE);
|
|
||||||
|
|
||||||
unsigned short int* sequenceAt = (unsigned short int*)&args.messageBuffer[numBytesPacketHeader];
|
|
||||||
*sequenceAt = 0;
|
|
||||||
args.bufferInUse = numBytesPacketHeader + sizeof(unsigned short int); // set to command + sequence
|
|
||||||
|
|
||||||
// we only need the selected voxel to get the newBaseOctCode, which we can actually calculate from the
|
|
||||||
// voxel size/position details.
|
|
||||||
if (selectedNode) {
|
|
||||||
args.newBaseOctCode = selectedNode->getOctalCode();
|
|
||||||
} else {
|
|
||||||
args.newBaseOctCode = calculatedOctCode = pointToVoxel(_mouseVoxel.x, _mouseVoxel.y, _mouseVoxel.z, _mouseVoxel.s);
|
|
||||||
}
|
|
||||||
|
|
||||||
importVoxels.recurseTreeWithOperation(sendVoxelsOperation, &args);
|
|
||||||
|
|
||||||
// If we have voxels left in the packet, then send the packet
|
|
||||||
if (args.bufferInUse > (numBytesPacketHeader + sizeof(unsigned short int))) {
|
|
||||||
controlledBroadcastToNodes(args.messageBuffer, args.bufferInUse, & NODE_TYPE_VOXEL_SERVER, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (calculatedOctCode) {
|
|
||||||
delete[] calculatedOctCode;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// restore the main window's active state
|
// restore the main window's active state
|
||||||
|
|
|
@ -40,7 +40,7 @@ float randFloat () {
|
||||||
}
|
}
|
||||||
|
|
||||||
int randIntInRange (int min, int max) {
|
int randIntInRange (int min, int max) {
|
||||||
return min + (rand() % (max - min));
|
return min + (rand() % ((max + 1) - min));
|
||||||
}
|
}
|
||||||
|
|
||||||
float randFloatInRange (float min,float max) {
|
float randFloatInRange (float min,float max) {
|
||||||
|
@ -48,7 +48,7 @@ float randFloatInRange (float min,float max) {
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char randomColorValue(int miniumum) {
|
unsigned char randomColorValue(int miniumum) {
|
||||||
return miniumum + (rand() % (255 - miniumum));
|
return miniumum + (rand() % (256 - miniumum));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool randomBoolean() {
|
bool randomBoolean() {
|
||||||
|
|
Loading…
Reference in a new issue