Conversation
15243e7 to
9dc1826
Compare
b63be27 to
d6480e9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For some reason, the original Phase 1 PR was closed. I do not recall doing that at all, and I could not reopen the PR, so I created this one.
Summary
Implements the foundational basic rules for window behaviour and rendering system. Introduces the fundamental basics of debugging tools and input system, later to be improved and expanded upon.
Progress
Goals are subject to change
QoL build testing:
✅ Add workflow file - Automate building across all major platforms
✅ Implement versioning
Window Process Handling:
✅ HiDPI support - The window rescales appropriately.
✅ Windowed & borderless modes - Implemented Borderless mode that can be alternated with F11. For now, windowed mode is on by default.
➡️ Implement exclusive fullscreen mode - Moved to second phase. Exclusive full screen support requires fundamental architectural changes and refactor.
✅ Allow only single instance - Only one window can be opened at a time, and attempting to open another one will refocus the current opened instance. Controlling window behaviour from a different instance in Linux is not possible in Wayland, thus I omitted doing so in X11, so instead, a dialog box will show up.
Input:
➡️ Enable keyboard and controller input - Moved to second phase.
➡️ Architect a debug menu override system - Moved to second phase.
Fundamental rendering architecture:
✅ Implement FBO and Blit rendering system - Render a fixed resolution internally, independent of how big the window is
➡️ Render text into the pipeline - Moved to second phase. Requires character handling abstraction architecture for text object creation.
➡️ Rearchitect tick system - Moved to second phase. Big refactor is required for loop systems.
Debugging tools:
✅ Integrate Imgui in the rendering pipeline
➡️ Re-focus input to the special debugging tools - Moved to second phase.
✅ Create a toggleable basic dialog using a key combo - The key B is used to toggle the interface for now.
➡️ Create a basic interface with selectable widgets - Moved to second phase. Interactivity requires input system abstraction.
The user can interact with a debug menu, select widgets, and close the menu, the widgets staying persistently, and input focus goes back to the main program