⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 config.c

📁 索尼公司著名游戏机PS2使用的引导工具文件源代码,这是爱好者自编的工具,可以使用它来引导自己的程序,达到跳过原光驱启动执行自己制作的程序的目的,在windows上可以安装使用ps2的专用开发包,搭建c
💻 C
📖 第 1 页 / 共 2 页
字号:
						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 + -