@@ -358,48 +358,39 @@ uchar fv;
358358// override get_temp_string() to support hard-coded custom strings without
359359// providing an actual resource file
360360
361- #define REF_STR_Renderer 0x10000000
362- #define REF_STR_Software 0x10000001
363- #define REF_STR_OpenGL 0x10000002
364- #define REF_STR_TEXTFILT 0x10000010
365- #define REF_STR_TFUNFIL 0x10000011 // unfiltered
366- #define REF_STR_TFBILIN 0x10000012 // bilinear
367-
368- #define REF_STR_Seqer 0x20000000
369- #define REF_STR_ADLMIDI 0x20000001
370- #define REF_STR_NativeMI 0x20000002
371- #define REF_STR_FluidSyn 0x20000003 // this has to be last because it is optional
372- #define REF_STR_MidiOut 0x2fffffff
373-
374- #define REF_STR_MidiOutX 0x30000000 // 0x30000000-0x3fffffff are MIDI outputs
375-
376- #define MIDI_OUT_BUFFER_SIZE 1024
377- static char MIDI_OUT_BUFFER [MIDI_OUT_BUFFER_SIZE ];
361+ #define MIDI_OUT_STR_SIZE 1024
362+ static char MIDI_STR_BUFFER [MIDI_OUT_STR_SIZE ];
378363
379364static char * _get_temp_string (int num ) {
380365 switch (num ) {
381366 case REF_STR_Renderer : return "Renderer" ;
382367 case REF_STR_Software : return "Software" ;
383368 case REF_STR_OpenGL : return "OpenGL" ;
384369
385- case REF_STR_TEXTFILT : return "Tex Filter" ;
386- case REF_STR_TFUNFIL : return "Unfiltered" ;
387- case REF_STR_TFBILIN : return "Bilinear" ;
370+ case REF_STR_TextFilt : return "Tex Filter" ;
371+ case REF_STR_TFUnfil : return "Unfiltered" ;
372+ case REF_STR_TFBilin : return "Bilinear" ;
373+
374+ case REF_STR_MousLook : return "Mouselook" ;
375+ case REF_STR_MousNorm : return "Normal" ;
376+ case REF_STR_MousInv : return "Inverted" ;
388377
389378 case REF_STR_Seqer : return "Midi Player" ;
390379 case REF_STR_ADLMIDI : return "ADLMIDI" ;
391380 case REF_STR_NativeMI : return "Native MIDI" ;
381+ #ifdef USE_FLUIDSYNTH
392382 case REF_STR_FluidSyn : return "FluidSynth" ;
383+ #endif
393384
394385 case REF_STR_MidiOut : return "Midi Output" ;
395386 }
396387
397388 if (num >= REF_STR_MidiOutX && num <= (REF_STR_MidiOutX | 0x0fffffff ))
398389 {
399390 const unsigned int midiOutputIndex = (unsigned int )num - REF_STR_MidiOutX ;
400- MIDI_OUT_BUFFER [0 ] = '\0' ;
401- GetOutputNameXMI (midiOutputIndex , & MIDI_OUT_BUFFER [0 ], MIDI_OUT_BUFFER_SIZE );
402- return & MIDI_OUT_BUFFER [0 ];
391+ MIDI_STR_BUFFER [0 ] = '\0' ;
392+ GetOutputNameXMI (midiOutputIndex , & MIDI_STR_BUFFER [0 ], MIDI_OUT_STR_SIZE );
393+ return & MIDI_STR_BUFFER [0 ];
403394 }
404395
405396 return get_temp_string (num );
@@ -1491,14 +1482,9 @@ void soundopt_screen_init() {
14911482 i ++ ;
14921483#endif
14931484
1494- #ifdef USE_FLUIDSYNTH
1495- const uchar numSynths = 3 ;
1496- #else
1497- const uchar numSynths = 2 ;
1498- #endif
14991485 standard_button_rect (& r , i , 2 , 2 , 5 );
15001486 multi_init (i , 'p' , REF_STR_Seqer , REF_STR_ADLMIDI , ID_NULL ,
1501- sizeof (gShockPrefs .soMidiBackend ), & gShockPrefs .soMidiBackend , numSynths , seqer_dealfunc , & r );
1487+ sizeof (gShockPrefs .soMidiBackend ), & gShockPrefs .soMidiBackend , OPT_SEQ_Max , seqer_dealfunc , & r );
15021488 i ++ ;
15031489/* standard button is too narrow, so use a slider instead
15041490 const unsigned int numMidiOutputs = GetOutputCountXMI();
@@ -1852,9 +1838,6 @@ void input_screen_init(void) {
18521838 mousehand_dealfunc , & r );
18531839 i ++ ;
18541840
1855- standard_button_rect (& r , 5 , 2 , 2 , 1 );
1856- pushbutton_init (RETURN_BUTTON , keys [3 ], REF_STR_OptionsText + 5 , wrapper_pushbutton_func , & r );
1857-
18581841 standard_slider_rect (& r , i , 2 , 1 );
18591842 r .ul .x -= 1 ;
18601843 sliderbase = ((r .lr .x - r .ul .x - 3 ) * (FIX_UNIT / 3 )) / USHRT_MAX ;
@@ -1867,6 +1850,15 @@ void input_screen_init(void) {
18671850 pushbutton_init (i , keys [2 ], REF_STR_Joystick , joystick_button_func , & r );
18681851 i ++ ;
18691852
1853+ standard_button_rect (& r , i , 2 , 2 , 1 );
1854+ r .ul .x -= 1 ;
1855+ multi_init (i , keys [3 ], REF_STR_MousLook , REF_STR_MousNorm , ID_NULL ,
1856+ sizeof (gShockPrefs .goInvertMouseY ), & gShockPrefs .goInvertMouseY , 2 , NULL , & r );
1857+ i ++ ;
1858+
1859+ standard_button_rect (& r , 5 , 2 , 2 , 1 );
1860+ pushbutton_init (RETURN_BUTTON , keys [3 ], REF_STR_OptionsText + 5 , wrapper_pushbutton_func , & r );
1861+
18701862 // FIXME: Cannot pass a keycode with modifier flags as uchar
18711863 keywidget_init (QUIT_BUTTON , /*KB_FLAG_ALT |*/ 'x' , wrapper_pushbutton_func );
18721864
@@ -1944,7 +1936,7 @@ void video_screen_init(void) {
19441936 // textre filter
19451937 if (can_use_opengl () && gShockPrefs .doUseOpenGL ) {
19461938 standard_button_rect (& r , i , 2 , 2 , 2 );
1947- multi_init (i , 't' , REF_STR_TEXTFILT , REF_STR_TFUNFIL , ID_NULL ,
1939+ multi_init (i , 't' , REF_STR_TextFilt , REF_STR_TFUnfil , ID_NULL ,
19481940 sizeof (gShockPrefs .doTextureFilter ), & gShockPrefs .doTextureFilter , 2 , renderer_dealfunc , & r );
19491941 i ++ ;
19501942 }
0 commit comments