Skip to content

Enhance Error and Input Handling#42

Merged
amasiye merged 8 commits into
mainfrom
develop
Feb 4, 2026
Merged

Enhance Error and Input Handling#42
amasiye merged 8 commits into
mainfrom
develop

Conversation

@amasiye

@amasiye amasiye commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and refactorings across the game engine, focusing on error handling, input management, physics integration, and code quality. The most important changes include enhanced exception handling for debugging and IO operations, improved input key handling with case insensitivity, better physics engine integration with scenes, and the addition of a splash screen renderer.

Error and Exception Handling Improvements

  • Added a new DebuggingException class and updated the Debug class to use it instead of RuntimeException for logging errors, making error reporting more specific and consistent. [1] [2] [3]
  • Introduced an IOException class and refactored InputManager to throw IOException instead of RuntimeException when non-blocking mode operations fail. [1] [2]

Input Handling Enhancements

  • Refactored key press detection methods in InputManager and Input to support case-insensitive key matching, improving reliability for user input across different cases. [1] [2] [3]
  • Improved axis calculation logic in InputManager for more accurate directional input handling.

Physics Engine and Scene Integration

  • Integrated the Physics engine into SceneManager, initializing physics and registering colliders from game objects when a scene loads, ensuring physics simulation is ready for each scene. [1] [2] [3] [4]
  • Expanded the Physics class to track world bounds and collisions, and refactored the simulation loop for better collision management. [1] [2]

Rendering and Game Lifecycle

  • Added a new SplashScreen renderer for displaying a splash screen at game startup, including texture loading and rendering logic.
  • Improved game shutdown and error handling in Game.php by restoring console settings and resetting on stop, and handling last errors in the destructor. [1] [2] [3] [4]

General Refactoring and Documentation

  • Renamed methods and documentation from createWordsSpace to createWorldSpace in scenes for clarity. [1] [2]
  • Updated composer.json to use newer versions of development dependencies.

Let me know if you'd like a deeper dive into any of these areas!

@amasiye amasiye merged commit 0a14468 into main Feb 4, 2026
0 of 2 checks passed
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