diff --git a/ruamoko/include/Object.h b/ruamoko/include/Object.h index 6292d4707..fd1c9064d 100644 --- a/ruamoko/include/Object.h +++ b/ruamoko/include/Object.h @@ -1,66 +1,69 @@ #ifndef __ruamoko_Object_h #define __ruamoko_Object_h +/** + Standard boolean type +*/ typedef enum { - NO, - YES, + NO, ///< false + YES, ///< true } BOOL; -@extern void (id object, integer code, string fmt, ...) obj_error; -@extern void (id object, integer code, string fmt, @va_list args) obj_verror; -//obj_error_handler (objc_error_handler func) obj_set_error_handler; -@extern IMP (id receiver, SEL op) obj_msg_lookup; -@extern IMP (Super class, SEL op) obj_msg_lookup_super; -@extern @param (id receiver, SEL op, @va_list args) obj_msg_sendv; -@extern (void []) (integer size) obj_malloc; -@extern (void []) (integer size) obj_atomic_malloc; -@extern (void []) (integer size) obj_valloc; -@extern (void []) (void [] mem, integer size) obj_realloc; -@extern (void []) (integer nelem, integer size) obj_calloc; -@extern void (void [] mem) obj_free; -//(void []) (void) obj_get_uninstalled_dtable; +@extern void obj_error (id object, integer code, string fmt, ...); +@extern void obj_verror (id object, integer code, string fmt, @va_list args); +//obj_error_handler obj_set_error_handler (objc_error_handler func); +@extern IMP obj_msg_lookup (id receiver, SEL op); +@extern IMP obj_msg_lookup_super (Super class, SEL op); +@extern @param obj_msg_sendv (id receiver, SEL op, @va_list args); +@extern (void []) obj_malloc (integer size); +@extern (void []) obj_atomic_malloc (integer size); +@extern (void []) obj_valloc (integer size); +@extern (void []) obj_realloc (void [] mem, integer size); +@extern (void []) obj_calloc (integer nelem, integer size); +@extern void obj_free (void [] mem); +//(void []) obj_get_uninstalled_dtable (void); -@extern Class (string name) obj_get_class; -@extern Class (string name) obj_lookup_class; -//Class (void [][] enum_stage) obj_next_class; +@extern Class obj_get_class (string name); +@extern Class obj_lookup_class (string name); +//Class obj_next_class (void [][] enum_stage); -@extern string (SEL selector) sel_get_name; -@extern string (SEL selector) sel_get_type; -@extern SEL (string name) sel_get_uid; -//@extern SEL (string name) sel_get_any_uid; -//@extern SEL (string name) sel_get_any_typed_uid; -//@extern SEL (string name, string type) sel_get_typed_uid; -@extern SEL (string name) sel_register_name; -//@extern SEL (string name, string type) sel_register_typed_name; -@extern BOOL (SEL aSel) sel_is_mapped; +@extern string sel_get_name (SEL selector); +@extern string sel_get_type (SEL selector); +@extern SEL sel_get_uid (string name); +//@extern SEL sel_get_any_uid (string name); +//@extern SEL sel_get_any_typed_uid (string name); +//@extern SEL sel_get_typed_uid (string name, string type); +@extern SEL sel_register_name (string name); +//@extern SEL sel_register_typed_name (string name, string type); +@extern BOOL sel_is_mapped (SEL aSel); -@extern Method (Class class, SEL aSel) class_get_class_method; -@extern Method (Class class, SEL aSel) class_get_instance_method; -@extern Class (Class imposter, Class superclass) class_pose_as; -@extern id (Class class) class_create_instance; -@extern string (Class class) class_get_class_name; -@extern integer (Class class) class_get_instance_size; -@extern Class (Class class) class_get_meta_class; -@extern Class (Class class) class_get_super_class; -@extern integer (Class class) class_get_version; -@extern BOOL (Class class) class_is_class; -@extern BOOL (Class class) class_is_meta_class; -@extern void (Class class, integer version) class_set_version; -@extern (void []) (Class class) class_get_gc_object_type; -@extern void (Class class, string ivarname, BOOL gcInvisible) class_ivar_set_gcinvisible; +@extern Method class_get_class_method (Class class, SEL aSel); +@extern Method class_get_instance_method (Class class, SEL aSel); +@extern Class class_pose_as (Class imposter, Class superclass); +@extern id class_create_instance (Class class); +@extern string class_get_class_name (Class class); +@extern integer class_get_instance_size (Class class); +@extern Class class_get_meta_class (Class class); +@extern Class class_get_super_class (Class class); +@extern integer class_get_version (Class class); +@extern BOOL class_is_class (Class class); +@extern BOOL class_is_meta_class (Class class); +@extern void class_set_version (Class class, integer version); +@extern (void []) class_get_gc_object_type (Class class); +@extern void class_ivar_set_gcinvisible (Class class, string ivarname, BOOL gcInvisible); -@extern IMP (Method method) method_get_imp; -@extern IMP (Class class, SEL sel) get_imp; +@extern IMP method_get_imp (Method method); +@extern IMP get_imp (Class class, SEL sel); -@extern id (id object) object_copy; -@extern id (id object) object_dispose; -@extern Class (id object) object_get_class; -@extern string (id object) object_get_class_name; -@extern Class (id object) object_get_meta_class; -@extern Class (id object) object_get_super_class; -@extern BOOL (id object) object_is_class; -@extern BOOL (id object) object_is_instance; -@extern BOOL (id object) object_is_meta_class; +@extern id object_copy (id object); +@extern id object_dispose (id object); +@extern Class object_get_class (id object); +@extern string object_get_class_name (id object); +@extern Class object_get_meta_class (id object); +@extern Class object_get_super_class (id object); +@extern BOOL object_is_class (id object); +@extern BOOL object_is_instance (id object); +@extern BOOL object_is_meta_class (id object); @class Protocol; @@ -93,13 +96,15 @@ typedef enum { @end @protocol Copying +/** + Returns a copy of the receiver. +*/ - copy; @end -@protocol MutableCopying -- mutableCopy; -@end - +/** + The Ruamoko root class +*/ @interface Object { Class isa; diff --git a/ruamoko/include/cbuf.h b/ruamoko/include/cbuf.h index ebdd25f21..1a2ef142f 100644 --- a/ruamoko/include/cbuf.h +++ b/ruamoko/include/cbuf.h @@ -1,9 +1,9 @@ #ifndef __ruamoko_cbuf_h #define __ruamoko_cbuf_h -@extern void (string text) Cbuf_AddText; -@extern void (string text) Cbuf_InsertText; -@extern void () Cbuf_Execute; -@extern void () Cbuf_Execute_Sets; +@extern void Cbuf_AddText (string text); +@extern void Cbuf_InsertText (string text); +@extern void Cbuf_Execute (void); +@extern void Cbuf_Execute_Sets (void); #endif//__ruamoko_cbuf_h diff --git a/ruamoko/include/cmd.h b/ruamoko/include/cmd.h index bd907e887..dc072c6f1 100644 --- a/ruamoko/include/cmd.h +++ b/ruamoko/include/cmd.h @@ -1,9 +1,9 @@ #ifndef __ruamoko_cmd_h #define __ruamoko_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 void Cmd_AddCommand (string name, void () func); +@extern integer Cmd_Argc (void); +@extern string Cmd_Argv (integer arg); +@extern string Cmd_Args (integer arg); #endif//__ruamoko_cmd_h diff --git a/ruamoko/include/crudefile.h b/ruamoko/include/crudefile.h index 5c13c8b4d..839399af2 100644 --- a/ruamoko/include/crudefile.h +++ b/ruamoko/include/crudefile.h @@ -1,11 +1,11 @@ #ifndef __ruamoko_crudefile_h #define __ruamoko_crudefile_h -@extern float (string path, string mode) cfopen; -@extern void (float desc) cfclose; -@extern string (float desc) cfread; -@extern float (float desc, string buf) cfwrite; -@extern float (float desc) cfeof; -@extern float () cfquota; +@extern float cfopen (string path, string mode); +@extern void cfclose (float desc); +@extern string cfread (float desc); +@extern float cfwrite (float desc, string buf); +@extern float cfeof (float desc); +@extern float cfquota (void); #endif//__ruamoko_crudefile_h diff --git a/ruamoko/include/cvar.h b/ruamoko/include/cvar.h index ff3d0c7fe..88b93233e 100644 --- a/ruamoko/include/cvar.h +++ b/ruamoko/include/cvar.h @@ -1,14 +1,14 @@ #ifndef __ruamoko_cvar_h #define __ruamoko_cvar_h -@extern void (string varname, string value) Cvar_SetString; -@extern void (string varname, float value) Cvar_SetFloat; -@extern void (string varname, integer value) Cvar_SetInteger; -@extern void (string varname, vector value) Cvar_SetVector; -@extern string (string varname) Cvar_GetString; -@extern float (string varname) Cvar_GetFloat; -@extern integer (string varname) Cvar_GetInteger; -@extern vector (string varname) Cvar_GetVector; -@extern void (string varname) Cvar_Toggle; +@extern void Cvar_SetString (string varname, string value); +@extern void Cvar_SetFloat (string varname, float value); +@extern void Cvar_SetInteger (string varname, integer value); +@extern void Cvar_SetVector (string varname, vector value); +@extern string Cvar_GetString (string varname); +@extern float Cvar_GetFloat (string varname); +@extern integer Cvar_GetInteger (string varname); +@extern vector Cvar_GetVector (string varname); +@extern void Cvar_Toggle (string varname); #endif//__ruamoko_cvar_h diff --git a/ruamoko/include/debug.h b/ruamoko/include/debug.h index 76627fb23..465ad6381 100644 --- a/ruamoko/include/debug.h +++ b/ruamoko/include/debug.h @@ -1,8 +1,10 @@ -/* - debug.h +/** + \file debug.h Debugging function definitions +*/ +/* Copyright (C) 2002 Bill Currie Copyright (C) 2002 Jeff Teunissen @@ -25,82 +27,53 @@ Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA - - $Id$ */ + #ifndef __ruamoko_debug_h #define __ruamoko_debug_h -#ifdef __RUA_INTERNAL_IMPLEMENT -# undef BUILTIN -# define BUILTIN(name, number, rettype, ...) \ - rettype (__VA_ARGS__) name = number -#else -# undef BUILTIN -# define BUILTIN(name, number, rettype, ...) \ - rettype (__VA_ARGS__) name -@extern { -#endif // __RUA_INTERNAL_IMPLEMENT +/** + Tell the engine to abort (stop) code processing. + \note In QuakeC, this was break(). +*/ +@extern void abort (void); - /* - abort (in QuakeC, this was break) +/** + Tell the engine to print all edicts (entities) +*/ +@extern void coredump (void); - Tell the engine to abort (stop) code processing. - */ - BUILTIN (abort, #6, void, void); +/** + Enable instruction trace in the interpreter +*/ +@extern void traceon (void); - /* - coredump +/** + traceoff - Tell the engine to print all edicts (entities) - */ - BUILTIN (coredump, #28, void, void); + Disable instruction trace in the interpreter +*/ +@extern void traceoff (void); - /* - traceon +/** + Print all information on an entity to the console +*/ +@extern void eprint (entity e); - Enable instruction trace in the interpreter - */ - BUILTIN (traceon, #29, void, void); +/** + Print a string to the console if the "developer" Cvar is nonzero. +*/ +@extern void dprint (string str); - /* - traceoff +/** + Abort (crash) the server. "str" is the message the server crashes with. +*/ +@extern void error (string str); - Disable instruction trace in the interpreter - */ - BUILTIN (traceoff, #30, void, void); - - /* - eprint - - Print all information on an entity to the console - */ - BUILTIN (eprint, #31, void, entity e); - - /* - dprint - - Print a string to the console if the "developer" Cvar is nonzero. - */ - BUILTIN (dprint, #25, void, string str); - - /* - error - - Abort (crash) the server. "str" is the message the server crashes with. - */ - BUILTIN (error, #10, void, string str); - - /* - objerror - - Prints info on the "self" ENTITY (not object), and error message "e". - The entity is freed. - */ - BUILTIN (objerror, #10, void, string e); - -#ifndef __RUA_INTERNAL_IMPLEMENT -}; -#endif // __RUA_INTERNAL_IMPLEMENT +/** + Prints info on the "self" ENTITY (not object), and error message "e". + The entity is freed. +*/ +@extern void objerror (string e); #endif //__ruamoko_debug_h diff --git a/ruamoko/include/draw.h b/ruamoko/include/draw.h index 89402eedc..91e2505d4 100644 --- a/ruamoko/include/draw.h +++ b/ruamoko/include/draw.h @@ -9,19 +9,19 @@ struct _qpic_t { }; typedef struct _qpic_t [] qpic_t; -@extern qpic_t (string name, integer alpha) Draw_CachePic; +@extern qpic_t Draw_CachePic (string name, integer alpha); -@extern void (integer x, integer y, qpic_t pic) Draw_Pic; -@extern void (integer x, integer y, qpic_t pic, integer srcx, integer srcy, integer width, integer height) Draw_SubPic; -@extern void (integer x, integer y, qpic_t pic) Draw_CenterPic; +@extern void Draw_Pic (integer x, integer y, qpic_t pic); +@extern void Draw_SubPic (integer x, integer y, qpic_t pic, integer srcx, integer srcy, integer width, integer height); +@extern void Draw_CenterPic (integer x, integer y, qpic_t pic); -@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 ch, integer x, integer y) Draw_Crosshair; -@extern void (integer x, integer y, integer width, integer lines) text_box; +@extern void Draw_Character (integer x, integer y, integer chr); +@extern void Draw_String (integer x, integer y, string text); +@extern void Draw_nString (integer x, integer y, string text, integer n); +@extern void Draw_AltString (integer x, integer y, string text); +@extern void Draw_Fill (integer x, integer y, integer w, integer h, integer c); +@extern void Draw_Crosshair (integer ch, integer x, integer y); +@extern void text_box (integer x, integer y, integer width, integer lines); @interface QPic : Object { diff --git a/ruamoko/include/entities.h b/ruamoko/include/entities.h index d474ab51b..8ecc6edae 100644 --- a/ruamoko/include/entities.h +++ b/ruamoko/include/entities.h @@ -1,8 +1,11 @@ +/** + \file entities.h + + Built-in functions for dealing with Quake entities. + These builtin functions create, modify, delete, etc. Quake entities. +*/ + /* - entities.h - - Entity function prototypes - Copyright (C) 2002 Bill Currie Copyright (C) 2002 Jeff Teunissen @@ -31,111 +34,84 @@ #ifndef __ruamoko_entities_h #define __ruamoko_entities_h -#ifdef __RUA_INTERNAL_IMPLEMENT -# undef BUILTIN -# define BUILTIN(name, number, rettype, ...) \ - rettype (__VA_ARGS__) name = number -#else -# undef BUILTIN -# define BUILTIN(name, number, rettype, ...) \ - rettype (__VA_ARGS__) name -@extern { -#endif // __RUA_INTERNAL_IMPLEMENT +///\name Server-only entity functions +///\{ +/** + Sets the model name for %entity \a e to string \a m. + Set the entity's move type and solid type before calling. +*/ +@extern void setmodel (entity e, string m); - /* - setmodel +/** + Sets origin for %entity \a e to vector \a o. +*/ +@extern void setorigin (entity e, vector o); - Sets the model name for entity e to string m. - Set the entity's move type and solid type before calling. - SERVER ONLY - */ - BUILTIN (setmodel, #3, void, entity e, string m); +/** + Set the size of %entity \a e to a cube with the bounds + ( xmin ymin zmin ) ( xmax ymax zmax ) +*/ +@extern void setsize (entity e, vector min, vector max); - /* - setorigin +/** + Creates a new %entity and returns it. +*/ +@extern entity spawn (void); - Sets origin for entity e to vector o. - SERVER ONLY - */ - BUILTIN (setorigin, #2, void, entity e, vector o); +/** + Remove %entity e. +*/ +@extern void remove (entity e); - /* - setsize +/** + If none found, world is returned. + If >1 found, the next will be linked using the "chain" field. +*/ +@extern entity findradius (vector origin, float radius); - Set the size of entity e to a cube with the bounds ( x1 y1 z1 ) ( x2 y2 z2 ) - SERVER ONLY - */ - BUILTIN (setsize, #4, void, entity e, vector min, vector max); +/** + Make %entity e static (part of the world). + Static entities do not interact with the game. +*/ +@extern void makestatic (entity e); - /* - spawn +@extern void setspawnparms (entity e); +//\} - Creates a new entity and returns it. - SERVER ONLY - */ - BUILTIN (spawn, #14, entity, void); - - /* - remove - - Remove entity e. - SERVER ONLY - */ - BUILTIN (remove, #15, void, entity e); - - /* - find - - Search all entities for a field with contents matching a value and - return the first matching entity. - - start: the edict from which to start. - field: The field to search. - match: The contents to search for. - - This function must be called multiple times to get multiple results. - Stupid, but functional. - */ +///\name Client/Server entity functions +///\{ #ifdef __VERSION6__ - BUILTIN (find, #18, entity, entity start, .string field, string match); +/** + Search all entities for a field with contents matching a value and + return the first matching entity. + + \param start the edict from which to start. + \param field The field to search. + \param match The contents to search for. + + This function must be called multiple times to get multiple results. + Stupid, but functional. +*/ +@extern entity find (entity start, .string field, string match); #else - BUILTIN (find, #18, entity, entity start, ...); +/** + Search all entities for a field with contents matching a value and + return the first matching entity. + + \param start the edict from which to start. + + This function must be called multiple times to get multiple results. + Stupid, but functional. +*/ +@extern entity find (entity start, ...); #endif - /* - findradius - - Search for entities within radius of origin. - - If none found, world is returned. - If >1 found, the next will be linked using the "chain" field. - SERVER ONLY - */ - BUILTIN (findradius, #22, entity, vector origin, float radius); - - /* - nextent - - Return next entity after e. Use for traversing all entities. - Entity zero (the world) is returned if no more exist. - */ - BUILTIN (nextent, #47, entity, entity e); - - /* - makestatic - - Make entity e static (part of the world). - Static entities do not interact with the game. - SERVER ONLY - */ - BUILTIN (makestatic, #69, void, entity e); - - BUILTIN (setspawnparms, #78, void, entity e); - - BUILTIN (EntityParseFunction, #0, void, void (string ent_data) func); - -#ifndef __RUA_INTERNAL_IMPLEMENT -}; -#endif // __RUA_INTERNAL_IMPLEMENT +/** + Return next entity after e. Use for traversing all entities. + %Entity zero (the world) is returned if no more exist. +*/ +@extern entity nextent (entity e); +@extern void EntityParseFunction (void (string ent_data) func); +///\} #endif //__ruamoko_entities_h diff --git a/ruamoko/include/file.h b/ruamoko/include/file.h index 45c649524..f1c3a580b 100644 --- a/ruamoko/include/file.h +++ b/ruamoko/include/file.h @@ -3,6 +3,6 @@ #include "qfile.h" -@extern QFile (string path, string mode) File_Open; +@extern QFile File_Open (string path, string mode); #endif//__ruamoko_file_h diff --git a/ruamoko/include/gib.h b/ruamoko/include/gib.h index 67e13e929..f33acc6c1 100644 --- a/ruamoko/include/gib.h +++ b/ruamoko/include/gib.h @@ -1,7 +1,7 @@ #ifndef __ruamoko_gib_h #define __ruamoko_gib_h -@extern void (string name, void (integer argc, string [] argv) func) GIB_Builtin_Add; -@extern integer (string value) GIB_Return; +@extern void GIB_Builtin_Add (string name, void (integer argc, string [] argv) func); +@extern integer GIB_Return (string value); #endif//__ruamoko_gib_h diff --git a/ruamoko/include/hash.h b/ruamoko/include/hash.h index 23fe6734f..60ad0d72a 100644 --- a/ruamoko/include/hash.h +++ b/ruamoko/include/hash.h @@ -4,22 +4,22 @@ struct _hashtab_t {}; typedef struct _hashtab_t [] hashtab_t; -@extern hashtab_t (integer size, string (void []ele, void []data) gk, void (void []ele, void []data) f, void [] ud) Hash_NewTable; -@extern void (hashtab_t tab, unsigned (void []ele, void []data) gh, integer (void [] ele1, void [] ele2, void [] data) cmp) Hash_SetHashCompare; -@extern void (hashtab_t tab) Hash_DelTable; -@extern void (hashtab_t tab) Hash_FlushTable; -@extern integer (hashtab_t tab, void [] ele) Hash_Add; -@extern integer (hashtab_t tab, void [] ele) Hash_AddElement; -@extern (void []) (hashtab_t tab, string key) Hash_Find; -@extern (void []) (hashtab_t tab, void [] ele) Hash_FindElement; -@extern (void [][]) (hashtab_t tab, string key) Hash_FindList; -@extern (void [][]) (hashtab_t tab, void [] ele) Hash_FindElementList; -@extern (void []) (hashtab_t tab, string key) Hash_Del; -@extern (void []) (hashtab_t tab, void [] ele) Hash_DelElement; -@extern void (hashtab_t tab, void [] ele) Hash_Free; -@extern integer (string str) Hash_String; -@extern integer (void [] buf, integer len) Hash_Buffer; -@extern (void [][]) (hashtab_t tab) Hash_GetList; -@extern void (hashtab_t tab) Hash_Stats; +@extern hashtab_t Hash_NewTable (integer size, string (void []ele, void []data) gk, void (void []ele, void []data) f, void [] ud); +@extern void Hash_SetHashCompare (hashtab_t tab, unsigned (void []ele, void []data) gh, integer (void [] ele1, void [] ele2, void [] data) cmp); +@extern void Hash_DelTable (hashtab_t tab); +@extern void Hash_FlushTable (hashtab_t tab); +@extern integer Hash_Add (hashtab_t tab, void [] ele); +@extern integer Hash_AddElement (hashtab_t tab, void [] ele); +@extern (void []) Hash_Find (hashtab_t tab, string key); +@extern (void []) Hash_FindElement (hashtab_t tab, void [] ele); +@extern (void [][]) Hash_FindList (hashtab_t tab, string key); +@extern (void [][]) Hash_FindElementList (hashtab_t tab, void [] ele); +@extern (void []) Hash_Del (hashtab_t tab, string key); +@extern (void []) Hash_DelElement (hashtab_t tab, void [] ele); +@extern void Hash_Free (hashtab_t tab, void [] ele); +@extern integer Hash_String (string str); +@extern integer Hash_Buffer (void [] buf, integer len); +@extern (void [][]) Hash_GetList (hashtab_t tab); +@extern void Hash_Stats (hashtab_t tab); #endif // __ruamoko_hash_h diff --git a/ruamoko/include/infokey.h b/ruamoko/include/infokey.h index 6063a286e..bae9606c9 100644 --- a/ruamoko/include/infokey.h +++ b/ruamoko/include/infokey.h @@ -1,7 +1,7 @@ #ifndef __ruamoko_infokey_h #define __ruamoko_infokey_h -@extern string (entity e, string key) infokey; -@extern void (entity ent, string key, string value) setinfokey; +@extern string infokey (entity e, string key); +@extern void setinfokey (entity ent, string key, string value); #endif//__ruamoko_infokey_h diff --git a/ruamoko/include/key.h b/ruamoko/include/key.h index e361f72b3..429156b7e 100644 --- a/ruamoko/include/key.h +++ b/ruamoko/include/key.h @@ -2,9 +2,9 @@ #define __ruamoko_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; +@extern string Key_SetBinding (integer target, integer keynum, string binding); +@extern integer Key_LookupBinding (integer target, integer bindnum, string binding); +@extern integer Key_CountBinding (integer target, string binding); +@extern string Key_KeynumToString (integer keynum); #endif//__ruamoko_key_h diff --git a/ruamoko/include/math.h b/ruamoko/include/math.h index 9a704ce77..5705e3ec9 100644 --- a/ruamoko/include/math.h +++ b/ruamoko/include/math.h @@ -36,21 +36,21 @@ Generate a random number such that 0 <= num <= 1 (0 to 1 inclusive) */ -@extern float () random; +@extern float random (void); /* ftoi Returns the integer component of f */ -@extern integer (float f) ftoi; +@extern integer ftoi (float f); /* itof Returns the float representation of i */ -@extern float (integer i) itof; +@extern float itof (integer i); /* rint @@ -58,28 +58,28 @@ Rounds v to the nearest integer value and returns it. rint() does not change the type. */ -@extern float (float v) rint; +@extern float rint (float v); /* floor Returns v, rounded down to the next lower integer */ -@extern float (float v) floor; +@extern float floor (float v); /* ceil Returns v, rounded up to the next highest integer */ -@extern float (float v) ceil; +@extern float ceil (float v); /* fabs Returns the absolute value of v */ -@extern float (float f) fabs; +@extern float fabs (float f); /**************************************************************************** * VECTORS * @@ -93,44 +93,44 @@ Transform vector v into a unit vector (a vector with a length of 1). The direction is not changed, except for (possible) roundoff errors. */ -@extern vector (vector v) normalize; +@extern vector normalize (vector v); /* vlen Return the length of vector v */ -@extern float (vector v) vlen; +@extern float vlen (vector v); /* vectoyaw Returns the yaw angle ("bearing"), in degrees, associated with vector v. */ -@extern float (vector v) vectoyaw; +@extern float vectoyaw (vector v); /* vectoangles Returns a vector 'pitch yaw 0' corresponding to vector v. */ -@extern vector (vector v) vectoangles; +@extern vector vectoangles (vector v); -@extern float (float x) sin; -@extern float (float x) cos; -@extern float (float x) tan; -@extern float (float x) asin; -@extern float (float x) acos; -@extern float (float x) atan; -@extern float (float y, float x) atan2; -@extern float (float x) log; -@extern float (float x) log10; -@extern float (float x, float y) pow; -@extern float (float x) sinh; -@extern float (float x) cosh; -@extern float (float x) tanh; -@extern float (float x) asinh; -@extern float (float x) acosh; -@extern float (float x) atanh; +@extern float sin (float x); +@extern float cos (float x); +@extern float tan (float x); +@extern float asin (float x); +@extern float acos (float x); +@extern float atan (float x); +@extern float atan2 (float y, float x); +@extern float log (float x); +@extern float log10 (float x); +@extern float pow (float x, float y); +@extern float sinh (float x); +@extern float cosh (float x); +@extern float tanh (float x); +@extern float asinh (float x); +@extern float acosh (float x); +@extern float atanh (float x); #endif //__ruamoko_math_h diff --git a/ruamoko/include/message.h b/ruamoko/include/message.h index f5ba00247..df3bebe87 100644 --- a/ruamoko/include/message.h +++ b/ruamoko/include/message.h @@ -34,19 +34,19 @@ #define MULTICAST_PHS_R 4 #define MULTICAST_PVS_R 5 -@extern void (...) bprint; -@extern void (entity client, string s) sprint; -@extern void (float to, ...) WriteBytes; -@extern void (float to, float f) WriteByte; -@extern void (float to, float f) WriteChar; -@extern void (float to, float f) WriteShort; -@extern void (float to, float f) WriteLong; -@extern void (float to, float f) WriteCoord; -@extern void (float to, float f) WriteAngle; -@extern void (float to, vector v) WriteCoordV; -@extern void (float to, vector v) WriteAngleV; -@extern void (float to, string s) WriteString; -@extern void (float to, entity s) WriteEntity; -@extern void (...) centerprint; +@extern void bprint (...); +@extern void sprint (entity client, string s); +@extern void WriteBytes (float to, ...); +@extern void WriteByte (float to, float f); +@extern void WriteChar (float to, float f); +@extern void WriteShort (float to, float f); +@extern void WriteLong (float to, float f); +@extern void WriteCoord (float to, float f); +@extern void WriteAngle (float to, float f); +@extern void WriteCoordV (float to, vector v); +@extern void WriteAngleV (float to, vector v); +@extern void WriteString (float to, string s); +@extern void WriteEntity (float to, entity s); +@extern void centerprint (...); #endif//__ruamoko_message_h diff --git a/ruamoko/include/nq_message.h b/ruamoko/include/nq_message.h index 6acd18121..10ff53dcd 100644 --- a/ruamoko/include/nq_message.h +++ b/ruamoko/include/nq_message.h @@ -1,6 +1,6 @@ #ifndef __ruamoko_nq_message_h #define __ruamoko_nq_message_h -@extern void (vector o, vector d, float color, float count) particle; +@extern void particle (vector o, vector d, float color, float count); #endif//__ruamoko_nq_message_h diff --git a/ruamoko/include/physics.h b/ruamoko/include/physics.h index ad602de4d..be656027f 100644 --- a/ruamoko/include/physics.h +++ b/ruamoko/include/physics.h @@ -16,21 +16,21 @@ Set v_forward, v_up, v_right global vectors from the vector ang */ -@extern void (vector ang) makevectors; -@extern void (vector v1, vector v2, float nomonsters, entity forent) traceline; -@extern entity () checkclient; -@extern float (float yaw, float dist) walkmove; -@extern float () droptofloor; -@extern void (float style, string value) lightstyle; -@extern float (entity e) checkbottom; -@extern float (vector v) pointcontents; -@extern vector (entity e, float speed) aim; -@extern void () ChangeYaw; -@extern void (float step) movetogoal; -@extern integer (entity ent, vector point) hullpointcontents; -@extern vector (integer hull, integer max) getboxbounds; -@extern integer () getboxhull; -@extern void (integer hull) freeboxhull; -@extern void (integer hull, vector right, vector forward, vector up, vector mins, vector maxs) rotate_bbox; +@extern void makevectors (vector ang); +@extern void traceline (vector v1, vector v2, float nomonsters, entity forent); +@extern entity checkclient (); +@extern float walkmove (float yaw, float dist); +@extern float droptofloor (); +@extern void lightstyle (float style, string value); +@extern float checkbottom (entity e); +@extern float pointcontents (vector v); +@extern vector aim (entity e, float speed); +@extern void ChangeYaw (void); +@extern void movetogoal (float step); +@extern integer hullpointcontents (entity ent, vector point); +@extern vector getboxbounds (integer hull, integer max); +@extern integer getboxhull (void); +@extern void freeboxhull (integer hull); +@extern void rotate_bbox (integer hull, vector right, vector forward, vector up, vector mins, vector maxs); #endif//__ruamoko_physics_h diff --git a/ruamoko/include/plist.h b/ruamoko/include/plist.h index 02d8cfd0e..f81a12d8e 100644 --- a/ruamoko/include/plist.h +++ b/ruamoko/include/plist.h @@ -8,25 +8,25 @@ struct plitem_s {integer dummy;}; typedef struct plitem_s plitem_t; typedef enum {QFDictionary, QFArray, QFBinary, QFString} pltype_t; // possible types -@extern plitem_t (QFile file) PL_GetFromFile; -@extern plitem_t (string str) PL_GetPropertyList; -@extern string (plitem_t pl) PL_WritePropertyList; -@extern pltype_t (plitem_t str) PL_Type; -@extern string (plitem_t str) PL_String; -@extern plitem_t (plitem_t item, string key) PL_ObjectForKey; -@extern plitem_t (plitem_t item, string key) PL_RemoveObjectForKey; -@extern plitem_t (plitem_t item, integer index) PL_ObjectAtIndex; -@extern plitem_t (plitem_t item) PL_D_AllKeys; -@extern integer (plitem_t item) PL_D_NumKeys; -@extern integer (plitem_t dict, string key, plitem_t value) PL_D_AddObject; -@extern integer (plitem_t array_item, plitem_t item) PL_A_AddObject; -@extern integer (plitem_t item) PL_A_NumObjects; -@extern integer (plitem_t array_item, plitem_t item, integer index) PL_A_InsertObjectAtIndex; -@extern plitem_t (plitem_t array_item, integer index) PL_RemoveObjectAtIndex; -@extern plitem_t () PL_NewDictionary; -@extern plitem_t () PL_NewArray; -@extern plitem_t (void []data, integer len) PL_NewData; -@extern plitem_t (string str) PL_NewString; -@extern void (plitem_t pl) PL_Free; +@extern plitem_t PL_GetFromFile (QFile file); +@extern plitem_t PL_GetPropertyList (string str); +@extern string PL_WritePropertyList (plitem_t pl); +@extern pltype_t PL_Type (plitem_t str); +@extern string PL_String (plitem_t str); +@extern plitem_t PL_ObjectForKey (plitem_t item, string key); +@extern plitem_t PL_RemoveObjectForKey (plitem_t item, string key); +@extern plitem_t PL_ObjectAtIndex (plitem_t item, integer index); +@extern plitem_t PL_D_AllKeys (plitem_t item); +@extern integer PL_D_NumKeys (plitem_t item); +@extern integer PL_D_AddObject (plitem_t dict, string key, plitem_t value); +@extern integer PL_A_AddObject (plitem_t array_item, plitem_t item); +@extern integer PL_A_NumObjects (plitem_t item); +@extern integer PL_A_InsertObjectAtIndex (plitem_t array_item, plitem_t item, integer index); +@extern plitem_t PL_RemoveObjectAtIndex (plitem_t array_item, integer index); +@extern plitem_t PL_NewDictionary (); +@extern plitem_t PL_NewArray (); +@extern plitem_t PL_NewData (void []data, integer len); +@extern plitem_t PL_NewString (string str); +@extern void PL_Free (plitem_t pl); #endif//__ruamoko_plist_h diff --git a/ruamoko/include/qfile.h b/ruamoko/include/qfile.h index ea7fcc2c7..168718752 100644 --- a/ruamoko/include/qfile.h +++ b/ruamoko/include/qfile.h @@ -4,22 +4,22 @@ struct _qfile_t {}; typedef struct _qfile_t [] QFile; -@extern integer (string old, string new) Qrename; -@extern integer (string path) Qremove; -@extern QFile (string path, string mode) Qopen; -@extern void (QFile file) Qclose; -@extern string (QFile file) Qgetline; -@extern string (QFile file, integer len) Qreadstring; -@extern integer (QFile file, void [] buf, integer count) Qread; -@extern integer (QFile file, void [] buf, integer count) Qwrite; -@extern integer (QFile file, string str) Qputs; -//@extern integer (QFile file, void [] buf, integer count) Qgets; -@extern integer (QFile file) Qgetc; -@extern integer (QFile file, integer c) Qputc; -@extern integer (QFile file, integer offset, integer whence) Qseek; -@extern integer (QFile file) Qtell; -@extern integer (QFile file) Qflush; -@extern integer (QFile file) Qeof; -@extern integer (QFile file) Qfilesize; +@extern integer Qrename (string old, string new); +@extern integer Qremove (string path); +@extern QFile Qopen (string path, string mode); +@extern void Qclose (QFile file); +@extern string Qgetline (QFile file); +@extern string Qreadstring (QFile file, integer len); +@extern integer Qread (QFile file, void [] buf, integer count); +@extern integer Qwrite (QFile file, void [] buf, integer count); +@extern integer Qputs (QFile file, string str); +//@extern integer Qgets (QFile file, void [] buf, integer count); +@extern integer Qgetc (QFile file); +@extern integer Qputc (QFile file, integer c); +@extern integer Qseek (QFile file, integer offset, integer whence); +@extern integer Qtell (QFile file); +@extern integer Qflush (QFile file); +@extern integer Qeof (QFile file); +@extern integer Qfilesize (QFile file); #endif//__ruamoko_qfile_h diff --git a/ruamoko/include/qfs.h b/ruamoko/include/qfs.h index c1397025f..6bf933f76 100644 --- a/ruamoko/include/qfs.h +++ b/ruamoko/include/qfs.h @@ -9,13 +9,13 @@ struct _qfslist_t { }; typedef struct _qfslist_t [] QFSlist; -@extern QFile (string path, string mode) QFS_Open; -@extern QFile (string path, integer zip) QFS_WOpen; -@extern integer (string old, string new) QFS_Rename; -@extern (void []) (string filename) QFS_LoadFile; -@extern QFile (string filename) QFS_OpenFile; -@extern integer (string filename, void [] buf, integer count) QFS_WriteFile; -@extern QFSlist (string path, string ext, integer strip) QFS_Filelist; -@extern void (QFSlist list) QFS_FilelistFree; +@extern QFile QFS_Open (string path, string mode); +@extern QFile QFS_WOpen (string path, integer zip); +@extern integer QFS_Rename (string old, string new); +@extern (void []) QFS_LoadFile (string filename); +@extern QFile QFS_OpenFile (string filename); +@extern integer QFS_WriteFile (string filename, void [] buf, integer count); +@extern QFSlist QFS_Filelist (string path, string ext, integer strip); +@extern void QFS_FilelistFree (QFSlist list); #endif//__ruamoko_qfs_h diff --git a/ruamoko/include/qw_message.h b/ruamoko/include/qw_message.h index a4cc543ef..5bd7efb0d 100644 --- a/ruamoko/include/qw_message.h +++ b/ruamoko/include/qw_message.h @@ -3,6 +3,6 @@ #include "message.h" -@extern void (vector where, float set) multicast; +@extern void multicast (vector where, float set); #endif//__ruamoko_qw_message_h diff --git a/ruamoko/include/qw_physics.h b/ruamoko/include/qw_physics.h index 89547c59d..88a2bc937 100644 --- a/ruamoko/include/qw_physics.h +++ b/ruamoko/include/qw_physics.h @@ -1,7 +1,7 @@ #ifndef __ruamoko_qw_physics_h #define __ruamoko_qw_physics_h -@extern entity (entity ent) testentitypos; -@extern void (vector start, vector mins, vector maxs, vector end, float type, entity passent) checkmove; +@extern entity testentitypos (entity ent); +@extern void checkmove (vector start, vector mins, vector maxs, vector end, float type, entity passent); #endif//__ruamoko_qw_physics_h diff --git a/ruamoko/include/qw_sys.h b/ruamoko/include/qw_sys.h index 6c6f6cebf..b23a9578a 100644 --- a/ruamoko/include/qw_sys.h +++ b/ruamoko/include/qw_sys.h @@ -1,6 +1,6 @@ #ifndef __ruamoko_qw_sys_h #define __ruamoko_qw_sys_h -@extern void (entity killer, entity killee) logfrag; +@extern void logfrag (entity killer, entity killee); #endif//__ruamoko_qw_sys_h diff --git a/ruamoko/include/server.h b/ruamoko/include/server.h index efd395b6c..f2e8c2469 100644 --- a/ruamoko/include/server.h +++ b/ruamoko/include/server.h @@ -1,15 +1,15 @@ #ifndef __ruamoko_server_h #define __ruamoko_server_h -@extern void (string s) precache_sound; -@extern void (string s) precache_model; -@extern void (entity client, string s) stuffcmd; -@extern void (string s) localcmd; -@extern void (string s) changelevel; -@extern string (string s) precache_file; -@extern string (string s) precache_model2; -@extern string (string s) precache_sound2; -@extern string (string s) precache_file2; -@extern float () checkextension; +@extern void precache_sound (string s); +@extern void precache_model (string s); +@extern void stuffcmd (entity client, string s); +@extern void localcmd (string s); +@extern void changelevel (string s); +@extern string precache_file (string s); +@extern string precache_model2 (string s); +@extern string precache_sound2 (string s); +@extern string precache_file2 (string s); +@extern float checkextension (void); #endif//__ruamoko_server_h diff --git a/ruamoko/include/sound.h b/ruamoko/include/sound.h index 09e1b2264..36e287629 100644 --- a/ruamoko/include/sound.h +++ b/ruamoko/include/sound.h @@ -1,6 +1,6 @@ #ifndef __ruamoko_sound_h #define __ruamoko_sound_h -@extern void (string sound) S_LocalSound; +@extern void S_LocalSound (string sound); #endif//__ruamoko_sound_h diff --git a/ruamoko/include/string.h b/ruamoko/include/string.h index 5c3042e28..ecfb449dd 100644 --- a/ruamoko/include/string.h +++ b/ruamoko/include/string.h @@ -1,23 +1,23 @@ #ifndef __ruamoko_string_h #define __ruamoko_string_h -@extern string (float f) ftos; -@extern string (vector v) vtos; -@extern float (string s) stof; -@extern float (string s) strlen; -@extern float (string goal, string s) charcount; -@extern string (string fmt, ...) sprintf; -@extern string (integer i) itos; -@extern integer (string s) stoi; -@extern vector (string s) stov; +@extern string ftos (float f); +@extern string vtos (vector v); +@extern float stof (string s); +@extern float strlen (string s); +@extern float charcount (string goal, string s); +@extern string sprintf (string fmt, ...); +@extern string itos (integer i); +@extern integer stoi (string s); +@extern vector stov (string s); -@extern string (void) str_new; -@extern string (string str) str_free; -@extern string (string dst, string src) str_copy; -@extern string (string dst, string src) str_cat; -@extern string (string str) str_clear; -@extern string (string str, integer start) @overload str_mid; -@extern string (string str, integer start, integer len) @overload str_mid; -@extern string (string haystack, string needle) str_str; +@extern string str_new (void); +@extern string str_free (string str); +@extern string str_copy (string dst, string src); +@extern string str_cat (string dst, string src); +@extern string str_clear (string str); +@extern @overload string str_mid (string str, integer start); +@extern @overload string str_mid (string str, integer start, integer len); +@extern string str_str (string haystack, string needle); #endif//__ruamoko_string_h diff --git a/ruamoko/include/sv_sound.h b/ruamoko/include/sv_sound.h index 333ef9e31..ad5d6b6db 100644 --- a/ruamoko/include/sv_sound.h +++ b/ruamoko/include/sv_sound.h @@ -13,7 +13,7 @@ #define ATTN_IDLE 2 #define ATTN_STATIC 3 -@extern void (entity e, float chan, string samp, float vol, float atten) sound; -@extern void (vector pos, string samp, float vol, float atten) ambientsound; +@extern void sound (entity e, float chan, string samp, float vol, float atten); +@extern void ambientsound (vector pos, string samp, float vol, float atten); #endif//__ruamoko_sound_h diff --git a/ruamoko/include/system.h b/ruamoko/include/system.h index 8a24aad1b..4f8f608c8 100644 --- a/ruamoko/include/system.h +++ b/ruamoko/include/system.h @@ -3,18 +3,18 @@ @extern float time; -@extern void (string s) precache_sound; -@extern void (string s) precache_model; -@extern void (entity client, string s) stuffcmd; -@extern float (string s) cvar; -@extern void (string s) localcmd; -@extern void (string s) changelevel; -@extern void (string var, string val) cvar_set; -@extern string (string s) precache_file; -@extern string (string s) precache_model2; -@extern string (string s) precache_sound2; -@extern string (string s) precache_file2; -@extern float () checkextension; -@extern string () gametype; +@extern void precache_sound (string s); +@extern void precache_model (string s); +@extern void stuffcmd (entity client, string s); +@extern float cvar (string s); +@extern void localcmd (string s); +@extern void changelevel (string s); +@extern void cvar_set (string var, string val); +@extern string precache_file (string s); +@extern string precache_model2 (string s); +@extern string precache_sound2 (string s); +@extern string precache_file2 (string s); +@extern float checkextension (void); +@extern string gametype (void); #endif//__ruamoko_system_h diff --git a/ruamoko/lib/debug.r b/ruamoko/lib/debug.r index 26a69b68e..844c88eff 100644 --- a/ruamoko/lib/debug.r +++ b/ruamoko/lib/debug.r @@ -1,2 +1,10 @@ -#define __RUA_INTERNAL_IMPLEMENT #include "debug.h" + +void abort (void) = #6; +void coredump (void) = #28; +void traceon (void) = #29; +void traceoff (void) = #30; +void eprint (entity e) = #31; +void dprint (string str) = #25; +void error (string str) = #10; +void objerror (string e) = #11; diff --git a/ruamoko/lib/entities.r b/ruamoko/lib/entities.r index 45fa3c5c3..259e40eea 100644 --- a/ruamoko/lib/entities.r +++ b/ruamoko/lib/entities.r @@ -1,2 +1,18 @@ -#define __RUA_INTERNAL_IMPLEMENT #include "entities.h" + +void setmodel (entity e, string m) = #3; +void setorigin (entity e, vector o) = #2; +void setsize (entity e, vector min, vector max) = #4; +entity spawn (void) = #14; +void remove (entity e) = #15; +#ifdef __VERSION6__ +entity find (entity start, .string field, string match) = #18; +#else +entity find (entity start, ...) = #18; +#endif +entity findradius (vector origin, float radius) = #22; +entity nextent (entity e) = #47; +void makestatic (entity e) = #69; +void setspawnparms (entity e) = #78; + +void EntityParseFunction (void (string ent_data) func) = #0; diff --git a/ruamoko/lib/plist.r b/ruamoko/lib/plist.r index 5fdeada13..eb59327a4 100644 --- a/ruamoko/lib/plist.r +++ b/ruamoko/lib/plist.r @@ -1,22 +1,22 @@ #include "plist.h" -plitem_t (QFile file) PL_GetFromFile = #0; -plitem_t (string str) PL_GetPropertyList = #0; -string (plitem_t pl) PL_WritePropertyList = #0; -pltype_t (plitem_t str) PL_Type = #0; -string (plitem_t str) PL_String = #0; -plitem_t (plitem_t item, string key) PL_ObjectForKey = #0; -plitem_t (plitem_t item, string key) PL_RemoveObjectForKey = #0; -plitem_t (plitem_t item, integer index) PL_ObjectAtIndex = #0; -plitem_t (plitem_t item) PL_D_AllKeys = #0; -integer (plitem_t item) PL_D_NumKeys = #0; -integer (plitem_t dict, string key, plitem_t value) PL_D_AddObject = #0; -integer (plitem_t array_item, plitem_t item) PL_A_AddObject = #0; -integer (plitem_t item) PL_A_NumObjects = #0; -integer (plitem_t array_item, plitem_t item, integer index) PL_A_InsertObjectAtIndex = #0; -plitem_t (plitem_t array_item, integer index) PL_RemoveObjectAtIndex = #0; -plitem_t () PL_NewDictionary = #0; -plitem_t () PL_NewArray = #0; -plitem_t (void []data, integer len) PL_NewData = #0; -plitem_t (string str) PL_NewString = #0; -void (plitem_t pl) PL_Free = #0; +plitem_t PL_GetFromFile (QFile file) = #0; +plitem_t PL_GetPropertyList (string str) = #0; +string PL_WritePropertyList (plitem_t pl) = #0; +pltype_t PL_Type (plitem_t str) = #0; +string PL_String (plitem_t str) = #0; +plitem_t PL_ObjectForKey (plitem_t item, string key) = #0; +plitem_t PL_RemoveObjectForKey (plitem_t item, string key) = #0; +plitem_t PL_ObjectAtIndex (plitem_t item, integer index) = #0; +plitem_t PL_D_AllKeys (plitem_t item) = #0; +integer PL_D_NumKeys (plitem_t item) = #0; +integer PL_D_AddObject (plitem_t dict, string key, plitem_t value) = #0; +integer PL_A_AddObject (plitem_t array_item, plitem_t item) = #0; +integer PL_A_NumObjects (plitem_t item) = #0; +integer PL_A_InsertObjectAtIndex (plitem_t array_item, plitem_t item, integer index) = #0; +plitem_t PL_RemoveObjectAtIndex (plitem_t array_item, integer index) = #0; +plitem_t PL_NewDictionary (void) = #0; +plitem_t PL_NewArray (void) = #0; +plitem_t PL_NewData (void []data, integer len) = #0; +plitem_t PL_NewString (string str) = #0; +void PL_Free (plitem_t pl) = #0;