The visible classes are uselessly cloned in the guiinterface. This has been since the introduction in rP15195. They have never been used, and never have been needed, hence we should nuke them in favor of performance.
Details
- Reviewers
Silier - Commits
- rP24038: Remove visibleclasses from guiinterface
grep and see nothing breaks
Observe the front not falling
Look at the old commit and agree on uselessness
Look at the other values cloned in guiinterface.GetEntityState and see they are used (still some maybe shouldn;t be there, but simply removing them will error out)
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Branch
- /ps/trunk
- Lint
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 13111 Build 26010: Vulcan Build Jenkins Build 26009: Vulcan Build (macOS) Jenkins Build 26008: Vulcan Build (Windows) Jenkins Build 26007: arc lint + arc unit
Event Timeline
Build failure - The Moirai have given mortals hearts that can endure.
Link to build: https://jenkins.wildfiregames.com/job/docker-differential/3149/display/redirect
Build failure - The Moirai have given mortals hearts that can endure.
Link to build: https://jenkins.wildfiregames.com/job/macos-differential/1497/display/redirect
Build failure - The Moirai have given mortals hearts that can endure.
Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/2596/display/redirect
Or make it useful by using sim-information in the tooltip? Although I guess PetraAI would break if one changes classes in-game.
removing visibleclasses from guiinterface is reasonable
tooltips get data directly from template
petra does not call guiinterface
I did not check usefulness of other things in getentitystate
Or make it useful by using sim-information in the tooltip? Although I guess PetraAI would break if one changes classes in-game.
Note too that the current implementation is broken: from the template we store it under visibleIdentityClasses. Hence the patch letting classes be modifyable, or the patch wanting classes in the simstate, should properly implement it.
I did not check usefulness of other things in getentitystate
I did read through everything and did some greps. Didn't find more useless stuff.