* Player refactor.
Took 1 hour 43 minutes
Took 1 minute
Took 23 seconds
* Tiny lint.
Took 3 minutes
* Hook up tap logic again.
Took 13 minutes
* Fix an include.
Took 3 minutes
* Stuff.
Took 6 minutes
* Fix typo.
Took 7 minutes
* Include.
Took 1 minute
* Reorganize method/variable definitions, remove unused ones.
Took 1 hour 8 minutes
Took 24 seconds
* Clean up some unused imports.
Took 6 minutes
* Player holds the deck, emits deckChanged(), other elements player->getDeck() to respond to changes.
Took 37 minutes
* Connect player->openDeckEditor signal directly in the player constructor
Took 6 minutes
* Emit openDeckEditor signal in player_actions again.
Took 3 minutes
* Do to-do's
Took 3 hours 32 minutes
* Lint.
Took 3 minutes
* Lint again.
Took 2 minutes
* Fix include.
Took 32 minutes
* The stack should ensure card visibility.
Took 21 minutes
* Fine, the game can remember the tab.
Took 10 minutes
Took 21 seconds
Took 9 seconds
* zoneId is a dynamic gameplay property and thus belongs in player.cpp
Took 11 minutes
Took 19 seconds
* Signal view removal, addition.
Took 5 minutes
* Ensure all players are considered local in local game.
Took 10 minutes
* ENSURE they are.
Took 8 minutes
* Bounds check data sent by QAction()
Took 54 minutes
* Move comment.
Took 20 seconds
* Reimplement logging category for game_event_handler.cpp, remove linebreaks.
Took 36 seconds
* PlayerGraphicsItem is responsible for retranslateUi, not Player.
Took 14 seconds
* Set menu for sideboard again, translate some menu titles, reimplement actIncPT action
Took 54 seconds
* Comment spacing.
Took 43 seconds
* Change message_log_widget.cpp slots to take CardZoneLogic parameters as emitted by PlayerEventHandler.
Took 7 minutes
Took 14 seconds
* Remove unused player_logger.cpp
Took 2 minutes
* Query local game state correctly from tab_supervisor again
Took 3 minutes
* Revert Deck legality checker.
Took 3 minutes
* Instantiate menu before graphics item.
Took 1 hour 5 minutes
Took 55 minutes
* Differentiate games and replays.
Took 9 seconds
* Lint.
Took 10 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Move game state and event handling out of tab_game and into separate classes.
Took 6 hours 38 minutes
Took 23 seconds
* Meta Info
Took 14 hours 36 minutes
* Properly respond to game started again.
Took 49 minutes
* Hook up the message log widgets to game events again.
Took 33 minutes
Took 7 seconds
* Lint.
Took 4 minutes
* Hook up playerListWidget.
Took 1 hour 2 minutes
Took 10 seconds
* Hook up playerListWidget properly.
Took 1 hour 17 minutes
* Fix regressions.
Took 17 minutes
Took 9 seconds
* Log the local player joining too.
Took 2 minutes
* Connect some player signals unrelated to this refactor again.
Took 5 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* new protos
* implement commands on server
* add buttons
* icons
* run formatter
* Message on get replay code failure
* Add new commands to switch statement
* Better failure messages
* Fix permission check query
* Change hash method
* Prevent adding duplicate replays
* Clean up TabReplay ui
* Copy over replay name
* base64 encode the hash
* Shorten hash
* Better failure messages
* change icon back to search icon
* check hash before checking if user already has access
* update share icon
* Update label text
* Add option to share decklists on load.
Took 1 hour 58 minutes
Took 9 minutes
Took 39 minutes
* Lint.
Took 14 minutes
Took 2 minutes
* Stuffs
Took 39 minutes
Took 4 seconds
Took 43 minutes
* Process local player first.
Took 45 minutes
* Consider if the setting is set on the game info first.
Took 4 minutes
* Save an indent level.
Took 43 seconds
* Don't commit logging config.
Took 3 minutes
* Remove a debug print.
Took 10 seconds
Took 7 seconds
* Add another optional guard.
Took 5 minutes
* Hide the tab bar if only one (own deck) is visible.
Took 9 minutes
* Rename setting label for clarity
Took 2 minutes
* Capitalization.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* extract cardMenu from CardItem
* move cardMenu saving to TabGame
* delete TabGame::updateCardMenu
* move checking to updateCardMenu
* unset activeCard when all cards are unselected
Tokens created through Ctrl + T use the pinned printing, if available.
Tokens created through a related card menu use a token from the same set, if available.
Took 2 hours 25 minutes
Took 10 seconds
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Add sort hand shortcut
* add function to sort hand by type and name
* rig up the sort hand to the player
* fix sorting param
* use getShortcut instead of getSingleShortcut
* use correct method
* change default sorting
---------
Co-authored-by: Zach H <zahalpern+github@gmail.com>
* Add method to increment all counters on cards on table
* add keyboard shortcut
* register action for menu
* register action for menu
* Change menu text
* Move to Counters submenu
* Change function name
* Change menu, update function to handle selected vs non selected cards
* Use getShortcut instead of getSingleShortcut
Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
---------
Co-authored-by: Paul Carroll <paul.x.carroll@questdiagnostics.com>
Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
Co-authored-by: Zach H <zahalpern+github@gmail.com>
* Add the option to load decklists from Archidekt, Deckstats, Moxfield, TappedOut in deck editor and lobby.
Took 3 hours 34 minutes
Took 9 seconds
Took 12 seconds
* Properly set quantities.
Took 11 minutes
* Warnings.
Took 5 minutes
* Static regexes.
Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
* Category loggings and better warnings.
Took 18 minutes
Took 42 seconds
* use loadFromStream_Plain instead of manually adding CardNodes to the DeckList.
Took 30 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
* Allow more naming schemes for custom pictures.
Order is cardName_providerId, cardName_setName_collectorNumber, setName-collectorNumber-cardName and then just generically cardName, if the user has decided to override every printing. Most-to-least specific.
Took 2 minutes
Took 8 seconds
* Fixups.
Took 2 minutes
* Even more naming schemes.
Took 6 minutes
* Finally yeet the bug warning in PrintingSelector
Took 3 minutes
* Adjust to PrintingInfo change.
Took 5 minutes
* Don't use suffixes.
Took 7 minutes
Took 9 seconds
* Comments.
Took 2 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Inline getCardFromMap
map.value already returns a default-constructed value if the key is not present
* Use for-each instead of iterator
* Add new method
* clean up method order
* fix build failure
* clean up getPreferredPrinting usage
* early returns
* remove unnecessary consts
* removed unused
* rename class
* rename variables and methods
* rename again
* rename variables again
* rename field
* run formatter
* [PictureLoader] Reduce downtime between load attempts
* rename some stuff
* better comments
* Fix segfault from status bar
Pass just the relevant data through the signals to the status bar, instead of passing the entire Work object.
That way the data is detached from the Work object and we won't segfault when Work self-deletes before status bar tries to use that data.
* Rename method
* [PictureLoader] Properly run reply processing on Work's thread
* emit cachedImageHit first
* Remove unused fields
* Remove unused fields
* Fix double free requests from cache hit
If we hit a cached url, the request already gets to skip the queue.
By sending another free request once the cached request finishes, we're actually sending two free requests on each cache hit.