#include #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; }