feat: make gm registration simpler and safer#1932
Open
EmosewaMC wants to merge 2 commits intoDarkflameUniverse:mainfrom
Open
feat: make gm registration simpler and safer#1932EmosewaMC wants to merge 2 commits intoDarkflameUniverse:mainfrom
EmosewaMC wants to merge 2 commits intoDarkflameUniverse:mainfrom
Conversation
3546266 to
5bfcbb4
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR refactors the game message registration system to be simpler and safer by using template type deduction from function pointers instead of manual type specification and enum passing.
Key Changes:
- Replaced two-parameter
RegisterMsg<MessageType>(this, &Handler)with single-parameterRegisterMsg(&Handler)that deduces the message type from the handler signature - Updated all message handler functions to accept specific message types (e.g.,
GetObjectReportInfo&) instead of baseGameMsg&, eliminating the need forstatic_castoperations - Added new
IsDeadgame message struct and corresponding handler inDestroyableComponent
Reviewed Changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| dGame/dGameMessages/GameMessages.h | Added new IsDead message struct |
| dGame/dComponents/Component.h | Refactored RegisterMsg template to deduce message type from handler signature with compile-time type safety checks |
| dGame/Entity.h | Updated RegisterMsg template and added forward declarations for game messages used in Entity handlers |
| dGame/Entity.cpp | Updated all message handler signatures and registration calls to use new pattern |
| dGame/dComponents/*.h | Updated all component message handler signatures to accept specific message types |
| dGame/dComponents/*.cpp | Updated handler implementations to use typed parameters and removed static_cast operations, simplified registration calls |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
aronwk-aaron
approved these changes
Nov 16, 2025
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.
Tested that various combat and reports still function