From 21a4d6f547f427453d5ab6d9d16a61b5bbb30455 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Wed, 17 Jul 2002 19:00:56 +0000 Subject: [PATCH] update the menu code to be built using separate compilation --- configure.ac | 1 - cs-code/.gitignore | 2 +- cs-code/Makefile.am | 24 ++++++--- cs-code/cbuf.h | 9 ++++ cs-code/{cbuf_def.qc => cbuf.r} | 2 + cs-code/client_menu.h | 8 +++ cs-code/{menu.qc => client_menu.qc} | 35 +++++++++++--- cs-code/cmd.h | 11 +++++ cs-code/{cmd_def.qc => cmd.r} | 2 + cs-code/controls_o.h | 7 +++ cs-code/controls_o.qc | 7 +++ cs-code/cvar.h | 6 +++ cs-code/{cvar_def.qc => cvar.r} | 2 + cs-code/draw.h | 22 +++++++++ cs-code/draw.r | 59 +++++++++++++++++++++++ cs-code/draw_def.qc | 16 ------ cs-code/file.h | 9 ++++ cs-code/{file_def.qc => file.r} | 2 + cs-code/game.h | 20 ++++++++ cs-code/{game_def.qc => game.r} | 8 +++ cs-code/inputline.h | 16 ++++++ cs-code/{inputline_def.qc => inputline.r} | 4 +- cs-code/key.h | 10 ++++ cs-code/{key_defs.qc => key.r} | 3 +- cs-code/menu.h | 27 +++++++++++ cs-code/{menu_def.qc => menu.r} | 2 + cs-code/menu.src.in | 25 ---------- cs-code/menu_pics.qc | 8 --- cs-code/menu_util.qc | 56 --------------------- cs-code/options.h | 13 +++++ cs-code/options.qc | 11 +++++ cs-code/options_util.h | 11 +++++ cs-code/options_util.qc | 5 +- cs-code/servlist.h | 6 +++ cs-code/servlist.qc | 8 ++- cs-code/string.h | 9 ++++ cs-code/{string_def.qc => string.r} | 2 + cs-code/stringh.h | 12 +++++ cs-code/{stringh_def.qc => stringh.r} | 2 + 39 files changed, 354 insertions(+), 128 deletions(-) create mode 100644 cs-code/cbuf.h rename cs-code/{cbuf_def.qc => cbuf.r} (87%) create mode 100644 cs-code/client_menu.h rename cs-code/{menu.qc => client_menu.qc} (94%) create mode 100644 cs-code/cmd.h rename cs-code/{cmd_def.qc => cmd.r} (92%) create mode 100644 cs-code/controls_o.h create mode 100644 cs-code/cvar.h rename cs-code/{cvar_def.qc => cvar.r} (72%) create mode 100644 cs-code/draw.h create mode 100644 cs-code/draw.r delete mode 100644 cs-code/draw_def.qc create mode 100644 cs-code/file.h rename cs-code/{file_def.qc => file.r} (90%) create mode 100644 cs-code/game.h rename cs-code/{game_def.qc => game.r} (85%) create mode 100644 cs-code/inputline.h rename cs-code/{inputline_def.qc => inputline.r} (85%) create mode 100644 cs-code/key.h rename cs-code/{key_defs.qc => key.r} (92%) create mode 100644 cs-code/menu.h rename cs-code/{menu_def.qc => menu.r} (97%) delete mode 100644 cs-code/menu.src.in create mode 100644 cs-code/options.h create mode 100644 cs-code/options_util.h create mode 100644 cs-code/servlist.h create mode 100644 cs-code/string.h rename cs-code/{string_def.qc => string.r} (91%) create mode 100644 cs-code/stringh.h rename cs-code/{stringh_def.qc => stringh.r} (95%) diff --git a/configure.ac b/configure.ac index 7d7a8439d..ad1c34b69 100644 --- a/configure.ac +++ b/configure.ac @@ -1943,7 +1943,6 @@ AC_OUTPUT( tools/qwaq/progs.src cs-code/Makefile - cs-code/menu.src doc/Makefile doc/man/Makefile diff --git a/cs-code/.gitignore b/cs-code/.gitignore index 60e467195..d5dbce515 100644 --- a/cs-code/.gitignore +++ b/cs-code/.gitignore @@ -1,6 +1,6 @@ *.dat *.gz -*.h +*.qfo *.src *.sym .vimrc diff --git a/cs-code/Makefile.am b/cs-code/Makefile.am index 47e21f22d..487d56ba8 100644 --- a/cs-code/Makefile.am +++ b/cs-code/Makefile.am @@ -15,19 +15,27 @@ GZ=.gz else GZ= endif -STRIP=$(shell echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c) +STRIP=$(shell echo `echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c`) pkgdata_DATA= menu.dat$(GZ) menu_src= \ - cbuf_def.qc cmd_def.qc controls_o.qc cvar_def.qc draw_def.qc file_def.qc \ - game_def.qc inputline_def.qc inputline_util.qc key_defs.qc menu.qc \ - menu_def.qc menu_pics.qc menu_util.qc options.qc options_util.qc \ - servlist.qc string_def.qc stringh_def.qc object.r + cbuf.r client_menu.qc cmd.r controls_o.qc cvar.r draw.r file.r \ + game.r inputline.r inputline_util.qc key.r \ + menu.r menu_pics.qc menu_util.qc options.qc options_util.qc \ + servlist.qc string.r stringh.r object.r -menu.dat$(GZ): menu.src $(menu_src) $(QFCC_DEP) - $(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -P $< +%.qfo: %.r + $(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $< + +%.qfo: %.qc + $(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $< + +menu_obj=$(addsuffix .qfo,$(basename $(menu_src))) + +menu.dat$(GZ): $(menu_obj) $(QFCC_DEP) + $(QFCC) $(QCFLAGS) -p $(STRIP) -o menu.dat $(menu_obj) $(GZIP) EXTRA_DIST= $(menu_src) -CLEANFILES= *.dat *.sym *.gz +CLEANFILES= *.dat *.sym *.gz *.qfo diff --git a/cs-code/cbuf.h b/cs-code/cbuf.h new file mode 100644 index 000000000..dd8185447 --- /dev/null +++ b/cs-code/cbuf.h @@ -0,0 +1,9 @@ +#ifndef __cbuf_h +#define __cbuf_h + +@extern void (string text) Cbuf_AddText; +@extern void (string text) Cbuf_InsertText; +@extern void () Cbuf_Execute; +@extern void () Cbuf_Execute_Sets; + +#endif//__cbuf_h diff --git a/cs-code/cbuf_def.qc b/cs-code/cbuf.r similarity index 87% rename from cs-code/cbuf_def.qc rename to cs-code/cbuf.r index ef5b92b5e..496585fd5 100644 --- a/cs-code/cbuf_def.qc +++ b/cs-code/cbuf.r @@ -1,3 +1,5 @@ +#include "cbuf.h" + void (string text) Cbuf_AddText = #0; void (string text) Cbuf_InsertText = #0; void () Cbuf_Execute = #0; diff --git a/cs-code/client_menu.h b/cs-code/client_menu.h new file mode 100644 index 000000000..a0a17f5ca --- /dev/null +++ b/cs-code/client_menu.h @@ -0,0 +1,8 @@ +#ifndef __client_menu_h +#define __client_menu_h + +#include "inputline.h" + +@extern inputline_t input_active; + +#endif diff --git a/cs-code/menu.qc b/cs-code/client_menu.qc similarity index 94% rename from cs-code/menu.qc rename to cs-code/client_menu.qc index 8f092ad5d..5ed3c85ee 100644 --- a/cs-code/menu.qc +++ b/cs-code/client_menu.qc @@ -1,7 +1,32 @@ -entity self; -.float nextthink; -.float frame; -.void () think; +#include "menu.h" +#include "file.h" +#include "cmd.h" +#include "draw.h" +#include "key.h" +#include "inputline.h" +#include "string.h" +#include "cbuf.h" +#include "options.h" +#include "servlist.h" +#include "game.h" +#include "client_menu.h" + +string [6] dot_name = { + "gfx/menudot1.lmp", + "gfx/menudot2.lmp", + "gfx/menudot3.lmp", + "gfx/menudot4.lmp", + "gfx/menudot5.lmp", + "gfx/menudot6.lmp", +}; + +void (integer x, integer y) spinner = +{ + local integer i = integer(time * 10) % 6; + local qpic_t p = Draw_CachePic (dot_name[i], 1); + + Draw_Pic (x, y, p); +}; integer do_single_player; @@ -439,8 +464,6 @@ void () main_menu = void () menu_init = { - load_menu_pics (); - lanConfig_port_il = InputLine_Create (4, 8, ' '); InputLine_SetWidth (lanConfig_port_il, 10); lanConfig_join_il = InputLine_Create (4, 24, ' '); diff --git a/cs-code/cmd.h b/cs-code/cmd.h new file mode 100644 index 000000000..b338b6ef2 --- /dev/null +++ b/cs-code/cmd.h @@ -0,0 +1,11 @@ +#ifndef __cmd_h +#define __cmd_h + +@extern void (string name, void () func) Cmd_AddCommand; +@extern integer () Cmd_Argc; +@extern string (integer arg) Cmd_Argv; +@extern string (integer arg) Cmd_Args; +@extern string (integer arg) Cmd_Argu; +@extern void (string value) Cmd_Return; + +#endif//__cmd_h diff --git a/cs-code/cmd_def.qc b/cs-code/cmd.r similarity index 92% rename from cs-code/cmd_def.qc rename to cs-code/cmd.r index 043410da7..a49ec196d 100644 --- a/cs-code/cmd_def.qc +++ b/cs-code/cmd.r @@ -1,3 +1,5 @@ +#include "cmd.h" + void (string name, void () func) Cmd_AddCommand = #0; integer () Cmd_Argc = #0; string (integer arg) Cmd_Argv = #0; diff --git a/cs-code/controls_o.h b/cs-code/controls_o.h new file mode 100644 index 000000000..b4dac59f6 --- /dev/null +++ b/cs-code/controls_o.h @@ -0,0 +1,7 @@ +#ifndef __controls_o_h +#define __controls_o_h + +@extern void () MENU_control_binding; +@extern void () load_keybindings; + +#endif//__controls_o_h diff --git a/cs-code/controls_o.qc b/cs-code/controls_o.qc index 477fc9f01..f6cb0507b 100644 --- a/cs-code/controls_o.qc +++ b/cs-code/controls_o.qc @@ -24,6 +24,13 @@ Boston, MA 02111-1307, USA */ +#include "menu.h" +#include "stringh.h" +#include "draw.h" +#include "game.h" +#include "key.h" +#include "string.h" +#include "options_util.h" integer set_key_flag; // holds flag for the key-setting diff --git a/cs-code/cvar.h b/cs-code/cvar.h new file mode 100644 index 000000000..c0f37f36e --- /dev/null +++ b/cs-code/cvar.h @@ -0,0 +1,6 @@ +#ifndef __cvar_h +#define __cvar_h + +@extern string (string varname) Cvar_GetCvarString; + +#endif __cvar_h diff --git a/cs-code/cvar_def.qc b/cs-code/cvar.r similarity index 72% rename from cs-code/cvar_def.qc rename to cs-code/cvar.r index abb0c236e..c6c63e68b 100644 --- a/cs-code/cvar_def.qc +++ b/cs-code/cvar.r @@ -1 +1,3 @@ +#include "cvar.h" + string (string varname) Cvar_GetCvarString = #0; diff --git a/cs-code/draw.h b/cs-code/draw.h new file mode 100644 index 000000000..44ba51968 --- /dev/null +++ b/cs-code/draw.h @@ -0,0 +1,22 @@ +#ifndef __draw_h +#define __draw_h + +struct _qpic_t = { + integer width; + integer height; +}; +typedef _qpic_t [] qpic_t; + +@extern qpic_t (string name, integer alpha) Draw_CachePic; + +@extern void (integer x, integer y, qpic_t pic) Draw_Pic; +@extern void (integer x, integer y, qpic_t pic) Draw_CenterPic; + +@extern void (integer x, integer y, integer chr) Draw_Character; +@extern void (integer x, integer y, string text) Draw_String; +@extern void (integer x, integer y, string text, integer n) Draw_nString; +@extern void (integer x, integer y, string text) Draw_AltString; +@extern void (integer x, integer y, integer w, integer h, integer c) Draw_Fill; +@extern void (integer x, integer y, integer width, integer lines) text_box; + +#endif//__draw_h diff --git a/cs-code/draw.r b/cs-code/draw.r new file mode 100644 index 000000000..12953fa4a --- /dev/null +++ b/cs-code/draw.r @@ -0,0 +1,59 @@ +#include "draw.h" + +qpic_t (string name, integer alpha) Draw_CachePic = #0; + +void (integer x, integer y, qpic_t pic) Draw_Pic = #0; +void (integer x, integer y, qpic_t pic) Draw_CenterPic = #0; + +void (integer x, integer y, integer chr) Draw_Character = #0; +void (integer x, integer y, string text) Draw_String = #0; +void (integer x, integer y, string text, integer n) Draw_nString = #0; +void (integer x, integer y, string text) Draw_AltString = #0; +void (integer x, integer y, integer w, integer h, integer c) Draw_Fill = #0; + +void (integer x, integer y, integer width, integer lines) text_box = +{ + local integer cx, cy, n; + local qpic_t p; + + cx = x; + cy = y; + p = Draw_CachePic ("gfx/box_tl.lmp", 1); + Draw_Pic (cx, cy, p); + p = Draw_CachePic ("gfx/box_ml.lmp", 1); + for (n = 0; n < lines; n++) { + cy += 8; + Draw_Pic (cx, cy, p); + } + p = Draw_CachePic ("gfx/box_bl.lmp", 1); + Draw_Pic (cx, cy + 8, p); + + cx += 8; + while (width > 0) { + cy = y; + p = Draw_CachePic ("gfx/box_tm.lmp", 1); + Draw_Pic (cx, cy, p); + p = Draw_CachePic ("gfx/box_mm.lmp", 1); + for (n = 0; n < lines; n++) { + cy += 8; + if (n == 1) + p = Draw_CachePic ("gfx/box_mm2.lmp", 1); + Draw_Pic (cx, cy, p); + } + p = Draw_CachePic ("gfx/box_bm.lmp", 1); + Draw_Pic (cx, cy + 8, p); + width -= 2; + cx += 16; + } + + cy = y; + p = Draw_CachePic ("gfx/box_tr.lmp", 1); + Draw_Pic (cx, cy, p); + p = Draw_CachePic ("gfx/box_mr.lmp", 1); + for (n = 0; n < lines; n++) { + cy += 8; + Draw_Pic (cx, cy, p); + } + p = Draw_CachePic ("gfx/box_br.lmp", 1); + Draw_Pic (cx, cy + 8, p); +}; diff --git a/cs-code/draw_def.qc b/cs-code/draw_def.qc deleted file mode 100644 index be2127d0f..000000000 --- a/cs-code/draw_def.qc +++ /dev/null @@ -1,16 +0,0 @@ -struct _qpic_t = { - integer width; - integer height; -}; -typedef _qpic_t [] qpic_t; - -qpic_t (string name, integer alpha) Draw_CachePic = #0; - -void (integer x, integer y, qpic_t pic) Draw_Pic = #0; -void (integer x, integer y, qpic_t pic) Draw_CenterPic = #0; - -void (integer x, integer y, integer chr) Draw_Character = #0; -void (integer x, integer y, string text) Draw_String = #0; -void (integer x, integer y, string text, integer n) Draw_nString = #0; -void (integer x, integer y, string text) Draw_AltString = #0; -void (integer x, integer y, integer w, integer h, integer c) Draw_Fill = #0; diff --git a/cs-code/file.h b/cs-code/file.h new file mode 100644 index 000000000..aa08f3d39 --- /dev/null +++ b/cs-code/file.h @@ -0,0 +1,9 @@ +#ifndef __file_h +#define __file_h + +//FIXME need a proper file struct, string sucks +@extern string (string path, string mode) File_Open; +@extern void (string file) File_Close; +@extern string (string file) File_GetLine; + +#endif//__file_h diff --git a/cs-code/file_def.qc b/cs-code/file.r similarity index 90% rename from cs-code/file_def.qc rename to cs-code/file.r index 892308b44..84860748b 100644 --- a/cs-code/file_def.qc +++ b/cs-code/file.r @@ -1,3 +1,5 @@ +#include "file.h" + //FIXME need a proper file struct, string sucks string (string path, string mode) File_Open = #0; void (string file) File_Close = #0; diff --git a/cs-code/game.h b/cs-code/game.h new file mode 100644 index 000000000..337b7af27 --- /dev/null +++ b/cs-code/game.h @@ -0,0 +1,20 @@ +#ifndef __game_h +#define __game_h + +@extern float(string s) cvar; // return cvar.value +@extern void(string var, string val) cvar_set; // sets cvar.value +@extern string(float f) ftos; // converts float to string +@extern integer(float f) ftoi; // converts float to integer +@extern string(integer i) itos; // converts interger to string +@extern float(integer i) itof; // converts interger to string +@extern integer(string str) stoi; // converts string to integer +@extern float(string str) stof; // converts string to float +@extern void(string s) dprint; + +@extern entity self; +@extern .float nextthink; +@extern .float frame; +@extern .void () think; +@extern float time; + +#endif//__game_h diff --git a/cs-code/game_def.qc b/cs-code/game.r similarity index 85% rename from cs-code/game_def.qc rename to cs-code/game.r index 6978cc180..ba69cad35 100644 --- a/cs-code/game_def.qc +++ b/cs-code/game.r @@ -1,3 +1,5 @@ +#include "game.h" + float(string s) cvar = #45; // return cvar.value void(string var, string val) cvar_set = #72; // sets cvar.value string(float f) ftos = #26; // converts float to string @@ -7,3 +9,9 @@ float(integer i) itof = #111; // 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; + +entity self; +.float nextthink; +.float frame; +.void () think; +float time; diff --git a/cs-code/inputline.h b/cs-code/inputline.h new file mode 100644 index 000000000..ef98c933c --- /dev/null +++ b/cs-code/inputline.h @@ -0,0 +1,16 @@ +#ifndef __inputline_h +#define __inputline_h + +struct _inputline_t = {}; // opaque type :) +typedef _inputline_t [] inputline_t; + +@extern inputline_t (integer lines, integer size, integer prompt) InputLine_Create; +@extern void (inputline_t il, integer width) InputLine_SetWidth; +@extern void (inputline_t il) InputLine_Destroy; +@extern void (inputline_t il) InputLine_Clear; +@extern void (inputline_t il, integer ch) InputLine_Process; +@extern void (inputline_t il, integer x, integer y, integer cursor) InputLine_Draw; +@extern void (inputline_t il, string str) InputLine_SetText; +@extern string (inputline_t il) InputLine_GetText; + +#endif//__inputline-h diff --git a/cs-code/inputline_def.qc b/cs-code/inputline.r similarity index 85% rename from cs-code/inputline_def.qc rename to cs-code/inputline.r index aaee35c21..a6ad1090f 100644 --- a/cs-code/inputline_def.qc +++ b/cs-code/inputline.r @@ -1,5 +1,5 @@ -struct _inputline_t = {}; // opaque type :) -typedef _inputline_t [] inputline_t; +#include "inputline.h" + inputline_t (integer lines, integer size, integer prompt) InputLine_Create = #0; void (inputline_t il, integer width) InputLine_SetWidth = #0; void (inputline_t il) InputLine_Destroy = #0; diff --git a/cs-code/key.h b/cs-code/key.h new file mode 100644 index 000000000..501f530c5 --- /dev/null +++ b/cs-code/key.h @@ -0,0 +1,10 @@ +#ifndef __key_h +#define __key_h + +#include "QF/keys.h" +@extern string (integer target, integer keynum, string binding) Key_SetBinding; +@extern integer (integer target, integer bindnum, string binding) Key_LookupBinding; +@extern integer (integer target, string binding) Key_CountBinding; +@extern string (integer keynum) Key_KeynumToString; + +#endif//__key_h diff --git a/cs-code/key_defs.qc b/cs-code/key.r similarity index 92% rename from cs-code/key_defs.qc rename to cs-code/key.r index 4e2173c1a..e8e41e5b2 100644 --- a/cs-code/key_defs.qc +++ b/cs-code/key.r @@ -1,4 +1,5 @@ -#include "QF/keys.h" +#include "key.h" + string (integer target, integer keynum, string binding) Key_SetBinding = #0; integer (integer target, integer bindnum, string binding) Key_LookupBinding = #0; integer (integer target, string binding) Key_CountBinding = #0; diff --git a/cs-code/menu.h b/cs-code/menu.h new file mode 100644 index 000000000..90c5aeef9 --- /dev/null +++ b/cs-code/menu.h @@ -0,0 +1,27 @@ +#ifndef __menu_h +#define __menu_h + +@extern void (integer x, integer y, string text) Menu_Begin; +@extern void (integer val) Menu_FadeScreen; +@extern void (integer () func) Menu_Draw; +@extern void (integer () func) Menu_EnterHook; +@extern void (integer () func) Menu_LeaveHook; +@extern void (integer x, integer y, string name) Menu_Pic; +@extern void (integer x, integer y, string name) Menu_CenterPic; +@extern void (integer x, integer y, string text, integer (string text, integer key) func, integer allkeys) Menu_Item; +@extern void (void (integer x, integer y) func) Menu_Cursor; +@extern void (integer (integer key, integer unicode, integer down) func) Menu_KeyEvent; +@extern void () Menu_End; +@extern void (string name) Menu_TopMenu; +@extern void (string name) Menu_SelectMenu; +@extern void (integer () func) Menu_SetQuit; +@extern void () Menu_Quit; +@extern integer () Menu_GetIndex; + +@extern float () random; +@extern float () traceon; +@extern float () traceoff; +@extern string () gametype; +@extern string (...) sprintf; + +#endif//__menu_h; diff --git a/cs-code/menu_def.qc b/cs-code/menu.r similarity index 97% rename from cs-code/menu_def.qc rename to cs-code/menu.r index b5277e39e..24177400f 100644 --- a/cs-code/menu_def.qc +++ b/cs-code/menu.r @@ -1,3 +1,5 @@ +#include "menu.h" + void (integer x, integer y, string text) Menu_Begin = #0; void (integer val) Menu_FadeScreen = #0; void (integer () func) Menu_Draw = #0; diff --git a/cs-code/menu.src.in b/cs-code/menu.src.in deleted file mode 100644 index 031ee14cd..000000000 --- a/cs-code/menu.src.in +++ /dev/null @@ -1,25 +0,0 @@ -menu.dat - -@srcdir@/cbuf_def.qc -@srcdir@/cmd_def.qc -@srcdir@/cvar_def.qc -@srcdir@/draw_def.qc -@srcdir@/file_def.qc -@srcdir@/game_def.qc -@srcdir@/inputline_def.qc -@srcdir@/key_defs.qc -@srcdir@/menu_def.qc -@srcdir@/string_def.qc -@srcdir@/stringh_def.qc - -@srcdir@/menu_pics.qc - -@srcdir@/inputline_util.qc -@srcdir@/menu_util.qc -@srcdir@/options_util.qc - -@srcdir@/controls_o.qc -@srcdir@/options.qc -@srcdir@/servlist.qc -@srcdir@/menu.qc -@srcdir@/object.r diff --git a/cs-code/menu_pics.qc b/cs-code/menu_pics.qc index dede595ec..25fdf5410 100644 --- a/cs-code/menu_pics.qc +++ b/cs-code/menu_pics.qc @@ -1,11 +1,3 @@ -string [6] dot_name = { - "gfx/menudot1.lmp", - "gfx/menudot2.lmp", - "gfx/menudot3.lmp", - "gfx/menudot4.lmp", - "gfx/menudot5.lmp", - "gfx/menudot6.lmp", -}; void () load_menu_pics = diff --git a/cs-code/menu_util.qc b/cs-code/menu_util.qc index 6557e3566..e69de29bb 100644 --- a/cs-code/menu_util.qc +++ b/cs-code/menu_util.qc @@ -1,56 +0,0 @@ -float time; - -void (integer x, integer y) spinner = -{ - local integer i = integer(time * 10) % 6; - local qpic_t p = Draw_CachePic (dot_name[i], 1); - - Draw_Pic (x, y, p); -}; - -void (integer x, integer y, integer width, integer lines) text_box = -{ - local integer cx, cy, n; - local qpic_t p; - - cx = x; - cy = y; - p = Draw_CachePic ("gfx/box_tl.lmp", 1); - Draw_Pic (cx, cy, p); - p = Draw_CachePic ("gfx/box_ml.lmp", 1); - for (n = 0; n < lines; n++) { - cy += 8; - Draw_Pic (cx, cy, p); - } - p = Draw_CachePic ("gfx/box_bl.lmp", 1); - Draw_Pic (cx, cy + 8, p); - - cx += 8; - while (width > 0) { - cy = y; - p = Draw_CachePic ("gfx/box_tm.lmp", 1); - Draw_Pic (cx, cy, p); - p = Draw_CachePic ("gfx/box_mm.lmp", 1); - for (n = 0; n < lines; n++) { - cy += 8; - if (n == 1) - p = Draw_CachePic ("gfx/box_mm2.lmp", 1); - Draw_Pic (cx, cy, p); - } - p = Draw_CachePic ("gfx/box_bm.lmp", 1); - Draw_Pic (cx, cy + 8, p); - width -= 2; - cx += 16; - } - - cy = y; - p = Draw_CachePic ("gfx/box_tr.lmp", 1); - Draw_Pic (cx, cy, p); - p = Draw_CachePic ("gfx/box_mr.lmp", 1); - for (n = 0; n < lines; n++) { - cy += 8; - Draw_Pic (cx, cy, p); - } - p = Draw_CachePic ("gfx/box_br.lmp", 1); - Draw_Pic (cx, cy + 8, p); -}; diff --git a/cs-code/options.h b/cs-code/options.h new file mode 100644 index 000000000..935486e03 --- /dev/null +++ b/cs-code/options.h @@ -0,0 +1,13 @@ +#ifndef __options_h +#define __options_h + +@extern void () MENU_video_options; +@extern void () MENU_audio_options; +@extern void () MENU_control_options; +@extern void () MENU_feature_options; +@extern void () MENU_player_options; +@extern void () MENU_network_options; +@extern void () MENU_options; +@extern void (integer x, integer y, integer spacing, string label, string valstr) draw_val_item; + +#endif//__options_r diff --git a/cs-code/options.qc b/cs-code/options.qc index ff5590b4c..bff89f825 100644 --- a/cs-code/options.qc +++ b/cs-code/options.qc @@ -24,6 +24,17 @@ Boston, MA 02111-1307, USA */ +#include "options.h" +#include "cbuf.h" +#include "menu.h" +#include "game.h" +#include "draw.h" +#include "cvar.h" +#include "key.h" +#include "inputline.h" +#include "controls_o.h" +#include "options_util.h" + /* some definitions of border values for different things diff --git a/cs-code/options_util.h b/cs-code/options_util.h new file mode 100644 index 000000000..f82290aa5 --- /dev/null +++ b/cs-code/options_util.h @@ -0,0 +1,11 @@ +#ifndef __options_util_h +#define __options_util_h + +@extern void (integer x, integer y) opt_cursor; +@extern void (integer x, integer y, integer size, integer perc_val) draw_perc_bar; +@extern void (integer x, integer y, integer spacing, string spacechar, string label, string valstr) draw_item; +@extern void (integer x, integer y, integer spacing, string label, string valstr) draw_val_item; +@extern integer (float min, float max, float val) to_percentage; +@extern float (float min, float max, float step, float val, integer cntflag) min_max_cnt; + +#endif//__options_util_h diff --git a/cs-code/options_util.qc b/cs-code/options_util.qc index a2187965b..eb9982e07 100644 --- a/cs-code/options_util.qc +++ b/cs-code/options_util.qc @@ -24,8 +24,9 @@ Boston, MA 02111-1307, USA */ - -float time; // holds current time +#include "draw.h" +#include "game.h" +#include "string.h" /* opt_cursor diff --git a/cs-code/servlist.h b/cs-code/servlist.h new file mode 100644 index 000000000..14aef4172 --- /dev/null +++ b/cs-code/servlist.h @@ -0,0 +1,6 @@ +#ifndef __servlist_h +#define __servlist_h + +@extern void () server_list_menu; + +#endif//__servlist_h diff --git a/cs-code/servlist.qc b/cs-code/servlist.qc index 9e5e5836a..c9bf4689a 100644 --- a/cs-code/servlist.qc +++ b/cs-code/servlist.qc @@ -1,4 +1,9 @@ -void (integer x, integer y, integer width, integer lines) text_box; +#include "menu.h" +#include "draw.h" +#include "inputline.h" +#include "options_util.h" +#include "controls_o.h" +#include "client_menu.h" integer () servlist_favorates_draw = { @@ -20,7 +25,6 @@ integer serv_nfull; integer serv_nempty; inputline_t serv_maxping; inputline_t serv_game; -inputline_t input_active; integer () servlist_filter_draw = { diff --git a/cs-code/string.h b/cs-code/string.h new file mode 100644 index 000000000..08dfb43ed --- /dev/null +++ b/cs-code/string.h @@ -0,0 +1,9 @@ +#ifndef __string_h +#define __string_h + +@extern string (integer old, integer new, string str) String_ReplaceChar; +@extern string (integer pos, integer len, string str) String_Cut; +@extern integer (string str) String_Len; +@extern integer (string str, integer pos) String_GetChar; + +#endif diff --git a/cs-code/string_def.qc b/cs-code/string.r similarity index 91% rename from cs-code/string_def.qc rename to cs-code/string.r index 1e4f2bec5..03deb8aa9 100644 --- a/cs-code/string_def.qc +++ b/cs-code/string.r @@ -1,3 +1,5 @@ +#include "string.h" + string (integer old, integer new, string str) String_ReplaceChar = #0; string (integer pos, integer len, string str) String_Cut = #0; integer (string str) String_Len = #0; diff --git a/cs-code/stringh.h b/cs-code/stringh.h new file mode 100644 index 000000000..fa6d19287 --- /dev/null +++ b/cs-code/stringh.h @@ -0,0 +1,12 @@ +#ifndef __stringh_h +#define __stringh_h + +@extern integer () StringHash_Create; +@extern integer (integer hashid) StringHash_Destroy; +@extern integer (integer hashid, string key, string value, integer value_id) StringHash_Set; +@extern string (integer hashid, string key, integer value_id) StringHash_Get; +@extern integer (integer hashid) StringHash_Length; +@extern string (integer hashid, integer idx, integer value_id) StringHash_GetIdx; +@extern integer (integer hashid, integer idx, string value, integer value_id) StringHash_SetIdx; + +#endif//__stringh_h diff --git a/cs-code/stringh_def.qc b/cs-code/stringh.r similarity index 95% rename from cs-code/stringh_def.qc rename to cs-code/stringh.r index b5b73b44a..df27e73bb 100644 --- a/cs-code/stringh_def.qc +++ b/cs-code/stringh.r @@ -1,3 +1,5 @@ +#include "stringh.h" + integer () StringHash_Create = #0; integer (integer hashid) StringHash_Destroy = #0; integer (integer hashid, string key, string value, integer value_id) StringHash_Set = #0;