Skip to content

Commit

Permalink
added g_brushModelCollisionTweaks dvar
Browse files Browse the repository at this point in the history
  • Loading branch information
ibuddieat committed Aug 3, 2024
1 parent b7e4a13 commit 3f46f16
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
14 changes: 10 additions & 4 deletions code/libcod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ dvar_t *con_coloredPrints;
#endif
dvar_t *fs_callbacks;
dvar_t *fs_library;
dvar_t *g_brushModelCollisionTweaks;
dvar_t *g_bulletDrop;
dvar_t *g_bulletDropMaxTime;
dvar_t *g_corpseHit;
Expand All @@ -103,9 +104,9 @@ dvar_t *g_resetSlide;
dvar_t *g_safePrecache;
dvar_t *g_spawnMapTurrets;
dvar_t *g_spawnMapWeapons;
dvar_t *g_spectateBots;
dvar_t *g_triggerMode;
dvar_t *g_turretMissingTagTerminalError;
dvar_t *g_spectateBots;
dvar_t *libcod;
dvar_t *loc_loadLocalizedMods;
dvar_t *logErrors;
Expand Down Expand Up @@ -381,6 +382,7 @@ void common_init_complete_print(const char *format, ...)
#endif
fs_callbacks = Dvar_RegisterString("fs_callbacks", "", DVAR_ARCHIVE);
fs_library = Dvar_RegisterString("fs_library", "", DVAR_ARCHIVE);
g_brushModelCollisionTweaks = Dvar_RegisterBool("g_brushModelCollisionTweaks", qfalse, DVAR_ARCHIVE);
g_bulletDrop = Dvar_RegisterBool("g_bulletDrop", qfalse, DVAR_ARCHIVE);
g_bulletDropMaxTime = Dvar_RegisterInt("g_bulletDropMaxTime", 10000, 50, 60000, DVAR_ARCHIVE);
g_corpseHit = Dvar_RegisterBool("g_corpseHit", qtrue, DVAR_ARCHIVE);
Expand Down Expand Up @@ -9599,8 +9601,11 @@ void RestoreBrushModelContents()

void custom_PM_playerTrace(pmove_t *pmove, trace_t *results, const float *start, const float *mins, const float *maxs, const float *end, int passEntityNum, int contentMask)
{
// New: (not)SolidForPlayer
SetupBrushModelContents(passEntityNum);
/* New code start: (not)SolidForPlayer */
qboolean updateBrushModelContents = g_brushModelCollisionTweaks->current.boolean;
if ( updateBrushModelContents )
SetupBrushModelContents(passEntityNum);
/* New code end */

(*pmoveHandlers[pmove->handler].trace)(results, start, mins, maxs, end, passEntityNum, contentMask);
if ( (results->startsolid != 0) && ((results->contents & CONTENTS_BODY) != 0) )
Expand All @@ -9611,7 +9616,8 @@ void custom_PM_playerTrace(pmove_t *pmove, trace_t *results, const float *start,
}

// New: (not)SolidForPlayer
RestoreBrushModelContents();
if ( updateBrushModelContents )
RestoreBrushModelContents();
}

class cCallOfDuty2Pro
Expand Down
4 changes: 4 additions & 0 deletions doc/added_dvars.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Added dvars:

* `g_brushModelCollisionTweaks`
* Type: Boolean
* Default: False
* Effect: If false, the `notSolidForPlayer` and `solidForPlayer` script methods have no effect. Disabled by default to avoid a performance impact in situations with a high number of brush models and many players with a high client-sided FPS setting.
* `g_bulletDrop`
* Type: Boolean
* Default: False
Expand Down
1 change: 1 addition & 0 deletions doc/libcod.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
set con_coloredPrints "0"
set fs_callbacks ""
set fs_library ""
set g_brushModelCollisionTweaks "0"
set g_bulletDrop "0"
set g_bulletDropMaxTime "10000"
set g_corpseHit "1"
Expand Down
2 changes: 1 addition & 1 deletion doc/script_reference/libcod/entity/notsolidforplayer.htm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ <H2>Summary:</H2>
<TABLE BORDER='1' CELLSPACING='1' CELLPADDING='4' WIDTH='100%'>
<TR><TD BGCOLOR="C0D4EE">
<H3>
<p>Unsets the solid flag so that this object is no longer collidable, for the specified player. Resets on map load or a fast_restart.</p>
<p>Unsets the solid flag so that this object is no longer collidable, for the specified player. Requires the brush model collision tweak system to be enabled using the g_brushModelCollisionTweaks dvar. Resets on map load or a fast_restart.</p>

</H3>
</TR></TD></TABLE>
Expand Down

0 comments on commit 3f46f16

Please sign in to comment.