예제 #1
0
int main(int argc, char **argv) {
	d_init("pong", "Pong!", NULL);

	if (!init()) {
		fprintf(stderr, "libDarnit didn't init\n");
		return -1;
	}

	d_render_clearcolor_set(0, 0, 192);

	for (;;) {
		player_loop();
		ball_loop();

		d_render_begin();

		d_render_tile_blit(p.player_ts, 0, p.player.x, p.player.y / 1000);
		d_render_end();
		d_loop();
	}

	d_quit();

	return 0;
}
예제 #2
0
파일: uppg21.c 프로젝트: slaeshjag/algdata
int main(int argc, char **argv) {
	DARNIT_IMAGE_DATA img;
	DARNIT_TILESHEET *ts;
	IMG_STRUCT **imgs, **tmp;
	DARNIT_KEYS keys;
	int images, image_disp, i;

	imgs = NULL;
	images = 0;
	image_disp = 0;

	if (argc < 2) {
		fprintf(stderr, "Usage: %s <image to analyze>\n", argv[0]);
		return -1;
	}

	d_init("algdata", "algdata", NULL);
	if (!((img = d_img_load_raw(argv[1])).data)) {
		fprintf(stderr, "Unable to load %s\n", argv[1]);
		d_quit();
	}

	d_render_clearcolor_set(255, 255, 255);
	do {
		i = 0;
		ts = next_image(img, &i);
		if (ts) {
			if (!(tmp = realloc(imgs, sizeof(IMG_STRUCT **) * (images + 1))))
				d_quit();
			imgs = tmp;
			imgs[images] = new_image(ts, i);
			images++;
		}
	} while (ts);

	if (!imgs)
		d_quit();

	sort_image(imgs, images);

	for (;;) {
		keys = d_keys_get();
		if (keys.start) {
			image_disp = (image_disp + 1 >= images) ? 0 : image_disp + 1;
			d_keys_set(keys);
		}
			
		d_render_begin();

		d_render_tile_blit(imgs[image_disp]->ts, 0, 0, 0);

		d_render_end();
		d_loop();
	}

	return 0;
}
예제 #3
0
파일: main.c 프로젝트: h4xxel/birdie26
int main(int argc, char  **argv) {
	char font_path[512];
	char *tmp;
	bool fullscreen = false;
	
	if (argc >= 2 && !strcmp(argv[1], "-fs"))
		fullscreen = true;
		

	d_init_custom("Fascister i grönsakslandet ~ //achtung fulkod", DISPLAY_WIDTH, DISPLAY_HEIGHT, fullscreen, "birdie26", NULL);
	
	sprintf(font_path, "%s", d_fs_exec_path());
	chdir(tmp = dirname(font_path));
	sprintf(font_path, "%s/res/font.ttf", tmp);
	gfx.font.large = d_font_load(font_path, 36, 256, 256);
	gfx.font.small = d_font_load(font_path, 16, 256, 256);
	s = malloc(sizeof(*s));

	ui_init(4);
	menu_init();
	gameroom_init();
	lobby_init();
	character_room_init();
	game_over_init();
	
	gamestate_pane[GAME_STATE_MENU] = &menu.pane;
	gamestate_pane[GAME_STATE_SELECT_NAME] = &select_name.pane;
	gamestate_pane[GAME_STATE_CHARACTERS] = &character_room.pane;
	gamestate_pane[GAME_STATE_LOBBY] = &lobby.pane;
	gamestate_pane[GAME_STATE_ENTER_IP] = &enter_ip.pane;
	gamestate_pane[GAME_STATE_GAMEROOM] = &gameroom.pane;
	gamestate_pane[GAME_STATE_GAME_OVER] = &game_over.pane;
	
	
	signal(SIGINT, d_quit); //lol
	network_init(PORT);
	
	d_cursor_show(1);
	d_render_clearcolor_set(0x7F, 0x7F, 0x7F);
	
	if(argc > 1) {
		snprintf(player_name, NAME_LEN_MAX, "%s", argv[1]);
		game_state(GAME_STATE_MENU);
	} else
		game_state(GAME_STATE_SELECT_NAME);
	while(gamestate!=GAME_STATE_QUIT) {
		if(state_network_handler[gamestate])
			state_network_handler[gamestate]();
		
		d_render_begin();
		d_render_blend_enable();
		
		d_render_tint(20, 20, 20, 255);
		
		if(gamestate_pane[gamestate])
			ui_events(gamestate_pane[gamestate], 1);
	
		d_render_tint(255, 255, 255, 255);
		if(state_render[gamestate])
			state_render[gamestate]();
		
		if(state_network_handler[gamestate])
			state_network_handler[gamestate]();
	
		d_render_end();
		d_loop();
	}

	d_quit();
	return 0;
}