Commit graph

92 commits

Author SHA1 Message Date
James R
23aef8f673 HUD tracking: cull nametags
- Background overlapping nametags become 60% transparent
- Culling is performed separately from other HUD trackers
2024-01-26 14:30:57 -08:00
James R
5ef2df577a HUD tracking: cull 20x10 blocks (previously 20x20) 2024-01-26 14:30:57 -08:00
James R
8ac2efe82c HUD tracking: refactor nametags to use generic HUD tracker sorting 2024-01-26 14:30:57 -08:00
James R
fa63dffe6b debughudtracker: fix splitscreen drawing 2024-01-26 14:30:57 -08:00
James R
9c075b68ec battleufotest: fix splitscreen BUFO spawnpoint HUD tracker 2024-01-26 14:30:57 -08:00
James R
bea26879ea battleufotest: HUD tracking for Battle UFO spawners, show ID number 2024-01-15 18:24:17 -08:00
James R
b6a725ad7b HUD tracking: fix Super Flicky crash if owner died 2024-01-12 17:54:30 -08:00
James R
0b39268a71 HUD tracking: ignore spectators 2024-01-08 19:01:05 -08:00
James R
1666047f30 HUD tracking: only display Super Flicky tracker if Flicky can be whipped 2024-01-06 01:41:36 -08:00
James R
2188338a7e HUD tracking: refactor visibility checks
- Completely invisible trackers should not appear in
  tracker list, because they would occlude
- Add Visibility::kFlicker, so frame check is not
  duplicated
2024-01-06 01:41:36 -08:00
James R
cd405290c1 HUD tracking: hide text for overlapping trackers 2024-01-05 17:30:10 -08:00
James R
5c3783bf62 HUD tracking: trackers behind walls are transparent, instead of flickering 2024-01-05 17:23:29 -08:00
James R
15775adcb9 HUD tracking: give overlapping trackers in the background transparency
- Assuming every tracker is a 30x30 square, to determine
  overlap.
2024-01-05 15:56:23 -08:00
James R
a6fa84af3a HUD tracking: refactoring
- Store tracking result on struct
- Put flickering trackers in the vector anyway
2024-01-05 15:56:23 -08:00
James R.
543fd03b11 Add Obj_EmeraldCanHUDTrack to handle MT_EMERALD being used for Hyudoro orbiting 2023-09-18 04:21:10 -07:00
James R.
b86ade712a MT_EMERALD: prepartion to let orbiting physics be used in a general-purpose manner
- Add Obj_SetEmeraldAwardee
  - Separate object receiving emerald from object being
    orbited
  - Obj_BeginEmeraldOrbit sets both, if the awardee isn't
    explicitly set
- Don't HUD track emeralds without emerald flag set
2023-09-17 21:56:17 -07:00
VelocitOni
7e33f92049 undef "near" and "far"
Eidolon: "they're legacy code compatibility defines that don't seem to have any way to be disabled other than undefing them"
2023-09-08 02:55:48 -07:00
James R.
c454843837 Spraycan HUD tracking 2023-09-08 02:55:48 -07:00
James R.
11f428b67a Add 4P variants for TARGET HUD tracking 2023-09-07 00:08:42 -07:00
James R.
b3916ebb8d k_hud_track.cpp: refactor to separate graphics switching and flickering conditions from main drawing code 2023-09-06 21:50:04 -07:00
James R
2f9ae94b62 Emerald orbits player after UFO Catcher is broken 2023-08-12 21:41:21 -07:00
James R
af26848cf9 Spawn literal MT_EMERALD for UFO Catcher, remove MT_SPECIAL_UFO tracking
Side effects:

- HUD tracking icon now uses emerald's color in Sealed
  Stars.
- UFO emerald doesn't disappear when collected. This is
  WIP because the emerald is intended to orbit the player.
2023-08-12 21:41:21 -07:00
VelocitOni
3b1edb903c Super Flicky trackables
Super Flickies have HUD tracking, have map tracking, and are 3x big when chasing instead of 2x
2023-07-30 00:48:59 -04:00
toaster
c7c78bc72b K_drawTargetHUD: Track at sprite x/y/z offset in 3d space 2023-04-07 23:18:08 +01:00
toaster
7d8fe85767 battleprisons rename compilation repair 2023-03-19 13:06:55 +00:00
toaster
89be7b959e K_DrawTargetTracking: Fix x coordinate of tracked object's icon at the bottom of the screen.
This was designed to use the angle of the result directly, which was previously incorrect.
2023-03-18 21:33:21 +00:00
toaster
81e880464a CD Special Stage UFO changes
- MT_CDUFO is now a valid type of Prison in Prison Break
    - Tracked on counter
    - Tracked on HUD
    - Tracked on minimap
- P_AddBrokenPrison in p_inter.c
    - Generalises behaviour on breaking a Prison Break object
- MT_CDUFO polish
    - Can now be broken with all damaging objects EXCEPT Shield Orbinaut/Shield Jawz
        - These two are exceptions to prevent them from denying you your on-contact item grab., which these will still give you if you touch them
    - Breaking the object by touching it now causes hitlag instead of fireworks
        - The fireworks were to make touching it feel good... but hitlag feels better :P
    - Now supports mapobjectscale directly.
    - Scaled 1.5x mapobjectscale
    - Hitbox now far closer to actual sprite (which was just replaced, but was inexplicably far away from the old one too)
2023-03-18 00:22:44 +00:00
James R
cdecada971 Battle: TARGET on the player with 6 emeralds 2023-03-08 23:31:34 -08:00
James R
b04433bc7b Fix TARGET visibility on players holding emeralds 2023-03-08 19:01:03 -08:00
James R
85a101cbd7 Replace battlecapsules || bossinfo.valid checks with K_Cooperative 2023-03-08 19:01:02 -08:00
James R
f2c806185e Cycle color of player TARGET between held emeralds 2023-03-06 18:52:53 -08:00
James R
b023b16561 Remove WANTED over players' heads, TARGET wanted player 2023-03-06 18:52:53 -08:00
James R
20fe13deb7 HUD TARGET for Battle Kiosk, Monitors and Emeralds
Except in Break the Capsules, Boss mode or DUEL mode:

- When Overtime begins, all TARGETs are hidden and the
  Kiosk is targeted instead. Blue colored TARGET.

- TARGET player themself sees TARGETs on emeralds and
  monitors with emeralds inside. TARGET color matches
  emerald.
2023-03-06 18:52:53 -08:00
James R
368116bc59 Restrict HUD tracking on players
- Gametyperules include both GTR_BUMPERS and
  GTR_CLOSERPLAYERS.
- Break the Capsules or Boss modes must not be active.
2023-02-24 23:21:47 -08:00
James R
ec8e81ddb6 Always HUD track players in Duel mode 2023-02-24 23:21:47 -08:00
James R
e6da831e36 HUD target player with most points
- Replace battlewanted global with g_hiscore, keeps track
  of the current highest number of points.
- Adds HUD tracking for player(s) with the hiscore.
- Should target both players in a tie.
2023-02-24 23:21:47 -08:00
James R
ecd36144c8 Only draw capsule icon for Break the Capsules HUD tracking 2023-02-23 00:31:45 -08:00
James R
75c9ee253e k_hud_track.cpp: only draw TARGET text in 1P or 2P splitscreen 2023-02-21 21:09:32 -08:00
James R
4adf585590 Give TARGET HUD tracking to UFO Catcher 2023-02-21 20:12:37 -08:00
James R
e79ff76758 k_hud_track.cpp: refactor to use C++ STL
- Use std::vector instead of fixed size array.
- Use std::sort instead of custom sorting algorithm.
2023-02-21 20:11:58 -08:00
James R
13762ee4e1 k_hud_track.cpp: "capsule" -> "track" 2023-02-21 20:10:47 -08:00
James R
83051728f0 Move capsule target code out of k_hud.c, to k_hud_track.cpp 2023-02-21 20:09:06 -08:00