void render_viewport( Viewport* viewport, GameState* gamestate ) { // Reload the identity matrix glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // Apply the viewport to the current OpenGL context (and its camera's // perspective) Viewport_apply(viewport); // Render the landscape render_landscape( gamestate->landscape, gamestate->landscape->worldWidth ); // Render the players render_player( gamestate->player1, gamestate->landscape->gridDivisionWidth ); render_player( gamestate->player2, gamestate->landscape->gridDivisionWidth ); // Render the objects render_projectiles( gamestate->player1_projectile, gamestate->player2_projectile ); render_edible( gamestate->edible ); }
void LevelRenderer::render() { render_tiles(); render_pac_dots(); render_power_ups(); render_ghosts(); render_player(); }
void render_loop() { int base,top,state; //draw them backgrounds! switch(levl->bgtype) { default: case 0: clear_bitmap(buffer); //black backgrund, not that useful break; case 1: render_sky(levl->lines); //sky-thingy break; case 2: show_fire(); //A fire... break; } render_level_map(levl,xorg,yorg); for (int ei=levl->entitycnt-1;ei>=0;ei--) { ENTITY *e = levl->entities+ei; switch (e->type) { default: printf("Unknown entity type in render loop! type: %d id: %d",e->type,ei); case ENTITY_TYPE_NULL: break; case ENTITY_TYPE_PLAYER: xorg = e->x-368/64.0 <=0 ? 0 : e->x+432/64.0 > levl->sizex ? levl->sizex-800/64.0 : e->x-368/64.0; yorg = e->y-268/64.0 <=0 ? 0 : e->y+332/64.0 > levl->sizey ? levl->sizey-600/64.0 : e->y-268/64.0; state = (e->data1&0x0300)>>16; top = 0; if (e->accely < 0) top = 1; if (e->accely > 0) top = 2; if (e->accely == 1/8.0) top = 5; if (e->accelx < 0) top = 3; if (e->accelx > 0) top = 4; if (e->health <= 0) top = 7; base = 0; render_player((e->x-xorg)*64,(e->y-yorg)*64,base,top); render_health(10,10,256,32,e->health,1024); textprintf_ex(buffer,font,0,0,getpixel(buffer,0,0)^0xFFFF,-1,"P: %d",e->data3); //stretch_blit(collectable_c[2],buffer,0,0,64,64,800-16,0,16,16); textprintf_right_ex(buffer,font,799,0,getpixel(buffer,799,0)^0xFFFF,-1,"%d",e->data4); break; case ENTITY_TYPE_COLLECTABLE: //printf("%X, %X, %X, %X ?? %X %X\n",e->data2,e->data2&0xFF00,e->data2&0xFF00 == 0x0100,0x0100,e->data2&0xFF00 > 0x0100,e->data2&0xFF00 < 0x0100); if ((e->data2&0xFF00) == 0x0100) { draw_rle_sprite(buffer,collectable_c[e->data2&0x0007],(e->x-xorg)*64,(e->y-yorg)*64); //draw_rle_sprite(buffer,collectable_c[e->data2&0x0007],0, 0); } break; } } }
void RenderField(Field *field) { Lightcycle *players = field->player; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); field_w = field->width; field_h = field->height; place_camera(field); ground_plane(field_w, field_h); render_axes(); while (players != 0) { render_player(players); players = players->next; } glFlush(); }