Skip to content

Commit

Permalink
Merge branch 'feature/network-gui'
Browse files Browse the repository at this point in the history
  • Loading branch information
Sharparam committed Sep 3, 2024
2 parents 19a789a + 38bdafa commit 398240e
Show file tree
Hide file tree
Showing 11 changed files with 656 additions and 27 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@
/graphics/combinator-entity/constant-combinator.png
/graphics/combinator-entity/hr-constant-combinator.png
/graphics/combinator-icon/constant-combinator.png

# Ignore graphic exports
/graphics/semitransparent-pixel/semitransparent-pixel.png
Binary file not shown.
8 changes: 8 additions & 0 deletions src/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
---------------------------------------------------------------------------------------------------
Version: 1.0.0
Date: 2024-09-03
Major Features:
- Added new GUI for encoding network signals.
Bugfixes:
- Add possible fix for obscure issue with stack sizes.
(For more context, see issue #32 in the repository.)
---------------------------------------------------------------------------------------------------
Version: 0.6.1
Date: 2023-08-06
Bugfixes:
Expand Down
Binary file added src/graphics/frame/semitransparent-pixel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 14 additions & 2 deletions src/locale/en/mod.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ cybersyn-combinator-network-mask-parse-mode=Network mask input mode
cybersyn-combinator-network-mask-display-mode=Display mode for network masks
cybersyn-combinator-network-mask-display-prefix=Display prefix in front of network masks
cybersyn-combinator-network-mask-use-cs-default=Pre-fill default network mask
cybersyn-combinator-encoder-zero-index=Use zero-based indexing for encoder display
cybersyn-combinator-emit-default-request-threshold=Explicit default request threshold
cybersyn-combinator-emit-default-priority=Explicit default priority
cybersyn-combinator-emit-default-locked-slots=Explicit default locked slots
Expand All @@ -55,6 +56,7 @@ cybersyn-combinator-network-mask-parse-mode=Method to use for parsing (sub-)netw
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').
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'.
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).
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).
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.
cybersyn-combinator-emit-default-priority=When enabled, a priority value that matches the Cybersyn default priority will not be removed from the combinator.
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.
Expand Down Expand Up @@ -105,8 +107,8 @@ cs-signal-reset=Reset to default
stacks=Stacks
items=Items
network-list-title=Network masks
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.)
network-list-item-tooltip=Mask:\nDecimal: __1__\nHex: __2__\nBinary: __3__\nOctal: __4__\n\n__CONTROL_LEFT_CLICK__: Edit\n__CONTROL_RIGHT_CLICK__: Remove
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.)
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
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.
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.
non-virtual-network-mask=[__1__=__2__] is not a valid network mask signal, only virtual signals are allowed.
Expand All @@ -116,3 +118,13 @@ item-stacks=Total stacks
item-stacks-description=The total number of stacks being requested by this combinator, only negative signal values count towards this total.
fluid-total=Total fluids
fluid-total-description=The total amount of fluids being requested by this combinator, only negative signal values count towards this total.
[cybersyn-combinator-encoder]
title=Network encoder
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).
all=All
none=None
decimal=Decimal
hexadecimal=Hexadecimal
binary=Binary
octal=Octal
16 changes: 14 additions & 2 deletions src/locale/sv-SE/mod.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ cybersyn-combinator-network-mask-parse-mode=Inmatningsläge för nätverksbitmas
cybersyn-combinator-network-mask-display-mode=Visningsläge för nätverksbitmaskar
cybersyn-combinator-network-mask-display-prefix=Visa prefix framför nätverksbitmaskar
cybersyn-combinator-network-mask-use-cs-default=Förifyll standard nätverksmask
cybersyn-combinator-encoder-zero-index=Använd nollbaserad indexering för nätverkskodaren
cybersyn-combinator-emit-default-request-threshold=Explicit standardförfrågningströskel
cybersyn-combinator-emit-default-priority=Explicit standardprioritet
cybersyn-combinator-emit-default-locked-slots=Explicit standard låsta platser
Expand All @@ -55,6 +56,7 @@ cybersyn-combinator-network-mask-parse-mode=Metod att använda för inläsning a
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').
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'.
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).
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).
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.
cybersyn-combinator-emit-default-priority=Om aktiverad kommer en prioritet som matchar Cybersyns standardvärde inte att tas bort från kombinatorn.
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.
Expand Down Expand Up @@ -105,8 +107,8 @@ cs-signal-reset=Återställ till standardvärde
stacks=Staplar
items=Styck
network-list-title=Nätverksmasker
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.)
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
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.)
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
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.
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.
non-virtual-network-mask=[__1__=__2__] är inte en giltig signal för nätverksmasker, endast virtuella signaler är tillåtna.
Expand All @@ -116,3 +118,13 @@ item-stacks=Antal staplar
item-stacks-description=Totalt antal staplar som efterfrågas av kombinatorn, endast negativa signalvärden räknas in i totalen.
fluid-total=Mängd vätska
fluid-total-description=Total mängd vätska som efterfrågas av kombinatorn, endast negativa signalvärden räknas in i totalen.

[cybersyn-combinator-encoder]
title=Nätverkskodare
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).
all=Alla
none=Inga
decimal=Decimalt
hexadecimal=Hexadecimalt
binary=Binärt
octal=Oktalt
25 changes: 25 additions & 0 deletions src/prototypes/styles.lua
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,28 @@ styles["cybersyn-combinator_network-list_item-active"] = {
default_font_color = styles.button.selected_font_color,
default_vertical_offset = styles.button.selected_vertical_offset
}

styles["cybersyn-combinator_frame_semitransparent"] = {
type = "frame_style",
graphical_set = {
base = {
type = "composition",
filename = "__cybersyn-combinator__/graphics/frame/semitransparent-pixel.png",
corner_size = 1,
position = {0, 0}
}
}
}

styles["cybersyn-combinator_encoder_bit-button"] = {
type = "button_style",
parent = "flib_standalone_slot_button_grey",
size = 32,
hovered_graphical_set = styles.flib_standalone_slot_button_grey.default_graphical_set
}

styles["cybersyn-combinator_encoder_bit-button_pressed"] = {
type = "button_style",
parent = "flib_selected_standalone_slot_button_grey",
size = 32
}
2 changes: 2 additions & 0 deletions src/scripts/constants.lua
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ local constants = {
NETWORK_MASK_DISPLAY_MODE = "cybersyn-combinator-network-mask-display-mode",
NETWORK_MASK_DISPLAY_PREFIX = "cybersyn-combinator-network-mask-display-prefix",
NETWORK_MASK_USE_CS_DEFAULT = "cybersyn-combinator-network-mask-use-cs-default",
ENCODER_ZERO_INDEX = "cybersyn-combinator-encoder-zero-index",
-- Project Cybersyn settings
CS_REQUEST_THRESHOLD = "cybersyn-request-threshold",
CS_PRIORITY = "cybersyn-priority",
CS_LOCKED_SLOTS = "cybersyn-locked-slots",
Expand Down
Loading

0 comments on commit 398240e

Please sign in to comment.