25 float r = 1.f,
g = 1.f,
b = 1.f,
a = 1.f;
28 constexpr HudColor(
float r_,
float g_,
float b_,
float a_ = 1.f) :
r(r_),
g(g_),
b(b_),
a(a_) {}
261 std::array<HudGrenadeRadialItem, kHudGrenadeSlots>
items;
403 std::span<const HudTeamMemberStatus>
allies;
constexpr std::size_t kHudGrenadeSlots
Definition HudTypes.hpp:248
HudAlign
Definition HudTypes.hpp:55
@ Right
Definition HudTypes.hpp:58
@ Left
Definition HudTypes.hpp:56
HudAnchor
Definition HudTypes.hpp:42
@ TopRight
Definition HudTypes.hpp:45
@ Center
Definition HudTypes.hpp:47
@ BottomRight
Definition HudTypes.hpp:51
@ TopCenter
Definition HudTypes.hpp:44
@ BottomLeft
Definition HudTypes.hpp:49
@ CenterLeft
Definition HudTypes.hpp:46
@ CenterRight
Definition HudTypes.hpp:48
@ TopLeft
Definition HudTypes.hpp:43
@ BottomCenter
Definition HudTypes.hpp:50
HudPopupKind
Visual category for generic transient HUD popup messages.
Definition HudTypes.hpp:109
@ Warning
Warning or attention popup.
Definition HudTypes.hpp:112
@ Info
Neutral informational popup.
Definition HudTypes.hpp:110
@ Success
Positive confirmation popup.
Definition HudTypes.hpp:111
@ PlayerLeft
Player left the active match.
Definition HudTypes.hpp:114
@ PlayerJoined
Player joined the active match.
Definition HudTypes.hpp:113
HudIcon
Icon identifiers for the HUD icon atlas.
Definition HudTypes.hpp:63
@ HealthFrameFront
Definition HudTypes.hpp:71
@ GrenadeBox
Definition HudTypes.hpp:69
@ Headshot
Definition HudTypes.hpp:90
@ RailGunIcon
Definition HudTypes.hpp:103
@ DashAbilityIcon
Definition HudTypes.hpp:80
@ LevelBarFront
Definition HudTypes.hpp:74
@ EnemyDiamond
Definition HudTypes.hpp:78
@ BottomDecal
Definition HudTypes.hpp:99
@ GrappleAbilityIcon
Definition HudTypes.hpp:82
@ GravityAbilityIcon
Definition HudTypes.hpp:84
@ AbilityIconFrame
Definition HudTypes.hpp:67
@ Tactical
Definition HudTypes.hpp:95
@ LevelBarBack
Definition HudTypes.hpp:73
@ Fall
Definition HudTypes.hpp:79
@ BulletCountBox
Definition HudTypes.hpp:68
@ LetterButton
Definition HudTypes.hpp:72
@ MolotovGrenadeIcon
Definition HudTypes.hpp:88
@ NoIcon
Definition HudTypes.hpp:75
@ None
Definition HudTypes.hpp:64
@ AbilityBarBack
Definition HudTypes.hpp:65
@ FragGrenadeIcon
Definition HudTypes.hpp:87
@ RecallAbilityIcon
Definition HudTypes.hpp:97
@ Gravity
Definition HudTypes.hpp:83
@ Shield
Definition HudTypes.hpp:93
@ StickyGrenadeIcon
Definition HudTypes.hpp:89
@ AbilityBarFront
Definition HudTypes.hpp:66
@ Grapple
Definition HudTypes.hpp:81
@ HealthFrameBack
Definition HudTypes.hpp:70
@ RocketLauncherIcon
Definition HudTypes.hpp:102
@ TrackingGunIcon
Definition HudTypes.hpp:104
@ TopDecal
Definition HudTypes.hpp:98
@ WallhackAbilityIcon
Definition HudTypes.hpp:96
@ Skull
Definition HudTypes.hpp:94
@ Hp
Definition HudTypes.hpp:91
@ LevitateAbilityIcon
Definition HudTypes.hpp:85
@ WeaponFrame
Definition HudTypes.hpp:100
@ Grenade
Definition HudTypes.hpp:86
@ Radar
Definition HudTypes.hpp:76
@ ARIcon
Definition HudTypes.hpp:101
@ PlayerArrow
Definition HudTypes.hpp:92
Shared definitions for match status and state synchronization between server and clients.
MatchPhase
Definition MatchStatus.hpp:8
@ IN_PROGRESS
Definition MatchStatus.hpp:12
Crosshair appearance parameters.
Definition HudTypes.hpp:133
HudColor reloadColor
Color of reload indicator.
Definition HudTypes.hpp:141
float reloadThickness
Thickness of reload indicator (pixels).
Definition HudTypes.hpp:140
HudColor color
Default primary palette color.
Definition HudTypes.hpp:137
bool dot
Draw center dot.
Definition HudTypes.hpp:138
float length
Length of each crosshair arm (pixels).
Definition HudTypes.hpp:135
float gap
Gap from center to start of each line (pixels).
Definition HudTypes.hpp:134
float reloadRadius
Radius of circular reload indicator (pixels).
Definition HudTypes.hpp:139
float thickness
Line thickness (pixels).
Definition HudTypes.hpp:136
Definition HudTypes.hpp:275
std::string name
Definition HudTypes.hpp:276
std::string description
Definition HudTypes.hpp:277
Definition HudTypes.hpp:281
std::array< HudAbilityChoice, 2 > choices
Definition HudTypes.hpp:286
std::string slotLabel
Definition HudTypes.hpp:285
int level
Definition HudTypes.hpp:284
bool modifierHeld
Definition HudTypes.hpp:283
bool available
Definition HudTypes.hpp:282
Definition HudTypes.hpp:312
float ageSeconds
Definition HudTypes.hpp:315
std::string message
Definition HudTypes.hpp:314
bool fromLocal
Definition HudTypes.hpp:316
std::string senderName
Definition HudTypes.hpp:313
Definition HudTypes.hpp:320
bool open
Definition HudTypes.hpp:321
std::span< const HudChatMessage > messages
Definition HudTypes.hpp:323
std::string draft
Definition HudTypes.hpp:322
RGBA color for HUD elements (linear space, straight alpha).
Definition HudTypes.hpp:24
float r
Definition HudTypes.hpp:25
float g
Definition HudTypes.hpp:25
static constexpr HudColor transparent()
Definition HudTypes.hpp:36
float b
Definition HudTypes.hpp:25
static constexpr HudColor cyan()
Definition HudTypes.hpp:35
static constexpr HudColor red()
Definition HudTypes.hpp:32
static constexpr HudColor white()
Definition HudTypes.hpp:30
static constexpr HudColor black()
Definition HudTypes.hpp:31
float a
Definition HudTypes.hpp:25
constexpr HudColor()=default
static constexpr HudColor yellow()
Definition HudTypes.hpp:34
constexpr HudColor(float r_, float g_, float b_, float a_=1.f)
Definition HudTypes.hpp:28
static constexpr HudColor green()
Definition HudTypes.hpp:33
Current damage accumulator state for the local player.
Definition HudTypes.hpp:183
int total
Accumulated damage to current target.
Definition HudTypes.hpp:184
HudColor color
Color matching the latest hit type.
Definition HudTypes.hpp:185
Damage direction indicator.
Definition HudTypes.hpp:157
float amount
Damage amount (for intensity scaling).
Definition HudTypes.hpp:159
float angleDeg
Direction the damage came from (degrees, 0=front, CW).
Definition HudTypes.hpp:158
Floating damage number spawned at a world-space hit position.
Definition HudTypes.hpp:174
bool headshot
Definition HudTypes.hpp:177
float worldZ
World-space hit position.
Definition HudTypes.hpp:175
float worldX
Definition HudTypes.hpp:175
float worldY
Definition HudTypes.hpp:175
int damage
Damage dealt.
Definition HudTypes.hpp:176
bool shielded
True if target had armor when hit.
Definition HudTypes.hpp:178
Emote wheel state — drives the radial emote selection menu.
Definition HudTypes.hpp:269
bool open
True while the Emote binding is held.
Definition HudTypes.hpp:270
int selectedIndex
Highlighted emote sector, or -1 (none).
Definition HudTypes.hpp:271
Equipment slot state — drives the bottom-center grapple/grenade/tactical row.
Definition HudTypes.hpp:232
bool secondaryAbilityMarked
Definition HudTypes.hpp:240
std::string primaryAbilityName
Definition HudTypes.hpp:233
float primaryAbilityCharge
0..1, 1 = ready.
Definition HudTypes.hpp:236
int grenadeCount
Count for slot showing a number; 0 = unavailable.
Definition HudTypes.hpp:244
bool primaryAbilityAvailable
Definition HudTypes.hpp:238
float grappleCharge
Legacy fallback; 0..1, 1 = ready.
Definition HudTypes.hpp:241
int tacticalCount
Count for slot showing a number; 0 = unavailable.
Definition HudTypes.hpp:245
float secondaryAbilityCharge
0..1, 1 = ready.
Definition HudTypes.hpp:237
std::string grenadeName
Definition HudTypes.hpp:235
std::string secondaryAbilityName
Definition HudTypes.hpp:234
float tacticalCharge
0..1, 1 = ready.
Definition HudTypes.hpp:243
float grenadeCharge
0..1, 1 = ready (used when count not shown).
Definition HudTypes.hpp:242
bool secondaryAbilityAvailable
Definition HudTypes.hpp:239
Snapshot of game state consumed by the HUD each frame.
Definition HudTypes.hpp:367
bool armorBroke
True the frame armor dropped to zero.
Definition HudTypes.hpp:416
bool matchWon
True if the local player won the finished match.
Definition HudTypes.hpp:386
float roundTimeRemaining
Definition HudTypes.hpp:383
std::span< const HudVoiceSpeaker > voiceSpeakers
Currently audible proximity voice speakers.
Definition HudTypes.hpp:436
int gravityDirection
0=down, 1=left, 2=up, 3=right (HUD compass arrow).
Definition HudTypes.hpp:438
int secondaryKeybind
1 or 2 — the keybind that swaps to this slot.
Definition HudTypes.hpp:446
int activeWeaponSlot
0 = primary, 1 = secondary.
Definition HudTypes.hpp:380
float localPlayerYaw
Player facing direction (radians, 0 = +Z, CW).
Definition HudTypes.hpp:409
std::span< const HudHitConfirm > hitConfirms
Definition HudTypes.hpp:394
int armor
Definition HudTypes.hpp:372
int secondaryReserve
Reserve count of the inactive weapon.
Definition HudTypes.hpp:445
std::span< const HudPickupNotification > pickupNotifications
Slide-in pickup messages this frame.
Definition HudTypes.hpp:432
float railgunChargeTime
Current GunInstance::chargeTime for the equipped railgun.
Definition HudTypes.hpp:382
float screenH
Definition HudTypes.hpp:454
std::span< const HudTeamMemberStatus > enemies
Definition HudTypes.hpp:404
std::span< const HudDamageEvent > damageEvents
Definition HudTypes.hpp:393
float abilityLevelProgress
accumDamage / systems::dmgThreshold, clamped 0..1.
Definition HudTypes.hpp:374
std::span< const HudTeamMemberStatus > allies
Definition HudTypes.hpp:403
HudDamageAccum damageAccum
Running damage total to current target.
Definition HudTypes.hpp:396
HudKdaCounter kda
Local player kill/assist/death counter (top-right).
Definition HudTypes.hpp:434
bool railgunScoped
True while the local player holds right click with the railgun equipped.
Definition HudTypes.hpp:381
MatchPhase currentPhase
Current server match phase.
Definition HudTypes.hpp:385
bool pickupAvailable
True when a pickup is currently actionable.
Definition HudTypes.hpp:422
int secondaryClip
Mag count of the inactive weapon.
Definition HudTypes.hpp:444
const InputBindings * bindings
Live input bindings for HUD key prompts.
Definition HudTypes.hpp:368
std::span< const HudPopupMessage > popupMessages
Generic popup messages this frame.
Definition HudTypes.hpp:433
int allyScore
Definition HudTypes.hpp:405
float screenW
Definition HudTypes.hpp:454
int maxHealth
Definition HudTypes.hpp:371
int secondarySlotWeaponId
WeaponType ordinal in the secondary slot.
Definition HudTypes.hpp:379
int abilityLevel
Definition HudTypes.hpp:375
int secondaryWeaponId
-1 = no inactive weapon loaded.
Definition HudTypes.hpp:443
int ammoClip
Definition HudTypes.hpp:376
std::span< const HudKillFeedEntry > killFeedEvents
Definition HudTypes.hpp:392
std::span< const HudWorldEnemy > worldEnemies
Enemies whose HP bars float above them in-world.
Definition HudTypes.hpp:426
int primaryWeaponId
WeaponType ordinal in the primary slot.
Definition HudTypes.hpp:378
float localPlayerZ
Definition HudTypes.hpp:408
BindingDevice activeInputDevice
Last-used input device; selects KBM vs controller glyphs (0 == KBM).
Definition HudTypes.hpp:369
HudGrenadeRadialState grenadeRadial
Held-G grenade selection radial.
Definition HudTypes.hpp:428
bool tookDamage
True the frame health or armor decreased.
Definition HudTypes.hpp:414
HudEmoteWheelState emoteWheel
Held-B emote selection wheel.
Definition HudTypes.hpp:429
float reloadProgress
0-1
Definition HudTypes.hpp:389
HudKillerBox killerBox
Killcam: red box framing the killer while dead.
Definition HudTypes.hpp:430
int secondaryMagCapacity
Max rounds per mag for the secondary weapon (when set).
Definition HudTypes.hpp:451
HudMatchInfo matchInfo
Match elapsed time + frag target (top-center header).
Definition HudTypes.hpp:437
int maxArmor
Definition HudTypes.hpp:372
int weaponId
Definition HudTypes.hpp:377
glm::mat4 viewProj
Definition HudTypes.hpp:400
HudEquipmentState equipment
Grapple / grenade / tactical state.
Definition HudTypes.hpp:427
int magCapacity
Max rounds per mag for the current weapon.
Definition HudTypes.hpp:450
std::span< const HudMinimapDot > enemyDots
Definition HudTypes.hpp:410
bool forceScoreboardOpen
True when match flow should show scoreboard automatically.
Definition HudTypes.hpp:387
int health
Definition HudTypes.hpp:371
std::span< const HudDamageNumber > damageNumbers
Floating damage numbers to spawn this frame.
Definition HudTypes.hpp:395
float damageIntensity
0..1 fraction of max-health lost this frame.
Definition HudTypes.hpp:415
int ammoReserve
Definition HudTypes.hpp:376
bool isReloading
Definition HudTypes.hpp:388
int maxOverShield
Definition HudTypes.hpp:373
bool isAlive
Definition HudTypes.hpp:384
float localPlayerX
Definition HudTypes.hpp:408
HudShotgunBlast latestShotgunBlast
Most recent shotgun blast; valid=false when none.
Definition HudTypes.hpp:397
float minimapWorldRange
World units visible in each direction from center.
Definition HudTypes.hpp:411
int overShield
Definition HudTypes.hpp:373
int enemyScore
Definition HudTypes.hpp:405
int pickupWeaponId
Mirrors WeaponType: 0=Rifle, 1=Rocket, 2=RailGun, 3=EnergyGun.
Definition HudTypes.hpp:423
HudAbilitySelectionState abilitySelection
Pending level-up ability choice.
Definition HudTypes.hpp:431
HudChatState chat
Bottom-left all-chat log/input.
Definition HudTypes.hpp:435
Definition HudTypes.hpp:251
int count
Definition HudTypes.hpp:253
bool available
Definition HudTypes.hpp:254
std::string name
Definition HudTypes.hpp:252
Definition HudTypes.hpp:258
bool open
Definition HudTypes.hpp:259
std::array< HudGrenadeRadialItem, kHudGrenadeSlots > items
Definition HudTypes.hpp:261
int selectedIndex
Definition HudTypes.hpp:260
Hit confirmation event.
Definition HudTypes.hpp:164
bool isKill
Definition HudTypes.hpp:166
bool shieldBreak
True when this shot depleted the target's armor.
Definition HudTypes.hpp:167
bool isHeadshot
Definition HudTypes.hpp:165
Local player K/D/A — feeds the top-right counter.
Definition HudTypes.hpp:305
int assists
Definition HudTypes.hpp:308
int deaths
Definition HudTypes.hpp:307
int kills
Definition HudTypes.hpp:306
Kill feed entry data.
Definition HudTypes.hpp:148
bool isHeadshot
Definition HudTypes.hpp:152
int weaponId
Definition HudTypes.hpp:151
std::string victimName
Definition HudTypes.hpp:150
std::string killerName
Definition HudTypes.hpp:149
Killcam killer marker — the killer's world AABB + nickname, used on the death screen to float the kil...
Definition HudTypes.hpp:223
glm::vec3 halfExtents
Killer AABB half-extents in world space.
Definition HudTypes.hpp:226
std::string name
Killer's display nickname.
Definition HudTypes.hpp:227
glm::vec3 center
Killer AABB center in world space.
Definition HudTypes.hpp:225
bool valid
True while the killcam is tracking a killer.
Definition HudTypes.hpp:224
Match info for the top-center header.
Definition HudTypes.hpp:333
int fragTarget
Score-to-win.
Definition HudTypes.hpp:335
bool valid
False when no match metadata is available.
Definition HudTypes.hpp:336
float elapsedSeconds
Time since match started.
Definition HudTypes.hpp:334
World-space position for minimap display.
Definition HudTypes.hpp:203
float worldX
Definition HudTypes.hpp:204
float worldZ
Definition HudTypes.hpp:204
Pickup notification entry — slide-in messages for items just acquired.
Definition HudTypes.hpp:291
std::string label
E.g. "PULSE·MAG".
Definition HudTypes.hpp:292
int qty
Amount picked up.
Definition HudTypes.hpp:293
A single completed shotgun blast (11 pellets) staged for the HUD widget.
Definition HudTypes.hpp:357
bool valid
False = no recent blast; widget stays hidden.
Definition HudTypes.hpp:358
float secondsSinceFire
Drives the widget fade animation.
Definition HudTypes.hpp:359
std::array< HudShotgunPellet, 11 > pellets
Definition HudTypes.hpp:360
Per-pellet result for a single shotgun blast, used by ShotgunPelletWidget.
Definition HudTypes.hpp:341
Result
Definition HudTypes.hpp:343
@ Head
Definition HudTypes.hpp:346
@ Body
Definition HudTypes.hpp:345
@ Miss
Definition HudTypes.hpp:344
Result result
Definition HudTypes.hpp:348
Per-teammate status (for scoreboard / team bar).
Definition HudTypes.hpp:190
int ping
Definition HudTypes.hpp:198
bool isAlive
Definition HudTypes.hpp:194
int kills
Definition HudTypes.hpp:196
HudColor color
Definition HudTypes.hpp:192
int health
Definition HudTypes.hpp:193
bool isLocal
Definition HudTypes.hpp:195
int deaths
Definition HudTypes.hpp:197
std::string name
Definition HudTypes.hpp:191
Per-vertex data for all HUD geometry (48 bytes).
Definition HudTypes.hpp:121
float position[2]
Pixel coordinates, origin top-left.
Definition HudTypes.hpp:122
float uv[2]
Texture coords (atlas UV or local quad pos for shapes).
Definition HudTypes.hpp:123
float texMode
0=solid, 1=SDF text, 2=sprite, 3=SDF rounded rect, 6=SDF erase mask.
Definition HudTypes.hpp:125
float shapeData[3]
Mode 3 only: [halfWidth, halfHeight, cornerRadius] in pixels.
Definition HudTypes.hpp:126
float color[4]
RGBA, straight alpha.
Definition HudTypes.hpp:124
Definition HudTypes.hpp:327
std::string senderName
Definition HudTypes.hpp:328
World-space enemy entry — for the floating HP bar that hovers above each visible enemy in the world (...
Definition HudTypes.hpp:210
bool occluded
True when world geometry blocks the line of sight from the camera (hide bar/name).
Definition HudTypes.hpp:216
int maxHealth
Definition HudTypes.hpp:213
float worldZ
Top of the enemy capsule.
Definition HudTypes.hpp:211
int health
Definition HudTypes.hpp:213
bool isAlive
Definition HudTypes.hpp:215
std::string name
Display label (e.g. "RAIDEN").
Definition HudTypes.hpp:212
float worldY
Definition HudTypes.hpp:211
float worldX
Definition HudTypes.hpp:211
int armor
Definition HudTypes.hpp:214
int maxArmor
Definition HudTypes.hpp:214
Definition Scoreboard.hpp:9