Team Fortress 2 Update Released

Discussion in 'Team Fortress 2 Talk' started by tf2.com, Jul 12, 2013.

  1. tf2.com

    tf2.com L11: Posh Member

    Messages:
    853
    Positive Ratings:
    496
    An update to Team Fortress 2 has been released. The update will be applied automatically when you restart Team Fortress 2. The major changes include:
    • Fixed a server crash caused by running out of free edicts
    • Fixed a problem that was preventing some older demos from being played
    • Fixed the Spy getting the afterburn immunity while disguised as Demoman wielding the Chargin' Targe
    • Fixed the Process and Standin map stamp donations displaying incorrect map names on the World Traveler
    • Fixed the Pyro not using the correct model for the Reserve Shooter
    • Fixed a bug that would cause certain attributes (kill counts, trade time) to appear incorrectly on items viewed through Steam Community and the trade UI
    • Removed promotion restrictions from the Crosslinker's Coil
    • Updated the Loose Cannon description to match the updated gameplayUpdated the Short Circuit description to match the updated gameplay

    Source: TF2.com
     
  2. henke37

    aa henke37

    Messages:
    1,919
    Positive Ratings:
    449
    Was there a map that overran the edict budget?
     
  3. Wander

    Wander L3: Member

    Messages:
    148
    Positive Ratings:
    42
    There was a bug that caused some entities not be cleaned up properly, it wasnt specific to a map
     
  4. Toomai

    Toomai L3: Member

    Messages:
    129
    Positive Ratings:
    77
    This is the kind of thing that makes you wonder just how ridiculously convoluted the game's codebase has become.
     
  5. PoignardAzur

    PoignardAzur L2: Junior Member

    Messages:
    92
    Positive Ratings:
    7
    Oui. I thought that they had a specific part in the code of the spy that said "He hasn't any effects of the objects he pretends to be wearing !".

    EDIT : what am I writing ? I mean, they're shouldn't be any part in the code that gives the spy any enemy attribute. (yeah, like henke says)
     
    Last edited: Jul 15, 2013
  6. henke37

    aa henke37

    Messages:
    1,919
    Positive Ratings:
    449
    More like that there shouldn't be any code that links his attributes to those of the one he is impersonating.
     
  7. martijntje

    martijntje L8: Fancy Shmancy Member

    Messages:
    539
    Positive Ratings:
    168
    Well the spy speed does change when he disguises as a slower class.
    (I wish that you could run at normal speed as a eyelander demoman or a GRU heavy)
     
  8. PoignardAzur

    PoignardAzur L2: Junior Member

    Messages:
    92
    Positive Ratings:
    7
    Yeah, but what part of the code makes the spy immune to fire after getting the Chargin' Targe ? I mean, I guess the spy's code only include his appearance, and how enemies (medic, sentries) affect him. This has nothing to do with being immune to fire.
    The only way I see that would make that glitch possible is if the fireproofness was implemented in the same code that handles appearing with the Targe. But then, since it's probably the same code that handles the snipers bagpack, shouldn't you have the same bonus has a sniper when disguising him ? It makes little sense to me.
     
  9. Sergis

    aa Sergis L666: ])oo]v[

    Messages:
    1,871
    Positive Ratings:
    1,131
    such bugs are perfectly normal when the code grows larger than what one person can keep in mind and architectural mistakes come into play along with the local ones
     
  10. drp

    aa drp

    Messages:
    2,254
    Positive Ratings:
    2,555
    Extending an object. It isn't far fetched.
     
    • Thanks Thanks x 1
  11. henke37

    aa henke37

    Messages:
    1,919
    Positive Ratings:
    449
    It is however wrong, since it violates the IS-A test.
     
  12. PoignardAzur

    PoignardAzur L2: Junior Member

    Messages:
    92
    Positive Ratings:
    7
    I don't say that this code proves bad coding, just... I don't understand how it was possible in the first place ? What mistake could have lead to that and not have been fixed before this update ?
     
  13. Sergis

    aa Sergis L666: ])oo]v[

    Messages:
    1,871
    Positive Ratings:
    1,131
    likely one that wasnt a mistake before targe needed afterburn immunity

    cant go into specifics without knowing details of whatever system they have in place for that
     
  14. Toomai

    Toomai L3: Member

    Messages:
    129
    Positive Ratings:
    77
    Frankly if they had a functioning system we wouldn't be having things like the invisible buildings bug hang around for more than 24 hours.
     
  15. Geit

    aa Geit 💜 I probably broke it 💜

    Messages:
    597
    Positive Ratings:
    1,114
    The following is pure speculation based on the networked properties of TF2 Items:

    In TF2 every item inherits a base item class which provides a member value called m_hOwnerEntity - this is the entity number of the client (with a value of anywhere between 1 and 33). When an effect on a weapon is supposed to be applied to the client, as opposed to the weapon itself, like afterburn immunity, it would have to access m_hOwnerEntity and apply the effect there.

    This bug most likely arises from the person who programed it forgetting to check if the m_hOwnerEntity is actually a *disguised* spy, rather than a demoman, and thus applying the effect with impunity.

    In programming terms, the fix is probably something as simple as

    Code:
    if(m_hOwnerEntity->getClass() == TFClass_Spy && (m_hOwnerEntity->getConditionFlags() & TFCond_Disguised) == TFCond_Disguised)
    {
        // Do stuff, but don't give afterburn-immunity...
    }
    
     
  16. henke37

    aa henke37

    Messages:
    1,919
    Positive Ratings:
    449
    Uhm, shouldn't it be a simple matter of using a different base class? You know, the one that only shows the model and nothing more?
     
  17. Geit

    aa Geit 💜 I probably broke it 💜

    Messages:
    597
    Positive Ratings:
    1,114
    Because some of the attributes of a weapon do need to be applied to the disguised spy in some circumstances, and it's the weapon class that determines those attributes?
     
  18. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,219
    I'm trying to think what items would need to do that. The GRU making "heavies" as fast as the spy can already run? The Excape Plan doing likewise? Can't think of any others offhand, and I don't even know if either of those do that.
     
  19. Geit

    aa Geit 💜 I probably broke it 💜

    Messages:
    597
    Positive Ratings:
    1,114
    I was more thinking along the lines of taunts, names, particle effects and stuff like that. - I honestly have very little idea why they do it the way they do, I'm not a Valve employee, but their method does make a lot of sense in some respects.