diff --git a/src/main/java/ru/windcorp/progressia/server/world/io/region/Region.java b/src/main/java/ru/windcorp/progressia/server/world/io/region/Region.java index b25535c..1839034 100644 --- a/src/main/java/ru/windcorp/progressia/server/world/io/region/Region.java +++ b/src/main/java/ru/windcorp/progressia/server/world/io/region/Region.java @@ -60,6 +60,7 @@ public class Region { } catch (IOException e) { RegionWorldContainer.LOG.debug("Uh the file broke"); + RegionWorldContainer.LOG.debug(e.getLocalizedMessage()); if (RESET_CORRUPTED) { this.file.makeHeader(regionCoords); } diff --git a/src/main/java/ru/windcorp/progressia/server/world/io/region/RegionFile.java b/src/main/java/ru/windcorp/progressia/server/world/io/region/RegionFile.java index 520d24e..c68f252 100644 --- a/src/main/java/ru/windcorp/progressia/server/world/io/region/RegionFile.java +++ b/src/main/java/ru/windcorp/progressia/server/world/io/region/RegionFile.java @@ -63,9 +63,10 @@ public class RegionFile { } - char prog; + byte prog; + file.seek(0); for (int i=0;i<4;i++) { - prog = file.readChar(); + prog = file.readByte(); if (prog != HEADER_ID[i]) { throw new IOException("File is not a .progressia_chunk file"); @@ -131,14 +132,15 @@ public class RegionFile { } public void makeHeader(Vec3i regionCoords) throws IOException { + file.seek(0); + for (int i = 0; i < HEADER_SIZE; i++) { + file.write(0); + } file.seek(0); file.write(HEADER_ID); file.writeInt(regionCoords.x); file.writeInt(regionCoords.y); file.writeInt(regionCoords.z); - for (int i = 0; i < HEADER_SIZE; i++) { - file.write(0); - } } public void writeBuffer(byte[] buffer, int dataOffset, Vec3i pos) throws IOException { diff --git a/src/main/java/ru/windcorp/progressia/test/CubeComponent.java b/src/main/java/ru/windcorp/progressia/test/CubeComponent.java index cce31a2..90eaf30 100644 --- a/src/main/java/ru/windcorp/progressia/test/CubeComponent.java +++ b/src/main/java/ru/windcorp/progressia/test/CubeComponent.java @@ -20,7 +20,7 @@ public class CubeComponent extends Component { private ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); - private int size = 250; + private int size = 400; public CubeComponent(String name) { super(name); @@ -59,12 +59,12 @@ public class CubeComponent extends Component { normals[i] = transforms[i].rotate((float) (time%(6000*6.28) )/ 6000, new Vec3(0,1,0)).rotate((float) 24, new Vec3(1,.5,0)).mul_(normals[i]); } - transforms[0].translate(new Vec3(-size/2,-size/2,size/2+13)); - transforms[1].translate(new Vec3(-size/2,-size/2-13,-size/2)).rotate((float) pi2, new Vec3(1,0,0)); + transforms[0].translate(new Vec3(-size/2,-size/2,size/2+11)); + transforms[1].translate(new Vec3(-size/2,-size/2-12,-size/2)).rotate((float) pi2, new Vec3(1,0,0)); transforms[2].translate(new Vec3(-size/2+13,-size/2,size/2)).rotate((float) pi2, new Vec3(0,1,0)); - transforms[3].translate(new Vec3(-size/2,-size/2,-size/2+13)); - transforms[4].translate(new Vec3(-size/2,size/2-13,-size/2)).rotate((float) pi2, new Vec3(1,0,0)); - transforms[5].translate(new Vec3(size/2+13,-size/2,size/2)).rotate((float) pi2, new Vec3(0,1,0)); + transforms[3].translate(new Vec3(-size/2,-size/2,-size/2+14)); + transforms[4].translate(new Vec3(-size/2,size/2-15.5,-size/2)).rotate((float) pi2, new Vec3(1,0,0)); + transforms[5].translate(new Vec3(size/2+15.5,-size/2,size/2)).rotate((float) pi2, new Vec3(0,1,0)); } @Override @@ -72,7 +72,9 @@ public class CubeComponent extends Component { { computeTransforms(); - target.pushTransform(new Mat4(1).translate(new Vec3(getX()+size*r3/2,getY()+size*r3/2,0))); + setPosition(750,780); + + target.pushTransform(new Mat4(1).translate(new Vec3(getX()+size*r3/2,getY()-size*r3/2,0))); //-size*r3/2 for (int b=0; b<6;b++) { diff --git a/src/main/java/ru/windcorp/progressia/test/LayerTitle.java b/src/main/java/ru/windcorp/progressia/test/LayerTitle.java index 850fb61..baa5e06 100644 --- a/src/main/java/ru/windcorp/progressia/test/LayerTitle.java +++ b/src/main/java/ru/windcorp/progressia/test/LayerTitle.java @@ -31,30 +31,35 @@ public class LayerTitle extends Background { private final BasicButton resetButton; public LayerTitle(String name) { - super(name, new LayoutAlign(0.5f, 0.7f, 15), SimpleTextures.get("title/background")); + super(name, new LayoutAlign(0, 1f, 15), SimpleTextures.get("title/background")); Group content = new Group("Layer" + name + ".Group", new LayoutVertical(15)); + Group buttonContent = new Group("Layer" + name + ".ButtonGroup", new LayoutVertical(15)); Font titleFont = new Font().deriveBold().withColor(Colors.BLUE).withAlign(0.5f); content.addChild(new TextureComponent(name + ".Title", SimpleTextures.get("title/progressia"))); Font buttonFont = titleFont.deriveNotBold(); MutableString playText = new MutableStringLocalized("Layer" + name + ".Play"); - content.addChild(new Button(name + ".Play", new Label(name + ".Play", buttonFont, playText)).addAction(this::startGame)); + buttonContent.addChild(new Button(name + ".Play", new Label(name + ".Play", buttonFont, playText)).addAction(this::startGame)); MutableString resetText = new MutableStringLocalized("Layer" + name + ".Reset"); this.resetButton = new Button(name + ".Reset", new Label(name + ".Reset", buttonFont, resetText)).addAction(this::resetWorld); - content.addChild(resetButton); + buttonContent.addChild(resetButton); updateResetButton(); MutableString quitText = new MutableStringLocalized("Layer" + name + ".Quit"); - content.addChild(new Button(name + "Quit", new Label(name + ".Quit", buttonFont, quitText)).addAction(b -> { + buttonContent.addChild(new Button(name + "Quit", new Label(name + ".Quit", buttonFont, quitText)).addAction(b -> { System.exit(0); })); - content.addChild(new CubeComponent(name+".Cube")); - + content.addChild(buttonContent); getRoot().addChild(content); + buttonContent.setPreferredSize(500, 1000); + + CubeComponent cube = new CubeComponent(name+".Cube"); + + getRoot().addChild(cube); } private void updateResetButton() { diff --git a/src/main/resources/assets/textures/title/progressia.png b/src/main/resources/assets/textures/title/progressia.png index 7d8ff7c..1506b13 100644 Binary files a/src/main/resources/assets/textures/title/progressia.png and b/src/main/resources/assets/textures/title/progressia.png differ