Tesla - The Nintendo Switch Overlay Menu

fhwyjbd.png

Hey all.
I'd like to introduce to you, Tesla: My answer to the growing need for proper ingame front ends for sysmodules.


What is this?

  • Tesla consists of three individual parts. nx-ovlloader, the Tesla menu and libtesla.
    • nx-ovlloader is basically nx-hbloader ported to run as a sysmodule. It runs in the background and loads overlay NROs (.ovl files) given to it.
    • Tesla Menu is the equivalent to the hbmenu. It's the initial thing loaded by nx-ovlloader and acts as a hub for you to select all other overlays.
    • libtesla is where it becomes interesting for developers. It's an easy to use library that handles layer creation, UI drawing and all the overlay UX. It makes it very easy to create a new overlay for anything
  • A frontend for sysmodules that before required either a homebrew or a config file to change settings or used sounds or the LED to give the user feedback.

What is this not?

  • A tool that lets you create overlays that are always visible. Overlays can get unloaded way to easily for this.
  • An excuse to port absolutely everything to a overlay. Nobody's going to need a title manager overlay. If you consider making a overlay, keep it simple. You don't have a whole lot of memory to work with.


How do I use this?

First of all, download the latest release of nx-ovlloader and the Tesla Menu from the GitHub Release page and extract it onto your SD card.
After a reboot, hold down L and DPad Down and push on the right joy stick to bring up Tesla at any time. Navigation works as you imagine it.
Similar to normal homebrews, you place your .ovl files in the /switch/.overlays folder on your SD card.


Screenshots

W8yN2M6.jpg

fdfWAXw.jpg


Notice

Make sure to use the latest Atmosphere release when trying this as older versions ( as the one SX OS uses too ) probably won't have enough memory available for this to run. Overlays do take a lot of space so nx-ovlloader reserves 6MB. 2MB for framebuffers and around 4MB for overlay developers to use in their overlays.


GitHub

nx-ovlloader: https://github.com/WerWolv/nx-ovlloader
Tesla Menu: https://github.com/WerWolv/Tesla-Menu


For Developers

libtesla: https://github.com/WerWolv/libtesla
Tesla build template: https://github.com/WerWolv/Tesla-Template


Download

nx-ovlloader: https://github.com/WerWolv/nx-ovlloader/releases/latest
Tesla-Menu: https://github.com/WerWolv/Tesla-Menu/releases/latest
EdiZon Overlay: http://werwolv.net/downloads/EdiZonOverlay.zip ( As a little preview for what this is capable of and what EdiZon 4.0.0 will have even more of soon :) )

Special thank especially to averne without him, this would not have been possible!


Obligatory Donation links

GitHub Sponsors https://github.com/sponsors/WerWolv
PayPal https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KP7XRJAND9KWU&source=url
Patreon https://www.patreon.com/werwolv



Thanks a lot and have fun using and extending it :)
 
Last edited by WerWolv,

FlareG

Member
Newcomer
Joined
Nov 14, 2019
Messages
6
Trophies
0
Age
33
XP
147
Country
Germany
Hey, thanks for your hard work. I found a weird freeze bug with latest atmosphere, latest tesla and super smash bros. When tesla is turned on and you click in super smash bros on news on the right in main menu there is a freeze. Also when there is a tutorial before you play a match it freezes.

Just to remind.
 

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,265
Trophies
3
XP
12,026
Country
Poland
@WerWolv I'm trying to make an overlay, but there's no documentation whatsoever, the example doesn't show how to call a function when an item is clicked, and the example in the README uses setClickListener, which has been removed, so...
How can I add a click listener using the latest version of libtesla? Do I have to create a subclass and override onClick() or is there a better way?
New libtesla was released too soon. Wait for new Tesla Menu as confirmation that new libtesla is now good to use.
 

warbob5000

Member
Newcomer
Joined
Oct 21, 2018
Messages
14
Trophies
0
Age
34
XP
206
Country
United Kingdom
Getting a 2168-0002 (0x4a8) crash when using the EdiZon Overlay when cheats contain UTF characters. For some reason one of the cheats in my collection had character "e2 80 ac" (UTF-8 for Pop Directional Formatting / U+202C) in the cheat name. EdiZon itself handled it fine, but the overlay crashed when trying to display it.
 

resetes12

Well-Known Member
Newcomer
Joined
Apr 11, 2017
Messages
82
Trophies
0
Age
25
XP
315
Country
Hey, thanks for your hard work. I found a weird freeze bug with latest atmosphere, latest tesla and super smash bros. When tesla is turned on and you click in super smash bros on news on the right in main menu there is a freeze. Also when there is a tutorial before you play a match it freezes.

Can confirm it's Tesla doing this. Lastest update in Smash + all DLCs makes tutorials screens crash the system, as you said.
 

WerWolv

EdiZon and Tesla Developer
OP
Developer
Joined
Mar 30, 2018
Messages
252
Trophies
0
Age
25
XP
1,864
Country
Switzerland
Can I have the source code, please?

(well, if you used Atmosphère's libraries, you must release it anyway)

I did not use any open source libraries besides libnx which is ISC.
I'm going to release it's source code together with the rest of EdiZon once it's done
 
  • Like
Reactions: nastys

stick267

Well-Known Member
Member
Joined
Dec 17, 2018
Messages
586
Trophies
0
Age
33
XP
1,171
Country
United States
The zip file from this release just contains an empty "switch" folder.

https://github.com/WerWolv/Tesla-Menu/releases/tag/v1.0.2

EDIT: Nevermind, it seems on Mac the .overlays folder is hidden as if it's a protected operating system file.

EDIT2: This is causing my Switch to crash at boot. If I delete the folder from "sd:/atmosphere/content/" then my Switch boots normally. I'm on the latest Atmosphere (0.10.2) and my HOS version is 8.1. Do I also need to be on the latest HOS version?
 
Last edited by stick267,

mikifantastik98

Well-Known Member
Member
Joined
Dec 12, 2018
Messages
290
Trophies
0
Age
38
XP
1,643
Country
Italy
The zip file from this release just contains an empty "switch" folder.

https://github.com/WerWolv/Tesla-Menu/releases/tag/v1.0.2

EDIT: Nevermind, it seems on Mac the .overlays folder is hidden as if it's a protected operating system file.

EDIT2: This is causing my Switch to crash at boot. If I delete the folder from "sd:/atmosphere/content/" then my Switch boots normally. I'm on the latest Atmosphere (0.10.2) and my HOS version is 8.1. Do I also need to be on the latest HOS version?
Mac OS create invisible file call: .DS_Store
https://en.wikipedia.org/wiki/.DS_Store
try to put your microsd on Windows os ... and delete all .DS_Store contained in the microsd.
 

roamin

Well-Known Member
Member
Joined
Dec 4, 2006
Messages
122
Trophies
1
XP
973
Country
Australia
Awesome work @WerWolv thank you for your time and effort! Appreciate it, this is huge!


Can I have the source code, please?

(well, if you used Atmosphère's libraries, you must release it anyway)

With that attitude I wouldn't release the code at all. As a coder he would know what he has to release or not release to the public, doesn't need someone demanding his hard work. Your welcome to make your own though from scratch and release it yourself.

Sometimes I love this forum because of people like werwolv but other times well.....
 

stick267

Well-Known Member
Member
Joined
Dec 17, 2018
Messages
586
Trophies
0
Age
33
XP
1,171
Country
United States
Mac OS create invisible file call: .DS_Store
https://en.wikipedia.org/wiki/.DS_Store
try to put your microsd on Windows os ... and delete all .DS_Store contained in the microsd.
I use nxmtp to copy the files over so I don't have to deal with those dot files. You can use "dot_clean /path/to/SD" in Terminal to delete those dot files if you do copy them over.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    ButterScott101 @ ButterScott101: +1