From: bones_was_here Date: Sat, 15 Jul 2023 12:28:42 +0000 (+1000) Subject: Use qbool for some trace_s members, other tidying X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=751ef20097daaab8c62db4d7657c8273fa3a96b9;p=xonotic%2Fdarkplaces.git Use qbool for some trace_s members, other tidying Signed-off-by: bones_was_here --- diff --git a/collision.h b/collision.h index f62356b0..71bc57f0 100644 --- a/collision.h +++ b/collision.h @@ -21,19 +21,19 @@ struct texture_s; typedef struct trace_s { // if true, the entire trace was in solid (see hitsupercontentsmask) - int allsolid; + qbool allsolid; // if true, the initial point was in solid (see hitsupercontentsmask) - int startsolid; + qbool startsolid; // this is set to true in world.c if startsolid was set in a trace against world - int worldstartsolid; + qbool worldstartsolid; // this is set to true in world.c if startsolid was set in a trace against a SOLID_BSP entity, in other words this is true if the entity is stuck in a door or wall, but not if stuck in another normal entity - int bmodelstartsolid; + qbool bmodelstartsolid; // if true, the trace passed through empty somewhere // (set only by Q1BSP tracing) - int inopen; + qbool inopen; // if true, the trace passed through water/slime/lava somewhere // (set only by Q1BSP tracing) - int inwater; + qbool inwater; // fraction of the total distance that was traveled before impact // in case of impact this is actually nudged a bit off the surface // (1.0 = did not hit anything) @@ -62,7 +62,7 @@ typedef struct trace_s const struct texture_s *hittexture; // initially false, set when the start leaf is found // (set only by Q1BSP tracing and entity box tracing) - int startfound; + qbool startfound; // if startsolid, contains the minimum penetration depth found in the // trace, and the normal needed to push it out of that solid double startdepth; diff --git a/dpdefs/dpextensions.qc b/dpdefs/dpextensions.qc index b616980a..73996cbf 100644 --- a/dpdefs/dpextensions.qc +++ b/dpdefs/dpextensions.qc @@ -2644,7 +2644,6 @@ void(string cmdname) registercommand = #352; //description: //Adds a new console command which will take priority over a previous command of the same name (including engine commands) and in CSQC is removed when the VM shuts down. This will call CSQC_ConsoleCommand(string command) or ConsoleCmd(string command) in SVQC. Return value should be true if QC handled the command, otherwise return false to have the engine handle it. - //DP_QC_FINDBOX //idea: Mario //darkplaces implementation: bones_was_here diff --git a/phys.c b/phys.c index bf6c525d..7128ea3d 100644 --- a/phys.c +++ b/phys.c @@ -12,7 +12,6 @@ int PHYS_NudgeOutOfSolid(prvm_prog_t *prog, prvm_edict_t *ent) trace_t stucktrace; vec3_t stuckorigin; vec3_t stuckmins, stuckmaxs; - vec_t nudge; vec_t separation; model_t *worldmodel; @@ -64,8 +63,8 @@ int PHYS_NudgeOutOfSolid(prvm_prog_t *prog, prvm_edict_t *ent) VectorCopy(stuckorigin, PRVM_serveredictvector(ent, origin)); return bump || pass ? 1 : -1; // -1 means it wasn't stuck } - nudge = -stucktrace.startdepth; - VectorMA(stuckorigin, nudge, stucktrace.startdepthnormal, stuckorigin); + + VectorMA(stuckorigin, -stucktrace.startdepth, stucktrace.startdepthnormal, stuckorigin); } } return 0; diff --git a/svvm_cmds.c b/svvm_cmds.c index b97ee208..3692bc2f 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -100,6 +100,7 @@ const char *vm_sv_extensions[] = { "DP_QC_ENTITYSTRING", "DP_QC_ETOS", "DP_QC_EXTRESPONSEPACKET", +"DP_QC_FINDBOX", "DP_QC_FINDCHAIN", "DP_QC_FINDCHAINFLAGS", "DP_QC_FINDCHAINFLOAT", @@ -107,6 +108,7 @@ const char *vm_sv_extensions[] = { "DP_QC_FINDFLAGS", "DP_QC_FINDFLOAT", "DP_QC_FS_SEARCH", +"DP_QC_FS_SEARCH_PACKFILE", "DP_QC_GETLIGHT", "DP_QC_GETSURFACE", "DP_QC_GETSURFACETRIANGLE", @@ -229,8 +231,6 @@ const char *vm_sv_extensions[] = { "TW_SV_STEPCONTROL", "ZQ_PAUSE", "DP_RM_CLIPGROUP", -"DP_QC_FS_SEARCH_PACKFILE", -"DP_QC_FINDBOX", NULL //"EXT_CSQC" // not ready yet };