unsleeping fluid chunks on edit
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
This commit is contained in:
parent
391a727709
commit
ba7884363d
@ -1,3 +1,3 @@
|
||||
#maven.buildNumber.plugin properties file
|
||||
#Sun Dec 01 17:42:04 EST 2024
|
||||
buildNumber=481
|
||||
#Sun Dec 01 17:46:45 EST 2024
|
||||
buildNumber=482
|
||||
|
||||
@ -1212,6 +1212,7 @@ Fix fluid sim NP bug with skipped chunks
|
||||
Fix fluid chunk indexing from java side
|
||||
Memory pooling for chunk buffer allocations
|
||||
Server homogenous fluid chunk declarations
|
||||
Unsleeping fluid chunks on edit
|
||||
|
||||
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ typedef struct {
|
||||
jfieldID updatedId;
|
||||
jfieldID totalDensityId;
|
||||
jfieldID asleepId;
|
||||
jfieldID homogenousId;
|
||||
} ServerFluidChunkLookupTable;
|
||||
|
||||
/**
|
||||
|
||||
@ -114,6 +114,7 @@ JNIEXPORT void JNICALL Java_electrosphere_server_fluid_simulator_FluidAccelerate
|
||||
environment->lookupTable.serverFluidChunkTable.totalDensityId = (*env)->GetFieldID(env,fluidSimStorageClass,"totalDensity","F");
|
||||
environment->lookupTable.serverFluidChunkTable.updatedId = (*env)->GetFieldID(env,fluidSimStorageClass,"updated","Z");
|
||||
environment->lookupTable.serverFluidChunkTable.asleepId = (*env)->GetFieldID(env,fluidSimStorageClass,"asleep","Z");
|
||||
environment->lookupTable.serverFluidChunkTable.homogenousId = (*env)->GetFieldID(env,fluidSimStorageClass,"isHomogenous","Z");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -49,6 +49,9 @@ void updateMetadata(JNIEnv * env, int numChunks, Chunk ** passedInChunks, Enviro
|
||||
if(sum <= 0){
|
||||
//sleep the chunk if it has no density
|
||||
(*env)->SetBooleanField(env,jObj,environment->lookupTable.serverFluidChunkTable.asleepId,JNI_TRUE);
|
||||
(*env)->SetBooleanField(env,jObj,environment->lookupTable.serverFluidChunkTable.homogenousId,JNI_TRUE);
|
||||
} else {
|
||||
(*env)->SetBooleanField(env,jObj,environment->lookupTable.serverFluidChunkTable.homogenousId,JNI_FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ public class FluidCell {
|
||||
for(int x = ServerFluidChunk.TRUE_DATA_OFFSET; x < ServerFluidChunk.TRUE_DATA_GENERATOR_SIZE + ServerFluidChunk.TRUE_DATA_OFFSET; x++){
|
||||
for(int y = ServerFluidChunk.TRUE_DATA_OFFSET; y < ServerFluidChunk.TRUE_DATA_GENERATOR_SIZE + ServerFluidChunk.TRUE_DATA_OFFSET; y++){
|
||||
for(int z = ServerFluidChunk.TRUE_DATA_OFFSET; z < ServerFluidChunk.TRUE_DATA_GENERATOR_SIZE + ServerFluidChunk.TRUE_DATA_OFFSET; z++){
|
||||
weights[x][y][z] = currentChunk.getWeight(x,y,z);
|
||||
weights[x-ServerFluidChunk.TRUE_DATA_OFFSET][y-ServerFluidChunk.TRUE_DATA_OFFSET][z-ServerFluidChunk.TRUE_DATA_OFFSET] = currentChunk.getWeight(x,y,z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user