Implement Universal-Store [UniStore] 3DS side. (#13)

* WIP App store. ;P

* Make the FileBrowse look like Scripts Screen.

* Add *all* Script Functions for the App Store.

* WIP; Store Selection & Store Screen.

To-Do: Big cleanup and remove of duplicate stuff.

* Some UniStore work.

* :bigBruh:.

* Add Spritesheet with Icon support.

* Add a Store Prepare message, just in case it takes longer.

* ~~Not really Camera stuff, just UniStore work.~~ (#12)

* We don't want Nightly builds here.

* Add UniStore Icon.

* New banner by https://github.com/TotallyNotGuy

* Add Buttons for a prompt & update icon.

* Update README.md to be more descriptive and stuff

* Update README.md

* Add updating the spritesheet too.

* Only update stores, if needed things exist!

* Make Storepath changeable.

* Change App Description.

* Display `Title` as well.

* You can now download .unistore files by entering a URL!

Co-authored-by: FlameKat53 <flame9804@yahoo.com>

* This should fix all warnings.

Also add posX and posY for the Icons in UniStore.

* Last changes for UniStore.

Co-authored-by: FlameKat53 <flame9804@yahoo.com>
This commit is contained in:
StackZ
2019-12-29 07:52:45 +01:00
committed by GitHub
parent b6d6e6357a
commit d28194d28c
29 changed files with 1064 additions and 546 deletions
+2 -1
View File
@@ -41,8 +41,9 @@ public:
void Logic(u32 hDown, u32 hHeld, touchPosition touch) override;
private:
bool returnScriptState();
bool returnStoreState();
int Selection = 0;
std::vector<DirEntry> dirContents; // To return Script state.
std::vector<DirEntry> dirContents; // To return Script/Store state.
std::vector<Structs::ButtonPos> mainButtons = {
{10, 40, 140, 35, -1}, // Scriptlist.
{170, 40, 140, 35, -1}, // ScriptBrowse.
@@ -24,34 +24,60 @@
* reasonable ways as different from the original version.
*/
#ifndef TINYDB_HPP
#define TINYDB_HPP
#ifndef UNISTORE_HPP
#define UNISTORE_HPP
#include "screens/screen.hpp"
#include "screens/screenCommon.hpp"
#include "utils/fileBrowse.h"
#include "utils/structs.hpp"
class TinyDB : public screen
class UniStore : public screen
{
public:
void Draw(void) const override;
void Logic(u32 hDown, u32 hHeld, touchPosition touch) override;
TinyDB();
UniStore();
private:
void DrawStoreList(void) const;
void DrawStore(void) const;
void DrawSearch(void) const;
void StoreSelectionLogic(u32 hDown, u32 hHeld, touchPosition touch);
void StoreLogic(u32 hDown, u32 hHeld, touchPosition touch);
void SearchLogic(u32 hDown, u32 hHeld, touchPosition touch);
void execute();
void descript();
int mode = 0;
std::string selectedOptionAppStore;
mutable int selection = 0;
mutable int selection2 = 0;
int screenPos = 0;
int screenPos2 = 0;
mutable int screenPosList = 0;
mutable int screenPosList2 = 0;
int searchSelection = 0;
int keyRepeatDelay = 0;
int fastMode = false;
std::vector<DirEntry> dirContents;
std::vector<Structs::ButtonPos> arrowPos = {
{295, 0, 25, 25, -1}, // Arrow Up.
{295, 215, 25, 25, -1}, // Arrow Down.
{0, 215, 25, 25, -1}, // Back Arrow.
{5, 0, 25, 25, -1}, // ViewMode Change.
{45, 0, 25, 25, -1}, // Search.
{85, 0, 25, 25, -1}, // Update.
};
std::vector<Structs::ButtonPos> URLBtn = {
{10, 100, 140, 35, -1}, // FULL URL.
{170, 100, 140, 35, -1}, // Github.
};
};