HUDS.TF

Latest News


TF2 HUD Updates for late October, 2016 - ScreamFortress 2016
Posted on 3rd November 2016 at 02:24 PM by Wiethoofd

Merasmus has been keeping the hud editors busy ingame from writing this post with contracts, but after finishing a bunch of them it is time to catch up with the changes that were made to the Team Fortress 2 hud files this ScreamFortress event.

Modified Files:
resource/ui/lobbycontainerframe_casual.res
resource/ui/lobbypanel_casual.res
resource/ui/mainmenuoverride.res
resource/ui/matchmakingdashboardpopup.res
resource/ui/econ/questlogpanel_halloween.res
resource/ui/quests/questitempanel_base.res
resource/ui/quests/merasmus/questitempanel_merasmus_base.res

[Image: tIZ0IBe.png]
Buttons added to Casual Lobby Panel highlighted with new

Summary of changes
  • Tips button in Casual Lobby Frame
  • Restore & Save Map selection buttons in Casual Lobby Panel
  • Main menu changes for ScreamFortress backgrounds and items, removal of Pyro vs. Heavy
  • Contract panel button in questitempanel_base now selects map in Casual Map selection (mm_casual_open) instead of opening Quickplay
  • Removal of progress bar behind completed contracts total

Relevant commits to the TF2 source files
Enjoy the ScreamFortress event!


TF2 HUD Update for October 12th, 2016 - Vote for frames
Posted on 14th October 2016 at 03:00 PM by Wiethoofd

Had a good game, a bad connection to a Valve server or got rolled because the balance was completely off? You might now be prompted at the end of a casual or ranked game to rate your experience from Horrible, Bad, Neutral, Good to Great.

Besides being able to vote, there has been a recent problem with event DamagedPlayer in custom huds utilizing this animation to have 'hitmarkers'. More information and how to fix this issue after the analysis of the added & changed hudfiles in the update from October 12th, which you can check in this commit.

New Files:
resource/ui/surveypanel_base.res
resource/ui/surveypanel_matchquality.res

Modified Files:
scripts/hudanimations_tf.txt

Summary of changes

  • End of match rating vote panel added; surveypanel_base positions the votes, surveypanel_matchquality contains the options
  • Animations to bounce the vote panel in and out of view in hudanimations_tf.txt

Changes to scripts/hudanimations_tf.txt
Crashes at the end of the match in Casual/Ranked Matchmaking are most likely caused by missing animation events in hudanimations_tf.txt when being prompted to vote for your match experience.

If you are a hud developer make sure you migrate your TF2 animations to use hudanimations_manifest.txt by following this guide to guarantee Valve updating/changing animations is not going to cause issues.
Code:
event SurveyShowSequence
{
Animate Survey ypos 480 Linear 0 0
Animate Survey ypos 150 Linear 1 0.3
Animate Survey ypos 130 Deaccel 1.3 0.1
Animate Survey ypos 150 Accel 1.4 0.1
}

event SurveySubmitSequence
{
// Show submitting
SetVisible QuestionContainer 0 0
SetVisible SubmittingContainer 1 0

// Show thanks
SetVisible SubmittingContainer 0 2
SetVisible ThanksContainer 1 2

RunEvent SurveyHideSequence 6
}

event SurveyDelete
{
FireCommand 0 "delete"
}

event SurveyHideSequence
{
SetVisible CloseButton 0 0

Animate Survey ypos 130 Deaccel 0 0.3
Animate Survey ypos 480 Accel 0.3 0.2
RunEventChild Survey SurveyDelete 0.6
}

[Image: 801RVEY.jpg]
Screenshot of the end of round survey panel

Hitmarkers in custom huds causing fps drops
Custom huds available here on huds.tf might offer hitmarkers and have flashing crosshairs when dealing damage, blinking and fading damage numbers or other implementations of the event DamagedPlayer animation.

Damaging to a lot of players/bots in a short timeframe or dealing a lot of (small) damage instances to the same target (pyro flames/mvm medic shield) can cause severe frame drops, as each damage instance will trigger the animation event, causing them to stack and thus make you drop frames. After thorough analysis by sigsegv (recommended read) and being pointed in the right direction, Wiethoofd did some testing with StopAnimation and StopEvent animation triggers and figured out the correct way to have damage hitmarkers without causing massive frame drops because of the damage event stacking, without having to comment out existing code to disable the animation.

Solution/workaround
Renaming the old DamagedPlayer animation to (for instance) HitMarker and calling the renamed event from the DamagedPlayer event instead, should prevent the game from stacking the animations and not cause frames to drop. Adding an additional StopEvent just before calling (another) instance of the same animation event should make sure there are no duplicate/stacking events causing any issues. Just make sure to start another event shortly after stopping it with StopEvent.

Simplified example of old hitmarker event possibly causing fps drops:
Code:
event DamagedPlayer { // Blinks Crosshair for 1/10th of a second red and reset to white
Animate Crosshair FgColor Red Linear 0.0 0.1
Animate Crosshair FgColor White Linear 0.1 0.1
}

Animation sequence without StopEvent:
Code:
// Start 'hitmarker animation'
event DamagedPlayer {
RunEvent HitMarker 0.0
}
event HitMarker { // Blink Crosshair for 1/10th of a second red and reset to white
Animate Crosshair FgColor Red Linear 0.0 0.1
Animate Crosshair FgColor White Linear 0.1 0.1
}
Improved animation sequences with StopEvent (optional but recommended):
Code:
// Stop any 'hitmarker animation events' before starting another
event DamagedPlayer {
StopEvent HitMarker 0.0
RunEvent HitMarker 0.01
}
event HitMarker { // Blink Crosshair for 1/10th of a second red and reset to white
Animate Crosshair FgColor Red Linear 0.0 0.1
Animate Crosshair FgColor White Linear 0.1 0.1
}
Use the aforementioned code as examples to fix existing DamagedPlayer animations events (while moving animations to use the hudanimations_manifest.txt setup).

Happy voting!


TF2 HUD Update for September 27th, 2016 - Casual Rematch
Posted on 28th September 2016 at 01:48 AM by Wiethoofd

With today's update you are now able to vote for a rematch after finishing your Casual game there needs to be a HUD element to allow you to vote, besides having some new files to modify for that there is also a required XP breakdown animation for the bar that shows up after every ranked/casual game and some small modifications to existing HUD files.

New Files:
resource/ui/matchmakingdashboard.res
resource/ui/matchmakingdashboardpopup.res
resource/ui/xpsourcepanel.res

Modified Files:
resource/clientscheme.res
resource/ui/hudmatchsummary.res
resource/ui/lobbycontainerframe_casual.res
resource/ui/lobbycontainerframe_comp.res
resource/ui/lobbypanel_comp.res
resource/ui/mainmenuoverride.res
resource/ui/matchmakingcategorypanel.res
scripts/hudanimations_tf.txt

Summary of changes

  • Font & Border definitions have been added in clientscheme.res for scoreboard connection status indication, Matchmaking Dashboard & XP Breakdown
  • Animations for the end of round casual/ranked Disconnect button have been removed from hudanimations_tf.txt
  • The XP breakdown has 2 required new animation events (XPSourceShow_Positive & XPSourceShow_Negative) in hudanimations_tf.txt
  • Removal of DisconnectButton from hudmatchsummary.res (which can now be found in matchmakingdashboard.res)
  • xpsourcepanel.res will show a breakdown of lost/gained XP and is positioned with xp_source_notification_center_x in the various lobbycontainerframe_ files for casual & ranked lobby screens
  • mainmenuoverride.res & matchmakingcategorypanel.res have a new stay_armed_on_click state on various buttons to keep them highlighted after clicking
  • End of round rematch vote menu and connection status are shown in matchmakingdashboardpopup.res and positioned with matchmakingdashboard.res along side the Disconnect button

The end of game Rematch Vote UI:
[Image: ZYpSLIy.png]

There should not be too many changes required to keep Team Fortress 2 from crashing when there are HUD modifications, but animation changes by Valve are one of the main causes of crashes, so make sure to update these!

Changes to scripts/hudanimations_tf.txt
Crashes at the end of the match in Casual/Ranked Matchmaking are most likely caused by missing animation events in hudanimations_tf.txt.

If you are a hud developer make sure you migrate your TF2 animations to use hudanimations_manifest.txt by following this guide to guarantee Valve updating/changing animations is not going to cause issues.
Code:
event XPSourceShow_Positive
{
Animate SourceLabel Alpha 0 Linear 0 0
Animate SourceLabelGlow Alpha 0 Linear 0 0

Animate SourceLabel Alpha 255 Linear 0.1 0.3
Animate SourceLabel FgColor "100 255 100 255" Linear 0.1 0
Animate SourceLabel FgColor CreditsGreen Linear 0.5 1
Animate SourceLabel ypos -25 Deaccel 0 3.0
Animate SourceLabel Alpha 0 Linear 2.9 0.3

Animate SourceLabelGlow Alpha 255 Linear 0.0 0.1
Animate SourceLabelGlow FgColor "100 255 100 255" Linear 0.1 0
Animate SourceLabelGlow FgColor CreditsGreen Linear 0.5 1
Animate SourceLabelGlow Alpha 200 Linear 0.5 1
Animate SourceLabelGlow ypos -25 Deaccel 0 3.0
Animate SourceLabelGlow Alpha 0 Linear 2.9 0.3
}

event XPSourceShow_Negative
{
Animate SourceLabel Alpha 0 Linear 0 0
Animate SourceLabelGlow Alpha 0 Linear 0 0

Animate SourceLabel Alpha 255 Linear 0.1 0.3
Animate SourceLabel FgColor "255 100 100 255" Linear 0.1 0
Animate SourceLabel FgColor RedSolid Linear 0.5 1
Animate SourceLabel Alpha 0 Linear 2.9 0.1
Animate SourceLabel ypos -15 Linear 0 0.4

Animate SourceLabelGlow Alpha 0 Linear 0 0
}

Changes to resource/clientscheme.res
When using #base to include the default clientscheme simply updating/extracting to the newest version will result in seeing the fonts for scoreboard connection status, the XP breakdown fonts and the borders for XP breakdown and Rematch vote HUD, otherwise add the following to their respective sections.
Code:
// Fonts
"ScoreboardSmallest"
{
"1"
{
"name" "Verdana"
"tall" "6"
"weight" "400"
"additive" "0"
"antialias" "1"
}
}
"XPSource"
{
"1"
{
"name" "TF2 Build"
"tall" "11"
"weight" "500"
"antialias" "1"
"custom" "1"
}
}

"XPSource_Glow"
{
"1"
{
"name" "TF2 Build"
"tall" "11"
"weight" "500"
"blur" "3"
"additive" "1"
"antialias" "1"
"custom" "1"
}
}

// Borders
OuterShadowBorder
{
"bordertype" "scalable_image"
"backgroundtype" "2"

"image" "outer_shadow_border"
"src_corner_height" "8" // pixels inside the image
"src_corner_width" "8"
"draw_corner_width" "8" // screen size of the corners ( and sides ), proportional
"draw_corner_height" "8"
}

OuterShadowBorderThin
{
"bordertype" "scalable_image"
"backgroundtype" "2"

"image" "outer_shadow_border"
"src_corner_height" "8" // pixels inside the image
"src_corner_width" "8"
"draw_corner_width" "4" // screen size of the corners ( and sides ), proportional
"draw_corner_height" "4"
}
As always with clientscheme.res changes, you'll need to relaunch your game for any modifications to take effect.

Cheers!


View All News  

Latest HUDs

Copyright © 2014 - 2016 huds.tf | Site by omnibombulator | Powered by MyBB, © 2002 - 2016 MyBB Group and Steam.