group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
HudTypes.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
7
8#include <array>
9#include <cstddef>
10#include <cstdint>
11#include <glm/glm.hpp>
12#include <span>
13#include <string>
14
15class InputBindings;
18enum class BindingDevice : std::uint8_t;
19
20// ── Colors ──────────────────────────────────────────────────────────────────
21
24{
25 float r = 1.f, g = 1.f, b = 1.f, a = 1.f;
26
27 constexpr HudColor() = default;
28 constexpr HudColor(float r_, float g_, float b_, float a_ = 1.f) : r(r_), g(g_), b(b_), a(a_) {}
29
30 static constexpr HudColor white() { return {1, 1, 1, 1}; }
31 static constexpr HudColor black() { return {0, 0, 0, 1}; }
32 static constexpr HudColor red() { return {1, 0, 0, 1}; }
33 static constexpr HudColor green() { return {0, 1, 0, 1}; }
34 static constexpr HudColor yellow() { return {1, 1, 0, 1}; }
35 static constexpr HudColor cyan() { return {0, 1, 1, 1}; }
36 static constexpr HudColor transparent() { return {0, 0, 0, 0}; }
37};
38
39// ── Enums ───────────────────────────────────────────────────────────────────
40
53
54enum class HudAlign
55{
59};
60
106
116
117// ── Vertex ──────────────────────────────────────────────────────────────────
118
121{
122 float position[2];
123 float uv[2];
124 float color[4];
125 float texMode;
126 float shapeData[3];
127};
128
129// ── Crosshair ───────────────────────────────────────────────────────────────
130
133{
134 float gap = 3.f;
135 float length = 6.f;
136 float thickness = 2.f;
137 HudColor color{0.168627f, 0.694118f, 0.741176f, 0.85f};
138 bool dot = true;
139 float reloadRadius = 20.f;
140 float reloadThickness = 2.f;
141 HudColor reloadColor{0.168627f, 0.694118f, 0.741176f, 0.85f};
142};
143
144// ── Game State Contract ─────────────────────────────────────────────────────
145
148{
149 std::string killerName;
150 std::string victimName;
151 int weaponId = 0;
152 bool isHeadshot = false;
153};
154
157{
158 float angleDeg = 0.f;
159 float amount = 0.f;
160};
161
164{
165 bool isHeadshot = false;
166 bool isKill = false;
167 bool shieldBreak = false;
168};
169
174{
175 float worldX = 0.f, worldY = 0.f, worldZ = 0.f;
176 int damage = 0;
177 bool headshot = false;
178 bool shielded = false;
179};
180
183{
184 int total = 0;
185 HudColor color{0.168627f, 0.694118f, 0.741176f, 1.f};
186};
187
190{
191 std::string name;
193 int health = 100;
194 bool isAlive = true;
195 bool isLocal = false;
196 int kills = 0;
197 int deaths = 0;
198 int ping = 0;
199};
200
203{
204 float worldX = 0.f, worldZ = 0.f;
205};
206
210{
211 float worldX = 0.f, worldY = 0.f, worldZ = 0.f;
212 std::string name;
213 int health = 100, maxHealth = 100;
214 int armor = 0, maxArmor = 100;
215 bool isAlive = true;
216 bool occluded = false;
217};
218
223{
224 bool valid = false;
225 glm::vec3 center{0.f};
226 glm::vec3 halfExtents{0.f};
227 std::string name;
228};
229
232{
233 std::string primaryAbilityName = "LOCKED";
234 std::string secondaryAbilityName = "LOCKED";
235 std::string grenadeName = "FRAG";
241 float grappleCharge = 1.f;
242 float grenadeCharge = 1.f;
243 float tacticalCharge = 1.f;
244 int grenadeCount = 2;
246};
247
248inline constexpr std::size_t kHudGrenadeSlots = 3;
249
251{
252 std::string name;
253 int count = 0;
254 bool available = true;
255};
256
258{
259 bool open = false;
261 std::array<HudGrenadeRadialItem, kHudGrenadeSlots> items;
262};
263
269{
270 bool open = false;
271 int selectedIndex = -1;
272};
273
275{
276 std::string name;
277 std::string description;
278};
279
281{
282 bool available = false;
283 bool modifierHeld = false;
284 int level = 0;
285 std::string slotLabel;
286 std::array<HudAbilityChoice, 2> choices;
287};
288
291{
292 std::string label;
293 int qty = 1;
294};
295
302
305{
306 int kills = 0;
307 int deaths = 0;
308 int assists = 0;
309};
310
312{
313 std::string senderName;
314 std::string message;
315 float ageSeconds = 0.f;
316 bool fromLocal = false;
317};
318
320{
321 bool open = false;
322 std::string draft;
323 std::span<const HudChatMessage> messages;
324};
325
327{
328 std::string senderName;
329};
330
333{
334 float elapsedSeconds = 0.f;
335 int fragTarget = 30;
336 bool valid = false;
337};
338
341{
342 enum class Result : uint8_t
343 {
344 Miss = 0,
345 Body = 1,
346 Head = 2,
347 };
349};
350
357{
358 bool valid = false;
359 float secondsSinceFire = 0.f;
360 std::array<HudShotgunPellet, 11> pellets{};
361};
362
367{
368 const InputBindings* bindings = nullptr;
370
371 int health = 100, maxHealth = 100;
372 int armor = 0, maxArmor = 100;
373 int overShield = 0, maxOverShield = 200;
376 int ammoClip = 30, ammoReserve = 90;
377 int weaponId = 0;
381 bool railgunScoped = false;
382 float railgunChargeTime = 0.f;
384 bool isAlive = true;
386 bool matchWon = false;
387 bool forceScoreboardOpen = false;
388 bool isReloading = false;
389 float reloadProgress = 0.0f;
390
391 // Events (valid for this frame only).
392 std::span<const HudKillFeedEntry> killFeedEvents;
393 std::span<const HudDamageEvent> damageEvents;
394 std::span<const HudHitConfirm> hitConfirms;
395 std::span<const HudDamageNumber> damageNumbers;
398
399 // View/projection for world→screen projection (damage numbers).
400 glm::mat4 viewProj{1.f};
401
402 // Team status.
403 std::span<const HudTeamMemberStatus> allies;
404 std::span<const HudTeamMemberStatus> enemies;
405 int allyScore = 0, enemyScore = 0;
406
407 // Minimap.
408 float localPlayerX = 0.f, localPlayerZ = 0.f;
409 float localPlayerYaw = 0.f;
410 std::span<const HudMinimapDot> enemyDots;
411 float minimapWorldRange = 4000.f;
412
413 // Vignette events (set by Game each frame based on health/armor deltas).
414 bool tookDamage = false;
415 float damageIntensity = 0.f;
416 bool armorBroke = false;
417 // isAlive already covers death vignette.
418
419 // Weapon pickup prompt — populated by Game when the local player is in
420 // range of (and looking at) an available weapon spawner. The HUD reads
421 // these to render a "Press <binding> to pick up <Weapon>" hint.
422 bool pickupAvailable = false;
424
425 // Voidfall HUD additions.
426 std::span<const HudWorldEnemy> worldEnemies;
432 std::span<const HudPickupNotification> pickupNotifications;
433 std::span<const HudPopupMessage> popupMessages;
436 std::span<const HudVoiceSpeaker> voiceSpeakers;
439
440 // Inactive-slot weapon snapshot (drives the small weapon slot sub-row at
441 // the bottom of the weapon panel — i.e. the
442 // *other* weapon, whichever the player isn't currently holding).
447
448 // Magazine capacities — sourced from WeaponConfig.magazineSize each frame
449 // so the HUD never hardcodes per-weapon constants.
450 int magCapacity = 0;
452
453 // Screen dimensions (set by Game each frame).
454 float screenW = 1280.f, screenH = 720.f;
455};
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
BindingDevice
Definition InputBindings.hpp:44
Shared definitions for match status and state synchronization between server and clients.
MatchPhase
Definition MatchStatus.hpp:8
@ IN_PROGRESS
Definition MatchStatus.hpp:12
Stores action-to-input bindings and helper conversions for UI and persistence.
Definition InputBindings.hpp:128
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
Generic transient HUD popup message.
Definition HudTypes.hpp:298
HudPopupKind kind
Styling category.
Definition HudTypes.hpp:299
std::string text
Already-formatted display text.
Definition HudTypes.hpp:300
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