X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fdpdefs%2Fcsprogsdefs.qc;h=79d33fd3c2167931f75c3150e7d1e6ee9924a967;hb=73030a722b1587fa2b9cfd605cc501b174aded41;hp=5fd52179c6f8221f16d06fff39d77f002fde8db6;hpb=852f80e8f4d65a7a6b57e0790036e09db6051409;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/dpdefs/csprogsdefs.qc b/qcsrc/dpdefs/csprogsdefs.qc index 5fd52179c..79d33fd3c 100644 --- a/qcsrc/dpdefs/csprogsdefs.qc +++ b/qcsrc/dpdefs/csprogsdefs.qc @@ -335,7 +335,7 @@ void(entity e, vector o) setorigin = #2; void(entity e, string m) setmodel = #3; void(entity e, vector min, vector max) setsize = #4; -void() break = #6; +void() break_builtin = #6; float() random = #7; void(entity e, float chan, string samp) sound = #8; vector(vector v) normalize = #9; @@ -1077,6 +1077,15 @@ float MOVETYPE_FLY_WORLDONLY = 33; //description: //like MOVETYPE_FLY, but does all traces with MOVE_WORLDONLY, and is ignored by MOVETYPE_PUSH. Should only be combined with SOLID_NOT and SOLID_TRIGGER. +//DP_PRECACHE_PIC_FLAGS +//idea: divVerent +//darkplaces implementation: divVerent +//constant definitions: +float PRECACHE_PIC_FROMWAD = 1; // this one actually is part of EXT_CSQC +float PRECACHE_PIC_NOTPERSISTENT = 2; // picture may get deallocated when unused +float PRECACHE_PIC_MIPMAP = 8; // mipmap the texture for possibly better downscaling at memory expense +//notes: these constants are given as optional second argument to precache_pic() + //DP_QC_TRACE_MOVETYPE_WORLDONLY //idea: LordHavoc //darkplaces implementation: LordHavoc @@ -1394,6 +1403,39 @@ void() example_skel_player_delete = // END OF EXAMPLES FOR FTE_CSQC_SKELETONOBJECTS // +//DP_QC_ENTITYDATA +//idea: KrimZon +//darkplaces implementation: KrimZon +//builtin definitions: +float() numentityfields = #496; +string(float fieldnum) entityfieldname = #497; +float(float fieldnum) entityfieldtype = #498; +string(float fieldnum, entity ent) getentityfieldstring = #499; +float(float fieldnum, entity ent, string s) putentityfieldstring = #500; +//constants: +//Returned by entityfieldtype +float FIELD_STRING = 1; +float FIELD_FLOAT = 2; +float FIELD_VECTOR = 3; +float FIELD_ENTITY = 4; +float FIELD_FUNCTION = 6; +//description: +//Versatile functions intended for storing data from specific entities between level changes, but can be customized for some kind of partial savegame. +//WARNING: .entity fields cannot be saved and restored between map loads as they will leave dangling pointers. +//numentityfields returns the number of entity fields. NOT offsets. Vectors comprise 4 fields: v, v_x, v_y and v_z. +//entityfieldname returns the name as a string, eg. "origin" or "classname" or whatever. +//entityfieldtype returns a value that the constants represent, but the field may be of another type in more exotic progs.dat formats or compilers. +//getentityfieldstring returns data as would be written to a savegame, eg... "0.05" (float), "0 0 1" (vector), or "Hello World!" (string). Function names can also be returned. +//putentityfieldstring puts the data returned by getentityfieldstring back into the entity. + +//DP_QC_ENTITYSTRING +void(string s) loadfromdata = #529; +void(string s) loadfromfile = #530; +void(string s) callfunction = #605; +void(float fh, entity e) writetofile = #606; +float(string s) isfunction = #607; +void(entity e, string s) parseentitydata = #608; + // assorted builtins const float STAT_MOVEVARS_TICRATE = 240; const float STAT_MOVEVARS_TIMESCALE = 241; @@ -1417,3 +1459,4 @@ vector gettaginfo_offset; vector gettaginfo_forward; vector gettaginfo_right; vector gettaginfo_up; +float checkpvs(vector viewpos, entity viewee) = #240;