Enhance build configuration and update dependencies - #19
Conversation
VOM7HC
commented
Aug 9, 2026
- Updated CMake minimum version to 3.20 and added Windows subsystem option.
- Improved SDL surface handling with a new resizing function.
- Cleaned up unused SDL2_rotozoom includes across multiple files.
- Added vcpkg.json for dependency management with vcpkg.
- Updated .gitignore to include new build directories.
- Enhanced error logging for SDL initialization and context creation.
- Updated CMake minimum version to 3.20 and added Windows subsystem option. - Improved SDL surface handling with a new resizing function. - Cleaned up unused SDL2_rotozoom includes across multiple files. - Added vcpkg.json for dependency management with vcpkg. - Updated .gitignore to include new build directories. - Enhanced error logging for SDL initialization and context creation.
|
@vi3itor Hello Victor, I update this to newer vcpkg mainfest mode, since newer visual studio using it |
Hello! I’ve also been working on modernizing the game’s technology stack lately. Maybe we could join forces, become a team? You can take a look at my repository to see what I’ve managed to accomplish. In short: Modern build: CMake 3.16+, C++17, a single static blunted2 engine library, sources.cmake removed. Renderer migrated to OpenGL 3.2 core profile: legacy fixed-function pipeline (glBegin/glEnd, glLightfv, matrix stack) removed; rendering runs through the shader pipeline (#version 150, VAO/VBO). This is a prerequisite for future OpenGL ES (mobile) support. Builds and runs on Windows (MSVC + vcpkg), Linux (gcc) and macOS (verified on MacBook Air M2, 2026-08-13; rendering runs on the main thread as AppKit requires, the scheduler on a helper thread). Gamepad input reworked (SDL3 SDL_Gamepad): semantic SDL_GAMEPAD_BUTTON_/AXIS_ indices instead of raw joystick numbers (this fixes Xbox Series and any modern controller), PES/FIFA layout presets switched on the controller-select screen (LB/RB), menu navigation from stick and D-pad, and hot-plug (plug/unplug mid-match pauses and opens controller select). Determinism tooling: tools/determinism runs the match headless and fingerprints the simulation (SHA-1) to catch unintended gameplay changes. The mechanism — EnvState serialization, fixed 10 ms timestep, seeded RNG, mock renderer/audio — is ported from Google Research Football (the google-brain branch, GRF v2.10.1) without importing its gameplay changes. Platform references live in tools/determinism/. Project documentation lives in the wiki: docs/wiki/index.md. |
|
I fully vibe-coded my repo over the vi3itor's repo. I'm not really good at C++ and game stack, but I'm a real software (mobile) developer :) II tried to keep my changes to a minimum; I only had to modify the game at the point where the hotplug controller is used, but I think it will benefit the game. |
|
Hello @Churikov0112, quick review only: master...Churikov0112:GameplayFootball:master As I compare with current @vi3itor master, you changed 130 files code and a lot of change commits, you should split them into multi PRs Since you are mobile developer, if desktop more stable, mobile version could be later after convert GLSL to ESSL later, and we will use ANGLE for it. But now please keep each of less vibe coding until we clearly know about its system design. My experience, I got some problems full vibe coding before, now I peer-review what AI gen. |