Example #1
0
void draw()
{

    glColor4f(1,1,1,1);
    glClear(GL_COLOR_BUFFER_BIT);

    switch(appState)
    {
    case APPSTATE_INTRO:
        drawImage(&images[IMG_INTRO], SCRW/2-images[IMG_INTRO].w/2,
                  SCRH/2-images[IMG_INTRO].h/2, NULL);
        break;

    case APPSTATE_MENU:
        menuDraw();
        break;

    case APPSTATE_GAME:

        levelDrawAllTheRest();

        itemsDraw();
        portalDraw();
        bulletDraw(1); /* bullets shot by player */
        playerDraw();
        idiotDraw();
        drunkenbotDraw();
        bulletDraw(0); /* all the rest */
        turretDraw();
        bossDraw();

        levelDrawForeground();

        /* Darkness layer here */
        if(currentLevel.flags & IS_DARK_LEVEL)
            drawImage(&images[IMG_DARKNESS], player.posX-(SCRW+STEP/2), player.posY-(SCRH+STEP/2), NULL);

        /* Boss' HP bar */
        bossDrawHPBar();

        break;

    case APPSTATE_GAMEOVER:

        gameoverDraw();
        break;
    }

    /* Text line */
    textDraw();

    SDL_GL_SwapBuffers();

}
Example #2
0
void do_drawing(cairo_t *cairoDrawPlace, GtkWidget *darea, field_t *field)
{
    cairo_set_source_rgb(cairoDrawPlace, 0.26, 0.07, 0.69);
    cairo_paint(cairoDrawPlace);
    cairo_set_line_width(cairoDrawPlace, 2);
    cairo_set_line_cap(cairoDrawPlace, CAIRO_LINE_CAP_ROUND);
    cairo_translate(cairoDrawPlace, 5, 5);

    switch (field->gameStatus) {
    case START_MENU:
        startMenuDraw(cairoDrawPlace, field);
        break;
    case GAME_IN_PROCESS:
        fieldDraw(cairoDrawPlace, field);
        break;
    case GAMEOVER:
        gameoverDraw(cairoDrawPlace, field);
        break;
    }
    rightMenuDraw(cairoDrawPlace, field);
    //cairo_stroke(cairoDrawPlace);
}