Repository navigation
Conversation
…okes The aim reticle was sized at 4.5% of its distance but never below 9 units, so facing a wall a few units away it filled the screen and the point inside it could not be found. It now scales with distance all the way down (same ~2.5 degrees at any range), with its beam width and centre dot shrinking alongside; far-away reticles are unchanged. Also removes the floating world text over the landing spot and above the aim point, along with the label bookkeeping that only existed for it.
Puts back the lineup name over the aim crosshair in the SwiftlyS2 plugin, since several throws off one spot need it to tell them apart. It now shrinks with the crosshair up close so it no longer covers the point it names; from ~200 units out it is unchanged. The CounterStrikeSharp port drops its STAND label on the ground and shows the lineup name at the aim ring instead, sized the same way.
Loading a lineup (.load, .next/.prev, the menu or map, or the website) now hides every other lineup's markers from that player only, using SwiftlyS2's per-player transmit blocks. Their loaded lineup keeps its stance, crosshair and landing. .all brings the whole map back; .clear, .reload, .save, a drill or an execute also leave it whole.
Brings over #179 onto the current plugin: - .clear holds until the player asks for something again, so the spot watcher no longer redraws the markers a quarter second later, and it also clears the smokes, fires and grenades in the world. - The ping key clears thrown utility, silently when there was none. - .rethrow throws the loaded lineup (or your last throw) again from where it was thrown without moving you, and says why when it cannot. - Bots killed or added mid-round are respawned and stood back on their spots. - Flash feedback for players as well as bots: how long it would have had you, and the thrower hears it for the team-mate they flashed. Merged with the practise-one-lineup focus: loading still clears the hold, and .clear still drops the focus.
…, and send each player only theirs
…ale handles instead of despawning them
… and unhook round start on unload
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.
Changes
Aim crosshair up close (SwiftlyS2 and CSS)
Text removed
Focus the lineup you load (SwiftlyS2)
.load/.next/.prev, HUD, solve, playbook) hides every other library marker for that player only, usingShouldBlockTransmitEntity..allshows the full library again and keeps the lineup loaded..clear,.reload, deleting the lineup, starting a drill or execute, disconnecting, a map change or a hot reload also bring it back.Clear, rethrow, bots and flash (from #179)
.clearholds until you ask for something again, and it also removes smokes, fires and grenades in the world..rethrowthrows the loaded lineup, or your last throw if nothing is loaded, from where it was thrown, without moving you.Reliability: markers disappearing, reloads, 2+ players (SwiftlyS2; one commit per fix)
bb286b7Shared layer for everyone:client_id. The 150-lineup cap is shared round-robin between players..load/.savedrew the caller's private library for everyone..delete, and after a disconnect.e7cbfbfRound restart:mp_restartgame.85b895eCaller-only commands:.clear,.crosshairand.reloadtouch only the caller's own markers..clearhides the library from the caller alone.32b9a67Fetch vs. save race: a library fetch that left before a save or delete no longer undoes it. Local changes are merged over the panel's answer until the panel agrees.1edfd8dUpload retries: the retry queue drains every 30s while anything is queued, plus one bounded try on unload.c8702feHot reload:97f9ad6Same-map changelevel:changelevelonto the same map reloads everyone's library.09a8314.next/.prevposition: your place is kept when your library refreshes.eba99efArchived lineups: a lineup archived on the website is dropped from whoever has it loaded or focused, with a chat line telling them.38640cfCSS port: gets the fetch merge and the retry drain. The other fixes don't apply there, because it has no shared layer, library drain or map flag.Testing
Not compiled: there was no .NET SDK in the environment these were written in. The SwiftlyS2 API calls were checked by hand against its source. Needs a build plus an in-game pass:
.load, thenmp_restartgame 1. Markers and the crosshair come back within about a second. Same after warmup ends..saves: the new marker shows for A only..clear: markers vanish for A only. A.loads: they come back..crosshairand.reload: B's markers don't blink..savethen immediately a website push: the new lineup survives..deletethen a refresh: it stays gone..save, unblock: the save posts within about 30s. Hot reload with something queued: the log shows a flush or a warning.changelevel <same map>: libraries reload..nexta few times, push a refresh,.nextagain: it continues where you were..allrestores the library..clearwith live smokes, the ping key,.rethrowwith and without a loaded lineup,.bottwice mid-round, flash timings in chat.Things to watch
.load/.next(entities × players native calls). Watch tick time on a busy map..spawnsrings are forgotten on a round restart; run.spawnsagain.