Skip to content

Damage reporting fixup: Remove m_rfAttacker arrays from the client, just rely on UserMessage#2028

Open
nullsystem wants to merge 10 commits into
NeotokyoRebuild:masterfrom
nullsystem:FixupDmgInfoDataSync
Open

Damage reporting fixup: Remove m_rfAttacker arrays from the client, just rely on UserMessage#2028
nullsystem wants to merge 10 commits into
NeotokyoRebuild:masterfrom
nullsystem:FixupDmgInfoDataSync

Conversation

@nullsystem

@nullsystem nullsystem commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Description

The 1st commit in this branch has demoed when the server sends over the damage hit values via UserMessage, this is the reliable and actual number the server have. So if we're using UserMessage, might as well have the scoreboard take it from that instead (which just transmits once on death like the killer infos) and save having to transmit those arrays through the network tables constantly.

Also enabled damage report for deathmatch/respawnables, properly clearing index other held on spawning. CNEORules::PlayerKilled also changed to only deal with the scores server side: there wasn't a point in modifying it client side when those XP scores are enforced and transmitted by the server anyway and also FetchAssists server side only now. Renamed c_neo_killer_infos.h/cpp to c_neo_killer_damage_infos.h/cpp and move message fetch and printout to there.

Minor refactor on scoreboard info update handling, zero the scoreboard info array before updating.

Removed unused code paths.

Toolchain

  • Linux GCC Distro Native Arch/GCC 16

Linked Issues

First is to drop unnecessary prediction for damages variables and second
is to make sure the console takes the damage+hit values straight from
the server instead which matches up with scoreboard's synced damage data.

TODO: Maybe the scoreboard can also just use the console and drop the
syncing entirely?
The previous commit has demoed when the server sends over the damage
hit values via UserMessage, this is the reliable and actual number
the server have. So if we're using UserMessage, might as well have
the scoreboard take it from that instead and save having to transmit
those arrays.

Also enabled damage report for deathmatch, properly clearing index
other held on spawning.

* fixes NeotokyoRebuild#1874
@nullsystem nullsystem added the Tournament Priority Issues to be prioritized for the upcoming NT;RE tournament label Jul 23, 2026
@nullsystem
nullsystem requested a review from a team July 23, 2026 21:27
Also remove unused += function from AttackersTotals
@nullsystem
nullsystem force-pushed the FixupDmgInfoDataSync branch from 1f4d8de to 202df12 Compare July 24, 2026 07:54
@nullsystem
nullsystem force-pushed the FixupDmgInfoDataSync branch from 2c20054 to 1649832 Compare July 24, 2026 08:04
@nullsystem
nullsystem requested review from a team and removed request for a team July 24, 2026 16:49

@sunmachine sunmachine left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick read-through before dinner with family. Will review some more later this evening.

Comment thread src/game/client/neo/c_neo_killer_damage_infos.cpp Outdated
Comment thread src/game/client/neo/c_neo_killer_damage_infos.cpp Outdated
Comment thread src/game/client/neo/c_neo_killer_damage_infos.cpp Outdated
In CTG, it's improbable dmg+hits will go over 255 (unsigned char max) so
therefore just fit it in a unsigned char/a byte instead. JGR and
respawning (in a round) gamemodes could hit over 255 so fallback to
short if it happens. Also another fallback is a 2nd UserMessage in
case if it goes over the user message 255 bytes limit. Although
in CTG it is also improbable it'll even reach the bytes limit.
It will clear and record from when the takeover starts, the stats will
not include the bot's own session during the round.
@nullsystem

Copy link
Copy Markdown
Collaborator Author

Also fixed it up for bot takeover: 5e93ecc

Comment thread src/game/client/neo/c_neo_player.cpp Outdated
Comment thread src/game/server/neo/neo_player.cpp Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Tournament Priority Issues to be prioritized for the upcoming NT;RE tournament

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The damage report lies

2 participants