feat(minimap): pulse active radar and hydro detection circles#39
Open
BeauceAI wants to merge 6 commits into
Open
feat(minimap): pulse active radar and hydro detection circles#39BeauceAI wants to merge 6 commits into
BeauceAI wants to merge 6 commits into
Conversation
Active radar and hydro bubbles were drawn faintly and only while the casting ship stayed spotted, so an enemy radar was easy to miss and the circle vanished the instant the ship blinked out. Pulse the circle (red for radar, green for hydro) so it reads at a glance, and keep it drawn for the consumable's full duration from the last known position even after the ship goes dark. Other consumables still require the ship to be visible.
Ajoute l'envoi automatique Discord en fin de partie (video du replay acceleree + tableau de stats de l'equipe) via un webhook configurable. Par defaut, seules les parties Clan Wars sont postees ; un controle visible dans la barre du haut bascule entre OFF / Clan Wars / Toutes parties (reglage discord_clan_only, defaut true). Egalement disponible dans l'onglet Parametres. Neutralise aussi le verificateur de mise a jour automatique au demarrage : sinon la version officielle ecrase ce build modifie. Le bouton manuel "Fichier -> Verifier les mises a jour" reste fonctionnel. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Installeur autonome (Rust, embarque l'exe) qui copie le toolkit modifie dans %LOCALAPPDATA% et cree un raccourci bureau, sans UAC. Source dans _INSTALLEUR-TEAM/installer-src, binaire livre regenerable (gitignore). Ajoute aussi le lanceur local (restaure notre build si ecrase + previent si nouvelle version officielle), le brief mode d'emploi pour la team et la fiche de distribution. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
En fin de partie, le jeu re-ecrit le fichier replay (evenement ModifiedReplay), ce qui declenche un 2e parse et renvoyait vidéo + stats une seconde fois sur Discord (~1 min apres). On saute desormais l'envoi si la video du replay existe deja sur le disque (marqueur "deja poste"). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The GPU and openh264 encoders can emit zero-byte skip frames over static minimap content (for example the pre-battle phase). muxide rejected those empty samples with EmptyVideoFrame and aborted the export partway through, which users hit with some codecs. Skip empty packets and key AnnexB PTS to the input frame index so the dropped frame extends the previous frame's on-screen time instead of compressing the timeline. (cherry picked from commit 5e6b79b)
Replace the String-carrying VideoError variants with payload-free categories and attach the underlying muxide, gpu-video, openh264, rav1e, and IO errors as rootcause children via context/attach. Callers can now match the error category structurally instead of parsing a message, and the real cause (for example muxide's EmptyVideoFrame) is preserved in the report chain. (cherry picked from commit 66cf6f9)
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.
What
Make an active radar/hydro detection bubble on the minimap pulse so it cannot be missed: red for radar, green for hydro.
Why
Active radar/hydro circles were drawn faintly (alpha 0.15, static) and only while the casting ship stayed visible on the minimap. In practice an enemy radar was easy to miss at normal playback speed, and the circle disappeared the instant the ship blinked out, even though the consumable was still running.
Changes
DetectionPulse { Radar, Hydro }carried onDrawCommand::ConsumableRadius, set by the renderer for radar / hydroacoustic search / hydrophone.wt-collab-egui, pulse the fill and outline over time (red for radar, green for hydro) and request a repaint while a pulse is active. Non-pulsing circles are unchanged.The static PNG renderer path ignores the pulse (single frame), so its output is unchanged.
Notes
cargo fmtclean; thedrawcommand_paritysnapshot is unaffected (the new field is not part of the serialized summary).