diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8d39bf23..b358c396 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,7 +14,7 @@ project(VitaShell)
include("${VITASDK}/share/vita.cmake" REQUIRED)
set(VITA_APP_NAME "VitaShell")
set(VITA_TITLEID "VITASHELL")
-set(VITA_VERSION "01.50")
+set(VITA_VERSION "01.51")
# Flags and includes
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -fno-lto")
diff --git a/README.md b/README.md
index 367e26f7..a080e5d3 100644
--- a/README.md
+++ b/README.md
@@ -95,6 +95,12 @@ Be sure you pull request your customized design or language file there.
* sakya for Lightmp3
* Everybody who contributed on vitasdk
+### Changelog 1.51 ###
+- Fixed bug where 'Please wait...' was shown instead of a specifc USB message.
+- Fixed VPK installation crash.
+- Fixed bug where 'theme.txt' was always resetted.
+- Updated to newest libftpvita.
+
### Changelog 1.50 ###
- Added USB mass storage transfer support.
- Added RAR archive support (by Mayoshiroi).
diff --git a/init.c b/init.c
index 13f363e6..8ba2956d 100644
--- a/init.c
+++ b/init.c
@@ -50,36 +50,35 @@ INCLUDE_EXTERN_RESOURCE(usbdevice_skprx);
INCLUDE_EXTERN_RESOURCE(changeinfo_txt);
-#define DEFAULT_FILE(path, name) { path, (void *)&_binary_resources_##name##_start, (int)&_binary_resources_##name##_size }
+#define DEFAULT_FILE(path, name, replace) { path, (void *)&_binary_resources_##name##_start, (int)&_binary_resources_##name##_size, replace }
static DefaultFile default_files[] = {
- DEFAULT_FILE("ux0:VitaShell/language/english_us.txt", english_us_txt),
-
- DEFAULT_FILE("ux0:VitaShell/theme/theme.txt", theme_txt),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/colors.txt", colors_txt),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/folder_icon.png", folder_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/file_icon.png", file_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/archive_icon.png", archive_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/image_icon.png", image_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/audio_icon.png", audio_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/sfo_icon.png", sfo_icon_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/text_icon.png", text_icon_png),
- // DEFAULT_FILE("ux0:VitaShell/theme/Default/wifi.png", wifi_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/ftp.png", ftp_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/battery.png", battery_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_red.png", battery_bar_red_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_green.png", battery_bar_green_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_charge.png", battery_bar_charge_png),
-
- DEFAULT_FILE("ux0:VitaShell/theme/Default/cover.png", cover_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/play.png", play_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/pause.png", pause_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/fastforward.png", fastforward_png),
- DEFAULT_FILE("ux0:VitaShell/theme/Default/fastrewind.png", fastrewind_png),
-
- DEFAULT_FILE("ux0:VitaShell/module/usbdevice.skprx", usbdevice_skprx),
-
- DEFAULT_FILE("ux0:patch/VITASHELL/sce_sys/changeinfo/changeinfo.xml", changeinfo_txt),
+ DEFAULT_FILE("ux0:VitaShell/language/english_us.txt", english_us_txt, 0),
+
+ DEFAULT_FILE("ux0:VitaShell/theme/theme.txt", theme_txt, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/colors.txt", colors_txt, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/folder_icon.png", folder_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/file_icon.png", file_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/archive_icon.png", archive_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/image_icon.png", image_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/audio_icon.png", audio_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/sfo_icon.png", sfo_icon_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/text_icon.png", text_icon_png, 0),
+ // DEFAULT_FILE("ux0:VitaShell/theme/Default/wifi.png", wifi_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/ftp.png", ftp_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/battery.png", battery_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_red.png", battery_bar_red_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_green.png", battery_bar_green_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_charge.png", battery_bar_charge_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/cover.png", cover_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/play.png", play_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/pause.png", pause_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/fastforward.png", fastforward_png, 0),
+ DEFAULT_FILE("ux0:VitaShell/theme/Default/fastrewind.png", fastrewind_png, 0),
+
+ DEFAULT_FILE("ux0:VitaShell/module/usbdevice.skprx", usbdevice_skprx, 1),
+
+ DEFAULT_FILE("ux0:patch/VITASHELL/sce_sys/changeinfo/changeinfo.xml", changeinfo_txt, 1),
};
// System params
@@ -262,7 +261,7 @@ void initVitaShell() {
for (i = 0; i < (sizeof(default_files) / sizeof(DefaultFile)); i++) {
SceIoStat stat;
memset(&stat, 0, sizeof(stat));
- if (sceIoGetstat(default_files[i].path, &stat) < 0 || (int)stat.st_size != default_files[i].size)
+ if (sceIoGetstat(default_files[i].path, &stat) < 0 || (default_files[i].replace && (int)stat.st_size != default_files[i].size))
WriteFile(default_files[i].path, default_files[i].buffer, default_files[i].size);
}
diff --git a/init.h b/init.h
index 99d15ba4..1c2b42dd 100644
--- a/init.h
+++ b/init.h
@@ -29,6 +29,7 @@ typedef struct {
char *path;
void *buffer;
int size;
+ int replace;
} DefaultFile;
vita2d_pgf *loadSystemFonts();
diff --git a/language.c b/language.c
index 5b288837..57147951 100644
--- a/language.c
+++ b/language.c
@@ -134,12 +134,12 @@ void loadLanguage(int id) {
LANGUAGE_ENTRY(PROPERTY_TYPE_MP3),
LANGUAGE_ENTRY(PROPERTY_TYPE_OGG),
LANGUAGE_ENTRY(PROPERTY_TYPE_PNG),
+ LANGUAGE_ENTRY(PROPERTY_TYPE_RAR),
LANGUAGE_ENTRY(PROPERTY_TYPE_SFO),
LANGUAGE_ENTRY(PROPERTY_TYPE_TXT),
LANGUAGE_ENTRY(PROPERTY_TYPE_VPK),
LANGUAGE_ENTRY(PROPERTY_TYPE_XML),
LANGUAGE_ENTRY(PROPERTY_TYPE_ZIP),
- LANGUAGE_ENTRY(PROPERTY_TYPE_RAR),
LANGUAGE_ENTRY(PROPERTY_TYPE_FSELF),
LANGUAGE_ENTRY(PROPERTY_FSELF_MODE_SAFE),
LANGUAGE_ENTRY(PROPERTY_FSELF_MODE_UNSAFE),
@@ -195,6 +195,7 @@ void loadLanguage(int id) {
// USB strings
LANGUAGE_ENTRY(USB_CONNECTED),
+ LANGUAGE_ENTRY(USB_NOT_CONNECTED),
LANGUAGE_ENTRY(USB_CONNECTION_PERMISSION),
LANGUAGE_ENTRY(USB_CONNECTION_NOT_AVAILABLE),
diff --git a/language.h b/language.h
index 9f17a55f..93f3814f 100644
--- a/language.h
+++ b/language.h
@@ -93,12 +93,12 @@ enum LanguageContainer {
PROPERTY_TYPE_MP3,
PROPERTY_TYPE_OGG,
PROPERTY_TYPE_PNG,
+ PROPERTY_TYPE_RAR,
PROPERTY_TYPE_SFO,
PROPERTY_TYPE_TXT,
PROPERTY_TYPE_VPK,
PROPERTY_TYPE_XML,
PROPERTY_TYPE_ZIP,
- PROPERTY_TYPE_RAR,
PROPERTY_TYPE_FSELF,
PROPERTY_FSELF_MODE_SAFE,
PROPERTY_FSELF_MODE_UNSAFE,
@@ -154,6 +154,7 @@ enum LanguageContainer {
// USB strings
USB_CONNECTED,
+ USB_NOT_CONNECTED,
USB_CONNECTION_PERMISSION,
USB_CONNECTION_NOT_AVAILABLE,
diff --git a/main.c b/main.c
index 3668f632..ceaf2456 100644
--- a/main.c
+++ b/main.c
@@ -43,7 +43,7 @@
#include "audio/vita_audio.h"
-int _newlib_heap_size_user = 64 * 1024 * 1024;
+int _newlib_heap_size_user = 128 * 1024 * 1024;
// Context menu
static float ctx_menu_max_width = 0.0f, ctx_menu_more_max_width = 0.0f;
@@ -1580,7 +1580,7 @@ int fileBrowserMenuCtrl() {
if (state.connection & SCE_UDCD_STATUS_CONNECTION_ESTABLISHED) {
initUsb();
} else {
- initMessageDialog(SCE_MSG_DIALOG_BUTTON_TYPE_CANCEL, language_container[PLEASE_WAIT]);
+ initMessageDialog(SCE_MSG_DIALOG_BUTTON_TYPE_CANCEL, language_container[USB_NOT_CONNECTED]);
dialog_step = DIALOG_STEP_USB_WAIT;
}
}
@@ -1859,9 +1859,9 @@ int shellMain() {
icon = image_icon;
break;
+ case FILE_TYPE_RAR:
case FILE_TYPE_VPK:
case FILE_TYPE_ZIP:
- case FILE_TYPE_RAR:
color = ARCHIVE_COLOR;
icon = archive_icon;
break;
diff --git a/main.h b/main.h
index 5e4e66df..da98a04e 100644
--- a/main.h
+++ b/main.h
@@ -75,7 +75,7 @@
// VitaShell version major.minor
#define VITASHELL_VERSION_MAJOR 0x01
-#define VITASHELL_VERSION_MINOR 0x50
+#define VITASHELL_VERSION_MINOR 0x51
#define VITASHELL_VERSION ((VITASHELL_VERSION_MAJOR << 0x18) | (VITASHELL_VERSION_MINOR << 0x10))
diff --git a/pkg/sce_sys/livearea/contents/template.xml b/pkg/sce_sys/livearea/contents/template.xml
index 6248c010..db424f91 100644
--- a/pkg/sce_sys/livearea/contents/template.xml
+++ b/pkg/sce_sys/livearea/contents/template.xml
@@ -28,7 +28,7 @@
- | Button | -Function | -
---|---|---|
- | Cross | -Accept, select, enter * | -
- | Circle | -Deny, cancel, back * | -
- | Square | -Toggle individual file or folder markings | -
- | Triangle | -Open contextual menu | -
- | Start | -Open toolbox | -
- | Select | -Open FTP server | -
- | L | -- |
- | R | -Change sorting option | -