Commit Graph

  • 1b52c87b0e feat(ui): add scroll support for hand cards dev Kieran Kihn 2025-12-18 23:34:24 +08:00
  • 150e29c25c feat(ui): add dynamic scaling support Kieran Kihn 2025-12-18 11:42:29 +08:00
  • 6276dbdea3 fix(ui): reset selected-card-index on card draw button click Kieran Kihn 2025-12-17 23:37:36 +08:00
  • 68ccfe2147 fix(game): ensure drawCount_ is reset in GameState::endGame Kieran Kihn 2025-12-17 23:37:25 +08:00
  • 5f11c609c1 feat(logging): enable fine-grained spdlog levels based on build type Kieran Kihn 2025-12-11 23:07:46 +08:00
  • 2fa428a493 fix(game): add initialization for drawCount_ in GameState classes Kieran Kihn 2025-12-11 23:07:22 +08:00
  • 49b30a7d5a chore: copy assets to output directory post-build Kieran Kihn 2025-12-11 22:47:54 +08:00
  • c2a57dba81 feat(logging): integrate spdlog for enhanced logging and debugging Kieran Kihn 2025-12-11 22:47:33 +08:00
  • 11fc7cd74d chore: restructure build targets and add runtime DLL copy logic Kieran Kihn 2025-12-11 12:32:19 +08:00
  • b0212161ac fix(ui): simplify GamePage animation logic Kieran Kihn 2025-12-11 11:18:10 +08:00
  • d494f1af75 style: style library linking in CMakeLists.txt Kieran Kihn 2025-12-11 10:48:11 +08:00
  • 206286d191 feat(assets): add Windows resource file and icon to executables Kieran Kihn 2025-12-11 10:47:16 +08:00
  • f1f61516f7 chore: correct debug configuration check on Windows Kieran Kihn 2025-12-10 22:37:46 +08:00
  • a3b6117580 feat(game): update card comparison to exclude wild cards main Kieran Kihn 2025-12-10 22:31:43 +08:00
  • d8d39f713d fix(ui): correct player rotation logic in GameUI Kieran Kihn 2025-12-10 22:31:28 +08:00
  • 84d81cf2f0 fix(ui): handle unreachable default case in GameUI switch statement Kieran Kihn 2025-12-10 22:31:19 +08:00
  • 3fa3dbcb2a fix(ui): bind turn state to TouchArea and player component Kieran Kihn 2025-12-10 22:30:44 +08:00
  • 955aa0956d feat(ui): add AFTER_GAME state and restart flow in GameUI Kieran Kihn 2025-12-10 22:30:25 +08:00
  • bdc1252259 feat(assets): add card SVG assets for gameplay Kieran Kihn 2025-12-10 21:48:11 +08:00
  • df6bbee5d7 feat(ui): add GamePage with player actions and game state display Kieran Kihn 2025-12-10 21:47:01 +08:00
  • 79c4170aa8 refactor(ui): reorder properties in StartPage and ConnectPage for consistency Kieran Kihn 2025-12-10 21:46:44 +08:00
  • a161b55f35 test: update assertions to use player ID and standardize card serialization format Kieran Kihn 2025-12-10 21:45:44 +08:00
  • fb9f308635 feat(ui): enhance GameUI with active game state updates and player actions Kieran Kihn 2025-12-10 21:44:34 +08:00
  • 4420552a84 feat(game): add getSelfId method to ClientGameState Kieran Kihn 2025-12-10 21:44:05 +08:00
  • d1f87d8113 refactor(game): replace player iterator with player ID in GameState functions Kieran Kihn 2025-12-10 21:43:53 +08:00
  • 8d9f76eab3 refactor(game): standardize card color and type serialization format Kieran Kihn 2025-12-10 21:41:30 +08:00
  • 59f8ac8186 fix(client): add destructor to UnoClient for resource cleanup Kieran Kihn 2025-12-10 21:40:58 +08:00
  • 5ff38c2bde feat(client): validate and handle wild card type in handlePlayerPlayCard Kieran Kihn 2025-12-10 21:40:37 +08:00
  • 592ae1ad23 refactor(ui): update Slint UI paths and update CMakeList.txt accordingly Kieran Kihn 2025-12-09 20:17:12 +08:00
  • bea9caa078 feat(ui): add ConnectPage, StartPage, and MainWindow components Kieran Kihn 2025-12-09 20:07:12 +08:00
  • 63e87aa3e9 feat(ui): add reusable Button and LabeledInput components using Slint Kieran Kihn 2025-12-09 20:06:58 +08:00
  • 7bb302a672 chore: include PlayerAction and GameUI in build targets Kieran Kihn 2025-12-09 20:06:22 +08:00
  • 4eecc0a269 feat(ui): add GameUI class for handling game UI and player actions Kieran Kihn 2025-12-09 20:06:13 +08:00
  • 095a34af1c chore: integrate Slint UI framework and update build configuration Kieran Kihn 2025-12-09 20:05:35 +08:00
  • c6342469df test(game): remove player name from ClientGameState constructor in test Kieran Kihn 2025-12-09 20:03:37 +08:00
  • 25a0a66c93 feat(client): introduce UnoClient with network and UI integration Kieran Kihn 2025-12-09 20:03:21 +08:00
  • 5eee316acf feat(game): add player name management methods Kieran Kihn 2025-12-09 19:43:51 +08:00
  • 3b31dd2dcc feat(game): add setClientGameStageConnected method to manage client state transitions Kieran Kihn 2025-12-09 19:43:41 +08:00
  • 41936b3525 test(network): expand NetworkClientTest with connection and send tests Kieran Kihn 2025-12-09 19:42:45 +08:00
  • 98a7ef7d41 feat(network): add async connect with onConnect callback Kieran Kihn 2025-12-09 19:42:26 +08:00
  • d5f996df6c feat(client): add PlayerAction struct and payload types Kieran Kihn 2025-12-09 17:10:44 +08:00
  • 6ab5550fd3 fix(server): update playerId type in UnoServer lambda Kieran Kihn 2025-12-09 17:10:17 +08:00
  • f968b4d3f2 test(network): add empty player list to InitGamePayload serialization tests Kieran Kihn 2025-12-07 19:33:43 +08:00
  • 9ae3b9cc89 test(game): simplify card play and player initialization in tests Kieran Kihn 2025-12-07 19:33:29 +08:00
  • d266f1c514 refactor(server): move addPlayer implementation to ServerGameState Kieran Kihn 2025-12-07 19:32:40 +08:00
  • a1c46b8c9b refactor(server): enhance turn validation and game state handling Kieran Kihn 2025-12-07 19:03:45 +08:00
  • 0802d989f8 refractor(game): enhance state management with clear and endGame methods Kieran Kihn 2025-12-07 19:03:13 +08:00
  • ebb49a02ef refactor(network): replace PlayerPublicState with ClientPlayerState Kieran Kihn 2025-12-07 13:59:40 +08:00
  • 5196de460a refactor(game): simplify card play logic Kieran Kihn 2025-12-07 13:57:54 +08:00
  • ea87fca1fd fix(network): ensure write continuation upon successful async_write Kieran Kihn 2025-12-04 17:17:32 +08:00
  • 8335769cc8 feat(network): enhance NetworkClient with run and stop methods Kieran Kihn 2025-12-04 17:17:24 +08:00
  • 024f99fc01 feat(network): add PlayerPublicState to InitGamePayload Kieran Kihn 2025-12-04 17:15:49 +08:00
  • a136e309e6 chore: include Session.cpp in build configuration Kieran Kihn 2025-12-04 16:40:03 +08:00
  • 0e9f5bc924 test(network): simplify and consolidate NetworkClientTest Kieran Kihn 2025-12-04 16:39:47 +08:00
  • b22f88aa60 fix(server): include playerId in InitGamePayload initialization Kieran Kihn 2025-12-04 16:39:24 +08:00
  • 731ed5a890 feat(network): add playerId to InitGamePayload Kieran Kihn 2025-12-04 16:21:11 +08:00
  • 1d2e77aca3 refactor(network): integrate NetworkClient with Session Kieran Kihn 2025-12-04 14:42:22 +08:00
  • 7363556ad5 feat(game): add init method to ClientGameState Kieran Kihn 2025-12-04 13:28:56 +08:00
  • 766e9f9a21 feat(server): add game reset and end game handling Kieran Kihn 2025-12-04 13:28:36 +08:00
  • 535e62c852 feat(server): add argument parsing for server port Kieran Kihn 2025-12-04 10:22:37 +08:00
  • 5f3a4083fd chore: update CMake library visibility for dependencies Kieran Kihn 2025-12-02 12:31:01 +08:00
  • 0d5a187cba feat(server): implement Uno server functionality Kieran Kihn 2025-12-02 12:28:59 +08:00
  • 4b498e3b4a test(network): update tests to reflect InitGamePayload changes Kieran Kihn 2025-12-02 12:28:12 +08:00
  • 271d89df0d refactor(network): change DrawCardPayload::drawCount to size_t Kieran Kihn 2025-12-02 12:17:28 +08:00
  • 016e87288d refactor(network): replace HandCard with std::multiset<Card> in InitGamePayload Kieran Kihn 2025-12-02 12:06:21 +08:00
  • 8a00b66047 refactor(game): return drawn cards in updateStateByDraw Kieran Kihn 2025-12-02 12:06:06 +08:00
  • e5304b8c6c refactor(game): simplify GameState construction and initialization Kieran Kihn 2025-12-02 11:08:42 +08:00
  • a650b61610 chore: split client and server executables Kieran Kihn 2025-12-01 23:34:22 +08:00
  • e3821e9f6d chore: update .gitignore to exclude cmake-build-debug-with-coverage/ Kieran Kihn 2025-12-01 15:07:35 +08:00
  • a8ed0f6397 chore: Removed /utf-8 option from ftxui compile options for Clang to improve compatibility. Kieran Kihn 2025-12-01 15:07:22 +08:00
  • a10674fbd3 test(network): add unit tests for NetworkClient and NetworkServer Kieran Kihn 2025-11-29 18:52:08 +08:00
  • c2ccaaf17e fix(network): ensure disconnect before connect in NetworkClient Kieran Kihn 2025-11-29 18:51:58 +08:00
  • 12d1d6c93f fix(network): call accept on NetworkServer initialization and after player addition Kieran Kihn 2025-11-29 18:51:41 +08:00
  • b6144d33e9 fix(network): reattempt read in NetworkServer after message handling Kieran Kihn 2025-11-29 18:51:30 +08:00
  • 27cf988ee5 fix(network): validate and reattempt read if message length is invalid Kieran Kihn 2025-11-29 18:51:18 +08:00
  • 3dd07e4b20 fix(network): use shared pointer for message length in Session::read Kieran Kihn 2025-11-29 18:50:44 +08:00
  • f4f66bb397 fix(network): send message length before body Kieran Kihn 2025-11-29 18:50:17 +08:00
  • b0b6d78630 feat(network): add stop method to NetworkServer Kieran Kihn 2025-11-29 18:47:33 +08:00
  • 042ab95dda feat(network): add NetworkClient for TCP communication Kieran Kihn 2025-11-28 22:22:03 +08:00
  • 84c470859b feat(network): add NetworkServer for managing player sessions and communication Kieran Kihn 2025-11-28 20:40:14 +08:00
  • def62a18c6 test(network): enhance MessageSerializerTest with MessageStatus coverage Kieran Kihn 2025-11-23 15:03:09 +08:00
  • a341b7330b test(game): fix CardTest expectations for colorToString output Kieran Kihn 2025-11-23 15:02:49 +08:00
  • db69b399ec refactor(game): remove redundant colorToString logic for wild card types Kieran Kihn 2025-11-23 15:02:30 +08:00
  • 7300de3fe4 feat(network): refactor MessageSerializer for modular serialization and validation Kieran Kihn 2025-11-23 15:02:14 +08:00
  • 7301a2c787 feat(network): enhance Message validation and add EMPTY payload type Kieran Kihn 2025-11-23 15:01:08 +08:00
  • 6c50c600bf chore: update .clang-format configuration Kieran Kihn 2025-11-23 14:58:55 +08:00
  • 09f252e443 chore: update .gitignore to exclude build/ directory Kieran Kihn 2025-11-21 22:53:49 +08:00
  • 6757f559ea test(network): add MessageSerializerTest for serialization and deserialization coverage Kieran Kihn 2025-11-21 22:53:35 +08:00
  • 6ea7ad71c2 feat(network): add MessageSerializer for message serialization/deserialization Kieran Kihn 2025-11-21 22:50:31 +08:00
  • 820358e0a3 feat(network): add Message class with payload types Kieran Kihn 2025-11-21 22:49:23 +08:00
  • 6393a5b311 chore: update CMakeList.txt Kieran Kihn 2025-11-20 13:32:15 +08:00
  • 65b932fc47 chore: update .gitignore Kieran Kihn 2025-11-20 13:30:27 +08:00
  • e78741bd9d refactor(game): encapsulate Player and ClientGameState state management Kieran Kihn 2025-11-18 17:15:07 +08:00
  • 23cd94e656 test(game): refine GameStateTest while-loop logic and assertions Kieran Kihn 2025-11-17 22:11:14 +08:00
  • 423c237a39 fix(game): remove redundant PlayerState::play call in GameState::play Kieran Kihn 2025-11-17 22:10:16 +08:00
  • b027e5c4db fix(game): update Card::canBePlayedOn to include draw count validation Kieran Kihn 2025-11-17 21:33:36 +08:00
  • b7dcaabc28 test(game): add GameStateTest for client and server game state validation Kieran Kihn 2025-11-17 21:17:56 +08:00
  • e5f9666ff0 test(game): refactor PlayerTest to use HandCard::draw method instead of array constructor Kieran Kihn 2025-11-17 21:17:37 +08:00
  • ebac6291b0 refactor(game): introduce draw and play methods in PlayerState and subclasses Kieran Kihn 2025-11-17 21:16:50 +08:00
  • 03e1d363e2 fix(game): move clear method to public section in CardTile Kieran Kihn 2025-11-17 21:14:59 +08:00