Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc refactoring and bug fixes. #108

Merged
merged 11 commits into from
Jul 19, 2024
Merged

Misc refactoring and bug fixes. #108

merged 11 commits into from
Jul 19, 2024

Conversation

highbyte
Copy link
Owner

PR Classification

This pull request encompasses a comprehensive refactoring and enhancement of system component interfaces and implementations, focusing on simplification, standardization of lifecycle management, and improved system component integration within a .NET project for Commodore 64 and generic computer system emulation.

PR Summary

The pull request introduces significant refactoring across system runners, input, audio, and renderer components to streamline initialization, cleanup, and system component interactions. Key changes include the removal of generic interfaces in favor of more unified and simplified designs, and the introduction of new lifecycle management methods across various system components.

  • SystemRunner class now includes enhanced constructors and lifecycle management methods (Init, ProcessInputBeforeFrame, Cleanup), aligning system components more closely.
  • Refactoring in C64SkiaRenderer2b and similar classes to implement a generic IRenderer interface, simplifying dependency on system and context types.
  • Removal of SystemRunnerBuilder and its tests, indicating a shift towards direct instantiation and configuration of SystemRunner.
  • Introduction of Init and Cleanup methods in context interfaces (IAudioHandlerContext, IInputHandlerContext, IRenderContext), standardizing component lifecycle management.
  • Significant changes in input and audio handler interfaces and implementations to remove generics and streamline initialization and frame processing methods.

highbyte added 11 commits July 18, 2024 00:11
…the Renderer, InputHandler, and AudioHandler as is used for emulation.
…r to reduce unnecessary complexity.

Make SystemRunner more obvious to use.
Remove SystemRunnerBuilder.
… AudioHandlers (and their associated context objects) to be more consistent.
…4.1. This fixes WASM host rendering to work in debug mode again.
…illity to stop playing sound when Cleanup is called, not the SystemRunner).
Copy link

@highbyte highbyte merged commit efe1bf2 into master Jul 19, 2024
5 checks passed
@highbyte highbyte deleted the feature/misc-refactoring branch July 19, 2024 14:26
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