Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Lua Player Plus Vita

From GameBrew
Revision as of 03:34, 1 November 2022 by HydeWing (talk | contribs)
Lua Player Plus Vita
File:Luaplayerplusvita.jpg
General
AuthorRinnegatamante
TypeUtilities
Versionnightly
LicenseGPL-3.0
Last Updated2020/01/16
Links
Download
Website
Source

Lua Player Plus Vita is the first lua interpreter made for the Sony PlayStation Vita.

The interpreter currently runs under LuaJIT 2.0.5 with slight additions from Lua 5.2.4 (for example the bit32 lib for bitwise operations). It has also a debug FTP server to correct your errors in runtime.

Official documentation: http://rinnegatamante.github.io/lpp-vita/

Features

Graphics =

  • Advanced 2D Graphics Rendering (GPU).
  • Basic 3D Graphics Rendering (GPU).
  • Native support to OBJ models.
  • Native support to TTF/PGF/PVF/OTF fonts.
  • Native support to BMP/PNG/JPG images.
  • Native support to GIF animated images.
  • Built-in rescaler to perform portings from lpp-3ds easily.

Multimedia

  • Complete sound system with support for:
    • WAVEform audio files (.wav) with PCM8/PCM16/ADPCM codecs.
    • Audio Interchange File Format audio files (.aif/.aiff) with PCM8/PCM16 codecs.
    • Moving Picture Expert Group-1/2 Audio Layer 3 audio files (.mp3) with MPEG-1 Audio Layer III/MPEG-2 Audio Layer III codecs.
    • Musical Instrument Digital Interface audio files (.midi).
    • Ogg Media audio files (.ogg/.opus) with Vorbis/Opus codecs.
  • Native support to MP4 video files with support for .srt and .vtt subtitles files.

Controls

  • Controls system with full console support.
  • Support to dualshock rumble feature for PSTV.
  • Support to home button locking/unlocking.
  • Support to lightbar color change for PSTV.
  • Support to gyroscope and accelerometer reading.
  • Support to both touchpads reading.

Network =

  • Built-in debug FTP server.
  • Complete sockets system support.
  • Native support to HTTP requests.
  • Support to SSL (HTTPS) for file downloading.

System

  • Access to a lot of Sony syscalls.
  • I/O access for any filesystem.
  • Native support to ZIP archives.
  • Native support to SFO file descriptors.
  • Native support to SQLite databases.
  • Native support to apps installation/uninstallation.

Utilities

  • Timer system.
  • Advanced arithmetical functions support (math library).

Nightly Builds

We offer an automated builder service for our nightly builds powered by Azure Pipelines CI. Nightly builds are automatically updated at each new commit. To take advantage of this service, you can find a proper release here on GitHub with the Nightly tag.

Media

Screenshots

luaplayerplusvita-01.jpg luaplayerplusvita-02.jpg luaplayerplusvita-03.jpg luaplayerplusvita-04.jpg

Showcase

Here are some PSVITA homebrews made using Lua Player Plus Vita:

Games

Utilities

Emulators

Engines & Interpreters

Changelog

nightly

  • 6bebb95 Added System.extractPbp and PBP support to System.extractSfo.
  • 4ab3b2d Fixed an issue causing extracted title from SFO to be corrupted sometimes.
  • f7c0873 Fix for video looping not properly working.
  • b2bd0d0 Unloading scePromoterUtil whenever used to prevent memleak inside scePaf.
  • 332df67 Fix compilation with latest vdpm packages.
  • 571bdcd Update to LuaJIT 2.1 (#63)
  • eeb0c77 Added Camera sample and fixed RayCast3D sample.
  • 777fb33 Updated Keyboard, 3D Cube and 3D Model samples to use the new API (#62)
  • 778da41 Fixed Database callback for multiple column SELECT
  • a260def Fixed a bug causing Database.execQuery to close opened database
  • 55ec104 Fixed a bug causing Screen.getPixel to return incorrect pixels.
  • a715827 Added Graphics.saveImage function.
  • 5e638b9 Fixed an out of bounds bug in System.takeScreenshot.
  • 2d42c21 Added possibility to take paletted PNG screenshots.
  • 52c0a23 Fixed a potential out of bounds in Graphics.loadImageAsync (#60)
  • 8bbb756 Added Graphics.loadImageAsync (#59)
  • 9e0906f Tpo fixes in documentation.
  • cadb240 Move to GitHub Actions for documentation deploying.
  • 8124c46 Added functions to calculate text width/height in Font module.
  • 0538bc7 Added System.unmountMountpoint.
  • 1a70f29 Added functions to load/unload plugins.
  • b2f5ca9 Removing vita-libdl build stage in nightly builder. (#56)
  • a67ef3e Fix for erroneous return value desc of System.getBatterLife
  • c0454bc Fix compilation.
  • 3dff18e Added support for animated GIF images.
  • d917ca8 Typo fixes. (#52)
  • 3798b01 Fix System.executeUri sample in the doc file. (#51)
  • b1605ae Added Gui.drawImage.
  • 3fb24f6 Properly adjusted supported formats for getTitle and getAuthor.
  • 6f57261 Typo fix.
  • c5f8f20 Addeed Registry module.
  • cd70c3c Added System.resetTimer.
  • ef092f6 Typo fix.
  • 35a4409 Added System.compressZip and System.addToZip.
  • 079d9c1 Typo fix.
  • 40d6851 Replaced Nightly Builds link in documentation main page.
  • 906d5de Added a Video sample.
  • d0bdfda Reworked Video module.
  • 41f44da Added executables compression.
  • 1faf52c Minor adjustments and added System.copyFile.
  • b5ab330 Added Systeem.uninstallApp and System.doesAppExist.
  • 8f9f29d Added System.getBootParams.
  • 6a5d99a Made loop arg optional for Video and Sound modules.
  • 2321110 Added some more functions to Gui module.
  • 4d95e55 Typo fixes in doc.
  • da831e8 Added some more functions to Gui module.
  • ed89c26 Added Gui.drawComboBox.
  • 39897db Typo fixes in doc.
  • b49ef94 Added Gui module.
  • 3fac995 Added System.installApp.
  • fc788bd Replaced old Archives unzipper with minizip.
  • 940cc60 Added sys app build support.
  • 48c5eda Added references to port param for Controls functions in doc.
  • 80f4641 Added System.shutdown and System.standby.
  • b7932b3 Better documentation for mount/unmount functions.
  • 7b7bf98 Removing opusfile pass during nightly building.
  • 59ae6a8 Added mount/unmount partition functions.
  • 1660126 Moved to official sceMsgDialog implementation.
  • d05c584 Fix wrong argument check in the firmware functions (#48)
  • 163e808 Added functions to get system firmware version.
  • cbee569 Added Patreon support link.
  • 2fafdc8 Added System.statFile and System.statOpenedFile.
  • 3c25b5f Renamed Keyboard.show to Keyboard.start to match documentation.
  • 60401c5 Fix for certain param.sfo getting parsed wrongly.
  • 551cad8 Added Graphics.getPixel.
  • 6eff896 Added System.getFreeSpace and System.getTotalSpace.
  • 1909b8e Updated Nightly Builds info.
  • 80ec18d Set up CI with Azure Pipelines.

This list of changes was auto generated.

Compiling the source

To correctly compile lpp-vita you'll need vitasdk installed and correctly set in your PATH environment variable. You'll also need the following libraries: zlib, libmpg123, libogg, libvorbis, libsndfile, vita2d, libftpvita, libpng, libjpeg-turbo, freetype, libspeexdsp, libopus, lua-jit, libdl. You can install most of them with vita-portlibs and EasyRPG Vita toolchain.

Lua Player Plus Vita supports different flags to enables some features:
-DSKIP_ERROR_HANDLING disables error handling for faster code execution.
-DPARANOID enables extra internal error handling.

Credits

  • vitasdk contributors.
  • xerpi for vita2d and debug FTP code.
  • gnmmarechal for testing the interpreter.
  • hyln9 for vita-luajit.
  • frangarcj for the help during 3D rendering feature addition.
  • TheFloW for some snippets i used and some ideas i borrowed.
  • Misledz for the Lua Player Plus logo.
  • Arkanite for providing a sample for sceAvPlayer used to implement the Video module.
  • EasyRPG Team for the Audio Decoder used for Sound module.
  • lecram for gifdec usd for animated GIFs support.

External links

Advertising: