diff --git a/.DS_Store b/.DS_Store
deleted file mode 100644
index b8a22bf..0000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/.cache/clangd/index/Main.cpp.685062F8D32EB8FC.idx b/.cache/clangd/index/Main.cpp.685062F8D32EB8FC.idx
deleted file mode 100644
index 0da004a..0000000
Binary files a/.cache/clangd/index/Main.cpp.685062F8D32EB8FC.idx and /dev/null differ
diff --git a/.cache/clangd/index/MainApplication.cpp.79A72745C41D6043.idx b/.cache/clangd/index/MainApplication.cpp.79A72745C41D6043.idx
deleted file mode 100644
index 3c7e1ab..0000000
Binary files a/.cache/clangd/index/MainApplication.cpp.79A72745C41D6043.idx and /dev/null differ
diff --git a/.cache/clangd/index/MainApplication.hpp.221A9A34681ED2E1.idx b/.cache/clangd/index/MainApplication.hpp.221A9A34681ED2E1.idx
deleted file mode 100644
index a71b2ca..0000000
Binary files a/.cache/clangd/index/MainApplication.hpp.221A9A34681ED2E1.idx and /dev/null differ
diff --git a/.cache/clangd/index/Plutonium.176CA4CACA9A1290.idx b/.cache/clangd/index/Plutonium.176CA4CACA9A1290.idx
deleted file mode 100644
index 1e8ad35..0000000
Binary files a/.cache/clangd/index/Plutonium.176CA4CACA9A1290.idx and /dev/null differ
diff --git a/.cache/clangd/index/TitlesLayout.cpp.45180DB29A164B8B.idx b/.cache/clangd/index/TitlesLayout.cpp.45180DB29A164B8B.idx
deleted file mode 100644
index 296e136..0000000
Binary files a/.cache/clangd/index/TitlesLayout.cpp.45180DB29A164B8B.idx and /dev/null differ
diff --git a/.cache/clangd/index/TitlesLayout.hpp.75FC133FF2EF41D2.idx b/.cache/clangd/index/TitlesLayout.hpp.75FC133FF2EF41D2.idx
deleted file mode 100644
index 0416f1d..0000000
Binary files a/.cache/clangd/index/TitlesLayout.hpp.75FC133FF2EF41D2.idx and /dev/null differ
diff --git a/.cache/clangd/index/UsersLayout.cpp.88C1C105F3F43467.idx b/.cache/clangd/index/UsersLayout.cpp.88C1C105F3F43467.idx
deleted file mode 100644
index 14527b7..0000000
Binary files a/.cache/clangd/index/UsersLayout.cpp.88C1C105F3F43467.idx and /dev/null differ
diff --git a/.cache/clangd/index/UsersLayout.hpp.1712702588294560.idx b/.cache/clangd/index/UsersLayout.hpp.1712702588294560.idx
deleted file mode 100644
index 66a84d7..0000000
Binary files a/.cache/clangd/index/UsersLayout.hpp.1712702588294560.idx and /dev/null differ
diff --git a/.cache/clangd/index/audio_Music.hpp.8B2BCABF9BE0D597.idx b/.cache/clangd/index/audio_Music.hpp.8B2BCABF9BE0D597.idx
deleted file mode 100644
index e1bc31f..0000000
Binary files a/.cache/clangd/index/audio_Music.hpp.8B2BCABF9BE0D597.idx and /dev/null differ
diff --git a/.cache/clangd/index/audio_Sfx.hpp.20BB10D088C7D73C.idx b/.cache/clangd/index/audio_Sfx.hpp.20BB10D088C7D73C.idx
deleted file mode 100644
index 229f104..0000000
Binary files a/.cache/clangd/index/audio_Sfx.hpp.20BB10D088C7D73C.idx and /dev/null differ
diff --git a/.cache/clangd/index/const.h.BA34DD522C225A5C.idx b/.cache/clangd/index/const.h.BA34DD522C225A5C.idx
deleted file mode 100644
index 436dc3f..0000000
Binary files a/.cache/clangd/index/const.h.BA34DD522C225A5C.idx and /dev/null differ
diff --git a/.cache/clangd/index/data.cpp.92E1D4C612A67155.idx b/.cache/clangd/index/data.cpp.92E1D4C612A67155.idx
deleted file mode 100644
index f4b8421..0000000
Binary files a/.cache/clangd/index/data.cpp.92E1D4C612A67155.idx and /dev/null differ
diff --git a/.cache/clangd/index/data.h.FB9692DD59DD0CA9.idx b/.cache/clangd/index/data.h.FB9692DD59DD0CA9.idx
deleted file mode 100644
index f72c8d3..0000000
Binary files a/.cache/clangd/index/data.h.FB9692DD59DD0CA9.idx and /dev/null differ
diff --git a/.cache/clangd/index/dir.cpp.84282E8F15A0C3E7.idx b/.cache/clangd/index/dir.cpp.84282E8F15A0C3E7.idx
deleted file mode 100644
index cbd16e0..0000000
Binary files a/.cache/clangd/index/dir.cpp.84282E8F15A0C3E7.idx and /dev/null differ
diff --git a/.cache/clangd/index/dir.h.8134312F1E0EEB8F.idx b/.cache/clangd/index/dir.h.8134312F1E0EEB8F.idx
deleted file mode 100644
index 7daac4a..0000000
Binary files a/.cache/clangd/index/dir.h.8134312F1E0EEB8F.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Button.hpp.018512E7528A66C7.idx b/.cache/clangd/index/elm_Button.hpp.018512E7528A66C7.idx
deleted file mode 100644
index 63bb953..0000000
Binary files a/.cache/clangd/index/elm_Button.hpp.018512E7528A66C7.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Element.hpp.14E03F7E0D260C63.idx b/.cache/clangd/index/elm_Element.hpp.14E03F7E0D260C63.idx
deleted file mode 100644
index fd2b076..0000000
Binary files a/.cache/clangd/index/elm_Element.hpp.14E03F7E0D260C63.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Image.hpp.FAD5FE2703E71E60.idx b/.cache/clangd/index/elm_Image.hpp.FAD5FE2703E71E60.idx
deleted file mode 100644
index 625d0ef..0000000
Binary files a/.cache/clangd/index/elm_Image.hpp.FAD5FE2703E71E60.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Menu.hpp.52144C9486AEB8A4.idx b/.cache/clangd/index/elm_Menu.hpp.52144C9486AEB8A4.idx
deleted file mode 100644
index f958d1d..0000000
Binary files a/.cache/clangd/index/elm_Menu.hpp.52144C9486AEB8A4.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_ProgressBar.hpp.5BE7F064B955686E.idx b/.cache/clangd/index/elm_ProgressBar.hpp.5BE7F064B955686E.idx
deleted file mode 100644
index ccf5285..0000000
Binary files a/.cache/clangd/index/elm_ProgressBar.hpp.5BE7F064B955686E.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Rectangle.hpp.E8436387021D3723.idx b/.cache/clangd/index/elm_Rectangle.hpp.E8436387021D3723.idx
deleted file mode 100644
index b0fd7c1..0000000
Binary files a/.cache/clangd/index/elm_Rectangle.hpp.E8436387021D3723.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_TextBlock.hpp.B8CCDCBE3879D2C2.idx b/.cache/clangd/index/elm_TextBlock.hpp.B8CCDCBE3879D2C2.idx
deleted file mode 100644
index c35e700..0000000
Binary files a/.cache/clangd/index/elm_TextBlock.hpp.B8CCDCBE3879D2C2.idx and /dev/null differ
diff --git a/.cache/clangd/index/elm_Toggle.hpp.F643B22B4EBE2394.idx b/.cache/clangd/index/elm_Toggle.hpp.F643B22B4EBE2394.idx
deleted file mode 100644
index e588c34..0000000
Binary files a/.cache/clangd/index/elm_Toggle.hpp.F643B22B4EBE2394.idx and /dev/null differ
diff --git a/.cache/clangd/index/extras_Toast.hpp.1CB990ED4FA33D5B.idx b/.cache/clangd/index/extras_Toast.hpp.1CB990ED4FA33D5B.idx
deleted file mode 100644
index abb66ef..0000000
Binary files a/.cache/clangd/index/extras_Toast.hpp.1CB990ED4FA33D5B.idx and /dev/null differ
diff --git a/.cache/clangd/index/file.cpp.5237F76D2447B003.idx b/.cache/clangd/index/file.cpp.5237F76D2447B003.idx
deleted file mode 100644
index a0e56d5..0000000
Binary files a/.cache/clangd/index/file.cpp.5237F76D2447B003.idx and /dev/null differ
diff --git a/.cache/clangd/index/file.h.ECED60B58854FB92.idx b/.cache/clangd/index/file.h.ECED60B58854FB92.idx
deleted file mode 100644
index 18e999a..0000000
Binary files a/.cache/clangd/index/file.h.ECED60B58854FB92.idx and /dev/null differ
diff --git a/.cache/clangd/index/fs.cpp.2C750D58CF93396A.idx b/.cache/clangd/index/fs.cpp.2C750D58CF93396A.idx
deleted file mode 100644
index fb70b75..0000000
Binary files a/.cache/clangd/index/fs.cpp.2C750D58CF93396A.idx and /dev/null differ
diff --git a/.cache/clangd/index/fs.h.B7E897F33D9D7EE5.idx b/.cache/clangd/index/fs.h.B7E897F33D9D7EE5.idx
deleted file mode 100644
index d74e017..0000000
Binary files a/.cache/clangd/index/fs.h.B7E897F33D9D7EE5.idx and /dev/null differ
diff --git a/.cache/clangd/index/fsfile.c.867FA10C150715C4.idx b/.cache/clangd/index/fsfile.c.867FA10C150715C4.idx
deleted file mode 100644
index 4cf7d01..0000000
Binary files a/.cache/clangd/index/fsfile.c.867FA10C150715C4.idx and /dev/null differ
diff --git a/.cache/clangd/index/fsfile.h.35B524E0BEF369EF.idx b/.cache/clangd/index/fsfile.h.35B524E0BEF369EF.idx
deleted file mode 100644
index 0a4a006..0000000
Binary files a/.cache/clangd/index/fsfile.h.35B524E0BEF369EF.idx and /dev/null differ
diff --git a/.cache/clangd/index/fstype.h.DEBE4E158EC53C0F.idx b/.cache/clangd/index/fstype.h.DEBE4E158EC53C0F.idx
deleted file mode 100644
index 0999c49..0000000
Binary files a/.cache/clangd/index/fstype.h.DEBE4E158EC53C0F.idx and /dev/null differ
diff --git a/.cache/clangd/index/ldn.cpp.393680BBDDA86121.idx b/.cache/clangd/index/ldn.cpp.393680BBDDA86121.idx
deleted file mode 100644
index b21627a..0000000
Binary files a/.cache/clangd/index/ldn.cpp.393680BBDDA86121.idx and /dev/null differ
diff --git a/.cache/clangd/index/ldn.h.1D557AF101A575C7.idx b/.cache/clangd/index/ldn.h.1D557AF101A575C7.idx
deleted file mode 100644
index 8479681..0000000
Binary files a/.cache/clangd/index/ldn.h.1D557AF101A575C7.idx and /dev/null differ
diff --git a/.cache/clangd/index/pu_Include.hpp.C523922F5EC060FC.idx b/.cache/clangd/index/pu_Include.hpp.C523922F5EC060FC.idx
deleted file mode 100644
index b0c8ec7..0000000
Binary files a/.cache/clangd/index/pu_Include.hpp.C523922F5EC060FC.idx and /dev/null differ
diff --git a/.cache/clangd/index/render_Renderer.hpp.6683E79ACA4A54CC.idx b/.cache/clangd/index/render_Renderer.hpp.6683E79ACA4A54CC.idx
deleted file mode 100644
index 3151c93..0000000
Binary files a/.cache/clangd/index/render_Renderer.hpp.6683E79ACA4A54CC.idx and /dev/null differ
diff --git a/.cache/clangd/index/render_SDL2.hpp.18A6D5991D9EFEE8.idx b/.cache/clangd/index/render_SDL2.hpp.18A6D5991D9EFEE8.idx
deleted file mode 100644
index e5ba05e..0000000
Binary files a/.cache/clangd/index/render_SDL2.hpp.18A6D5991D9EFEE8.idx and /dev/null differ
diff --git a/.cache/clangd/index/sdl2_CustomTtf.h.DA6EB9766D3A2A8C.idx b/.cache/clangd/index/sdl2_CustomTtf.h.DA6EB9766D3A2A8C.idx
deleted file mode 100644
index 8b1bb26..0000000
Binary files a/.cache/clangd/index/sdl2_CustomTtf.h.DA6EB9766D3A2A8C.idx and /dev/null differ
diff --git a/.cache/clangd/index/sdl2_Types.hpp.14E8D52331FEA768.idx b/.cache/clangd/index/sdl2_Types.hpp.14E8D52331FEA768.idx
deleted file mode 100644
index 54941a3..0000000
Binary files a/.cache/clangd/index/sdl2_Types.hpp.14E8D52331FEA768.idx and /dev/null differ
diff --git a/.cache/clangd/index/threads.cpp.3D4AF726B9B95CFB.idx b/.cache/clangd/index/threads.cpp.3D4AF726B9B95CFB.idx
deleted file mode 100644
index 195e416..0000000
Binary files a/.cache/clangd/index/threads.cpp.3D4AF726B9B95CFB.idx and /dev/null differ
diff --git a/.cache/clangd/index/threads.h.BB90B2C1D3A0674C.idx b/.cache/clangd/index/threads.h.BB90B2C1D3A0674C.idx
deleted file mode 100644
index 5c3e736..0000000
Binary files a/.cache/clangd/index/threads.h.BB90B2C1D3A0674C.idx and /dev/null differ
diff --git a/.cache/clangd/index/type.h.3039A978BD63D81E.idx b/.cache/clangd/index/type.h.3039A978BD63D81E.idx
deleted file mode 100644
index fbf3bf8..0000000
Binary files a/.cache/clangd/index/type.h.3039A978BD63D81E.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Application.hpp.C3BE54443DABA7BF.idx b/.cache/clangd/index/ui_Application.hpp.C3BE54443DABA7BF.idx
deleted file mode 100644
index 56db13c..0000000
Binary files a/.cache/clangd/index/ui_Application.hpp.C3BE54443DABA7BF.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Container.hpp.DBA564B6F57F0254.idx b/.cache/clangd/index/ui_Container.hpp.DBA564B6F57F0254.idx
deleted file mode 100644
index c44e358..0000000
Binary files a/.cache/clangd/index/ui_Container.hpp.DBA564B6F57F0254.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Dialog.hpp.BA5E55C427BB5263.idx b/.cache/clangd/index/ui_Dialog.hpp.BA5E55C427BB5263.idx
deleted file mode 100644
index a333316..0000000
Binary files a/.cache/clangd/index/ui_Dialog.hpp.BA5E55C427BB5263.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Layout.hpp.30029BE965429247.idx b/.cache/clangd/index/ui_Layout.hpp.30029BE965429247.idx
deleted file mode 100644
index 4ba4ad4..0000000
Binary files a/.cache/clangd/index/ui_Layout.hpp.30029BE965429247.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Overlay.hpp.177672D215C52C40.idx b/.cache/clangd/index/ui_Overlay.hpp.177672D215C52C40.idx
deleted file mode 100644
index 44f18c4..0000000
Binary files a/.cache/clangd/index/ui_Overlay.hpp.177672D215C52C40.idx and /dev/null differ
diff --git a/.cache/clangd/index/ui_Types.hpp.D33AC0C2311B451E.idx b/.cache/clangd/index/ui_Types.hpp.D33AC0C2311B451E.idx
deleted file mode 100644
index 88e3fa2..0000000
Binary files a/.cache/clangd/index/ui_Types.hpp.D33AC0C2311B451E.idx and /dev/null differ
diff --git a/.cache/clangd/index/util.cpp.7798728B5E2F0E42.idx b/.cache/clangd/index/util.cpp.7798728B5E2F0E42.idx
deleted file mode 100644
index 0b7254c..0000000
Binary files a/.cache/clangd/index/util.cpp.7798728B5E2F0E42.idx and /dev/null differ
diff --git a/.cache/clangd/index/util.h.4B818D27750FB9A3.idx b/.cache/clangd/index/util.h.4B818D27750FB9A3.idx
deleted file mode 100644
index 74af237..0000000
Binary files a/.cache/clangd/index/util.h.4B818D27750FB9A3.idx and /dev/null differ
diff --git a/.cache/clangd/index/zip.cpp.BDB97FF96BC149B8.idx b/.cache/clangd/index/zip.cpp.BDB97FF96BC149B8.idx
deleted file mode 100644
index 62ef634..0000000
Binary files a/.cache/clangd/index/zip.cpp.BDB97FF96BC149B8.idx and /dev/null differ
diff --git a/.cache/clangd/index/zip.h.74C41B03268B991E.idx b/.cache/clangd/index/zip.h.74C41B03268B991E.idx
deleted file mode 100644
index 2f617a6..0000000
Binary files a/.cache/clangd/index/zip.h.74C41B03268B991E.idx and /dev/null differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4d54a32
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,36 @@
+.DS_Store
+
+# Prerequisites
+*.d
+
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+*.smod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+server
+client
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 53624c9..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index e6bbd32..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index d59c8e2..65a3fb4 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -1,23 +1,30 @@
{
- "configurations": [
- {
- "name": "DKP aarch64",
- "includePath": [
- "${env:DEVKITPRO}/devkitA64/aarch64-none-elf/include/**",
- "${env:DEVKITPRO}/devkitARM/arm-none-eabi/include/**",
- "${env:DEVKITPRO}/devkitA64/lib/gcc/aarch64-none-elf/13.2.0/include/**",
- "${env:DEVKITPRO}/libnx/include/**",
- "${env:DEVKITPRO}/portlibs/switch/include/**",
- "${workspaceFolder}/include/**",
- "${workspaceFolder}/lib/Plutonium/include/**",
- "/opt/homebrew/opt/lz4/include/**"
- ],
- "defines": ["SWITCH", "__SWITCH__", "DEBUG", "__BSD_VISIBLE"],
- "compilerPath": "${env:DEVKITPRO}/devkitA64/bin/aarch64-none-elf-g++",
- "cStandard": "c17",
- "cppStandard": "c++14",
- "intelliSenseMode": "linux-gcc-arm64"
- }
- ],
- "version": 4
-}
+ "configurations": [
+ {
+ "name": "DKP aarch64",
+ "includePath": [
+ "${env:DEVKITPRO}/devkitA64/aarch64-none-elf/include/**",
+ "${env:DEVKITPRO}/devkitARM/arm-none-eabi/include/**",
+ "${env:DEVKITPRO}/devkitA64/lib/gcc/aarch64-none-elf/13.2.0/include/**",
+ "${env:DEVKITPRO}/libnx/include/**",
+ "${env:DEVKITPRO}/portlibs/switch/include/**",
+ "${workspaceFolder}/include/**",
+ "${workspaceFolder}/lib/Plutonium/include/**",
+ "/usr/local/include/**",
+ "/opt/homebrew/opt/lz4/include/**",
+ "/opt/devkitpro/devkitA64/aarch64-none-elf/include/machine"
+ ],
+ "defines": [
+ "SWITCH",
+ "__SWITCH__",
+ "DEBUG",
+ "__BSD_VISIBLE"
+ ],
+ "compilerPath": "${env:DEVKITPRO}/devkitA64/bin/aarch64-none-elf-g++",
+ "cStandard": "c17",
+ "cppStandard": "c++14",
+ "intelliSenseMode": "linux-gcc-arm64"
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 67b7939..0df8e3f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -3,30 +3,23 @@
"string.h": "c",
"stdlib.h": "c",
"switch.h": "c",
- "psm.h": "c",
- "vector": "cpp",
- "any": "cpp",
+ "optional": "cpp",
"array": "cpp",
+ "mutex": "cpp",
+ "any": "cpp",
"atomic": "cpp",
- "barrier": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"bitset": "cpp",
"cctype": "cpp",
- "cfenv": "cpp",
"charconv": "cpp",
"chrono": "cpp",
- "cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"compare": "cpp",
- "complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
- "coroutine": "cpp",
- "csetjmp": "cpp",
- "csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
@@ -34,7 +27,6 @@
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
- "cuchar": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
@@ -44,20 +36,16 @@
"set": "cpp",
"string": "cpp",
"unordered_map": "cpp",
- "unordered_set": "cpp",
+ "vector": "cpp",
"exception": "cpp",
- "expected": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
- "optional": "cpp",
"random": "cpp",
"ratio": "cpp",
- "regex": "cpp",
- "source_location": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
@@ -65,37 +53,48 @@
"utility": "cpp",
"format": "cpp",
"fstream": "cpp",
- "future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
- "latch": "cpp",
"limits": "cpp",
- "mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"ranges": "cpp",
- "scoped_allocator": "cpp",
"semaphore": "cpp",
- "shared_mutex": "cpp",
"span": "cpp",
- "spanstream": "cpp",
"sstream": "cpp",
- "stacktrace": "cpp",
"stdexcept": "cpp",
- "stdfloat": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
- "syncstream": "cpp",
"thread": "cpp",
- "typeindex": "cpp",
+ "cinttypes": "cpp",
"typeinfo": "cpp",
"valarray": "cpp",
"variant": "cpp",
"filesystem": "cpp",
- "plutonium": "cpp"
+ "plutonium": "cpp",
+ "barrier": "cpp",
+ "cfenv": "cpp",
+ "complex": "cpp",
+ "coroutine": "cpp",
+ "csetjmp": "cpp",
+ "csignal": "cpp",
+ "cuchar": "cpp",
+ "unordered_set": "cpp",
+ "expected": "cpp",
+ "regex": "cpp",
+ "source_location": "cpp",
+ "future": "cpp",
+ "latch": "cpp",
+ "scoped_allocator": "cpp",
+ "shared_mutex": "cpp",
+ "spanstream": "cpp",
+ "stacktrace": "cpp",
+ "stdfloat": "cpp",
+ "syncstream": "cpp",
+ "typeindex": "cpp"
}
}
\ No newline at end of file
diff --git a/Makefile b/Makefile
index c894e4d..b2a96f1 100644
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@ ARCH := -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIE
CFLAGS += -g -O2 -ffunction-sections \
$(ARCH) $(DEFINES)
-CFLAGS += $(INCLUDE) -D__SWITCH__
+CFLAGS += $(INCLUDE) -D__SWITCH__ -D_GNU_SOURCE=1
CXXFLAGS:= $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++17
@@ -153,8 +153,7 @@ $(BUILD):
#---------------------------------------------------------------------------------
clean:
@echo clean ...
- @rm -fr $(BUILD) $(TARGET).pfs0 $(TARGET).nso $(TARGET).nro $(TARGET).nacp $(TARGET).elf
-
+ @rm -fr $(BUILD) $(TARGET).pfs0 $(TARGET).nso $(TARGET).nro $(TARGET).nacp $(TARGET).elf $(TARGET).lst
#---------------------------------------------------------------------------------
send: $(BUILD)
diff --git a/NXST.lst b/NXST.lst
deleted file mode 100644
index 3ad15de..0000000
--- a/NXST.lst
+++ /dev/null
@@ -1,2 +0,0 @@
--CSn
-/Users/n.fedorov/dev/NXST/NXST.elf
diff --git a/cleanup b/cleanup
deleted file mode 100755
index 344a357..0000000
--- a/cleanup
+++ /dev/null
@@ -1,10 +0,0 @@
-rm build/ -r || true
-
-# TRY to remove Iridium.nsp, ignore if it fails
-
-rm Iridium.nro || true
-rm Iridium.nacp || true
-rm Iridium.elf || true
-rm Iridium.lst || true
-
-
diff --git a/compile_commands.json b/compile_commands.json
deleted file mode 100644
index 3f01e6a..0000000
--- a/compile_commands.json
+++ /dev/null
@@ -1,428 +0,0 @@
-[
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/Main.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/Main.cpp",
- "-o",
- "Main.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/Main.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/MainApplication.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/MainApplication.cpp",
- "-o",
- "MainApplication.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/MainApplication.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/TitlesLayout.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/TitlesLayout.cpp",
- "-o",
- "TitlesLayout.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/TitlesLayout.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/UsersLayout.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/UsersLayout.cpp",
- "-o",
- "UsersLayout.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/UsersLayout.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/data.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/data.cpp",
- "-o",
- "data.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/data.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/fs.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/fs.cpp",
- "-o",
- "fs.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/fs.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/ldn.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/ldn.cpp",
- "-o",
- "ldn.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/ldn.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/threads.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/threads.cpp",
- "-o",
- "threads.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/threads.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/util.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/util.cpp",
- "-o",
- "util.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/util.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/dir.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/fs/dir.cpp",
- "-o",
- "dir.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/fs/dir.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/file.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/fs/file.cpp",
- "-o",
- "file.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/fs/file.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-g++",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/zip.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-fno-rtti",
- "-fno-exceptions",
- "-std=gnu++17",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/fs/zip.cpp",
- "-o",
- "zip.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/fs/zip.cpp"
- },
- {
- "directory": "/Users/n.fedorov/dev/NXST",
- "arguments": [
- "aarch64-none-elf-gcc",
- "-MMD",
- "-MP",
- "-MF",
- "/Users/n.fedorov/dev/NXST/build/fsfile.d",
- "-g",
- "-O2",
- "-ffunction-sections",
- "-march=armv8-a+crc+crypto",
- "-mtune=cortex-a57",
- "-mtp=soft",
- "-fPIE",
- "-I/Users/n.fedorov/dev/NXST/include",
- "-I/Users/n.fedorov/dev/NXST/include/fs",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/opt/devkitpro/portlibs/switch/include",
- "-I/opt/devkitpro/libnx/include",
- "-I/Users/n.fedorov/dev/NXST/lib/Plutonium/include",
- "-I/Users/n.fedorov/dev/NXST/build",
- "-D__SWITCH__",
- "-c",
- "/Users/n.fedorov/dev/NXST/source/fs/fsfile.c",
- "-o",
- "fsfile.o"
- ],
- "file": "/Users/n.fedorov/dev/NXST/source/fs/fsfile.c"
- }
-]
diff --git a/deps/asprintf/asprintf.c b/deps/asprintf/asprintf.c
new file mode 100644
index 0000000..1d25035
--- /dev/null
+++ b/deps/asprintf/asprintf.c
@@ -0,0 +1,37 @@
+#include
+#include
+
+#include "asprintf.h"
+
+int vasprintf(char **strp, const char *fmt, va_list ap) {
+ int size, res;
+
+ va_list cp;
+ va_copy(cp, ap);
+ size = vsnprintf(NULL, 0, fmt, cp);
+ va_end(cp);
+ if (size < 0)
+ return -1;
+
+ *strp = (char *)malloc(size + 1);
+ if (*strp == NULL)
+ return -1;
+
+ res = vsnprintf(*strp, size + 1, fmt, ap);
+ if (res < 0) {
+ free(*strp);
+ return -1;
+ }
+
+ return res;
+}
+
+int asprintf(char **s, const char *fmt, ...) {
+ int ret;
+
+ va_list ap;
+ va_start(ap, fmt);
+ ret = vasprintf(s, fmt, ap);
+ va_end(ap);
+ return ret;
+}
diff --git a/deps/asprintf/asprintf.h b/deps/asprintf/asprintf.h
new file mode 100644
index 0000000..3b40a04
--- /dev/null
+++ b/deps/asprintf/asprintf.h
@@ -0,0 +1,10 @@
+#ifndef HAVE_ASPRINTF
+#define HAVE_ASPRINTF 1
+
+#include
+
+int vasprintf(char **strp, const char *fmt, va_list ap);
+
+int asprintf(char **s, const char *fmt, ...);
+
+#endif
diff --git a/deps/asprintf/clib.json b/deps/asprintf/clib.json
new file mode 100644
index 0000000..4e2b86d
--- /dev/null
+++ b/deps/asprintf/clib.json
@@ -0,0 +1,9 @@
+{
+ "name": "asprintf",
+ "version": "1.0.0",
+ "repo": "Neved4/asprintf",
+ "description": "asprintf, vasprintf - print to allocated string",
+ "license": "MIT",
+ "keywords": ["asprintf", "sprintf", "alloc", "string"],
+ "src": ["asprintf.c", "asprintf.h"]
+}
diff --git a/include/.DS_Store b/include/.DS_Store
deleted file mode 100644
index 5008ddf..0000000
Binary files a/include/.DS_Store and /dev/null differ
diff --git a/include/TitlesLayout.hpp b/include/TitlesLayout.hpp
index 747a1a2..038b53b 100644
--- a/include/TitlesLayout.hpp
+++ b/include/TitlesLayout.hpp
@@ -1,6 +1,6 @@
#include
#include
-#include
+#include
namespace ui {
class TitlesLayout : public pu::ui::Layout {
diff --git a/include/account.hpp b/include/account.hpp
new file mode 100644
index 0000000..b22c07b
--- /dev/null
+++ b/include/account.hpp
@@ -0,0 +1,74 @@
+/*
+ * This file is part of Checkpoint
+ * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Additional Terms 7.b and 7.c of GPLv3 apply to this file:
+ * * Requiring preservation of specified reasonable legal notices or
+ * author attributions in that material or in the Appropriate Legal
+ * Notices displayed by works containing it.
+ * * Prohibiting misrepresentation of the origin of that material,
+ * or requiring that modified versions of such material be marked in
+ * reasonable ways as different from the original version.
+ */
+
+#ifndef ACCOUNT_HPP
+#define ACCOUNT_HPP
+
+#include