65 lines
1.5 KiB
C++
65 lines
1.5 KiB
C++
#include <MainApplication.hpp>
|
|
#include "util.hpp"
|
|
#include "main.hpp"
|
|
|
|
static int nxlink_sock = -1;
|
|
|
|
extern "C" void userAppInit() {
|
|
appletInitialize();
|
|
hidInitialize();
|
|
nsInitialize();
|
|
setsysInitialize();
|
|
setInitialize();
|
|
accountInitialize(AccountServiceType_Administrator);
|
|
pmshellInitialize();
|
|
socketInitializeDefault();
|
|
pdmqryInitialize();
|
|
nxlink_sock = nxlinkStdio();
|
|
printf("userAppInit\n");
|
|
}
|
|
|
|
extern "C" void userAppExit() {
|
|
if (nxlink_sock != -1) {
|
|
close(nxlink_sock);
|
|
}
|
|
appletExit();
|
|
hidExit();
|
|
nsExit();
|
|
setsysExit();
|
|
setExit();
|
|
accountExit();
|
|
pmshellExit();
|
|
socketExit();
|
|
pdmqryExit();
|
|
}
|
|
|
|
// Main entrypoint
|
|
int main() {
|
|
Result res = servicesInit();
|
|
if (R_FAILED(res)) {
|
|
servicesExit();
|
|
exit(res);
|
|
}
|
|
|
|
loadTitles();
|
|
|
|
// First create our renderer, where one can customize SDL or other stuff's
|
|
// initialization.
|
|
auto renderer_opts = pu::ui::render::RendererInitOptions(
|
|
SDL_INIT_EVERYTHING, pu::ui::render::RendererHardwareFlags);
|
|
renderer_opts.UseImage(pu::ui::render::IMGAllFlags);
|
|
renderer_opts.UseAudio(pu::ui::render::MixerAllFlags);
|
|
renderer_opts.UseTTF();
|
|
|
|
auto renderer = pu::ui::render::Renderer::New(renderer_opts);
|
|
|
|
// Create our main application from the renderer
|
|
auto main = ui::MainApplication::New(renderer);
|
|
|
|
main->Prepare();
|
|
|
|
main->Show();
|
|
|
|
return 0;
|
|
}
|