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; }
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; }
int main(int argc, char **argv) { DARNIT_SPRITE *sprite; if (argc <3) { fprintf(stdout, "Usage: %s <sprite> <direction>\n", argv[0]); return -1; } if (d_init("libDarnit spriteview", "spriteview", NULL) == NULL) { fprintf(stderr, "libDarnit failed to init\n"); return -1; } if ((sprite = d_sprite_load(argv[1], atoi(argv[2]), DARNIT_PFORMAT_RGB5A1)) == NULL) { fprintf(stderr, "Unable to open sprite %s\n", argv[1]); d_quit(); return -1; } d_sprite_move(sprite, 0, 0); d_sprite_animate_start(sprite); d_render_blend_enable(); for (;;) { d_render_begin(); d_sprite_draw(sprite); d_render_end(); d_loop(); } return 0; }
int main(int argc, char **argv) { DARNIT_KEYS keys; DARNIT_MOUSE mouse; //particle_emitter_new(30, 5000, 8000, 10000, 255, 0, 0, PARTICLE_TYPE_PULSE, 400, 240, 0, -100, 100); //particle_emitter_new(30, 5000, 8000, 10000, 255, 255, 0, PARTICLE_TYPE_PULSE, 400, 240, 0, -100, 100); init(); gamestate(GAMESTATE_MENU); while(_gamestate!=GAMESTATE_QUIT) { keys=d_keys_get(); mouse=d_mouse_get(); if(handle[_gamestate]) handle[_gamestate](&keys, &mouse); d_render_begin(); if(render[_gamestate]) render[_gamestate](); d_render_end(); d_loop(); } d_quit(); return 0; }
int main(int argc, char **argv) { DARNIT_TILESHEET *ts; DARNIT_TILEMAP *tm; int i, t; d_init("orthotest", "orthotest", NULL); ts = d_render_tilesheet_load("grid.png", 24, 24, DARNIT_PFORMAT_RGB5A1); tm = d_tilemap_new(0xFFF, ts, 0xFFF, 10, 18); for (i = 0; i < 180; i++) tm->data[i] = 1; d_tilemap_recalc(tm); d_tilemap_camera_move(tm, -1, 0); t = d_time_get(); for (i = 0;; i++) { fprintf(stderr, "Moving camera %i\n", -i / 30); d_tilemap_camera_move(tm, 0, -i / 30); d_render_begin(); d_tilemap_draw(tm); d_render_end(); d_loop(); } d_quit(); }
int main(int argc, char **argv) { DARNIT_TILEMAP *tm; DARNIT_TILESHEET *ts; int i, j; d_init("isotest", "isotest", NULL); ts = d_render_tilesheet_isom_load("isosheet.png", 64, 64, DARNIT_PFORMAT_RGB5A1); tm = d_tilemap_isom_new(0, ts, 0xFF, 32, 16, 32); d_render_blend_enable(); d_tilemap_recalc(tm); for (i = 0;; i++) { j = i % 1200; if (j > 600) j = j + (2*(j - 600)) * -1; j *= -1; j += 300; d_tilemap_camera_move(tm, 0, 0); d_render_begin(); d_render_blend_enable(); d_tilemap_draw(tm); d_render_end(); d_loop(); } d_quit(); }
int main(int argc, char **argv) { int i, j; struct GRAPH *g, *tree=NULL; struct VERTEX *v; struct POINT p; DARNIT_KEYS keys; srand(time(NULL)); d_init("Graphs", "uppg8", NULL); for(i=0; i<256; i++) { circle[i]=d_render_circle_new(32, 1); line[i]=d_render_line_new(1, 1); } for(j=0; j<4; j++) for(i=0; i<7; i++) { p.x=i*100+50;//(rand()%80)*10; p.y=j*100+50;//(rand()%48)*10; v=graph_add_vertex(&graph, p); for(g=graph; g; g=g->next) if(!(rand()%6)) graph_add_edge(v, g->vertex, rand()%100, DIRECTION_DOUBLE); } tree=graph_prim(graph); draw_graph(graph); for(g=graph;;) { keys=d_keys_get(); if(keys.start) { g=g==graph?tree:graph; draw_graph(g); } d_keys_set(keys); d_render_begin(); d_render_tint(0xFF, 0xFF, 0xFF, 0xFF); for(i=0; i<vertices; i++) d_render_circle_draw(circle[i]); for(i=0; i<edges; i++) { d_render_tint(length[i], 0x7F, 0x0, 0xFF); d_render_line_draw(line[i], 1); } d_render_end(); d_loop(); } d_quit(); return 0; }
void inputPoll() { TPW_EVENT event; tpw_event_loop(); while (tpw_event_pop(&event)) { if (event.type == TPW_EVENT_TYPE_KEYDOWN) { if (event.key.keysym == d->input.map.up) d->input.key |= KEY_UP; else if (event.key.keysym == d->input.map.down) d->input.key |= KEY_DOWN; else if (event.key.keysym == d->input.map.left) d->input.key |= KEY_LEFT; else if (event.key.keysym == d->input.map.right) d->input.key |= KEY_RIGHT; else if (event.key.keysym == d->input.map.x) d->input.key |= KEY_X; else if (event.key.keysym == d->input.map.y) d->input.key |= KEY_Y; else if (event.key.keysym == d->input.map.a) d->input.key |= KEY_A; else if (event.key.keysym == d->input.map.b) d->input.key |= KEY_B; else if (event.key.keysym == d->input.map.start) d->input.key |= KEY_START; else if (event.key.keysym == d->input.map.select) d->input.key |= KEY_SELECT; else if (event.key.keysym == d->input.map.l) d->input.key |= KEY_L; else if (event.key.keysym == d->input.map.r) d->input.key |= KEY_R; /* I'm sorry Sara... */ #ifdef PANDORA else if (event.key.keysym == TPW_KEY_ESCAPE) d_quit(); #elif defined(MAEMO) else if (event.key.keysym == TPW_KEY_BACKSPACE && (tpw_keys_modifiers() & TPW_KEY_MOD_CTRL)) tpw_input_grab(TPW_INPUT_GRAB_RELEASE); #endif if (event.key.keysym == TPW_KEY_LSHIFT) d->input.upper |= 2; else if (event.key.keysym == TPW_KEY_RSHIFT) d->input.upper |= 1; if (event.key.keysym < 273) d->input.lastkey = event.key.keysym; inputRawPush(event.key.keysym, DARNIT_KEYACTION_PRESS, event.key.unicode); } else if (event.type == TPW_EVENT_TYPE_KEYUP) { if (event.key.keysym == d->input.map.up) { d->input.key |= KEY_UP; d->input.key ^= KEY_UP; } else if (event.key.keysym == d->input.map.down) { d->input.key |= KEY_DOWN; d->input.key ^= KEY_DOWN; } else if (event.key.keysym == d->input.map.left) { d->input.key |= KEY_LEFT; d->input.key ^= KEY_LEFT; } else if (event.key.keysym == d->input.map.right) { d->input.key |= KEY_RIGHT; d->input.key ^= KEY_RIGHT; } else if (event.key.keysym == d->input.map.x) { d->input.key |= KEY_X; d->input.key ^= KEY_X; } else if (event.key.keysym == d->input.map.y) { d->input.key |= KEY_Y; d->input.key ^= KEY_Y; } else if (event.key.keysym == d->input.map.a) { d->input.key |= KEY_A; d->input.key ^= KEY_A; } else if (event.key.keysym == d->input.map.b) { d->input.key |= KEY_B; d->input.key ^= KEY_B; } else if (event.key.keysym == d->input.map.start) { d->input.key |= KEY_START; d->input.key ^= KEY_START; } else if (event.key.keysym == d->input.map.select) { d->input.key |= KEY_SELECT; d->input.key ^= KEY_SELECT; } else if (event.key.keysym == d->input.map.l) { d->input.key |= KEY_L; d->input.key ^= KEY_L; } else if (event.key.keysym == d->input.map.r) { d->input.key |= KEY_R; d->input.key ^= KEY_R; } if (event.key.keysym == TPW_KEY_LSHIFT) { d->input.upper |= 2; d->input.upper ^= 2; } else if (event.key.keysym == TPW_KEY_RSHIFT) { d->input.upper |= 1; d->input.upper ^= 1; } inputRawPush(event.key.keysym, DARNIT_KEYACTION_RELEASE, event.key.unicode); } else if (event.type == TPW_EVENT_TYPE_MOUSEMOVE) { d->input.mouse.x = event.mouse.x; d->input.mouse.y = event.mouse.y; } else if (event.type == TPW_EVENT_TYPE_MOUSEBTN_DOWN) { if (event.mouse.button == TPW_MOUSE_BUTTON_LEFT) { d->input.key |= MB_LEFT; d->input.mouse.mb_l = 1; } else if (event.mouse.button == TPW_MOUSE_BUTTON_RIGHT) { d->input.key |= MB_RIGHT_D; d->input.mouse.mb_r = 1; } else if (event.mouse.button == TPW_MOUSE_BUTTON_WHEEL_UP) d->input.mouse.wheel--; else if (event.mouse.button == TPW_MOUSE_BUTTON_WHEEL_DOWN) d->input.mouse.wheel++; } else if (event.type == TPW_EVENT_TYPE_MOUSEBTN_UP) { if (event.mouse.button == TPW_MOUSE_BUTTON_LEFT) { d->input.key |= MB_LEFT; d->input.key ^= MB_LEFT; d->input.mouse.mb_l = 0; } else if (event.mouse.button == TPW_MOUSE_BUTTON_RIGHT) { d->input.key |= MB_RIGHT_D; d->input.key ^= MB_RIGHT_D; d->input.mouse.mb_r = 0; } } else if (event.type == TPW_EVENT_TYPE_JOYSTICK_MOVE) { if (event.joystick.js_id == d->input.js.nub0i) { if (event.joystick.axis == 0) d->input.js.nub0_x = event.joystick.value; else d->input.js.nub0_y = event.joystick.value; } else { if (event.joystick.axis == 0) d->input.js.nub1_x = event.joystick.value; else d->input.js.nub1_y = event.joystick.value; } #ifdef MAEMO } else if (event.type == TPW_EVENT_TYPE_ACTIVE && event.active.gain == 1 && event.active.app_active) { tpw_input_grab(TPW_INPUT_GRAB_GRAB); #endif } else if (event.type == TPW_EVENT_TYPE_QUIT) { d_quit(); exit(0); } } d->input.keypending &= d->input.key; d->input.key |= ((tpw_keys_modifiers()) << 16); return; }
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; }