Fixed #10734
This commit is contained in:
@@ -186,6 +186,12 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
if(power != null) power.write(write);
|
if(power != null) power.write(write);
|
||||||
if(liquids != null) liquids.write(write);
|
if(liquids != null) liquids.write(write);
|
||||||
|
|
||||||
|
//write timescale if relevant
|
||||||
|
if(timeScale != 1f){
|
||||||
|
write.f(timeScale);
|
||||||
|
write.f(timeScaleDuration);
|
||||||
|
}
|
||||||
|
|
||||||
//efficiency is written as two bytes to save space
|
//efficiency is written as two bytes to save space
|
||||||
write.b((byte)(Mathf.clamp(efficiency) * 255f));
|
write.b((byte)(Mathf.clamp(efficiency) * 255f));
|
||||||
write.b((byte)(Mathf.clamp(optionalEfficiency) * 255f));
|
write.b((byte)(Mathf.clamp(optionalEfficiency) * 255f));
|
||||||
@@ -218,7 +224,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
|
|
||||||
//get which modules should actually be read; this was added in version 2
|
//get which modules should actually be read; this was added in version 2
|
||||||
if(version >= 2){
|
if(version >= 2){
|
||||||
moduleBits = read.b();
|
moduleBits = read.ub();
|
||||||
}
|
}
|
||||||
legacy = false;
|
legacy = false;
|
||||||
}
|
}
|
||||||
@@ -226,6 +232,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
if((moduleBits & 1) != 0) (items == null ? new ItemModule() : items).read(read, legacy);
|
if((moduleBits & 1) != 0) (items == null ? new ItemModule() : items).read(read, legacy);
|
||||||
if((moduleBits & 2) != 0) (power == null ? new PowerModule() : power).read(read, legacy);
|
if((moduleBits & 2) != 0) (power == null ? new PowerModule() : power).read(read, legacy);
|
||||||
if((moduleBits & 4) != 0) (liquids == null ? new LiquidModule() : liquids).read(read, legacy);
|
if((moduleBits & 4) != 0) (liquids == null ? new LiquidModule() : liquids).read(read, legacy);
|
||||||
|
if((moduleBits & 16) != 0){
|
||||||
|
timeScale = read.f();
|
||||||
|
timeScaleDuration = read.f();
|
||||||
|
}
|
||||||
|
|
||||||
//unnecessary consume module read in version 2 and below
|
//unnecessary consume module read in version 2 and below
|
||||||
if(version <= 2) read.bool();
|
if(version <= 2) read.bool();
|
||||||
@@ -236,14 +246,14 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
optionalEfficiency = read.ub() / 255f;
|
optionalEfficiency = read.ub() / 255f;
|
||||||
}
|
}
|
||||||
|
|
||||||
//version 4 (and only 4 at the moment) has visibility flags
|
//version 4 has visibility flags
|
||||||
if(version == 4){
|
if(version == 4){
|
||||||
visibleFlags = read.l();
|
visibleFlags = read.l();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int moduleBitmask(){
|
public int moduleBitmask(){
|
||||||
return (items != null ? 1 : 0) | (power != null ? 2 : 0) | (liquids != null ? 4 : 0) | 8;
|
return (items != null ? 1 : 0) | (power != null ? 2 : 0) | (liquids != null ? 4 : 0) | 8 | (timeScale != 1f ? 16 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeAll(Writes write){
|
public void writeAll(Writes write){
|
||||||
|
|||||||
Reference in New Issue
Block a user