diff --git a/metamod/src/dllapi.cpp b/metamod/src/dllapi.cpp index 4c23523..864ecbe 100644 --- a/metamod/src/dllapi.cpp +++ b/metamod/src/dllapi.cpp @@ -1,9 +1,9 @@ #include "precompiled.h" -#define CDATA_DLL_H(x, p, h) CDATA_ENTRY(DLL_FUNCTIONS, x, p, size_t(h)) -#define CDATA_DLL(x) CDATA_ENTRY(DLL_FUNCTIONS, x, P_PRE, 0u) -#define CDATA_NEWDLL_H(x, p, h) CDATA_ENTRY(NEW_DLL_FUNCTIONS, x, p, size_t(h)) -#define CDATA_NEWDLL(x) CDATA_ENTRY(NEW_DLL_FUNCTIONS, x, P_PRE, 0u) +#define CDATA_DLL_H(x, p, h) CDATA_ENTRY(DLL_FUNCTIONS, x, p, size_t(h)) +#define CDATA_DLL(x) CDATA_ENTRY(DLL_FUNCTIONS, x, P_PRE, 0u) +#define CDATA_NEWDLL_H(x, p, h) CDATA_ENTRY(NEW_DLL_FUNCTIONS, x, p, size_t(h)) +#define CDATA_NEWDLL(x) CDATA_ENTRY(NEW_DLL_FUNCTIONS, x, P_PRE, 0u) DLL_FUNCTIONS sFunctionTable; DLL_FUNCTIONS sFunctionTable_jit; @@ -65,76 +65,76 @@ void EXT_FUNC mm_ServerDeactivate() compile_data_t g_dllfunc_cdata[] = { - CDATA_DLL(pfnGameInit), // pfnGameInit() Initialize the game (one-time call after loading of game .dll) - CDATA_DLL(pfnSpawn), // pfnSpawn() - CDATA_DLL(pfnThink), // pfnThink() - CDATA_DLL(pfnUse), // pfnUse() - CDATA_DLL(pfnTouch), // pfnTouch() - CDATA_DLL(pfnBlocked), // pfnBlocked() - CDATA_DLL(pfnKeyValue), // pfnKeyValue() - CDATA_DLL(pfnSave), // pfnSave() - CDATA_DLL(pfnRestore), // pfnRestore() - CDATA_DLL(pfnSetAbsBox), // pfnSetAbsBox() - - CDATA_DLL(pfnSaveWriteFields), // pfnSaveWriteFields() - CDATA_DLL(pfnSaveReadFields), // pfnSaveReadFields() - - CDATA_DLL(pfnSaveGlobalState), // pfnSaveGlobalState() - CDATA_DLL(pfnRestoreGlobalState), // pfnRestoreGlobalState() - CDATA_DLL(pfnResetGlobalState), // pfnResetGlobalState() - - CDATA_DLL_H(pfnClientConnect, P_PRE, mm_ClientConnect), // pfnClientConnect() (wd) Client has connected - CDATA_DLL_H(pfnClientDisconnect, P_PRE, mm_ClientDisconnect), // pfnClientDisconnect() (wd) Player has left the game - CDATA_DLL(pfnClientKill), // pfnClientKill() (wd) Player has typed "kill" - CDATA_DLL(pfnClientPutInServer), // pfnClientPutInServer() (wd) Client is entering the game - CDATA_DLL_H(pfnClientCommand, P_PRE, mm_ClientCommand), - CDATA_DLL(pfnClientUserInfoChanged), // pfnClientUserInfoChanged() (wd) Client has updated their setinfo structure - CDATA_DLL(pfnServerActivate), // pfnServerActivate() (wd) Server is starting a new map - CDATA_DLL(pfnServerDeactivate), // pfnServerDeactivate() (wd) Server is leaving the map (shutdown), or changelevel); SDK2 - - CDATA_DLL(pfnPlayerPreThink), // pfnPlayerPreThink() - CDATA_DLL(pfnPlayerPostThink), // pfnPlayerPostThink() - - CDATA_DLL(pfnStartFrame), // pfnStartFrame() - CDATA_DLL(pfnParmsNewLevel), // pfnParmsNewLevel() - CDATA_DLL(pfnParmsChangeLevel), // pfnParmsChangeLevel() - - CDATA_DLL(pfnGetGameDescription), // pfnGetGameDescription() Returns string describing current .dll. E.g. "TeamFotrress 2"), "Half-Life" - CDATA_DLL(pfnPlayerCustomization), // pfnPlayerCustomization() Notifies .dll of new customization for player. - - CDATA_DLL(pfnSpectatorConnect), // pfnSpectatorConnect() Called when spectator joins server - CDATA_DLL(pfnSpectatorDisconnect), // pfnSpectatorDisconnect() Called when spectator leaves the server - CDATA_DLL(pfnSpectatorThink), // pfnSpectatorThink() Called when spectator sends a command packet (usercmd_t) - - CDATA_DLL(pfnSys_Error), // pfnSys_Error() Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint. SDK2 - - CDATA_DLL(pfnPM_Move), // pfnPM_Move() (wd) SDK2 - CDATA_DLL(pfnPM_Init), // pfnPM_Init() Server version of player movement initialization; (wd) SDK2 - CDATA_DLL(pfnPM_FindTextureType), // pfnPM_FindTextureType() (wd) SDK2 - - CDATA_DLL(pfnSetupVisibility), // pfnSetupVisibility() Set up PVS and PAS for networking for this client; (wd) SDK2 - CDATA_DLL(pfnUpdateClientData), // pfnUpdateClientData() Set up data sent only to specific client; (wd) SDK2 - CDATA_DLL(pfnAddToFullPack), // pfnAddToFullPack() (wd) SDK2 - CDATA_DLL(pfnCreateBaseline), // pfnCreateBaseline() Tweak entity baseline for network encoding), allows setup of player baselines), too.; (wd) SDK2 - CDATA_DLL(pfnRegisterEncoders), // pfnRegisterEncoders() Callbacks for network encoding; (wd) SDK2 - CDATA_DLL(pfnGetWeaponData), // pfnGetWeaponData() (wd) SDK2 - CDATA_DLL(pfnCmdStart), // pfnCmdStart() (wd) SDK2 - CDATA_DLL(pfnCmdEnd), // pfnCmdEnd() (wd) SDK2 - CDATA_DLL(pfnConnectionlessPacket), // pfnConnectionlessPacket() (wd) SDK2 - CDATA_DLL(pfnGetHullBounds), // pfnGetHullBounds() (wd) SDK2 - CDATA_DLL(pfnCreateInstancedBaselines), // pfnCreateInstancedBaselines()(wd) SDK2 - CDATA_DLL(pfnInconsistentFile), // pfnInconsistentFile() (wd) SDK2 - CDATA_DLL(pfnAllowLagCompensation), // pfnAllowLagCompensation() (wd) SDK2 + CDATA_DLL(pfnGameInit), // Initialize the game (one-time call after loading of game .dll) + CDATA_DLL(pfnSpawn), // + CDATA_DLL(pfnThink), // + CDATA_DLL(pfnUse), // + CDATA_DLL(pfnTouch), // + CDATA_DLL(pfnBlocked), // + CDATA_DLL(pfnKeyValue), // + CDATA_DLL(pfnSave), // + CDATA_DLL(pfnRestore), // + CDATA_DLL(pfnSetAbsBox), // + + CDATA_DLL(pfnSaveWriteFields), // + CDATA_DLL(pfnSaveReadFields), // + + CDATA_DLL(pfnSaveGlobalState), // + CDATA_DLL(pfnRestoreGlobalState), // + CDATA_DLL(pfnResetGlobalState), // + + CDATA_DLL_H(pfnClientConnect, P_PRE, mm_ClientConnect), // (wd) Client has connected + CDATA_DLL_H(pfnClientDisconnect, P_PRE, mm_ClientDisconnect), // (wd) Player has left the game + CDATA_DLL(pfnClientKill), // (wd) Player has typed "kill" + CDATA_DLL(pfnClientPutInServer), // (wd) Client is entering the game + CDATA_DLL_H(pfnClientCommand, P_PRE, mm_ClientCommand), + CDATA_DLL(pfnClientUserInfoChanged), // (wd) Client has updated their setinfo structure + CDATA_DLL(pfnServerActivate), // (wd) Server is starting a new map + CDATA_DLL(pfnServerDeactivate), // (wd) Server is leaving the map (shutdown), or changelevel); SDK2 + + CDATA_DLL(pfnPlayerPreThink), // + CDATA_DLL(pfnPlayerPostThink), // + + CDATA_DLL(pfnStartFrame), // + CDATA_DLL(pfnParmsNewLevel), // + CDATA_DLL(pfnParmsChangeLevel), // + + CDATA_DLL(pfnGetGameDescription), // Returns string describing current .dll. E.g. "TeamFotrress 2"), "Half-Life" + CDATA_DLL(pfnPlayerCustomization), // Notifies .dll of new customization for player. + + CDATA_DLL(pfnSpectatorConnect), // Called when spectator joins server + CDATA_DLL(pfnSpectatorDisconnect), // Called when spectator leaves the server + CDATA_DLL(pfnSpectatorThink), // Called when spectator sends a command packet (usercmd_t) + + CDATA_DLL(pfnSys_Error), // Notify game .dll that engine is going to shut down. Allows mod authors to set a breakpoint. SDK2 + + CDATA_DLL(pfnPM_Move), // (wd) SDK2 + CDATA_DLL(pfnPM_Init), // Server version of player movement initialization; (wd) SDK2 + CDATA_DLL(pfnPM_FindTextureType), // (wd) SDK2 + + CDATA_DLL(pfnSetupVisibility), // Set up PVS and PAS for networking for this client; (wd) SDK2 + CDATA_DLL(pfnUpdateClientData), // Set up data sent only to specific client; (wd) SDK2 + CDATA_DLL(pfnAddToFullPack), // (wd) SDK2 + CDATA_DLL(pfnCreateBaseline), // Tweak entity baseline for network encoding), allows setup of player baselines), too.; (wd) SDK2 + CDATA_DLL(pfnRegisterEncoders), // Callbacks for network encoding; (wd) SDK2 + CDATA_DLL(pfnGetWeaponData), // (wd) SDK2 + CDATA_DLL(pfnCmdStart), // (wd) SDK2 + CDATA_DLL(pfnCmdEnd), // (wd) SDK2 + CDATA_DLL(pfnConnectionlessPacket), // (wd) SDK2 + CDATA_DLL(pfnGetHullBounds), // (wd) SDK2 + CDATA_DLL(pfnCreateInstancedBaselines), // (wd) SDK2 + CDATA_DLL(pfnInconsistentFile), // (wd) SDK2 + CDATA_DLL(pfnAllowLagCompensation), // (wd) SDK2 }; compile_data_t g_newdllfunc_cdata[] = { - CDATA_NEWDLL(pfnOnFreeEntPrivateData), // pfnOnFreeEntPrivateData() Called right before the object's memory is freed. Calls its destructor. - CDATA_NEWDLL_H(pfnGameShutdown, P_PRE, mm_GameShutdown), // pfnGameShutdown() - CDATA_NEWDLL(pfnShouldCollide), // pfnShouldCollide() + CDATA_NEWDLL(pfnOnFreeEntPrivateData), // Called right before the object's memory is freed. Calls its destructor. + CDATA_NEWDLL_H(pfnGameShutdown, P_PRE, mm_GameShutdown), // + CDATA_NEWDLL(pfnShouldCollide), // - CDATA_NEWDLL(pfnCvarValue), // pfnCvarValue() (fz) Use mm_CvarValue2 instead - CDATA_NEWDLL(pfnCvarValue2) // pfnCvarValue2() (fz) When pfnQueryClientCvarValue2() completes it will call + CDATA_NEWDLL(pfnCvarValue), // (fz) Use mm_CvarValue2 instead + CDATA_NEWDLL(pfnCvarValue2) // (fz) When pfnQueryClientCvarValue2() completes it will call // pfnCvarValue2() with the request ID supplied earlier, the name of the cvar requested and the value of that cvar. }; @@ -191,7 +191,9 @@ C_DLLEXPORT int GetEntityAPI2(DLL_FUNCTIONS *pFunctionTable, int *interfaceVersi C_DLLEXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS *pNewFunctionTable, int *interfaceVersion) { META_DEBUG(6, "called: GetNewDLLFunctions; version=%d", *interfaceVersion); -#if 0 // ~dvander - but then you can't use cvar querying on many mods... + +#if 0 + // ~dvander - but then you can't use cvar querying on many mods... // Don't provide these functions to engine if gamedll doesn't provide // them. Otherwise, we're in the position of having to provide answers // we can't necessarily provide (for instance, ShouldCollide())... diff --git a/metamod/src/engine_api.cpp b/metamod/src/engine_api.cpp index 2c9a1a3..4371a88 100644 --- a/metamod/src/engine_api.cpp +++ b/metamod/src/engine_api.cpp @@ -17,7 +17,7 @@ void MM_POST_HOOK mm_RegUserMsg(const char* pszName, int iSize) // Add the msgid, name, and size to our saved list, if we haven't already. auto imsgid = *(int *)(g_metaGlobals.status == MRES_OVERRIDE ? g_metaGlobals.override_ret : g_metaGlobals.orig_ret); auto nmsg = g_regMsgs->find(imsgid); - + if (nmsg) { if (!Q_strcmp(pszName, nmsg->getname())) // This name/msgid pair was already registered. @@ -32,208 +32,164 @@ void MM_POST_HOOK mm_RegUserMsg(const char* pszName, int iSize) compile_data_t g_engfuncs_cdata[] = { - CDATA_ENG(pfnPrecacheModel), // pfnPrecacheModel() - CDATA_ENG(pfnPrecacheSound), // pfnPrecacheSound() - CDATA_ENG(pfnSetModel), // pfnSetModel() - CDATA_ENG(pfnModelIndex), // pfnModelIndex() - CDATA_ENG(pfnModelFrames), // pfnModelFrames() - - CDATA_ENG(pfnSetSize), // pfnSetSize() - CDATA_ENG(pfnChangeLevel), // pfnChangeLevel() - CDATA_ENG(pfnGetSpawnParms), // pfnGetSpawnParms() - CDATA_ENG(pfnSaveSpawnParms), // pfnSaveSpawnParms() - - CDATA_ENG(pfnVecToYaw), // pfnVecToYaw() - CDATA_ENG(pfnVecToAngles), // pfnVecToAngles() - CDATA_ENG(pfnMoveToOrigin), // pfnMoveToOrigin() - CDATA_ENG(pfnChangeYaw), // pfnChangeYaw() - CDATA_ENG(pfnChangePitch), // pfnChangePitch() - - CDATA_ENG(pfnFindEntityByString), // pfnFindEntityByString() - CDATA_ENG(pfnGetEntityIllum), // pfnGetEntityIllum() - CDATA_ENG(pfnFindEntityInSphere), // pfnFindEntityInSphere() - CDATA_ENG(pfnFindClientInPVS), // pfnFindClientInPVS() - CDATA_ENG(pfnEntitiesInPVS), // pfnEntitiesInPVS() - - CDATA_ENG(pfnMakeVectors), // pfnMakeVectors() - CDATA_ENG(pfnAngleVectors), // pfnAngleVectors() - - CDATA_ENG(pfnCreateEntity), // pfnCreateEntity() - CDATA_ENG(pfnRemoveEntity), // pfnRemoveEntity() - CDATA_ENG(pfnCreateNamedEntity), // pfnCreateNamedEntity() - - CDATA_ENG(pfnMakeStatic), // pfnMakeStatic() - CDATA_ENG(pfnEntIsOnFloor), // pfnEntIsOnFloor() - CDATA_ENG(pfnDropToFloor), // pfnDropToFloor() - - CDATA_ENG(pfnWalkMove), // pfnWalkMove() - CDATA_ENG(pfnSetOrigin), // pfnSetOrigin() - - CDATA_ENG(pfnEmitSound), // pfnEmitSound() - CDATA_ENG(pfnEmitAmbientSound), // pfnEmitAmbientSound() - - CDATA_ENG(pfnTraceLine), // pfnTraceLine() - CDATA_ENG(pfnTraceToss), // pfnTraceToss() - CDATA_ENG(pfnTraceMonsterHull), // pfnTraceMonsterHull() - CDATA_ENG(pfnTraceHull), // pfnTraceHull() - CDATA_ENG(pfnTraceModel), // pfnTraceModel() - CDATA_ENG(pfnTraceTexture), // pfnTraceTexture() - CDATA_ENG(pfnTraceSphere), // pfnTraceSphere() - CDATA_ENG(pfnGetAimVector), // pfnGetAimVector() - - CDATA_ENG(pfnServerCommand), // pfnServerCommand() - CDATA_ENG(pfnServerExecute), // pfnServerExecute() - CDATA_ENG(pfnClientCommand), // pfnClientCommand() // D'oh, ClientCommand in dllapi too. - - CDATA_ENG(pfnParticleEffect), // pfnParticleEffect() - CDATA_ENG(pfnLightStyle), // pfnLightStyle() - CDATA_ENG(pfnDecalIndex), // pfnDecalIndex() - CDATA_ENG(pfnPointContents), // pfnPointContents() - - CDATA_ENG(pfnMessageBegin), // pfnMessageBegin() - CDATA_ENG(pfnMessageEnd), // pfnMessageEnd() - - CDATA_ENG(pfnWriteByte), // pfnWriteByte() - CDATA_ENG(pfnWriteChar), // pfnWriteChar() - CDATA_ENG(pfnWriteShort), // pfnWriteShort() - CDATA_ENG(pfnWriteLong), // pfnWriteLong() - CDATA_ENG(pfnWriteAngle), // pfnWriteAngle() - CDATA_ENG(pfnWriteCoord), // pfnWriteCoord() - CDATA_ENG(pfnWriteString), // pfnWriteString() - CDATA_ENG(pfnWriteEntity), // pfnWriteEntity() - - CDATA_ENG(pfnCVarRegister), // pfnCVarRegister() - CDATA_ENG(pfnCVarGetFloat), // pfnCVarGetFloat() - CDATA_ENG(pfnCVarGetString), // pfnCVarGetString() - CDATA_ENG(pfnCVarSetFloat), // pfnCVarSetFloat() - CDATA_ENG(pfnCVarSetString), // pfnCVarSetString() - - CDATA_ENG(pfnAlertMessage), // pfnAlertMessage() - CDATA_ENG(pfnEngineFprintf), // pfnEngineFprintf() - - CDATA_ENG(pfnPvAllocEntPrivateData), // pfnPvAllocEntPrivateData() - CDATA_ENG(pfnPvEntPrivateData), // pfnPvEntPrivateData() - CDATA_ENG(pfnFreeEntPrivateData), // pfnFreeEntPrivateData() - - CDATA_ENG(pfnSzFromIndex), // pfnSzFromIndex() - CDATA_ENG(pfnAllocString), // pfnAllocString() - - CDATA_ENG(pfnGetVarsOfEnt), // pfnGetVarsOfEnt() - CDATA_ENG(pfnPEntityOfEntOffset), // pfnPEntityOfEntOffset() - CDATA_ENG(pfnEntOffsetOfPEntity), // pfnEntOffsetOfPEntity() - CDATA_ENG(pfnIndexOfEdict), // pfnIndexOfEdict() - CDATA_ENG(pfnPEntityOfEntIndex), // pfnPEntityOfEntIndex() - CDATA_ENG(pfnFindEntityByVars), // pfnFindEntityByVars() - CDATA_ENG(pfnGetModelPtr), // pfnGetModelPtr() - - CDATA_ENG_H(pfnRegUserMsg, P_POST, mm_RegUserMsg), // pfnRegUserMsg() - - CDATA_ENG(pfnAnimationAutomove), // pfnAnimationAutomove() - CDATA_ENG(pfnGetBonePosition), // pfnGetBonePosition() - - CDATA_ENG(pfnFunctionFromName), // pfnFunctionFromName() - CDATA_ENG(pfnNameForFunction), // pfnNameForFunction() - - CDATA_ENG(pfnClientPrintf), // pfnClientPrintf() // JOHN: engine callbacks so game DLL can print messages to individual clients - CDATA_ENG(pfnServerPrint), // pfnServerPrint() - - CDATA_ENG(pfnCmd_Args), // pfnCmd_Args() // these 3 added - CDATA_ENG(pfnCmd_Argv), // pfnCmd_Argv() // so game DLL can easily - CDATA_ENG(pfnCmd_Argc), // pfnCmd_Argc() // access client 'cmd' strings - - CDATA_ENG(pfnGetAttachment), // pfnGetAttachment() - - CDATA_ENG(pfnCRC32_Init), // pfnCRC32_Init() - CDATA_ENG(pfnCRC32_ProcessBuffer), // pfnCRC32_ProcessBuffer() - CDATA_ENG(pfnCRC32_ProcessByte), // pfnCRC32_ProcessByte() - CDATA_ENG(pfnCRC32_Final), // pfnCRC32_Final() - - CDATA_ENG(pfnRandomLong), // pfnRandomLong() - CDATA_ENG(pfnRandomFloat), // pfnRandomFloat() - - CDATA_ENG(pfnSetView), // pfnSetView() - CDATA_ENG(pfnTime), // pfnTime() - CDATA_ENG(pfnCrosshairAngle), // pfnCrosshairAngle() - - CDATA_ENG(pfnLoadFileForMe), // pfnLoadFileForMe() - CDATA_ENG(pfnFreeFile), // pfnFreeFile() - - CDATA_ENG(pfnEndSection), // pfnEndSection() // trigger_endsection - CDATA_ENG(pfnCompareFileTime), // pfnCompareFileTime() - CDATA_ENG(pfnGetGameDir), // pfnGetGameDir() - CDATA_ENG(pfnCvar_RegisterVariable), // pfnCvar_RegisterVariable() - CDATA_ENG(pfnFadeClientVolume), // pfnFadeClientVolume() - CDATA_ENG(pfnSetClientMaxspeed), // pfnSetClientMaxspeed() - CDATA_ENG(pfnCreateFakeClient), // pfnCreateFakeClient() // returns NULL if fake client can't be created - CDATA_ENG(pfnRunPlayerMove), // pfnRunPlayerMove() - CDATA_ENG(pfnNumberOfEntities), // pfnNumberOfEntities() - - CDATA_ENG(pfnGetInfoKeyBuffer), // pfnGetInfoKeyBuffer() // passing in NULL gets the serverinfo - CDATA_ENG(pfnInfoKeyValue), // pfnInfoKeyValue() - CDATA_ENG(pfnSetKeyValue), // pfnSetKeyValue() - CDATA_ENG(pfnSetClientKeyValue), // pfnSetClientKeyValue() - - CDATA_ENG(pfnIsMapValid), // pfnIsMapValid() - CDATA_ENG(pfnStaticDecal), // pfnStaticDecal() - CDATA_ENG(pfnPrecacheGeneric), // pfnPrecacheGeneric() - CDATA_ENG(pfnGetPlayerUserId), // pfnGetPlayerUserId() // returns the server assigned userid for this player. - CDATA_ENG(pfnBuildSoundMsg), // pfnBuildSoundMsg() - CDATA_ENG(pfnIsDedicatedServer), // pfnIsDedicatedServer() // is this a dedicated server? - CDATA_ENG(pfnCVarGetPointer), // pfnCVarGetPointer() - CDATA_ENG(pfnGetPlayerWONId), // pfnGetPlayerWONId() // returns the server assigned WONid for this player. - - CDATA_ENG(pfnInfo_RemoveKey), // pfnInfo_RemoveKey() - CDATA_ENG(pfnGetPhysicsKeyValue), // pfnGetPhysicsKeyValue() - CDATA_ENG(pfnSetPhysicsKeyValue), // pfnSetPhysicsKeyValue() - CDATA_ENG(pfnGetPhysicsInfoString), // pfnGetPhysicsInfoString() - CDATA_ENG(pfnPrecacheEvent), // pfnPrecacheEvent() - CDATA_ENG(pfnPlaybackEvent), // pfnPlaybackEvent() - - CDATA_ENG(pfnSetFatPVS), // pfnSetFatPVS() - CDATA_ENG(pfnSetFatPAS), // pfnSetFatPAS() - - CDATA_ENG(pfnCheckVisibility), // pfnCheckVisibility() - - CDATA_ENG(pfnDeltaSetField), // pfnDeltaSetField() - CDATA_ENG(pfnDeltaUnsetField), // pfnDeltaUnsetField() - CDATA_ENG(pfnDeltaAddEncoder), // pfnDeltaAddEncoder() - CDATA_ENG(pfnGetCurrentPlayer), // pfnGetCurrentPlayer() - CDATA_ENG(pfnCanSkipPlayer), // pfnCanSkipPlayer() - CDATA_ENG(pfnDeltaFindField), // pfnDeltaFindField() - CDATA_ENG(pfnDeltaSetFieldByIndex), // pfnDeltaSetFieldByIndex() - CDATA_ENG(pfnDeltaUnsetFieldByIndex), // pfnDeltaUnsetFieldByIndex() - - CDATA_ENG(pfnSetGroupMask), // pfnSetGroupMask() - - CDATA_ENG(pfnCreateInstancedBaseline), // pfnCreateInstancedBaseline() // D'oh, CreateInstancedBaseline in dllapi too. - CDATA_ENG(pfnCvar_DirectSet), // pfnCvar_DirectSet() - - CDATA_ENG(pfnForceUnmodified), // pfnForceUnmodified() - - CDATA_ENG(pfnGetPlayerStats), // pfnGetPlayerStats() - - CDATA_ENG(pfnAddServerCommand), // pfnAddServerCommand() - - CDATA_ENG(pfnVoice_GetClientListening), // pfnVoice_GetClientListening() - CDATA_ENG(pfnVoice_SetClientListening), // pfnVoice_SetClientListening() - - CDATA_ENG(pfnGetPlayerAuthId), // pfnGetPlayerAuthId() - - CDATA_ENG(pfnSequenceGet), // pfnSequenceGet() - CDATA_ENG(pfnSequencePickSentence), // pfnSequencePickSentence() - CDATA_ENG(pfnGetFileSize), // pfnGetFileSize() - CDATA_ENG(pfnGetApproxWavePlayLen), // pfnGetApproxWavePlayLen() - CDATA_ENG(pfnIsCareerMatch), // pfnIsCareerMatch() - CDATA_ENG(pfnGetLocalizedStringLength), // pfnGetLocalizedStringLength() - CDATA_ENG(pfnRegisterTutorMessageShown), // pfnRegisterTutorMessageShown() - CDATA_ENG(pfnGetTimesTutorMessageShown), // pfnGetTimesTutorMessageShown() - CDATA_ENG(pfnProcessTutorMessageDecayBuffer), // pfnProcessTutorMessageDecayBuffer() - CDATA_ENG(pfnConstructTutorMessageDecayBuffer), // pfnConstructTutorMessageDecayBuffer() - CDATA_ENG(pfnResetTutorMessageDecayData), // pfnResetTutorMessageDecayData() - - CDATA_ENG_H(pfnQueryClientCvarValue, P_PRE, mm_QueryClientCvarValue), // pfnQueryClientCvarValue() - CDATA_ENG(pfnQueryClientCvarValue2), // pfnQueryClientCvarValue2() - CDATA_ENG(pfnEngCheckParm) // pfnCheckParm()*/ + CDATA_ENG(pfnPrecacheModel), + CDATA_ENG(pfnPrecacheSound), + CDATA_ENG(pfnSetModel), + CDATA_ENG(pfnModelIndex), + CDATA_ENG(pfnModelFrames), + CDATA_ENG(pfnSetSize), + CDATA_ENG(pfnChangeLevel), + CDATA_ENG(pfnGetSpawnParms), + CDATA_ENG(pfnSaveSpawnParms), + CDATA_ENG(pfnVecToYaw), + CDATA_ENG(pfnVecToAngles), + CDATA_ENG(pfnMoveToOrigin), + CDATA_ENG(pfnChangeYaw), + CDATA_ENG(pfnChangePitch), + CDATA_ENG(pfnFindEntityByString), + CDATA_ENG(pfnGetEntityIllum), + CDATA_ENG(pfnFindEntityInSphere), + CDATA_ENG(pfnFindClientInPVS), + CDATA_ENG(pfnEntitiesInPVS), + CDATA_ENG(pfnMakeVectors), + CDATA_ENG(pfnAngleVectors), + CDATA_ENG(pfnCreateEntity), + CDATA_ENG(pfnRemoveEntity), + CDATA_ENG(pfnCreateNamedEntity), + CDATA_ENG(pfnMakeStatic), + CDATA_ENG(pfnEntIsOnFloor), + CDATA_ENG(pfnDropToFloor), + CDATA_ENG(pfnWalkMove), + CDATA_ENG(pfnSetOrigin), + CDATA_ENG(pfnEmitSound), + CDATA_ENG(pfnEmitAmbientSound), + CDATA_ENG(pfnTraceLine), + CDATA_ENG(pfnTraceToss), + CDATA_ENG(pfnTraceMonsterHull), + CDATA_ENG(pfnTraceHull), + CDATA_ENG(pfnTraceModel), + CDATA_ENG(pfnTraceTexture), + CDATA_ENG(pfnTraceSphere), + CDATA_ENG(pfnGetAimVector), + CDATA_ENG(pfnServerCommand), + CDATA_ENG(pfnServerExecute), + CDATA_ENG(pfnClientCommand), // D'oh, ClientCommand in dllapi too. + CDATA_ENG(pfnParticleEffect), + CDATA_ENG(pfnLightStyle), + CDATA_ENG(pfnDecalIndex), + CDATA_ENG(pfnPointContents), + CDATA_ENG(pfnMessageBegin), + CDATA_ENG(pfnMessageEnd), + CDATA_ENG(pfnWriteByte), + CDATA_ENG(pfnWriteChar), + CDATA_ENG(pfnWriteShort), + CDATA_ENG(pfnWriteLong), + CDATA_ENG(pfnWriteAngle), + CDATA_ENG(pfnWriteCoord), + CDATA_ENG(pfnWriteString), + CDATA_ENG(pfnWriteEntity), + CDATA_ENG(pfnCVarRegister), + CDATA_ENG(pfnCVarGetFloat), + CDATA_ENG(pfnCVarGetString), + CDATA_ENG(pfnCVarSetFloat), + CDATA_ENG(pfnCVarSetString), + CDATA_ENG(pfnAlertMessage), + CDATA_ENG(pfnEngineFprintf), + CDATA_ENG(pfnPvAllocEntPrivateData), + CDATA_ENG(pfnPvEntPrivateData), + CDATA_ENG(pfnFreeEntPrivateData), + CDATA_ENG(pfnSzFromIndex), + CDATA_ENG(pfnAllocString), + CDATA_ENG(pfnGetVarsOfEnt), + CDATA_ENG(pfnPEntityOfEntOffset), + CDATA_ENG(pfnEntOffsetOfPEntity), + CDATA_ENG(pfnIndexOfEdict), + CDATA_ENG(pfnPEntityOfEntIndex), + CDATA_ENG(pfnFindEntityByVars), + CDATA_ENG(pfnGetModelPtr), + CDATA_ENG_H(pfnRegUserMsg, P_POST, mm_RegUserMsg), + CDATA_ENG(pfnAnimationAutomove), + CDATA_ENG(pfnGetBonePosition), + CDATA_ENG(pfnFunctionFromName), + CDATA_ENG(pfnNameForFunction), + CDATA_ENG(pfnClientPrintf), // JOHN: engine callbacks so game DLL can print messages to individual clients + CDATA_ENG(pfnServerPrint), + CDATA_ENG(pfnCmd_Args), // these 3 added + CDATA_ENG(pfnCmd_Argv), // so game DLL can easily + CDATA_ENG(pfnCmd_Argc), // access client 'cmd' strings + CDATA_ENG(pfnGetAttachment), + CDATA_ENG(pfnCRC32_Init), + CDATA_ENG(pfnCRC32_ProcessBuffer), + CDATA_ENG(pfnCRC32_ProcessByte), + CDATA_ENG(pfnCRC32_Final), + CDATA_ENG(pfnRandomLong), + CDATA_ENG(pfnRandomFloat), + CDATA_ENG(pfnSetView), + CDATA_ENG(pfnTime), + CDATA_ENG(pfnCrosshairAngle), + CDATA_ENG(pfnLoadFileForMe), + CDATA_ENG(pfnFreeFile), + CDATA_ENG(pfnEndSection), + CDATA_ENG(pfnCompareFileTime), + CDATA_ENG(pfnGetGameDir), + CDATA_ENG(pfnCvar_RegisterVariable), + CDATA_ENG(pfnFadeClientVolume), + CDATA_ENG(pfnSetClientMaxspeed), + CDATA_ENG(pfnCreateFakeClient), // returns NULL if fake client can't be created + CDATA_ENG(pfnRunPlayerMove), + CDATA_ENG(pfnNumberOfEntities), + CDATA_ENG(pfnGetInfoKeyBuffer), // passing in NULL gets the serverinfo + CDATA_ENG(pfnInfoKeyValue), + CDATA_ENG(pfnSetKeyValue), + CDATA_ENG(pfnSetClientKeyValue), + CDATA_ENG(pfnIsMapValid), + CDATA_ENG(pfnStaticDecal), + CDATA_ENG(pfnPrecacheGeneric), + CDATA_ENG(pfnGetPlayerUserId), // returns the server assigned userid for this player. + CDATA_ENG(pfnBuildSoundMsg), + CDATA_ENG(pfnIsDedicatedServer), // is this a dedicated server? + CDATA_ENG(pfnCVarGetPointer), + CDATA_ENG(pfnGetPlayerWONId), // returns the server assigned WONid for this player. + CDATA_ENG(pfnInfo_RemoveKey), + CDATA_ENG(pfnGetPhysicsKeyValue), + CDATA_ENG(pfnSetPhysicsKeyValue), + CDATA_ENG(pfnGetPhysicsInfoString), + CDATA_ENG(pfnPrecacheEvent), + CDATA_ENG(pfnPlaybackEvent), + CDATA_ENG(pfnSetFatPVS), + CDATA_ENG(pfnSetFatPAS), + CDATA_ENG(pfnCheckVisibility), + CDATA_ENG(pfnDeltaSetField), + CDATA_ENG(pfnDeltaUnsetField), + CDATA_ENG(pfnDeltaAddEncoder), + CDATA_ENG(pfnGetCurrentPlayer), + CDATA_ENG(pfnCanSkipPlayer), + CDATA_ENG(pfnDeltaFindField), + CDATA_ENG(pfnDeltaSetFieldByIndex), + CDATA_ENG(pfnDeltaUnsetFieldByIndex), + CDATA_ENG(pfnSetGroupMask), + CDATA_ENG(pfnCreateInstancedBaseline), // D'oh, CreateInstancedBaseline in dllapi too. + CDATA_ENG(pfnCvar_DirectSet), + CDATA_ENG(pfnForceUnmodified), + CDATA_ENG(pfnGetPlayerStats), + CDATA_ENG(pfnAddServerCommand), + CDATA_ENG(pfnVoice_GetClientListening), + CDATA_ENG(pfnVoice_SetClientListening), + CDATA_ENG(pfnGetPlayerAuthId), + CDATA_ENG(pfnSequenceGet), + CDATA_ENG(pfnSequencePickSentence), + CDATA_ENG(pfnGetFileSize), + CDATA_ENG(pfnGetApproxWavePlayLen), + CDATA_ENG(pfnIsCareerMatch), + CDATA_ENG(pfnGetLocalizedStringLength), + CDATA_ENG(pfnRegisterTutorMessageShown), + CDATA_ENG(pfnGetTimesTutorMessageShown), + CDATA_ENG(pfnProcessTutorMessageDecayBuffer), + CDATA_ENG(pfnConstructTutorMessageDecayBuffer), + CDATA_ENG(pfnResetTutorMessageDecayData), + CDATA_ENG_H(pfnQueryClientCvarValue, P_PRE, mm_QueryClientCvarValue), + CDATA_ENG(pfnQueryClientCvarValue2), + CDATA_ENG(pfnEngCheckParm) }; void compile_engfuncs_callbacks() diff --git a/metamod/src/game_support.h b/metamod/src/game_support.h index 34aea07..c99be3a 100644 --- a/metamod/src/game_support.h +++ b/metamod/src/game_support.h @@ -5,10 +5,10 @@ // Information we have about each game/mod DLL. struct game_modinfo_t { - const char* name; // name (the game dir) - const char* linux_so; // filename of linux shared lib - const char* win_dll; // filename of win32 dll - const char* desc; // our long-name description + const char* name; // name (the game dir) + const char* linux_so; // filename of linux shared lib + const char* win_dll; // filename of win32 dll + const char* desc; // our long-name description }; bool setup_gamedll(gamedll_t* gamedll); diff --git a/metamod/src/metamod.cpp b/metamod/src/metamod.cpp index 519710e..88042d5 100644 --- a/metamod/src/metamod.cpp +++ b/metamod/src/metamod.cpp @@ -41,7 +41,7 @@ void metamod_startup() Q_snprintf(configFile, sizeof configFile, "%s/%s", g_config->directory(), CONFIG_INI); Q_snprintf(pluginFile, sizeof pluginFile, "%s/%s", g_config->directory(), PLUGINS_INI); - Q_snprintf(execFile, sizeof execFile, "%s/%s", g_config->directory(), EXEC_CFG); + Q_snprintf(execFile, sizeof execFile, "%s/%s", g_config->directory(), EXEC_CFG); META_CONS(" "); META_CONS(" Metamod-r version %s Copyright (c) 2016-2017 ReHLDS Team (rebuild of original Metamod by Will Day and Jussi Kivilinna)", APP_VERSION); diff --git a/metamod/src/mlist.cpp b/metamod/src/mlist.cpp index 3ad858f..566d71b 100644 --- a/metamod/src/mlist.cpp +++ b/metamod/src/mlist.cpp @@ -661,11 +661,11 @@ void MPluginList::show_client(edict_t* pEntity) n++; META_CLIENT(pEntity, " [%3d] %s, v%s, %s, by %s, see %s", n, - p->info()->name ? p->info()->name : "", - p->info()->version ? p->info()->version : "", - p->info()->date ? p->info()->date : "<../../..>", - p->info()->author ? p->info()->author : "", - p->info()->url ? p->info()->url : ""); + p->info()->name ? p->info()->name : "", + p->info()->version ? p->info()->version : "", + p->info()->date ? p->info()->date : "<../../..>", + p->info()->author ? p->info()->author : "", + p->info()->url ? p->info()->url : ""); } META_CLIENT(pEntity, "%d plugins", n); diff --git a/metamod/src/mlist.h b/metamod/src/mlist.h index ae35f1f..0ef823e 100644 --- a/metamod/src/mlist.h +++ b/metamod/src/mlist.h @@ -1,9 +1,8 @@ #pragma once -#include "mplugin.h" // class MPlugin +#include "mplugin.h" // class MPlugin #include "plinfo.h" // plid_t, etc - // Width required to printf above MAX, for show() functions. #define WIDTH_MAX_PLUGINS 2 @@ -31,7 +30,7 @@ public: bool ini_startup(); // read inifile at startup bool ini_refresh(); // re-read inifile bool cmd_addload(const char* args); // load from console command - MPlugin* plugin_addload(plid_t plid, const char* fname, PLUG_LOADTIME now); //load from plugin + MPlugin* plugin_addload(plid_t plid, const char* fname, PLUG_LOADTIME now); // load from plugin bool load(); // load the list, at startup bool refresh(PLUG_LOADTIME now); // update from re-read inifile @@ -44,6 +43,6 @@ public: private: size_t m_last_index; - plugins_t m_plugins; // array of plugins - char m_inifile[PATH_MAX]; // full pathname + plugins_t m_plugins; // array of plugins + char m_inifile[PATH_MAX]; // full pathname }; diff --git a/metamod/src/mplayer.cpp b/metamod/src/mplayer.cpp index 7bc9c03..4958ced 100644 --- a/metamod/src/mplayer.cpp +++ b/metamod/src/mplayer.cpp @@ -6,10 +6,10 @@ MPlayer::MPlayer() : m_isQueried(false) // Mark a player as querying a client cvar and stores the cvar name // meta_errno values: -// - ME_ARGUMENT cvar is NULL +// - ME_ARGUMENT cvar is nullptr void MPlayer::set_cvar_query(const char* cvar) { - // Do not allow NULL as queried cvar since we use this as + // Do not allow nullptr as queried cvar since we use this as // return value in is_querying_cvar as indication if a // client cvar is queried. if (!cvar) { @@ -28,7 +28,7 @@ void MPlayer::clear_cvar_query(const char* cvar) } // Check if a client cvar is queried for this player -// Returns NULL if not +// Returns nullptr if not // or the name of the cvar. const char* MPlayer::is_querying_cvar() const { @@ -41,20 +41,22 @@ const char* MPlayer::is_querying_cvar() const // Mark a player as querying a client cvar and stores the cvar name // meta_errno values: -// - ME_ARGUMENT cvar is NULL +// - ME_ARGUMENT cvar is nullptr void MPlayerList::set_player_cvar_query(const edict_t* pEntity, const char* cvar) { int indx = ENTINDEX(pEntity); - if (indx >= 1 && indx <= gpGlobals->maxClients) + if (indx >= 1 && indx <= gpGlobals->maxClients) { m_players[indx].set_cvar_query(cvar); + } } // Unmark player as querying a client cvar void MPlayerList::clear_player_cvar_query(const edict_t* pEntity, const char* cvar) { int indx = ENTINDEX(pEntity); - if (indx >= 1 && indx <= gpGlobals->maxClients) + if (indx >= 1 && indx <= gpGlobals->maxClients) { m_players[indx].clear_cvar_query(cvar); + } } void MPlayerList::clear_all_cvar_queries() @@ -65,15 +67,16 @@ void MPlayerList::clear_all_cvar_queries() } // Check if a client cvar is queried for this player -// Returns NULL if not +// Returns nullptr if not // or the name of the cvar. // meta_errno values: // - ME_NOTFOUND invalid entity const char* MPlayerList::is_querying_cvar(const edict_t* pEntity) const { int indx = ENTINDEX(pEntity); - if (indx >= 1 && indx <= gpGlobals->maxClients) + if (indx >= 1 && indx <= gpGlobals->maxClients) { return m_players[indx].is_querying_cvar(); + } - return NULL; + return nullptr; } diff --git a/metamod/src/mplugin.cpp b/metamod/src/mplugin.cpp index 38769b7..18a965e 100644 --- a/metamod/src/mplugin.cpp +++ b/metamod/src/mplugin.cpp @@ -9,7 +9,6 @@ const char *MPlugin::s_rPrintLoadTime[][4] = { { "pausable", "Pause", "at any time, and pausable", "for requested pause" }, // PT_ANYPAUSE }; -// ReSharper disable once CppPossiblyUninitializedMember MPlugin::MPlugin() { m_status = PL_EMPTY; @@ -176,8 +175,8 @@ bool MPlugin::plugin_parseline(const char *fname, int loader_index) else m_file = m_filename; - //grab description - //temporarily use plugin file until plugin can be queried + // grab description + // temporarily use plugin file until plugin can be queried Q_snprintf(m_desc, sizeof m_desc, "<%s>", m_file); //make full pathname @@ -408,7 +407,7 @@ bool MPlugin::load(PLUG_LOADTIME now, bool& delayed) META_ERROR("dll: Couldn't close plugin file '%s': %s", m_file, "invalid handle"); } m_status = PL_BADFILE; - m_info = nullptr; //prevent crash + m_info = nullptr; // prevent crash return false; } m_status = PL_OPENED; @@ -716,10 +715,10 @@ bool MPlugin::plugin_unload(plid_t plid, PLUG_LOADTIME now, PL_UNLOAD_REASON rea m_unloader_index = pl_unloader->index(); - //block unloader from being unloaded by other plugin + // block unloader from being unloaded by other plugin pl_unloader->m_is_unloader = true; - //try unload + // try unload PLUG_ACTION old_action = m_action; m_action = PA_UNLOAD; bool delayed; @@ -1164,10 +1163,18 @@ const char *MPlugin::str_source(STR_SOURCE fmt) const case PS_INI: return show ? "ini" : "ini file"; case PS_CMD: return show ? "cmd" : "console command"; case PS_PLUGIN: - if (m_source_plugin_index <= 0) - return show ? "plUN" : "unloaded plugin"; - return show ? UTIL_VarArgs("pl%d", m_source_plugin_index) : UTIL_VarArgs("plugin [%s]", g_plugins->find(m_source_plugin_index)->description()); - default: return UTIL_VarArgs(show ? "UNK%d" : "unknown (%d)", m_source); + { + if (m_source_plugin_index <= 0) + return show ? "plUN" : "unloaded plugin"; + + if (show) { + return UTIL_VarArgs("pl%d", m_source_plugin_index); + } + + return UTIL_VarArgs("plugin [%s]", g_plugins->find(m_source_plugin_index)->description()); + } + default: + return UTIL_VarArgs(show ? "UNK%d" : "unknown (%d)", m_source); } } diff --git a/metamod/src/mutil.cpp b/metamod/src/mutil.cpp index 5e4d214..d29ca16 100644 --- a/metamod/src/mutil.cpp +++ b/metamod/src/mutil.cpp @@ -1,12 +1,12 @@ #include "precompiled.h" static hudtextparms_t g_default_csay_tparms = { - -1, 0.25, // x, y - 2, // effect - 0, 255, 0, 0, // r, g, b, a1 - 0, 0, 0, 0, // r2, g2, b2, a2 - 0, 0, 10, 10, // fadein, fadeout, hold, fxtime - 1 // channel + -1, 0.25, // x, y + 2, // effect + 0, 255, 0, 0, // r, g, b, a1 + 0, 0, 0, 0, // r2, g2, b2, a2 + 0, 0, 10, 10, // fadein, fadeout, hold, fxtime + 1 // channel }; static const char* g_engine_msg_names[] =