From 7f5ac26be59ee9a185b1f7ac9231014e6a444840 Mon Sep 17 00:00:00 2001 From: theheroGAC Date: Mon, 13 Aug 2018 20:37:00 +0200 Subject: [PATCH] v3.12 --- git/shared.lua | 2 +- lang/FRENCH.txt | 12 +- lang/ITALIAN.txt | 10 +- lang/JAPANESE.txt | 10 +- lang/SPANISH.txt | 40 ++-- lang/english_us.txt | 34 +-- menu.lua | 73 ++++++ resources/controls_psp/game.txt | 7 + resources/controls_psp/gta_remastered.prx | Bin 0 -> 5042 bytes resources/controls_psp/khbbs_remastered.prx | Bin 0 -> 3206 bytes resources/controls_psp/mgs_remastered.prx | Bin 0 -> 4698 bytes resources/controls_psp/pop_remastered.prx | Bin 0 -> 3814 bytes .../controls_psp/resistance_remastered.prx | Bin 0 -> 5662 bytes .../controls_psp/splintercell_remastered.prx | Bin 0 -> 4354 bytes .../controls_psp/tombraider_remastered.prx | Bin 0 -> 3186 bytes sce_sys/livearea/contents/template.xml | 2 +- sce_sys/param.sfo | Bin 912 -> 912 bytes script.lua | 3 +- scripts/pspctrls.lua | 217 ++++++++++++++++++ 19 files changed, 374 insertions(+), 36 deletions(-) create mode 100644 menu.lua create mode 100644 resources/controls_psp/game.txt create mode 100644 resources/controls_psp/gta_remastered.prx create mode 100644 resources/controls_psp/khbbs_remastered.prx create mode 100644 resources/controls_psp/mgs_remastered.prx create mode 100644 resources/controls_psp/pop_remastered.prx create mode 100644 resources/controls_psp/resistance_remastered.prx create mode 100644 resources/controls_psp/splintercell_remastered.prx create mode 100644 resources/controls_psp/tombraider_remastered.prx create mode 100644 scripts/pspctrls.lua diff --git a/git/shared.lua b/git/shared.lua index 8ad179a2..29ce6e7d 100644 --- a/git/shared.lua +++ b/git/shared.lua @@ -4,5 +4,5 @@ APP_REPO = "theheroGAC" APP_PROJECT = "Autoplugin" APP_VERSION_MAJOR = 0x03 -- major.minor -APP_VERSION_MINOR = 0x11 +APP_VERSION_MINOR = 0x12 APP_VERSION = ((APP_VERSION_MAJOR << 0x18) | (APP_VERSION_MINOR << 0x10)) -- Union Binary diff --git a/lang/FRENCH.txt b/lang/FRENCH.txt index 787671ed..446b5c25 100644 --- a/lang/FRENCH.txt +++ b/lang/FRENCH.txt @@ -1,4 +1,4 @@ ---Translates +--Translates STRING_UNSAFE_MODE = "Le mode UNSAFE MODE doit être activé pour utiliser cet Homebrew !!!" STRING_PSVITA_RESTART = "\nVotre PS Vita va redémarré pour valider les changements" @@ -15,6 +15,7 @@ MENU_INSTALL_PLUGINS = "Menu des plugins" MENU_UNINSTALL_PLUGINS = "Désinstaller un Plugin" MENU_INSTALL_NPDRMFREE = "Mise en place du plugin NpDrm free de Qwik pour Adrenaline" MENU_INSTALL_CONFIG = "Installation du fichier config.txt pour PKGJ v0.31+" +MENU_INSTALL_REMASTERED_CTRLS = "Install RemasteredControls plugins from Theflow (Adrenaline)" MENU_EXIT = "Quitter" MENU_INSTALLED_CONFIG = "Fichier config.txt pour pkgj a été installé dans ux0:pkgi/" @@ -34,7 +35,7 @@ INSTALLP_LIST_PLUGINS = "Liste de plugin(s) prêt a être installé :" INSTALLP_CROSS_INSTALL = "X : Lancer l'installation du plugin" INSTALLP_SQUARE_MARK = "[] : Sélectionner le(s) plugin(s) à installer" -INSTALLP_TRIANGLE_ALL = "/\ : Installer tous les plugins" +INSTALLP_TRIANGLE_ALL = "△ : Installer tous les plugins" INSTALLP_SELECT_CLEAN = "SELECT : Annuler les plugins sélectionner " INSTALLP_LR_SWAP = "L/R : Switcher entre ux0: et ur0:" @@ -61,6 +62,13 @@ NPDRMFREE_VSH_UPDATED = "\nvsh.txt mise à jour" NPDRMFREE_GAME_UPDATED = "\ngame.txt mise à jour" NPDRMFREE_NO_PARTITION = "\nPartition pas trouvé !!!" +--pspctrls +PSPCTRLS_TITLE = "Remastered Controls plugins from Theflow (Adrenaline)" +PSPCTRLS_CROSS_INSTALL = "X to install plugin" +PSPCTRLS_LR_SWAP = "L/R to swap partitions" +PSPCTRLS_GAME_UPDATED = "game.txt updated" +PSPCTRLS_DESCP = "A collection of dual analog patches for PSP games on Adrenaline" + --descriptions plugins --KERNEL INSTALLP_DESC_NONPDRM = "Désactive la protection DRM sur tous les contenus PS Vita (Jeux, DLC et mise à jour)" diff --git a/lang/ITALIAN.txt b/lang/ITALIAN.txt index 1650d87c..624992ca 100644 --- a/lang/ITALIAN.txt +++ b/lang/ITALIAN.txt @@ -15,6 +15,7 @@ MENU_INSTALL_PLUGINS = "Installa Plugins" MENU_UNINSTALL_PLUGINS = "Disinstalla Plugins" MENU_INSTALL_NPDRMFREE = "Installa il plugin npdrm free di qwikrazor87 (Adrenaline)" MENU_INSTALL_CONFIG = "Installa il file config.txt per PKGJ v0.31+" +MENU_INSTALL_REMASTERED_CTRLS = "Installa RemasteredControls plugins di Theflow (Adrenaline)" MENU_EXIT = "Esci" MENU_INSTALLED_CONFIG = "ux0:pkgi/config.txt per pkgj è stato installato!!!" @@ -26,7 +27,7 @@ SD2VITA_4_WARNING = "Copia solo le app veramente necessarie per la tua sd SD2VITA_5_WARNING = "Per esempio: H-encore, Vitashell/ONEMenu, pkgj, adrenaline, etc... " SD2VITA_GAMECARD_DETECTED = "GAMECARD RILEVATA !!!" SD2VITA_GAMECARD_REMOVED = "rimuovi prima di installare" -SD2VITA_TRIANGLE_INSTALL = "Per procedere con l'installazione premere Triangolo" +SD2VITA_TRIANGLE_INSTALL = "Per procedere con l'installazione premere △" SD2VITA_CIRCLE_CANCEL = "Per annullare l'installazione premere O " --install plugins @@ -61,6 +62,13 @@ NPDRMFREE_VSH_UPDATED = "vsh.txt aggiornato" NPDRMFREE_GAME_UPDATED = "game.txt aggiornato" NPDRMFREE_NO_PARTITION = "Partizione non trovata!" +--pspctrls +PSPCTRLS_TITLE = "Remastered Controls plugins di Theflow (Adrenaline)" +PSPCTRLS_CROSS_INSTALL = "X : per installare il plugin" +PSPCTRLS_LR_SWAP = "L/R: per cambiare la partizione" +PSPCTRLS_GAME_UPDATED = "game.txt aggiornato" +PSPCTRLS_DESCP = "Una collezione di patch per far funzionare gli analogici sui giochi PSP avviati da Adrenaline" + --descriptions plugins --KERNEL INSTALLP_DESC_NONPDRM = "Permette di bypassare la protezione DRM su qualsiasi contenuto PS Vita" diff --git a/lang/JAPANESE.txt b/lang/JAPANESE.txt index 90de1b97..ac9e823e 100644 --- a/lang/JAPANESE.txt +++ b/lang/JAPANESE.txt @@ -1,4 +1,4 @@ ---Translates +--Translates STRING_UNSAFE_MODE = "UNSAFE MODEはこのHomebrewに必須です!" STRING_PSVITA_RESTART = "PSVitaを再起動します" @@ -15,6 +15,7 @@ MENU_INSTALL_PLUGINS = "プラグインインストール" MENU_UNINSTALL_PLUGINS = "プラグインアンインストール" MENU_INSTALL_NPDRMFREE = "Adrenaline用npdrm_freeプラグイン(by qwikrazor87)インストール" MENU_INSTALL_CONFIG = "PKGJ v0.31+のconfig.txtインストール" +MENU_INSTALL_REMASTERED_CTRLS = "Install RemasteredControls plugins from Theflow (Adrenaline)" MENU_EXIT = "アプリを終了" MENU_INSTALLED_CONFIG = "pkgj用のconfig.txtはux0:pkgi/config.txtへインストールされます!" @@ -61,6 +62,13 @@ NPDRMFREE_VSH_UPDATED = "vsh.txtが更新されました" NPDRMFREE_GAME_UPDATED = "game.txtが更新されました" NPDRMFREE_NO_PARTITION = "パーティションが見つかりません!" +--pspctrls +PSPCTRLS_TITLE = "Remastered Controls plugins from Theflow (Adrenaline)" +PSPCTRLS_CROSS_INSTALL = "X : to install plugin" +PSPCTRLS_LR_SWAP = "L/R: to swap partitions" +PSPCTRLS_GAME_UPDATED = "game.txt updated" +PSPCTRLS_DESCP = "A collection of dual analog patches for PSP games on Adrenaline" + --descriptions plugins --KERNEL INSTALLP_DESC_NONPDRM = "どのようなPSVitaコンテンツでもDRM保護をバイパスできます" diff --git a/lang/SPANISH.txt b/lang/SPANISH.txt index 076f3f7d..86f6d44a 100644 --- a/lang/SPANISH.txt +++ b/lang/SPANISH.txt @@ -1,4 +1,4 @@ ---Translates +--Translates STRING_UNSAFE_MODE = "¡¡¡Se necesita el MODO INSEGURO para este Homebrew!!!" STRING_PSVITA_RESTART = "Tu PSVita se reiniciará" @@ -13,10 +13,11 @@ STRING_PLEASE_WAIT = "Por favor espera..." MENU_INSTALL_SD2VITA = "Instalar Plugin SD2VITA" MENU_INSTALL_PLUGINS = "Instalar Plugins" MENU_UNINSTALL_PLUGINS = "Desinstalar Plugins" -MENU_INSTALL_NPDRMFREE = "Instalar plugin npdrm free de qwikrazor87 (Adrenaline)" +MENU_INSTALL_NPDRMFREE = "Instalar plugin npdrm free de Qwik (Adrenaline)" MENU_INSTALL_CONFIG = "Instalar config.txt para PKGJ v0.31+" +MENU_INSTALL_REMASTERED_CTRLS = "Install RemasteredControls plugins from Theflow (Adrenaline)" MENU_EXIT = "Salir" -MENU_INSTALLED_CONFIG = "¡¡¡ux0:pkgi/config.txt para pkgj ha sido instalado!!!" +MENU_INSTALLED_CONFIG = "¡¡¡ ux0:pkgi/config.txt para pkgj ha sido instalado !!!" --install sd2vita SD2VITA_1_WARNING = "Para instalar el plugin de Storage Manager, su sd2vita debe estar lista" @@ -26,22 +27,22 @@ SD2VITA_4_WARNING = "a tu MicroSD antes de continuar, para no perder tus a SD2VITA_5_WARNING = "Por ejemplo: H-encore, Vitashell/ONEMenu, pkgj, adrenaline, etc... " SD2VITA_GAMECARD_DETECTED = "¡¡¡CARTUCHO DE JUEGO DETECTADO!!!" SD2VITA_GAMECARD_REMOVED = "Retíralo para continuar" -SD2VITA_TRIANGLE_INSTALL = "Para proceder a la instalación, presione Triángulo" +SD2VITA_TRIANGLE_INSTALL = "Para proceder a la instalación, presione △" SD2VITA_CIRCLE_CANCEL = "Para cancelar la instalación, presione O" --install plugins INSTALLP_LIST_PLUGINS = "Lista de Plugins listos para instalar:" -INSTALLP_CROSS_INSTALL = "Presione X para instalar plugin(s)" -INSTALLP_SQUARE_MARK = "Presione Cuadrado para seleccionar plugins individuales" -INSTALLP_TRIANGLE_ALL = "Presione Triángulo para instalar TODOS los Plugins" -INSTALLP_SELECT_CLEAN = "Presione SELECT para limpiar los plugins seleccionados" -INSTALLP_LR_SWAP = "Presione L/R para cambiar entre ux0/ur0" +INSTALLP_CROSS_INSTALL = "X : Para instalar plugin(s)" +INSTALLP_SQUARE_MARK = "[] : Para seleccionar plugins individuales" +INSTALLP_TRIANGLE_ALL = "△ : Para instalar TODOS los Plugins" +INSTALLP_SELECT_CLEAN = "SELECT : Para limpiar los plugins seleccionados" +INSTALLP_LR_SWAP = "L/R : Para cambiar entre ux0/ur0" INSTALLP_VITABRIGHT_360 = "Vitabright SOLO para 3.60" INSTALLP_CWARNING_360_365 = "Custom Warning no funciona en 3.67/3.68" -INSTALLP_QUESTION_SHELLSECBAT = "¡Se detectó el plugin shellsecbat!\n\n¿Instalar shellbat en su lugar y desinstalar shellsecbat?" -INSTALLP_QUESTION_SHELLBAT = "¡Se detectó el plugin Shellbat!\n\n¿Instalar shellsecbat en su lugar y desinstalar shellbat?" +INSTALLP_QUESTION_SHELLSECBAT = "\n ¡Se detectó el plugin shellsecbat!\n\n¿Instalar shellbat en su lugar y desinstalar shellsecbat?" +INSTALLP_QUESTION_SHELLBAT = "\n ¡Se detectó el plugin Shellbat!\n\n¿Instalar shellsecbat en su lugar y desinstalar shellbat?" INSTALLP_OSK_TITLE = "Texto para Custom Warning" INSTALLP_OSK_TEXT = "Escribe tu TEXTO aquí" @@ -49,18 +50,25 @@ INSTALLP_OSK_TEXT = "Escribe tu TEXTO aquí" --Uninstall plugins UNINSTALLP_TITLE = "Administrador de Plugins" UNINSTALLP_NOCONFIG_FOUND = "No se encontró config.txt en: " -UNINSTALLP_CROSS_INSTALL = "Presione X para desinstalar plugin" -UNINSTALLP_LR_SWAP = "Presione L/R para cambiar entre ux0/ur0" -UNINSTALLP_LEFTRIGHT_SECTION = "Presione Izquierda/Derecha para cambiar de sección" +UNINSTALLP_CROSS_INSTALL = "X : Para desinstalar plugin" +UNINSTALLP_LR_SWAP = "L/R : Para cambiar entre ux0/ur0" +UNINSTALLP_LEFTRIGHT_SECTION = "Izquierda/Derecha : Para cambiar de sección" --npdrm free -NPDRMFREE_TITLE = "Instalar plugin npdrm free de qwikrazor87" -NPDRMFREE_CROSS_INSTALL = "Presione X para instalar plugin" +NPDRMFREE_TITLE = "Instalar plugin npdrm free de Qwik" +NPDRMFREE_CROSS_INSTALL = "X : Para instalar plugin" NPDRMFREE_INSTALLED = "npdrm free instalado" NPDRMFREE_VSH_UPDATED = "vsh.txt actualizdo" NPDRMFREE_GAME_UPDATED = "game.txt actualizado" NPDRMFREE_NO_PARTITION = "¡Partición no encontrada!" +--pspctrls +PSPCTRLS_TITLE = "Remastered Controls plugins from Theflow (Adrenaline)" +PSPCTRLS_CROSS_INSTALL = "X : Instalar plugin(s)" +PSPCTRLS_LR_SWAP = "L/R : Cambiar de Partición" +PSPCTRLS_GAME_UPDATED = "game.txt actualizado" +PSPCTRLS_DESCP = "Colección de parches analógicos duales para juegos de PSP en Adrenaline" + --descriptions plugins --KERNEL INSTALLP_DESC_NONPDRM = "Le permite evitar la protección DRM en cualquier contenido de PS Vita" diff --git a/lang/english_us.txt b/lang/english_us.txt index dfb4ee91..dd2d4fc0 100644 --- a/lang/english_us.txt +++ b/lang/english_us.txt @@ -13,8 +13,9 @@ STRING_PLEASE_WAIT = "Please wait..." MENU_INSTALL_SD2VITA = "Install Plugin SD2VITA" MENU_INSTALL_PLUGINS = "Install Plugins" MENU_UNINSTALL_PLUGINS = "Uninstall Plugins" -MENU_INSTALL_NPDRMFREE = "Install plugin npdrm free from qwikrazor87 (Adrenaline)" +MENU_INSTALL_NPDRMFREE = "Install plugin npdrm free from Qwik (Adrenaline)" MENU_INSTALL_CONFIG = "Install config.txt for PKGJ v0.31+" +MENU_INSTALL_REMASTERED_CTRLS = "Install RemasteredControls plugins from Theflow (Adrenaline)" MENU_EXIT = "Exit" MENU_INSTALLED_CONFIG = "ux0:pkgi/config.txt for pkgj have been installed !!!" @@ -26,22 +27,22 @@ SD2VITA_4_WARNING = "them from your official MC only copy really needed ap SD2VITA_5_WARNING = "For example: H-encore, Vitashell/ONEMenu, pkgj, adrenaline, etc... " SD2VITA_GAMECARD_DETECTED = "GAMECARD DETECTED !!!" SD2VITA_GAMECARD_REMOVED = "removed before install" -SD2VITA_TRIANGLE_INSTALL = "To proceed to installation press Triangle" +SD2VITA_TRIANGLE_INSTALL = "To proceed to installation press △" SD2VITA_CIRCLE_CANCEL = "To cancel the installation press O" --install plugins INSTALLP_LIST_PLUGINS = "List of plugins ready to install:" -INSTALLP_CROSS_INSTALL = "X to Install the plugin(s)" -INSTALLP_SQUARE_MARK = "Square to select the plugin(s) to install" -INSTALLP_TRIANGLE_ALL = "Triangle to Install ALL the plugins" -INSTALLP_SELECT_CLEAN = "Select to clean selected plugins" -INSTALLP_LR_SWAP = "L/R to swap ux0/ur0" +INSTALLP_CROSS_INSTALL = "X : to Install the plugin(s)" +INSTALLP_SQUARE_MARK = "[] : to select the plugin(s) to install" +INSTALLP_TRIANGLE_ALL = "△ : to Install ALL the plugins" +INSTALLP_SELECT_CLEAN = "SELECT : to clean selected plugins" +INSTALLP_LR_SWAP = "L/R : to swap ux0/ur0" INSTALLP_VITABRIGHT_360 = "Vitabright only for 3.60" INSTALLP_CWARNING_360_365 = "Custom Warning not work for 3.67/3.68" -INSTALLP_QUESTION_SHELLSECBAT = "Plugin shellsecbat detected !!!\n\nInstall shellbat instead and uninstall shellsecbat ?" -INSTALLP_QUESTION_SHELLBAT = "Plugin shellbat detected !!!\n\nInstall shellsecbat instead and uninstall shellbat ?" +INSTALLP_QUESTION_SHELLSECBAT = "\n Plugin shellsecbat detected !!!\n\nInstall shellbat instead and uninstall shellsecbat ?" +INSTALLP_QUESTION_SHELLBAT = "\n Plugin shellbat detected !!!\n\nInstall shellsecbat instead and uninstall shellbat ?" INSTALLP_OSK_TITLE = "Text for Custom Warning" INSTALLP_OSK_TEXT = "Put text here" @@ -49,18 +50,25 @@ INSTALLP_OSK_TEXT = "Put text here" --Uninstall plugins UNINSTALLP_TITLE = "Plugins Manager" UNINSTALLP_NOCONFIG_FOUND = "No config.txt found at: " -UNINSTALLP_CROSS_INSTALL = "X to uninstall plugin" -UNINSTALLP_LR_SWAP = "L/R to swap ux0/ur0" -UNINSTALLP_LEFTRIGHT_SECTION = "Left/Right to switch section" +UNINSTALLP_CROSS_INSTALL = "X : to uninstall plugin" +UNINSTALLP_LR_SWAP = "L/R : to swap ux0/ur0" +UNINSTALLP_LEFTRIGHT_SECTION = "Left/Right : to switch section" --npdrm free -NPDRMFREE_TITLE = "Install npdrm free plugin from qwikrazor87" +NPDRMFREE_TITLE = "Install npdrm free plugin from Qwik" NPDRMFREE_CROSS_INSTALL = "X to install plugin" NPDRMFREE_INSTALLED = "npdrm free installed" NPDRMFREE_VSH_UPDATED = "vsh.txt updated" NPDRMFREE_GAME_UPDATED = "game.txt updated" NPDRMFREE_NO_PARTITION = "Partition not found!" +--pspctrls +PSPCTRLS_TITLE = "Remastered Controls plugins from Theflow (Adrenaline)" +PSPCTRLS_CROSS_INSTALL = "X : to install plugin" +PSPCTRLS_LR_SWAP = "L/R: to swap partitions" +PSPCTRLS_GAME_UPDATED = "game.txt updated" +PSPCTRLS_DESCP = "A collection of dual analog patches for PSP games on Adrenaline" + --descriptions plugins --KERNEL INSTALLP_DESC_NONPDRM = "Allows you to bypass DRM protection on any PS Vita content" diff --git a/menu.lua b/menu.lua new file mode 100644 index 00000000..93f9e9f5 --- /dev/null +++ b/menu.lua @@ -0,0 +1,73 @@ +local sd2vita_callback = function () + sd2vita() +end + +local installp_callback = function () + autoplugin() +end + +local uinstallp_callback = function () + pluginsmanager() +end + +local npdrm_callback = function () + npdrm_free() +end + +local config_callback = function () + if back then back:blit(0,0) end + files.copy("resources/pkgj/config.txt", "ux0:pkgi") + message_wait(MENU_INSTALLED_CONFIG) + os.delay(2000) +end + +local psp_ctrls_callback = function () + psp_ctrls() +end + +local exit_callback = function () + if change then + os.message(STRING_PSVITA_RESTART) + os.delay(250) + buttons.homepopup(1) + power.restart() + end + os.exit() +end + +local menu = { + { text = MENU_INSTALL_SD2VITA, funct = sd2vita_callback }, + { text = MENU_INSTALL_PLUGINS, funct = installp_callback }, + { text = MENU_UNINSTALL_PLUGINS, funct = uinstallp_callback }, + { text = MENU_INSTALL_CONFIG, funct = config_callback }, + { text = MENU_INSTALL_NPDRMFREE, funct = npdrm_callback }, + { text = MENU_INSTALL_REMASTERED_CTRLS, funct = psp_ctrls_callback }, + { text = MENU_EXIT, funct = exit_callback } +} +local scrollm,sel = newScroll(menu,#menu),1 + +change = false +buttons.interval(10,10) +while true do + if change then buttons.homepopup(0) else buttons.homepopup(1) end + buttons.read() + if back then back:blit(0,0) end + + screen.print(480,25,"Autoplugin",1.3,color.green, 0x0, __ACENTER) + + local y = 145 + for i=scrollm.ini, scrollm.lim do + if i == scrollm.sel then draw.fillrect(0,y-7,960,29,color.green:a(90)) end + screen.print(480,y,menu[i].text,1.2,color.white, 0x0, __ACENTER) + y+=37 + end + + screen.flip() + + --Controls + if buttons.up or buttons.analogly < -60 then scrollm:up() end + if buttons.down or buttons.analogly > 60 then scrollm:down() end + + if buttons.cross then menu[scrollm.sel].funct() end + +end diff --git a/resources/controls_psp/game.txt b/resources/controls_psp/game.txt new file mode 100644 index 00000000..028ce652 --- /dev/null +++ b/resources/controls_psp/game.txt @@ -0,0 +1,7 @@ +ms0:/seplugins/gta_remastered.prx 1 +ms0:/seplugins/resistance_remastered.prx 1 +ms0:/seplugins/splintercell_remastered.prx 1 +ms0:/seplugins/tombraider_remastered.prx 1 +ms0:/seplugins/pop_remastered.prx 1 +ms0:/seplugins/khbbs_remastered.prx 1 +ms0:/seplugins/mgs_remastered.prx 1 \ No newline at end of file diff --git a/resources/controls_psp/gta_remastered.prx b/resources/controls_psp/gta_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..820162d38ade2c2104d0824a755681ddcd13afcc GIT binary patch literal 5042 zcmeHKeQZ6EG6mJfSPBtxRu zXsN`sCnv2k5j*_BHj3EfQ7HS!*IK&q2hb?tYb)#6#ww(t4FQw*18qz~RW-4Czw>;a z^Ag0={=X|7|L*zSbI-XS=idAL-KV#2RTPDsQYdf=Nnv(wi-;iWTAa?B70eh+q-h3TbV zPPbPdH$tNp=2~fZsmch&h*Z)HKl}vXN28hPHNa3XMjt;D*BFdOdYYWNzAqM>*+fB)pY2TMFwI7>FjiX-kH|v^q1rXQdxo#wcLmStLR%1*f26GAD(Ww#_Fm>U2eOcjFnTBvF zU$<~8&1T^Sd@aJ&nsMPWzV*WCX0LEVK6NVLJCX18jpkFnzWjjinS92#F+b$1$QL~x zvsmnjW}B-h8^cbwFQaU{nz9`}$~II`Hlkvb7_--J8j*Q2ns1R2^C(996N(XURg8`v z#b|hg3i@)B^Z@4OF~gC|6z)hVR^Tzy($<;#u%F?EV-#+_P2rfPgxd`z9B)(B();xW z{kdMJ%k>)lzTQh$>izVm`T+g0zF4d^LbF7b^y8+#E9CXkkm{N=XcTp_NS)$maTu7*@2NON!YLN=go0p06bgTBt(iH38$ zFMK~N#GlW3uy+e{w)*#La=o(7iW>IB#FWcpfj0=VtEVd{pxb`Pj24A9+s} z=VNRB;e5PM&POM10qanMxW01SY;HF0G5wfNCFbMg1?NOua$;%U<*vTfv_sZ&E?2<1 z@Oi2zuZuOAk(_XRRKKbrCq@vfZ5Qu%wJRsshB=Ksz&-bVSfh7Sv6<9MgW@ivX) zZ5qehgtzRialB1y*<}|2*9`84%MJ-oc*2N)h-3F{M!g+e9kABs zRKiA4ob6ntN+;#ZyS}tDxw|W!Ne(6xt~Rd5_Y)=12Om5%2GQ)e3r2sL*!;nX^k?r` zpmelt>5Fb_Gk^ZM<`=i!d?EEs|Egzd6aV@6uXlde|Al{XFAmS&WH`js42eT}AzYq+ z1w+`~ni))O?H~L~a&S*FW%JwnyArMagUQ7#(F>WrRC)=yZ4YKKxOX74qiavs%gMnd z%^agA)z`h0W`0L<_X7Ri*#m1Y9RBvTf6xEnmHk%N{>|U}#q4uuzVpOSUOfCGtk>sx zV2jpmdtbLb*#G~0q7~q8dX`GD?gVoFJ4KU96|jKMdWVm!AnL%U85i!)cHFI2boR%7 zMj@PEPI3IL1Ht{+MJH@#Ax<0HI`vJcJ9eD^=O95gkmA^FfnIQpZxjQ;Uj)1G{|~l9 zS89Pc{`f52hB!XZRIWegvg0}2d4%29U3Ppf??Q&ykrc=G%g_t1@f9$>17gER*%{wn z)SdD18BahQA8hW_hh27j-tm8nVr(FV&o-CWAq7|5$V%)BH=yw4?!W)9YQ%50d#g4)8_Ybk#3~YnVG00kohCR&j^1?^s7Mbe_imtpdtNs0omV6K(-qYOi6o2+J{89M8}_M+kRB^ zF=;<2`XOmQB6>mEe=7Qfw9klsQrb_8J}d3#M872MS46)m?bk%dcdWe*w?)4r?RQ1r zC++t{KOp*j(T|D#k?5yHe<1p0(fMNG^|~RtCOY3)ybmeSCxE=3erz)1F2RF>_!D6B z`vhkM?+QlX3{~n7JT2%&aOSrQo)g5Uht0PM9uu4pJPG9SodWXs2au!~B4q?ELB4C4 zKO}fWupl@gI3svca8{7-QSN_9@T%Z7!Rvy2@39@OD1W%yVHTSg&rl1yVzECpTYh_SEj2Gfp_#L_NJ2C_I#_q)Z-B?W&54U pbYB9)TWam%%eK$J>0>A(O literal 0 HcmV?d00001 diff --git a/resources/controls_psp/khbbs_remastered.prx b/resources/controls_psp/khbbs_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..01036c8eb569ed98c106d62a7a7c1d3678f74bf3 GIT binary patch literal 3206 zcmeHJQD|Fb6h660*KDmLmFoHsSu&y2<`K z&iTJ{{&Ua&|G9bl#i4$e%SB46YhF@T1Wx}JB3I8jUxWhi@1e)(F?&8C0e9VGEw&IX zVc0i@GBu?ZFzE4!{aqAu$iv+D* z8aUIf)Qfzm9J+@_M5lS?d+3>`m~*Y>M!jQ^9n>3VA9FkDsOU8Bh226&e8GUFvHl1h zw&#L@szbRMl8}v?)g#JabOo|(6xEaTcFtV)4pBWt+i-83;m+R)&=>Q z7F%AK+D?HT!9Y|)|0>*5^sj>cRnWf*`d2~!D(GJYJ+7dK*oQjw755(O1IPR~e!%A6 z!F~k;M4i~H^Qgmz{Rmo7!n3*OVY{d$#C~wJHahnqcv!z)vDRYPgLnG4<^);&AA6$T zbjdkDllnK4ciSfN27L*)eb$yOYMi--jV-Y4%^-6{ED!F{O*hd64|`luoB?!HO%vU- z^{u!kF0#P6fYa69;KHX-8G0SQK-1@SyB5b9--nQhMSp>ob_UF?juK z+fP3Pb;PW?*h@5W0*NPj&0@AcUmP@wIU{TPOJfE*Ur!e^ZyH70MML>yx;I}m9%d39 zGBerII_Lfz>Mc$d%;97%dCVxTo91=LvYFIF?i*KU{J(ZYcOG~$_1w2--&+3j`j010 zS;4)C_~z^lTR1itxfE3uCxj8=>)k=<~f zo7zfrpA`tlGtZ0BAvWjZJYJl$ebAMtd^_RbI9_T6Us3SX9CMZ44PEj0Z1;f|V1kI^ zJqx?)sIR<@f0G;10$?837sF8b_@1OUSodWIkDpcV4C&+#4fsv}<<`2z5MqfM8s3RPa?nzL&fX-#f;F;7LJCur9bD_?6(I;F937;BCP>g1-q;*ffrt z6fPQB(eP#*F(*@E;T;w>a%R}f7bq-7gWWU~C1p-DC?z{w1+evZM8o0`n`Oro^Xa6S z3}fNpe0nl#?9aWCZ$xY`)8rpCN|`juThDg*o7|T&Y0zww!n`1bOQ}+c!uD5bykr*5 HWQyo7w34iP literal 0 HcmV?d00001 diff --git a/resources/controls_psp/mgs_remastered.prx b/resources/controls_psp/mgs_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..4ac2d5b81f86503c7d1f3daacef96c6b855083f2 GIT binary patch literal 4698 zcmeHKZ){sv6+eD<8^0}#7nFfNq}qGpC5^Pmih_|MWQm8fj!v{RTLarfVX0@NCykV_Pb{}AIvns&h#h=TDQGgS)H)x%-h z2|934fepOH!}LzM6u#s-Gd^M-bi>r*Iv$Y$Kdtb234TJfTz(tq*d95)2M-495=h-x zdQ72m5P0}4AdUgs0>`uvds|{!v{H8A+bQ~3@q6VC`dK+bKP|V@Ps*+I zZaGYs%OT`Nh&zwm-a?Ep*76(j+7UC(ecAj9)@j67%`Yn4FrRjv3#em&!bA_po%xhO zG%)848u1gz=|M`hJ2ooAoMFTrI}tkwj%yeOS9{WkTmMYNoJb0FNcSjPt8QyjYRHMO zZDQ^qd1`#O%}7tDm8MUVCy&Ql+N>Sv3X`|Q&!ZK1h=$eNMlCUirx@R=4Rl>MjiuU$ zjW~4YZr2hq7x5|Frq*~q5~R+^^K`>JQrbQ+t=7414wODb)Oy{tx@y5-{JdpQtu_*K ztpVz^o+S8Q+BKIE+gsvVgecdw&hf$)dsTmpZ8&~sWQx|11J@X_RnGmW73a)#;k9vX z*e9=Xm3^o>B$jSsy&*goT_>IUT0Qq6t{vyz;u`R!a#vixx4I?@9ig=M<-R-2hMv0=eix|+QPXut9+OEt=R0H`vRw=Y=z#kpmS;SAfZlp} zt(J0Yl<55qC3^6zh8_gxgX?QC7I@q|Z{U95xldqD`Lt~Vaj{O%Ky0k<9jvdu9$WIe z`9I3AW9h*$12PU(b_iGY;AwN2n+ebbzfy}dKrt-&=6Uoz=?7nG^ zJ2Ez!+D|ioJTrcW{`GtF9e--`9vSRRed?F5eslXDzxeG7FZs!r`d<9;+KH>*`uLk) zdiC}3(^JolCr2kZ%lFmo*eG6Z|8MtOfdCY_%QmE8jQK3+CR>JhyA_G1H1FfZeFa}X z+}NJ=c)PcW%r4l^D*923b<_SH0l{|c;v#fH2%zU!SC8?L)X?MoABLXI3evRRCm|P` z^6STY2cJ`_Ve2>YOJJ%M>N8A%ldYjPexrg4DoAmfx_CjwKoNhY5(;$jX`3)k! zMNz^hcO$~7q z;fu*lfNpvnzXDNg@@M0LYkv=6PW$@<#@Zj>ubb#DINh|rzky)AKJpXtL|y~pkG2Hc zG08H&$5}6qAGRA7eoAmfa8K~IU@ zORy@)_c+_}J5fHRViTpMY_gN-WIh>1;Nz3&Gh>-2CcZjZx46elL;tBvZZwVb_G>rs4c*U=rlF=p YigG}T=2E#FMb%I4Yq@+jpG*<`8_EUcga7~l literal 0 HcmV?d00001 diff --git a/resources/controls_psp/pop_remastered.prx b/resources/controls_psp/pop_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..d95d5adfe908f626c48e15da52f708006d8e95ef GIT binary patch literal 3814 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 bGUZY$cSxYrR+E}zZE6GZ<4Zue$# literal 0 HcmV?d00001 diff --git a/resources/controls_psp/splintercell_remastered.prx b/resources/controls_psp/splintercell_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..adbf1ae7615f8692bfb044e4438acca58370a15d GIT binary patch literal 4354 zcmeHKUu;`f8UK9k*0(h4+$!5F2-F6*jUc$DGN`Jq#%=9ni*ULqPOD4|&35fB7H(|p z8`?=ly9#*-S`)uA|=mU=&<>Yt1-}#;IJNG+(?)7W^sR572Lr$?;DzQ~UjWfB2$P;@r5T_9MUV56I zvimdKhZ5UOrlk^HN8JTGV6(1&8E>-nnxeH@r{a-74jofT?tONg28hfg^!;pW8McZ1 zwykI-zrLzxo*3}Z69WmA22|ScDizNF^Cw+AbKJ*cw_3N4_~?U%=AkaOpCldbcWL2} zPG1A3`hOPLOZupXlt>?J5BVZQKJANW|Bj~7_G*@zTZ$2>VT@!Q{MFgNO1F=!!$14$ zruP~FT5d!TD{Ps_%=?WV`eh?Xzi4#P&4x-h8a{frLDXyN^I^tXFu!qCR@>-XYAhmzM7l z?Vbx;I`oz|=K1v%>wtI8L%Sl_%dt3pXEyHna5iiXV;d`46k`s}=V*iX7UiD)D^R63 z-+&M7KT^n=N`4CV^Zt(_v^bUAv!yHH-jL$-b9)$lHou_LKFS>6+;grf*z+07#Q9LP zlQ;{8Kefv3Oa7r%Wp9_wL)caFp9Y_~dxGddXWZh)kK=wG`;>=N9`|L;dC!jd?u9+} z3G>ZA=6o;zm-+5{#C$()oM}H}dq3fs@A6tbyoZ*thi+mI-M}7t7kj8#$C}>3dfwr4 z9K&7+2QoO%8{Y7`i30}|8~$wje}U{nis{4s8rV%Vjmr(UitfYB5`yiNKD)gK_os(8 z&|dTrC2bD74O{1LXg9%)bvO_G1ML-X6`O01-9-C0;HF)=`)IF$yYAw)&|U|33%DOK zImR~H8{pP#UE7}z^W6mJF8%;{(v?zi!YEV|g;Hsxa3NbmyO3|I=4XhuF{TGEg9z#> zzZ6{MPfN%C_;&5HoBV!RLtpw==MT={6mUtu3QrdjMzu6hu70CXohY!1sCKTv{^7jA#=3qSqlwV%B4nR{>L zi?wsH6Gw;B!!JK~a;X34ne<3pw{R>SzJfR3xa@Bp&pLc6;oLp&$9`0t1-wZ*#qoDg zbnIdapz6#rN&2Jr-Z%{NC(wW~Ww0XW9m(TKLRL2LX zPWuJ49bE_-^AWmlxpaIlOru)hoZ|R?1%&0A-zMg_A|iZ>cIG#UwiB1{mYC^noVa(;wp{+!;m^r4 z9;xH+FK9dd`0m%SftiGMoOQ%9Jj`|}ONO9u+3pV@nqFTJsIBBlJeO$Itxf{B` zC+QRn5M9Tg6N~*gZ9jAz(;5%W9|)~i6~@jJlASs6Dk{g&{Hf=%gPmi}A9 z`*1+m4?d!8>;`h2AdurM3;%aPP7?PAfZQJvyH9Lg?4;N!u}8%o6Z<8x$AKI_FMLV( zOJZLZds^&SvFF9UBDMu&KMTTN7rrU>ir8yn|5@x!vG0q$Ew&HN>^uYcdAr080`W)q zVPNw;!uN{ZCw5$HO>AB4q}VC3hsDMZ9NTY3kndBZoVo;qf_(Qd9}|oV9v4gsJ};OO z!qN z_6YL*$UH@j!X<;E)j~;H__|6PlR2^Q9TY807*V5Kp{N*bb;ocdIpacGQnQCU1K4^n zqHXaITV;=_mh)L78%5xua(=Q@7@Rm?ZjX3GPe(ses1@^=-cGfP?`TgK^N`slML8fv UYq?sDqV~Vqc+IF9*&NY-00o9`R{#J2 literal 0 HcmV?d00001 diff --git a/resources/controls_psp/tombraider_remastered.prx b/resources/controls_psp/tombraider_remastered.prx new file mode 100644 index 0000000000000000000000000000000000000000..366a75f1a348a92197aef2f9e7ddade4acb813b1 GIT binary patch literal 3186 zcmeHJU1%It6h1RM+icn(8%cE^BAu~QTd*vpL@croLy|5nrndG6Dk|=7c5DNiY?z&B z`XCO?79tHvBp_N;#+qut&_wM+A5sliw4g6SkwOdRDfB_4phys9{m$&U+ifxW;H!r{ z^WFR1@1A?^nL9K4`rf{*rfH-stR+bGx|rNRr0qJN>>?BV4tj_-N8>q}upFZxj1$el z@uQ^h3f5{@wj1>2!rMe`8W}c`k$DU4E~?t#r-)*iFkYBX(3R~8T8UW*a0hb`Et8%4%*{K2rsTfh9XLy}$=vNU}qYa4NVp|R(M!D*lS*$Y~@0tGy zXqgUKfrBh{NwUo`3fgsy#4_8^Zo?b{+O?W} zu@5=2{_&(s2HB5YuQ?qC_1o`DoOcCzZ(;noi3FJsV|^WUnBp3tHdCk#>bE$>bxWdt zJa#W{M*Iru*}-*09W0Zm6SYjCwn^0UO{`-DAz9N7vcZ1i-4m8+>aAkiT_GmL2z zx6iR|+`+o%XIkmQnT<3%vxzRu1hsBEsP)6E@C&HL>0U~V^-{9hOQ|!xrWRy#i69#$ zgRGefvPgZ^AY&D$Y_*N_)o6X}3prt5rjER(kn0q3i}qz=Usf^~i_XT40PFJ^srQj^ z)c-HYbHxG!&q0V|F>WxUIR;MpBKpdfqIN6JxkfKQa~!w!dc>hZI59bJIdHcdoJJ?X z4THl?hSlem&>jVc8xG^S8V#czfWrZ4a6a1O;QD~=kxr*kw5K_qSWA+$qvgTE;ru|+ z^$xp(`HJs)Zc&X-pCOus{wn-C`0=Lwu;%9c?jJs`JaUKIIgDw4-b`2J1#sjPVh#5A zUMXAlo_4()Cn6PetX`paF&HMp(@GkxB7t@`q?ar1%+X_#8eeTs8zkl`psk1@;?Cv){Sw48> zwXGjKf9^fsdooJ!?`qUHP^c&W|Mg!hz(;}|pM%J9xbpc|hGQ973$7uKe7%Q8E8geQ z;rXoN7hgME#p5`a;dpO1OvT$GI$kQ|3(lw-W3g)QM4RKWgwMMHor$(GrF#NI*py#x zBT@9J03V05j`Qn=t9bnE*z2r&ut|3fx*hB2UTo6wbGQ?_32@3(ekVYLP5F%?zc~@1 zl#TpG&{p~JGktlTb;p`?{CqFN9dOFNnm41#sL;Q`1MxQVth*75jnf}C2& zH&h*1G}&0g_6MBThc5X~Ivo>4*NDe`Wh%cG=y*+KIqdgAwHQd%Qb5)q;#cFsZct) NR8CfW&(9Z#{sKX>s!{*| literal 0 HcmV?d00001 diff --git a/sce_sys/livearea/contents/template.xml b/sce_sys/livearea/contents/template.xml index 110b29b9..7e3ee02b 100644 --- a/sce_sys/livearea/contents/template.xml +++ b/sce_sys/livearea/contents/template.xml @@ -29,7 +29,7 @@ - v3.11 + v3.12 diff --git a/sce_sys/param.sfo b/sce_sys/param.sfo index c97d7556533ac283a0046220117f550e9d29f6b7..4f96dfe25aee8b147fe23cb82b061bb579ec809b 100644 GIT binary patch delta 53 zcmbQhK7oCL3#05tS1Cq8BL>HikRVT|&=A*nUr#^(pveV{M|h1GfS>_HFfa&gc4YEr F1ORF!3+ey> delta 53 zcmbQhK7oCL3!~CTS1CrpcwbLH{~!j(kdPoxr_c~rqsaw~M>q``fS`eaL11zrlltZq HCLKlqc?Jy^ diff --git a/script.lua b/script.lua index a2f5f364..8282e873 100644 --- a/script.lua +++ b/script.lua @@ -52,6 +52,7 @@ dofile("scripts/commons.lua") dofile("scripts/autoplugin.lua") dofile("scripts/pmanager.lua") dofile("scripts/npdrm.lua") +dofile("scripts/pspctrls.lua") dofile("scripts/sd2vita.lua") -dofile("scripts/menu.lua")--Main Cycle +dofile("menu.lua")--Main Cycle diff --git a/scripts/pspctrls.lua b/scripts/pspctrls.lua new file mode 100644 index 00000000..ec04354f --- /dev/null +++ b/scripts/pspctrls.lua @@ -0,0 +1,217 @@ +psp_plugins = { + +--PSP game.txt +{ name = "Grand Theft Auto Remastered", path = "gta_remastered.prx" }, +{ name = "Kingdom Hearts Remastered", path = "khbbs_remastered.prx" }, +{ name = "Metal Gear Solid Remastered", path = "mgs_remastered.prx" }, +{ name = "Prince Of Persia Remastered", path = "pop_remastered.prx" }, +{ name = "Resistance Remastered", path = "resistance_remastered.prx" }, +{ name = "SplinterCell Remastered", path = "splintercell_remastered.prx" }, +{ name = "Tomb Raider Remastered", path = "tombraider_remastered.prx" }, + +} + +function insert_psp_plugin(device,obj) + + --install plugin + files.copy("resources/controls_psp/"..obj.path, device.."pspemu/seplugins/") + if files.exists(device.."pspemu/seplugins/"..obj.path) then + if back then back:blit(0,0) end + message_wait(obj.name.."\n\n"..STRING_INSTALLED) + os.delay(1500) + end + + local nlinea, cont, _find, file_txt = 0,0,false, {} + + for line in io.lines(device.."pspemu/seplugins/game.txt") do + cont += 1 + table.insert(file_txt,line) + + pathp,status = line:match("(.+) (.+)") + + if pathp then + if pathp:lower() == "ms0:/seplugins/"..obj.path then + _find = true + nlinea = cont + end + end + + end + + if _find then + file_txt[nlinea] = "ms0:/seplugins/"..obj.path.." 1" + else + table.insert(file_txt, "ms0:/seplugins/"..obj.path.." 1") + end + + local fp = io.open(device.."pspemu/seplugins/game.txt", "w+") + for s,t in pairs(file_txt) do + fp:write(string.format('%s\n', tostring(t))) + end + fp:close() + +end + +function psp_ctrls() + + local partitions = { "ux0:", "ur0:", "uma0:", "imc0:", "xmc0:" } + local options = {} + + for i=1,#partitions do + if files.exists(partitions[i]) then + local device_info = os.devinfo(partitions[i]) + if device_info then + table.insert(options,partitions[i]) + end + end + end + + local selector,lim,toinstall,x_scr = 1,10,0,5 + local scroll_psp = newScroll(psp_plugins, #psp_plugins) + + buttons.interval(10,10) + while true do + buttons.read() + if back then back:blit(0,0) end + + screen.print(480,10,PSPCTRLS_TITLE,1,color.red, 0x0, __ACENTER) + + --Partitions + local xRoot = 500 + local w = (955-xRoot)/#options + for i=1, #options do + if selector == i then + draw.fillrect(xRoot,55,w,28, color.shine:a(90)) + end + screen.print(xRoot+(w/2), 60, options[i], 1, color.white, color.blue, __ACENTER) + xRoot += w + end + + --List of Plugins + local y = 105 + for i=scroll_psp.ini, scroll_psp.lim do + + if i == scroll_psp.sel then draw.fillrect(0,y-4,943,26,color.green:a(90)) end + screen.print(35,y, psp_plugins[i].name) + + if psp_plugins[i].inst then + screen.print(3,y,"-->",1,color.white,color.green) + end + + y+=28 + end + + ---- Draw Scroll Bar + local ybar,hbar = 105, (lim*26)-2 + draw.fillrect(950,ybar-2,8,hbar,color.shine) + if scroll_psp.maxim >= lim then + local pos_height = math.max(hbar/scroll_psp.maxim, lim) + --Bar Scroll + draw.fillrect(950, ybar-2 + ((hbar-pos_height)/(scroll_psp.maxim-1))*(scroll_psp.sel-1), 8, pos_height, color.new(0,255,0)) + end + + if screen.textwidth(PSPCTRLS_DESCP) > 935 then + x_scr = screen.print(x_scr, 415, PSPCTRLS_DESCP,1,color.white,color.orange,__SLEFT,935) + else + screen.print(480, 400, PSPCTRLS_DESCP,1,color.white,color.orange,__ACENTER) + end + + screen.print(10,440,PSPCTRLS_CROSS_INSTALL,1,color.white,color.black) + screen.print(10,460,INSTALLP_TRIANGLE_ALL,1,color.white,color.black) + screen.print(10,480,PSPCTRLS_LR_SWAP,1,color.white,color.black) + screen.print(10,500,INSTALLP_SQUARE_MARK,1,color.white,color.black) + screen.print(955,500,INSTALLP_SELECT_CLEAN,1,color.white,color.black, __ARIGHT) + + screen.print(10,522,STRING_CIRCLE_BACK,1,color.white,color.black) + screen.print(955,522,STRING_START_CLOSE,1,color.white,color.red, __ARIGHT) + + screen.flip() + + -------------------------- Controls -------------------------- + + if buttons.circle then break end + + --L/R + if buttons.released.l or buttons.released.r then + if buttons.released.l then selector -= 1 else selector += 1 end + if selector > #options then selector = 1 + elseif selector < 1 then selector = #options end + end + + --Exit + if buttons.start then + if change then + os.message(STRING_PSVITA_RESTART) + os.delay(250) + buttons.homepopup(1) + power.restart() + end + os.exit() + end + + if scroll_psp.maxim > 0 then + if buttons.up or buttons.analogly < -60 then scroll_psp:up() x_scr = 5 end + if buttons.down or buttons.analogly > 60 then scroll_psp:down() x_scr = 5 end + + if buttons.cross then + + if not files.exists(options[selector].."pspemu/seplugins/game.txt") then + files.copy("resources/controls_psp/game.txt", options[selector].."pspemu/seplugins/") + end + + if toinstall <= 1 then + --Update game.txt + if files.exists(options[selector].."pspemu/seplugins/game.txt") then + insert_psp_plugin(options[selector], psp_plugins[scroll_psp.sel]) + end + + else + for i=1, scroll_psp.maxim do + if psp_plugins[i].inst then + insert_psp_plugin(options[selector], psp_plugins[i]) + end + end + os.delay(50) + end + + for i=1,scroll_psp.maxim do + psp_plugins[i].inst = false + if toinstall >= 1 then toinstall-=1 end + end + + os.message(PSPCTRLS_GAME_UPDATED) + + end--cross + + --Mark/Unmark + if buttons.square then + psp_plugins[scroll_psp.sel].inst = not psp_plugins[scroll_psp.sel].inst + if psp_plugins[scroll_psp.sel].inst then toinstall+=1 else toinstall-=1 end + end + + --Clean selected + if buttons.select then + for i=1,scroll_psp.maxim do + psp_plugins[i].inst = false + if toinstall >= 1 then toinstall-=1 end + end + end + + --Install ALL plugins + if buttons.triangle then + if not files.exists(options[selector].."pspemu/seplugins/game.txt") then + files.copy("resources/controls_psp/game.txt", options[selector].."pspemu/seplugins/") + end + + for i=1,scroll_psp.maxim do + insert_psp_plugin(options[selector], psp_plugins[i]) + end + + os.message(PSPCTRLS_GAME_UPDATED) + end + + end + + end + +end