Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
init.c 4.71 KiB
#include "init.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;
SDL_Texture *img_coin;
SDL_Texture *img_Spielanleitung;
SDL_Texture *img_carLeft_trans; // https://www.anyrgb.com/en-clipart-szoog
SDL_Texture *img_car_trans; //https://www.anyrgb.com/en-clipart-szoog
SDL_Texture *img_trainL;    //https://www.pinterest.com/hassanhojabri/sprite/
SDL_Texture *img_trainR; //https://www.pinterest.com/hassanhojabri/sprite/
SDL_Texture *img_plank; //https://www.craiyon.com/image/_XEsXKthRYqpK8Vn6ZixAg
SDL_Texture *img_duck;
SDL_Texture *img_3D_Duck;
TTF_Font* font;

int init(SDL_Renderer* renderer) {

    //Initiiere Text
    TTF_Init();
    //this opens a font style and sets a size
    font = TTF_OpenFont("images/Go-Mono.ttf", 200);
        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");
    img_car_trans = IMG_LoadTexture(renderer,"images/new_car_trans.png"); // Quelle: https://www.anyrgb.com/en-clipart-szoog
    img_carLeft_trans = IMG_LoadTexture(renderer,"images/new_carLeft_trans.png"); 
    img_coin = IMG_LoadTexture(renderer,"images/coin.jpg");
    img_Spielanleitung = IMG_LoadTexture(renderer,"images/Spielanleitung.png");
    img_trainL = IMG_LoadTexture(renderer,"images/trainL.png"); // Quelle: https://www.pinterest.de/pin/645492559082244309/
    img_trainR = IMG_LoadTexture(renderer,"images/trainR.png"); // Quelle: https://www.pinterest.de/pin/645492559082244309/
    img_plank = IMG_LoadTexture(renderer,"images/plank.png"); // Quelle: https://www.craiyon.com/image/_XEsXKthRYqpK8Vn6ZixAg
    img_duck = IMG_LoadTexture(renderer,"images/duck.png"); 
    img_3D_Duck = IMG_LoadTexture(renderer,"images/3D_Duck.png");

     //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 ||
        img_coin == NULL || img_carLeft_trans == NULL || img_trainL == NULL || img_trainR == NULL || img_car_trans == NULL || img_plank == NULL || img_duck == NULL || img_3D_Duck == 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_DestroyTexture(img_coin);
    SDL_DestroyTexture(img_Spielanleitung);
    SDL_DestroyTexture(img_car_trans);
    SDL_DestroyTexture(img_carLeft_trans);
    SDL_DestroyTexture(img_trainL);
    SDL_DestroyTexture(img_trainR);
    SDL_DestroyTexture(img_plank);
    SDL_DestroyTexture(img_duck);
    SDL_DestroyTexture(img_3D_Duck);

    SDL_Quit();
    return 0;
}