New water textures

This commit is contained in:
Anuken
2020-04-04 00:31:29 -04:00
parent 54a2bf1ba8
commit 85e4270536
15 changed files with 590 additions and 453 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

After

Width:  |  Height:  |  Size: 291 B

View File

@@ -12,7 +12,7 @@ uniform float time;
varying vec4 v_color;
varying vec2 v_texCoord;
void main() {
void main(){
vec2 c = v_texCoord.xy;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 736 B

After

Width:  |  Height:  |  Size: 736 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 867 KiB

After

Width:  |  Height:  |  Size: 864 KiB

View File

@@ -159,39 +159,6 @@ public class Blocks implements ContentList{
albedo = 0.5f;
}};
darksandTaintedWater = new Floor("darksand-tainted-water"){{
speedMultiplier = 0.75f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 60f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
albedo = 0.5f;
}};
sandWater = new Floor("sand-water"){{
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
albedo = 0.5f;
}};
darksandWater = new Floor("darksand-water"){{
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
albedo = 0.5f;
}};
tar = new Floor("tar"){{
drownTime = 150f;
status = StatusEffects.tarred;
@@ -254,6 +221,24 @@ public class Blocks implements ContentList{
playerUnmineable = true;
}};
darksandTaintedWater = new ShallowLiquid("darksand-tainted-water", Blocks.taintedWater, Blocks.darksand){{
speedMultiplier = 0.75f;
statusDuration = 60f;
albedo = 0.5f;
}};
sandWater = new ShallowLiquid("sand-water", Blocks.water, Blocks.sand){{
speedMultiplier = 0.8f;
statusDuration = 50f;
albedo = 0.5f;
}};
darksandWater = new ShallowLiquid("darksand-water", Blocks.water, Blocks.darksand){{
speedMultiplier = 0.8f;
statusDuration = 50f;
albedo = 0.5f;
}};
holostone = new Floor("holostone"){{
}};

View File

@@ -231,7 +231,9 @@ public class Floor extends Block{
}
protected boolean doEdge(Floor other, boolean sameLayer){
return (other.blendGroup.id > blendGroup.id || edges() == null) && other.edgeOnto(this) && (other.cacheLayer.ordinal() > this.cacheLayer.ordinal() || !sameLayer);
boolean dir = !((other instanceof ShallowLiquid && ((ShallowLiquid)other).floorBase == this) || (this instanceof ShallowLiquid && ((ShallowLiquid)this).floorBase == other));
return ((other.blendGroup.id > blendGroup.id == dir) || edges() == null) &&
other.edgeOnto(this) && (other.cacheLayer.ordinal() > this.cacheLayer.ordinal() || !sameLayer);
}
protected boolean edgeOnto(Floor other){

View File

@@ -0,0 +1,21 @@
package mindustry.world.blocks.environment;
import mindustry.world.*;
//do not use in mods!
public class ShallowLiquid extends Floor{
public final Floor liquidBase, floorBase;
public ShallowLiquid(String name, Block liquid, Block floor){
super(name);
this.liquidBase = liquid.asFloor();
this.floorBase = floor.asFloor();
isLiquid = true;
variants = floor.asFloor().variants;
status = liquid.asFloor().status;
liquidDrop = liquid.asFloor().liquidDrop;
cacheLayer = liquid.asFloor().cacheLayer;
}
}