- task_content.c, load_content_from_compressed_archive: fix use after free
- platform_win32/uwp: fix frontend_..._get_powerstate never returning FRONTEND_POWERSTATE_NONE
- platform_win32/uwp: fix whitespace
- cheevos.c: fix potential use after free in a loop, just to be save
- only use filestream_exists immediately before filestream_delete or
any other genuine filestream-related operations - when just checking
if a path exists on the filesystem, just use path_is_valid - faster
So this makes two basic changes:
1. Add a few extra dirs, hide root dir in the filesystem
2. Simplify the default dir selection code so it doesn't take three code blocks to change a dir
A few of the decisions here were weird.
This shouldn't affect anything for end users and makes the code more mantainable.
Log from the first run:
```
05-27 22:42:21.507 16529 16567 I RetroArch: jni_thread_destruct()
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV] Android version (major : 7, minor : 1, rel : 2)
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV] Checking arguments passed from intent ...
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: config file: [/storage/emulated/0/Android/data/com.retroarch.aarch64/files/retroarch.cfg] -->correct
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: current IME: [com.koushikdutta.vysor/.VysorIME]
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: libretro path: [/data/user/0/com.retroarch.aarch64/cores/]
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: android internal storage location: [/storage/emulated/0]
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: android picture folder location [/storage/emulated/0/Pictures] -->cleanup no longer needed
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: android download folder location [/storage/emulated/0/Download] -->cleanup no longer needed
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: APK location [/data/app/com.retroarch.aarch64-2/base.apk]
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: android external files location [/storage/emulated/0/Android/data/com.retroarch.aarch64/files]
05-27 22:45:27.586 16992 17046 I RetroArch: [ENV]: app dir: [/data/user/0/com.retroarch.aarch64]
05-27 22:45:27.586 16992 17046 I RetroArch: Testing permissions for /storage/emulated/0 -->correct
05-27 22:45:27.587 16992 17046 I RetroArch: Create /storage/emulated/0/.retroarch in /storage/emulated/0 true
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: application location: [/data/user/0/com.retroarch.aarch64]
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: default download folder: [] -->fixup
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: default savefile folder: [/storage/emulated/0/RetroArch/saves] -->correct
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: default savestate folder: [/storage/emulated/0/RetroArch/states] -->correct
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: default system folder: [/storage/emulated/0/RetroArch/system] -->correct
05-27 22:45:27.587 16992 17046 I RetroArch: [ENV]: default screenshot folder: [/storage/emulated/0/RetroArch/screenshots] -->correct
05-27 22:45:27.780 16992 17046 I RetroArch: [recording] youtube streaming key empty
05-27 22:45:27.781 16992 17046 W RetroArch: Using old --libretro behavior. Setting libretro_directory to "/data/user/0/com.retroarch.aarch64/cores/" instead.
05-27 22:45:27.781 16992 17046 I RetroArch: RetroArch 1.7.7 (Git 772d06f)
```
Also these are changed:

Should be easier to navigate to other mountpoints
- Disable VFS for now - seems to be very problematic right now
- Move uwp_is_path_accessible_using_standard_io to file_path.c
since it seems to have no VFS dependencies, and rename it to
is_path_accessible_using_standard_io so it could possibly be later
used for other platforms as well that also have sandboxed filesystems
-Remove switch_pthread - It should be no longer used
-Increase SAVE_STATE_CHUNK to 4MB
-Fix overclocking on Horizon 8.0+
Note: This requires the updated Toolchain before Merge
- Add optional timestamped log files
- Handle errors if log file cannot be opened
- Android: flush log file immediately
- 3DS: log to file tested and fully working
- Default log paths added for all platforms
- add tvOS target
- support code signing tvOS cores by adding an argument to the code signing cores script
- use NSCachesDirectory for the documents directory
- add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
- autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
- added a webserver to transfer files for tvOS
- xcode: clean up project, remove unused folders
- remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
- added retroarch app icon courtesy of @MrJs
- added auto-detect of mfi controller for apple tv
== DETAILS
For local netplay, it's useful to have your IP address easily
available. This commit makes the Information > Network Information
menu display the Wii U's IP address.
Change summary:
- Fix the logging init to be reentrant to avoid socket consumption
- Add implementation of POSIX `getifaddrs()` and `freeifaddrs()`
to `missing_libc_functions.c`
- Remove compiler directives protecting the code paths that call
`getifaddrs()` from being used in Wii U builds
== TESTING
Have tested locally, successfully get IP address information in
the Information > Network Information.
I think this may also fix NAT traversal. Will need to be tested.