LoginLogin
Nintendo shutting down 3DS + Wii U online services, see our post

The "SB Download Station Project"

Root / Talk About Programs / [.]

the_squat1115Created:
This gave me an idea... We could make an internet-powered SB-Download Station program as a CIA, that downloads and injects the demos you choose that are available. I just need a person that knows how to do that...
I would like to do that. I've been programming in C++ lately and I could merge my DSi-like GUI I am making with this project as 3dsx or cia. I want to learn, how to manage files (SmileBASIC ext data and SD card folders to be exact) and how to do http requests, anyway.
Some ideas I came up with (Unsure) Use GitHub to hold the projects and do pull requests to add, patch or remove projects. (Unsure) Add a section to the app to copy a project from SmileBASIC for submission on the GitHub repository. A nice GUI that resembles the SmileBASIC Top Menu. Make metadata files to make a SmileBASIC 4-like download page. (If GitHub is used, I'd need to update the index table every time projects are changed) ↑ These are my offers. It may take a bit of time though since school is overwhelming me right now.
Well, for the http requests and those things, we would need someone experimented with it (like Record). But if you are experienced with program-making on the 3DS, I would definitely appreciate the help for the project. Feel free to post any concepts of the application.
You could do that in lpp, the same engine that sbfm uses. We could do it with sbapi, sbapi.me/get/xxxxxx/zip And download the raw files. I might be able to make that Edit: yes I will be able to make that, if anybody is experienced with lpp, you can help!
Yeah but, we need to inject the file to the SB savefile... And what Im asking to myself is... How do we inject THAT file directly to the savefile without the (de)compression crap?
That's easy, the 3DS OS (not the SB program lmao) has functions for viewing and managing files in extra data. You can already do so with tools like SBFM and FBI, so if we look at the source code of either of those we should get a good idea of how we could place the downloaded files into SB3's extra data (where files are stored).

... You could do that in lpp, the same engine that sbfm uses. We could do it with sbapi, sbapi.me/get/xxxxxx/zip And download the raw files. I might be able to make that Edit: yes I will be able to make that, if anybody is experienced with lpp, you can help!
Yeah but, we need to inject the file to the SB savefile... And what Im asking to myself is... How do we inject THAT file directly to the savefile without the (de)compression crap?
That's easy, the 3DS OS (not the SB program lmao) has functions for viewing and managing files in extra data. You can already do so with tools like SBFM and FBI, so if we look at the source code of either of those we should get a good idea of how we could place the downloaded files into SB3's extra data (where files are stored).
I prefer C++ over Lua since I'm just too lazy learning a new language, lol. Anyway, I've managed to open the extData and create files in it. Now I have to create routines or use existing routines to download the stuff we need. SBAPI seems perfect but... for that, wouldn't it be easier to just type in the project keys instead of having an app that has some preselected? My idea of using GitHub instead would be a bit more viable, since it allows projects to be over 4MB (or even the highest limit of 20MB). Plus, pull requests allow simple or complex patches to the projects, adding some or removing them. I just have to keep track of what projects are on the repository and what files it has. Although I also had the idea of downloading the files individually using a JSON document instead of having them packed in a ZIP. This removes the annoying unzipping routines and also is an easier way to copy the files from the SD to SB3's extData. (Will require a temporary cache directory on the SD that has to be cleaned off sometimes but I can add it in myself easily.)

(Not quoting because it's getting too big lmfao) Sounds great, and C++ is probably one the best choices to use for this. I'm completely on board with the GitHub idea.

(Not quoting because it's getting too big lmfao) Sounds great, and C++ is probably one the best choices to use for this. I'm completely on board with the GitHub idea.
Wait, if we actually make this app. wouldn't this turn into a sbs app?


Here's my source code already. Pressing Y will throw a bunch of HTTP errors but will manage to download SBAPI's JSON data.
An issue I'm havingThe original source code (which used to be TwiLight Menu++'s updater) used 3ds-curl but I can't build projects using it for some reason, so I used the 3DS's internal httpc functions, which appear to have issues with GitHub. Only SBAPI and certain websites can be downloaded using httpc. Weirdly enough, the 3DS's internet browser has no problem accessing GitHub. Even when changing the DNS settings, it won't let me download things from GitHub.

Here's my source code already. Pressing Y will throw a bunch of HTTP errors but will manage to download SBAPI's JSON data.
An issue I'm havingThe original source code (which used to be TwiLight Menu++'s updater) used 3ds-curl but I can't build projects using it for some reason, so I used the 3DS's internal httpc functions, which appear to have issues with GitHub. Only SBAPI and certain websites can be downloaded using httpc. Weirdly enough, the 3DS's internet browser has no problem accessing GitHub. Even when changing the DNS settings, it won't let me download things from GitHub.
If you want to do pull requests, make sure you use Githubs API. Other than that use 3ds-curl and portlibs. EDIT:Use this Github API for pull requests and stuff https://docs.github.com/en/rest/reference/pulls

Here's my source code already. Pressing Y will throw a bunch of HTTP errors but will manage to download SBAPI's JSON data.
An issue I'm havingThe original source code (which used to be TwiLight Menu++'s updater) used 3ds-curl but I can't build projects using it for some reason, so I used the 3DS's internal httpc functions, which appear to have issues with GitHub. Only SBAPI and certain websites can be downloaded using httpc. Weirdly enough, the 3DS's internet browser has no problem accessing GitHub. Even when changing the DNS settings, it won't let me download things from GitHub.
Oh I know why, type this in the terminal,
sudo dkp-pacman -S 3ds-curl
And done! EDIT: try this https://devkitpro.org/viewtopic.php?t=8978

... Oh I know why, type this in the terminal,
sudo dkp-pacman -S 3ds-curl
And done! EDIT: try this https://devkitpro.org/viewtopic.php?t=8978
I only had to change the Makefile to allow PortLibs, like cURL. Thanks for the tip though. I've now made the main menu for the app. It's a bit off-center but that ain't be a problem. Looks like the update function works flawlessly now upon using v0.0.2. That way, it's easier to update the app, straight from your 3DS instead of having to copy files with a PC.
A bug I found alreadyIt has created 2 folders named similarily. One of them contains a data and cache folder, the other just a cache. Looks like I mismatched folder names XD.
I will go ahead, make a repository named "SB3-DS-Projects", put files on it and try getting the download menu to be made.

... Oh I know why, type this in the terminal,
sudo dkp-pacman -S 3ds-curl
And done! EDIT: try this https://devkitpro.org/viewtopic.php?t=8978
I only had to change the Makefile to allow PortLibs, like cURL. Thanks for the tip though. I've now made the main menu for the app. It's a bit off-center but that ain't be a problem. Looks like the update function works flawlessly now upon using v0.0.2. That way, it's easier to update the app, straight from your 3DS instead of having to copy files with a PC.
A bug I found alreadyIt has created 2 folders named similarily. One of them contains a data and cache folder, the other just a cache. Looks like I mismatched folder names XD.
I will go ahead, make a repository named "SB3-DS-Projects", put files on it and try getting the download menu to be made.
Can I be allowed to contribute? I could make gfx for app.

Can I be allowed to contribute? I could make gfx for app.
Sure! If you have a GitHub account, you can file a pull request and upload your graphics in /assets/gfx. If you don't, then send them to me via DM or make a GitHub account.

Can I be allowed to contribute? I could make gfx for app.
Sure! If you have a GitHub account, you can file a pull request and upload your graphics in /assets/gfx. If you don't, then send them to me via DM or make a GitHub account.
if you go into issues, you'll see a bug i found.

Can I contribute to the app and download repos? I could add some of my SB3 programs to the download repo, and I might be able to help with the app.

Can I be allowed to contribute? I could make gfx for app.
Sure! If you have a GitHub account, you can file a pull request and upload your graphics in /assets/gfx. If you don't, then send them to me via DM or make a GitHub account.
https://github.com/robot-dev-ctr/SB-DB-Black_Theme.git

Can I be allowed to contribute? I could make gfx for app.
Sure! If you have a GitHub account, you can file a pull request and upload your graphics in /assets/gfx. If you don't, then send them to me via DM or make a GitHub account.
https://github.com/robot-dev-ctr/SB-DB-Black_Theme.git
Why did you make that as a separate repo instead of a fork? Lol Also, do you have a Discord? I could whip up a group chat for this real quick.

splat I sent you a DM about the Discord chat btw (rip notification count)

splat I sent you a DM about the Discord chat btw (rip notification count)
True. Why did they disabled the notification count tho? (Back to topic or the thread will get locked)

splat I sent you a DM about the Discord chat btw (rip notification count)
True. Why did they disabled the notification count tho? (Back to topic or the thread will get locked)
Something about taking up CPU cycles I think. EDIT: squat check your DMs one last time, I sent you an invite

splat I sent you a DM about the Discord chat btw (rip notification count)
True. Why did they disabled the notification count tho? (Back to topic or the thread will get locked)
Something about taking up CPU cycles I think. EDIT: squat check your DMs one last time, I sent you an invite
K

Can I be allowed to contribute? I could make gfx for app.
Sure! If you have a GitHub account, you can file a pull request and upload your graphics in /assets/gfx. If you don't, then send them to me via DM or make a GitHub account.
https://github.com/robot-dev-ctr/SB-DB-Black_Theme.git
Why did you make that as a separate repo instead of a fork? Lol Also, do you have a Discord? I could whip up a group chat for this real quick.
It wasn't letting me make a pull request, and Discord doesn't work on my computer.king of l EDIT:This might be offtopic, I'm thinking of learning C or C++. Which is easier?