Aka "World's most expensive flippers".
This is an aggregate of collision-related changes made during 3DPB->FT transition.
The most important part is in flipper collision - a shift from monolithic iterative solver in TFlipperEdge::EdgeCollision to a distributed non-iterative solver.
Both 3DPB and FT data sets use FT collision, keeping two collision systems does not make much sense.
From user perspective, FT/3DPB systems should not have any major differences.
* Allow loading data files with lowercase name
* Added lower case support for all game data files.
Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
* Add translations from v1
* Add font configuration (to be able to use non-latin languages)
* translations: remove includes that are already in pch.h
* translations: rename enums and avoid macros
* Fix crash when the font file doesn't exist
* translations: avoid u8 to avoid reencoding by MSVC
MSVC will read the file as ASCII and reconvert characters as UTF-8, this will corrupt characters as the file is in fact already in UTF-8.
* translations: remove NUMBER in enums
* translations: handle non existing translations gracefuly (don't crash)
Fallback to english if available, else return empty string
* Testing pull collaboration.
* Rollback: remove NUMBER in enums.
* Get rid of namespace, use header instead.
* Collapsed translated text struct and array.
* Fixed build errors and warnings.
* Simplified language list.
* All new types, locals and globals should use CamelCase.
* Removed unnecessary ImGui patch.
* Rearranged TTextBox immediate mode draw.
* Final touches: removed unused declaration in gdrv.
Removed unused Msg entries and added new check.
* Remove placeholder english texts from missing translations
Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
* fix harmless warnings and properly try/catch allocations via new
otherwise the error handling will never be triggered
* increase precision of mode_countdown_ handling
potentially there could be modes running a bit too long, depending on passed in ms (which were implicitly truncated before when passing in)
also fix some harmless warnings
* document warnings that i cannot handle on my own
* revert changes to have a new cleaner PR after review/cherry picks
* increase precision of mode_countdown_ handling
potentially there could be modes running a bit too long, depending on passed in ms (which were implicitly truncated before when passing in)
also fix some harmless warnings and add comments where original code is 'correct' but weird