Git Product home page Git Product logo

lpp-vita's Introduction

Build Status

Description

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

The interpreter currently runs under LuaJIT 2.1 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.

Showcase

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

Games
Utilities
Emulators
Engines & Interpreters

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.