Mapbase v5.1

- Fixed a major oversight in Source 2013 which was causing some code to think all logic entities were worldspawn
- Added WIP background nodraw for point_cameras set to not draw skybox at all
- Fixed map-specific talker not flushing on restore
- Added optional HUD hint to code-based game instructor hints
- Added workaround for suspicious crashes in HL2 NPC rappelling code (reported by 1upD)
- Made antlions summoned by npc_antlionguard report as dead when removed with the "Kill" input
- Fixed math_mod not saving mod value (reported by Klems)
- Added SDK_WindowImposter, which uses the SteamPipe cubemap bug workaround and includes support for parallax corrected cubemaps
- Updated thirdpartylegalnotices.txt to mention the Squirrel API
- Fixed incorrect type checking for script instances in VScript
- Added a bunch of new misc. VScript constants
- Added a few new base VScript functions
- Added a separate "Clientside Script Language" keyvalue to worldspawn for VScript, allowing client scripts to use a different language from server scripts
- Fixed worldspawn crashing the game when running entity scripts (reported by krassell)
- Fixed manifests creating a second worldspawn, allowing them to function properly in HL2
- Added tons of remapping-related fixes for instances and manifests, including node IDs and overlay remapping
- Added a keyvalue to func_instance which allows vector axis lines to be remapped properly
- Added support for manifest root path instances in VBSP
- Added missing PrintBrushContents() contents to VBSP
- Added -nohiddenmaps parameter
- Made manifest cordon somewhat functional
This commit is contained in:
Blixibon
2020-09-23 05:03:47 +00:00
parent 5c2051864a
commit add157197f
45 changed files with 1477 additions and 71 deletions

View File

@@ -88,6 +88,11 @@ class GameData
bool RemapNameField( const char *pszInValue, char *pszOutValue, TNameFixup NameFixup );
bool LoadFGDMaterialExclusions( TokenReader &tr );
bool LoadFGDAutoVisGroups( TokenReader &tr );
#ifdef MAPBASE
// Sets up for additional instance remap fixes from Mapbase
void SetupInstanceRemapParams( int iStartNodes, int iStartBrushSide, bool bRemapVecLines );
#endif
CUtlVector< FGDMatExlcusions_s > m_FGDMaterialExclusions;
@@ -109,6 +114,11 @@ class GameData
matrix3x4_t m_InstanceMat; // matrix of the origin and rotation of rendering
char m_InstancePrefix[ 128 ]; // the prefix used for the instance name remapping
GDclass *m_InstanceClass; // the entity class that is being remapped
#ifdef MAPBASE
int m_InstanceStartAINodes; // the number of AI nodes in the level (for AI node remapping)
int m_InstanceStartSide; // the number of brush sides in the level (for brush side remapping)
bool m_bRemapVecLines; // allows ivVecLine to be remapped
#endif
};

View File

@@ -92,6 +92,14 @@ class GDinputvariable
inline GDIV_TYPE GetType() { return m_eType; }
const char *GetTypeText(void);
#ifdef MAPBASE
// The FGD library normally enforces that variable types should always stay the same.
// The new AI node remapping code needs to change the "nodeid" keyvalue on AI nodes so
// it's properly recognized as a node ID which needs to be remapped.
// That's what this hack is for.
inline void ForceSetType( GDIV_TYPE newType ) { m_eType = newType; }
#endif
inline void GetDefault(int *pnStore)
{