Skip to content

Commit 398240e

Browse files
committed
Merge branch 'feature/network-gui'
2 parents 19a789a + 38bdafa commit 398240e

File tree

11 files changed

+656
-27
lines changed

11 files changed

+656
-27
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@
1111
/graphics/combinator-entity/constant-combinator.png
1212
/graphics/combinator-entity/hr-constant-combinator.png
1313
/graphics/combinator-icon/constant-combinator.png
14+
15+
# Ignore graphic exports
16+
/graphics/semitransparent-pixel/semitransparent-pixel.png
Binary file not shown.

src/changelog.txt

+8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
---------------------------------------------------------------------------------------------------
2+
Version: 1.0.0
3+
Date: 2024-09-03
4+
Major Features:
5+
- Added new GUI for encoding network signals.
6+
Bugfixes:
7+
- Add possible fix for obscure issue with stack sizes.
8+
(For more context, see issue #32 in the repository.)
9+
---------------------------------------------------------------------------------------------------
210
Version: 0.6.1
311
Date: 2023-08-06
412
Bugfixes:
108 Bytes
Loading

src/locale/en/mod.cfg

+14-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ cybersyn-combinator-network-mask-parse-mode=Network mask input mode
3535
cybersyn-combinator-network-mask-display-mode=Display mode for network masks
3636
cybersyn-combinator-network-mask-display-prefix=Display prefix in front of network masks
3737
cybersyn-combinator-network-mask-use-cs-default=Pre-fill default network mask
38+
cybersyn-combinator-encoder-zero-index=Use zero-based indexing for encoder display
3839
cybersyn-combinator-emit-default-request-threshold=Explicit default request threshold
3940
cybersyn-combinator-emit-default-priority=Explicit default priority
4041
cybersyn-combinator-emit-default-locked-slots=Explicit default locked slots
@@ -55,6 +56,7 @@ cybersyn-combinator-network-mask-parse-mode=Method to use for parsing (sub-)netw
5556
cybersyn-combinator-network-mask-display-mode=How to display (sub-)network masks.\n\n[font=default-bold]Decimal:[/font] Masks are displayed as-is in decimal (e.g. '128').\n[font=default-bold]Hexadecimal:[/font] Masks are displayed as hexadecimal (e.g. '80' instead of '128').\n[font=default-bold]Binary:[/font] Masks are displayed as their full binary value (e.g. '10000000' instead of '128').\n[font=default-bold]Octal:[/font] Masks are displayed as octal (e.g. '200' instead of '128').
5657
cybersyn-combinator-network-mask-display-prefix=When enabled, a prefix will be shown in front of formatted (sub-)network masks to indicate what format they are in.\n\nExample:\nA [font=default-bold]decimal[/font] number will be formatted as '0d12345'.\nA [font=default-bold]hexadecimal[/font] number will be formatted as '0xDEADBEEF'.\nA [font=default-bold]binary[/font] number will be formatted as '0b101010'.\nAn [font=default-bold]octal[/font] number will be formatted as '0o644'.
5758
cybersyn-combinator-network-mask-use-cs-default=When enabled, the setting "Default network mask" from Project Cybersyn will be used to pre-fill the mask value when creating a new network mask in the combinator. When disabled, the previously entered mask value will be used (if there is one).
59+
cybersyn-combinator-encoder-zero-index=When enabled, the encoder bit buttons will use zero-based indexing for their captions (starting from 0 and going to 31) instead of one-based (starting from 1 and going to 32).
5860
cybersyn-combinator-emit-default-request-threshold=When enabled, a request threshold value that matches the Cybersyn default request threshold will not be removed from the combinator.
5961
cybersyn-combinator-emit-default-priority=When enabled, a priority value that matches the Cybersyn default priority will not be removed from the combinator.
6062
cybersyn-combinator-emit-default-locked-slots=When enabled, a locked slots value that matches the Cybersyn default locked slots will not be removed from the combinator.
@@ -105,8 +107,8 @@ cs-signal-reset=Reset to default
105107
stacks=Stacks
106108
items=Items
107109
network-list-title=Network masks
108-
network-list-tooltip=Select a signal with the left button, input a network mask value in the text box, and then press the green confirm button to add it.\nUse __CONTROL_LEFT_CLICK__ on an item in the list to edit it, or __CONTROL_RIGHT_CLICK__ to remove it.\n(Adding an existing signal with a new value will update it.)
109-
network-list-item-tooltip=Mask:\nDecimal: __1__\nHex: __2__\nBinary: __3__\nOctal: __4__\n\n__CONTROL_LEFT_CLICK__: Edit\n__CONTROL_RIGHT_CLICK__: Remove
110+
network-list-tooltip=Select a signal with the left button, input a network mask value in the text box, and then press the green confirm button to add it.\nUse __CONTROL_LEFT_CLICK__ on an item in the list to edit it, or __CONTROL_RIGHT_CLICK__ to remove it.\nIf you __CONTROL_KEY_CTRL____CONTROL_STYLE_BEGIN__ + __CONTROL_STYLE_END____CONTROL_LEFT_CLICK__ on a signal, it will open in the network encoder GUI.\n(Adding an existing signal with a new value will update it.)
111+
network-list-item-tooltip=Mask:\nDecimal: __1__\nHex: __2__\nBinary: __3__\nOctal: __4__\n\n__CONTROL_LEFT_CLICK__: Edit\n__CONTROL_RIGHT_CLICK__: Remove\n__CONTROL_KEY_CTRL____CONTROL_STYLE_BEGIN__ + __CONTROL_STYLE_END____CONTROL_LEFT_CLICK__: Open in network encoder
110112
invalid-signal=The virtual signals [virtual-signal=signal-everything], [virtual-signal=signal-anything], and [virtual-signal=signal-each], or empty/unknown signals are not valid as output signals.\nSee [color=blue]https://forums.factorio.com/viewtopic.php?p=554711[/color] for details.
111113
max-network-signals=The maximum number of __1__ network __plural_for_parameter_1_{1=signal has|rest=signals have}__ been reached, you cannot add any more to this combinator.
112114
non-virtual-network-mask=[__1__=__2__] is not a valid network mask signal, only virtual signals are allowed.
@@ -116,3 +118,13 @@ item-stacks=Total stacks
116118
item-stacks-description=The total number of stacks being requested by this combinator, only negative signal values count towards this total.
117119
fluid-total=Total fluids
118120
fluid-total-description=The total amount of fluids being requested by this combinator, only negative signal values count towards this total.
121+
122+
[cybersyn-combinator-encoder]
123+
title=Network encoder
124+
tooltip=Each numbered button represents a bit in the network mask (a sub-network). __CONTROL_LEFT_CLICK__ a button to toggle the bit (sub-network) on or off.\nThe number corresponds to the bit position in the network mask, starting at the first bit (least significant, or right-most) at the top left button, and ending on the last bit (most significant, or left-most) at the bottom right button.\n\nEach enabled button essentially adds a power of two to the final network mask value (signal), with the first button starting at 2^0 (1), and increasing until the last button at 2^31 (2 147 483 648).
125+
all=All
126+
none=None
127+
decimal=Decimal
128+
hexadecimal=Hexadecimal
129+
binary=Binary
130+
octal=Octal

src/locale/sv-SE/mod.cfg

+14-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ cybersyn-combinator-network-mask-parse-mode=Inmatningsläge för nätverksbitmas
3535
cybersyn-combinator-network-mask-display-mode=Visningsläge för nätverksbitmaskar
3636
cybersyn-combinator-network-mask-display-prefix=Visa prefix framför nätverksbitmaskar
3737
cybersyn-combinator-network-mask-use-cs-default=Förifyll standard nätverksmask
38+
cybersyn-combinator-encoder-zero-index=Använd nollbaserad indexering för nätverkskodaren
3839
cybersyn-combinator-emit-default-request-threshold=Explicit standardförfrågningströskel
3940
cybersyn-combinator-emit-default-priority=Explicit standardprioritet
4041
cybersyn-combinator-emit-default-locked-slots=Explicit standard låsta platser
@@ -55,6 +56,7 @@ cybersyn-combinator-network-mask-parse-mode=Metod att använda för inläsning a
5556
cybersyn-combinator-network-mask-display-mode=Ställer in hur (sub-)nätverksmasker visas.\n\n[font=default-bold]Decimalt:[/font] Masker visas som vanliga decimaltal (t.ex. '128').\n[font=default-bold]Hexadecimalt:[/font] Masker visas som hexadecimala tal (e.g. '80' istället för '128').\n[font=default-bold]Binärt:[/font] Masker visas som binära tal (t.ex. '10000000' istället för '128').\n[font=default-bold]Oktalt:[/font] Masker visas som oktala tal (e.g. '200' istället för '128').
5657
cybersyn-combinator-network-mask-display-prefix=Visar prefix framför formaterade (sub-)nätverksmasker för att indikera vilket format de har.\n\nExempel:\nEtt [font=default-bold]decimaltal[/font] formateras likt '0d12345'.\nEtt [font=default-bold]hexadecimalt[/font] tal formateras likt '0xDEADBEEF'.\nEtt [font=default-bold]binärt[/font] tal formateras likt '0b101010'.\nEtt [font=default-bold]oktalt[/font] tal formateras likt '0o644'.
5758
cybersyn-combinator-network-mask-use-cs-default=Använder standardnätverksmasken från Project Cybersyn som standardvärde för bitmasken när en ny nätverksmask skapas i kombinatorn. Annars används den förra inskrivna masken (om det finns en).
59+
cybersyn-combinator-encoder-zero-index=Om aktiverad används nollbaserad indexering för texten på knapparna i nätverkskodaren (från 0 till 31) istället för ettbaserad indexering (från 1 till 32).
5860
cybersyn-combinator-emit-default-request-threshold=Om aktiverad kommer en förfrågningströskel som matchar Cybersyns standardvärde inte att tas bort från kombinatorn.
5961
cybersyn-combinator-emit-default-priority=Om aktiverad kommer en prioritet som matchar Cybersyns standardvärde inte att tas bort från kombinatorn.
6062
cybersyn-combinator-emit-default-locked-slots=Om aktiverad kommer ett värde på "låsta platser" som matchar Cybersyns standardvärde inte att tas bort från kombinatorn.
@@ -105,8 +107,8 @@ cs-signal-reset=Återställ till standardvärde
105107
stacks=Staplar
106108
items=Styck
107109
network-list-title=Nätverksmasker
108-
network-list-tooltip=Välj en signal med den vänstra knappen, mata in ett maskvärde i textboxen, och tryck sedan på den gröna bekräftelseknappen för att lägga till den.\nAnvänd __CONTROL_LEFT_CLICK__ på en rad i listan för att ändra på den, eller __CONTROL_RIGHT_CLICK__ för att ta bort den.\n(Tillägg av en existerande signal med ett nytt värde kommer att uppdatera den.)
109-
network-list-item-tooltip=Mask:\nDecimalt: __1__\nHex: __2__\nBinärt: __3__\nOktalt: __4__\n\n__CONTROL_LEFT_CLICK__: Ändra\n__CONTROL_RIGHT_CLICK__: Ta bort
110+
network-list-tooltip=Välj en signal med den vänstra knappen, mata in ett maskvärde i textboxen, och tryck sedan på den gröna bekräftelseknappen för att lägga till den.\nAnvänd __CONTROL_LEFT_CLICK__ på en rad i listan för att ändra på den, eller __CONTROL_RIGHT_CLICK__ för att ta bort den.\nAnvänd __CONTROL_KEY_CTRL____CONTROL_STYLE_BEGIN__ + __CONTROL_STYLE_END____CONTROL_LEFT_CLICK__ på en signal för att öppna den i nätverkskodaren.\n(Tillägg av en existerande signal med ett nytt värde kommer att uppdatera den.)
111+
network-list-item-tooltip=Mask:\nDecimalt: __1__\nHex: __2__\nBinärt: __3__\nOktalt: __4__\n\n__CONTROL_LEFT_CLICK__: Ändra\n__CONTROL_RIGHT_CLICK__: Ta bort\n__CONTROL_KEY_CTRL____CONTROL_STYLE_BEGIN__ + __CONTROL_STYLE_END____CONTROL_LEFT_CLICK__: Öppna i nätverkskodaren
110112
invalid-signal=Signalerna [virtual-signal=signal-everything], [virtual-signal=signal-anything], och [virtual-signal=signal-each], eller tomma/okända signaler är inte giltiga som utsignaler.\nSe [color=blue]https://forums.factorio.com/viewtopic.php?p=554711[/color] för mer detaljer.
111113
max-network-signals=Maximalt antal (__1__) nätverks__plural_for_parameter_1_{1=signal|rest=signaler}__ har nåtts, du kan inte lägga till fler på den här kombinatorn.
112114
non-virtual-network-mask=[__1__=__2__] är inte en giltig signal för nätverksmasker, endast virtuella signaler är tillåtna.
@@ -116,3 +118,13 @@ item-stacks=Antal staplar
116118
item-stacks-description=Totalt antal staplar som efterfrågas av kombinatorn, endast negativa signalvärden räknas in i totalen.
117119
fluid-total=Mängd vätska
118120
fluid-total-description=Total mängd vätska som efterfrågas av kombinatorn, endast negativa signalvärden räknas in i totalen.
121+
122+
[cybersyn-combinator-encoder]
123+
title=Nätverkskodare
124+
tooltip=Varje numrerad knapp representerar en bit i nätverksmasken (subnätverk). ___CONTROL_LEFT_CLICK__ en knapp för att slå på eller av biten (subnätverket).\nNumret motsvarar bitpositionen i nätverksmasken, där den första biten (minst signifikanta, eller längst åt höger) är på den översta vänstra knappen, och den sista biten (mest signifikanta, eller längst till vänster) är på den nedersta högra knappen.\n\nVarje aktiverad knapp lägger i princip till en potens av två i nätverksmaskvärdet (signalen), där den första knappen börjar på 2^0 (1), och ökar tills den sista knappen på 2^31 (2 147 483 648).
125+
all=Alla
126+
none=Inga
127+
decimal=Decimalt
128+
hexadecimal=Hexadecimalt
129+
binary=Binärt
130+
octal=Oktalt

src/prototypes/styles.lua

+25
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,28 @@ styles["cybersyn-combinator_network-list_item-active"] = {
8787
default_font_color = styles.button.selected_font_color,
8888
default_vertical_offset = styles.button.selected_vertical_offset
8989
}
90+
91+
styles["cybersyn-combinator_frame_semitransparent"] = {
92+
type = "frame_style",
93+
graphical_set = {
94+
base = {
95+
type = "composition",
96+
filename = "__cybersyn-combinator__/graphics/frame/semitransparent-pixel.png",
97+
corner_size = 1,
98+
position = {0, 0}
99+
}
100+
}
101+
}
102+
103+
styles["cybersyn-combinator_encoder_bit-button"] = {
104+
type = "button_style",
105+
parent = "flib_standalone_slot_button_grey",
106+
size = 32,
107+
hovered_graphical_set = styles.flib_standalone_slot_button_grey.default_graphical_set
108+
}
109+
110+
styles["cybersyn-combinator_encoder_bit-button_pressed"] = {
111+
type = "button_style",
112+
parent = "flib_selected_standalone_slot_button_grey",
113+
size = 32
114+
}

src/scripts/constants.lua

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ local constants = {
2424
NETWORK_MASK_DISPLAY_MODE = "cybersyn-combinator-network-mask-display-mode",
2525
NETWORK_MASK_DISPLAY_PREFIX = "cybersyn-combinator-network-mask-display-prefix",
2626
NETWORK_MASK_USE_CS_DEFAULT = "cybersyn-combinator-network-mask-use-cs-default",
27+
ENCODER_ZERO_INDEX = "cybersyn-combinator-encoder-zero-index",
28+
-- Project Cybersyn settings
2729
CS_REQUEST_THRESHOLD = "cybersyn-request-threshold",
2830
CS_PRIORITY = "cybersyn-priority",
2931
CS_LOCKED_SLOTS = "cybersyn-locked-slots",

0 commit comments

Comments
 (0)