int info_scene() { cleardevice(); setcolor(0xFFFFFF); Mira mira(640, 300); auto p_imagetext(newimage(440, 130)); char infostr[] = "欢迎使用Easy Graphics Enginge (EGE) V0.3.8 ,本库是一个面向新手,或者面向快速图形程序开发的图形库,使用方便快捷,容易上手,特别适合于新手学习图形程序设计。本程序为安装程序,如果你要继续安装,请按'y'键继续"; setcolor(0xFFFF, p_imagetext); setfont(18, 0, "宋体", p_imagetext); setbkmode(TRANSPARENT, p_imagetext); for(int i = 0; i < 8; ++i) { outtextrect(5, 5, 440, 280, infostr, p_imagetext); imagefilter_blurring(p_imagetext, 0xF0, 0x100); } setcolor(0xFF, p_imagetext); outtextrect(5, 5, 440, 280, infostr, p_imagetext); for(; kbhit() == 0; delay_fps(60)) { mira.update(); mira.render(0, 480 - 300); putimage(100, 50, p_imagetext); } delimage(p_imagetext); return getch(); }
int render(int _x, int _y) { imagefilter_blurring(pmira, 0x30, 0x100); int color = hsv2rgb((float)m_cr, 1.0f, 1.0f); int e = 1; for(int y = -e; y <= e; ++y) { if(y == 0) continue; for(int x = -e; x <= e; ++x) { if(x == 0) continue; mira(m_a, m_b, x * m_tt, y * m_tt, 900, color); } } putimage(_x, _y, pmira); return 0; }
static DECLFW(Mapper90_write) { //printf("$%04x:$%02x\n",A,V); if(A==0x5800) mul[0]=V; else if(A==0x5801) mul[1]=V; else if(A==0x5803) regie=V; //if(A>=0xc000 && A<=0xc007) // MDFN_printf("$%04x:$%02x $%04x, %d, %d\n",A,V,X.PC,scanline,timestamp); A&=0xF007; if(A>=0x8000 && A<=0x8003) { prgb[A&3]=V; tekprom(); } else if(A>=0x9000 && A<=0x9007) { chrlow[A&7]=V; tekvrom(); } else if(A>=0xa000 && A<=0xa007) { chrhigh[A&7]=V; tekvrom(); } else if(A>=0xb000 && A<=0xb007) { //printf("$%04x:$%02x\n",A,V); if(A&4) { names[A&3]&=0x00FF; names[A&3]|=V<<8; } else { names[A&3]&=0xFF00; names[A&3]|=V; } mira(); } else if(A>=0xd000 && A<=0xdfff) { tkcom[A&3]=V; tekprom(); tekvrom(); mira(); } else switch(A) { case 0xc000: IRQa=V&1;if(!(V&1)) X6502_IRQEnd(MDFN_IQEXT);break; case 0xc002: IRQa=0;X6502_IRQEnd(MDFN_IQEXT);break; case 0xc003: IRQa=1;break; case 0xc001: IRQMode=V;break; case 0xc004: IRQPre=V^IRQXOR;break; case 0xc005: IRQCount=V^IRQXOR;break; case 0xc006: IRQXOR=V;break; case 0xc007: IRQPreSize=V;break; } }