Held powerups per racer in standings #26
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Reference
mintopia/blur#26
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Emit each racer's held powerups inside their
standingsentry, in the contract agreed on #19 and already consumed by the live-timing page (#24):null= empty slot, array length = that racer's slot count, key absent = unknown.src/host/race_scan.cpp), no hook. Count at racer+0xeb4(0..3); entries at*(racer+0xeac), 0x18 bytes each,i32 kindat +0. Entries past the count are stale.0xf6ea80): 0 nitro, 1 shock, 2 shunt, 3 bolt, 4 barge, 5 mine, 6 repair, 7 shield. Share the name table withhit_event.cpp(which currently stops at repair).+0xea0(stays -1 for remote racers on LAN).Acceptance criteria
BLUR_ENGINE=recomp: every racer haspowerups; the local racer's matches the HUD through collect and firepowerupsmatch on both instancesdocs/state-websocket.mddocuments the fieldBlocked by
None (ADR 0017 has the offsets).
Implemented:
powerupsper racer instandings(always 3 slots, names via sharedhit::powerup_name, now incl. shield; key absent if queue not read). Scan reads+0xeb4count and*(+0xeac)entries inrace_scan.cpp. Unit tests added inrace_feed_test(empty, partial, full, unknown kind, absent);docs/state-websocket.mdupdated.Not verified here (unattended, no game/LAN available;
dev_env.hmissing sorace_scan.cppwas not compiled): the SP 19-AI HUD match and 2-instance LAN acceptance runs need a human/recomp run.Completed and merged by Harmonic (task 27).