mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-18 09:51:40 +00:00
Completed bindings-submenu, now all basic-bindings from old quake
are there.
This commit is contained in:
parent
2ac4ab161a
commit
03e0b2eae0
2 changed files with 103 additions and 36 deletions
|
@ -1,16 +1,27 @@
|
||||||
#define NUM_BINDED_KEYS 3
|
#define NUM_BINDED_KEYS 19
|
||||||
string [NUM_BINDED_KEYS] key_bindings =
|
string [NUM_BINDED_KEYS] key_bindings =
|
||||||
{
|
{
|
||||||
"+attack",
|
"+attack",
|
||||||
"impulse 10",
|
"impulse 10",
|
||||||
"+jump"
|
"+jump",
|
||||||
};
|
"+forward",
|
||||||
string [NUM_BINDED_KEYS] key_bindings_desc =
|
"+back",
|
||||||
{
|
"+left",
|
||||||
"none",
|
"+right",
|
||||||
"none",
|
"+speed",
|
||||||
"none"
|
"+moveleft",
|
||||||
|
"+moveright",
|
||||||
|
"+strafe",
|
||||||
|
"+loookup",
|
||||||
|
"+lookdown",
|
||||||
|
"centerview",
|
||||||
|
"+mlook",
|
||||||
|
"+klook",
|
||||||
|
"+moveup",
|
||||||
|
"+movedown",
|
||||||
|
"toggle in_grab"
|
||||||
};
|
};
|
||||||
|
string [NUM_BINDED_KEYS] key_bindings_desc;
|
||||||
|
|
||||||
integer set_key_flag;
|
integer set_key_flag;
|
||||||
|
|
||||||
|
@ -21,7 +32,7 @@ string (integer key, integer bindnum) make_key_desc =
|
||||||
|
|
||||||
keynum = Key_LookupBinding(IMT_0, bindnum, key_bindings[key]);
|
keynum = Key_LookupBinding(IMT_0, bindnum, key_bindings[key]);
|
||||||
if(keynum == -1) {
|
if(keynum == -1) {
|
||||||
keyname = "none";
|
keyname = "";
|
||||||
} else {
|
} else {
|
||||||
keyname = Key_KeynumToString(keynum);
|
keyname = Key_KeynumToString(keynum);
|
||||||
// cut away the "K_"
|
// cut away the "K_"
|
||||||
|
@ -32,10 +43,15 @@ string (integer key, integer bindnum) make_key_desc =
|
||||||
|
|
||||||
void () load_keybindings =
|
void () load_keybindings =
|
||||||
{
|
{
|
||||||
local integer i, keynum;
|
local integer i;
|
||||||
|
local string nddesc = "";
|
||||||
|
|
||||||
for(i = 0;i < NUM_BINDED_KEYS; i++) {
|
for(i = 0;i < NUM_BINDED_KEYS; i++) {
|
||||||
key_bindings_desc[i] = make_key_desc(i, 1) + "," + make_key_desc(i, 2);
|
key_bindings_desc[i] = make_key_desc(i, 1);
|
||||||
|
nddesc = make_key_desc(i, 2);
|
||||||
|
if(nddesc != "") {
|
||||||
|
key_bindings_desc[i] += ", " + nddesc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,17 +60,7 @@ integer (string text, integer key) control_bind_f =
|
||||||
local string binding;
|
local string binding;
|
||||||
local integer retval = 0, bindcnt = 0;
|
local integer retval = 0, bindcnt = 0;
|
||||||
|
|
||||||
switch (text) {
|
binding = key_bindings[stoi(text)];
|
||||||
case "set_attack_key":
|
|
||||||
binding = key_bindings[0];
|
|
||||||
break;
|
|
||||||
case "set_next_weap_key":
|
|
||||||
binding = key_bindings[1];
|
|
||||||
break;
|
|
||||||
case "set_jump_key":
|
|
||||||
binding = key_bindings[2];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(set_key_flag) {
|
if(set_key_flag) {
|
||||||
bindcnt = Key_CountBinding(IMT_0, binding);
|
bindcnt = Key_CountBinding(IMT_0, binding);
|
||||||
|
@ -81,33 +87,92 @@ integer (string text, integer key) control_bind_f =
|
||||||
return retval;
|
return retval;
|
||||||
};
|
};
|
||||||
|
|
||||||
integer () control_bind_draw =
|
integer () basic_control_bind_draw =
|
||||||
{
|
{
|
||||||
local integer cursor_pad = 50, bind_desc_pad;
|
local integer cursor_pad = 40, bind_desc_pad;
|
||||||
|
|
||||||
bind_desc_pad = 120;
|
bind_desc_pad = 120;
|
||||||
|
|
||||||
Draw_String (20, 20, "Backspace/Delete: Del binding");
|
Draw_String (20, 10, "Backspace/Delete: Del binding");
|
||||||
Draw_String (20, 30, "Enter: New binding");
|
Draw_String (20, 20, "Enter: New binding");
|
||||||
|
|
||||||
draw_val_item (20, 50, bind_desc_pad, "Attack", key_bindings_desc[0]);
|
draw_val_item (20, 40, bind_desc_pad, "Attack", key_bindings_desc[0]);
|
||||||
draw_val_item (20, 60, bind_desc_pad, "Next weapon", key_bindings_desc[1]);
|
draw_val_item (20, 50, bind_desc_pad, "Next weapon", key_bindings_desc[1]);
|
||||||
draw_val_item (20, 70, bind_desc_pad, "Jump/Swin up", key_bindings_desc[2]);
|
draw_val_item (20, 60, bind_desc_pad, "Jump/Swin up", key_bindings_desc[2]);
|
||||||
|
draw_val_item (20, 70, bind_desc_pad, "Walf forward", key_bindings_desc[3]);
|
||||||
|
draw_val_item (20, 80, bind_desc_pad, "Backpedal", key_bindings_desc[4]);
|
||||||
|
draw_val_item (20, 90, bind_desc_pad, "Turn left", key_bindings_desc[5]);
|
||||||
|
draw_val_item (20, 100, bind_desc_pad, "Turn right", key_bindings_desc[6]);
|
||||||
|
draw_val_item (20, 110, bind_desc_pad, "Run", key_bindings_desc[7]);
|
||||||
|
draw_val_item (20, 120, bind_desc_pad, "Step left", key_bindings_desc[8]);
|
||||||
|
draw_val_item (20, 130, bind_desc_pad, "Step right", key_bindings_desc[9]);
|
||||||
|
draw_val_item (20, 140, bind_desc_pad, "Sidestep", key_bindings_desc[10]);
|
||||||
|
draw_val_item (20, 150, bind_desc_pad, "Look up", key_bindings_desc[11]);
|
||||||
|
draw_val_item (20, 160, bind_desc_pad, "Look down", key_bindings_desc[12]);
|
||||||
|
draw_val_item (20, 170, bind_desc_pad, "Center view", key_bindings_desc[13]);
|
||||||
|
draw_val_item (20, 180, bind_desc_pad, "Mouse look", key_bindings_desc[14]);
|
||||||
|
draw_val_item (20, 190, bind_desc_pad, "Keyboard look", key_bindings_desc[15]);
|
||||||
|
draw_val_item (20, 200, bind_desc_pad, "Swim up", key_bindings_desc[16]);
|
||||||
|
draw_val_item (20, 210, bind_desc_pad, "Swim down", key_bindings_desc[17]);
|
||||||
|
|
||||||
opt_cursor (12, (Menu_GetIndex() * 10) + cursor_pad);
|
opt_cursor (12, (Menu_GetIndex() * 10) + cursor_pad);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
void () control_bind_menu =
|
integer () misc_control_bind_draw =
|
||||||
{
|
{
|
||||||
Menu_Begin (54, 90, "Bindings");
|
local integer cursor_pad = 40, bind_desc_pad;
|
||||||
Menu_FadeScreen (1);
|
|
||||||
Menu_Draw (control_bind_draw);
|
|
||||||
|
|
||||||
Menu_Item (20, 50, "set_attack_key", control_bind_f, 1);
|
bind_desc_pad = 120;
|
||||||
Menu_Item (20, 60, "set_next_weap_key", control_bind_f, 1);
|
|
||||||
Menu_Item (20, 70, "set_jump_key", control_bind_f, 1);
|
Draw_String (20, 10, "Backspace/Delete: Del binding");
|
||||||
|
Draw_String (20, 20, "Enter: New binding");
|
||||||
|
|
||||||
|
draw_val_item (20, 40, bind_desc_pad, "Tog. m.-grab", key_bindings_desc[18]);
|
||||||
|
|
||||||
|
opt_cursor (12, (Menu_GetIndex() * 10) + cursor_pad);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
void () basic_control_bind_menu =
|
||||||
|
{
|
||||||
|
local integer i;
|
||||||
|
|
||||||
|
Menu_Begin (54, 40, "Basic bindings");
|
||||||
|
Menu_FadeScreen (1);
|
||||||
|
Menu_Draw (basic_control_bind_draw);
|
||||||
|
|
||||||
|
for (i = 0; i < 18; i++) {
|
||||||
|
Menu_Item (20, 40 + i*10, itos(i), control_bind_f, 1);
|
||||||
|
}
|
||||||
|
Menu_End ();
|
||||||
|
};
|
||||||
|
|
||||||
|
void () misc_control_bind_menu =
|
||||||
|
{
|
||||||
|
local integer i;
|
||||||
|
|
||||||
|
Menu_Begin (54, 50, "Misc bindings");
|
||||||
|
Menu_FadeScreen (1);
|
||||||
|
Menu_Draw (misc_control_bind_draw);
|
||||||
|
|
||||||
|
for (i = 18; i < 19; i++) {
|
||||||
|
Menu_Item (20, 40 + i*10, itos(i), control_bind_f, 1);
|
||||||
|
}
|
||||||
|
Menu_End ();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void () control_bind_menu =
|
||||||
|
{
|
||||||
|
Menu_Begin (54, 90, "Bindings");
|
||||||
|
Menu_Pic (16, 4, "gfx/qplaque.lmp");
|
||||||
|
Menu_CenterPic (160, 4, "gfx/p_option.lmp");
|
||||||
|
Menu_FadeScreen (1);
|
||||||
|
basic_control_bind_menu ();
|
||||||
|
misc_control_bind_menu ();
|
||||||
Menu_End ();
|
Menu_End ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,6 @@ void(string var, string val) cvar_set = #72; // sets cvar.value
|
||||||
string(float f) ftos = #26; // converts float to string
|
string(float f) ftos = #26; // converts float to string
|
||||||
integer(float f) ftoi = #110; // converts float to integer
|
integer(float f) ftoi = #110; // converts float to integer
|
||||||
string(integer i) itos = #112; // converts interger to string
|
string(integer i) itos = #112; // converts interger to string
|
||||||
|
integer(string str) stoi = #113; // converts string to integer
|
||||||
|
float(string str) stof = #81; // converts string to float
|
||||||
void(string s) dprint = #25;
|
void(string s) dprint = #25;
|
||||||
|
|
Loading…
Reference in a new issue