Refactor codebase and complete implementation

- Consolidate development files into final implementation
- Replace basic prototypes with full feature implementations
- Add complete hash-based save data access system
- Implement advanced map pin management algorithms
- Add comprehensive error handling and user feedback
- Complete Korok seed database with all 908 locations
This commit is contained in:
badblocks 2023-05-24 09:08:09 -07:00
parent 07db2a4d8d
commit 6bff4b6fcd
No known key found for this signature in database
20 changed files with 2011 additions and 281 deletions

44
source/ui.h Normal file
View file

@ -0,0 +1,44 @@
#ifndef UI_H
#define UI_H
typedef void (*func_t)();
typedef struct {
char ItemStr[30];
func_t ItemFunc;
} MenuItem;
typedef struct {
char HeaderStr[30];
u32 ItemCount;
u32 StartLine;
u32 SelectedIndex;
MenuItem *Menu_Items;
} Menu;
void _clearScreen();
void _drawMenu();
void loadMenu(Menu* menu);
void _confirm_no();
void confirmThenRunElse(func_t yes_func, func_t no_func);
void confirmThenRun(func_t yes_func);
void _setCursorPos(u32 x_pos, u32 y_pos);
void handleMenuButtonPress(u64 button);
bool handleButtonPress(u64 button);
void printMessage(const char* message, ...);
void printfAtCursor(u32 x_pos, u32 y_pos, const char* format, ...) ;
void _drawMessagePane();
void initUI();
void exitApp();
void saveAndExitApp();
/*#define MENU_START_LINEE 21
#define MENU_END_LINEE 25
enum menu_items {
none = MENU_START_LINEE-1,
add_missing_koroks,
erase_all_map_pins,
convert_invalid_map_pins,
save_file,
exit_app
};*/
#endif