From 8cd07c04efafcd3e927a21152d10e9fafea54517 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 4 Nov 2026 14:04:39 +0100 Subject: Transitions: per-trigger targets and 3D wireframe; FOV range fixes - Each changelevel trigger now shows its own target map. The trigger whose target is the map we came from is marked "<- map"; the forward one is "-> map". No more appending one global previous-map line to every box. - Draw the volume as a projected 8-corner / 12-edge wireframe with the tag above its highest visible corner instead of a screen-space rectangle. - Camera FOV is 40..140 (stock 75) and viewmodel FOV 20..120 (stock 54); 0 is no longer allowed and old configs using 0 migrate to the stock value. - Log the mat_monitorgamma readback via ICvar so we can tell whether the command is rejected or the OS/compositor ignores the gamma ramp. --- CONTEXT.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'CONTEXT.md') diff --git a/CONTEXT.md b/CONTEXT.md index 2e1ce52..4df44bd 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -234,11 +234,16 @@ vocabulary / decisions. - The rendered camera FOV comes from `CViewRender::OnRenderStart` copying `C_BasePlayer::m_iDefaultFOV` into `default_fov`, so the cheat writes the - client netvar each tick when `Camera FOV > 0` (0 = stock 75). + client netvar every tick. The camera slider is 40..140 (stock 75) and the + viewmodel slider 20..120 (stock 54); 0 is not allowed (old configs with 0 + migrate to the stock value). - `viewmodel_fov` and `mat_monitorgamma` are client cvars; applied through `ClientCmd` when their slider changes. Gamma is stored as x10 - (`[view] gamma=22` = 2.2). Both live in the always-on - `Camera / display` card (`[view] fov/vmfov/gamma`). + (`[view] gamma=22` = 2.2). The gamma value is read back through + `ICvar::FindVar` and logged (`view: gamma request ..., cvar reports ...`) + to distinguish a rejected command from an OS gamma ramp the compositor + ignores. Both live in the always-on `Camera / display` card + (`[view] fov/vmfov/gamma`). ## Map transitions @@ -250,9 +255,11 @@ vocabulary / decisions. interface comes from `IServerUnknown::GetCollideable`, slot 4). - The current map name comes from the worldspawn (`entity 0`) model name (`maps/.bsp`). The map before the last change is kept as - `g_map_prev`, so the box label reads `-> next` and `prev `. -- Scanning runs at 4 Hz in the ESP draw; boxes are projected from their 8 - world corners and drawn as an orange outline with a 10 px label. + `g_map_prev`, so each trigger's own target is drawn as `-> map`, and the + trigger whose target equals `g_map_prev` is marked `<- map` (the way back). +- Scanning runs at 4 Hz in the ESP draw; the 8 world corners are projected and + the 12 edges are drawn as a 3D wireframe, with a 10 px tag above the highest + visible corner. ## Bones / ESP -- cgit v1.2.3