Not sure I understand what's bad about all of this. Do you have a concrete repro scenario from HL2DM, or does this only occur in mod code?
At 2006/09/08 12:30 AM, Ben Everett wrote: >Good catch! > >Add it to the bugzilla, as you have a better idea of what is going on than I >do (busy bug fixing my own code). An interesting condition to say the least, >anyone else w/ experience in this field wanting to comment? > >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf Of Daniel Menard >Sent: Friday, September 08, 2006 12:12 AM >To: [email protected] >Subject: [hlcoders] Interesting Hierarchy Bug > >Well I've found an interesting hierarchy related bug. I figured I >should notify the list about this one because it took me a while to >wrap my head around it. I'm not sure if this has been fixed in the new >SDK update (my mod is still running on the old codebase until we have >time to merge in the new SDK), but I did a quick search in the known >issues list and the new source and there doesnt appear to be a fix. > >It looks like a comment was left regarding parent attachments in the >SDK update, but it doesnt resolve the parent issue. Anyways this bug >occurs when a FL_EDICT_ALWAYS entity is parented to a PVSCHECK entity. >When the PVS entity becomes dormant, it will call UnlinkFromHierarchy >which will unlink it from its parent and do the same for all its >children. > >The trouble comes when the PVSCHECK entity comes back into view. The >entity loses its dormant state and it begins to move again, but the >FL_EDICT_ALWAYS entity stops following (atleast client side). The >reason being that the hierarchy system expects a full entity update >from the server when it comes back into view (which would fix up the >parent of the ALWAYS entity), but since the entity is always >transmitted, it never receives the message to reset the parent because >server side the parent never changed and the entity never went >dormant. > >I have yet to find a concrete solution to the problem (though its only >been about an hour or so since I figured it out), but I am beginning >the think UnlinkHierarchy should never get called when an entity goes >dormant in the first place. The EHandles would return NULL if the >entity was ever removed and if anything is parented to an entity that >is dormant it should stay where it is without unlinking. I'm weary of >removing the call though, because it may break in some odd condition. > >I won't be able to make the change to my codebase until tomorrow, but >some comments would be appreciated. I could add this to the Known >Issues list in the wiki once a stable solution is found. > >_______________________________________________ >To unsubscribe, edit your list preferences, or view the list archives, >please visit: >http://list.valvesoftware.com/mailman/listinfo/hlcoders > > >_______________________________________________ >To unsubscribe, edit your list preferences, or view the list archives, please >visit: >http://list.valvesoftware.com/mailman/listinfo/hlcoders _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

