Space Engineers

Space Engineers

Eli Dang's Holo Hud [Open Source]
Showing 1-3 of 3 entries
Update: 5 Aug @ 5:31pm

DONE: Make Main Cockpit or Tag be an option. Make custom cockpit sliders/checkboxes etc. load based on only this setting, no longer requires a broadcasting antenna. (Was a leftover of original).
DONE: Make SigInt lite logic be toggleable. You can have some of the old logic instead. It still checks all powered antennas on the grid and uses the max broadcast range as the radar range for detecting and scaling the radar.
But doesn't do all the active vs passive radar stuff.
DONE: More minor optimizations: only checks if entity has power if you can already detect it based on range and the setting to only show powered grids is true.

Update: 2 Aug @ 1:36pm

Refactor project so GitHub and this mod package have same structure so all Images/Sounds are in the project.

Update: 1 Aug @ 10:18pm

CHANGELOG

2025-08-01
DONE: Fix grid flare setting.

DONE: Fix visor setting.

DONE: Round space credits when at large values - should show K, M, B.

DONE: Make max radar range be the max range of the antenna of the current ship. - Covered by active/passive.

DONE: Added support for modded tanks by checking if block has capacity and has Hydrogen anywhere in details/subtype etc.

DONE: Make it keyword tag based [ELI_HUD] instead of main cockpit...

DONE: Make it so if antenna missing or broadcasting turned off only the Holograms and Radar cease to function, but the rest of the hud works as expected. - Covered by active/passive.

DONE: Overhaul entire antenna logic so we get active+passive radar and hud still functions regardless of antenna state for things like H2/Energy/Altitude etc. Uses simple SigInt logic for now.

Antenna off/damaged = no radar.
Antenna on/functional but NOT broadcasting = passive mode, receptive to grids with broadcasting antennas only, up to local grid antenna's configured broadcast range or global radar maximum (which could be draw distance if left at -1). and only if broadcasting grid antenna range would reach local grid. Ie. if they can see you actively, you can see them passively.
Antenna on/functional AND broadcasting = active mode, local grid can pick up grids or entities/voxels within the broadcast range. By virtue of being in active mode, you can also passively pickup signals. ie. there is Passive, or Active+Passive, or Off. Broadcast on/off controls Passive vs Active mode, power controls On/Off. Text on radar display shows RDR[OFF], RDR[ACT], or RDR[PAS] based on mode. Then receptive distance in KM. Then [SCL] for the radar distance scale in KM.
[SCL] (variable called radarScaleRange) controls how zoomed in or out the radar screen is, basically how many KM it displays and can be different than your detection range. It uses a configurable bracket distance users can change where it will only increase every X amount with a configurable percentage based buffer to prefer zooming out. eg. at my default settings of 2000 meters bracket with 0.01 buffer if my range is 2000m + 20m buffer it would fall into the 4000m bracket because 2020 > 2000. If I had the bracket set to 1000 meters it would fall in the 3000m bracket. So on. This means raising or lowering the antenna broadcast range, even in broadcast = off mode, changes the zoom of the radar in addition to how far you can pickup targets. It also will shrink the radar display to zoom in on a selected target indicated by (T) at the end of the scale distance. It does the same range bracketing, but based on the target's distance from the local grid instead of the radar range. This makes it easier to see your position in relation to the target on the radar screen.

DONE: Move random number generation to LoadData so it occurs once, and populates a large list of random floats between 0 and 1. These are then used by GetRandomFloat, GetRandomDouble, or GetRandomBoolean. These array lookups are far more efficient than generating random numbers. And in the original mod we were generating 33 random numbers per tick.

DONE: Rework where calculations are done so they don't always go in Draw().

DONE: (PARTIAL) Make target condition hologram better, there's still some bugs. But we can choose between viewing various sides using hotkeys, or an Orbit cam view, or a perspective based view. But the perspective based view has minor bugs.

DONE: Make entities with active radar stand out visually.

DONE: Look into color/scale sliders re-setting or not changing per ship as you leave one and enter another. Might already be fixed? I believe this would have been fixed by my changes to where CheckCustomData gets called anyway.

DONE: Make target selection code use a minBlockCount setting to prevent debris being picked up instead of actual grids. Also uses GetTopMostParent so it returns main grids instead of subgrids like wheels etc.

DONE: Make target selection and hologram view changing keys be bindable in the config.

DONE: Add setting to only show radar pings for grids with power. Setting is independent of voxels, so if show voxels is true they will still appear despite not having power.

DONE: Add block actions for toggling the hud on/off, the holograms on/off, show voxels on/off, and powered only on/off. These can be bound from the G menu to the toolbar.

DONE: Local Grid and Target Grid holograms can have their views cycled. Ctrl modifier applies to local grid hologram, no Ctrl key pressed will change target grid hologram.

DONE: Fix HasPowerProduction to check if batteries have stored power too.

DONE: Moved some functions back into Draw().

DONE: Removed arbitrary DisplayName == "Stone" || DisplayName == null filter from radar entities return.