Fix crash when saving due to FP imprecision

pull/33/head
tobspr 4 years ago
parent 3d2af20edd
commit 9adbbfa1c3

@ -14,7 +14,7 @@ export class BeltComponent extends Component {
static getSchema() {
return {
direction: types.string,
sortedItems: types.array(types.pair(types.ufloat, types.obj(gItemRegistry))),
sortedItems: types.array(types.pair(types.float, types.obj(gItemRegistry))),
};
}

@ -26,7 +26,7 @@ export class ItemEjectorComponent extends Component {
pos: types.vector,
direction: types.enum(enumDirection),
item: types.nullable(types.obj(gItemRegistry)),
progress: types.ufloat,
progress: types.float,
})
),
};

@ -45,12 +45,12 @@ export class ItemProcessorComponent extends Component {
preferredSlot: types.nullable(types.uint),
})
),
secondsUntilEject: types.ufloat,
secondsUntilEject: types.float,
itemConsumptionAnimations: types.array(
types.structured({
item: types.obj(gItemRegistry),
slotIndex: types.uint,
animProgress: types.ufloat,
animProgress: types.float,
direction: types.enum(enumDirection),
})
),

@ -18,7 +18,7 @@ export class UndergroundBeltComponent extends Component {
static getSchema() {
return {
mode: types.enum(enumUndergroundBeltMode),
pendingItems: types.array(types.pair(types.obj(gItemRegistry), types.ufloat)),
pendingItems: types.array(types.pair(types.obj(gItemRegistry), types.float)),
};
}

@ -140,7 +140,10 @@ export class ShapeDefinition extends BasicSerializableObject {
layers.push(quads);
}
return new ShapeDefinition({ layers });
const definition = new ShapeDefinition({ layers });
// We know the hash so save some work
definition.cachedHash = key;
return definition;
}
/**

Loading…
Cancel
Save