mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-13 15:14:52 +09:00
remoteMap fixed animated belt alignements (not yellow)
This commit is contained in:
1 parent
8a1f440485
commit
d0444ae00d
2 files changed
+67
-18
No files matched your search
@@ -23,17 +23,6 @@ export var entityDrawRules = {
|
||||
y:-2,
|
||||
}
|
||||
},
|
||||
"radar": {
|
||||
spritesheet: spritesheetJson.frames["images/factorio/entity/radar/radar.png.22"],
|
||||
sizeInTiles: {
|
||||
x:4,
|
||||
y:4,
|
||||
},
|
||||
positionOffset: {
|
||||
x:-0.8,
|
||||
y:-1.7,
|
||||
},
|
||||
},
|
||||
"centrifuge": {
|
||||
spritesheet: spritesheetJson.frames["images/factorio/entity/centrifuge/centrifuge-A.png.0"],
|
||||
sizeInTiles: {
|
||||
@@ -157,6 +146,20 @@ for(let i = 1; i <= 3; i++){
|
||||
}
|
||||
// template3x3entity;
|
||||
};
|
||||
entityDrawRules["radar"] = {
|
||||
spritesheet: spritesheetJson.frames["images/factorio/entity/radar/radar.png.22"],
|
||||
sizeInTiles: {
|
||||
x:4,
|
||||
y:4,
|
||||
},
|
||||
positionOffset: {
|
||||
x:-0.8,
|
||||
y:-1.7,
|
||||
},
|
||||
}
|
||||
for(let i = 0; i < 64; i++){
|
||||
// animate the radar
|
||||
}
|
||||
["beacon", "electric-furnace"].forEach(name => {
|
||||
entityDrawRules[name] = template3x3entity;
|
||||
});
|
||||
@@ -232,7 +235,7 @@ entityDrawRules["chemical-plant"] = {
|
||||
["transport-belt", "fast-transport-belt", "express-transport-belt"].forEach(name => {
|
||||
entityDrawRules[name] = {
|
||||
spritesheet: [{
|
||||
spritesheet: [ // vertical belts
|
||||
spritesheet: [ // Up
|
||||
// spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png.0"], // 0 to 31
|
||||
],
|
||||
sizeInTiles: {
|
||||
@@ -242,18 +245,44 @@ entityDrawRules["chemical-plant"] = {
|
||||
x:-0.1,y:-0,
|
||||
}
|
||||
},{
|
||||
spritesheet: [ // horizontal belts
|
||||
spritesheet: [ // Right
|
||||
// spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png.0"], // 0 to 31
|
||||
],
|
||||
sizeInTiles: {
|
||||
x:1.2,y:1.4,
|
||||
},
|
||||
positionOffset: {
|
||||
x:-0.1,y:-0.2,
|
||||
}
|
||||
},{
|
||||
spritesheet: [ // Down
|
||||
// spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png.27"], // 32 to 63
|
||||
],
|
||||
flip: "y",
|
||||
sizeInTiles: {
|
||||
x:1.3,y:1.6,
|
||||
},
|
||||
positionOffset: {
|
||||
x:-0.15,y:-0.25,
|
||||
x:-0.15,y:-1.6,
|
||||
}
|
||||
},{
|
||||
spritesheet: [ // Left
|
||||
// spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png.27"], // 32 to 63
|
||||
],
|
||||
flip: "x",
|
||||
sizeInTiles: {
|
||||
x:1.3,y:1.6,
|
||||
},
|
||||
positionOffset: {
|
||||
x:-1.35,y:-0.25,
|
||||
}
|
||||
}],
|
||||
}
|
||||
for(let i = 0; i < 32; i++){
|
||||
// down
|
||||
entityDrawRules[name].spritesheet[3].spritesheet.push(spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png."+i]);
|
||||
// left
|
||||
entityDrawRules[name].spritesheet[2].spritesheet.push(spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png."+(i+32)]);
|
||||
// up
|
||||
entityDrawRules[name].spritesheet[1].spritesheet.push(spritesheetJson.frames["images/factorio/entity/"+name+"/"+name+".png."+i]);
|
||||
// right
|
||||
|
||||
+24
-4
@@ -472,11 +472,26 @@ function drawEntity(entity, dontCache){
|
||||
} else {
|
||||
// correct for whether we have 4 or 8 directions
|
||||
let spriteSheetRotIndex = dir / (8 / rules.spritesheet.length);
|
||||
if(rules.spritesheet[spriteSheetRotIndex].spritesheet.length){
|
||||
var animationStage = Math.floor(Date.now()/16) % rules.spritesheet[spriteSheetRotIndex].spritesheet.length;
|
||||
var usesAnimation = true;
|
||||
} else {
|
||||
var usesAnimation = false;
|
||||
}
|
||||
|
||||
sprWidth = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.w;
|
||||
sprHeight = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.h;
|
||||
offLeft = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.x;
|
||||
offTop = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.y;
|
||||
if(usesAnimation){
|
||||
try{
|
||||
sprWidth = rules.spritesheet[spriteSheetRotIndex].spritesheet[animationStage].frame.w;
|
||||
sprHeight = rules.spritesheet[spriteSheetRotIndex].spritesheet[animationStage].frame.h;
|
||||
offLeft = rules.spritesheet[spriteSheetRotIndex].spritesheet[animationStage].frame.x;
|
||||
offTop = rules.spritesheet[spriteSheetRotIndex].spritesheet[animationStage].frame.y;
|
||||
}catch(e){} // TODO throws error due to yellow belt rendering
|
||||
} else {
|
||||
sprWidth = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.w;
|
||||
sprHeight = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.h;
|
||||
offLeft = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.x;
|
||||
offTop = rules.spritesheet[spriteSheetRotIndex].spritesheet.frame.y;
|
||||
}
|
||||
image = global.spritesheet;
|
||||
|
||||
if(rules.spritesheet[spriteSheetRotIndex].positionOffset){
|
||||
@@ -489,6 +504,11 @@ function drawEntity(entity, dontCache){
|
||||
y: remoteMapConfig.tileSize * rules.spritesheet[spriteSheetRotIndex].sizeInTiles.y,
|
||||
};
|
||||
}
|
||||
if(rules.spritesheet[spriteSheetRotIndex].flip){
|
||||
let flip = rules.spritesheet[spriteSheetRotIndex].flip;
|
||||
if(flip == "x") flipX = true;
|
||||
if(flip == "y") flipY = true;
|
||||
}
|
||||
}
|
||||
} else if(rules.spritesheet){
|
||||
sprWidth = rules.spritesheet.frame.w;
|
||||
|
||||
Reference in new issue
Block a user