static void gr_ubox12(grs_canvas &canvas, const int left, const int top, const int right, const int bot, const uint8_t color) { gr_uline(canvas, i2f(left), i2f(top), i2f(right), i2f(top), color); gr_uline(canvas, i2f(right), i2f(top), i2f(right), i2f(bot), color); gr_uline(canvas, i2f(left), i2f(top), i2f(left), i2f(bot), color); gr_uline(canvas, i2f(left), i2f(bot), i2f(right), i2f(bot), color); }
void gr_line(grs_canvas &canvas, fix a1, fix b1, fix a2, fix b2, const uint8_t color) { int x1, y1, x2, y2; x1 = i2f(MINX); y1 = i2f(MINY); x2 = i2f(canvas.cv_bitmap.bm_w - 1); y2 = i2f(canvas.cv_bitmap.bm_h - 1); CLIPLINE(a1,b1,a2,b2,x1,y1,x2,y2,return,, FIXSCALE ); gr_uline(canvas, a1, b1, a2, b2, color); }
void gr_ubox12(int left,int top,int right,int bot) { #if 0 // the following shifts the box up 1 unit in OpenGL int i; for (i=top; i<=bot; i++ ) { gr_upixel( left, i ); gr_upixel( right, i ); } for (i=left; i<=right; i++ ) { gr_upixel( i, top ); gr_upixel( i, bot ); } #endif gr_uline(i2f(left), i2f(top), i2f(right), i2f(top)); gr_uline(i2f(right), i2f(top), i2f(right), i2f(bot)); gr_uline(i2f(left), i2f(top), i2f(left), i2f(bot)); gr_uline(i2f(left), i2f(bot), i2f(right), i2f(bot)); }
int gr_line(fix a1, fix b1, fix a2, fix b2) { int x1, y1, x2, y2; int clipped = 0; x1 = i2f(MINX); y1 = i2f(MINY); x2 = i2f(MAXX); y2 = i2f(MAXY); CLIPLINE(a1, b1, a2, b2, x1, y1, x2, y2, return 2, clipped = 1, FSCALE); gr_uline(a1, b1, a2, b2); return clipped; }
void radar_render_frame() { int i,color; object * objp; // added 7/5/99 - Owen Evans - radar resizes with screen size switch (Cockpit_mode) { case CM_FULL_SCREEN: Hostage_monitor_size = Game_window_w / 6; Hostage_monitor_x = (grd_curscreen->sc_w - Game_window_w) / 2; Hostage_monitor_y = (grd_curscreen->sc_h - Game_window_h) / 2; break; case CM_FULL_COCKPIT: Hostage_monitor_size = 40; Hostage_monitor_x = 0; Hostage_monitor_y = 80; break; case CM_STATUS_BAR: Hostage_monitor_size = Game_window_w / 6; Hostage_monitor_x = (grd_curscreen->sc_w - Game_window_w) / 2; Hostage_monitor_y = (max_window_h - Game_window_h) / 2; break; case CM_REAR_VIEW: //no radar in rear view or letterbox! case CM_LETTERBOX: return; } //end added - OE if (hostage_is_vclip_playing()) return; gr_set_current_canvas(NULL); gr_setcolor( BM_XRGB( 0, 31, 0 ) ); gr_ucircle( i2f(Hostage_monitor_x+Hostage_monitor_size/2), i2f(Hostage_monitor_y+Hostage_monitor_size/2), i2f(Hostage_monitor_size)/2); //other stuff added 9/14/98 by Victor Rachels for fun. gr_circle( i2f(Hostage_monitor_x+Hostage_monitor_size/2), i2f(Hostage_monitor_y+Hostage_monitor_size/2), i2f(Hostage_monitor_size) / 8 ); gr_upixel((Hostage_monitor_x+Hostage_monitor_size/2), (Hostage_monitor_y+Hostage_monitor_size/2) ); gr_uline(i2f(Hostage_monitor_x+Hostage_monitor_size/10),i2f(Hostage_monitor_y+Hostage_monitor_size/2),i2f(Hostage_monitor_x+Hostage_monitor_size*2/10),i2f(Hostage_monitor_y+Hostage_monitor_size/2)); gr_uline(i2f(Hostage_monitor_x+Hostage_monitor_size-Hostage_monitor_size/10),i2f(Hostage_monitor_y+Hostage_monitor_size/2),i2f(Hostage_monitor_x+Hostage_monitor_size-Hostage_monitor_size*2/10),i2f(Hostage_monitor_y+Hostage_monitor_size/2)); //killed 7/5/99 - Owen Evans - make radar much more useable // // Erase old blips // for (i=0; i<N_blips; i++ ) { // gr_setcolor(gr_gpixel( &GameBitmaps[cockpit_bitmap[0].index], Blips[i].x, Blips[i].y )); // gr_upixel( Blips[i].x, Blips[i].y ); // } //end killed - OE N_blips = 0; // if ( !(Players[Player_num].flags & (PLAYER_FLAGS_RADAR_ENEMIES | PLAYER_FLAGS_RADAR_POWERUPS )) ) return; radx = i2f(Hostage_monitor_size*4)/2; rady = i2f(Hostage_monitor_size*4)/2; cenx = i2f(Hostage_monitor_x)+i2f(Hostage_monitor_size)/2; ceny = i2f(Hostage_monitor_y)+i2f(Hostage_monitor_size)/2; rox = fixdiv( cenx, radx ); roy = fixdiv( ceny, rady ); objp = Objects; for (i=0;i<=Highest_object_index;i++) { switch( objp->type ) { case OBJ_PLAYER: if ( i != Players[Player_num].objnum ) { #ifdef NETWORK if (Game_mode & GM_TEAM) color = get_team(i); else #endif color = i; radar_plot_object( objp, gr_getcolor(player_rgb[color].r,player_rgb[color].g,player_rgb[color].b) ); } break; case OBJ_HOSTAGE: radar_plot_object( objp, BM_XRGB(0,31,0) ); break; case OBJ_POWERUP: //if ( Players[Player_num].flags & PLAYER_FLAGS_RADAR_POWERUPS ) if(!(Game_mode & GM_MULTI)) radar_plot_object( objp, BM_XRGB(0,0,31) ); break; case OBJ_ROBOT: // //if ( Players[Player_num].flags & PLAYER_FLAGS_RADAR_ENEMIES ) radar_plot_object( objp, BM_XRGB(31,0,0) ); break; // added 7/5/99 - Owen Evans - reactor is now shown on radar case OBJ_CNTRLCEN: radar_plot_object( objp, BM_XRGB(31,31,31) ); break; // end added - OE default: break; } objp++; } // Draw new blips... for (i=0; i<N_blips; i++ ) { gr_setcolor( Blips[i].c ); gr_upixel( Blips[i].x, Blips[i].y ); } }