mirror of
https://github.com/KarnerF/SMPlusGui.git
synced 2026-10-06 11:00:24 +02:00
Add 1.7alpha7 settings: legacy mount profiles, emulator updates, AMPR
This commit is contained in:
1 parent
abba950b04
commit
8649d476d1
2 files changed
+99
-4
No files matched your search
@@ -128,7 +128,11 @@ typedef enum {
|
||||
LS_ICON_FRONT = 116,
|
||||
LS_ICON_FRONT_LABEL = 117,
|
||||
LS_ALWAYS_RESTART_SM = 118,
|
||||
LS_COUNT = 119
|
||||
LS_LEGACY_MOUNT = 119,
|
||||
LS_EMUS = 120,
|
||||
LS_UPDATE_EMUS = 121,
|
||||
LS_EMUS_PATH = 122,
|
||||
LS_COUNT = 123
|
||||
} LangStrId;
|
||||
|
||||
static int ui_lang = LANG_EN;
|
||||
@@ -254,6 +258,10 @@ static const char *lang_table[LANG_COUNT][LS_COUNT] = {
|
||||
"Icon-Position",
|
||||
"Icon immer nach vorne schieben",
|
||||
"SM immer neu starten (auch wenn l\u00e4uft)",
|
||||
"Legacy Mount-Profile",
|
||||
"Emulatoren",
|
||||
"Emulatoren aus Ordner aktualisieren",
|
||||
"Emulator-Ordner",
|
||||
},
|
||||
/* EN */ {
|
||||
"running",
|
||||
@@ -374,6 +382,10 @@ static const char *lang_table[LANG_COUNT][LS_COUNT] = {
|
||||
"Icon Position",
|
||||
"Always move icon to front",
|
||||
"Always restart SM (even if running)",
|
||||
"Legacy Mount Profiles",
|
||||
"Emulators",
|
||||
"Update emulators from folder",
|
||||
"Emulators path",
|
||||
},
|
||||
/* FR */ {
|
||||
"actif",
|
||||
@@ -495,6 +507,10 @@ static const char *lang_table[LANG_COUNT][LS_COUNT] = {
|
||||
"Position de l'ic\u00f4ne",
|
||||
"Toujours mettre l'ic\u00f4ne au premier plan",
|
||||
"Toujours red\u00e9marrer SM (m\u00eame si actif)",
|
||||
"Profils de montage h\u00e9rit\u00e9s",
|
||||
"\u00c9mulateurs",
|
||||
"Mettre \u00e0 jour les \u00e9mulateurs depuis le dossier",
|
||||
"Dossier des \u00e9mulateurs",
|
||||
},
|
||||
/* ES */ {
|
||||
"activo",
|
||||
@@ -616,6 +632,10 @@ static const char *lang_table[LANG_COUNT][LS_COUNT] = {
|
||||
"Posici\u00f3n del icono",
|
||||
"Siempre mover el icono al frente",
|
||||
"Siempre reiniciar SM (incluso si est\u00e1 activo)",
|
||||
"Perfiles de montaje heredados",
|
||||
"Emuladores",
|
||||
"Actualizar emuladores desde la carpeta",
|
||||
"Ruta de emuladores",
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -367,6 +367,16 @@ typedef struct {
|
||||
int global_fakelib_exclude_count;
|
||||
/* 1.7alpha5 */
|
||||
char fan_target_temperature[8];
|
||||
/* 1.7alpha7 */
|
||||
int legacy_mount_ufs;
|
||||
int legacy_mount_exfat;
|
||||
int legacy_mount_pfs;
|
||||
int legacy_mount_pfsc;
|
||||
int legacy_gddr5_cache;
|
||||
int update_emulators;
|
||||
char emulators_path[PATH_LEN];
|
||||
int auto_update_ampr;
|
||||
char ampr_update_url[256];
|
||||
} ShadowConfig;
|
||||
|
||||
static void set_defaults(ShadowConfig *cfg) {
|
||||
@@ -392,7 +402,14 @@ static void set_defaults(ShadowConfig *cfg) {
|
||||
cfg->image_ro_count=0; cfg->image_rw_count=0; cfg->image_sector_count=0;
|
||||
cfg->kstuff_no_pause_count=0; cfg->kstuff_delay_count=0;
|
||||
cfg->global_fakelib_exclude_count=0;
|
||||
strncpy(cfg->fan_target_temperature,"auto",7);
|
||||
strncpy(cfg->fan_target_temperature,"system",7);
|
||||
cfg->legacy_mount_ufs=1; cfg->legacy_mount_exfat=1;
|
||||
cfg->legacy_mount_pfs=1; cfg->legacy_mount_pfsc=1;
|
||||
cfg->legacy_gddr5_cache=0;
|
||||
cfg->update_emulators=1;
|
||||
strncpy(cfg->emulators_path,"/data/shadowmount/emus",PATH_LEN-1);
|
||||
cfg->auto_update_ampr=0;
|
||||
strncpy(cfg->ampr_update_url,"https://github.com/drakmor/ampr_emu/releases/latest/download/libSceAmpr.sprx",255);
|
||||
}
|
||||
|
||||
static int parse_bool(const char *v) {
|
||||
@@ -443,6 +460,15 @@ static void load_config(ShadowConfig *cfg) {
|
||||
S("global_fakelib_priority",global_fakelib_priority,16)
|
||||
S("exfat_backend",exfat_backend,8)
|
||||
S("ufs_backend",ufs_backend,8)
|
||||
B("legacy_mount_ufs",legacy_mount_ufs)
|
||||
B("legacy_mount_exfat",legacy_mount_exfat)
|
||||
B("legacy_mount_pfs",legacy_mount_pfs)
|
||||
B("legacy_mount_pfsc",legacy_mount_pfsc)
|
||||
B("legacy_gddr5_cache",legacy_gddr5_cache)
|
||||
B("update_emulators",update_emulators)
|
||||
S("emulators_path",emulators_path,PATH_LEN)
|
||||
B("auto_update_ampr",auto_update_ampr)
|
||||
S("ampr_update_url",ampr_update_url,256)
|
||||
I("lvd_exfat_sector_size",lvd_exfat_sector_size)
|
||||
I("lvd_ufs_sector_size",lvd_ufs_sector_size)
|
||||
I("lvd_pfs_sector_size",lvd_pfs_sector_size)
|
||||
@@ -482,6 +508,7 @@ static int save_config(ShadowConfig *cfg) {
|
||||
int wsd=0,wrs=0,wsi=0,wss=0;
|
||||
int warm=0,wargd=0,warmd=0;
|
||||
int wkgt=0,wkcd=0,wkpi=0,wkpd=0;
|
||||
int wlmu=0,wlme=0,wlmp=0,wlmpc=0,wlgc=0,wue=0,wep=0,waua=0,wauf=0;
|
||||
int wbf=0,wgf=0,wgfp=0,wgfpr=0;
|
||||
int web=0,wub=0,wles=0,wlus=0,wlps=0,wmes=0,wmus=0;
|
||||
int wscan=0,wfan=0;
|
||||
@@ -524,6 +551,15 @@ static int save_config(ShadowConfig *cfg) {
|
||||
else if(MATCH("global_fakelib_priority")&&!wgfpr){fprintf(out,"global_fakelib_priority=%s\n",cfg->global_fakelib_priority);wgfpr=1;}
|
||||
else if(MATCH("exfat_backend")&&!web){fprintf(out,"exfat_backend=%s\n",cfg->exfat_backend);web=1;}
|
||||
else if(MATCH("ufs_backend")&&!wub){fprintf(out,"ufs_backend=%s\n",cfg->ufs_backend);wub=1;}
|
||||
else if(MATCH("legacy_mount_ufs")&&!wlmu){fprintf(out,"legacy_mount_ufs=%d\n",cfg->legacy_mount_ufs);wlmu=1;}
|
||||
else if(MATCH("legacy_mount_exfat")&&!wlme){fprintf(out,"legacy_mount_exfat=%d\n",cfg->legacy_mount_exfat);wlme=1;}
|
||||
else if(MATCH("legacy_mount_pfs")&&!wlmp){fprintf(out,"legacy_mount_pfs=%d\n",cfg->legacy_mount_pfs);wlmp=1;}
|
||||
else if(MATCH("legacy_mount_pfsc")&&!wlmpc){fprintf(out,"legacy_mount_pfsc=%d\n",cfg->legacy_mount_pfsc);wlmpc=1;}
|
||||
else if(MATCH("legacy_gddr5_cache")&&!wlgc){fprintf(out,"legacy_gddr5_cache=%d\n",cfg->legacy_gddr5_cache);wlgc=1;}
|
||||
else if(MATCH("update_emulators")&&!wue){fprintf(out,"update_emulators=%d\n",cfg->update_emulators);wue=1;}
|
||||
else if(MATCH("emulators_path")&&!wep){fprintf(out,"emulators_path=%s\n",cfg->emulators_path);wep=1;}
|
||||
else if(MATCH("auto_update_ampr")&&!waua){fprintf(out,"auto_update_ampr=%d\n",cfg->auto_update_ampr);waua=1;}
|
||||
else if(MATCH("ampr_update_url")&&!wauf){fprintf(out,"ampr_update_url=%s\n",cfg->ampr_update_url);wauf=1;}
|
||||
else if(MATCH("lvd_exfat_sector_size")&&!wles){fprintf(out,"lvd_exfat_sector_size=%d\n",cfg->lvd_exfat_sector_size);wles=1;}
|
||||
else if(MATCH("lvd_ufs_sector_size")&&!wlus){fprintf(out,"lvd_ufs_sector_size=%d\n",cfg->lvd_ufs_sector_size);wlus=1;}
|
||||
else if(MATCH("lvd_pfs_sector_size")&&!wlps){fprintf(out,"lvd_pfs_sector_size=%d\n",cfg->lvd_pfs_sector_size);wlps=1;}
|
||||
@@ -564,6 +600,10 @@ static int save_config(ShadowConfig *cfg) {
|
||||
MATCH("backport_fakelib")||MATCH("global_fakelib")||
|
||||
MATCH("global_fakelib_path")||MATCH("global_fakelib_priority")||
|
||||
MATCH("exfat_backend")||MATCH("ufs_backend")||
|
||||
MATCH("legacy_mount_ufs")||MATCH("legacy_mount_exfat")||
|
||||
MATCH("legacy_mount_pfs")||MATCH("legacy_mount_pfsc")||
|
||||
MATCH("legacy_gddr5_cache")||MATCH("update_emulators")||
|
||||
MATCH("emulators_path")||MATCH("auto_update_ampr")||MATCH("ampr_update_url")||
|
||||
MATCH("lvd_exfat_sector_size")||MATCH("lvd_ufs_sector_size")||
|
||||
MATCH("lvd_pfs_sector_size")||MATCH("md_exfat_sector_size")||
|
||||
MATCH("md_ufs_sector_size")
|
||||
@@ -598,6 +638,15 @@ static int save_config(ShadowConfig *cfg) {
|
||||
if(!wgfpr) fprintf(out,"global_fakelib_priority=%s\n",cfg->global_fakelib_priority);
|
||||
if(!web) fprintf(out,"exfat_backend=%s\n",cfg->exfat_backend);
|
||||
if(!wub) fprintf(out,"ufs_backend=%s\n",cfg->ufs_backend);
|
||||
if(!wlmu) fprintf(out,"legacy_mount_ufs=%d\n",cfg->legacy_mount_ufs);
|
||||
if(!wlme) fprintf(out,"legacy_mount_exfat=%d\n",cfg->legacy_mount_exfat);
|
||||
if(!wlmp) fprintf(out,"legacy_mount_pfs=%d\n",cfg->legacy_mount_pfs);
|
||||
if(!wlmpc) fprintf(out,"legacy_mount_pfsc=%d\n",cfg->legacy_mount_pfsc);
|
||||
if(!wlgc) fprintf(out,"legacy_gddr5_cache=%d\n",cfg->legacy_gddr5_cache);
|
||||
if(!wue) fprintf(out,"update_emulators=%d\n",cfg->update_emulators);
|
||||
if(!wep) fprintf(out,"emulators_path=%s\n",cfg->emulators_path);
|
||||
if(!waua) fprintf(out,"auto_update_ampr=%d\n",cfg->auto_update_ampr);
|
||||
if(!wauf) fprintf(out,"ampr_update_url=%s\n",cfg->ampr_update_url);
|
||||
if(!wles) fprintf(out,"lvd_exfat_sector_size=%d\n",cfg->lvd_exfat_sector_size);
|
||||
if(!wlus) fprintf(out,"lvd_ufs_sector_size=%d\n",cfg->lvd_ufs_sector_size);
|
||||
if(!wlps) fprintf(out,"lvd_pfs_sector_size=%d\n",cfg->lvd_pfs_sector_size);
|
||||
@@ -1038,6 +1087,8 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
int has_autoremove= !sm_running || sm_version_at_least(sm_ver,1,7,"alpha",3);
|
||||
int has_api = !sm_running || sm_version_at_least(sm_ver,1,7,"alpha",3);
|
||||
int has_fan = !sm_running || sm_version_at_least(sm_ver,1,7,"alpha",5);
|
||||
int has_legacy_mp = !sm_running || sm_version_at_least(sm_ver,1,7,"alpha",7);
|
||||
int has_emus = !sm_running || sm_version_at_least(sm_ver,1,7,"alpha",7);
|
||||
|
||||
H("<form action='/save' method='POST' onsubmit='try{doSave();}catch(e){}return false;' style='flex:1;min-height:0;display:flex;flex-direction:column;'><div class='layout'>");
|
||||
H("<nav class='sidebar'>");
|
||||
@@ -1226,6 +1277,15 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
for(int i=0;i<cfg.global_fakelib_exclude_count;i++)
|
||||
H("<div class='path-row'><input type='text' name='global_fakelib_exclude[]' value='%s' placeholder='PPSA12345'><button type='button' class='rm' onclick='this.parentElement.remove()'>×</button></div>",cfg.global_fakelib_exclude[i]);
|
||||
H("</div><button type='button' class='addbtn' onclick='addRow(\"fakelib-ex-list\",\"global_fakelib_exclude[]\",\"PPSA12345\")'>+ global_fakelib_exclude</button>");
|
||||
/* Emulator settings (1.7alpha7+) */
|
||||
H("<div style='%s'><div class='sublist-title' style='margin-top:16px;'>%s</div>",
|
||||
has_emus?"":"opacity:.35;pointer-events:none",L(LS_EMUS));
|
||||
if(!has_emus) H("<p style='margin:0 0 8px;'><span class='vbadge'>ab 1.7alpha7</span></p>");
|
||||
SW("ue","update_emulators",L(LS_UPDATE_EMUS),cfg.update_emulators);
|
||||
TF("emulators_path",L(LS_EMUS_PATH),cfg.emulators_path,"/data/shadowmount/emus");
|
||||
SW("aua","auto_update_ampr","auto_update_ampr",cfg.auto_update_ampr);
|
||||
TF("ampr_update_url","ampr_update_url",cfg.ampr_update_url,"https://github.com/drakmor/ampr_emu/...");
|
||||
H("</div>");
|
||||
H("</div></div>"); /* close fakelib section + panel-fkl */
|
||||
|
||||
/* Panel: Backend */
|
||||
@@ -1260,12 +1320,22 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
H("<div class='numfield'><label>fan_target_temperature"
|
||||
"<span class='vbadge' style='%s'>ab 1.7alpha5</span></label>",
|
||||
has_fan?"display:none;":"");
|
||||
H("<select name='fan_target_temperature'><option value='auto'%s>auto</option>",
|
||||
strcmp(cfg.fan_target_temperature,"auto")==0?" selected":"");
|
||||
H("<select name='fan_target_temperature'><option value='system'%s>system</option>",
|
||||
strcmp(cfg.fan_target_temperature,"system")==0||strcmp(cfg.fan_target_temperature,"auto")==0?" selected":"");
|
||||
{ int cur=atoi(cfg.fan_target_temperature);
|
||||
for(int t=50;t<=91;t++)
|
||||
H("<option value='%d'%s>%d°C</option>",t,cur==t?" selected":"",t); }
|
||||
H("</select></div></div>");
|
||||
/* Legacy mount profiles (1.7alpha7+) */
|
||||
H("<div style='%s'><div class='sublist-title' style='margin-top:16px;'>%s</div>",
|
||||
has_legacy_mp?"":"opacity:.35;pointer-events:none",L(LS_LEGACY_MOUNT));
|
||||
if(!has_legacy_mp) H("<p style='margin:0 0 8px;'><span class='vbadge'>ab 1.7alpha7</span></p>");
|
||||
SW("lmu","legacy_mount_ufs","legacy_mount_ufs (.ffpkg)",cfg.legacy_mount_ufs);
|
||||
SW("lme","legacy_mount_exfat","legacy_mount_exfat (.exfat)",cfg.legacy_mount_exfat);
|
||||
SW("lmp","legacy_mount_pfs","legacy_mount_pfs (.ffpfs)",cfg.legacy_mount_pfs);
|
||||
SW("lmpc","legacy_mount_pfsc","legacy_mount_pfsc (.ffpfsc)",cfg.legacy_mount_pfsc);
|
||||
SW("lgc","legacy_gddr5_cache","legacy_gddr5_cache",cfg.legacy_gddr5_cache);
|
||||
H("</div>");
|
||||
H("</div></div>"); /* close backend section + panel-bkd */
|
||||
|
||||
/* Panel: API */
|
||||
@@ -2092,6 +2162,11 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
GS("global_fakelib_path",global_fakelib_path)
|
||||
GS("global_fakelib_priority",global_fakelib_priority)
|
||||
GS("exfat_backend",exfat_backend) GS("ufs_backend",ufs_backend)
|
||||
GB("legacy_mount_ufs",legacy_mount_ufs) GB("legacy_mount_exfat",legacy_mount_exfat)
|
||||
GB("legacy_mount_pfs",legacy_mount_pfs) GB("legacy_mount_pfsc",legacy_mount_pfsc)
|
||||
GB("legacy_gddr5_cache",legacy_gddr5_cache)
|
||||
GB("update_emulators",update_emulators) GS("emulators_path",emulators_path)
|
||||
GB("auto_update_ampr",auto_update_ampr) GS("ampr_update_url",ampr_update_url)
|
||||
GI("lvd_exfat_sector_size",lvd_exfat_sector_size)
|
||||
GI("lvd_ufs_sector_size",lvd_ufs_sector_size)
|
||||
GI("lvd_pfs_sector_size",lvd_pfs_sector_size)
|
||||
|
||||
Reference in new issue
Block a user