Cockatrice/libcockatrice_deck_list/libcockatrice/deck_list/tree
Lukas Brübach 09260ee7d9 [DeckList] Add custom deck zones to the deck tree
Introduce user-definable zones nested under a board zone (main, side
or maybeboard) so players can organize cards inside a board without
changing board semantics.

- addCustomZone, renameCustomZone, moveCustomZone and removeCustomZone
  manage zones. Names are unique across the whole deck and the standard
  zone names (main/side/maybeboard/tokens) stay reserved.
- Board zones are created lazily on first use.
- getZoneObjFromName resolves custom names to their nested node so
  addCard and XML loading route cards into them. Unknown names keep
  creating legacy top-level zones.
- deleteNode keeps empty custom zones alive and only prunes empty
  board zones.
- New deck_list_zones test suite locks hash parity with flat decks,
  sideboard size accounting, maybeboard exclusion from plain export
  and native-format round-trips.

Took 17 minutes


Took 11 minutes
2026-08-26 02:24:12 +02:00
..
abstract_deck_list_card_node.cpp style: Add braces to all control flow statements (#6887) 2026-05-16 19:19:53 +02:00
abstract_deck_list_card_node.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
abstract_deck_list_node.cpp [DeckList] Move decklist node classes into new folder (#6381) 2025-11-30 13:05:49 +01:00
abstract_deck_list_node.h [DeckList] Add custom deck zones to the deck tree 2026-08-26 02:24:12 +02:00
deck_list_card_node.cpp [DeckList] Move decklist node classes into new folder (#6381) 2025-11-30 13:05:49 +01:00
deck_list_card_node.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
inner_deck_list_node.cpp [DeckList] Add maybeboard zone constant and skip it in exports (#7174) 2026-08-24 18:04:22 +02:00
inner_deck_list_node.h [DeckList] Add maybeboard zone constant and skip it in exports (#7174) 2026-08-24 18:04:22 +02:00