Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
init.c 2.98 KiB
#include "header.h"
#include <SDL_image.h>
#include <SDL_ttf.h>

SDL_Texture *img_grassDark;
SDL_Texture *img_grassBright;
SDL_Texture *img_streetSingle;
SDL_Texture *img_streetMultiple;
SDL_Texture *img_traintrack;
SDL_Texture *img_waterBrightSingle;
SDL_Texture *img_waterBrightMultiple;
SDL_Texture *img_waterDarkSingle;
SDL_Texture *img_waterDarkMultiple;
SDL_Texture *img_finishlineBright;
SDL_Texture *img_finishlineDark;
TTF_Font* font;

int playerscore = 0;
int playerhighscore = 0;

int init(SDL_Renderer* renderer) {

    //Initiiere Text
    TTF_Init();
    //this opens a font style and sets a size
    TTF_Font* font = TTF_OpenFont("Go-Mono.ttf", 50);
        if (font == NULL) printf("Font Loading failed: %s\n", TTF_GetError());
    
    // Lade alle Bilder die benötigt werden
    img_grassDark = IMG_LoadTexture(renderer,"images/dark_grass.jpg");
    img_grassBright = IMG_LoadTexture(renderer,"images/bright_grass.jpg");
    img_streetSingle = IMG_LoadTexture(renderer,"images/single_street.jpg");
    img_streetMultiple = IMG_LoadTexture(renderer,"images/multiple_streets.jpg");
    img_traintrack =  IMG_LoadTexture(renderer,"images/train_track.jpg");
    img_waterBrightSingle = IMG_LoadTexture(renderer,"images/waterBrightSingle.jpg");
    img_waterBrightMultiple = IMG_LoadTexture(renderer,"images/waterBrightMultiple.jpg");
    img_waterDarkSingle = IMG_LoadTexture(renderer,"images/waterDarkSingle.jpg");
    img_waterDarkMultiple = IMG_LoadTexture(renderer,"images/waterDarkMultiple.jpg");
    img_finishlineBright = IMG_LoadTexture(renderer,"images/finishlineBright.jpg");
    img_finishlineDark = IMG_LoadTexture(renderer,"images/finishlineDark.jpg");

    //Initiierung der Bilder
    int flags = IMG_INIT_PNG | IMG_INIT_JPG;

    if ((IMG_Init(flags) != flags)) {
        SDL_Log("SDL_Image konnte nicht initialisiert werden! SDL_image Error: %s\n",IMG_GetError());
        return(-1);
    }

    if (img_grassDark == NULL || img_grassBright == NULL || img_streetSingle == NULL || img_streetMultiple == NULL || 
        img_traintrack == NULL || img_waterBrightSingle== NULL|| img_waterBrightMultiple == NULL || img_waterDarkSingle == NULL ||
        img_waterDarkMultiple == NULL || img_finishlineBright == NULL || img_finishlineDark == NULL) {
        SDL_Log("Bild konnte nicht geladen werden! SDL_image Error: %s\n",IMG_GetError());
        return(-1);
    }

    return 0;
}


int exitGame(SDL_Renderer* renderer, SDL_Window* window) {
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_DestroyTexture(img_grassDark);
    SDL_DestroyTexture(img_grassBright);
    SDL_DestroyTexture(img_streetSingle);
    SDL_DestroyTexture(img_streetMultiple);
    SDL_DestroyTexture(img_traintrack);
    SDL_DestroyTexture(img_waterBrightSingle);
    SDL_DestroyTexture(img_waterBrightMultiple);
    SDL_DestroyTexture(img_waterDarkSingle);
    SDL_DestroyTexture(img_waterDarkMultiple);
    SDL_DestroyTexture(img_finishlineBright);
    SDL_DestroyTexture(img_finishlineDark);

    SDL_Quit();
    return 0;
}