mirror of
https://github.com/Ryuzaki-MrL/savemii.git
synced 2026-04-19 00:47:20 -05:00
commit
b16d42d2ed
1
.github/workflows/main.yml
vendored
1
.github/workflows/main.yml
vendored
|
|
@ -6,6 +6,7 @@ on:
|
|||
push:
|
||||
branches:
|
||||
- refactor
|
||||
- configMenu
|
||||
|
||||
jobs:
|
||||
build-binary:
|
||||
|
|
|
|||
3
include/configMenu.h
Normal file
3
include/configMenu.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#pragma once
|
||||
|
||||
void configMenu();
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
typedef enum Button {
|
||||
PAD_BUTTON_A,
|
||||
PAD_BUTTON_B,
|
||||
PAD_BUTTON_X,
|
||||
PAD_BUTTON_UP,
|
||||
PAD_BUTTON_DOWN,
|
||||
PAD_BUTTON_LEFT,
|
||||
|
|
|
|||
|
|
@ -5,11 +5,10 @@
|
|||
|
||||
class Date {
|
||||
public:
|
||||
Date(uint32_t high, uint32_t low, uint8_t s) {
|
||||
highID = high;
|
||||
lowID = low;
|
||||
slot = s;
|
||||
path = stringFormat("sd:/wiiu/backups/%08x%08x/%u/savemiiMeta.json", highID, lowID, slot);
|
||||
Date(uint32_t high, uint32_t low, uint8_t s) : highID(high),
|
||||
lowID(low),
|
||||
slot(s),
|
||||
path(stringFormat("sd:/wiiu/backups/%08x%08x/%u/savemiiMeta.json", highID, lowID, slot)) {
|
||||
}
|
||||
std::string get();
|
||||
bool set(std::string date);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <romfs-wiiu.h>
|
||||
#include <string>
|
||||
#include <wut_types.h>
|
||||
|
||||
#include <coreinit/memdefaultheap.h>
|
||||
|
|
@ -26,6 +27,7 @@ typedef enum {
|
|||
} Swkbd_LanguageType;
|
||||
|
||||
void loadLanguage(Swkbd_LanguageType language) __attribute__((cold));
|
||||
std::string getLoadedLanguage();
|
||||
Swkbd_LanguageType getSystemLanguage() __attribute__((cold));
|
||||
bool gettextLoadLanguage(const char *langFile);
|
||||
void gettextCleanUp() __attribute__((__cold__));
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#endif
|
||||
|
||||
bool WHBLogFreetypeInit() __attribute__((cold));
|
||||
bool setFont(OSSharedDataType font);
|
||||
void WHBLogFreetypeFree() __attribute__((cold));
|
||||
void drawPixel(int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
|
||||
void ttfFontColor32(uint32_t color);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,12 @@
|
|||
#include <mocha/disc_interface.h>
|
||||
#include <mocha/mocha.h>
|
||||
|
||||
#define PATH_SIZE 0x400
|
||||
#define PATH_SIZE 0x400
|
||||
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 4
|
||||
#define VERSION_MICRO 9
|
||||
#define M_OFF 1
|
||||
|
||||
typedef struct {
|
||||
uint32_t highID;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
" Wii U Save Management (%u Title%s)": " Wii U保存数据管理(%u 软件%s)",
|
||||
" vWii Save Management (%u Title%s)": " vWii保存数据管理(%u 软件%s)",
|
||||
" Batch Backup": " 批量备份",
|
||||
"\ue000: Select Mode": "\ue000:选择模式",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002:选项 \ue000:选择模式",
|
||||
" Backup All (%u Title%s)": " 备份所有保存数据(%u 软件%s)",
|
||||
" Backup Wii U (%u Title%s)": " 备份Wii U软件的保存数据(%u 软件%s)",
|
||||
" Backup vWii (%u Title%s)": " 备份vWii软件的保存数据(%u 软件%s)",
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
" Wii U Save Management (%u Title%s)": " Wii U保存資料管理(%u軟體%s)",
|
||||
" vWii Save Management (%u Title%s)": " vWii保存資料管理(%u軟體%s)",
|
||||
" Batch Backup": " 批量備份",
|
||||
"\ue000: Select Mode": "\ue000:選擇模式",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002:選項 \ue000:選擇模式",
|
||||
" Backup All (%u Title%s)": " 全部備份(%u 標題%s)",
|
||||
" Backup Wii U (%u Title%s)": " 備份Wii U軟體(%u Title%s)",
|
||||
" Backup vWii (%u Title%s)": " 備份vWii軟體(%u軟體%s)",
|
||||
|
|
@ -95,4 +95,4 @@
|
|||
"Failed to delete user folder.\n%s": "無法刪除使用者資料夾。\n%s",
|
||||
"Failed to import savedata from loadiine.": "無法從loadiine導入保存數據。",
|
||||
"Failed to export savedata to loadiine.": "無法導出保存數據到Loadiine。"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,98 +1,98 @@
|
|||
{
|
||||
"Disclaimer:": "",
|
||||
"There is always the potential for a brick.": "",
|
||||
"Everything you do with this software is your own responsibility": "",
|
||||
"Out of memory.": "",
|
||||
"Loaded %i Wii U titles.": "",
|
||||
"%s%s (No banner.bin)": "",
|
||||
"Loaded %i Wii titles.": "",
|
||||
"None": "",
|
||||
"Name": "",
|
||||
"Storage": "",
|
||||
"Storage+Name": "",
|
||||
"initFS failed. Please make sure your MochaPayload is up-to-date": "",
|
||||
" Wii U Save Management (%u Title%s)": "",
|
||||
" vWii Save Management (%u Title%s)": "",
|
||||
" Batch Backup": "",
|
||||
"\ue000: Select Mode": "",
|
||||
" Backup All (%u Title%s)": "",
|
||||
" Backup Wii U (%u Title%s)": "",
|
||||
" Backup vWii (%u Title%s)": "",
|
||||
"\ue000: Backup \ue001: Back": "",
|
||||
"%s Sort: %s \ue084": "",
|
||||
" [Not Init]": "",
|
||||
"\ue000: Select Game \ue001: Back": "",
|
||||
" Backup savedata": "",
|
||||
" Restore savedata": "",
|
||||
" Wipe savedata": "",
|
||||
" Import from loadiine": "",
|
||||
" Export to loadiine": "",
|
||||
" Copy Savedata to Title in %s": "",
|
||||
"\ue000: Select Task \ue001: Back": "",
|
||||
"Destination:": "",
|
||||
"Select %s:": "",
|
||||
"version": "",
|
||||
"Delete from:": "",
|
||||
"slot": "",
|
||||
"Empty": "",
|
||||
"Used": "",
|
||||
"Select SD user to copy from:": "",
|
||||
"all users": "",
|
||||
"Has Save": "",
|
||||
"Select Wii U user to delete from:": "",
|
||||
"Select Wii U user%s:": "",
|
||||
" to copy from": "",
|
||||
" to copy to": "",
|
||||
"Date: %s": "",
|
||||
"Include 'common' save?": "",
|
||||
"yes": "",
|
||||
"no ": "",
|
||||
"No 'common' save found.": "",
|
||||
"\ue000: Restore \ue001: Back": "",
|
||||
"\ue000: Wipe \ue001: Back": "",
|
||||
"\ue000: Import \ue001: Back": "",
|
||||
"\ue000: Export \ue001: Back": "",
|
||||
"\ue000: Copy \ue001: Back": "",
|
||||
"Press \ue044 to exit.": "",
|
||||
"No Wii U titles found.": "",
|
||||
"No vWii saves found.": "",
|
||||
"CBHC save. Could be dangerous to modify. Continue?": "",
|
||||
"Are you REALLY sure?": "",
|
||||
"vWii saves are in the vWii section. Continue?": "",
|
||||
"Recommended to run Game at least one time. Continue?": "",
|
||||
"No save to Backup.": "",
|
||||
"No save to Wipe.": "",
|
||||
"No save to Export.": "",
|
||||
"No save to Copy.": "",
|
||||
"Copying file: %s": "",
|
||||
"From: %s": "",
|
||||
"To: %s": "",
|
||||
"\ue000 Yes - \ue001 No": "",
|
||||
"\ue000 Confirm - \ue001 Cancel": "",
|
||||
"Filesize: %d bytes": "",
|
||||
"Deleting folder %s": "",
|
||||
"From: \n%s": "",
|
||||
"Failed to delete folder %s\n%s": "",
|
||||
"Deleting file %s": "",
|
||||
"Failed to delete file %s\n%s": "",
|
||||
"Loadiine game folder not found.": "",
|
||||
"Failed to open Loadiine game save directory.": "",
|
||||
"Are you sure?": "",
|
||||
"Backup current savedata first to next empty slot?": "",
|
||||
"Backup done. Now copying Savedata.": "",
|
||||
"Common save not found.": "",
|
||||
"Copy failed.": "",
|
||||
"Backup failed.": "",
|
||||
"Backup found on this slot. Overwrite it?": "",
|
||||
"No save found for this user.": "",
|
||||
"Backup failed. DO NOT restore from this slot.": "",
|
||||
"No backup found on selected slot.": "",
|
||||
"Restore failed.": "",
|
||||
"Hm, are you REALLY sure?": "",
|
||||
"Backup current savedata first?": "",
|
||||
"Failed to delete common folder.\n%s": "",
|
||||
"Failed to delete savefile.": "",
|
||||
"Failed to delete user folder.\n%s": "",
|
||||
"Failed to import savedata from loadiine.": "",
|
||||
"Failed to export savedata to loadiine.": ""
|
||||
"Disclaimer:": "Disclaimer:",
|
||||
"There is always the potential for a brick.": "There is always the potential for a brick.",
|
||||
"Everything you do with this software is your own responsibility": "Everything you do with this software is your own responsibility",
|
||||
"Out of memory.": "Out of memory.",
|
||||
"Loaded %i Wii U titles.": "Loaded %i Wii U titles.",
|
||||
"%s%s (No banner.bin)": "%s%s (No banner.bin)",
|
||||
"Loaded %i Wii titles.": "Loaded %i Wii titles.",
|
||||
"None": "None",
|
||||
"Name": "Name",
|
||||
"Storage": "Storage",
|
||||
"Storage+Name": "Storage+Name",
|
||||
"initFS failed. Please make sure your MochaPayload is up-to-date": "initFS failed. Please make sure your MochaPayload is up-to-date",
|
||||
" Wii U Save Management (%u Title%s)": " Wii U Save Management (%u Title%s)",
|
||||
" vWii Save Management (%u Title%s)": " vWii Save Management (%u Title%s)",
|
||||
" Batch Backup": " Batch Backup",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: Options \ue000: Select Mode",
|
||||
" Backup All (%u Title%s)": " Backup All (%u Title%s)",
|
||||
" Backup Wii U (%u Title%s)": " Backup Wii U (%u Title%s)",
|
||||
" Backup vWii (%u Title%s)": " Backup vWii (%u Title%s)",
|
||||
"\ue000: Backup \ue001: Back": "\ue000: Backup \ue001: Back",
|
||||
"%s Sort: %s \ue084": "%s Sort: %s \ue084",
|
||||
" [Not Init]": " [Not Init]",
|
||||
"\ue000: Select Game \ue001: Back": "\ue000: Select Game \ue001: Back",
|
||||
" Backup savedata": " Backup savedata",
|
||||
" Restore savedata": " Restore savedata",
|
||||
" Wipe savedata": " Wipe savedata",
|
||||
" Import from loadiine": " Import from loadiine",
|
||||
" Export to loadiine": " Export to loadiine",
|
||||
" Copy Savedata to Title in %s": " Copy Savedata to Title in %s",
|
||||
"\ue000: Select Task \ue001: Back": "\ue000: Select Task \ue001: Back",
|
||||
"Destination:": "Destination:",
|
||||
"Select %s:": "Select %s:",
|
||||
"version": "version",
|
||||
"Delete from:": "Delete from:",
|
||||
"slot": "slot",
|
||||
"Empty": "Empty",
|
||||
"Used": "Used",
|
||||
"Select SD user to copy from:": "Select SD user to copy from:",
|
||||
"all users": "all users",
|
||||
"Has Save": "Has Save",
|
||||
"Select Wii U user to delete from:": "Select Wii U user to delete from:",
|
||||
"Select Wii U user%s:": "Select Wii U user%s:",
|
||||
" to copy from": " to copy from",
|
||||
" to copy to": " to copy to",
|
||||
"Date: %s": "Date: %s",
|
||||
"Include 'common' save?": "Include 'common' save?",
|
||||
"yes": "yes",
|
||||
"no ": "no ",
|
||||
"No 'common' save found.": "No 'common' save found.",
|
||||
"\ue000: Restore \ue001: Back": "\ue000: Restore \ue001: Back",
|
||||
"\ue000: Wipe \ue001: Back": "\ue000: Wipe \ue001: Back",
|
||||
"\ue000: Import \ue001: Back": "\ue000: Import \ue001: Back",
|
||||
"\ue000: Export \ue001: Back": "\ue000: Export \ue001: Back",
|
||||
"\ue000: Copy \ue001: Back": "\ue000: Copy \ue001: Back",
|
||||
"Press \ue044 to exit.": "Press \ue044 to exit.",
|
||||
"No Wii U titles found.": "No Wii U titles found.",
|
||||
"No vWii saves found.": "No vWii saves found.",
|
||||
"CBHC save. Could be dangerous to modify. Continue?": "CBHC save. Could be dangerous to modify. Continue?",
|
||||
"Are you REALLY sure?": "Are you REALLY sure?",
|
||||
"vWii saves are in the vWii section. Continue?": "vWii saves are in the vWii section. Continue?",
|
||||
"Recommended to run Game at least one time. Continue?": "Recommended to run Game at least one time. Continue?",
|
||||
"No save to Backup.": "No save to Backup.",
|
||||
"No save to Wipe.": "No save to Wipe.",
|
||||
"No save to Export.": "No save to Export.",
|
||||
"No save to Copy.": "No save to Copy.",
|
||||
"Copying file: %s": "Copying file: %s",
|
||||
"From: %s": "From: %s",
|
||||
"To: %s": "To: %s",
|
||||
"\ue000 Yes - \ue001 No": "\ue000 Yes - \ue001 No",
|
||||
"\ue000 Confirm - \ue001 Cancel": "\ue000 Confirm - \ue001 Cancel",
|
||||
"Filesize: %d bytes": "Filesize: %d bytes",
|
||||
"Deleting folder %s": "Deleting folder %s",
|
||||
"From: \n%s": "From: \n%s",
|
||||
"Failed to delete folder %s\n%s": "Failed to delete folder %s\n%s",
|
||||
"Deleting file %s": "Deleting file %s",
|
||||
"Failed to delete file %s\n%s": "Failed to delete file %s\n%s",
|
||||
"Loadiine game folder not found.": "Loadiine game folder not found.",
|
||||
"Failed to open Loadiine game save directory.": "Failed to open Loadiine game save directory.",
|
||||
"Are you sure?": "Are you sure?",
|
||||
"Backup current savedata first to next empty slot?": "Backup current savedata first to next empty slot?",
|
||||
"Backup done. Now copying Savedata.": "Backup done. Now copying Savedata.",
|
||||
"Common save not found.": "Common save not found.",
|
||||
"Copy failed.": "Copy failed.",
|
||||
"Backup failed.": "Backup failed.",
|
||||
"Backup found on this slot. Overwrite it?": "Backup found on this slot. Overwrite it?",
|
||||
"No save found for this user.": "No save found for this user.",
|
||||
"Backup failed. DO NOT restore from this slot.": "Backup failed. DO NOT restore from this slot.",
|
||||
"No backup found on selected slot.": "No backup found on selected slot.",
|
||||
"Restore failed.": "Restore failed.",
|
||||
"Hm, are you REALLY sure?": "Hm, are you REALLY sure?",
|
||||
"Backup current savedata first?": "Backup current savedata first?",
|
||||
"Failed to delete common folder.\n%s": "Failed to delete common folder.\n%s",
|
||||
"Failed to delete savefile.": "Failed to delete savefile.",
|
||||
"Failed to delete user folder.\n%s": "Failed to delete user folder.\n%s",
|
||||
"Failed to import savedata from loadiine.": "Failed to import savedata from loadiine.",
|
||||
"Failed to export savedata to loadiine.": "Failed to export savedata to loadiine."
|
||||
}
|
||||
|
|
@ -14,14 +14,14 @@
|
|||
" Wii U Save Management (%u Title%s)": " Gestione di salvataggio Wii U (%u Titolo%s)",
|
||||
" vWii Save Management (%u Title%s)": " gestione di salvataggio vWii (%u Titolo%s)",
|
||||
" Batch Backup": " Backup Batch",
|
||||
"\ue000: Select Mode": "\ue000: Seleziona La Modalità",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: Opzioni \ue000: Seleziona La Modalità",
|
||||
" Backup All (%u Title%s)": " Backup di tutto (%u titolo%s)",
|
||||
" Backup Wii U (%u Title%s)": " Backup Wii U (%u Titolo%s)",
|
||||
" Backup vWii (%u Title%s)": " Backup vWii (%u Titolo%s)",
|
||||
"\ue000: Backup \ue001: Back": "\ue000: Backup <unk>: Indietro",
|
||||
"\ue000: Backup \ue001: Back": "\ue000: Backup \ue001: Indietro",
|
||||
"%s Sort: %s \ue084": "%s Ordinamento: %s \ue084",
|
||||
" [Not Init]": " [Non Init]",
|
||||
"\ue000: Select Game \ue001: Back": "\ue000: Seleziona Partita \ue001:Indietro",
|
||||
"\ue000: Select Game \ue001: Back": "\ue000: Seleziona Partita \ue001: Indietro",
|
||||
" Backup savedata": " Backup salvataggio",
|
||||
" Restore savedata": " Ripristina salvataggio",
|
||||
" Wipe savedata": " Pulisci salvataggio",
|
||||
|
|
@ -44,15 +44,15 @@
|
|||
" to copy from": " per copiare da",
|
||||
" to copy to": " per copiare su",
|
||||
"Date: %s": "Data: %s",
|
||||
"Include 'common' save?": "Includi salvataggio 'comuni'?",
|
||||
"Include 'common' save?": "Includi salvataggio 'common'?",
|
||||
"yes": "sì",
|
||||
"no ": "no ",
|
||||
"No 'common' save found.": "Nessun salvataggio 'comune' trovato.",
|
||||
"\ue000: Restore \ue001: Back": "\ue000: Ripristina \ue001: Indietro",
|
||||
"\ue000: Wipe \ue001: Back": "\ue000: Pulire \ue001:Indietro",
|
||||
"\ue000: Import \ue001: Back": "\ue000: Importa \ue001:Indietro",
|
||||
"\ue000: Export \ue001: Back": "\ue000: Esporta \ue001:Indietro",
|
||||
"\ue000: Copy \ue001: Back": "\ue000: Copia \ue001:Indietro",
|
||||
"\ue000: Wipe \ue001: Back": "\ue000: Pulire \ue001: Indietro",
|
||||
"\ue000: Import \ue001: Back": "\ue000: Importa \ue001: Indietro",
|
||||
"\ue000: Export \ue001: Back": "\ue000: Esporta \ue001: Indietro",
|
||||
"\ue000: Copy \ue001: Back": "\ue000: Copia \ue001: Indietro",
|
||||
"Press \ue044 to exit.": "Premi \ue044 per uscire.",
|
||||
"No Wii U titles found.": "Nessun titolo Wii U trovato.",
|
||||
"No vWii saves found.": "Nessun salvataggio vWii trovato.",
|
||||
|
|
@ -70,11 +70,11 @@
|
|||
"\ue000 Yes - \ue001 No": "\ue000 Sì - \ue001 No",
|
||||
"\ue000 Confirm - \ue001 Cancel": "\ue000 Conferma - \ue001 Annulla",
|
||||
"Filesize: %d bytes": "Dimensione file: %d byte",
|
||||
"Deleting folder %s": "Eliminazione cartella '%s'",
|
||||
"From: \n%s": "Da: %s",
|
||||
"Failed to delete folder %s\n%s": "Non è stato possibile eliminare il file %s %s",
|
||||
"Deleting file %s": "Eliminazione cartella '%s'",
|
||||
"Failed to delete file %s\n%s": "Non è stato possibile eliminare il file %s %s",
|
||||
"Deleting folder %s": "Eliminazione cartella %s",
|
||||
"From: \n%s": "Da: \n%s",
|
||||
"Failed to delete folder %s\n%s": "Non è stato possibile eliminare il file %s\n%s",
|
||||
"Deleting file %s": "Eliminazione cartella %s",
|
||||
"Failed to delete file %s\n%s": "Non è stato possibile eliminare il file %s\n%s",
|
||||
"Loadiine game folder not found.": "Cartella di gioco Loadiine non trovata.",
|
||||
"Failed to open Loadiine game save directory.": "Apertura della directory di salvataggio del gioco Loadiine non riuscita.",
|
||||
"Are you sure?": "Sei sicuro?",
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
"Backup current savedata first?": "Salvare prima il salvataggio corrente?",
|
||||
"Failed to delete common folder.\n%s": "Impossibile eliminare la cartella comune.\n%s",
|
||||
"Failed to delete savefile.": "Non è stato possibile eliminare il salvataggio.",
|
||||
"Failed to delete user folder.\n%s": "Impossibile eliminare la cartella. %s",
|
||||
"Failed to delete user folder.\n%s": "Impossibile eliminare la cartella.\n%s",
|
||||
"Failed to import savedata from loadiine.": "Impossibile importare salvataggi da loadiine.",
|
||||
"Failed to export savedata to loadiine.": "Impossibile importare salvataggi da loadiine."
|
||||
}
|
||||
|
|
@ -11,23 +11,23 @@
|
|||
"Storage": "ストレージ",
|
||||
"Storage+Name": "ストレージ+名前",
|
||||
"initFS failed. Please make sure your MochaPayload is up-to-date": "initFS が失敗しました。 MochaPayload が最新であることを確認してください",
|
||||
" Wii U Save Management (%u Title%s)": "Wii U セーブ管理 (%u タイトル%s)",
|
||||
" vWii Save Management (%u Title%s)": "vWii セーブ管理 (%u タイトル%s)",
|
||||
" Batch Backup": "バッチバックアップ",
|
||||
"\ue000: Select Mode": "\ue000: モードの選択",
|
||||
" Backup All (%u Title%s)": "すべてバックアップ (%u タイトル%s)",
|
||||
" Backup Wii U (%u Title%s)": "バックアップ Wii U (%u タイトル%s)",
|
||||
" Backup vWii (%u Title%s)": "バックアップ vWii (%u タイトル%s)",
|
||||
" Wii U Save Management (%u Title%s)": " Wii U セーブ管理 (%u タイトル%s)",
|
||||
" vWii Save Management (%u Title%s)": " vWii セーブ管理 (%u タイトル%s)",
|
||||
" Batch Backup": " バッチバックアップ",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: オプション \ue000: モードの選択",
|
||||
" Backup All (%u Title%s)": " すべてバックアップ (%u タイトル%s)",
|
||||
" Backup Wii U (%u Title%s)": " バックアップ Wii U (%u タイトル%s)",
|
||||
" Backup vWii (%u Title%s)": " バックアップ vWii (%u タイトル%s)",
|
||||
"\ue000: Backup \ue001: Back": "\ue000: バックアップ \ue001: 戻る",
|
||||
"%s Sort: %s \ue084": "%s 並べ替え: %s \ue084",
|
||||
" [Not Init]": "[初期化しない]",
|
||||
"\ue000: Select Game \ue001: Back": "\ue000: ゲームを選択 \ue001: 戻る",
|
||||
" Backup savedata": "セーブデータのバックアップ",
|
||||
" Restore savedata": "セーブデータの復元",
|
||||
" Wipe savedata": "セーブデータを消去",
|
||||
" Import from loadiine": "ローディーンからインポート",
|
||||
" Export to loadiine": "ローディーンにエクスポート",
|
||||
" Copy Savedata to Title in %s": "セーブデータを %s のタイトルにコピー",
|
||||
" Backup savedata": " セーブデータのバックアップ",
|
||||
" Restore savedata": " セーブデータの復元",
|
||||
" Wipe savedata": " セーブデータを消去",
|
||||
" Import from loadiine": " ローディーンからインポート",
|
||||
" Export to loadiine": " ローディーンにエクスポート",
|
||||
" Copy Savedata to Title in %s": " セーブデータを %s のタイトルにコピー",
|
||||
"\ue000: Select Task \ue001: Back": "\ue000: タスクを選択 \ue001: 戻る",
|
||||
"Destination:": "行き先:",
|
||||
"Select %s:": "%s を選択:",
|
||||
|
|
@ -41,8 +41,8 @@
|
|||
"Has Save": "保存あり",
|
||||
"Select Wii U user to delete from:": "削除するWii Uユーザーを選択:",
|
||||
"Select Wii U user%s:": "Wii Uユーザー%sを選択:",
|
||||
" to copy from": "からコピーする",
|
||||
" to copy to": "コピーする",
|
||||
" to copy from": " からコピーする",
|
||||
" to copy to": " コピーする",
|
||||
"Date: %s": "日付: %s",
|
||||
"Include 'common' save?": "「共通」保存を含めますか?",
|
||||
"yes": "はい",
|
||||
|
|
@ -95,4 +95,4 @@
|
|||
"Failed to delete user folder.\n%s": "ユーザー フォルダの削除に失敗しました。\n%s",
|
||||
"Failed to import savedata from loadiine.": "loadiine からセーブデータをインポートできませんでした。",
|
||||
"Failed to export savedata to loadiine.": "セーブデータを loadiine にエクスポートできませんでした。"
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
" Wii U Save Management (%u Title%s)": " Wii U 저장 관리 (%u 타이틀%s)",
|
||||
" vWii Save Management (%u Title%s)": " vWii 저장 관리(%u 타이틀%s)",
|
||||
" Batch Backup": " 일괄 백업",
|
||||
"\ue000: Select Mode": "\ue000: 모드 선택",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: 옵션 \ue000: 모드 선택",
|
||||
" Backup All (%u Title%s)": " 모두 백업 (%u 타이틀%s)",
|
||||
" Backup Wii U (%u Title%s)": " Wii U 백업 (%u 타이틀%s)",
|
||||
" Backup vWii (%u Title%s)": " vWii 백업 (%u 타이틀%s)",
|
||||
|
|
@ -95,4 +95,4 @@
|
|||
"Failed to delete user folder.\n%s": "사용자 폴더를 삭제하지 못했습니다.\n%s",
|
||||
"Failed to import savedata from loadiine.": "loadiine에서 저장 데이터를 가져오지 못했습니다.",
|
||||
"Failed to export savedata to loadiine.": "저장 데이터를 loadiine으로 내보내지 못했습니다."
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
" Wii U Save Management (%u Title%s)": " Управление сохранениями Wii U (%u Имя%s)",
|
||||
" vWii Save Management (%u Title%s)": " Управление сохранениями vWii (%u Имя%s)",
|
||||
" Batch Backup": " Пакетный бекап",
|
||||
": Select Mode": ": Выбор режима",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: Опции \ue000: Выбор режима",
|
||||
" Backup All (%u Title%s)": " Сделать бекап для всех (%u Имя%s)",
|
||||
" Backup Wii U (%u Title%s)": " Бекап только для Wii U (%u Имя%s)",
|
||||
" Backup vWii (%u Title%s)": " Бекап только для vWii (%u Имя%s)",
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
" Wii U Save Management (%u Title%s)": " Gestión de saves de Wii U (%u Título%s)",
|
||||
" vWii Save Management (%u Title%s)": " Gestión de saves de vWii (%u Título%s)",
|
||||
" Batch Backup": " Copia de seguridad en masa",
|
||||
"\ue000: Select Mode": "\ue000: Seleccionar",
|
||||
"\uE002: Options \ue000: Select Mode": "\uE002: Opciones \ue000: Seleccionar",
|
||||
" Backup All (%u Title%s)": " Copiar Todo (%u Título%s)",
|
||||
" Backup Wii U (%u Title%s)": " Copiar Wii U (%u Título%s)",
|
||||
" Backup vWii (%u Title%s)": " Copiar vWii (%u Título%s)",
|
||||
|
|
|
|||
79
src/configMenu.cpp
Normal file
79
src/configMenu.cpp
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
#include <configMenu.h>
|
||||
#include <cstring>
|
||||
#include <draw.h>
|
||||
#include <input.h>
|
||||
#include <language.h>
|
||||
#include <savemng.h>
|
||||
#include <state.h>
|
||||
|
||||
static int cursorPos = 0;
|
||||
static bool redraw = true;
|
||||
|
||||
static std::string language = "";
|
||||
|
||||
static void drawConfigMenuFrame() {
|
||||
OSScreenClearBufferEx(SCREEN_DRC, 0x00006F00);
|
||||
OSScreenClearBufferEx(SCREEN_TV, 0x00006F00);
|
||||
consolePrintPos(0, 0, "SaveMii v%u.%u.%u", VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO);
|
||||
consolePrintPos(0, 1, "----------------------------------------------------------------------------");
|
||||
consolePrintPos(M_OFF, 2, gettext(" Language: %s"), language.c_str());
|
||||
consolePrintPos(M_OFF, 2 + cursorPos, "\u2192");
|
||||
consolePrintPos(0, 16, "----------------------------------------------------------------------------");
|
||||
consolePrintPos(0, 17, gettext("Press \ue044 to exit."));
|
||||
flipBuffers();
|
||||
WHBLogFreetypeDraw();
|
||||
}
|
||||
|
||||
void configMenu() {
|
||||
Input input;
|
||||
language = getLoadedLanguage();
|
||||
while (AppRunning()) {
|
||||
input.read();
|
||||
if (input.get(TRIGGER, PAD_BUTTON_ANY))
|
||||
redraw = true;
|
||||
if (input.get(TRIGGER, PAD_BUTTON_B))
|
||||
break;
|
||||
if (input.get(TRIGGER, PAD_BUTTON_RIGHT)) {
|
||||
if (language == gettext("Japanese"))
|
||||
loadLanguage(Swkbd_LanguageType__Italian);
|
||||
else if (language == gettext("Italian"))
|
||||
loadLanguage(Swkbd_LanguageType__Spanish);
|
||||
else if (language == gettext("Spanish"))
|
||||
loadLanguage(Swkbd_LanguageType__Chinese1);
|
||||
else if (language == gettext("Traditional Chinese"))
|
||||
loadLanguage(Swkbd_LanguageType__Korean);
|
||||
else if (language == gettext("Korean"))
|
||||
loadLanguage(Swkbd_LanguageType__Russian);
|
||||
else if (language == gettext("Russian"))
|
||||
loadLanguage(Swkbd_LanguageType__Chinese2);
|
||||
else if (language == gettext("Simplified Chinese"))
|
||||
loadLanguage(Swkbd_LanguageType__English);
|
||||
else if (language == gettext("English"))
|
||||
loadLanguage(Swkbd_LanguageType__Japanese);
|
||||
}
|
||||
if (input.get(TRIGGER, PAD_BUTTON_LEFT)) {
|
||||
if (language == gettext("Japanese"))
|
||||
loadLanguage(Swkbd_LanguageType__English);
|
||||
else if (language == gettext("English"))
|
||||
loadLanguage(Swkbd_LanguageType__Chinese2);
|
||||
else if (language == gettext("Simplified Chinese"))
|
||||
loadLanguage(Swkbd_LanguageType__Russian);
|
||||
else if (language == gettext("Russian"))
|
||||
loadLanguage(Swkbd_LanguageType__Korean);
|
||||
else if (language == gettext("Korean"))
|
||||
loadLanguage(Swkbd_LanguageType__Chinese1);
|
||||
else if (language == gettext("Traditional Chinese"))
|
||||
loadLanguage(Swkbd_LanguageType__Spanish);
|
||||
else if (language == gettext("Spanish"))
|
||||
loadLanguage(Swkbd_LanguageType__Italian);
|
||||
else if (language == gettext("Italian"))
|
||||
loadLanguage(Swkbd_LanguageType__Japanese);
|
||||
}
|
||||
if (redraw) {
|
||||
language = getLoadedLanguage();
|
||||
drawConfigMenuFrame();
|
||||
redraw = false;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -55,6 +55,12 @@ bool Input::get(ButtonState state, Button button) {
|
|||
if (kpadClassicState & WPAD_CLASSIC_BUTTON_B) return true;
|
||||
if (kpadProState & WPAD_PRO_BUTTON_B) return true;
|
||||
break;
|
||||
case PAD_BUTTON_X:
|
||||
if (vpadState & VPAD_BUTTON_X) return true;
|
||||
if (kpadState & WPAD_BUTTON_1) return true;
|
||||
if (kpadClassicState & WPAD_CLASSIC_BUTTON_X) return true;
|
||||
if (kpadProState & WPAD_PRO_BUTTON_X) return true;
|
||||
break;
|
||||
case PAD_BUTTON_UP:
|
||||
if (vpadState & VPAD_BUTTON_UP) return true;
|
||||
if (vpadState & VPAD_STICK_L_EMULATION_UP) return true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
#include "log_freetype.h"
|
||||
#include <cstdio>
|
||||
#include <language.h>
|
||||
#include <savemng.h>
|
||||
|
||||
|
|
@ -20,14 +22,19 @@ static MSG *baseMSG = NULL;
|
|||
|
||||
Swkbd_LanguageType sysLang;
|
||||
|
||||
Swkbd_LanguageType loadedLang;
|
||||
|
||||
void loadLanguage(Swkbd_LanguageType language) {
|
||||
loadedLang = language;
|
||||
switch (language) {
|
||||
case Swkbd_LanguageType__Japanese:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/japanese.json");
|
||||
break;
|
||||
/*case Swkbd_LanguageType__English:
|
||||
gettextLoadLanguage("romfs:/english.json");
|
||||
break;*/
|
||||
case Swkbd_LanguageType__English:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/english.json");
|
||||
break;
|
||||
/*case Swkbd_LanguageType__French:
|
||||
gettextLoadLanguage("romfs:/french.json");
|
||||
break;
|
||||
|
|
@ -35,15 +42,19 @@ void loadLanguage(Swkbd_LanguageType language) {
|
|||
gettextLoadLanguage("romfs:/german.json");
|
||||
break;*/
|
||||
case Swkbd_LanguageType__Italian:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/italian.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__Spanish:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/spanish.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese1:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_CHINESE);
|
||||
gettextLoadLanguage("romfs:/TChinese.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__Korean:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_KOREAN);
|
||||
gettextLoadLanguage("romfs:/korean.json");
|
||||
break;
|
||||
/*
|
||||
|
|
@ -54,13 +65,61 @@ void loadLanguage(Swkbd_LanguageType language) {
|
|||
gettextLoadLanguage("romfs:/portuguese.json");
|
||||
break;*/
|
||||
case Swkbd_LanguageType__Russian:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/russian.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese2:
|
||||
setFont(OS_SHAREDDATATYPE_FONT_CHINESE);
|
||||
gettextLoadLanguage("romfs:/SChinese.json");
|
||||
break;
|
||||
default:
|
||||
//gettextLoadLanguage("romfs:/english.json");
|
||||
setFont(OS_SHAREDDATATYPE_FONT_STANDARD);
|
||||
gettextLoadLanguage("romfs:/english.json");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
std::string getLoadedLanguage() {
|
||||
switch (loadedLang) {
|
||||
case Swkbd_LanguageType__Japanese:
|
||||
return gettext("Japanese");
|
||||
break;
|
||||
case Swkbd_LanguageType__English:
|
||||
return gettext("English");
|
||||
break;
|
||||
/*case Swkbd_LanguageType__French:
|
||||
gettextLoadLanguage("romfs:/french.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__German:
|
||||
gettextLoadLanguage("romfs:/german.json");
|
||||
break;*/
|
||||
case Swkbd_LanguageType__Italian:
|
||||
return gettext("Italian");
|
||||
break;
|
||||
case Swkbd_LanguageType__Spanish:
|
||||
return gettext("Spanish");
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese1:
|
||||
return gettext("Traditional Chinese");
|
||||
break;
|
||||
case Swkbd_LanguageType__Korean:
|
||||
return gettext("Korean");
|
||||
break;
|
||||
/*
|
||||
case Swkbd_LanguageType__Dutch:
|
||||
gettextLoadLanguage("romfs:/dutch.json");
|
||||
break;
|
||||
case Swkbd_LanguageType__Potuguese:
|
||||
gettextLoadLanguage("romfs:/portuguese.json");
|
||||
break;*/
|
||||
case Swkbd_LanguageType__Russian:
|
||||
return gettext("Russian");
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese2:
|
||||
return gettext("Simplified Chinese");
|
||||
break;
|
||||
default:
|
||||
return gettext("English");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,6 +143,23 @@ bool WHBLogFreetypeInit() {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool setFont(OSSharedDataType font) {
|
||||
FT_Error result;
|
||||
if ((result = FT_Init_FreeType(&fontLibrary)) != 0)
|
||||
return true;
|
||||
|
||||
uint32_t fontSize;
|
||||
OSGetSharedData(font, 0, (void **) &fontBuffer, &fontSize);
|
||||
|
||||
if ((result = FT_New_Memory_Face(fontLibrary, fontBuffer, fontSize, 0, &fontFace)) != 0)
|
||||
return true;
|
||||
if ((result = FT_Select_Charmap(fontFace, FT_ENCODING_UNICODE)) != 0)
|
||||
return true;
|
||||
if ((result = FT_Set_Pixel_Sizes(fontFace, 0, 22)))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void WHBLogFreetypeFree() {
|
||||
FT_Done_Face(fontFace);
|
||||
FT_Done_FreeType(fontLibrary);
|
||||
|
|
|
|||
11
src/main.cpp
11
src/main.cpp
|
|
@ -1,4 +1,6 @@
|
|||
#include <configMenu.h>
|
||||
#include <icon.h>
|
||||
#include <input.h>
|
||||
#include <json.h>
|
||||
#include <language.h>
|
||||
#include <log_freetype.h>
|
||||
|
|
@ -8,11 +10,6 @@
|
|||
#include <state.h>
|
||||
#include <string.hpp>
|
||||
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 4
|
||||
#define VERSION_MICRO 8
|
||||
#define M_OFF 1
|
||||
|
||||
static uint8_t slot = 0;
|
||||
static int8_t allusers = -1, allusers_d = -1, sdusers = -1;
|
||||
static bool common = true;
|
||||
|
|
@ -476,7 +473,7 @@ int main() {
|
|||
(vWiiTitlesCount > 1) ? "s" : "");
|
||||
consolePrintPos(M_OFF, 4, gettext(" Batch Backup"));
|
||||
consolePrintPos(M_OFF, 2 + cursor, "\u2192");
|
||||
consolePrintPosAligned(17, 4, 2, gettext("\ue000: Select Mode"));
|
||||
consolePrintPosAligned(17, 4, 2, gettext("\uE002: Options \ue000: Select Mode"));
|
||||
} break;
|
||||
case selectTitle: {
|
||||
if (mode == batchBackup) {
|
||||
|
|
@ -1055,6 +1052,8 @@ int main() {
|
|||
}
|
||||
if (menu == selectTask)
|
||||
cursor = cursort;
|
||||
} else if (input.get(TRIGGER, PAD_BUTTON_X) && menu == mainMenu) {
|
||||
configMenu();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user