31 lines
1.4 KiB
C
31 lines
1.4 KiB
C
#pragma once
|
|
#include <3ds/types.h>
|
|
|
|
// Offizieller MBMNET-Server. Über "Server-Adresse" lässt sich ein anderer eintragen (z. B. zum Testen).
|
|
// Fester MBMNET-Server: einfaches HTTP über den NetBird-TCP-Service auf Port 81.
|
|
// Höchstens 21 Zeichen passen in den Patch.
|
|
#define MBMNET_SERVER "mbmnetapi.mbm.wtf:81"
|
|
|
|
#define APP_DIR "sdmc:/3ds/mbmnet"
|
|
#define DIAG_FILE APP_DIR "/diagnose.txt"
|
|
|
|
typedef enum {
|
|
STATE_ORIGINAL, // kein Patch: Nintendo-Originalzustand
|
|
STATE_MBMNET, // unser Patch ist aktiv
|
|
STATE_FOREIGN, // fremder Patch (z. B. Pretendo/Nimbus) ist aktiv
|
|
} PatchState;
|
|
|
|
PatchState patch_state(void);
|
|
// Räumt Patches alter App-Versionen (/luma/titles/...) weg. true, wenn etwas entfernt wurde.
|
|
bool patch_migrate(void);
|
|
|
|
// Erzeugt die Patches (Freunde + Konto) und aktiviert MBMNET. msg bekommt eine lesbare Meldung.
|
|
// *changed: true, wenn sich Patch-Dateien geändert haben (dann ist ein Neustart nötig).
|
|
bool patch_enable(const char *server, bool *changed, char *msg, size_t msglen);
|
|
// Schreibt alle Adress-Texte aus den Modulen nach DIAG_FILE (zur Fehlersuche).
|
|
bool patch_diagnose(char *msg, size_t msglen);
|
|
// Entfernt unsere Patches und stellt eventuell gesicherte fremde Patches wieder her.
|
|
bool patch_disable(char *msg, size_t msglen);
|
|
// Läuft ein Prozess mit dieser Titel-ID? (über Lumas Prozess-Info), PID in pidOut
|
|
bool patch_find_process(u64 tid, u32 *pidOut);
|