Skip to content

Implements game engine/framework systems - #4

Merged
cppcooper merged 49 commits into
developfrom
refactors-glengine
Sep 22, 2026
Merged

cppcooper merged 49 commits into
developfrom
refactors-glengine

Conversation

@cppcooper

Copy link
Copy Markdown
Owner

Some new features had been implemented ~1 year ago? I dunno I wrote the majority of the code a long while ago - with the chaos of living with Randy et al. I got burnt out and never finished the refactor since there was never enough peace and quiet with which to think and write code. Since I'm done with.. other.. projects (A Universal Union; blockchain voting/civic engagement layer for democracy).. and interests(spiritual awakening/alignment; integrating science and stuff).. for the foreseeable future.. I figured it was finally time to get back at this.

After a few days it seems like this engine is nearly up and running, I thought there was a lot more left to do.. so might find something massive still undone. Maybe the input integration/implementation?

Off the top of my head this PR includes:

  • ObservedVariables
  • EventSystem
  • glEngine refactor
  • new class OpenGLRenderer

Probably other things, but they aren't as easy to identify.

several adjustments to the graphics systems were made
- preventing crashes
- ensuring compilation
- ensuring a window would render
- preventing freezing on the swap buffer call
This fix is waiting on glfw to fully implement glfwGetMonitorContentScale
cppcooper and others added 19 commits January 16, 2026 11:54
- Expand the 1.0 schema with namespaces, nested grids, pivots, views, orientations, reusable profiles, timed animation clips, and Wang/bitmask autotiles.
- Migrate all seven manifests while preserving every prior atlas entry and physical asset region.
- Apply the verified MiniWorld Swordsman animation profile and actor/projectile pivot behavior.
- Import exact Puny World animation timings and both authored Wang sets from the matching Tiled source.
- Document the loader contract, numeric pivot math, implementation order, and remaining non-blocking artwork metadata.
- Relocate the asset-manifest format guide and remaining metadata TODO out of the runtime asset directory.
- Update the documented schema path for the new top-level documentation location.
- Parse and semantically validate manifest 1.0 into GL-independent typed definitions
- Orchestrate texture loading before namespaced sprite and tileset construction
- Preserve numeric pivots, views, orientations, facings, timed animations, and autotile lookup data
- Build shared row-major grid geometry and extend runtime asset accessors and frame handling
- Validate every checked-in manifest with focused headless regression coverage
- Document the runtime flow and remaining animation and tile-map integration work
- Fix shader dispatch, bitmap-font vertex accounting, and integration build dependencies
- add the CLion-derived clang-format configuration at the repository root
- document formatting, naming, include, and scope conventions under docs
- align the manifest loader and related runtime asset code with repository style
- keep legacy-only files limited to formatting the lines touched by the loader work
- make modernized loader headers self-contained with direct standard-library includes
- link shader2d vertex and fragment stages explicitly while preserving existing shader stage keys
- read and bake system fonts with glyph advances, line metrics, and alpha atlas sampling
- replace core-profile-incompatible 2D quads with triangles and update the demo text path
- cover portable font selection and 2D geometry with focused unit tests
- Keeps all suites in the existing all-tests executable
- Preserves CHERYL_SOURCE_DIR for manifest fixtures
@cppcooper

Copy link
Copy Markdown
Owner Author

Blasting through a lot of stuff with GPT-5.6 Sol. Testing looks pretty good and we're just gonna keep blasting away at architectural issues so we can get to rewriting old projects or writing new projects in the new engine builds.

modus operandi: implement changes, test, merge, review code, perform targeted testing if necessary, refactor if necessary

In other words.. merge it!!

@cppcooper
cppcooper merged commit 7742890 into develop Sep 22, 2026
@cppcooper
cppcooper deleted the refactors-glengine branch October 15, 2026 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant