* Tidy up masked paint code
Its only used by surface elements and only then by attached ps's so no need to support it in the normal ps.
* Remove unneeded function
Define see-through paint colours in Paint.h for global use
Color staff sprite button
Change ride->is_visible bool to ignore_invisible_flag bool
Add shortcut to open transparency options (CTRL+T)
- Changes all references of `VIEWPORT_FLAG_INVISIBLE_PEEPS` to `VIEWPORT_FLAG_INVISIBLE_GUESTS` and `VIEWPORT_FLAG_INVISIBLE_STAFF`
- Updates Invisible People menu item and shortcut.
- Added new viewport flags into the `viewport_set_visibility` function
- Invisible options only work if see-through is activated as well
- Added see-through supports
- Regression: Exclude ride from invisible no longer works (ride is still see-through)
* Implement profiling API
* Add console commands for the profiler
* Remove accidental line
* Correct csv output
* Add copyright notice
* Add missing override
* Add default virtual destructor
* Explicitly pass template argument
* Use static
* Add plugin API for profiler
* Add more profile calls
* Workaround for GCC hopefully
* Add missing static keyword
* Use uint64 for call count
* Reduce name length see if CI passes
* Improve handling of function names
* Work around (broken) static inline variables
* Fix missing include
* Disable profiler for clang 5 and older
* Update copyright date
* Profile UpdateAllMiscEntities
* Apply review suggestions
Co-authored-by: Ted John <ted@brambles.org>
* Move to image ID for paint struct
* Move image list to be past the end of legacy limit
* Extend image list size
* Introduce constants for image list size
* Use std::array to store internal paint struct
For most of these cases, adding a trailing comma to the array block makes clang-format put each item on a new line, and clang-format exception blocks could be reduced where clang-format does not handle them properly.
Before the refactor, the assertion read like this:
```
assert(static_cast<uint16_t>(bound_box_length_x) == static_cast<int16_t>(bound_box_length_x));
```
which meant that bound_box_length_x = 0 was valid. The refactor (likely accidentally) changed this, which causes assertions to get hit within 2 seconds after opening on my machine.
According to Duncan, the asserts are no longer necessary at all, so remove them altogether.
* Remove unused variables and drop packing of paint structs
* Move PAINT_QUADRANT_FLAGS out of the header
* Rename enum and variable to SortFlags
* Rename variable and document the sorting
* Apply review
* Support large map sizes
* Fix top spin painting
* Fix crooked house
* Increase bb size
* Decrease limit back
* Clang format
* Remove asserts and apply review comments
* Fix rebase mistake
Co-authored-by: Ted John <ted@brambles.org>