Split the ellipse drawing into its own function. render_unit is massive and needs to be
cleaned up. Rewrote the code to be much more readable in the process. It also resolves a
bunch of logical messes, such as still registering a handle with the drawing buffer if
ellipse was set to "none" or draw_bars was false.
Combined all the ellipse top/bottom images into single images. As far back as I can find,
the rendering code has always drawn the two halves on the same layer, so it really doesn't
make sense to have them be separate images. In case any addons still use the old two-image
format, they will be used as a fallback if a single image isn't found.
I changed some of the lines in NR The Pursuit to fit better with the different characters. Tallin, Abhai, Krash, etc.
I did not do it for every dialogue.
Addresses issues #8319 and #8772
More PR review feedback addressed by Wedge.
---------
Co-authored-by: Wedge009 <wedge009@wedge009.net>
- widget:add_item_of_type() now uses lua 1-based indicies and throws lua errors on wrong indicies. (previously used c++ 0-based indexing, and could lead to assertions when wrong indicies were used, )
- widget:add_item() now has a optional location pos parameter as claimed in the wiki
- the pos and count paraemters in widget:remove_items_at() are now optional and default to removing the last element
With this is matches the behavior of the standart lua functions table.insert and table.remove which is imo what lua writers expect.
1. remove obviously English and English sounding female names from Dunefolk female names list
2. remove 'bakri' from male name list (means 'goat', could be offensive)
3. remove one potentially offensive name from saurian name list
4. remove 'Dalal' from dunefolk female names (can be used as slang)
The arrow class shouldn't be in charge of adding to the drawing buffer. Also it meant that in a case of multiple arrows padding through one hex, multiple buffer entries would be added. Now it will use one per hex.