After #1258, the exit button (not close) didn't work at all in Windows
and on Linux it didn't actually cause the application to close if an
untitled file had been saved.
Rewrite the logic to work both for close as well as exit.
* Add question to SDL to mirror windows behaviour
* don't exit until saving is done
* fixes
---------
Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
Co-authored-by: Dennis Brakhane <brakhane@gmail.com>
don't use getText() in crash handler
getText() allocates memory which is a big no no in a signal handler.
Instead, use an internal function that calls us for each entry so we
can write it to the crash log.
This is ugly, but I can't think of a better solution atm.
linux: improve crash log and crash handling
* add device info to crash log
* add contents of backlog to the crash log
* use abort() instead of exit()
calling exit could cause problems because of exithandlers, abort is
safer.
Since the Linux version seems much more unstable than the Windows one,
having more information where the crash occured will help with figuring
out where the problems are.
This commit adds a simple crash handler that dumps out the stacktrace,
it's only supported on Linux.
- namespace refactor (example: wiGraphics:: -> wi::graphics)
- provided namespace compatibility macro for old user code: WICKEDENGINE_BACKWARDS_COMPATIBILITY_0_59
- resource manager will return `Resource` instead of `shared_ptr<Resource>` objects
- MAD shader optimizations
- implemented alpha to coverage with alpha tested materials when MSAA is enabled
- alpha testing fix with transparent shadow maps
- TLAS and scene buffers will be recreated less frequently when things get added/removed from the scene
- std container replacements for vector, unordered_map, unordered_set
- unordered_map and unordered_set replaced with ska::flat_hash_map
- vector replacement is still std::
- unordered_map performance test (std:: vs ska::)
- backlog improvements
- wiArchive improvements
- editor: added option to dump scene to C++ header file
- common improvements, refactors
linux: works only with wayland backend, can be used with SDL_VIDEODRIVER=wayland enviroment variable set.
It's possible that it works also on other platforms when using the SDL backend.
* SDL2 and Unix fix
SDL2 keyboard input, Unix filesystem fix, and SDL2 editor window config, CMake cache gitignore
* Adding comments to the SDL2 keycode fix
For a better understanding
* Slimming down SDL Unix path translation
* Static pathfile compile fix
More pathfile code fix for the compile to work
* Re: Static pathfile compile fix