00001
00002
00003
00004
00009
00010
00011
00012 #include <stdlib.h>
00013 #include <stdio.h>
00014 #include <gccore.h>
00015 #include <wiiuse/wpad.h>
00016
00017 #include "console/console.h"
00018 #include "io/FileIO.h"
00019 #include "skins/SkinController.h"
00020
00021
00022 #define SYS_RETURNTOHBMENU 7
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 static GXRModeObj *rmode = NULL;
00033 u8 HWButton = 0;
00034 static void *xfb = NULL;
00035
00039 void WiiResetPressed()
00040 {
00041 HWButton = SYS_RETURNTOMENU;
00042 }
00043
00047 void WiiPowerPressed()
00048 {
00049 HWButton = SYS_POWEROFF_STANDBY;
00050 }
00051
00056 void WiimotePowerPressed(s32 chan)
00057 {
00058 HWButton = SYS_POWEROFF_STANDBY;
00059
00060 }
00061
00062
00069 int main(int argc, char **argv)
00070 {
00071
00072 VIDEO_Init();
00073
00074
00075 WPAD_Init();
00076
00077
00078
00079 rmode = VIDEO_GetPreferredMode(NULL);
00080
00081
00082 xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));
00083
00084
00085 console_init(xfb,20,20,rmode->fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ);
00086
00087
00088 VIDEO_Configure(rmode);
00089
00090
00091 VIDEO_SetNextFramebuffer(xfb);
00092
00093
00094 VIDEO_SetBlack(FALSE);
00095
00096
00097 VIDEO_Flush();
00098
00099
00100 VIDEO_WaitVSync();
00101 if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync();
00102
00103
00104
00105
00106 FileIO io;
00107
00108
00109
00110
00111
00112
00113
00114 SkinController skins;
00115
00116
00117
00118 Console myConsole;
00119 myConsole.registerSkin(skins.getSkin(0));
00120
00121 sleep(10);
00122 myConsole.clearConsole();
00123
00124 int startY=5;
00125 int onSkin = 0;
00126 bool skinChange = true;
00127
00128
00129
00130 while(1)
00131 {
00132
00133
00134 if(skinChange==true)
00135 {
00136 myConsole.registerSkin(skins.getSkin(onSkin));
00137
00138 myConsole.clearConsole();
00139
00140 myConsole.drawString(02,startY,skins.getSkin(onSkin).getSkinConsoleTextColor(),skins.getSkin(onSkin).getSkinConsoleBgColor(),"Showing Skin:");
00141 myConsole.drawString(18,startY,skins.getSkin(onSkin).getSkinConsoleTextColor(),skins.getSkin(onSkin).getSkinConsoleBgColor(),skins.getSkin(onSkin).getSkinName());
00142
00143
00144
00145 myConsole.drawPrimaryWindow(5,startY+3,6,70,"Test Primary Window");
00146 myConsole.drawStringPrimary(7,startY+5,"Push Left to move to next skin");
00147 myConsole.drawStringPrimaryAlternate(7,startY+7,"Push Right to return to previous skin");
00148
00149
00150 myConsole.drawSecondaryWindow(5,startY+13,6,70,"Test Secondary Window");
00151 myConsole.drawStringSecondary(7,startY+15,"Press HOME to exit");
00152 myConsole.drawStringSecondaryAlternate(7,startY+17,"Press HOME to exit");
00153
00154 skinChange = false;
00155 }
00156
00157 WPAD_ScanPads();
00158
00159
00160
00161
00162 u32 pressed = WPAD_ButtonsDown(0);
00163 u16 gcPressed = PAD_ButtonsDown(0);
00164
00165
00166 if ( pressed & WPAD_BUTTON_HOME ) exit(0);
00167
00168
00169 if ( (pressed & WPAD_BUTTON_RIGHT) || (PAD_StickX(0) > 18) || (gcPressed & PAD_BUTTON_RIGHT) || (gcPressed & PAD_TRIGGER_R))
00170 {
00171 onSkin++;
00172 if(onSkin >= skins.getNumberSkins())onSkin=0;
00173 skinChange = true;
00174 }
00175
00176
00177 if ( (pressed & WPAD_BUTTON_LEFT) || (PAD_StickX(0) < -18) || (gcPressed & PAD_BUTTON_LEFT) || (gcPressed & PAD_TRIGGER_L))
00178 {
00179 onSkin--;
00180 if(onSkin <0) onSkin = (skins.getNumberSkins()-1);
00181 skinChange = true;
00182 }
00183
00184
00185 VIDEO_WaitVSync();
00186 }
00187 return 0;
00188 }