Skip to content

Commit

Permalink
some fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
= committed Jan 14, 2025
1 parent e3fc2ba commit 5af549e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 7 deletions.
10 changes: 9 additions & 1 deletion src/omaloon/world/blocks/liquid/PressureLiquidGauge.java
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,15 @@ public void draw() {
pressure().getPressure(pressure().getMain()) > 0 ? maxColor : minColor,
Math.abs(p)
);
Draw.rect(gaugeRegion, x, y, (rotdeg() + 90) % 180 - 90 + (Math.abs(p) > 1 ? Mathf.randomSeed((long) Time.time, -360f, 360f) : p * 180f));
Draw.rect(gaugeRegion,
x,
y,
(rotdeg() + 90) % 180 - 90 + (
pressure().getPressure(pressure().getMain()) > pressureConfig.maxPressure + 1 ||
pressure().getPressure(pressure().getMain()) < pressureConfig.minPressure - 1
? Mathf.randomSeed((long) Time.time, -360f, 360f) : p * 180f
)
);
}

@Override
Expand Down
7 changes: 2 additions & 5 deletions src/omaloon/world/blocks/liquid/PressureLiquidPump.java
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,9 @@ public void draw() {
public float pumpEfficiency() {
float a = 0;
for(int i = 0; i < chainSize(); i++) {
a += pressureDifference * Mathf.pow(efficiencyScale, i);
a += pressureDifference;
}
return a * ((pressureDifference)/((getFrom() == null ? pressureDifference : Math.max(
pressureDifference,
Math.abs(getFrom().pressure().getPressure(configurable ? Vars.content.liquid(filter) : getFrom().pressure().getMain()))
))));
return a;
}

/**
Expand Down
19 changes: 18 additions & 1 deletion src/omaloon/world/blocks/sandbox/PressureLiquidSource.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ public PressureLiquidSource(String name) {
config(SourceEntry.class, (PressureLiquidSourceBuild build, SourceEntry entry) -> {
build.liquid = entry.fluid == null ? -1 : entry.fluid.id;
build.targetAmount = entry.amount;

Vars.content.liquids().each(liquid -> {
build.pressure.liquids[liquid.id] = 0;
build.pressure.pressures[liquid.id] = 0;
});

build.pressure.air = build.pressure.pressure = 0;
});
}

Expand Down Expand Up @@ -76,6 +83,11 @@ public class PressureLiquidSourceBuild extends Building implements HasPressure {
public int liquid = -1;
public float targetAmount;

@Override
public boolean acceptsPressurizedFluid(HasPressure from, Liquid liquid, float amount) {
return HasPressure.super.acceptsPressurizedFluid(from, liquid, amount) && liquid == Vars.content.liquid(this.liquid);
}

@Override
public void buildConfiguration(Table cont) {
cont.table(Styles.black6, table -> {
Expand Down Expand Up @@ -140,6 +152,11 @@ public void onProximityUpdate() {
new PressureSection().mergeFlood(this);
}

@Override
public boolean outputsPressurizedFluid(HasPressure to, Liquid liquid, float amount) {
return HasPressure.super.outputsPressurizedFluid(to, liquid, amount) && liquid == Vars.content.liquid(this.liquid);
}

@Override public PressureModule pressure() {
return pressure;
}
Expand All @@ -158,7 +175,7 @@ public void read(Reads read, byte revision) {

@Override
public void updateTile() {
super.updateTile();
pressure.section.updateTransfer();

float difference = (Vars.content.liquid(liquid) == null ? targetAmount : Mathf.maxZero(targetAmount)) - (Vars.content.liquid(liquid) == null ? pressure.air : pressure.liquids[liquid]);

Expand Down

0 comments on commit 5af549e

Please sign in to comment.