
When the game restores the entity the memory for it is zero initialized so it will still be valid despite not restoring correctly. It happens to work properly because the player's frozen state is separately saved and restored, and m_bUnFrozen is set to false while the player is frozen. Opposing Force has the same entity but does not save/restore this field. That's intended for the 4 byte BOOL type, change the type of the variable to BOOL so it will work properly.

Note that using FIELD_BOOLEAN is not enough to fix this. The m_bUnFrozen variable is save/restored as an EHANDLE, so it tries to save off the entity id and accesses invalid memory. _ZN20CTriggerPlayerFreeze10m_SaveDataE TYPEDESCRIPTION TYPEDESCRIPTION CTriggerPlayerFreeze::m_SaveData The trigger_playerfreeze entity class looks like this: #17 0xb67a78f3 in RunListenServer (instance=0x0,īasedir=0x804b220 "/home/sam/.local/share/Steam/steamapps/common/Half-Life",Ĭmdline=0x80533c0 "/home/sam/.local/share/Steam/steamapps/common/Half-Life/hl_linux -game bshift +sv_cheats 1", #12 Cbuf_ExecuteFromBuffer (buf=0xb6fccaf0, bIsPrivileged=true) Src=src_command, text=0xbfffe730 "save quick") at. #11 0xb6765e4d in Cmd_ExecuteStringWithPrivilegeCheck (bIsPrivileged=true, Text=0xbfffe730 "save quick", bIsPrivileged=, #10 0xb6765c0e in Cmd_ExecuteStringWithPrivilegeCheck ( #7 0xb67843bd in SaveGameSlot (pSaveName=0xabb83dd0 "quick", #5 0xaefb483c in DispatchSave (pent=0xabeae3e4, pSaveData=0xa1314f8) #4 CTriggerPlayerFreeze::Save (this=0x9709ea0, save=.) #3 0xaf0493ac in CTriggerPlayerFreeze::Save (save=., this=0x9709ea0)

Pname=0xaf08e577 "CTriggerPlayerFreeze", pBaseData=0x9709ea0, #2 0xaf059038 in CSave::WriteFields (this=0xbfffdecc, #1 EHANDLE::operator CBaseEntity* (this=0x9709f0c) blueshift/dlls/cbase.cpp: No such file or directory. In the chapter 'Forget About Freeman', there is an elevator with a closed door at the beginning.Thread 1 "hl_linux" received signal SIGSEGV, Segmentation fault.Ġxaefb58d0 in EHANDLE::Get (this=0x9709f0c) at. If one noclips inside, the player will see a red triangle.
HALF LIFE BLUE SHIFT CRASH ON LEVELS HOW TO
Walking towards it will either crash the game (if you're running the game in Software mode, running in OpenGL or Direct3D mode will apparently stop the game from crashing) or send you 2 maps ahead (the map where you fire the tank to open the door that takes you to the lambda lab), floating on the ceiling, dead.Īttempting this in the Source version will exit the level and return to the main menu because the game doesn't know how to properly transition into the map the triangle sends you to. The switch also exists in the multiplayer level lambda_bunker, but will crash the game if used. Interestingly, if this triangle is touched while running Half-Life in the Xash3D source port, it will transport the player two maps ahead, however it'll properly position them near the starting elevator, albeit without their HEV suit, weapons, or ammunition, acting similarly to if the player attempted to directly load the map through the console.

In the room with the Longjump module and HEV charger, there is a "wall" entity blocking a passage to a secret room. It is visible in-game by setting off explosions around it (the scorch mark decals do not cross over from the wall to the blocking entity), but cannot be opened. It is also visible when using render commands like r_drawflat, gl_wireframe, etc.
