Integrate UI system into main application

- Add UI initialization to main loop
- Use UI message system instead of direct printf
- Improve exit handling with boolean flag
- Add line buffering for better output
This commit is contained in:
badblocks 2023-05-17 17:09:32 -07:00
parent e01d96b2eb
commit d689902de7
No known key found for this signature in database

View file

@ -3,9 +3,11 @@
#include <stdlib.h> #include <stdlib.h>
#include <switch.h> #include <switch.h>
#include "save_basic.h" #include "save_basic.h"
#include "ui_basic.h"
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
setvbuf(stdout, NULL, _IONBF, BUFSIZ);
consoleInit(NULL); consoleInit(NULL);
// Configure input // Configure input
@ -13,17 +15,22 @@ int main(int argc, char **argv)
PadState pad; PadState pad;
padInitializeDefault(&pad); padInitializeDefault(&pad);
printf("BOTW Save Tool v0.2\n"); // Initialize UI
printf("Press A to test save loading\n"); initUI();
printf("Press + to exit\n");
printMessage("Press A to test save loading\n");
printMessage("Press + to exit\n");
bool exit = false;
// Main loop // Main loop
while(appletMainLoop()) while(appletMainLoop() && !exit)
{ {
padUpdate(&pad); padUpdate(&pad);
u64 kDown = padGetButtonsDown(&pad); u64 kDown = padGetButtonsDown(&pad);
if (kDown & HidNpadButton_Plus) break; exit = handleButtonPress(kDown);
if (kDown & HidNpadButton_A) { if (kDown & HidNpadButton_A) {
openSave(); openSave();
processSave(); processSave();