void print_display(struct s_grid *grid, char *display, coord *select) { coord moove; int pc = 0; int i; init_cursor(select); system("clear"); display = write_game_data(grid, display, &pc); display = border_line(grid, display, &pc); for (i = 0; i < grid->width; ++i) { display = game_line(grid, display, &pc, i, select); if (i + 1 < grid->width) display = center_line(grid, display, &pc); } display = border_line(grid, display, &pc); write(1, display, pc); moove = coordonne(0, grid->width); init_cursor(&moove); place_cursor(select); }
void screen_init() { // init palette palette[0]=RGB(240,240,240)<<16 | RGB(0,0,0); palette[1]=RGB(255,255,255)<<16 | RGB(0,0,0); palette[2]=RGB(0,0,0)<<16 | RGB(255,0,0); cursor.attr = 2; place_cursor(0, SCREEN_H-1); }
void bsod_init() { // init palette palette[0]=RGB(0,255,255)<<16|RGB(0,0,128); // cyan on blue palette[1]=RGB(255,150,0)<<16|RGB(255,255,0); // orange fg, yellow bg palette[2]=RGB(255,0,0)<<16|RGB(255,255,0); // red FG, yellow BG palette[3]=RGB(0,180,0)<<16|RGB(0,0,128); // green on blue // now a little gradient for (int i=0;i<16;i++) palette[4+i] = RGB(0,255-i*15,i*15)<<16| RGB(0,0,128); palette[20]=RGB(255,255,255)<<16|RGB(0,0,128); // make a window with attribute 1 (orange/yellow) text_color=1; window(0,0,17,17); print_at(5,0,"[Ascii]"); // draw ascii set with attribute 2 (red/yellow) for (int i=0;i<256;i++) { vram[1+i/16][1+i%16]=i; vram_attr[1+i/16][1+i%16]=2; } text_color=20; window(23,1,64,10); //print_at(37,1,"[savestate info]"); //print_at(24,2,a_game_buffer[0]); //print_at(24,3,a_game_buffer[1]); //sprintf(a_game_buffer[0], " was at game %u", current_a_game); //print_at(24,4,a_game_buffer[0]); //sprintf(a_game_buffer[0], " was attempting %u", attempting_a_game); //print_at(24,5,a_game_buffer[0]); text_color=0; print_at(31,SCREEN_H-14, "Sorry Bitbox..."); for (int i=0;i<4;i++) { text_color=4+i*4; print_at(31+4*i,SCREEN_H-13,"####"); } // print text with a gradient const char *bsod_text = "You just encountered the blue screen of death."; for (int i=0;i<10;i++) { text_color=4+i; print_at(16-i,20+i,bsod_text); } cursor.attr = 2; place_cursor(0, SCREEN_H-1); }