mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
In 'datacache/mdlcache.cpp' the function 'CMDLCache::FindMDL' attempts to find 'mdl/error.rmdl' and assigns the studiohdr and handle to the members of CMDLFallback. In 'CMDLCache::FindUncachedMDL' we check if a model exists, if a model does not exist, we replace the studiohdr with the one of error.rmdl we stored in the CMDLFallback structure. This does actually work (on the dedicated server it doesn't crash at all!), but on the client it crashes when trying to gather props (right before rendering), setting the ConVar* 'old_gather_props' does interesting things (check IDA around this ConVar*). setting this to 1 causes it to crash in another CMDLCache method when trying to deref something in the global cache pool. This method is easy to rebuild. I will do this soon and attempt to return error.rmdl parts from here as well if results are null (this might actually just work). Leaving 'old_gather_props' to 0 causes it to crash in the middle of the function which is supposed to gather the props the 'new' way. The gather props functions are kind of daunting NOTE: Currently only confirmed to work somewhat properly on the dedicated server for prop_static. prop_dynamic is unconfirmed. And (almost?) works on the client.
37 lines
921 B
C
37 lines
921 B
C
//====== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. =======//
|
||
//
|
||
// Purpose:
|
||
//
|
||
// $NoKeywords: $
|
||
//=============================================================================//
|
||
|
||
#ifndef QLIMITS_H
|
||
#define QLIMITS_H
|
||
|
||
#if defined( _WIN32 )
|
||
#pragma once
|
||
#endif
|
||
|
||
// DATA STRUCTURE INFO
|
||
|
||
#define MAX_NUM_ARGVS 50
|
||
|
||
// SYSTEM INFO
|
||
#define MAX_QPATH 96 // max length of a game pathname
|
||
#define MAX_OSPATH 260 // max length of a filesystem pathname
|
||
|
||
#define ON_EPSILON 0.1 // point on plane side epsilon
|
||
|
||
|
||
// Resource counts;
|
||
// Must have this value in sync(-1) with const.h and effect_dispatch_data.cpp
|
||
#define MAX_MODEL_INDEX_BITS 12 // sent as a short
|
||
#define MAX_MODELS (1<<MAX_MODEL_INDEX_BITS)
|
||
|
||
#define MAX_GENERIC_INDEX_BITS 9
|
||
#define MAX_GENERIC (1<<MAX_GENERIC_INDEX_BITS)
|
||
#define MAX_DECAL_INDEX_BITS 9
|
||
#define MAX_BASE_DECALS (1<<MAX_DECAL_INDEX_BITS)
|
||
|
||
#endif // QLIMITS_H
|