Skip to content

Commit 484f2f0

Browse files
committed
Add Toggle Zoom UI and misc fixes
Add a new Toggle Zoom option to the Settings->Game UI (including hover, layout shifts and localized strings) and set a default cvar (in_toggleZoom). Prevent quicksave message transitions from lingering by stopping transitions on saveMessage handlers. In input handling, add IsWeaponSelectionImpulse and clear the toggled_zoom state when weapon-wheel/selection impulses occur so zoom state doesn't persist incorrectly. Harden the renderer postprocess pass by resetting programmable-pipeline state and clearing per-texture-unit state to avoid sampling garbage after level/transition changes. Adjust sound behavior: set s_musicVolume default to 0.5 and clamp ranges, and mix music into emitter volume calculation. Add SDL3 Linux stub for GLimp_EnableLogging to avoid missing symbol issues. Clamp GUI time/timeline in Window to recover from clock resets so timed HUD events don't freeze.
1 parent fbbe6fc commit 484f2f0

23 files changed

Lines changed: 190 additions & 46 deletions

.install/openq4/guis/hud.gui

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,7 @@ windowDef Desktop
412412
}
413413

414414
onNamedEvent saveMessage {
415+
stoptransitions "quicksave_msg" ;
415416
set "quicksave_msg::forecolor_w" "1" ;
416417
set "quicksave_msg::visible" "1" ;
417418
resettime "quicksave_msg" "0" ;

.install/openq4/guis/hud_strogg.gui

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,7 @@ windowDef Desktop
273273
}
274274

275275
onNamedEvent saveMessage {
276+
stoptransitions "quicksave_msg" ;
276277
set "quicksave_msg::forecolor_w" "1" ;
277278
set "quicksave_msg::visible" "1" ;
278279
resettime "quicksave_msg" "0" ;

.install/openq4/guis/mainmenu.gui

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19638,6 +19638,8 @@ windowDef Desktop
1963819638
set "set_game_autoreload_hover::visible" "1" ;
1963919639
set "set_game_autoswitch::visible" "1" ;
1964019640
set "set_game_autoswitch_hover::visible" "1";
19641+
set "set_game_togglezoom::visible" "1" ;
19642+
set "set_game_togglezoom_hover::visible" "1" ;
1964119643
set "set_game_showdecals::visible" "1" ;
1964219644
set "set_game_showdecals_hover::visible" "1" ;
1964319645
set "set_game_showgun::visible" "1" ;
@@ -19689,6 +19691,7 @@ windowDef Desktop
1968919691
set "set_game_freelook_value::noevents" "0" ;
1969019692
set "set_game_autoreload::noevents" "0" ;
1969119693
set "set_game_autoswitch::noevents" "0" ;
19694+
set "set_game_togglezoom::noevents" "0" ;
1969219695
set "set_game_showdecals::noevents" "0" ;
1969319696
set "set_game_showgun::noevents" "0" ;
1969419697
set "set_game_gunXYZ::noevents" "0" ;
@@ -19713,6 +19716,8 @@ windowDef Desktop
1971319716
set "set_game_autoreload_hover::visible" "0" ;
1971419717
set "set_game_autoswitch::visible" "0" ;
1971519718
set "set_game_autoswitch_hover::visible" "0" ;
19719+
set "set_game_togglezoom::visible" "0" ;
19720+
set "set_game_togglezoom_hover::visible" "0" ;
1971619721
set "set_game_showdecals::visible" "0" ;
1971719722
set "set_game_showdecals_hover::visible" "0" ;
1971819723
set "set_game_showgun::visible" "0" ;
@@ -19750,6 +19755,7 @@ windowDef Desktop
1975019755
set "set_game_freelook_value::noevents" "1" ;
1975119756
set "set_game_autoreload::noevents" "1" ;
1975219757
set "set_game_autoswitch::noevents" "1" ;
19758+
set "set_game_togglezoom::noevents" "1" ;
1975319759
set "set_game_showdecals::noevents" "1" ;
1975419760
set "set_game_showgun::noevents" "1" ;
1975519761
set "set_game_gunXYZ::noevents" "1" ;
@@ -21530,6 +21536,7 @@ windowDef Desktop
2153021536
set "set_game_freelook_background::matcolor_w" "0.4" ;
2153121537
set "set_game_autoreload_background::matcolor_w" "0.4" ;
2153221538
set "set_game_autoswitch_background::matcolor_w" "0.4" ;
21539+
set "set_game_togglezoom_background::matcolor_w" "0.4" ;
2153321540
set "set_game_showdecals_background::matcolor_w" "0.4" ;
2153421541
set "set_game_showgun_background::matcolor_w" "0.4" ;
2153521542
set "set_game_gunXYZ_background::matcolor_w" "0.4" ;

.install/openq4/guis/menu/settings/game.gui

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,58 @@
147147
}
148148
}
149149
//==============================================================//
150+
151+
//==============================================================//
152+
// Settings->Game Options->Toggle Zoom
153+
//--------------------------------------------------------------//
154+
155+
windowDef set_game_togglezoom
156+
{
157+
rect 228,119,403,25
158+
visible 1
159+
160+
windowDef set_game_togglezoom_background
161+
{
162+
rect 0,0,377,25
163+
visible 1
164+
background "gfx/guis/mainmenu/b3_light"
165+
matcolor 0.545,0.588,0.294,0.4
166+
}
167+
168+
windowDef set_game_togglezoom_description
169+
{
170+
rect 31,3,210,18
171+
visible 1
172+
forecolor 1,1,1,0.8
173+
text "#str_41108"
174+
textscale 0.24
175+
font "fonts/lowpixel"
176+
}
177+
choiceDef set_game_togglezoom_value
178+
{
179+
rect 240,3,162,18
180+
visible 1
181+
forecolor 1,0.745,0.137,0.8
182+
cvar in_toggleZoom
183+
textscale 0.24
184+
font "fonts/lowpixel"
185+
choices "#str_200059"
186+
choiceType 0
187+
188+
onAction {
189+
set "cmd" "play main_menu_selection" ;
190+
}
191+
}
192+
}
193+
//==============================================================//
150194

151195
//==============================================================//
152196
// Settings->Game Options->Show Decals
153197
//--------------------------------------------------------------//
154198

155199
windowDef set_game_showdecals
156200
{
157-
rect 228,119,403,25
201+
rect 228,143,403,25
158202
visible 1
159203

160204
windowDef set_game_showdecals_background
@@ -198,7 +242,7 @@
198242

199243
windowDef set_game_showgun
200244
{
201-
rect 228,143,403,25
245+
rect 228,167,403,25
202246
visible 1
203247

204248
windowDef set_game_showgun_background
@@ -242,7 +286,7 @@
242286

243287
windowDef set_game_gunXYZ
244288
{
245-
rect 228,167,403,25
289+
rect 228,191,403,25
246290
visible 1
247291

248292
windowDef set_game_gunXYZ_background
@@ -302,7 +346,7 @@
302346

303347
windowDef set_game_simpleitems
304348
{
305-
rect 228,191,403,25
349+
rect 228,215,403,25
306350
visible 1
307351

308352
windowDef set_game_simpleitems_background
@@ -345,7 +389,7 @@
345389

346390
windowDef set_game_forcemodel
347391
{
348-
rect 228,215,403,25
392+
rect 228,239,403,25
349393
visible 1
350394

351395

@@ -400,7 +444,7 @@
400444

401445
windowDef set_game_mpitch
402446
{
403-
rect 228,239,403,25
447+
rect 228,263,403,25
404448
visible 1
405449

406450
windowDef set_game_mpitch_background
@@ -445,7 +489,7 @@
445489

446490
windowDef set_game_msmooth
447491
{
448-
rect 228,263,377,25
492+
rect 228,287,377,25
449493
visible 1
450494

451495
windowDef set_game_msmooth_background
@@ -511,7 +555,7 @@
511555

512556
windowDef set_game_msensitivity
513557
{
514-
rect 228,287,377,25
558+
rect 228,311,377,25
515559
visible 1
516560

517561
windowDef set_game_msensitivity_background
@@ -577,7 +621,7 @@
577621

578622
windowDef set_game_customxhair
579623
{
580-
rect 228,311,403,25
624+
rect 228,335,403,25
581625
visible 1
582626

583627
windowDef set_game_customxhair_background
@@ -638,7 +682,7 @@
638682

639683
windowDef set_game_previewxhair
640684
{
641-
rect 228,335,377,48
685+
rect 228,359,377,48
642686
visible 1
643687

644688
windowDef set_game_previewxhair_background
@@ -701,7 +745,7 @@
701745

702746
windowDef set_game_xhairsize
703747
{
704-
rect 228,383,377,25
748+
rect 228,407,377,25
705749
visible 1
706750

707751
windowDef set_game_xhairsize_background
@@ -759,7 +803,7 @@
759803

760804
windowDef set_game_xhaircolor
761805
{
762-
rect 228,408,377,25
806+
rect 228,432,377,25
763807
visible 1
764808

765809
windowDef set_game_xhaircolor_background
@@ -843,7 +887,7 @@
843887

844888
windowDef set_game_language
845889
{
846-
rect 228,433,377,25
890+
rect 228,457,377,25
847891
visible 1
848892

849893
windowDef set_game_language_background
@@ -895,7 +939,7 @@
895939
forecolor 1,1,1,0.8
896940
matcolor 1,1,1,0.4
897941
low 0
898-
high 6
942+
high 7
899943
step 1
900944
vertical 1
901945
scrollbar 1

.install/openq4/guis/menu/settings/game_hovers.gui

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,37 @@
7878

7979
}
8080
//==============================================================//
81+
82+
//==============================================================//
83+
// Settings->Game Options->Toggle Zoom
84+
//--------------------------------------------------------------//
85+
windowDef set_game_togglezoom_hover
86+
{
87+
rect 245,121,361,20
88+
visible 0
89+
90+
onMouseEnter {
91+
if ("desktop::active" == 0) {
92+
stoptransitions "set_game_togglezoom_background" ;
93+
set "set_game_togglezoom_background::matcolor_w" "1" ;
94+
set "cmd" "play main_menu_mouseover" ;
95+
}
96+
}
97+
98+
onMouseExit {
99+
if ("desktop::active" == 0) {
100+
transition "set_game_togglezoom_background::matcolor_w" "1" "0.4" "300" ;
101+
}
102+
}
103+
}
104+
//==============================================================//
81105

82106
//==============================================================//
83107
// Settings->Game Options->Show Decals
84108
//--------------------------------------------------------------//
85109
windowDef set_game_showdecals_hover
86110
{
87-
rect 245,121,361,20
111+
rect 245,145,361,20
88112
visible 0
89113

90114
onMouseEnter {
@@ -111,7 +135,7 @@
111135
//--------------------------------------------------------------//
112136
windowDef set_game_showgun_hover
113137
{
114-
rect 245,145,361,20
138+
rect 245,169,361,20
115139
visible 0
116140

117141
onMouseEnter {
@@ -138,7 +162,7 @@
138162
//--------------------------------------------------------------//
139163
windowDef set_game_gunXYZ_hover
140164
{
141-
rect 245,169,361,20
165+
rect 245,193,361,20
142166
visible 0
143167

144168
onMouseEnter {
@@ -161,7 +185,7 @@
161185
//--------------------------------------------------------------//
162186
windowDef set_game_simpleitems_hover
163187
{
164-
rect 245,193,361,20
188+
rect 245,217,361,20
165189
visible 0
166190

167191
onMouseEnter {
@@ -185,7 +209,7 @@
185209
//--------------------------------------------------------------//
186210
windowDef set_game_forcemodel_hover
187211
{
188-
rect 245,217,361,20
212+
rect 245,241,361,20
189213
visible 0
190214

191215
onMouseEnter {
@@ -209,7 +233,7 @@
209233
//==============================================================//
210234
windowDef set_game_mpitch_hover
211235
{
212-
rect 245,241,361,20
236+
rect 245,265,361,20
213237
visible 0
214238

215239
onMouseEnter {
@@ -233,7 +257,7 @@
233257
//==============================================================//
234258
windowDef set_game_msmooth_hover
235259
{
236-
rect 245,265,361,20
260+
rect 245,289,361,20
237261
visible 0
238262

239263
onMouseEnter {
@@ -258,7 +282,7 @@
258282
//==============================================================//
259283
windowDef set_game_msensitivity_hover
260284
{
261-
rect 245,289,361,20
285+
rect 245,313,361,20
262286
visible 0
263287

264288
onMouseEnter {
@@ -285,7 +309,7 @@
285309
//==============================================================//
286310
windowDef set_game_customxhair_hover
287311
{
288-
rect 245,312,361,20
312+
rect 245,337,361,20
289313
visible 0
290314

291315
onMouseEnter {
@@ -311,7 +335,7 @@
311335
//==============================================================//
312336
windowDef set_game_previewxhair_hover
313337
{
314-
rect 245,335,361,48
338+
rect 245,361,361,48
315339
visible 0
316340

317341
onMouseEnter {
@@ -348,7 +372,7 @@
348372
//==============================================================//
349373
windowDef set_game_xhairsize_hover
350374
{
351-
rect 245,384,361,20
375+
rect 245,409,361,20
352376
visible 0
353377

354378
onMouseEnter {
@@ -375,7 +399,7 @@
375399
//==============================================================//
376400
windowDef set_game_xhaircolor_hover
377401
{
378-
rect 245,409,361,20
402+
rect 245,434,361,20
379403
visible 0
380404

381405
onMouseEnter {
@@ -619,7 +643,7 @@
619643
}
620644
windowDef set_game_language_hover
621645
{
622-
rect 245,435,361,20
646+
rect 245,459,361,20
623647
visible 0
624648

625649
onMouseEnter {

.install/openq4/guis/wristcomm.gui

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ windowDef Desktop
1212
}
1313

1414
onNamedEvent saveMessage {
15+
stoptransitions "quicksave_msg" ;
1516
set "quicksave_msg::forecolor_w" "1" ;
1617
set "quicksave_msg::visible" "1" ;
1718
resettime "quicksave_msg" "0" ;

.install/openq4/guis/wristcomm_strogg.gui

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ windowDef Desktop
1212
}
1313

1414
onNamedEvent saveMessage {
15+
stoptransitions "quicksave_msg" ;
1516
set "quicksave_msg::forecolor_w" "1" ;
1617
set "quicksave_msg::visible" "1" ;
1718
resettime "quicksave_msg" "0" ;

0 commit comments

Comments
 (0)