I had an ammo counter that used display panels to show the number of magazines on the ammo belt for a space platform. When updating the platform design I copy pasted another version of the platform onto an existing similar platform. After the copy paste the ammo counter display was showing the values shown from the pasted platform, not the values that should come from the circuit network. See screenshot showing that the panel is receiving a signal that should show a 3, but is instead stuck on a 1. See display panels and combinators at top left of platform "Workhorse 3" in the attached save.
If I disconnect the circuit wire from the belt and reconnect the display panels work again and show the correct values. If the values in the circuit network change the display resumes working as well.
Presumably the displays should check the value of the actual network they are connected to when pasted.
[boskid][2.0.21] Display panel stuck after blueprint paste until circuit network updates
-
- Long Handed Inserter
- Posts: 50
- Joined: Thu Sep 11, 2014 12:14 pm
- Contact:
[boskid][2.0.21] Display panel stuck after blueprint paste until circuit network updates
- Attachments
-
- SASP.zip
- (21.74 MiB) Downloaded 20 times
-
- StuckDisplay.png (2.73 MiB) Viewed 648 times
Re: [2.0.21] Display panel stuck after blueprint paste until circuit network updates
I think I have encountered this as well, and I have a testcase. It looks like copying the display panel replaces the internal displayed value, and that value overrides the circuit network until the network updates.
Testcase:
[2.0.23][PC]
1. Place down 2 constant combiners
2. Place down 2 display panels
3. Set constant combiner 1 to display the "A" signal with the value "1"
4. Set constant combiner 2 to display the "B" signal with the value "1"
5. Connect constant combiner 1 to display panel 1 with a red wire
6. Connect constant combiner 2 to display panel 2 with a red wire
7. Set both display panels to "green star" ( * ) [Everything] with the condition [ "green star" ( * ) ] != [ 0 ] ] (See screenshot 1 below)
8. Press Ctrl-C and click on display panel 1 (displaying "A" signal)
9. "Paste" the "A" display panel (1) on top of the "B" display panel (2)
* Observe the "B" display panel now shows "A", which is incorrect, because it's clearly receiving signal "B" at the time (See screenshot 2 below)
10. Edit constant combiner 2 (the one transmitting the "B" signal) and replace the "B" signal with a "C" signal
* Observe display panel 2 updates to show "C" because the network was now updated.
Expected results:
After step 9, display panel 2 should show the "B" signal because it's connected to a network which is transmitting that signal
Screenshots:
1. Base configuration for display panel 2:
2. After copying display panel 1 on top of display panel 2:
Testcase:
[2.0.23][PC]
1. Place down 2 constant combiners
2. Place down 2 display panels
3. Set constant combiner 1 to display the "A" signal with the value "1"
4. Set constant combiner 2 to display the "B" signal with the value "1"
5. Connect constant combiner 1 to display panel 1 with a red wire
6. Connect constant combiner 2 to display panel 2 with a red wire
7. Set both display panels to "green star" ( * ) [Everything] with the condition [ "green star" ( * ) ] != [ 0 ] ] (See screenshot 1 below)
8. Press Ctrl-C and click on display panel 1 (displaying "A" signal)
9. "Paste" the "A" display panel (1) on top of the "B" display panel (2)
* Observe the "B" display panel now shows "A", which is incorrect, because it's clearly receiving signal "B" at the time (See screenshot 2 below)
10. Edit constant combiner 2 (the one transmitting the "B" signal) and replace the "B" signal with a "C" signal
* Observe display panel 2 updates to show "C" because the network was now updated.
Expected results:
After step 9, display panel 2 should show the "B" signal because it's connected to a network which is transmitting that signal
Screenshots:
1. Base configuration for display panel 2:
2. After copying display panel 1 on top of display panel 2:
Re: [boskid][2.0.21] Display panel stuck after blueprint paste until circuit network updates
So the issue was that when copy pasting, when control behavior settings were not changed the control behavior would not perform updates, however copy settings was also overriding text and icon on the display panel even if it was set by control behavior. For 2.0.25 i changed the display panel copy settings to ignore text and icon if its set by control behavior which should fix at least this exact issue.