SDK Known Issues List

From Valve Developer Community
Revision as of 10:37, 14 July 2005 by Bloodykenny (talk | contribs)
Jump to navigation Jump to search

This page contains the list of current known issues in the SDK

Server: weapon_citizensuitcase Assert on startup

Workaround: Install copy of the SP SDK, then copy the scripts/ directory over


Server: Some bullet weapons set to do 0 damage.

Workaround: Need to edit their AddAmmoType which are strangely set to 0 for some reason.


Server: Some projectile weapons set to do 0 damage. Workaround: Need to edit their source files and set a damage.


Client: --- Missing Vgui material vgui/steam/games/icon_cz

Workaround: Manually extract files from GCF and copy them into your mod directory? Haven't tried this. There must be a better way.


Server: The crossbow causes an assertion failure.

Workaround: Comment out ai_activity.cpp line 53. This doesn't appear to be something that can be fixed in code?


Server? Client?: RL explosion invisible, per http://www.chatbear.com/board.plm?a=viewthread&t=970,1107153392,30132&id=786504&b=4991&v=flatold

Workaround: No known workaround.


util.cpp (531) : Assertion Failed: !"UTIL_GetLocalPlayer"

Workaround:

Index: mod/src/dlls/player.h
===================================================================
--- mod/src/dlls/player.h 2005/02/19 22:20:29 1.2
+++ mod/src/dlls/player.h 2005/02/24 00:35:30
@@ -459,6 +459,7 @@
     // mass/size limit set to zero for none
     static bool CanPickupObject( CBaseEntity *pObject, float massLimit, float sizeLimit );
     virtual void PickupObject( CBaseEntity *pObject, bool bLimitMassAndSize = true ) {}
+    virtual bool IsHoldingEntity( CBaseEntity *pEnt );
     virtual void ForceDropOfCarriedPhysObjects( CBaseEntity *pOnlyIfHoldindThis = NULL ) {}
     virtual float GetHeldObjectMass( IPhysicsObject *pHeldObject );

Index: mod/src/dlls/player.cpp
===================================================================
--- mod/src/dlls/player.cpp 2005/02/21 00:05:42 1.3
+++ mod/src/dlls/player.cpp 2005/02/24 00:35:33
@@ -7447,3 +7447,7 @@
     return cmd;
 }

+bool CBasePlayer::IsHoldingEntity( CBaseEntity *pEnt )
+{
+    return PlayerPickupControllerIsHoldingEntity( m_hUseEntity, pEnt );
+}

Index: mod/src/dlls/physics_impact_damage.cpp
===================================================================
--- mod/src/dlls/physics_impact_damage.cpp 2005/02/18 04:45:50 1.1.1.1
+++ mod/src/dlls/physics_impact_damage.cpp 2005/02/24 00:42:24
@@ -417,12 +417,22 @@
     else if ( pEvent->pObjects[index>GetGameFlags() & FVPHYSICS_PLAYER_HELD )
     {
     // if the player is holding the object, use it's real mass (player holding reduced the mass)
-    CBasePlayer *pPlayer = UTIL_GetLocalPlayer();
-    if ( pPlayer )
-    {
+    CBasePlayer* pPlayer = NULL;
+    {for (int i = 1; i <= gpGlobals->maxClients; i++) {
+        CBasePlayer *temp_player = UTIL_PlayerByIndex(i);
+        if (temp_player
+            && temp_player->edict()
+            && temp_player->IsHoldingEntity(pEvent->pEntities[index])
+        ) {
+            pPlayer = temp_player;
+            break;
+        }
+    }}
+    Assert(pPlayer && "object with FVPHYSICS_PLAYER_HELD but no player holding it");
+    if (pPlayer) {
     float mass = pPlayer->GetHeldObjectMass( pEvent->pObjects[index] );
-    if ( mass > 0 )
-    {
+        Assert((mass > 0) && "player was holding object so mass should be non-zero");
+        if (mass > 0) {
             invMass = 1.0f / mass;
         }
     }

Assert !"UTIL_GetLocalPlayer" when using combine ball

Workaround: See the patch below.


CreateEvent: event 'break_prop' not registered

Significance and fix both unknown


HL2.exe mysteriously segfaults if you forget to put the client.dll and server.dll in your mod's bin directory

Workaround: Don't do that.


If you leave a server online on a certain map for roughly 12-24 hours straight, it begins using 100% CPU. Possibly a core srcds.exe bug, not an SDK bug?

I suppose there could be some array or something inside the HL2 core that grows over time, and must be iterated over each frame?

I haven't run the long-running map scenario in a long time. The alpha server for my mod is full most of the day and players frag out so the map is always changing.

That said, I seem to recall that the move from the usual 5% cpu to 100% cpu was fairly drastic and immediate. I never saw an intermediate stage where the server used 25% cpu or 50% cpu etc. I would expect to see those intermediate levels if it was a memory leak.

Workaround: Ensure you have mp_timelimit set to something nonzero, but less than 12 hours or so.


Negative entitygroundcontact crash

Workaround: See patch below


Doing a 360 quickly with the Stun Baton as your active weapon causes the screen to flash white

Fix unknown