📄 config.c
字号:
screen_env.screen.x = setting->screen_x;
itoSetScreenPos(setting->screen_x, setting->screen_y);
}
} else if(s==13) {
if(setting->screen_y > 0) {
setting->screen_y--;
screen_env.screen.y = setting->screen_y;
itoSetScreenPos(setting->screen_x, setting->screen_y);
}
}
}
else if(new_pad & PAD_CIRCLE)
{
if(s<12) {
if(rgb[s/3][s%3] < 255) {
rgb[s/3][s%3]++;
setting->color[s/3] =
ITO_RGBA(rgb[s/3][0], rgb[s/3][1], rgb[s/3][2], 0);
if(s/3 == 0) itoSetBgColor(setting->color[0]);
}
} else if(s==12) {
setting->screen_x++;
screen_env.screen.x = setting->screen_x;
itoSetScreenPos(setting->screen_x, setting->screen_y);
} else if(s==13) {
setting->screen_y++;
screen_env.screen.y = setting->screen_y;
itoSetScreenPos(setting->screen_x, setting->screen_y);
} else if(s==14) {
setting->interlace = !setting->interlace;
screen_env.interlace = setting->interlace;
itoGsReset();
itoGsEnvSubmit(&screen_env);
} else if(s==15) {
return;
} else if(s==16) {
setting->color[0] = DEF_COLOR1;
setting->color[1] = DEF_COLOR2;
setting->color[2] = DEF_COLOR3;
setting->color[3] = DEF_COLOR4;
setting->screen_x = DEF_SCREEN_X;
setting->screen_y = DEF_SCREEN_Y;
setting->interlace = DEF_INTERLACE;
screen_env.screen.x = setting->screen_x;
screen_env.screen.y = setting->screen_y;
screen_env.interlace = setting->interlace;
itoGsReset();
itoGsEnvSubmit(&screen_env);
itoSetBgColor(setting->color[0]);
//itoSetScreenPos(setting->screen_x, setting->screen_y);
for(i=0; i<4; i++) {
rgb[i][0] = setting->color[i] & 0xFF;
rgb[i][1] = setting->color[i] >> 8 & 0xFF;
rgb[i][2] = setting->color[i] >> 16 & 0xFF;
}
}
}
}
// 夋柺昤夋奐巒
clrScr(setting->color[0]);
// 榞偺拞
x = SCREEN_MARGIN + LINE_THICKNESS + FONT_WIDTH;
y = SCREEN_MARGIN + FONT_HEIGHT*2 + LINE_THICKNESS + 12;
for(i=0; i<4; i++)
{
sprintf(c, " COLOR%d R: %lu", i+1, rgb[i][0]);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
sprintf(c, " COLOR%d G: %lu", i+1, rgb[i][1]);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
sprintf(c, " COLOR%d B: %lu", i+1, rgb[i][2]);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
y += FONT_HEIGHT / 2;
}
sprintf(c, " SCREEN X: %d", setting->screen_x);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
sprintf(c, " SCREEN Y: %d", setting->screen_y);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
y += FONT_HEIGHT / 2;
if(setting->interlace)
sprintf(c, " INTERLACE: ON");
else
sprintf(c, " INTERLACE: OFF");
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
y += FONT_HEIGHT / 2;
printXY(" RETURN", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
printXY(" INIT", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
y = s * FONT_HEIGHT + SCREEN_MARGIN+FONT_HEIGHT*2+12+LINE_THICKNESS;
if(s>=3) y+=FONT_HEIGHT/2;
if(s>=6) y+=FONT_HEIGHT/2;
if(s>=9) y+=FONT_HEIGHT/2;
if(s>=12) y+=FONT_HEIGHT/2;
if(s>=14) y+=FONT_HEIGHT/2;
if(s>=15) y+=FONT_HEIGHT/2;
drawChar(127, x, y/2, setting->color[3]);
x = SCREEN_MARGIN;
y = SCREEN_HEIGHT-SCREEN_MARGIN-FONT_HEIGHT;
if (s <= 13) strcpy(c, "仜:Add 亊:Away");
else if(s==14) strcpy(c, "仜:Change");
else strcpy(c, "仜:OK");
setScrTmp("", c);
drawScr();
}
}
////////////////////////////////////////////////////////////////////////
// Config夋柺
void config(char *mainMsg)
{
char c[MAX_PATH];
int i;
int s;
int x, y;
tmpsetting = setting;
setting = (SETTING*)malloc(sizeof(SETTING));
*setting = *tmpsetting;
s=0;
while(1)
{
// 憖嶌
waitPadReady(0, 0);
if(readpad())
{
if(new_pad & PAD_UP)
{
if(s!=0)
s--;
else
s=CANCEL;
}
else if(new_pad & PAD_DOWN)
{
if(s!=CANCEL)
s++;
else
s=0;
}
else if(new_pad & PAD_LEFT)
{
if(s>=OK)
s=TIMEOUT;
else
s=DEFAULT;
}
else if(new_pad & PAD_RIGHT)
{
if(s<TIMEOUT)
s=TIMEOUT;
else if(s<OK)
s=OK;
}
else if(new_pad & PAD_CROSS)
{
if(s<TIMEOUT)
setting->dirElf[s][0]=0;
else if(s==TIMEOUT)
{
if(setting->timeout > 0)
setting->timeout--;
}
}
else if(new_pad & PAD_CIRCLE)
{
if(s<TIMEOUT)
{
getFilePath(setting->dirElf[s], TRUE);
if(!strncmp(setting->dirElf[s], "mc", 2)){
sprintf(c, "mc%s", &setting->dirElf[s][3]);
strcpy(setting->dirElf[s], c);
}
}
else if(s==TIMEOUT)
setting->timeout++;
else if(s==FILENAME)
setting->filename = !setting->filename;
else if(s==DISCCONTROL)
setting->discControl = !setting->discControl;
else if(s==SCREEN)
setColor();
else if(s==OK)
{
free(tmpsetting);
saveConfig(mainMsg);
break;
}
else if(s==CANCEL)
{
free(setting);
setting = tmpsetting;
screen_env.screen.x = setting->screen_x;
screen_env.screen.y = setting->screen_y;
screen_env.interlace = setting->interlace;
itoGsReset();
itoGsEnvSubmit(&screen_env);
itoSetBgColor(setting->color[0]);
mainMsg[0] = 0;
break;
}
}
}
// 夋柺昤夋奐巒
clrScr(setting->color[0]);
// 榞偺拞
x = SCREEN_MARGIN + LINE_THICKNESS + FONT_WIDTH;
y = SCREEN_MARGIN + FONT_HEIGHT*2 + LINE_THICKNESS + 12;
printXY("BUTTON SETTING", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
for(i=0; i<12; i++)
{
switch(i)
{
case 0:
strcpy(c," DEFAULT: ");
break;
case 1:
strcpy(c," 仜 : ");
break;
case 2:
strcpy(c," 亊 : ");
break;
case 3:
strcpy(c," 仩 : ");
break;
case 4:
strcpy(c," 仮 : ");
break;
case 5:
strcpy(c," L1 : ");
break;
case 6:
strcpy(c," R1 : ");
break;
case 7:
strcpy(c," L2 : ");
break;
case 8:
strcpy(c," R2 : ");
break;
case 9:
strcpy(c," L3 : ");
break;
case 10:
strcpy(c," R3 : ");
break;
case 11:
strcpy(c," START : ");
break;
}
strcat(c, setting->dirElf[i]);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
}
y += FONT_HEIGHT / 2;
printXY("MISC", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
sprintf(c, " TIMEOUT: %d", setting->timeout);
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
if(setting->discControl)
sprintf(c, " DISC CONTROL: ON");
else
sprintf(c, " DISC CONTROL: OFF");
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
if(setting->filename)
sprintf(c, " PRINT ONLY FILENAME: ON");
else
sprintf(c, " PRINT ONLY FILENAME: OFF");
printXY(c, x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
printXY(" SCREEN SETTING", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
y += FONT_HEIGHT / 2;
printXY(" OK", x, y/2, setting->color[3], TRUE);
y += FONT_HEIGHT;
printXY(" CANCEL", x, y/2, setting->color[3], TRUE);
y = s * FONT_HEIGHT + SCREEN_MARGIN+FONT_HEIGHT*3+12+LINE_THICKNESS;
if(s>=TIMEOUT)
y += FONT_HEIGHT + FONT_HEIGHT / 2;
if(s>=OK)
y += FONT_HEIGHT / 2;
drawChar(127, x, y/2, setting->color[3]);
if (s < TIMEOUT) sprintf(c, "仜:Edit 亊:Clear");
else if(s==TIMEOUT) sprintf(c, "仜:Add 亊:Away");
else if(s==FILENAME) sprintf(c, "仜:Change");
else if(s==DISCCONTROL) sprintf(c, "仜:Change");
else sprintf(c, "仜:OK");
setScrTmp("", c);
drawScr();
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -