This already revealed some places where implicit conversions were done, including some where its use was nonsense (MouseInput.cpp).
The changes to the Intent class were necessary to keep things working, and this splits things up more neatly.
- Refactors track_design_file_ref to TrackDesignFileRef and replaces the utf8* fields of that struct with u8string
- Gets rid of some String::Duplicate() and delete calls
- Uses a bunch of c_str() calls to interface with older functions
author jazzysoggy <39224097+jazzysoggy@users.noreply.github.com> 1655955994 -0400
committer jazzysoggy <39224097+jazzysoggy@users.noreply.github.com> 1656516326 -0400
Fixed Format_VA and renamed Format to StdFormat. Both now output to Std::String, while taking the same input as before. Changed functions that use these two to account for this output difference
* Start base of class
* Start moving things into class
* Finish porting over
* Refactor to conform more with style
* Add no discard to imageid
* Fix objective window position
* Fix audio on viewport
* Make further fixes
* Move nodiscard again
* Refactor all uses of IAudioChannel and the audio mixer.
* Use shared_ptr to avoid dead pointers hanging about.
* Reload particular audio channels where necessary after object reload.
* Renamed All Instance of G1_FLAG_BMP
Renamed all instances of G1_FLAG_BMP to GA_FLAG_HAS_TRANSPARENCY
* Fixed comments and labels
Fixed comments and labels to be more in line with new definitions
Add optional support for streaming FLAC and OGG/vorbis audio.
Galaxy style from OpenMusic is over 40 MiB in wav. FLAC gets it down to about 27 MiB and OGG/vorbis can get it down to just 1.36 MiB. I think vorbis should be our primary format for distributing OpenRCT2 assets due to its low size, but FLAC is available for those who want higher quality assets.
This supersedes #16095
The position and size arguments of WindowCreate are now optional - not a window doesn't have to know the size beforehand.
This removes the WF_NO_SCROLLING flag from the call to WindowCreate, but that seems to have no use for the scenery window anyway.
Co-authored-by: Ian-Polito <ipolito@mailfence.com>
Introduce more transparency toggles and allow each one to be set to either an invisible or ghost state which is a persisted user setting.
A new window is introduced to control these settings and is inspired by OpenTTD.