Port BobsGameUserStats and StadiumGameEngine and fix CMake C++17 properties#14
Port BobsGameUserStats and StadiumGameEngine and fix CMake C++17 properties#14robertpelloni wants to merge 28 commits into
Conversation
- Ported `BobsGameUserStats` from `BobsGameOnlineJava` reference, translating its logic to C++ using `Poco::JSON` for serialization. - Ported `StadiumGameEngine` base class and updated `OKGameStadium` and `BobsGameStadium` to inherit from it, mirroring the Java class hierarchy. - Fixed `CMakeLists.txt` linking by enforcing `C++17` required by `libpoco` and correctly linking the `Poco::Foundation` and other components into the main `bobsgame` target. - Added `BobsGameOnlineJava` as a git submodule to ensure reference source alignment. - Bypassed several deep SDL3 missing component issues by disabling X11 subsets during compilation testing in the sandbox. Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Mention Blocks like a regular teammate with your question or request: @blocks review this pull request Run |
The GitHub Actions CI was failing during the `actions/checkout` step because the `bobsgameonlinejava` repository (which was temporarily added as a reference) contained a broken nested submodule (`references/grafx2`) that no longer existed upstream. Since the required classes have already been successfully ported to C++, the `bobsgameonlinejava` repository is no longer needed in the workspace and has been removed from `.gitmodules` entirely to fix the recursive fetch pipeline. Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
The GitHub Actions CI was failing on both Linux and Windows due to `git` failing to recurse into the `bobsgameonlinejava` submodule because a specific commit in one of *its* nested submodules (`bobsgameonlinejava/references/grafx2`) couldn't be fetched (`remote error: upload-pack: not our ref`). This completely removes the `bobsgameonlinejava` submodule from the repository and `.gitmodules` to resolve the GitHub Actions `actions/checkout` failure. Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
- Added missing X11/Wayland and audio development headers (libxcursor-dev, libpulse-dev, libxtst-dev, etc.) to the GitHub Actions workflow for the Linux build to ensure SDL3 compiles successfully. - Fixed `CMakeLists.txt` to only append `-fpermissive` on non-MSVC compilers, preventing configuration failures on Windows. - Corrected an invalid `add_subdirectory` path (`lib/GWEN-master/gwen` -> `lib/GWEN/gwen`) that was causing fatal CMake errors. - Removed commented-out `OPENGL_INCLUDE_DIR` from the `BOBSGAME_INCLUDE_DIRS` to prevent `-NOTFOUND` evaluation errors. Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
- Added missing X11/Wayland and audio development headers (libxcursor-dev, libpulse-dev, libxtst-dev, etc.) to the GitHub Actions workflow for the Linux build to ensure SDL3 compiles successfully. - Fixed `CMakeLists.txt` to only append `-fpermissive` on non-MSVC compilers, preventing configuration failures on Windows. - Corrected an invalid `add_subdirectory` path (`lib/GWEN-master/gwen` -> `lib/GWEN/gwen`) that was causing fatal CMake errors. - Removed commented-out `OPENGL_INCLUDE_DIR` from the `BOBSGAME_INCLUDE_DIRS` to prevent `-NOTFOUND` evaluation errors. Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
…nd match tracking Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
…g as completed Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
…rboards Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
This PR ports over the missing
UserStatsandStadiumGameEngineclasses from the Java reference repository (BobsGameOnlineJava).It includes:
BobsGameUserStats(UserStats.h/cpp) translating the original statistics tracking variables and addingPocoJSON mapping.StadiumGameEnginewhich is used as the base class for the lobby-style network interfacesOKGameStadiumandBobsGameStadium.CMakeLists.txtenforcingC++17natively, which resolves compilation breaking onPoco, and ensures the Poco dependencies are properly linked to the main target.Note: The final executable compilation still hits missing package definitions deep within the
GWEN/SDL3submodules due to Sandbox environment limitations with missing X11 extensions (GL/glu.h,GL/glxew.h). As requested in the prompts, we proceeded "blindly" based on the successful compilation of the specific port objects.PR created automatically by Jules for task 3143883231752949580 started by @robertpelloni