Homebrew [Release] Lua Player Plus 3DS (lpp-3ds) - LUA interpreter for 3DS

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
I made few months ago a topic to announce lpp-3ds but i never released it officialyy as Cid2Mizard told me in PM so i taught to make a Release Pack for it.

Lua Player Plus 3DS
aka lpp-3ds

Description:
Lua Player Plus 3DS is a LUA interpreter for 3DS/N3DS made by me forked from original lpp-c++ (PSP/PSVITA) trunk made by me and NaNNi.

lpp-3ds runs under LUA 5.3.0.

It provides different cool features like audio playback, video playback, zip extraction, images loading support, alpha blending, network features, socketing features, etc...

It also have an integrated debugger with FTP server support so you can patch your scripts in runtime.

As always, using a LUA interpreter is very simple, you just have to rename lpp-3ds-3dsx as MyHomebrewName.3dsx, put it in /3ds/MyHomebrewName/ folder and start writing your code in /3ds/MYHomebrewName/index.lua.

In the package you'll find a documentation for all lpp-3ds functions, a 3DSX build, an ELF build to make your CIA/3DS builds, some LUA scripts samples.

Features:
- 2D Graphics system with different built-in functions for drawing text, creating debug consoles, filling rectangles, drawing pixels, etc.
- Alpha channel support
- Native support to BMP/PNG/JPG images
- Sound system for reproducing audio files and recording audio with microphone
- Native support to WAV/AIFF/OGG audio files
- Complete access to Nintendo 3DS controls
- I/O features for SDMC and EXTDATA
- Video system for reproducing video files with native support to BMPV/JPGV video files
- Timer system
- Advanced arithmetical functions
- Native 3D support
- Internet connectivity features through Network module (Like downloading files, sending mails)
- Socketing functions (Like FTP server)
- Read access to different 3DS info (Firmware, Mac Address, Kernel Version, Region, etc.)
- Built-in Keyboard system
- Native support to 3DSX homebrews and SMDH homebrew datas
- Native support to CIA archives
- Native support to ZIP archives
- Access to some 3DS syscalls (Reboot System, Launching Cartridges, etc.)

Some homebrews which uses lpp-3ds core:
- Sunshell ( http://gbatemp.net/threads/release-sunshell-a-powerfull-shell-for-3ds.382483/ )
- ORGANIZ3D ( http://gbatemp.net/threads/release-organiz3d-filebrowser-for-3ds.377783/ )
- PixelRoad ( http://gbatemp.net/threads/pixelroad-a-stupid-game-hb-to-test-lpp.375292 )
- 3DS Briscola ( http://gbatemp.net/threads/3ds-briscola-briscola-card-game-for-3ds.376901/ )
- CHMM ( http://gbatemp.net/threads/chmm-custom-homemenu-manager.379349/ )
- Big Red Menu ( http://gbatemp.net/threads/big-red-menu-legal-cia-installer-uninstaller.379061/ )
- 3DSHangman ( http://gbatemp.net/threads/release-3dshangman.379285/ )

Credits:
- Lua Player Plus 3DS made by Rinnegatamante
- Original Lua Player Plus made by Rinnegatamante & NaNNi

Thanks to:
- smealum for libctru and ftpony sourcecode
- StapleButter for debug font
- Lode Vandevenne for lodepng
- Jean-loup Gailly and Mark Adler for zlib
- Xiph.org Foundation for libogg and vorbisfile
- Aurelio for testing, bug-fixing and various help with codes and implementations

Download:
lpp-3ds Rev. 1: https://github.com/Rinnegatamante/lpp-3ds/releases/download/r1/Lua.Player.Plus.3DS.rar

Useful links:
- Documentation: http://rinnegatamante.netsons.org/lpp-3ds_doc.html
- Support board: http://luaplayerplus.proboards.com/
- Original lpp repository: https://github.com/Rinnegatamante/lua-player-plus
- lpp information: http://rinnegatamante.netsons.org/site/lpp.php

How do you use this with Notepad++ and then compile it to citra like you showed in the pictures?
 

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
How do you use this with Notepad++ and then compile it to citra like you showed in the pictures?

I use a cmd instance to compile on the fly with makefile+make tools.
This is how i'm currently working for 3DS (Here you see luaVideo from lpp-3ds, i'm working right now on vorbis audiocodec for video playback):
videomanaging.png
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
I use a cmd instance to compile on the fly with makefile+make tools.
This is how i'm currently working for 3DS (Here you see luaVideo from lpp-3ds, i'm working right now on vorbis audiocodec for video playback):
videomanaging.png

Would It be to much to ask for you to create a installation and set up/ complication video for windows. I'm sorry but i'm very new to this sort of stuff I've only ever used out of the box software (ecplips). Thanks in advance!
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
If you want to use lpp-3ds instead, you don't need to compile anything. Just create you LUA scripts and put them in your homebrew folder.

I'm sorry i'm still very confused. Maybe if you can't make a video can you PM me step by step instructions on how to install the tools and make the 3dsx file...
 

cmbeke

Member
Newcomer
Joined
Mar 25, 2015
Messages
22
Trophies
0
XP
83
Country
United States
I'm downloading it now. What's the next step after I unzip it from the rar? I'm using Notepad++ as my editor

Go into the bin folder and copy the lpp-3ds.3dsx into a folder and then create an index.lua. You can also turn the lpp-3ds.elf file into cia or 3ds format using makerom.
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Go into the bin folder and copy the lpp-3ds.3dsx into a folder and then create an index.lua. You can also turn the lpp-3ds.elf file into cia or 3ds format using makerom.
Okay so nothing needs to be in index.lua (or is that where the cpp goes)that's just there. because I don't know what lua is I only know CPP and swift
 

cmbeke

Member
Newcomer
Joined
Mar 25, 2015
Messages
22
Trophies
0
XP
83
Country
United States
Okay so nothing needs to be in index.lua that's just there. because I don't know what lua is I only know CPP and swift

The index.lua file contains your code in lua that lpp will run, check out the samples folder as it should help you.
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Sounds like you're in the source folder not the samples folder. There should files name things like bmpv.lua and helloworld.lua.
Okay, Haha so yeah I was in the wrong folder. So in order to make it all have to do is cd into the folder then type make <insert file name.lua> and a .3dsx will come out?
 

cmbeke

Member
Newcomer
Joined
Mar 25, 2015
Messages
22
Trophies
0
XP
83
Country
United States
Okay, Haha so yeah I was in the wrong folder. So in order to make it all have to do is cd into the folder then type make <insert file name.lua> and a .3dsx will come out?

Nope, its even simpler than that. You just need to copy the folder containing the .3dsx and the index.lua into the 3ds folder on your sd card and then you can run it through ninjahax.

If you want a 3ds file to run from gateway you can follow these instructions to make a 3ds from the elf, converting .elf to .3ds format. I belive for both cia and 3ds formats you have to have your index.lua in the root of your memory card
 

Rinnegatamante

Well-Known Member
OP
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Okay, Haha so yeah I was in the wrong folder. So in order to make it all have to do is cd into the folder then type make <insert file name.lua> and a .3dsx will come out?

As always, using a LUA interpreter is very simple, you just have to rename lpp-3ds-3dsx as MyHomebrewName.3dsx, put it in /3ds/MyHomebrewName/ folder and start writing your code in /3ds/MYHomebrewName/index.lua.
 

Lenan

Well-Known Member
Member
Joined
Feb 1, 2015
Messages
172
Trophies
0
Age
32
XP
142
Country
Swaziland
no, you dont have to compile anything. LPP is an interpreter and is already compiled, all you have to do is code your stuff in index.lua. When you start the app on your 3ds it should boot your code.
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Nope, its even simpler than that. You just need to copy the folder containing the .3dsx and the index.lua into the 3ds folder on your sd card and then you can run it through ninjahax.

If you want a 3ds file to run from gateway you can follow these instructions to make a 3ds from the elf, converting .elf to .3ds format. I belive for both cia and 3ds formats you have to have your index.lua in the root of your memory card
Awesome! Thank you so much for the help I finally get it!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    ZeroT21 @ ZeroT21: only ps5 updated to latest firmware can go on psn, jailbroken ones just don't use psn or they...