audio options are now scripted

This commit is contained in:
Bill Currie 2005-06-15 02:07:54 +00:00
parent 91d6607793
commit fa8dfd3767
2 changed files with 107 additions and 135 deletions

View file

@ -139,4 +139,77 @@
}
);
};
audio_options = {
Class = MenuGroup;
Messages = (
(initWithBounds:, $rect),
(addViews:, $views),
(setBase:, 4)
);
rect = "[0, 0, 320, 200]";
views = (
{
Class = Pic;
Messages = (
(initWithBounds:, $rect),
(setPic:, "\"gfx/qplaque.lmp\"")
);
rect = "[16, 4, 0, 0]";
},
{
Class = CenterPic;
Messages = (
(initWithBounds:, $rect),
(setPic:, "\"gfx/p_option.lmp\"")
);
rect = "[160, 4, 0, 0]";
},
{
Class = Text;
Messages = (
(initWithBounds:, $rect),
(setText:, "\"Audio\"")
);
rect = "[54, 40, 40, 8]";
},
{
Class = Text;
Messages = (
(initWithBounds:, $rect),
(setText:, "\"-----\"")
);
rect = "[54, 50, 40, 8]";
},
{
Class = CvarRangeView;
Messages = (
(initWithBounds:title:sliderWidth::,
$rect, "\"Volume:\"", 112, $range)
);
rect = "[70, 60, 136, 8]";
range = {
Class = CvarRange;
Messages = (
(initWithCvar:min:max:step:,
"\"volume\"", 0, 1.5, 0.1)
);
};
},
{
Class = CvarRangeView;
Messages = (
(initWithBounds:title:sliderWidth::,
$rect, "\"Music :\"", 112, $range)
);
rect = "[70, 68, 136, 8]";
range = {
Class = CvarRange;
Messages = (
(initWithCvar:min:max:step:,
"\"bgmvolume\"", 0, 1.5, 0.1)
);
};
},
);
};
}

View file

@ -44,13 +44,10 @@
#include "gui/Slider.h"
#include "gui/Text.h"
PLItem menu_plist;
Group video_options;
CvarToggleView fullscreen_view;
CrosshairView crosshair_view;
CvarToggleView fps_view;
CvarToggleView time_view;
CvarRangeView gamma_view;
CvarRangeView viewsize_view;
Group audio_options;
Group control_options;
CvarToggleView grab_mouse_view;
@ -65,10 +62,6 @@ Group feature_options;
CvarToggleView fraglog_view;
CvarToggleView autorecord_view;
Group audio_options;
CvarRangeView volume_view;
CvarRangeView bgmvolume_view;
Group player_options;
InputLine player_config_plname_il;
InputLine player_config_tname_il;
@ -108,67 +101,8 @@ InputLine network_config_iactive;
* Video settings menu code
****************************/
/*
CB_video_options
Menu event callback for video options
*/
integer (string text, integer key)
CB_video_options =
{
switch (text) {
case "fullscreen":
[fullscreen_view toggle];
break;
case "crosshair":
[crosshair_view next];
break;
case "fps":
[fps_view toggle];
break;
case "time":
[time_view toggle];
break;
case "gamma":
if (key == QFK_RIGHT)
[gamma_view inc];
else if (key == QFK_LEFT)
[gamma_view dec];
break;
case "viewsize":
if (key == QFK_RIGHT)
[viewsize_view inc];
else if (key == QFK_LEFT)
[viewsize_view dec];
break;
}
return 0;
};
/*
DRAW_video_options
Drawing function for the video options menu
*/
integer (integer x, integer y)
DRAW_video_options =
{
local integer spacing = 120;
[video_options setBasePos:x y:y];
[video_options draw];
return 1;
};
void dprint (string str) = #0;
integer (integer key, integer unicode, integer down)
KEY_video_options =
{
return [video_options keyEvent:key unicode:unicode down:down];
}
id object_from_plist (PLItem plist);
id
@ -287,6 +221,26 @@ PLItem read_plist (void)
return plist;
}
/*
DRAW_video_options
Drawing function for the video options menu
*/
integer (integer x, integer y)
DRAW_video_options =
{
[video_options setBasePos:x y:y];
[video_options draw];
return 1;
};
integer (integer key, integer unicode, integer down)
KEY_video_options =
{
return [video_options keyEvent:key unicode:unicode down:down];
}
/*
MENU_video_options
@ -295,16 +249,12 @@ PLItem read_plist (void)
void ()
MENU_video_options =
{
local PLItem plist;
Menu_Begin (54, 50, "Video");
Menu_FadeScreen (1);
Menu_Draw (DRAW_video_options);
Menu_KeyEvent (KEY_video_options);
plist = read_plist ();
video_options = object_from_plist ([plist getObjectForKey:"video_options"]);
video_options = object_from_plist ([menu_plist getObjectForKey:"video_options"]);
Menu_End ();
};
@ -314,32 +264,6 @@ MENU_video_options =
* Code for the audio settings menu
*************************************/
/*
CB_audio_options
Callback for the audio settings.
*/
integer (string text, integer key)
CB_audio_options =
{
local CvarRangeView range;
if(!(key == QFK_RIGHT || key == QFK_LEFT )) {
return 0;
}
if (text == "volume")
range = volume_view;
else
range = bgmvolume_view;
if ((key == QFK_RIGHT) && (key != QFK_LEFT))
[range inc];
else
[range dec];
return 0;
};
/*
DRAW_audio_options
@ -351,10 +275,15 @@ DRAW_audio_options =
[audio_options setBasePos:x y:y];
[audio_options draw];
opt_cursor (x + 62, y + (Menu_GetIndex() * 10) + 60);
return 1;
};
integer (integer key, integer unicode, integer down)
KEY_audio_options =
{
return [audio_options keyEvent:key unicode:unicode down:down];
}
/*
MENU_audio_options
@ -363,45 +292,13 @@ DRAW_audio_options =
void ()
MENU_audio_options =
{
local integer bar_pad;
local Rect rect;
local id view;
Menu_Begin (54, 60, "Audio");
Menu_FadeScreen (1);
Menu_Draw (DRAW_audio_options);
Menu_KeyEvent (KEY_audio_options);
audio_options = [[Group alloc] initWithComponents:0 :0 :320 :200];
audio_options = object_from_plist ([menu_plist getObjectForKey:"audio_options"]);
view = [[Pic alloc] initWithComponents:16 :4 :0 :0];
[view setPic:"gfx/qplaque.lmp"];
[audio_options addView:view];
view = [[CenterPic alloc] initWithComponents:160 :4 :0 :0];
[view setPic:"gfx/p_option.lmp"];
[audio_options addView:view];
view = [[Text alloc] initWithComponents:54 :40 :40 :8];
[view setText:"Audio"];
[audio_options addView:view];
view = [[Text alloc] initWithComponents:54 :50 :40 :8];
[view setText:"-----"];
[audio_options addView:view];
rect = [[Rect alloc] initWithComponents:70 :60 :17 * 8 :8];
volume_view = [[CvarRangeView alloc] initWithBounds:rect title:"Volume:" sliderWidth:14 * 8 :[[CvarRange alloc] initWithCvar:"volume" min:MIN_VOLUME max:MAX_VOLUME step:VOLUME_STEP]];
[audio_options addView:volume_view];
rect.origin.y += 8;
bgmvolume_view = [[CvarRangeView alloc] initWithBounds:rect title:"Music :" sliderWidth:14 * 8 :[[CvarRange alloc] initWithCvar:"bgmvolume" min:MIN_VOLUME max:MAX_VOLUME step:VOLUME_STEP]];
[audio_options addView:bgmvolume_view];
[rect release];
bar_pad = 0;
Menu_Item (54, bar_pad + 10, "volume", CB_audio_options, 1);
Menu_Item (54, bar_pad + 10, "bgmvolume", CB_audio_options, 1);
Menu_End ();
};
@ -1013,6 +910,8 @@ MENU_options =
{
local integer spacing = 120;
menu_plist = read_plist ();
Menu_Begin (54, 72, "");
Menu_FadeScreen (1);
Menu_Pic (16, 4, "gfx/qplaque.lmp");