Exemplo n.º 1
0
void draw_debug_line(char *str, int len)
{
    SDL_Color background = { 0, 0, 0, 0 };
    SDL_Color foreground = { 255, 255, 255, 0 };

    SDL_Surface *textSurface = TTF_RenderText(font, str, foreground, background);
    SDL_Rect textLocation = { 0 + camera.x, 0 + camera.y + debug_line_num * 25, len, 25 };
    SDL_Texture *text = SDL_CreateTextureFromSurface(renderer, textSurface);
    renderToBuffer(renderer, text, NULL, &textLocation);

    debug_line_num++;
}
Exemplo n.º 2
0
void draw(int deltaTimeMs)
{
    float deltaTimeS = (float) deltaTimeMs / 1000;
    float fps = (float) 1.0 / deltaTimeS;

    renderToBuffer(renderer, map_tex, NULL, &map_rect);

    for (int i = 0; i < MAX_ENTITIES; i++) {
        if (entities[i] != NULL)
            rendererEntity(renderer, entities[i]);
    }

    SDL_Color background = { 0, 0, 0, 0 };
    SDL_Color foreground = { 255, 255, 255, 0 };

    char str[10];
    sprintf(str, "%3.2f fps", fps);
    SDL_Surface *textSurface = TTF_RenderText(font, str, foreground, background);
    SDL_Rect textLocation = { 0 + camera.x, 0 + camera.y, 50, 25 };
    SDL_Texture *text = SDL_CreateTextureFromSurface(renderer, textSurface);
    renderToBuffer(renderer, text, NULL, &textLocation);
}
Exemplo n.º 3
0
void draw(int deltaTimeMs)
{
    float deltaTimeS = (float) deltaTimeMs / 1000;
    float fps = (float) 1.0 / deltaTimeS;

    debug_line_num = 0;

    renderToBuffer(renderer, map_tex, NULL, &map_rect);

    for (int i = 0; i < MAX_ENTITIES; i++) {
        if (entities[i] != NULL)
            renderEntity(renderer, entities[i], (int[3])WORLD_COLOR_HARD);
    }

    char str[10];
    sprintf(str, "%3.2f fps", fps);
    draw_debug_line(str, 50);

    sprintf(str, "x: %d y: %d", mouse_x, mouse_y);
    draw_debug_line(str, 80);

    sprintf(str, "px: %2.0f py: %2.0f", character->x, character->y);
    draw_debug_line(str, 80);

    sprintf(str, "angle: %3.4f", character->torso_angle);
    draw_debug_line(str, 100);

    sprintf(str, "cx: %d cy: %d", camera.x, camera.y);
    draw_debug_line(str, 80);

    sprintf(str, "mx: %d my: %d", map_rect.x, map_rect.y);
    draw_debug_line(str, 80);

    sprintf(str, "dx: %3.1f dy: %3.1f", deltaX, deltaY);
    draw_debug_line(str, 100);

    double x = character->x + 32;
    double y = character->y + 32;
    SDL_RenderDrawLine(renderer, x, y, mouse_x, mouse_y);
    SDL_RenderDrawLine(renderer, x, y, mouse_x, y);
    SDL_RenderDrawLine(renderer, mouse_x, y, mouse_x, mouse_y);
    SDL_RenderDrawLine(renderer, x, y, x, mouse_y);
    SDL_RenderDrawLine(renderer, x, mouse_y, mouse_x, mouse_y);
}