In [#3784] I removed the code to display SpecialHexDisplay icons. At the time, I don't think I fully understood the system. The issue with removing SpecialHexDisplay is that using BoardView1.drawArtilleryHexes only allows drawing icons for the local player: the local client doesn't have enough information to draw information about teammates artillery, or hexes that have been hit with artillery.
This came up as part of a discussion here: http://www.mekwars.org/forum/viewtopic.php?f=3&t=7755
Fixed in [r10385]. I added back in the code to render SpecialHexDisplay icons in BoardView1. I also updated SpecialHexDisplay a bit. Now its obscured state is an int and can have a value of SHD_OBSCURED_OWNER, SHD_OBSCURED_TEAM, or SHD_OBSCURED_ALL, which implies that only the owner, only hte owners team, and everyone can see the SHD icon.
Now, arty autohits are OBSCURED_TEAM, hits are OBSCURED_ALL and hits distinguish between a hit and a miss. The icon for a miss is now displayed at the aimed hex instead of the scattered hex.
The "arty target" icon is essentially removed, as there's no use for it: teammates see the inbound arty icon for teammates arty fire and enemies shouldn't see it (per TacOps).
I also made it so SHD icons for arty icons are not drawn for the owner (those will be drawn via BV1.drawArtilleryHexes).
Related
Commit: [r10385]