Page 1 of 1

[0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 12:12 am
by blindestman
Hello,

I am using a collection of blueprints that must be old or something, I have noticed that when I am pasting like this it looks very strange. It also pastes down differently than what it looked liked, even the splitters are in a different place relatively.

Here is the blueprint string but I orginially imported the entire blueprint book and I don't have the original just the one in game. Here is the book if anyone wants that.

Let me know if you need any more information, this is my first time on a forum in 5+ years so I am sorry if I did something wrong, I did not see an email to send bug reports to it just refers here.

Re: [0.15.16]

Posted: Tue May 30, 2017 2:11 am
by TruePikachu
Hm, I'll pull that blueprint string apart to see if there's some odd offsets in it...

Code: Select all

{"blueprint":{"icons":[{"signal":{"type":"item","name":"assembling-machine-2"},"index":1}],"entities":[{"entity_number":1,"name":"assembling-machine-2","position":{"x":-2.5,"y":-11.5},"recipe":"pump"},{"entity_number":2,"name":"steel-chest","position":{"x":-6.5,"y":-11.5},"bar":1},{"entity_number":3,"name":"fast-inserter","position":{"x":-4.5,"y":-10.5},"direction":6},{"entity_number":4,"name":"long-handed-inserter","position":{"x":-4.5,"y":-11.5},"direction":2},{"entity_number":5,"name":"transport-belt","position":{"x":-5.5,"y":-10.5}},{"entity_number":6,"name":"long-handed-inserter","position":{"x":-0.5,"y":-10.5},"direction":2},{"entity_number":7,"name":"transport-belt","position":{"x":1.5,"y":-10.5}},{"entity_number":8,"name":"transport-belt","position":{"x":-6.5,"y":-8.5},"direction":2},{"entity_number":9,"name":"transport-belt","position":{"x":-5.5,"y":-9.5}},{"entity_number":10,"name":"transport-belt","position":{"x":-5.5,"y":-8.5}},{"entity_number":11,"name":"inserter","position":{"x":-3.5,"y":-9.5},"direction":4},{"entity_number":12,"name":"medium-electric-pole","position":{"x":-2.5,"y":-9.5}},{"entity_number":13,"name":"assembling-machine-2","position":{"x":-2.5,"y":-7.5},"direction":6,"recipe":"electric-engine-unit"},{"entity_number":14,"name":"transport-belt","position":{"x":1.5,"y":-9.5}},{"entity_number":15,"name":"transport-belt","position":{"x":1.5,"y":-8.5}},{"entity_number":16,"name":"underground-belt","position":{"x":-6.5,"y":-7.5},"type":"output"},{"entity_number":17,"name":"steel-chest","position":{"x":-6.5,"y":-6.5},"bar":1},{"entity_number":18,"name":"long-handed-inserter","position":{"x":-4.5,"y":-6.5},"direction":2},{"entity_number":19,"name":"long-handed-inserter","position":{"x":-0.5,"y":-6.5},"direction":2},{"entity_number":20,"name":"transport-belt","position":{"x":1.5,"y":-6.5}},{"entity_number":21,"name":"transport-belt","position":{"x":1.5,"y":-7.5}},{"entity_number":22,"name":"assembling-machine-2","position":{"x":4.5,"y":-6.5},"recipe":"assembling-machine-3"},{"entity_number":23,"name":"fast-inserter","position":{"x":6.5,"y":-6.5},"direction":2},{"entity_number":24,"name":"steel-chest","position":{"x":7.5,"y":-6.5}},{"entity_number":25,"name":"long-handed-inserter","position":{"x":6.5,"y":-7.5},"direction":6},{"entity_number":26,"name":"steel-chest","position":{"x":8.5,"y":-7.5},"bar":1},{"entity_number":27,"name":"steel-chest","position":{"x":-6.5,"y":-4.5},"bar":1},{"entity_number":28,"name":"long-handed-inserter","position":{"x":-4.5,"y":-4.5},"direction":2},{"entity_number":29,"name":"medium-electric-pole","position":{"x":-2.5,"y":-5.5}},{"entity_number":30,"name":"inserter","position":{"x":-3.5,"y":-5.5},"direction":4},{"entity_number":31,"name":"assembling-machine-2","position":{"x":-2.5,"y":-3.5},"recipe":"engine-unit"},{"entity_number":32,"name":"long-handed-inserter","position":{"x":-0.5,"y":-4.5},"direction":2},{"entity_number":33,"name":"transport-belt","position":{"x":1.5,"y":-5.5}},{"entity_number":34,"name":"transport-belt","position":{"x":1.5,"y":-4.5}},{"entity_number":35,"name":"fast-inserter","position":{"x":3.5,"y":-4.5},"direction":4},{"entity_number":36,"name":"medium-electric-pole","position":{"x":4.5,"y":-4.5}},{"entity_number":37,"name":"underground-belt","position":{"x":-6.5,"y":-3.5},"type":"input"},{"entity_number":38,"name":"transport-belt","position":{"x":-6.5,"y":-2.5}},{"entity_number":39,"name":"transport-belt","position":{"x":-5.5,"y":-3.5}},{"entity_number":40,"name":"fast-inserter","position":{"x":-4.5,"y":-3.5},"direction":6},{"entity_number":41,"name":"long-handed-inserter","position":{"x":-4.5,"y":-2.5},"direction":6},{"entity_number":42,"name":"transport-belt","position":{"x":-5.5,"y":-2.5}},{"entity_number":43,"name":"transport-belt","position":{"x":1.5,"y":-2.5}},{"entity_number":44,"name":"transport-belt","position":{"x":1.5,"y":-3.5}},{"entity_number":45,"name":"fast-inserter","position":{"x":2.5,"y":-2.5},"direction":6},{"entity_number":46,"name":"assembling-machine-2","position":{"x":4.5,"y":-2.5},"recipe":"assembling-machine-2"},{"entity_number":47,"name":"fast-inserter","position":{"x":6.5,"y":-2.5},"direction":2},{"entity_number":48,"name":"long-handed-inserter","position":{"x":6.5,"y":-3.5},"direction":6},{"entity_number":49,"name":"transport-belt","position":{"x":7.5,"y":-2.5}},{"entity_number":50,"name":"steel-chest","position":{"x":8.5,"y":-3.5},"bar":2},{"entity_number":51,"name":"transport-belt","position":{"x":-6.5,"y":-1.5}},{"entity_number":52,"name":"underground-belt","position":{"x":-6.5,"y":-0.5},"type":"output"},{"entity_number":53,"name":"fast-inserter","position":{"x":-4.5,"y":-0.5},"direction":6},{"entity_number":54,"name":"transport-belt","position":{"x":-5.5,"y":-1.5}},{"entity_number":55,"name":"long-handed-inserter","position":{"x":-4.5,"y":-1.5},"direction":6},{"entity_number":56,"name":"transport-belt","position":{"x":-5.5,"y":-0.5}},{"entity_number":57,"name":"assembling-machine-2","position":{"x":-2.5,"y":-0.5},"recipe":"chemical-plant"},{"entity_number":58,"name":"long-handed-inserter","position":{"x":-0.5,"y":-0.5},"direction":2},{"entity_number":59,"name":"transport-belt","position":{"x":0.5,"y":-0.5}},{"entity_number":60,"name":"transport-belt","position":{"x":0.5,"y":-1.5}},{"entity_number":61,"name":"transport-belt","position":{"x":1.5,"y":-0.5}},{"entity_number":62,"name":"transport-belt","position":{"x":1.5,"y":-1.5}},{"entity_number":63,"name":"fast-inserter","position":{"x":3.5,"y":-0.5},"direction":4},{"entity_number":64,"name":"long-handed-inserter","position":{"x":2.5,"y":-1.5},"direction":6},{"entity_number":65,"name":"medium-electric-pole","position":{"x":4.5,"y":-0.5}},{"entity_number":66,"name":"transport-belt","position":{"x":7.5,"y":-0.5}},{"entity_number":67,"name":"transport-belt","position":{"x":7.5,"y":-1.5}},{"entity_number":68,"name":"steel-chest","position":{"x":-6.5,"y":0.5},"bar":2},{"entity_number":69,"name":"long-handed-inserter","position":{"x":-4.5,"y":0.5},"direction":2},{"entity_number":70,"name":"transport-belt","position":{"x":-5.5,"y":0.5}},{"entity_number":71,"name":"transport-belt","position":{"x":-5.5,"y":1.5}},{"entity_number":72,"name":"medium-electric-pole","position":{"x":-2.5,"y":1.5}},{"entity_number":73,"name":"transport-belt","position":{"x":1.5,"y":0.5}},{"entity_number":74,"name":"transport-belt","position":{"x":0.5,"y":1.5}},{"entity_number":75,"name":"transport-belt","position":{"x":1.5,"y":1.5}},{"entity_number":76,"name":"transport-belt","position":{"x":0.5,"y":0.5}},{"entity_number":77,"name":"fast-inserter","position":{"x":2.5,"y":1.5},"direction":6},{"entity_number":78,"name":"assembling-machine-2","position":{"x":4.5,"y":1.5},"recipe":"assembling-machine-1"},{"entity_number":79,"name":"fast-inserter","position":{"x":6.5,"y":1.5},"direction":2},{"entity_number":80,"name":"transport-belt","position":{"x":7.5,"y":0.5}},{"entity_number":81,"name":"transport-belt","position":{"x":7.5,"y":1.5}},{"entity_number":82,"name":"underground-belt","position":{"x":-6.5,"y":3.5},"type":"input"},{"entity_number":83,"name":"steel-chest","position":{"x":-6.5,"y":2.5},"bar":2},{"entity_number":84,"name":"transport-belt","position":{"x":-5.5,"y":3.5}},{"entity_number":85,"name":"transport-belt","position":{"x":-5.5,"y":2.5}},{"entity_number":86,"name":"fast-inserter","position":{"x":-4.5,"y":3.5},"direction":6},{"entity_number":87,"name":"long-handed-inserter","position":{"x":-4.5,"y":2.5},"direction":2},{"entity_number":88,"name":"assembling-machine-2","position":{"x":-2.5,"y":3.5},"recipe":"pumpjack"},{"entity_number":89,"name":"long-handed-inserter","position":{"x":-0.5,"y":3.5},"direction":2},{"entity_number":90,"name":"transport-belt","position":{"x":0.5,"y":3.5}},{"entity_number":91,"name":"transport-belt","position":{"x":1.5,"y":3.5}},{"entity_number":92,"name":"transport-belt","position":{"x":0.5,"y":2.5}},{"entity_number":93,"name":"transport-belt","position":{"x":1.5,"y":2.5}},{"entity_number":94,"name":"long-handed-inserter","position":{"x":2.5,"y":2.5},"direction":6},{"entity_number":95,"name":"medium-electric-pole","position":{"x":4.5,"y":3.5}},{"entity_number":96,"name":"transport-belt","position":{"x":7.5,"y":2.5}},{"entity_number":97,"name":"transport-belt","position":{"x":7.5,"y":3.5}},{"entity_number":98,"name":"transport-belt","position":{"x":-7.5,"y":5.5},"direction":2},{"entity_number":99,"name":"transport-belt","position":{"x":-6.5,"y":5.5}},{"entity_number":100,"name":"transport-belt","position":{"x":-6.5,"y":4.5}},{"entity_number":101,"name":"long-handed-inserter","position":{"x":-4.5,"y":4.5},"direction":6},{"entity_number":102,"name":"transport-belt","position":{"x":-5.5,"y":4.5}},{"entity_number":103,"name":"transport-belt","position":{"x":-5.5,"y":5.5}},{"entity_number":104,"name":"transport-belt","position":{"x":-4.5,"y":5.5},"direction":6},{"entity_number":105,"name":"splitter","position":{"x":-2.5,"y":6},"direction":6},{"entity_number":106,"name":"transport-belt","position":{"x":-3.5,"y":5.5},"direction":6},{"entity_number":107,"name":"transport-belt","position":{"x":0.5,"y":5.5}},{"entity_number":108,"name":"transport-belt","position":{"x":1.5,"y":5.5}},{"entity_number":109,"name":"transport-belt","position":{"x":0.5,"y":4.5}},{"entity_number":110,"name":"transport-belt","position":{"x":1.5,"y":4.5}},{"entity_number":111,"name":"assembling-machine-2","position":{"x":4.5,"y":5.5},"recipe":"repair-pack"},{"entity_number":112,"name":"fast-inserter","position":{"x":2.5,"y":5.5},"direction":6},{"entity_number":113,"name":"long-handed-inserter","position":{"x":6.5,"y":4.5},"direction":6},{"entity_number":114,"name":"fast-inserter","position":{"x":6.5,"y":5.5},"direction":2},{"entity_number":115,"name":"transport-belt","position":{"x":7.5,"y":4.5}},{"entity_number":116,"name":"transport-belt","position":{"x":7.5,"y":5.5}},{"entity_number":117,"name":"steel-chest","position":{"x":8.5,"y":4.5},"bar":4},{"entity_number":118,"name":"splitter","position":{"x":-7,"y":6.5}},{"entity_number":119,"name":"fast-inserter","position":{"x":-6.5,"y":7.5},"direction":4},{"entity_number":120,"name":"medium-electric-pole","position":{"x":-3.5,"y":7.5}},{"entity_number":121,"name":"transport-belt","position":{"x":-3.5,"y":6.5}},{"entity_number":122,"name":"fast-inserter","position":{"x":-1.5,"y":7.5},"direction":4},{"entity_number":123,"name":"transport-belt","position":{"x":-1.5,"y":6.5},"direction":6},{"entity_number":124,"name":"transport-belt","position":{"x":1.5,"y":6.5}},{"entity_number":125,"name":"transport-belt","position":{"x":0.5,"y":6.5}},{"entity_number":126,"name":"transport-belt","position":{"x":1.5,"y":7.5}},{"entity_number":127,"name":"transport-belt","position":{"x":0.5,"y":7.5}},{"entity_number":128,"name":"assembling-machine-2","position":{"x":4.5,"y":8.5},"recipe":"iron-gear-wheel"},{"entity_number":129,"name":"transport-belt","position":{"x":6.5,"y":6.5},"direction":2},{"entity_number":130,"name":"splitter","position":{"x":7,"y":7.5}},{"entity_number":131,"name":"transport-belt","position":{"x":7.5,"y":6.5}},{"entity_number":132,"name":"assembling-machine-2","position":{"x":-5.5,"y":9.5},"recipe":"pipe"},{"entity_number":133,"name":"assembling-machine-2","position":{"x":-2.5,"y":9.5},"recipe":"iron-gear-wheel"},{"entity_number":134,"name":"transport-belt","position":{"x":1.5,"y":8.5}},{"entity_number":135,"name":"transport-belt","position":{"x":0.5,"y":8.5}},{"entity_number":136,"name":"transport-belt","position":{"x":0.5,"y":9.5}},{"entity_number":137,"name":"transport-belt","position":{"x":1.5,"y":9.5}},{"entity_number":138,"name":"long-handed-inserter","position":{"x":2.5,"y":9.5},"direction":6},{"entity_number":139,"name":"long-handed-inserter","position":{"x":2.5,"y":8.5},"direction":6},{"entity_number":140,"name":"transport-belt","position":{"x":7.5,"y":8.5}},{"entity_number":141,"name":"fast-inserter","position":{"x":6.5,"y":8.5},"direction":6},{"entity_number":142,"name":"fast-inserter","position":{"x":-4.5,"y":11.5},"direction":4},{"entity_number":143,"name":"fast-inserter","position":{"x":-2.5,"y":11.5},"direction":4},{"entity_number":144,"name":"fast-inserter","position":{"x":-3.5,"y":11.5},"direction":4},{"entity_number":145,"name":"transport-belt","position":{"x":1.5,"y":10.5}},{"entity_number":146,"name":"transport-belt","position":{"x":0.5,"y":10.5}},{"entity_number":147,"name":"transport-belt","position":{"x":0.5,"y":11.5}},{"entity_number":148,"name":"transport-belt","position":{"x":1.5,"y":11.5}},{"entity_number":149,"name":"medium-electric-pole","position":{"x":3.5,"y":10.5}},{"entity_number":150,"name":"transport-belt","position":{"x":2.5,"y":11.5},"direction":6},{"entity_number":151,"name":"transport-belt","position":{"x":3.5,"y":11.5},"direction":6},{"entity_number":152,"name":"transport-belt","position":{"x":-4.5,"y":12.5},"direction":6},{"entity_number":153,"name":"medium-electric-pole","position":{"x":-4.5,"y":13.5}},{"entity_number":154,"name":"transport-belt","position":{"x":-3.5,"y":12.5},"direction":6},{"entity_number":155,"name":"transport-belt","position":{"x":-2.5,"y":12.5},"direction":6},{"entity_number":156,"name":"transport-belt","position":{"x":-1.5,"y":12.5},"direction":6},{"entity_number":157,"name":"transport-belt","position":{"x":-0.5,"y":12.5},"direction":6},{"entity_number":158,"name":"splitter","position":{"x":0,"y":13.5}},{"entity_number":159,"name":"transport-belt","position":{"x":0.5,"y":12.5}},{"entity_number":160,"name":"transport-belt","position":{"x":2.5,"y":12.5},"direction":2},{"entity_number":161,"name":"transport-belt","position":{"x":3.5,"y":12.5}},{"entity_number":162,"name":"transport-belt","position":{"x":2.5,"y":13.5}},{"entity_number":163,"name":"transport-belt","position":{"x":4.5,"y":13.5}},{"entity_number":164,"name":"transport-belt","position":{"x":4.5,"y":12.5},"direction":6}],"item":"blueprint","label":"Early production of basic items","version":64425558017}}
I don't see anything odd right now, does the bug persist if you reload the individual blueprint string?

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:03 pm
by blindestman
Yes it does. I loaded it from the link I provided and it gives the same offset.

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:05 pm
by TruePikachu
What mods do you have installed?

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:21 pm
by blindestman
None, I do not use mods.

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:30 pm
by MasterBuilder
Was this perhaps converted from a really old (pre 0.15) BP string? (Like from the era of 0.12 or 0.13?) I don't remember when the change was, but, there was once a breaking change in BP strings that caused entities to 'shift' like that and appear off-center.

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:33 pm
by Klonan
Thanks for the report,

Are you able to reproduce the issue entirely in 0.15, exporting and importing a string?

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 1:48 pm
by TruePikachu
Klonan wrote:Thanks for the report,

Are you able to reproduce the issue entirely in 0.15, exporting and importing a string?
I can confirm that the individually-exported string is 0.15-format, and they report that importing it again keeps the issue. I haven't attempted loading it in-game yet, though.

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 7:23 pm
by TruePikachu
I am able to confirm that the imported blueprint string exhibits the bug:
20170530121427_1.jpg
20170530121427_1.jpg (389.59 KiB) Viewed 2729 times
Curiously, the blueprint preview doesn't appear to have issues:
20170530121436_1.jpg
20170530121436_1.jpg (309.74 KiB) Viewed 2729 times
I'll compare the splitter positions with a known-valid blueprint.

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 7:58 pm
by TruePikachu
Hm, this is interesting. I just checked the 2->2 balancer from the blueprint book of balancers currently on the wiki, and wrote up some code to aggregate the entity positions for easy comparison. Here is the output from the 2->2 balancer:

Code: Select all

? (let ((*print-length* 20)(*print-right-margin* 80)(*print-pretty* t))(pprint-linear *standard-output* (index-entity-offsets *control-blueprint*)))
((:EXPRESS-SPLITTER (#C(-0.5 0.0)))
 (:EXPRESS-TRANSPORT-BELT (#C(-1 -1) #C(-1 1) #C(0 -1) #C(0 1))))
NIL
And here is the output from the bugged blueprint:

Code: Select all

? (let ((*print-length* 20)(*print-right-margin* 80)(*print-pretty* t))(pprint-linear *standard-output* (index-entity-offsets *bugged-blueprint*)))
((:ASSEMBLING-MACHINE-2
  (#C(-5.5 9.5) #C(-2.5 -11.5) #C(-2.5 -7.5) #C(-2.5 -3.5) #C(-2.5 -0.5)
   #C(-2.5 3.5) #C(-2.5 9.5) #C(4.5 -6.5) #C(4.5 -2.5) #C(4.5 1.5) #C(4.5 5.5)
   #C(4.5 8.5)))
 (:FAST-INSERTER
  (#C(-6.5 7.5) #C(-4.5 -10.5) #C(-4.5 -3.5) #C(-4.5 -0.5) #C(-4.5 3.5)
   #C(-4.5 11.5) #C(-3.5 11.5) #C(-2.5 11.5) #C(-1.5 7.5) #C(2.5 -2.5)
   #C(2.5 1.5) #C(2.5 5.5) #C(3.5 -4.5) #C(3.5 -0.5) #C(6.5 -6.5) #C(6.5 -2.5)
   #C(6.5 1.5) #C(6.5 5.5) #C(6.5 8.5)))
 (:INSERTER (#C(-3.5 -9.5) #C(-3.5 -5.5)))
 (:LONG-HANDED-INSERTER
  (#C(-4.5 -11.5) #C(-4.5 -6.5) #C(-4.5 -4.5) #C(-4.5 -2.5) #C(-4.5 -1.5)
   #C(-4.5 0.5) #C(-4.5 2.5) #C(-4.5 4.5) #C(-0.5 -10.5) #C(-0.5 -6.5)
   #C(-0.5 -4.5) #C(-0.5 -0.5) #C(-0.5 3.5) #C(2.5 -1.5) #C(2.5 2.5)
   #C(2.5 8.5) #C(2.5 9.5) #C(6.5 -7.5) #C(6.5 -3.5) #C(6.5 4.5)))
 (:MEDIUM-ELECTRIC-POLE
  (#C(-4.5 13.5) #C(-3.5 7.5) #C(-2.5 -9.5) #C(-2.5 -5.5) #C(-2.5 1.5)
   #C(3.5 10.5) #C(4.5 -4.5) #C(4.5 -0.5) #C(4.5 3.5)))
 (:SPLITTER (#C(-7.0 6.5) #C(-2.5 6.0) #C(0.0 13.5) #C(7.0 7.5)))
 (:STEEL-CHEST
  (#C(-6.5 -11.5) #C(-6.5 -6.5) #C(-6.5 -4.5) #C(-6.5 0.5) #C(-6.5 2.5)
   #C(7.5 -6.5) #C(8.5 -7.5) #C(8.5 -3.5) #C(8.5 4.5)))
 (:TRANSPORT-BELT
  (#C(-7.5 5.5) #C(-6.5 -8.5) #C(-6.5 -2.5) #C(-6.5 -1.5) #C(-6.5 4.5)
   #C(-6.5 5.5) #C(-5.5 -10.5) #C(-5.5 -9.5) #C(-5.5 -8.5) #C(-5.5 -3.5)
   #C(-5.5 -2.5) #C(-5.5 -1.5) #C(-5.5 -0.5) #C(-5.5 0.5) #C(-5.5 1.5)
   #C(-5.5 2.5) #C(-5.5 3.5) #C(-5.5 4.5) #C(-5.5 5.5) #C(-4.5 5.5) ...))
 (:UNDERGROUND-BELT (#C(-6.5 -7.5) #C(-6.5 -3.5) #C(-6.5 -0.5) #C(-6.5 3.5))))
NIL
Notice that, for instance, the belt positions in the known-good blueprint are all integers, while they are all (n+0.5) in the bugged blueprint. So I check the limits of the coordinates in each set, since things might be centered on a single point, you know?

Code: Select all

? (defun get-coord-limits (coord-list)
    (loop :with x-min = most-positive-fixnum
          :with x-max = most-negative-fixnum
          :with y-min = most-positive-fixnum
          :with y-max = most-negative-fixnum
          :for coord :in coord-list
          :for x = (realpart coord)
          :for y = (imagpart coord)
          :do (setq x-min (min x-min x)
                    x-max (max x-max x)
                    y-min (min y-min y)
                    y-max (max y-max y))
          :finally (return (values
                             (complex x-min y-min)
                             (complex x-max y-max)))))
GET-COORD-LIMITS
? (get-coord-limits (reduce #'append (mapcar #'cadr (index-entity-offsets *control-blueprint*))))
#C(-1 -1)
#C(0 1)
? (get-coord-limits (reduce #'append (mapcar #'cadr (index-entity-offsets *bugged-blueprint*))))
#C(-7.5 -11.5)
#C(8.5 13.5)
The bugged blueprint isn't centered on the "reference point", while the known-good blueprint is centered vertically but is off-by-half horizontally.

I take it the "version" field is the version of the game that exported the blueprint, versus the version that created the blueprint?

Re: [0.15.16] Imported blueprint has entities shifted

Posted: Tue May 30, 2017 8:23 pm
by Rseding91
If anyone can reproduce this problem with a blueprint string *created* in 0.15 using the in-game export-as-string option and then imported in 0.15 let us know the steps you did.

If you're taking blueprints created with the old blueprint string mod in old versions of the game and "migrating" them into the 0.15 base-game format then there's a good chance you're simply "migrating" them wrong.