static void update_lists(struct List *player, struct List *game) { int i; d_text_surface_reset(lobby.list_players); d_text_surface_reset(lobby.list_games); d_text_surface_color_next(lobby.list_players, 255, 255, 255); d_text_surface_string_append(lobby.list_players, "Players in lobby\n\n"); d_text_surface_color_next(lobby.list_games, 255, 255, 255); d_text_surface_string_append(lobby.list_games, "LAN Games\n\n"); #if 0 for(i = 0; i < players; i++) { /*if(i == lobby.selected_player) { d_text_surface_color_next(lobby.list_players, 255, 0, 0); } else {*/ d_text_surface_color_next(lobby.list_players, 255, 255, 255); /*}*/ d_text_surface_string_append(lobby.list_players, player[i]); } #endif for(i = 0; game; i++, game = game->next) { if(i == lobby.selected_game) { d_text_surface_color_next(lobby.list_games, 255, 0, 0); } else { d_text_surface_color_next(lobby.list_games, 255, 255, 255); } d_text_surface_string_append(lobby.list_games, ((struct LobbyHost *) (game->value))->name); if(i == 0) d_text_surface_string_append(lobby.list_games, "\n"); else d_text_surface_string_append(lobby.list_games, "'s game\n"); } }
int main(int argc, char **argv) { char fps[6]; init(); d_tilemap_camera_move(ppt.tm, -ppt.ui.offset_x, -ppt.ui.offset_y); *fps = 0; for (;;) { d_render_begin(); state_loop(); /* FIXME: Remove */ sprintf(fps, "%i", d_fps()); d_text_surface_reset(ppt.fps); d_text_surface_string_append(ppt.fps, fps); d_render_blend_enable(); d_text_surface_draw(ppt.fps); d_render_blend_disable(); d_render_end(); d_loop(); } return 0; }
int main(int argc, char **argv) { d_init_custom("AutoKorg", WINDOW_WIDTH, WINDOW_HEIGHT, 0, "robot", NULL); //Calling an initiating function. Said function creates a window //with resolution 800x600, that's now full-screen and with the title AutoKorg. DARNIT_FONT *kgfont = d_font_load("KGRayofSunshine.ttf", 60, 256, 256); //We create a font handle. DARNIT_TEXT_SURFACE *papper = d_text_surface_new(kgfont, 100 , 800, 10, 0); //Here we create a handle to a text surface, using the font previously handled. /*pthread_t threads[1]; hello = pthread_create(&threads[0], NULL, musikka, (void *) NULL);*/ d_cursor_show(1); //Call a funciton which shows the cursor in the window. initiate_buttons(); initiate_serial_port(); for(;;) { //Program loop. d_render_begin(); //Call to start rendering. d_render_blend_enable(); //Enable blend, a call to a function apparently needed. if(state < DISCO){ d_render_tint(255,255,255,255); } else { d_render_tint(rand() & 0xF0, rand() & 0xF0, rand() & 0xF0, 255); } //Another call to a needed function. Don't question the libdarnit. //d_text_surface_string_append(papper, svar); do_stuff(papper); //Call to a function which does stuff. draw_interface(); //Draws us some graphics. d_render_end(); //Call to a function which you do at the stop of rendering. d_loop(); //Call to a function that is to be called inbetween frames. d_text_surface_reset(papper); //Lastly we clear the textsurface. } return 0; //End of show. }
void gameover_render() { static char scoretext[64]; d_text_surface_draw(gameover.title); d_text_surface_draw(gameover.subtitle); d_text_surface_reset(gameover.score); sprintf(scoretext, "Score %i", score); d_text_surface_string_append(gameover.score, scoretext); if (highscore_is_new(score)) d_text_surface_draw(highscore.enter_name); d_text_surface_draw(gameover.score); }
void player_draw_stat() { char buff[32]; sprintf(buff, "Score: %.8i\n", score); d_text_surface_reset(player->scoretext); d_text_surface_string_append(player->scoretext, buff); sprintf(buff, "Grenades: %.2i", player->grenades); d_text_surface_reset(player->grenadestext); d_text_surface_string_append(player->grenadestext, buff); d_render_rect_move(player->healthbar, 0, 0, 0, player->health * 2, PLAYER_HEALTH_BAR_HEIGHT); d_render_tint(255 - player->health * 255 / 100, player->health * 255 / 100, 0, 255); d_render_offset(0, 0); d_render_rect_draw(player->healthbar, 1); d_render_tint(255, 255, 255, 255); d_text_surface_draw(player->scoretext); d_text_surface_draw(player->grenadestext); return; }
void colorTest(DARNIT_TEXT_SURFACE *surface) { int i; char tmp[2]; d_text_surface_reset(surface); srand(time(NULL)); for (i = 0; i < 16; i++) { d_text_surface_color_next(surface, rand()&0xFF, rand()&0xFF, rand()&0xFF); sprintf(tmp, "%c", 'A' + i); d_text_surface_char_append(surface, tmp); } return; }
static void update_player_list(DARNIT_TEXT_SURFACE *surface, char player[][PROTO_PLAYER_NAME]) { int i; d_text_surface_reset(surface); d_text_surface_color_next(surface, 255, 255, 255); d_text_surface_string_append(surface, "Players in game\n\n"); for(i = 0; i < FARMER_COUNT; i++) { if(!player[i][0]) continue; d_text_surface_color_next(surface, 255, 255, 255); d_text_surface_string_append(surface, player[i]); d_text_surface_char_append(surface, "\n"); } }
void highscore_render() { char buff[2048]; int i; d_text_surface_draw(highscore.title); d_text_surface_reset(highscore.text); for (i = 0; i < HIGHSCORE_CAP; i++) { if(!highscore_table[i].score) break; sprintf(buff, "%s", highscore_table[i].name); d_text_surface_string_append(highscore.text, buff); sprintf(buff, "%.8i\n", highscore_table[i].score); d_text_surface_offset_next_set(highscore.text, 500); d_text_surface_string_append(highscore.text, buff); } d_text_surface_draw(highscore.text); return; }
int main(int argc, char **argv) { int i, j, js0_x, js0_y, js1_x, js1_y; void *font, *surface, *text, *mapsheet, *sprite, *textinput, *mtsprite, *fps_text, *tilebuf, *fancy_text; void *music; char test[256], fps[16]; char *test_text; DARNIT_MOUSE mouse; DARNIT_KEYS keys; DARNIT_MAP *map; DARNIT_SPRITE *mapsprite; if (!d_init("TESTAPP - libDarnit", "testapp", NULL)) return -1; compression_test(); /* Sound/music */ music = d_sound_tracked_load("latyl-greasy_duck_v1.mod", DARNIT_AUDIO_STREAM, DARNIT_AUDIO_STEREO); d_sound_play(music, 0, 127, 127, 0); /* Text rendering */ test_text = malloc(64); font = d_font_load("dejavu_sans.ttf", 28, 512, 512); text = d_text_surface_new(font, 80, 800, 0, 460); fancy_text = d_text_surface_color_new(font, 16, 800, 0, 420); colorTest(fancy_text); fps_text = d_text_surface_new(font, 16, 200, 0, 40); /* Menutk test */ surface = d_menu_vertical_new("Hello\nGoodbye\nOther\nNothing\nLess than nothing", 50, 100, font, 200, 10, 3); sprintf(test_text, "Héllo, world. Modify m€! Test of offsets"); textinput = d_menu_textinput_new(0, 0, font, test_text, 64, 200); /* Sprites */ sprite = d_sprite_load("test.spr", 0, DARNIT_PFORMAT_RGB5A1); mapsprite = d_sprite_load("baurn.spr", 0, DARNIT_PFORMAT_RGB5A1); d_sprite_move(sprite, 50, 50); d_sprite_move(mapsprite, 0, 0); d_sprite_animate_start(sprite); d_sprite_animate_start(mapsprite); mtsprite = d_mtsprite_load("testspr.mts"); d_mtsprite_animate_start(mtsprite); /* Maps */ mapsheet = d_render_tilesheet_load("mapsheet.png", 32, 32, DARNIT_PFORMAT_RGBA8); if ((map = d_map_load("testmap_iso.ldmz")) == NULL) fprintf(stderr, "Map load failed\n"); d_tilemap_sprite_add(map->layer[0].tilemap, mapsprite); /* Tile caches */ tilebuf = d_render_tile_new(1, mapsheet); d_render_tile_move(tilebuf, 0, 64, 64); d_render_tile_tilesheet_coord_set(tilebuf, 0, 16, 16, 32, 32); /* Misc */ fprintf(stderr, "String lenght: %i\n", d_font_string_w(font, "ASDFÅÄÖ,,")); for (i = j = 0;;) { d_sprite_move(mapsprite, 64, j * 4); keys = d_keys_get(); d_text_surface_reset(text); d_text_surface_reset(fps_text); mouse = d_mouse_get(); d_joystick_get(&js0_x, &js0_y, &js1_x, &js1_y); sprintf(test, "X: %i, Y: %i, W: %i;; TX: %i, TY: %i;; nub0 (%i,%i) ;; nub1(%i,%i)", mouse.x, mouse.y, mouse.wheel, i*4, j*4, js0_x, js0_y, js1_x, js1_y); sprintf(fps, "%i", d_last_frame_time()); d_text_surface_string_append(text, test); d_text_surface_string_append(fps_text, "ASDFÅÄÖ,,"); if (keys.lmb) d_render_fade_in(1000, 1.0f, 0.0f, 0.0f); if (keys.rmb) d_render_fade_out(1000); d_render_begin(); if (keys.left == 1) i--; if (keys.right == 1) i++; if (keys.up == 1) j--; if (keys.down == 1) j++; if (keys.select) fprintf(stderr, "Blololol\n"); if (keys.r == 1) d_tilemap_camera_move(map->layer->tilemap, i*4, j*4); d_render_blend_enable(); d_tilemap_draw(map->layer->tilemap); if (keys.l == 1) if (d_menu_loop(surface) != -1) return 0; d_menu_loop(textinput); d_sprite_draw(sprite); d_text_surface_draw(text); d_text_surface_draw(fancy_text); d_text_surface_draw(fps_text); d_render_offset(-200, -200); d_mtsprite_draw(mtsprite); d_render_offset(0, 0); d_render_blend_disable(); d_render_tile_draw(tilebuf, 1); d_render_end(); d_loop(); } return 0; }