[PSP] Le OneLua se met à jour !

Nous avions déjà parlé du OneLua dans un article précédent en plus de l’utiliser dans nos cours dédiés à la programmation. L’interpréteur est de nouveau mis à jour par ses développeurs, gdljjrod et Rober Galarga, passant ainsi en version V2R2. Quelles sont les nouveautés proposées par son auteur ? Laissez-nous vous les montrer !

sample_base

Le code de base proposé par le développeur


Les auteurs nous livre un code de base fourni avec cette nouvelle version, permettant d’accéder à la principale nouveauté de cette mise à jour : le debugger. Cet outil va être très utile pour les développeurs car il permet de faire apparaître un menu dès qu’un bug survient, permettant ainsi d’éditer directement sur sa PSP l’erreur en question et de relancer directement le script. Pratique ! De plus, l’interface proposée par le développeur est très jolie et nous donne diverses informations (en plus on peut utiliser le clavier de Danzel au lieu de l’OSK officiel qui est chiantissime).

debugguer_dev

Une jolie interface qui donne envie de mettre des erreurs 🙂

Pour activer cette fonction, il suffit d’inscrire la ligne suivante dès le début de votre script.lua pour pouvoir afficher ce menu très complet.

os.debug()	

Par contre, n’oubliez pas de supprimer cette ligne dès que vous aurez mis en ligne votre homebrew, les non-développeurs verront ainsi un autre menu d’erreur s’afficher proposant simplement de re-lancer le homebrew ou de revenir au XMB.

message_user

Un menu différent pour les non-développeurs

Le développeur ne s’arrête pas là, puisqu’un plugin nommé onelua_rdriver.prx est disponible dans l’archive. Ce plugin permet, quand vous utilisez la fonction game.lauch(), de pouvoir retourner directement sur le OneLua quand vous quittez une application.

On retrouve aussi de nouvelles fonctions dédiées à la modification de la batterie. La première permet de mettre la batterie en mode « Normal », la deuxième en mode « Pandora », la troisième en mode « Autoboot ».

batt.tonormal() -- Normalise la batterie
batt.topandora() -- Pandorise la batterie
batt.toautoboot() -- Autoboote la batterie

De plus, deux autres fonctions, dédiées elles aussi à la batterie permettent de faire un back-up de l’EEPROM de la PSP et de la restaurer.

batt.backupbat() -- Faire un back-up de l'EEPROM
batt.restorebat() -- Restaurer le back-up de l'EEPROM

Dans la catégorie des fonctions pour gérer les fichiers, une nouvelle fonction a fait son apparition, permettant de scanner les fichiers de type .zip et .rar présents dans un dossier tandis que la seconde permet quant à elle d’extraire les fichiers compressés.

files.scan()
files.extractfile()

Si vous codez des utilitaires qui renseignent l’utilisateur sur différents détails « techniques », six nouvelles fonctions retournant respectivement : la version logiciel usine, le FuseId, le FuseCfg, le Kirk, le Spock et la valeur Nand-Seed (ou IdsScramble).

hw.ofwinitial() -- Retourne la version logiciel usine
hw.fuseid() -- Retourne le FuseId
hw.fusecfg() -- Retourne le FuseCfg
hw.kirk() -- Retourne le Kirk
hw.spock() -- Retourne le Spock
hw.nandseed() -- Retourne la veleur Nand-Seed (IdsScramble)
vstsmapsp

♩ Vous savez tout sur ma PSP ♩

A noter que la fonction hw.placa() a été renommée en hw.board(), et la fonction hw.getmodel() permet de détecter maintenant le type de PS Vita utilisée.

Dans les fonctions dédiées à l’écran, on en retrouve deux nouvelles, la première permet de faire une image à partir de ce qui est affiché à l’écran et la deuxième permet de faire une image à partir de la mémoire tampon.

screen.toimage() -- Créer image à partir de l'écran
screen.buffertoimage() -- Créer image à partir de mémoire tampon

 Pour les matheux, ou pas, trois fonctions font leurs apparition concernant les bits (0 et 1) et les termes logiques : not, or et and.

math.bitnot()
math.bitand()
math.bitor()

Dans les fonctions OS, plusieurs nouveautés et changements sont notables, certes il y a le debugger mais aussi une fonction qui permet d’obtenir le mot de passe de la PSP.

os.password() -- Retourne le mot de passe de la PSP
mdp-onelua

Vite ! Il faut que je cache ma PSP !

Ils ont modifié d’une part la fonction os.getcfw() qui peut maintenant détecter si vous utilisez le ARK-2 ou le TN-V sur votre PS Vita et d’autre part le nom de la fonction os.reset() en os.restart(). De plus, la fonction osk.init() permet de choisir entre le clavier normal et le numérique.

Ce n’est pas fini puisqu’au niveau 3D, une nouvelle fonction est disponible pour les modèles possédant de la transparence, l’auteur a aussi corrigé les bugs de réflexions.

amg.rendertrans() -- Gérer les modèles avec de la transparence

Pour terminer (oui c’était long), la spécificité du OneLua étant les fameux callbacks, vous pouvez en retrouvez deux nouvelles dues aux nouvelles fonctions citées au-dessus.

onDebug()
onExtractFiles()

On peut dire que la liste d’améliorations est importante, aussi si vous voulez en savoir plus nous vous invitons à consulter la documentation. Le développeur gdljjrod et son complice Rober Galarga, a créé, selon moi, le Lua Player par excellence sur PSP. Ces améliorations sont par ailleurs sûrement dues à l’arrivée imminente du One Menu pour PSVita.