Mapbase v6.1

- Added postprocess_controller entity from later versions of Source
- Added env_dof_controller entity from later versions of Source
- Added SDK_Engine_Post and DepthOfField shaders from the Momentum repo/Alien Swarm SDK
- Fixed auto-breaking game_text/choreo text not null terminating
- Fixed console groups showing up at the wrong developer levels
- Added more mesages to console groups, including a new "NPC AI" console group
- Fixed typos and added elaboration in various cvars, console messages, etc.
- Fixed npc_metropolice not using frag grenades correctly when allowed to use them
- Fixed npc_metropolice not registering stitching squad slots in AI
- Fixed SetModel input late precache warning
- Fixed env_global_light angles resetting upon loading a save
- Fixed an issue with ScriptKeyValuesRead using the wrong name and having a memory leak
- Allowed VScript functions which return null strings to actually return null instead of empty strings
- Added VScript member variable documentation
- Fixed VScript documentation lines sometimes mixing together
- Fixed VScript singletons having a ! at the beginning of descriptions
- Added Color struct to VScript and allowed color-related inputs to use it
- Added more VScript functions for weapons, ammo, ragdolling, and response contexts
- Added GameRules singleton for VScript
- Exposed AI interaction system to VScript
- Recovered some lost documentation from older revisions of the Mapbase wiki
- Added a way to get the current game's load type in VScript
- Fixed Precache/SpawnEntityFromTable not accounting for a few important field types
- Added VScript functions for getting a player's eye vectors
- Fixed a crash caused by removing the active weapon of a Combine soldier while it's firing
- Changed the way metrocops deploy their manhacks so they could use their manhack death response properly
- Fixed "Use Server" keyvalue on game_convar_mod not working
- Adjusted CAI_Expresser in VScript
This commit is contained in:
Blixibon
2020-12-17 03:38:23 +00:00
parent 6d45d9591e
commit 87cd9b24bb
82 changed files with 4596 additions and 337 deletions

View File

@@ -267,6 +267,26 @@ struct ScriptFuncDescriptor_t
CUtlVector<ScriptDataType_t> m_Parameters;
};
#ifdef MAPBASE_VSCRIPT
//---------------------------------------------------------
// VScript Member Variables
//
// An odd concept. Because IScriptInstanceHelper now supports
// get/set metamethods, classes are capable of pretending they
// have member variables which VScript can get and set.
//
// There's no default way of documenting these variables, so even though
// these are not actually binding anything, this is here to allow VScript
// to describe these fake member variables in its documentation.
//---------------------------------------------------------
struct ScriptMemberDesc_t
{
const char *m_pszScriptName;
const char *m_pszDescription;
ScriptDataType_t m_ReturnType;
};
#endif
//---------------------------------------------------------
@@ -338,6 +358,7 @@ struct ScriptClassDesc_t
#ifdef MAPBASE_VSCRIPT
CUtlVector<ScriptHook_t*> m_Hooks;
CUtlVector<ScriptMemberDesc_t> m_Members;
#endif
void *(*m_pfnConstruct)();
@@ -744,6 +765,9 @@ struct ScriptEnumDesc_t
#define END_SCRIPTHOOK() \
pDesc->m_Hooks.AddToTail(pHook); \
}
#define DEFINE_MEMBERVAR( varName, returnType, description ) \
do { ScriptMemberDesc_t *pBinding = &((pDesc)->m_Members[(pDesc)->m_Members.AddToTail()]); pBinding->m_pszScriptName = varName; pBinding->m_pszDescription = description; pBinding->m_ReturnType = returnType; } while (0);
#endif
template <typename T> ScriptClassDesc_t *GetScriptDesc(T *);