1//**************************************************************************
2//**
3//**    ##   ##    ##    ##   ##   ####     ####   ###     ###
4//**    ##   ##  ##  ##  ##   ##  ##  ##   ##  ##  ####   ####
5//**     ## ##  ##    ##  ## ##  ##    ## ##    ## ## ## ## ##
6//**     ## ##  ########  ## ##  ##    ## ##    ## ##  ###  ##
7//**      ###   ##    ##   ###    ##  ##   ##  ##  ##       ##
8//**       #    ##    ##    #      ####     ####   ##       ##
9//**
10//**    $Id: MenuScreenGameplayOptions.vc 4335 2010-09-17 15:40:25Z firebrand_kh $
11//**
12//**    Copyright (C) 1999-2006 Jānis Legzdiņš
13//**
14//**    This program is free software; you can redistribute it and/or
15//**  modify it under the terms of the GNU General Public License
16//**  as published by the Free Software Foundation; either version 2
17//**  of the License, or (at your option) any later version.
18//**
19//**    This program is distributed in the hope that it will be useful,
20//**  but WITHOUT ANY WARRANTY; without even the implied warranty of
21//**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22//**  GNU General Public License for more details.
23//**
24//**************************************************************************
25
26class MenuScreenGameplayOptions : MenuScreen;
27
28//==========================================================================
29//
30//	CreateChoices
31//
32//==========================================================================
33
34void CreateChoices()
35{
36	MenuChoiceEnum		Enum;
37	MenuChoiceSlider	Slider;
38	int					currentY;
39
40	currentY = ChoicesStartY;
41
42	Enum = MenuChoiceEnum(NewChild(MenuChoiceEnum));
43	Enum.SetOrigin(ChoicesStartX, currentY);
44	Enum.Text = "Message Colour";
45	Enum.AddItem("Brick");
46	Enum.AddItem("Tan");
47	Enum.AddItem("Gray");
48	Enum.AddItem("Green");
49	Enum.AddItem("Brown");
50	Enum.AddItem("Gold");
51	Enum.AddItem("Red");
52	Enum.AddItem("Blue");
53	Enum.AddItem("Orange");
54	Enum.AddItem("White");
55	Enum.AddItem("Yellow");
56	Enum.AddItem("Normal");
57	Enum.AddItem("Black");
58	Enum.AddItem("Light Blue");
59	Enum.AddItem("Cream");
60	Enum.AddItem("Olive");
61	Enum.AddItem("Dark Green");
62	Enum.AddItem("Dark Red");
63	Enum.AddItem("Dark Brown");
64	Enum.AddItem("Purple");
65	Enum.AddItem("Dark Gray");
66	Enum.SetInitialValue(GetCvar('font_colour'));
67	Enum.ValueChanging = ChangeFontColour;
68	currentY += Enum.Height;
69
70	Enum = MenuChoiceEnum(NewChild(MenuChoiceEnum));
71	Enum.SetOrigin(ChoicesStartX, currentY);
72	Enum.Text = "Centre Message Colour";
73	Enum.AddItem("Brick");
74	Enum.AddItem("Tan");
75	Enum.AddItem("Gray");
76	Enum.AddItem("Green");
77	Enum.AddItem("Brown");
78	Enum.AddItem("Gold");
79	Enum.AddItem("Red");
80	Enum.AddItem("Blue");
81	Enum.AddItem("Orange");
82	Enum.AddItem("White");
83	Enum.AddItem("Yellow");
84	Enum.AddItem("Normal");
85	Enum.AddItem("Black");
86	Enum.AddItem("Light Blue");
87	Enum.AddItem("Cream");
88	Enum.AddItem("Olive");
89	Enum.AddItem("Dark Green");
90	Enum.AddItem("Dark Red");
91	Enum.AddItem("Dark Brown");
92	Enum.AddItem("Purple");
93	Enum.AddItem("Dark Gray");
94	Enum.SetInitialValue(GetCvar('font_colour2'));
95	Enum.ValueChanging = ChangeFontColour2;
96	currentY += Enum.Height;
97
98	Enum = MenuChoiceEnum(NewChild(MenuChoice_OnOff));
99	Enum.SetOrigin(ChoicesStartX, currentY);
100	Enum.Text = "Monsters Backing Off";
101	Enum.SetInitialValue(GetCvar('monster_backing'));
102	Enum.ValueChanging = ChangeMonstersBacking;
103	currentY += Enum.Height;
104
105	Enum = MenuChoiceEnum(NewChild(MenuChoice_OnOff));
106	Enum.SetOrigin(ChoicesStartX, currentY);
107	Enum.Text = "Damage Thrust";
108	Enum.SetInitialValue(GetCvar('damage_thrust'));
109	Enum.ValueChanging = ChangeDamageThrust;
110	currentY += Enum.Height;
111
112	Enum = MenuChoiceEnum(NewChild(MenuChoice_OnOff));
113	Enum.SetOrigin(ChoicesStartX, currentY);
114	Enum.Text = "Monsters can drop off";
115	Enum.SetInitialValue(GetCvar('compat_dropoff'));
116	Enum.ValueChanging = ChangeDropOff;
117	currentY += Enum.Height;
118
119	Enum = MenuChoiceEnum(NewChild(MenuChoice_OnOff));
120	Enum.SetOrigin(ChoicesStartX, currentY);
121	Enum.Text = "Optional Fuzzy Effect";
122	Enum.SetInitialValue(GetCvar('r_drawfuzz'));
123	Enum.ValueChanging = ChangeFuzz;
124	currentY += Enum.Height;
125
126	Slider = MenuChoiceSlider(NewChild(MenuChoiceSlider));
127	Slider.SetOrigin(ChoicesStartX, currentY);
128	Slider.Text = "Optional Translucency";
129	Slider.ValueDelta = 0.05;
130	Slider.SetInitialValue(GetCvarF('transsouls'));
131	Slider.ValueChanging = ChangeTrans;
132	currentY += Slider.Height;
133}
134
135//==========================================================================
136//
137//	ChangeFontColour
138//
139//==========================================================================
140
141bool ChangeFontColour(Object Sender, int newValue)
142{
143	SetCvar('font_colour', newValue);
144	return true;
145}
146
147//==========================================================================
148//
149//	ChangeFontColour2
150//
151//==========================================================================
152
153bool ChangeFontColour2(Object Sender, int newValue)
154{
155	SetCvar('font_colour2', newValue);
156	return true;
157}
158
159//==========================================================================
160//
161//	ChangeMonstersBacking
162//
163//==========================================================================
164
165bool ChangeMonstersBacking(Object Sender, int newValue)
166{
167	SetCvar('monster_backing', newValue);
168	return true;
169}
170
171//==========================================================================
172//
173//	ChangeDamageThrust
174//
175//==========================================================================
176
177bool ChangeDamageThrust(Object Sender, int newValue)
178{
179	SetCvar('damage_thrust', newValue);
180	return true;
181}
182
183//==========================================================================
184//
185//	ChangeDropOff
186//
187//==========================================================================
188
189bool ChangeDropOff(Object Sender, int newValue)
190{
191	SetCvar('monster_dropoff', newValue);
192	return true;
193}
194
195//==========================================================================
196//
197//	ChangeFuzz
198//
199//==========================================================================
200
201bool ChangeFuzz(Object Sender, int newValue)
202{
203	SetCvar('r_drawfuzz', newValue);
204	return true;
205}
206
207//==========================================================================
208//
209//	ChangeTrans
210//
211//==========================================================================
212
213bool ChangeTrans(Object Sender, float newValue)
214{
215	SetCvarF('transsouls', newValue);
216	return true;
217}
218
219defaultproperties
220{
221	ChoicesStartX = 160;
222	ChoicesStartY = 26;
223	SelectorType = MenuSelector_SmallRight;
224	Title = "GAMEPLAY OPTIONS";
225}
226