Skip to content

pfnClientPutInServer doesn't get called since Oct 25th update #2758

@maxmakesmods

Description

@maxmakesmods

This seems to be a rather odd one, and I won't rule out some issue on my side of things.

Since the October 25th update the engine doesn't call pfnClientPutInServer anymore in my mod's game dll.

When I start a new game or type "map c1a0" in the console, pfnClientConnect gets called, pfnClientUserInfoChanged gets called, pfnPlayerPreThink and pfnPlayerPostThink get called every frame, all with the same edict_t pointer. But pfnClientPutInServer is never called, thus no player is spawned, the edict_t's privatedata remains null and the entvars's pContainingEntity member remains null as well, leading to a crash when the game assumes the edict and entvars are valid.

To prevent the crash I have added some extra checks, but that still doesn't fix the core issue. The game starts now, but players are frozen at (0,0,0) and cannot interact with the world in any way.

Did anything change with the last update that would explain this behavior? I thought that I might have corrupted some memory, causing the function address to be invalid, but the problem happens with older versions of the mod that ran fine before the update. Also all the function pointers around pfnClientPutInServer are working fine, so that would be an extraordinary coincidence. (Apart from the fact that I'd expect the game to crash when the engine tries to call an invalid function, and not, well not call it at all?)

Other mods seem to run fine, so the pfnClientPutInServer in their dlls must be called normally, again making me believe the issue is with my mod specifically. But why now after the update to Half-Life? And what exactly could cause this behavior in my mod (or any mod)?

@mikela-valve I'd be eternally grateful if you could shed some light as to the internal changes of the last update, that might explain the effects I am seeing here. Thanks!

(If you'd like to debug my mod yourself, let me know, and I give you access to the source code and latest binaries.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions