ihaveamac / lpp-3ds

Lua Player Plus for 3DS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Description

Lua Player Plus 3DS is the first lua interpreter made for Nintendo 3DS.

The interpreter currently runs under Lua 5.3.1. It has also a debug FTP server to correct your errors in runtime.

Official documentation: http://rinnegatamante.it/lpp-3ds_doc.html

Features

Graphics
  • Advanced 2D Graphics Rendering (CPU and GPU)
  • Basic 3D Rendering
  • Native support to TTF fonts
  • Native support to BMP/PNG/JPG images
  • Native support to JPGV video files
  • Native support to stereoscopic 3D effect
Sounds
  • Sound system with support for WAV/AIFF/OGG audio files
  • Support to different interpolation modes (None, Linear, Polyphase)
  • Complete access to Microphone for sound registration
Controls
  • Controls system with full console support
  • Built-in Keyboard system
Network
  • Easy to use networking basic features
  • Built-in Mail Sender system
  • Complete sockets system support
  • Built-in debug FTP server
System
  • Access to a lot of Nintendo syscalls
  • Native support to CIA files managing
  • Native support to 3DSX and SMDH files
  • Native support to ZIP archives
  • I/O access for SD card and Extdata archives
  • Native support to console Camera to take photos
  • Native support to ARM9 payloads loading
Utilities
  • Timer system
  • Advanced arithmetical functions support (math library)

Showcase

Here are some 3DS homebrews made using Lua Player Plus 3DS:

Games
Utilities

Compiling the source

The repository will provide you a full set of all needed library. Take in mind that a lot of them are modified versions of the original ones so if you want to update them, take a look at this repository where you can find sourcecodes of every pre-builded library used in this repository. Also take in mind that libkhax includes also libSu sourcecode.

Lua Player Plus 3DS supports different macro to enables some features:
-DUSE_MEMCHUNKHAX2 enables memchunkhax2 usage at startup for firmware between 9.3 and 10.3.
-DCITRA3DS_COMPATIBLE removes romFs support causing Citra3DS emulator crash.
-DSKIP_ERROR_HANDLING disables error handling for faster code execution (this is used for Unsafe version).
-DFORCE_SD forces interpreter to load main script from SD instead of romFs filesystem.
-DFORCE_DSP forces interpreter to use dsp::DSP audio service even if csnd:SND is available.

Credits

  • Everyone involved in ctrulib creation
  • Smealum for ftpony source used for debug ftp server
  • Myria for libkhax
  • Lode Vandevenne for lodepng
  • xerpi for sf2dlib
  • fincs for citro3dlib
  • Sean Barrett for stb_truetype
  • Jean-loup Gailly and Mark Adler for zlib
  • Everyone involved in Brahma developing
  • Everyone involved in libSu developing
  • Misledz for the Lua Player Plus 3DS logo
  • Special thanks to Aurelio and ihaveamac for testing interpreter features

About

Lua Player Plus for 3DS

License:GNU General Public License v3.0


Languages

Language:C++ 54.3%Language:C 45.2%Language:Makefile 0.4%Language:PHP 0.0%Language:Batchfile 0.0%