c l e a n u p

This commit is contained in:
Anuken
2020-02-05 18:28:19 -05:00
75 changed files with 2583 additions and 2600 deletions

View File

@ -6,12 +6,10 @@ import arc.util.io.*;
import mindustry.content.*;
import mindustry.core.*;
import mindustry.ctype.*;
import mindustry.ctype.ContentType;
import mindustry.entities.*;
import mindustry.game.*;
import mindustry.game.Teams.*;
import mindustry.gen.*;
import mindustry.maps.*;
import mindustry.type.*;
import mindustry.world.*;
import java.io.*;
@ -188,10 +186,7 @@ public abstract class SaveVersion extends SaveFileReader{
if(tile.entity != null){
try{
readChunk(stream, true, in -> {
byte version = in.readByte();
tile.entity.read(in, version);
});
readChunk(stream, true, in -> tile.entity.read(in));
}catch(Exception e){
throw new IOException("Failed to read tile entity of block: " + block, e);
}
@ -227,30 +222,12 @@ public abstract class SaveVersion extends SaveFileReader{
}
}
//write entity chunk
int groups = 0;
for(EntityGroup<?> group : entities.all()){
if(!group.isEmpty() && group.all().get(0) instanceof SaveTrait){
groups++;
}
}
stream.writeByte(groups);
for(EntityGroup<?> group : entities.all()){
if(!group.isEmpty() && group.all().get(0) instanceof SaveTrait){
stream.writeInt(group.size());
for(Entity entity : group.all()){
SaveTrait save = (SaveTrait)entity;
//each entity is a separate chunk.
writeChunk(stream, true, out -> {
out.writeByte(save.getTypeID().id);
out.writeByte(save.version());
save.writeSave(out);
});
}
}
stream.writeInt(Groups.sync.size());
for(Syncc entity : Groups.sync){
writeChunk(stream, true, out -> {
out.writeByte(entity.classId());
entity.write(out);
});
}
}
@ -265,19 +242,14 @@ public abstract class SaveVersion extends SaveFileReader{
}
}
byte groups = stream.readByte();
for(int i = 0; i < groups; i++){
int amount = stream.readInt();
for(int j = 0; j < amount; j++){
//TODO throw exception on read fail
readChunk(stream, true, in -> {
byte typeid = in.readByte();
byte version = in.readByte();
SaveTrait trait = (SaveTrait)content.<TypeID>getByID(ContentType.typeid, typeid).constructor.get();
trait.readSave(in, version);
});
}
int amount = stream.readInt();
for(int j = 0; j < amount; j++){
readChunk(stream, true, in -> {
byte typeid = in.readByte();
Syncc sync = (Syncc)ClassMapping.map(typeid).get();
sync.read(in);
});
}
}