Esempio n. 1
0
int main()
{
    initgraph(640, 480);
    randomize(); //初始化随机种子

    AniObj obj[MAXOBJ]; //定义对象数组
    int n;

    setrendermode(RENDER_MANUAL);
    for ( ; kbhit() == 0; delay_fps(60) )
    {
        for (n = 0; n < MAXOBJ; ++n)
        {
            obj[n].updateobj(); //更新位置
        }

        imagefilter_blurring(NULL, 0x4F, 0x100);
        for (n = 0; n < MAXOBJ; ++n)
        {
            obj[n].drawobj(); //绘画
        }
    }

    closegraph();
    return 0;
}
Esempio n. 2
0
// 主函数
int main( int argc, char* argv[] ) {
    int i, ms_x = -1024, ms_y = -1024, exitflag = 0;
    int fps = 60;
    double dtime;

    int mode = preinit( argc, argv ); // 记录初始化模式
    if ( mode < 0 ) return 0;

    randomize(); // 初始化随机种子
    initgraph( -1, -1 ); // 打开图形窗口,以全屏模式

    showmouse( mode );
    sc_width = getwidth();
    sc_heigh = getheight();

    // 初始化所有星星
    for ( i = 0; i < g_max; i++ ) {
        InitStar( i );
        star[i].x = randomf();
    }
    // 绘制星空,按任意键或移动鼠标退出
    setfont( 12, 6, "宋体" );
    setrendermode( RENDER_MANUAL );
    dtime = fclock();
    while ( kbmsg() ) getkey();

    for ( ; !exitflag && is_run() && kbmsg() == 0; delay_fps( fps ) ) { //每秒画120帧,kbhit(1)是获取键盘任意键的消息,详见pdf
        // 如果有鼠标消息
        while ( mousemsg() ) {
            mouse_msg msg = getmouse();
            if ( ms_x <= -1024 ) {
                ms_x = msg.x;
                ms_y = msg.y;
            }
            // 处理鼠标,移动超出范围就退出
            if ( mode == 0 ) { // 仅全屏模式才处理鼠标
                int x = msg.x, y = msg.y;
                x -= ms_x;
                y -= ms_y;
                if ( x * x + y * y > 400 ) exitflag = 1;
            }
        }
        // 显示星星
        double dt = 1.0 / fps; //fclock() - dtime;
        dtime += dt;
        for ( int i = 0; i < g_max; i++ ) {
            MoveStar( i, dt );
        }
        // 显示FPS
        {
            char str[60];
            sprintf( str, "%8.2f FPS", getfps());
            outtextxy( 0, 0, str ); //显示fps
        }
    }
    closegraph(); // 关闭图形窗口
    return 0;
}
int main(void) {
	setinitmode(INIT_DEFAULT|INIT_NOFORCEEXIT);
	
	initgraph(640, 480);
	
	randomize();
	
	setrendermode(RENDER_MANUAL);
	
	mainloop();
	closegraph();
	return 0;
}
Esempio n. 4
0
int main()
{
	initgraph( 640, 480 );
	setrendermode(RENDER_MANUAL);
	PIMAGE img = newimage();
	getimage(img, "F://Pictures//12264878375.jpg");
	double r = 0;
	fps f;
	for ( ; is_run(); delay_fps(6000) )
	{
		r += 0.02;
		if (r > PI * 2) r -= PI * 2;

		cleardevice();
		putimage_rotatezoom(NULL, img, 320, 240, 0.5f, 0.5f, r, 0.5f, 0, -1, 1);
	}
	return 0;
}
Esempio n. 5
0
int main()
{
    setinitmode(0);
    JigsawView view;
    view.init(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT);
    setrendermode(RENDER_MANUAL);
    setbkmode(TRANSPARENT);
    setcaption("SpriteGenerator V1.2 by wang yang");
    setfont(20, 10, "宋体");
    for(view.render(); is_run(); )
    {
        view.update();
        if(!view.getSmoothMode())
            delay_fps(60);
        else Sleep(1);
    }
    return 0;
}
Esempio n. 6
0
int main(int argc, char* argv[]) {
    char str[100] = "";
    int basepoint = 20;
    /*
    if (argc < 2) return 0;
    if (stricmp(argv[1], "/p") == 0)
    {
        HWND hwnd;
        sscanf(argv[2], "%d", &hwnd);
        attachHWND(hwnd);
    }
    else if (stricmp(argv[1], "/s")) return 0;//*/

    init();
    init_net(&g_net, basepoint * 4, basepoint * 3, g_width, g_height);
    setbkmode(TRANSPARENT);

    fps fps_obj;
    setrendermode(RENDER_MANUAL);
    for (; kbhit() == 0; delay_fps(60)) {
        cleardevice();
        setcolor(0x8000);
        draw_net(&g_net);

        setcolor(0xFFFFFF);
        outtextxy(0,0,str);

        move_net(&g_net);
        move_net(&g_net);
        {
            int x, y, k;
            getmouse(&x, &y, &k);
            if (k) {
                cap_pt(&g_net, x, y, 1);
            } else {
                cap_pt(&g_net, x, y, 0);
            }
        }
    }
    closegraph();
    return 0;
}
Esempio n. 7
0
int main()
{
    static struct polys p[10] = {{0}};
    int n_points[10] = {3,3,3,6,7};
    int n_poly[10] = {1,1,1,1,1};
    int n_polys = 3, i;
    randomize();
    //图形初始化
    {
        setinitmode(INIT_ANIMATION);
        initgraph(width, height);
        width  = getmaxx();
        height = getmaxy();
        setrendermode(RENDER_MANUAL);
    }
    //多边形对象初始化
    for (i=0; i< n_polys; ++i)
    {
        initpolys(&p[i], n_poly[i], n_points[i]);
    }
    fps ui_fps;
    //主循环
    for ( ; is_run(); delay_fps(60))
    {
        if (kbhit() > 0) //有按键按下就退出
        {
            break;
        }
        for (i=0; i< n_polys; ++i)
        {
            movepoly(p[i].p);
        }
        cleardevice();
        for (i=0; i< n_polys; ++i)
        {
            draw_poly(p[i].p);
        }
        //imagefilter_blurring(NULL, 0xff, 0x100);
    }
    closegraph();
    return 0;
}
Esempio n. 8
0
static int osdfunc_setrendermode(const osdfuncparm_t *parm)
{
	int m;
	char *p;

	char *modestrs[] = {
		"classic software", "polygonal flat-shaded software",
		"polygonal textured software", "polygonal OpenGL"
	};

	if (parm->numparms != 1) return OSDCMD_SHOWHELP;
	m = Bstrtol(parm->parms[0], &p, 10);

	if (m < 0 || m > 3) return OSDCMD_SHOWHELP;

	setrendermode(m);
	OSD_Printf("Rendering method changed to %s\n", modestrs[ getrendermode() ] );

	return OSDCMD_OK;
}
Esempio n. 9
0
int main(void) {
  // ¸÷ÖÖ³õʼ»¯
  // setinitmodeÉèÖóõʼ»¯Ä£Ê½£º
  // INIT_DEFAULT egeĬÈÏÅäÖÃ
  // INIT_NOFORCEEXIT µãÁËÓÒÉϽÇXµÄʱºò²»Ç¿ÖÆÍ˳ö³ÌÐò£¬ÓɳÌÐò±¾Éí¼ì²âºÍ¿ØÖƽáÊø
  // INIT_RENDERMANUAL ÓëÒÔϵÄsetrendermode(RENDER_MANUAL)µÈЧ
  setinitmode(INIT_DEFAULT | INIT_NOFORCEEXIT);
  // ͼÐγõʼ»¯£¬´°¿Ú³ß´ç640x480
  initgraph(640, 480);
  // Ëæ»úÊý³õʼ»¯£¬Èç¹ûÐèҪʹÓÃËæ»úÊýµÄ»°
  randomize();
  // »æͼ¸üÐÂģʽÉèÖÃΪÊÖ¶¯£¬½öµ÷ÓÃdelay_fps/delay_msµÈº¯Êýʱ²ÅˢУ¬±ÜÃâÉÁ˸
  // Çø±ðÊÇÔÚRENDER_AUTOģʽÏ£¬Èκλæͼ²Ù×÷½øÐÐʱ¶¼¿ÉÄÜˢУ¬ÉõÖÁ¸Õcleardevice¾ÍÏÔʾ
  // µ¼ÖÂÆÁÄ»ÉÏÓÐʱ½öÏÔʾһ¸ö±³¾°¶øûÓÐÆäËüÄÚÈݵ¼ÖÂÉÁ˸
  setrendermode(RENDER_MANUAL);
  // ³ÌÐòÖ÷Ñ­»·
  mainloop();
  // ¹Ø±Õ»æͼÉ豸
  closegraph();
  return 0;
}
Esempio n. 10
0
static int32_t osdfunc_setrendermode(const osdfuncparm_t *parm)
{
    int32_t m;
    char *p;

    char *modestrs[] =
    {
        "classic software", "",
        "", "polygonal OpenGL", "great justice (Polymer)"
    };

    if (parm->numparms != 1) return OSDCMD_SHOWHELP;
    m = Bstrtol(parm->parms[0], &p, 10);

    if (m < 0 || m > 4) return OSDCMD_SHOWHELP;

    setrendermode(m);
    OSD_Printf("Rendering method changed to %s\n", modestrs[ getrendermode()]);

    return OSDCMD_OK;
}
Esempio n. 11
0
int loadsetup(const char *fn)
{
	scriptfile *cfg;
	char *token;
	int item;

	cfg = scriptfile_fromfile(fn);
	if (!cfg) {
		return -1;
	}

	scriptfile_clearsymbols();

	option[0] = 1;	// vesa all the way...
	option[1] = 1;	// sound all the way...
	option[4] = 0;	// no multiplayer
	option[5] = 0;

	while (1) {
		token = scriptfile_gettoken(cfg);
		if (!token) break;	//EOF

		for (item = 0; configspec[item].name; item++) {
			if (!Bstrcasecmp(token, configspec[item].name)) {
				// Seek past any = symbol.
				token = scriptfile_peektoken(cfg);
				if (!Bstrcasecmp("=", token)) {
					scriptfile_gettoken(cfg);
				}

				switch (configspec[item].type) {
					case type_bool: {
						int value = 0;
						if (scriptfile_getnumber(cfg, &value)) break;
						*(int*)configspec[item].store = (value != 0);
						break;
					}
					case type_int: {
						int value = 0;
						if (scriptfile_getnumber(cfg, &value)) break;
						*(int*)configspec[item].store = value;
						break;
					}
					case type_hex: {
						int value = 0;
						if (scriptfile_gethex(cfg, &value)) break;
						*(int*)configspec[item].store = value;
						break;
					}
					case type_double: {
						double value = 0.0;
						if (scriptfile_getdouble(cfg, &value)) break;
						*(double*)configspec[item].store = value;
						break;
					}
					default: {
						buildputs("loadsetup: unhandled value type\n");
						break;
					}
				}
				break;
			}
		}
		if (!configspec[item].name) {
			buildprintf("loadsetup: error on line %d\n", scriptfile_getlinum(cfg, cfg->ltextptr));
			continue;
		}
	}

#if USE_POLYMOST
	if (tmprenderer >= 0) {
		setrendermode(tmprenderer);
	}
#endif
	if (tmpbrightness >= 0) {
		brightness = min(max(tmpbrightness,0),15);
	}
	OSD_CaptureKey(keys[19]);

	scriptfile_close(cfg);
	scriptfile_clearsymbols();

	return 0;
}
Esempio n. 12
0
/////////////////////////////////////////////////
// 主函数
/////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    // 初始化绘图窗口及颜色
    setinitmode(0x005, 0, 0);
    if (argc < 2)
    {
        MessageBoxW(NULL, L"本屏幕保护程序无配置", L"JuliaSet", MB_OK);
        return 0;
    }
    else if (stricmp(argv[1], "/p") == 0)
    {
        HWND hwnd;
        sscanf(argv[2], "%d", &hwnd);
        attachHWND(hwnd);
        setinitmode(0x107, 0, 0);
    }
    else if (stricmp(argv[1], "/s"))
    {
        MessageBoxW(NULL, L"本屏幕保护程序无配置", L"JuliaSet", MB_OK);
        return 0;
    }

    //initgraph(320, 240);
    initgraph(-1, -1);

    randomize();
    showmouse(0);
    FlushMouseMsgBuffer();
    while(kbhit()) getch();

    //InitColor();
    InitLog();
    g_w = getwidth(NULL);
    g_h = getheight(NULL);
    g_st = (state*)malloc(g_w * g_h * sizeof(state));
    COMPLEX c = {0.262, 0.002}, z = {0, 0};
    double r = 1.5, d = g_w / (double)g_h, rotate = 0, sr = sin(rotate), cr = cos(rotate);
    init_st(g_w, g_h);
    int n_update = 0;
    double ftime = fclock();
    {
        double dc = 64, dca = 128, db = 16;
        col_r = randomf() * dc + db;
        col_g = randomf() * dc + db;
        col_b = randomf() * dc + db;
        col_ar = randomf() * dca;
        col_ag = randomf() * dca;
        col_ab = randomf() * dca;
        rotate = randomf() * 360;
        sr = sin(rotate), cr = cos(rotate);
    }
    setrendermode(RENDER_MANUAL);
    for (int loop = 1; kbmouhit() == 0; ++loop)
    {
        int ret;
        if (loop <= 4)
        {
            ret = JDraw(c, z.re - r * d, z.im - r, z.re + r * d, z.im + r, sr, cr);
            if (loop == 4)
            {
                g_udlist.swap();
                for(int y=0; y<g_h; y++)
                {
                    for(int x=0; x<g_w; x++)
                    {
                        if (g_st[y * g_w + x].ed == 0)
                        {
                            g_udlist.push(x, y);
                        }
                    }
                }
                g_udlist.swap();
            }
        }
        else
        {
            static int t = 0;
            ret = JDrawA(c, z.re - r * d, z.im - r, z.re + r * d, z.im + r);
            if (clock() - t > 30)
            {
                delay(1);
                t = clock();
            }
        }
        if (g_updatepoint == 0)
        {
            n_update++;
        }
        else
        {
            n_update = 0;
        }
        if (0)
        {
            char str[500];
            sprintf(str, "%d %d %f %f", g_w, g_h, r, d);
            outtextxy(0, 0, str);
        }
        if (ret == 0 || n_update > 8 || loop > 1000)
        {
            loop = 0;
            if (g_mi[0][0] == 0)
            {
                delay(1);
                memset(pMap, 0, BF_W * BF_H * sizeof(state));
                g_udlist.clear();
                for (int i = 0; i < BF_W; ++i)
                {
                    addpoint(i, 0);
                    addpoint(i, BF_H - 1);
                }
                for (int i = 0; i < 4; )
                {
                    if (MDraw(-1.9, -1.2, 0.5, 1.2) == 0)
                    {
                        ++i;
                    }
                    else
                    {
                        i = 0;
                    }
                    if (kbmouhit()) return 0;
                }
            }
            double dc = 64, dca = 128, db = 16;
            col_r = randomf() * dc + db;
            col_g = randomf() * dc + db;
            col_b = randomf() * dc + db;
            col_ar = randomf() * dca;
            col_ag = randomf() * dca;
            col_ab = randomf() * dca;
            rotate = randomf() * 360;
            sr = sin(rotate), cr = cos(rotate);
            do
            {
                c.re = randomf() * 2.4 - 1.9;
                c.im = randomf() * 2.4 - 1.2;
                int ir = (int)((c.re - (-1.9)) / (0.5 - (-1.9)) * BF_W);
                int im = (int)((c.im - (-1.2)) / (1.2 - (-1.2)) * BF_H);
                if (g_mi[im][ir] >= 16)
                {
                    break;
                }
            } while (1);
            init_st(g_w, g_h);
            n_update = 0;
            if (fclock() - ftime < 3)
            {
                delay_ms((int)((3 - (fclock() - ftime)) * 1000));
            }
            else
            {
                delay(1);
            }
            ftime = fclock();
        }
    }

    closegraph();
    return 0;
}
Esempio n. 13
0
int loadsetup(const char *fn)
{
	BFILE *fp;
#define VL 32
	char val[VL];
	int i;

	if ((fp = Bfopen(fn, "rt")) == NULL) return -1;

	if (readconfig(fp, "fullscreen", val, VL) > 0) {
		if (Batoi(val) != 0) fullscreen = 1;
		else fullscreen = 0;
	}

	if (readconfig(fp, "resolution", val, VL) > 0) {
		i = Batoi(val) & 0x0f;
		if ((unsigned)i<13) {
			xdimgame = xdim2d = vesares[i][0];
			ydimgame = ydim2d = vesares[i][1];
		}
	}
	if (readconfig(fp, "2dresolution", val, VL) > 0) {
		i = Batoi(val) & 0x0f;
		if ((unsigned)i<13) {
			xdim2d = vesares[i][0];
			ydim2d = vesares[i][1];
		}
	}

	if (readconfig(fp, "xdim2d", val, VL) > 0) {
		xdim2d = Batoi(val);
	}
	if (readconfig(fp, "ydim2d", val, VL) > 0) {
		ydim2d = Batoi(val);
	}
	if (readconfig(fp, "xdim3d", val, VL) > 0) {
		xdimgame = Batoi(val);
	}
	if (readconfig(fp, "ydim3d", val, VL) > 0) {
		ydimgame = Batoi(val);
	}

	if (readconfig(fp, "samplerate", val, VL) > 0) {
		option[7] = (Batoi(val) & 0x0f) << 4;
	}

	if (readconfig(fp, "music", val, VL) > 0) {
		if (Batoi(val) != 0) option[2] = 1;
		else option[2] = 0;
	}

	if (readconfig(fp, "mouse", val, VL) > 0) {
		if (Batoi(val) != 0) option[3] = 1;
		else option[3] = 0;
	}

	if (readconfig(fp, "bpp", val, VL) > 0) {
		bppgame = Batoi(val);
	}
	
	if (readconfig(fp, "renderer", val, VL) > 0) {
		i = Batoi(val);
		setrendermode(i);
	}

	if (readconfig(fp, "brightness", val, VL) > 0) {
		brightness = min(max(Batoi(val),0),15);
	}

#ifdef RENDERTYPEWIN
	if (readconfig(fp, "maxrefreshfreq", val, VL) > 0) {
		maxrefreshfreq = Batoi(val);
	}
#endif

	option[0] = 1;	// vesa all the way...
	option[1] = 1;	// sound all the way...
	option[4] = 0;	// no multiplayer
	option[5] = 0;

	if (readconfig(fp, "keyforward", val, VL) > 0) keys[0] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keybackward", val, VL) > 0) keys[1] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyturnleft", val, VL) > 0) keys[2] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyturnright", val, VL) > 0) keys[3] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyrun", val, VL) > 0) keys[4] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keystrafe", val, VL) > 0) keys[5] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyfire", val, VL) > 0) keys[6] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyuse", val, VL) > 0) keys[7] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keystandhigh", val, VL) > 0) keys[8] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keystandlow", val, VL) > 0) keys[9] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keylookup", val, VL) > 0) keys[10] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keylookdown", val, VL) > 0) keys[11] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keystrafeleft", val, VL) > 0) keys[12] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keystraferight", val, VL) > 0) keys[13] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "key2dmode", val, VL) > 0) keys[14] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyviewcycle", val, VL) > 0) keys[15] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "key2dzoomin", val, VL) > 0) keys[16] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "key2dzoomout", val, VL) > 0) keys[17] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keychat", val, VL) > 0) keys[18] = Bstrtol(val, NULL, 16);
	if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); }

	if (readconfig(fp, "mousesensitivity", val, VL) > 0) msens = Bstrtod(val, NULL);

	Bfclose(fp);

	return 0;
}