Update #43 - Fix invisible block entities and other issues

This commit is contained in:
lax1dude
2024-11-20 19:39:40 -08:00
parent 6cd2eed5b3
commit 1e235f93bf
31 changed files with 237 additions and 198 deletions

View File

@ -303,7 +303,7 @@
~ this.handleMouseInput();
~ }
> INSERT 11 : 95 @ 11
> INSERT 11 : 96 @ 11
+ public final Map<Integer, int[]> touchStarts = new HashMap<>();
+
@ -331,10 +331,11 @@
+ }
+ i = applyEaglerScale(scaleFac, i * this.width / this.mc.displayWidth, this.width);
+ j = applyEaglerScale(scaleFac, this.height - j * this.height / this.mc.displayHeight - 1, this.height);
+ float si = Touch.getEventTouchRadiusX(t) * this.width / this.mc.displayWidth / scaleFac;
+ float rad = Touch.getEventTouchRadiusMixed(t);
+ float si = rad * this.width / this.mc.displayWidth / scaleFac;
+ if (si < 1.0f)
+ si = 1.0f;
+ float sj = Touch.getEventTouchRadiusY(t) * this.height / this.mc.displayHeight / scaleFac;
+ float sj = rad * this.height / this.mc.displayHeight / scaleFac;
+ if (sj < 1.0f)
+ sj = 1.0f;
+ int[] ck = touchStarts.remove(u);

View File

@ -77,17 +77,16 @@
~ if (!compiledchunk.isLayerEmpty(enumworldblocklayer)) {
~ this.chunkRenderDispatcher.uploadChunk(enumworldblocklayer,
> CHANGE 1 : 4 @ 1 : 2
> CHANGE 1 : 3 @ 1 : 2
~ generator.getRenderChunk(), compiledchunk);
~ generator.getRenderChunk().setCompiledChunk(compiledchunk);
~ generator.setStatus(ChunkCompileTaskGenerator.Status.DONE);
> CHANGE 3 : 4 @ 3 : 4
~ this.chunkRenderDispatcher.uploadChunk(
> CHANGE 2 : 11 @ 2 : 3
> CHANGE 2 : 10 @ 2 : 3
~ generator.getRenderChunk(), compiledchunk);
~ if (DeferredStateManager.isRenderingRealisticWater()) {
@ -96,7 +95,6 @@
~ .getWorldRendererByLayer(EnumWorldBlockLayer.REALISTIC_WATER),
~ generator.getRenderChunk(), compiledchunk);
~ }
~ generator.getRenderChunk().setCompiledChunk(compiledchunk);
~ generator.setStatus(ChunkCompileTaskGenerator.Status.DONE);
> DELETE 2 @ 2 : 42

View File

@ -5,7 +5,9 @@
# Version: 1.0
# Author: lax1dude
> DELETE 2 @ 2 : 3
> CHANGE 2 : 3 @ 2 : 3
~ import java.util.Arrays;
> CHANGE 1 : 5 @ 1 : 3
@ -14,12 +16,17 @@
~
~ import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer;
> CHANGE 15 : 16 @ 15 : 16
> CHANGE 5 : 6 @ 5 : 6
~ public static final CompiledChunk DUMMY = new CompiledChunk(null) {
> CHANGE 9 : 10 @ 9 : 10
~ return true;
> CHANGE 2 : 4 @ 2 : 4
> CHANGE 2 : 5 @ 2 : 4
~ private final RenderChunk chunk;
~ private final boolean[] layersUsed = new boolean[EnumWorldBlockLayer._VALUES.length];
~ private final boolean[] layersStarted = new boolean[EnumWorldBlockLayer._VALUES.length];
@ -27,7 +34,30 @@
+ private WorldRenderer.State stateWater;
> INSERT 45 : 53 @ 45
> INSERT 1 : 15 @ 1
+ public CompiledChunk(RenderChunk chunk) {
+ this.chunk = chunk;
+ }
+
+ public void reset() {
+ Arrays.fill(layersUsed, false);
+ Arrays.fill(layersStarted, false);
+ empty = true;
+ tileEntities.clear();
+ setVisibility.setAllVisible(false);
+ setState(null);
+ setStateRealisticWater(null);
+ }
+
> INSERT 42 : 45 @ 42
+ if (this.state != stateIn && this.state != null) {
+ this.state.release();
+ }
> INSERT 2 : 13 @ 2
+
+ public WorldRenderer.State getStateRealisticWater() {
@ -35,6 +65,9 @@
+ }
+
+ public void setStateRealisticWater(WorldRenderer.State stateIn) {
+ if (this.stateWater != stateIn && this.stateWater != null) {
+ this.stateWater.release();
+ }
+ this.stateWater = stateIn;
+ }

View File

@ -69,7 +69,15 @@
+ .getWorldRendererByLayer(EnumWorldBlockLayer.REALISTIC_WATER), compiledchunk);
+ }
> DELETE 7 @ 7 : 8
> CHANGE 3 : 8 @ 3 : 4
~ if (compiledChunk == CompiledChunk.DUMMY) {
~ compiledChunk = new CompiledChunk(this);
~ } else {
~ compiledChunk.reset();
~ }
> DELETE 3 @ 3 : 4
> CHANGE 2 : 4 @ 2 : 11
@ -79,7 +87,7 @@
> INSERT 2 : 5 @ 2
+ regionrendercache = new RegionRenderCache(this.world, blockpos.add(-1, -1, -1), blockpos1.add(1, 1, 1), 1);
+ generator.setCompiledChunk(compiledchunk);
+ generator.setCompiledChunk(compiledChunk);
+
> CHANGE 4 : 5 @ 4 : 5
@ -95,15 +103,24 @@
~ TileEntity tileentity = regionrendercache.getTileEntity(blockpos$mutableblockpos);
> INSERT 21 : 34 @ 21
> CHANGE 3 : 4 @ 3 : 4
~ compiledChunk.addTileEntity(tileentity);
> CHANGE 10 : 12 @ 10 : 12
~ if (!compiledChunk.isLayerStarted(enumworldblocklayer1)) {
~ compiledChunk.setLayerStarted(enumworldblocklayer1);
> INSERT 5 : 18 @ 5
+
+ if (block.eaglerShadersShouldRenderGlassHighlights()) {
+ enumworldblocklayer1 = EnumWorldBlockLayer.GLASS_HIGHLIGHTS;
+ worldrenderer = generator.getRegionRenderCacheBuilder()
+ .getWorldRendererByLayerId(enumworldblocklayer1.ordinal());
+ if (!compiledchunk.isLayerStarted(enumworldblocklayer1)) {
+ compiledchunk.setLayerStarted(enumworldblocklayer1);
+ if (!compiledChunk.isLayerStarted(enumworldblocklayer1)) {
+ compiledChunk.setLayerStarted(enumworldblocklayer1);
+ this.preRenderBlocks(worldrenderer, blockpos);
+ }
+
@ -117,7 +134,21 @@
~ for (int i = 0; i < layers.length; ++i) {
~ EnumWorldBlockLayer enumworldblocklayer = layers[i];
> DELETE 13 @ 13 : 14
> CHANGE 1 : 2 @ 1 : 2
~ compiledChunk.setLayerUsed(enumworldblocklayer);
> CHANGE 2 : 3 @ 2 : 3
~ if (compiledChunk.isLayerStarted(enumworldblocklayer)) {
> CHANGE 2 : 3 @ 2 : 3
~ compiledChunk);
> CHANGE 4 : 5 @ 4 : 6
~ compiledChunk.setVisibility(visgraph.computeVisibility());
> CHANGE 1 : 8 @ 1 : 12
@ -173,10 +204,16 @@
~ compiledChunkIn.setState(worldRendererIn.func_181672_a());
~ }
> CHANGE 25 : 26 @ 25 : 33
> DELETE 24 @ 24 : 35
~ this.compiledChunk = compiledChunkIn;
> CHANGE 2 : 7 @ 2 : 3
> DELETE 10 @ 10 : 17
~ if (this.compiledChunk != CompiledChunk.DUMMY) {
~ this.compiledChunk.setState(null);
~ this.compiledChunk.setStateRealisticWater(null);
~ this.compiledChunk = CompiledChunk.DUMMY;
~ }
> DELETE 5 @ 5 : 12
> EOF

View File

@ -118,7 +118,7 @@
+ public boolean hasShownProfanityFilter = false;
+ public float touchControlOpacity = 1.0f;
+ public boolean hideDefaultUsernameWarning = false;
+ public boolean hideVideoSettingsWarning = false;
+ public boolean hideVideoSettingsWarning = EagRuntime.getPlatformType() == EnumPlatformType.DESKTOP;
> CHANGE 1 : 15 @ 1 : 2

View File

@ -41,9 +41,10 @@
~ tileentity = (TileEntity) oclass.get();
> CHANGE 2 : 3 @ 2 : 3
> CHANGE 2 : 4 @ 2 : 3
~ logger.error("Could not create TileEntity", exception);
~ logger.error("Could not create TileEntity");
~ logger.error(exception);
> CHANGE 84 : 85 @ 84 : 85

View File

@ -22,7 +22,11 @@
+ }
+
> CHANGE 22 : 23 @ 22 : 23
> CHANGE 17 : 18 @ 17 : 18
~ this(source.x, source.y, source.z);
> CHANGE 4 : 5 @ 4 : 5
~ : new BlockPos((double) this.x + x, (double) this.y + y, (double) this.z + z);

View File

@ -154,7 +154,11 @@
~ BlockPos blockpos$mutableblockpos = new BlockPos();
> CHANGE 224 : 225 @ 224 : 225
> CHANGE 122 : 123 @ 122 : 123
~ tileEntityIn.setPos(new BlockPos(pos));
> CHANGE 101 : 102 @ 101 : 102
~ if (!this.provider.getHasNoSky() && this.getGameRules().getBoolean("doWeatherCycle")) {

View File

@ -45,7 +45,11 @@
+ ++EaglerMinecraftServer.counterLightUpdate;
+ }
> DELETE 9 @ 9 : 10
> CHANGE 9 : 12 @ 9 : 10
~ if (!this.worldObj.isRemote) {
~ ++EaglerMinecraftServer.counterLightUpdate;
~ }
> CHANGE 10 : 13 @ 10 : 11
@ -158,7 +162,24 @@
+ }
+
> CHANGE 176 : 178 @ 176 : 178
> INSERT 58 : 59 @ 58
+ BlockPos pos2 = new BlockPos(blockpos);
> CHANGE 1 : 3 @ 1 : 3
~ tileentity = this.createNewTileEntity(pos2);
~ this.worldObj.setTileEntity(pos2, tileentity);
> CHANGE 1 : 2 @ 1 : 2
~ this.tileEntityPosQueue.add(pos2);
> INSERT 19 : 20 @ 19
+ blockpos = new BlockPos(blockpos);
> CHANGE 94 : 96 @ 94 : 96
~ && (predicate == null || predicate.apply((T) entity))) {
~ list.add((T) entity);