* [Server][Game][Arrows] Properly notify clients when deleting arrows on card move and transform into
Took 15 minutes
* Observe "not found" response
Took 18 minutes
Took 4 seconds
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [Game][Arrows] Deleting arrows has no acknowledgement command so we have to delete locally as well.
Took 22 minutes
* Fix properly.
Took 15 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Previously, minOffset (10px) was enforced unconditionally, causing card
tops to overflow zone bounds when many cards were stacked. For example,
50 cards in a 200px zone would place the last card's top at y=490.
Now offsets compress below minOffset when necessary to keep all card
tops visible. The constraint is guarded by !allowBottomOverflow to
preserve future clipping zone semantics.
* Refactor server counter API to own overflow protection and filter no-op events
Counter modifications now clamp to int bounds server-side and return change
status, allowing command handlers to skip network broadcasts when values
don't actually change.
* Centralize MAX_COUNTERS_ON_CARD and enforce [0, 999] bounds on server
- Move MAX_COUNTERS_ON_CARD to trice_limits.h
- Server clamps values in setCounter() and incrementCounter()
- Client uses clamped comparison to allow recovery from invalid states
- Add tests for clamping behavior
* move incrementCount() implementation from header to cpp
* [Game][Arrows] Split Arrows into ArrowData and ArrowItem
Took 13 minutes
Took 5 seconds
Took 1 minute
Took 26 seconds
* Address comments.
Took 17 minutes
Took 9 seconds
Took 1 minute
* Change check.
Took 3 minutes
* Pass by const reference.
Took 10 minutes
* Remove extra method
Took 2 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [Counters] Split counters into graphics and logic states
Took 22 minutes
* Don't have widget hold pointer to state -> Copy what we need and subscribe to changes.
Took 12 minutes
Took 5 seconds
* Sync value too.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [Player] Stop reaching into graphics_item and emit signals instead for conceded and zoneId
Took 7 minutes
Took 3 seconds
* Add sameValue check.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [Game] Move state fields out of CardItem
Took 1 hour 2 minutes
* Move stuff into .cpp
Took 14 minutes
* Signals pass changed values as params
Took 2 minutes
* Comments.
Took 23 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [Game/Zones] Simple move refactor to differentiate between logic and graphics for zones
Took 21 minutes
* Clean up game/zones/logic folder.
Took 6 minutes
* Adjust tests.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [App/Theme] Palette Editor
Took 1 minute
Took 1 hour 47 minutes
Took 6 seconds
Took 3 minutes
Took 5 minutes
Took 3 minutes
* Add oracle, add palette files and configs.
Took 10 minutes
* Fix a stupid include mistake, thanks IDE
Took 3 minutes
Took 20 seconds
* Includes.
Took 4 minutes
* Fix ampersand not displaying correctly.
Took 14 minutes
* Longer variable names.
Took 10 minutes
Took 5 seconds
* Change ampersand everywhere
Took 23 seconds
* Doxygen properly.
Took 1 minute
* Remove namespace, fold I/O into structs.
Took 12 minutes
* Remove namespace, fold I/O into structs.
Took 33 seconds
* Alphabetize.
Took 35 seconds
* Lint.
Took 49 seconds
* Add a combo box to quick switch settings.
Took 19 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [PictureLoader] Allow saving downloaded images to local storage and not just the QNetworkManager cache.
Took 1 hour 11 minutes
Took 4 seconds
Took 25 seconds
* Give people options from a dropdown.
Took 1 hour 6 minutes
Took 3 seconds
* Simplify directory removal code.
Took 5 minutes
Took 8 seconds
* Merge pull request #8
* Create new category for new settings
* Split off storage settings
Took 47 minutes
Took 4 seconds
* Allow toggling between caching methods.
Took 1 hour 30 minutes
Took 9 seconds
* Adjust settings dialog.
Took 5 minutes
Took 59 seconds
Took 22 seconds
Took 6 seconds
* tr() strings
Took 1 minute
Took 6 seconds
* Readjust layout, default naming scheme.
Took 5 minutes
* Add stretch.
Took 9 minutes
* Make scrollable.
Took 2 minutes
* Add icon.
Took 7 minutes
* Change naming to be uniform.
Took 3 minutes
Took 3 seconds
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
* style: Add braces to all control flow statements
Standardize code style by adding explicit braces to all single-statement
control flow blocks (if, else, for, while) across the entire codebase.
Also documents the InsertBraces clang-format option (requires v15+) for
future automated enforcement.
* InsertBraces-check-enabled
* [VDD] Fix minimum size by adding a compact mode to quickSettingsButtons
Took 17 minutes
Took 5 seconds
* Fix and use FlowWidget/FlowLayout
Took 35 minutes
Took 4 seconds
* Set spacings.
Took 12 minutes
* Make VDE tools flow
Took 1 hour 23 minutes
Took 5 seconds
* Squeeze and flow even more.
Took 11 minutes
* Make pushbutton compact.
Took 54 minutes
Took 7 seconds
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>