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

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,901
Country
I fixed it, I moved the folder to C:\ instead of desktop

But I have another issue
Code:
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tdata_lma_end'
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tdata_lma'
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tls_start'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2
 

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
I fixed it, I moved the folder to C:\ instead of desktop

But I have another issue
Code:
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tdata_lma_end'
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tdata_lma'
c:/Users/Alessio/Desktop/Repositories/lpp-3ds/libctru/source/system/syscalls.c:57: undefined reference to `__tls_start'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2

Looks like you have an outdated devkitArm.
 

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,901
Country
Updated devkit now I get this.
Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: cannot find 3dsx_crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2
Sorry, I dont know how to fix this thats all

Edit: fixed that but now this

Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jdmainct.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jdmainct.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctflt.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctflt.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctfst.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctfst.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctint.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctint.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctflt.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctflt.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctfst.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctfst.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctint.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctint.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctred.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctred.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jaricom.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jaricom.o)
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2
 
Last edited by ElyosOfTheAbyss,

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
Updated devkit now I get this.
Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: cannot find 3dsx_crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2
Sorry, I dont know how to fix this thats all

Edit: fixed that but now this

Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jdmainct.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jdmainct.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctflt.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctflt.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctfst.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctfst.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctint.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jfdctint.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctflt.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctflt.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctfst.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctfst.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctint.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctint.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jidctred.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jidctred.o)
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: error: c:/lpp-3ds-master/lpp-3ds-master.elf uses VFP register arguments, c:/lpp-3ds-master/source/lib\libjpeg.a(jaricom.o) does not
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/lpp-3ds-master/source/lib\libjpeg.a(jaricom.o)
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2

You posted incomplete errors ("does not...")
 

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,901
Country
You posted incomplete errors ("does not...")

Thats seriously all it gives me... Thats what it ends in
Capture.PNG
 

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,901
Country
You changed in Makefile floating-point value. It MUST be mfloat-abi=softfp. (Or you're using a bad libjpeg.a lib)
Ok, Then how do I fix this?
Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: cannot find 3dsx_crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2
 

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
Ok, Then how do I fix this?
Code:
c:/devkitpro/devkitarm/bin/../lib/gcc/arm-none-eabi/5.3.0/../../../../arm-none-eabi/bin/ld.exe: cannot find 3dsx_crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/c/lpp-3ds-master/lpp-3ds-master.elf] Error 1
make: *** [build] Error 2

Go in C:\devkitPro\devkitARM\arm-none-eabi\lib and do "make CRT=3dsx"
 

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
Lua Player Plus r5 finally available for download!

A lot of new things, bug-fixes and improvements.
An experimental 3D render module has been added (Render) with native support to Wavefront object models (.obj). Little note: Only models exported in triangles primitives work fine (You can easily convert your quads models in triangles ones with Blender for example).

libjpeg has been replaced by libjpeg-turbo bringing a huge speedup to Video module and all JPG related functions.
There are also more news but i'll leave your the complete Changelog text to let you know:
Code:
New functions:

- System.extractFromZip() - Extracts a selected file from a Zip file.
- System.launchPayload() - Launches an ARM9 Payload.
- System.addNews() - Adds a Notification to the system.
- System.listNews() - Lists all system Notifications.
- System.getNews() - Gets text from a selected Notification.
- System.eraseNews() - Deletes a selected Notification.
- System.checkSDMC() - Checks if SD card is inserted.
- Graphics.setViewport() - Sets viewport for Graphics scene.
- Color.convertFrom() - Converts a Render-type color to a Color-type ones.
- Render.init() - Inits 3D Render.
- Render.term() - Terminates 3D Render.
- Render.initBlend() - Starts blending phase for 3D Render.
- Render.termBlend() - Terminates blending phase for 3D Render.
- Render.loadObject() - Loads a 3D Model in Wavefront Object (.obj) format.
- Render.createVertex() - Creates a vertex.
- Render.loadModel() - Loads a 3D Model starting from a vertices table.
- Render.drawModel() - Draws a selected model.
- Render.unloadModel() - Frees a model.
- Render.convertColorFrom() - Converts a Color-type color to a Render-type ones.
- Render.createColor() - Creates a Render-type color.
- Render.setLightColor() - Sets vertex shader light color.
- Render.setLightSource() - Sets ambiental position of vertex shader light.

New features and improvements:

- Now lpp-3ds is usable also with Memchunkhax2 execution (Needs source compilation).
- Now lpp-3ds loads index.lua from romFs partition by default (SD if not found).
- Improved a lot dsp::DSP audio service quality.
- Now Camera.init() can change also internal Photo mode state.
- Now any CIA related function will initialize external title database automatically.
- Now Video module is a lot faster.
- Now JPG images loading/saving is a lot faster.
- Now System.installCIA() can installs also NAND contents.
- Now lpp-3ds can load files even from romFs filesystem.

Deprecated functions:

- System.addNotification() - Replaced with System.addNews().

Syntax changes:

- Now System.installCIA() takes one more argument for mediatype target.
- Now Camera.init() takes one more argument for Photo mode.
- Now System.currentDirectory() will always returns a slash-terminated string by default.

Bugfixes:

- Minor bugfixes in Video module.
- Bugfix for some globals not correctly registered.
- Now Socket.accept() correctly binds socket.
- Now Socket.connect() is usable in loops.
- Now dsp::DSP audio service supports looping feature with streaming flag.
- Now System.launch3DSX() works fine on NH 2.x.
- Now Controls.read() and Controls.readCirclePad() works fine together.
- Increased speed for Socket.receive() function.

Samples:

- Complete samples refactor with syntax update and minor tweaks.
- Added 3D Rendering samples.

In the r5 package you'll find now also a folder named as RomFs Buildscripts:
With the batch scripts included here you can create a homebrew with files included in the executable!
Just place in this folder lpp-3ds.elf you want to use (unsafe or not) and lpp-3ds.smdh file (or whatever smdh you want).
Then place all your files in romfs folder (you can include also the main script [index.lua]!) and use the buildscript you need (3ds, cia or 3dsx) and you'll have your homebrew ready to be used.
To refer to romFs files in your scripts just use normal syntax but when you want to load a file from romFs use this kind of path:
Code:
System.loadImage("romfs:/image.jpg")

Download: https://github.com/Rinnegatamante/lpp-3ds/releases
 
Last edited by Rinnegatamante,

UltiNaruto

Well-Known Member
Member
Joined
Sep 4, 2015
Messages
182
Trophies
0
Age
29
XP
193
Country
France
I'll be looking forward for this. I'd like to use it. Maybe I'll work on something with it.
Any ways that you could add somekind of debug string that shows how much polies are currently loaded with a boolean as last argument?
 
Last edited by UltiNaruto,

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
I'll be looking forward for this. I'd like to use it. Maybe I'll work on something with it.
Any ways that you could add somekind of debug string that shows how much polies are currently loaded with a boolean as last argument?

I've made a testscript for windows which uses the same parsing algorithm and it tells you at the end faces number (so poligons number).
It's also useful to know if your model is compatible with loadObject (for example it uses correct primitives).
If you want it, i can upload it somewhere.
 
  • Like
Reactions: UltiNaruto

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

Attachments

  • obj.rar
    18.6 KB · Views: 248

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Bunjolio @ Bunjolio:
    lol
  • SylverReZ @ SylverReZ:
    I did it when the teachers werent looking ofc. I even managed to take in a USB stick that wasn't allowed.
  • Bunjolio @ Bunjolio:
    my school has a chrome extension called light speed filter agent and it legit blocks YouTube pfps since the file cdn(I think aka yt3.ggpht.com) is classed as mature
  • Bunjolio @ Bunjolio:
    mhm
  • Bunjolio @ Bunjolio:
    they have other stuff like goguardian too
  • SylverReZ @ SylverReZ:
    Ours mainly relied on the router, I believe.
  • Bunjolio @ Bunjolio:
    our school network and chrome policies block stuff too
  • Bunjolio @ Bunjolio:
    alot of yt to mp3 sites are blocked by light speed for "Security"
  • SylverReZ @ SylverReZ:
    It was easy to bypass some of the restrictions, as one of the admins left a registry key in the administrative shares drive, which allowed me to get around the blocking of some sites.
  • Bunjolio @ Bunjolio:
    tf does tta mean
  • Bunjolio @ Bunjolio:
    yeah this is chrome os
  • Bunjolio @ Bunjolio:
    cant do shit
  • SylverReZ @ SylverReZ:
    @Bunjolio, Wdym 'TTA'?
  • Bunjolio @ Bunjolio:
    that* as in why yt to mp3 sites are blocked for security
  • SylverReZ @ SylverReZ:
    @Bunjolio, Remember when YouTubetoMP3 was a thing back in the 2010s?
  • SylverReZ @ SylverReZ:
    Until YT updated some stuffs and broke the website.
  • Bunjolio @ Bunjolio:
    I was 2 in 2010
  • SylverReZ @ SylverReZ:
    Oh lol
  • Bunjolio @ Bunjolio:
    lol
  • SylverReZ @ SylverReZ:
    This was in the Minecraft-era.
  • AncientBoi @ AncientBoi:
    lol Bun rockin out at 2 :rofl2:
  • BakerMan @ BakerMan:
    same tbh
    AncientBoi @ AncientBoi: lol