Better deletion
-Makes new TestPlayerControls instance each time you enter a world -Some dynamic sizing of chunk data within region files.
This commit is contained in:
parent
0c66f1751e
commit
254faca0a5
@ -33,6 +33,7 @@ import ru.windcorp.progressia.common.util.crash.CrashReports;
|
|||||||
import ru.windcorp.progressia.server.ServerState;
|
import ru.windcorp.progressia.server.ServerState;
|
||||||
import ru.windcorp.progressia.test.TestContent;
|
import ru.windcorp.progressia.test.TestContent;
|
||||||
import ru.windcorp.progressia.test.TestMusicPlayer;
|
import ru.windcorp.progressia.test.TestMusicPlayer;
|
||||||
|
import ru.windcorp.progressia.test.TestPlayerControls;
|
||||||
|
|
||||||
public class ClientProxy implements Proxy {
|
public class ClientProxy implements Proxy {
|
||||||
|
|
||||||
|
@ -108,6 +108,8 @@ public class LayerButtonTest extends MenuLayer {
|
|||||||
ServerState.getInstance().shutdown("Safe Exit");
|
ServerState.getInstance().shutdown("Safe Exit");
|
||||||
|
|
||||||
ServerState.setInstance(null);
|
ServerState.setInstance(null);
|
||||||
|
|
||||||
|
TestPlayerControls.resetInstance();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ import ru.windcorp.progressia.server.ServerState;
|
|||||||
|
|
||||||
public class TestPlayerControls {
|
public class TestPlayerControls {
|
||||||
|
|
||||||
private static final TestPlayerControls INSTANCE = new TestPlayerControls();
|
private static TestPlayerControls INSTANCE = new TestPlayerControls();
|
||||||
|
|
||||||
public static TestPlayerControls getInstance() {
|
public static TestPlayerControls getInstance() {
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
@ -91,6 +91,11 @@ public class TestPlayerControls {
|
|||||||
private LayerTestGUI debugLayer = null;
|
private LayerTestGUI debugLayer = null;
|
||||||
private Runnable updateCallback = null;
|
private Runnable updateCallback = null;
|
||||||
|
|
||||||
|
public static void resetInstance()
|
||||||
|
{
|
||||||
|
INSTANCE = new TestPlayerControls();
|
||||||
|
}
|
||||||
|
|
||||||
public void applyPlayerControls() {
|
public void applyPlayerControls() {
|
||||||
if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) {
|
if (ClientState.getInstance() == null || !ClientState.getInstance().isReady()) {
|
||||||
return;
|
return;
|
||||||
|
@ -39,6 +39,8 @@ import java.util.zip.InflaterInputStream;
|
|||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
|
import com.google.common.io.CountingOutputStream;
|
||||||
|
|
||||||
import glm.vec._3.i.Vec3i;
|
import glm.vec._3.i.Vec3i;
|
||||||
import ru.windcorp.progressia.common.state.IOContext;
|
import ru.windcorp.progressia.common.state.IOContext;
|
||||||
import ru.windcorp.progressia.common.world.ChunkData;
|
import ru.windcorp.progressia.common.world.ChunkData;
|
||||||
@ -231,15 +233,28 @@ public class TestWorldDiskIO {
|
|||||||
offset = (int) (output.length()-fullOffset)/sectorSize;
|
offset = (int) (output.length()-fullOffset)/sectorSize;
|
||||||
output.seek(shortOffset);
|
output.seek(shortOffset);
|
||||||
output.writeInt(offset);
|
output.writeInt(offset);
|
||||||
output.write(200);
|
//output.write(200);
|
||||||
}
|
}
|
||||||
output.seek(fullOffset+sectorSize*offset);
|
output.seek(fullOffset+sectorSize*offset);
|
||||||
|
|
||||||
|
int bytestoWrite = output.readInt();
|
||||||
//output.mark(sectorSize*sectorLength);
|
//output.mark(sectorSize*sectorLength);
|
||||||
|
|
||||||
DataOutputStream trueOutput = new DataOutputStream(Channels.newOutputStream(output.getChannel()));
|
DataOutputStream trueOutput = new DataOutputStream(Channels.newOutputStream(output.getChannel()));
|
||||||
|
CountingOutputStream countOutput = new CountingOutputStream(trueOutput);
|
||||||
|
|
||||||
|
//trueOutput.
|
||||||
ChunkIO.save(chunk, trueOutput, IOContext.SAVE);
|
ChunkIO.save(chunk, trueOutput, IOContext.SAVE);
|
||||||
writeGenerationHint(chunk, trueOutput, server);
|
writeGenerationHint(chunk, trueOutput, server);
|
||||||
|
|
||||||
|
while (countOutput.getCount()%sectorSize != 0) {
|
||||||
|
countOutput.write(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
output.seek(shortOffset+offsetBytes);
|
||||||
|
output.write((int) countOutput.getCount()/sectorSize);
|
||||||
|
|
||||||
|
countOutput.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// else if (currentFormat)
|
// else if (currentFormat)
|
||||||
|
Reference in New Issue
Block a user