CP Sulfur b4

A steel cp koth hydrid.

  1. Freyja

    aa Freyja Help I'm trapped in this post

    Messages:
    2,761
    Positive Ratings:
    4,386
  2. Jekyllson

    Jekyllson L3: Member

    Messages:
    114
    Positive Ratings:
    56
    I was playing Sulfur again the other day, and I noticed a graphical glitch with the "curtain" models disappearing from view too early.

    20160410192104_1.jpg
    The left curtain should still stay visible here, but it disappears from shot when you turn.

    20160410192121_1.jpg
    The same glitch seems to hold for all the curtains of this type. In particular, if you stand up against the RED and BLU "bathroom curtains", they disappear, letting you look inside:

    20160410192048_1.jpg

    I also found a few places you get stuck in.

    20160410190428_1.jpg

    20160410190748_1.jpg

    20160410191001_1.jpg

    Finally, I noticed a spot under the water surface on D that isn't affected by the damage-over-time heat effect:

    20160410190131_1.jpg
     
  3. Freyja

    aa Freyja Help I'm trapped in this post

    Messages:
    2,761
    Positive Ratings:
    4,386
    • Like Like x 3
    • Funny Funny x 1
  4. Asd417

    aa Asd417 L1: Registered

    Messages:
    627
    Positive Ratings:
    433
    Anti-gravity flower pot powered by magic
    20170116231309_1.jpg
    Also there's this weird bug: Sometimes when the match starts, blu timer starts from 2:59 rather than 3:00.
     
  5. Hydrogen

    Hydrogen MvM Maniac

    Messages:
    84
    Positive Ratings:
    195
    @Benoist3012 and I figured out why this happens. There is a third hidden timer that's used during the setup period. The culprit is here:

    https://github.com/alliedmodders/hl...42b/game/shared/teamplay_round_timer.cpp#L863

    This is the 3rd hidden timer entity's think function during setup (CTeamRoundTimer = team_round_timer), which gets triggered once every 50 ms. The think function sets overtime to 0 on gamerules (CTFGameRules::m_bInOvertime) every 50 ms. Because she forgot to pause this timer, the 3rd timer's think entity kept setting the overtime boolean to 0 during the whole game. When the koth timers are >= 0, this is of no concern because there's no overtime anyway, so setting something that's already 0 to 0 has no effect. It only comes about when one of the timers run down.

    During the actual game when both teams can capture the control points, the think function for the 2 koth timers is:

    https://github.com/alliedmodders/hl...42b/game/shared/teamplay_round_timer.cpp#L948

    Each koth timer calls its own think function every 50 ms. When one of those two timers on the HUD reaches 0 seconds, this is triggered:

    https://github.com/alliedmodders/hl...2b/game/shared/teamplay_round_timer.cpp#L1003

    So now you got the 3 timers fighting each other: (I'm using 2 as an example here)

    (hidden timer) CTeamRoundTimer::RoundTimerSetupThink --> sets overtime to 0
    [50 ms later]
    (koth timer) CTeamRoundTimer::RoundTimerThink --> sets overtime to 1
    [50 ms later]
    (hidden timer) CTeamRoundTimer::RoundTimerSetupThink --> sets overtime to 0
    [50 ms later]
    (koth timer) CTeamRoundTimer::RoundTimerThink --> sets overtime to 1

    And this keeps looping itself forever and forever which causes the overtime spam.

    The fix is to either:
    - Kill the 3rd timer
    - Pause the 3rd timer

    When the 3rd timer is paused the overtime bug doesn't occur because the think function quits before setting the overtime boolean (exits at line 859, line 863 sets the overtime boolean):

    https://github.com/alliedmodders/hl...42b/game/shared/teamplay_round_timer.cpp#L856

    Many thanks to @Benoist3012 for helping me track the root cause of the bug and testing out the fixes.
     
    • Like Like x 2
    • Thanks Thanks x 1
    • Agree Agree x 1