Version 2.0 is up, get it
here (
mirror). Still requires
LazyLib. Several files have moved around, so you should delete your old radar mod folder before installing. This update breaks compatibility with any custom radar renderers others have written - luckily I don't know of anyone who has done so! If they do exist, their authors should check javadoc.zip for the new method signatures.
A big change certain people will be happy to see: ship contacts now have proper polygons, thanks to the inclusion of some polygon triangulation code ported from the
Slick2D library. A few ships fail to triangulate properly and fall back to the old "close enough" behavior (vanilla's Paragon and SS+'s Cathedral, off the top of my head), but the vast majority of ships will look
much better than they did before.
I also divorced the radar's framerate from the game so it's not wasting CPU cycles to tell you a ship's moved 0.3 pixels every 1/60th of a second. It now defaults to 20FPS, but you can easily bump that up in data/config/radar/radar_settings.json if you wish.
There's also a new combat renderer showing map boundaries and retreat areas, a better icon for relays, bounty coloration on the campaign map, and a few changes to let modders filter what is shown on the radar. Here's the full changelog:
2.0 (October 04, 2015)
========================
Radar framerate is now separate from Starsector's framerate, defaults to 20 FPS
Merged radar settings into a single file, data/config/radar/radar_settings.json
Combined campaign and combat radars into one codebase
Replaced CampaignRadar and CombatRadar with a generic CommonRadar interface
Added excluded_ships.csv, can exclude single hulls or ones with certain prefixes
Added excluded_missiles.csv, can exclude missiles by their projectile ID
Added RadarSettings class to retrieve loaded renderers and radar settings
Added getCurrentSightRadius() to CommonRadar interface
Improved icon for relays in the campaign
All renderers now support a "maxShown" setting where valid
Campaign fleet renderer changes:
- Fleets with a bounty on their head are now shown as gold on the radar
(faction-level bounties flash between gold and their regular color so you
won't accidentally chase/attack a friendly faction)
Combat progress renderer changes:
- Relative fleet balance calculation is no longer based on information that
the player can't obtain in-game, is instead now based on the ship's fleet
point costs (with a 75% penalty to calculated strength for civilian ships)
New combat renderer: MapBorderRenderer
- Displays retreat zones in yellow
- Displays gravity barrier line in red
- Displays out of bounds in grey
New combat renderer: ShipRenderer
- Replaces ShipSimpleRenderer and ShipPolygonRenderer
- Draws proper polygons for ships instead of approximations like old system
- Will fall back to approximations on ships that can't be triangulated (only
the Paragon in vanilla and a handful of ships in existing mods)
- To draw ships as triangles instead (like with the old ShipSimpleRenderer),
change "simpleMode" to true in radar_settings.json under "shipRenderer"
- Shields are drawn filled, can be reverted to the old behavior by changing
"drawSolidShields" to false in radar_settings.json under "shipRenderer"
New utility class: DrawQueue
- Aids in efficiently drawing many primitive shapes multiple frames in a row
- Handles native buffer allocation/data/resizing automatically
- Uses VBOs if the user's card supports them (hint: it does)
New utility class: ShapeUtils
- Calculates vertices (as float arrays) for common shapes
All interfaces are now fully documented (see javadoc.zip in mod folder)
Miscellaneous optimizations and improvements