#include #include #include #include #include static void *xfb = NULL; static GXRModeObj *rmode = NULL; static char version[] = { "0.0dev\0" }; void printheader() { printf("\x1b[44m"); printf(" \n"); printf(" LibreShop v%s \n", version); printf(" \n"); printf("\x1b[40m\n"); } void logprint(int type, char *message) { switch(type) { case 1: printf("\x1b[34m[\x1b[32mOK\x1b[34m]"); break; case 2: printf("\x1b[34m[\x1b[31m--\x1b[34m]"); case 3: printf("\x1b[31m!!\x1b[34m]"); default: printf(" "); } printf(" \x1b[37m%s", message); } int main(int argc, char **argv) { s32 ret; char localip[16] = {0}; char gateway[16] = {0}; char netmask[16] = {0}; VIDEO_Init(); WPAD_Init(); rmode = VIDEO_GetPreferredMode(NULL); xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode)); console_init(xfb,20,20,rmode->fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ); VIDEO_Configure(rmode); VIDEO_SetNextFramebuffer(xfb); VIDEO_SetBlack(FALSE); VIDEO_Flush(); VIDEO_WaitVSync(); if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync(); printf("\x1b[1;0H"); printheader(); logprint(0, "Welcome to LibreShop!\n"); logprint(0, "Initializing network.\n"); ret = if_config(localip, netmask, gateway, TRUE, 20); if (ret>=0) { logprint(1, "Initialized successfully!\n"); logprint(0, "Your Wii's IP address is "); printf("%s.\n", localip); } else { logprint(0, "Network configuration failed :(\n"); } while(1) { WPAD_ScanPads(); u32 pressed = WPAD_ButtonsDown(0); if ( pressed & WPAD_BUTTON_HOME ) { logprint(0, "HOME pressed, quitting!"); exit(0); } VIDEO_WaitVSync(); } return 0; }