Il developer italiano Rinnegatamante ha rilasciato la sua quarta release dell’applicazione Lua Player Plus, l’interprete LUA per console portatile Old e New 3DS realizzato attraverso un fork dell’applicazione originale lpp-c++ per PSP e PS Vita.
Il nuovo aggiornamento divide l’applicazione che viene rilasciata in due versioni distinte, Normal, per chi intende fare uso della versione originale e Unsafe, la versione modificata che non gestisce gli errori ma che si presenta più veloce.
Lo strumento corre sotto la versione 5.3.1 di LUA e fornisce diverse funzioni interessanti come la riproduzione audio e video, l’estrazione di file zip, il supporto per il caricamento di immagini, l’alpha blending, le funzionalità di rete e quant’altro.
Per poter avviare l’applicazione dovrete rinominare il file LPP-3ds-3dsx in MyHomebrewName.3dsx e successivamente caricarlo nella directory “/3DS/MyHomebrewName/”, poi potrete iniziare a scrivere lo script come “/3DS/MyHomebrewName/index.lua”.
Lo strumento include anche un debugger integrato con il supporto per server FTP in modo da poter correggere i propri script in runtime.
Nel pacchetto troverete la documentazione relativa a tutte le funzioni del player LPP-3ds, una build 3DSX, una build ELF per rendere in build i file CIA/3DS e alcuni campioni in LUA.
Caratteristiche
- Sistema di grafica 2D con diverse funzioni integrate per il disegno di testo, la creazione di console di debug, rettangoli di riempimento, disegno pixel, ecc…
- Supporto del canale alfa.
- Supporto nativo per le immagini BMP/PNG/JPG.
- Sistema audio per la riproduzione di file audio e la registrazione audio con microfono.
- Supporto nativo per i file audio WAV/AIFF/OGG.
- Accesso completo alla fotocamera del Nintendo 3DS.
- Accesso completo per i controlli del Nintendo 3DS.
- Funzionalità di Input/Output per SDMC e EXTDATA.
- Supporto per il rendering della GPU.
- Intensificazione automatica per l’accesso al kernel per gli utenti Ninjhax 1.1b.
- Sistema Video per la riproduzione di file video con supporto nativo per i file JPGV.
- Sistema Timer.
- Funzioni aritmetiche avanzate.
- Supporto nativo 3D.
- Funzioni di connettività Internet attraverso il modulo di rete (come il download di file, l’invio di mail).
- Funzioni socketing (Come server FTP).
- Accesso in lettura a diverse informazioni del 3DS (Firmware, Mac Address, Kernel Version, Regione, ecc..).
- Sistema di tastiera integrata.
- Supporto nativo per homebrew 3DSX e SMDH.
- Supporto nativo agli archivi CIA.
- Supporto nativo per gli archivi ZIP.
- Accesso ad alcune syscall 3DS (Riavvio del sistema, lancio delle cartucce, ecc..).
Changelog
Nuove funzioni
- Controls.enableGyro() – Abilita giroscopio.
- Controls.disableGyro() – Disabilita giroscopio.
- Controls.enableAccel() – Abilita accelerometro.
- Controls.disableAccel() – Disabilita accelerometro.
- Controls.readGyro() – Legge lo stato del giroscopio.
- Controls.readAccel() – Legge lo stato dell’accelerometro.
- Controls.enableScreen() – Power On sullo schermo.
- Controls.disableScreen() – Power Off sullo schermo.
- Controls.shellStatus() – Restituisce lo stato della shell.
- Graphics.getPixel() – Ottiene un pixel per una texture GPU.
- System.setCpuSpeed() – Imposta la frequenza della CPU.
- System.getCpuSpeed() – Restituisce la frequenza della CPU.
- Camera.init() – Inizializza la fotocamera della console.
- Camera.getOutput() – Mescola l’uscita sullo schermo della fotocamera.
- Camera.takePhoto() – Prende una foto con la fotocamera.
- Camera.takeImage() – Prende un’immagine con la fotocamera.
- Camera.term() – Termina fotocamera.
- Mic.start() – Avvia la registrazione con microfono.
- Mic.isRecording() – Verifica se il microfono sta ancora registrando.
- Mic.stop() – Arresta la registrazione e salva il risultato.
- Mic.pause() – Mette in pausa di registrazione.
- Mic.resume() – Riprende la registrazione.
- JPGV.drawFast() – Disegna un video JPGV in modalità veloce (solo video a schermo intero).
- Sound.getService() – Ottiene un servizio utilizzato per il sistema audio.
Nuove caratteristiche
- Ora i sochet vengono impostati in modalità non-blocking per impostazione predefinita.
- Ora le funzioni dello schermo possono essere utilizzate per modificare le strutture della GPU (come prima per le normali immagini).
- Ora System.checkBuild() restituirà diversi codici per NH1 e NH2.
- Aggiornato Lua dalla versione 5.3.0 alla 5.3.1.
- Piena velocità per le funzioni di I/O.
- Ora, se il file index.lua non viene trovato, l’interprete restituirà un errore invece di mandare in crash il sistema.
- Introdotto un Sistema audio-periferiche per gestire l’audio sul sistema.
- Ora se CSND:SND non è disponibile, dsp::DSP sarà utilizzato per un supporto audio di base.
- Ora sarà fornito una versione più veloce (non sicura) dell’interprete in versioni ufficiali senza il gestore degli errori.
- Ora il terzo argomento per System.takeScreenshot() e Screen.saveImage() si presenta facoltativa (Default = false).
- Aggiunta la possibilità di cambiare la modalità di interpolazione per i suoni (Default = LINEAR_INTERP).
Funzioni deprecate
- Modulo BMPV deprecato (formato video inutile).
- Sound.register() deprecato (il modulo ora utilizza Mic).
I cambiamenti di sintassi
- Ora System.getKernel() e System.getFirmware() tornerà a MAJOR_VERSION, MINOR_VERSION e REVISION.
- Ora Sound.play() non avrà più argomenti nei canali e avrà come terzo (facoltativo) argomento in modalità di interpolazione.
- Ora JPGV.start() non andrà più a prendere argomenti nei canali.
Correzioni di bug
- System.extractZIP() ora chiude i file ZIP correttamente, permettendoci di eliminarli, per esempio.
- Ora l’interprete non crasha più durante l’uso dei Socket senza le funzioni di rete corrotte.
- Ora System.getKernel() e System.getFirmware non vengono più scambiate.
- Ora i privilegi nell’escalation del kernel per gli utenti su 4.5-9.2 viene fatta anche su Ninjhax 2.x.
- Ora Graphics.fillCircle() accetta il numero di argomenti corretti.
- Ora Screen.drawPartialImage() fonde correttamente su RIGHT_EYE.
- Ora quando si esce dall’interprete non si va più in crash su NH2.5.
- Ora le funzioni del modulo audio funzionano correttamente su NH2.5.
- Ora System.getDate() non causeranno il blocco se l’orologio della console non è mai stato impostato.
- Ora System.addNotification() funziona anche su NH2.
- Ora, abilitando il 3D con lo slide del 3D non causa più il crash di sistema.
Campioni
- Sostituito campione BMPV con un campione JPGV.
- Aggiunto campione Camera per l’utilizzo della fotocamera.
- Aggiornato campione Mic con un nuovo modulo Mic.
Bug conosciuti e comportamenti strani
- Alcuni moduli (Advanced Sound Module, Camera Module, Network Module) non sono accessibili insieme su NH2.5. Quando andrete a scrivere i vostri homebrew date un’occhiata all’interno della cartella Descriptors per l’utilizzo di questi servizi.
- Il modulo Mic tende a bloccarsi durante l’inizializzazione su New 3DS.
- Il modulo sonoro di base è incompiuto a causa della mancanza di una buona libreria per servizio di supporto DSP::DSP. Viene raccomandato pertanto l’utilizzo degli Advanced Sound Module.
- System.addNotification richiederà un titolo di destinazione per essere utilizzato su NH 2.x.
- Modalità di interpolazione polifase è disponibile solo su modulo sonoro di base.
Maggiori informazioni, documentazione e contatti li potrete trovare in calce alla fonte.
Download e fonte: Lua Player Plus r4