commit
de9b79fea5
@ -0,0 +1,13 @@
|
||||
#ifndef MENU_CONNECTION_INCLUDED
|
||||
#define MENU_CONNECTION_INCLUDED
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <string.h>
|
||||
#include "engine/Button.h"
|
||||
#include "engine/TextLabel.h"
|
||||
#include "engine/TextInput.h"
|
||||
#include "engine/FontUtils.h"
|
||||
|
||||
bool drawMenuConnection(const SDL_Renderer* renderer, TTF_Font* font, int w, int h);
|
||||
|
||||
#endif
|
@ -0,0 +1,4 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
bool drawGameCreationMenu(SDL_Renderer* renderer, TTF_Font* font, int width, int height);
|
@ -1,10 +0,0 @@
|
||||
#ifndef MENU_CONNECTION_INCLUDED
|
||||
#define MENU_CONNECTION_INCLUDED
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <string.h>
|
||||
#include "engine/Button.h"
|
||||
|
||||
bool drawMenuConnection(const SDL_Renderer* renderer);
|
||||
|
||||
#endif
|
@ -0,0 +1,10 @@
|
||||
#ifndef MENU_FIN_INCLUDED
|
||||
#define MENU_FIN_INCLUDED
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include "model/Player.h"
|
||||
#include "engine/FontLoader.h"
|
||||
|
||||
void drawEndGameMenu(SDL_Renderer* renderer, const Player players[], const size_t nbPlayers, const SDL_Rect* rect, FontHandler* fontHandler);
|
||||
|
||||
#endif // MENU_FIN_INCLUDED
|
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* \file Settings.h
|
||||
* \brief Settings view
|
||||
* \author Théotime Maillarbaux
|
||||
* \date 24/01/2022
|
||||
*/
|
||||
|
||||
#ifndef SETTINGS_H
|
||||
#define SETTINGS_H
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include <SDL2/SDL_mixer.h>
|
||||
#include "engine/AudioHandler.h"
|
||||
#include "engine/Button.h"
|
||||
#include <stdbool.h>
|
||||
#include "engine/TextureLoader.h"
|
||||
#include <SDL2/SDL_ttf.h>
|
||||
#include "engine/TextLabel.h"
|
||||
|
||||
/**
|
||||
* \brief Generates a settings view
|
||||
* \param[in] renderer The used SDL_Renderer
|
||||
* \param[in] ah The AudioHandler in use
|
||||
* \return true if the view could be generated, else false
|
||||
*/
|
||||
bool settingsView(SDL_Renderer* renderer, AudioHandler* ah);
|
||||
|
||||
|
||||
#endif // SETTINGS_H
|
@ -0,0 +1 @@
|
||||
./curvilingus/Curvilingus.TTF
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
Free font by Tup Wanders
|
||||
http://www.tupwanders.nl
|
||||
|
||||
Licensed with a Creative Commons attribution license.
|
||||
|
||||
If you add to the font, please send me a copy! If you've made fun stuff with the font that you would like to show me, please send me that as well. I like that.
|
||||
|
||||
Have fun,
|
||||
Tuppus
|
||||
tupwanders@tupwanders.nl
|
||||
|
||||
If this font suddenly makes you feel like spending huge amounts of money, please do so by going to Paypal and transferring your fortune to tupwanders@tupwanders.nl
|
||||
And if this font suddenly makes feel like spending small or fairly large amounts of money, you can do that via Paypal as well.
|
||||
|
||||
More fonts here:
|
||||
http://www.dafont.com/tup-wanders.d2245
|
@ -0,0 +1,41 @@
|
||||
#include "view/ConnectionMenu.h"
|
||||
|
||||
bool drawMenuConnection(const SDL_Renderer* renderer, TTF_Font* font, int w, int h)
|
||||
{
|
||||
if(font == NULL)
|
||||
{
|
||||
fprintf(stderr, "WARNING: Font can't be null\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
TextInput pseudoInput;
|
||||
P_Button connectionButton;
|
||||
|
||||
SDL_Color black = {255,255,255,255};
|
||||
SDL_Rect pseudoInputRect = {50, h*0.35, 50, 20};
|
||||
|
||||
char title[] = "Connexion";
|
||||
SDL_Point titlePos = {.x=w*0.05, .y=h*0.1};
|
||||
TextLabel titleLabel = createTextLabel(title, &titlePos, &black, font, renderer);
|
||||
|
||||
char pseudoText[] = "Pseudonyme: ";
|
||||
SDL_Point pseudoPos = {.x=w*0.05, .y=h*0.35};
|
||||
TextLabel pseudoLabel = createTextLabel(pseudoText, &pseudoPos, &black, font, renderer);
|
||||
|
||||
char colorText[] = "Couleur: ";
|
||||
SDL_Point colorPos = {.x=w*0.05, .y=h*0.55};
|
||||
TextLabel colorLabel = createTextLabel(colorText, &colorPos, &black, font, renderer);
|
||||
|
||||
if(!initTextInput(&pseudoInput, &pseudoInputRect, NULL, font))
|
||||
{
|
||||
fprintf(stderr, "WARNING: Can't init TextInput\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
drawTextLabel(renderer, &titleLabel);
|
||||
drawTextLabel(renderer, &pseudoLabel);
|
||||
drawTextLabel(renderer, &colorLabel);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
#include "view/MenuConnection.h"
|
||||
|
||||
bool drawMenuConnection(const SDL_Renderer* renderer)
|
||||
{
|
||||
const char title[] = "Connexion";
|
||||
const unsigned int titleHeightPercetange = 8;
|
||||
|
||||
const char pseudoLabel[] = "Pseudonyme: ";
|
||||
const unsigned int pseudoLabelHeightPercentage = 16;
|
||||
|
||||
const char colorLabel[] = "Couleur: ";
|
||||
const unsigned int colorLabelHeihetPercentage = 18;
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
#include "view/MenuEndGame.h"
|
||||
#include <SDL2/SDL_ttf.h>
|
||||
#include "engine/TextLabel.h"
|
||||
|
||||
void drawEndGameMenu(SDL_Renderer* renderer, const Player players[], const size_t nbPlayers, const SDL_Rect* rect, FontHandler* fontHandler) {
|
||||
|
||||
SDL_SetRenderDrawColor(renderer, 220,220,220,255);
|
||||
SDL_RenderFillRect(renderer, rect);
|
||||
|
||||
{ // Titre
|
||||
SDL_Point pos = {rect->x+rect->w/2, rect->y+rect->h/100};
|
||||
SDL_Color color = {0,0,0,0};
|
||||
|
||||
TextLabel titre = createTextLabel("Scores", &pos, &color, fontHandler->fonts[FONT_retro], renderer, POSX_CENTER, POSY_TOP);
|
||||
|
||||
drawTextLabel(renderer, &titre);
|
||||
|
||||
freeTextLabel(&titre);
|
||||
}
|
||||
|
||||
{// Joueurs
|
||||
char* text;
|
||||
for (size_t i=0; i<nbPlayers; ++i) {
|
||||
SDL_Point pos = {rect->x+rect->w*0.05, rect->y+(players[i].rank+1)*rect->h/10+rect->y+rect->h/100};
|
||||
SDL_Color color = {0,0,0,0};
|
||||
|
||||
text = (char*) realloc(text, sizeof(char)*(4+strlen(players[i].pseudo)));// potentialy one character wider than necesarry
|
||||
sprintf(text, "%ld. %s", i, players[i].pseudo);
|
||||
|
||||
TextLabel joueur = createTextLabel(text, &pos, &color, fontHandler->fonts[FONT_retro], renderer, POSX_LEFT, POSY_TOP);
|
||||
|
||||
drawTextLabel(renderer, &joueur);
|
||||
|
||||
freeTextLabel(&joueur);
|
||||
|
||||
pos.x = rect->x+rect->w*0.95;
|
||||
text = (char*) realloc(text, sizeof(char*) * 10);
|
||||
sprintf(text, "Tour: %d", players[i].eliminationTurn);
|
||||
joueur = createTextLabel(text, &pos, &color, fontHandler->fonts[FONT_retro], renderer, POSX_RIGHT, POSY_TOP);
|
||||
drawTextLabel(renderer, &joueur);
|
||||
freeTextLabel(&joueur);
|
||||
}
|
||||
free(text);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,162 @@
|
||||
#include "view/Settings.h"
|
||||
|
||||
// Local functions
|
||||
|
||||
typedef struct {
|
||||
TTF_Font* font;
|
||||
SDL_Texture* textures[4];
|
||||
TextLabel* labels[4];
|
||||
} Components;
|
||||
|
||||
void reduceMasterVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->masterVol > 0) {
|
||||
changeMasterVol(ah,ah->masterVol - 1);
|
||||
}
|
||||
}
|
||||
|
||||
void increaseMasterVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->masterVol < 10) {
|
||||
changeMasterVol(ah,ah->masterVol + 1);
|
||||
}
|
||||
}
|
||||
|
||||
void reduceMusicVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->volMusic > 0) {
|
||||
changeMusicVol(ah,ah->volMusic - 10);
|
||||
}
|
||||
}
|
||||
|
||||
void increaseMusicVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->volMusic < 100) {
|
||||
changeMusicVol(ah,ah->volMusic + 10);
|
||||
}
|
||||
}
|
||||
|
||||
void reduceSFXVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->volSFX > 0) {
|
||||
changeSFXVol(ah,ah->volSFX - 10);
|
||||
}
|
||||
}
|
||||
|
||||
void increaseSFXVol(P_Button* caller) {
|
||||
AudioHandler* ah = (AudioHandler*) caller->arg;
|
||||
if (ah->volSFX < 100) {
|
||||
changeSFXVol(ah,ah->volSFX + 10);
|
||||
}
|
||||
}
|
||||
|
||||
void destroyView(P_Button* caller) {
|
||||
Components* components = (Components*) caller->arg;
|
||||
TTF_CloseFont(components->font);
|
||||
|
||||
for (int i = 3; i >= 0; i--) {
|
||||
if (components->textures[i] != NULL) {
|
||||
SDL_DestroyTexture(components->textures[i]);
|
||||
}
|
||||
if (components->labels[i] != NULL) {
|
||||
freeTextLabel(components->labels[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Global functions
|
||||
|
||||
bool settingsView(SDL_Renderer* renderer, AudioHandler* ah) {
|
||||
SDL_Texture* textures[4];
|
||||
TextLabel* labels[4];
|
||||
SDL_Rect bg = {150,0,450,600};
|
||||
SDL_Rect title = {150,0,450,50};
|
||||
SDL_Rect masterVol = {150,50,450,100};
|
||||
SDL_Rect volMusic = {150,150,450,200};
|
||||
SDL_Rect volSFX = {150,250,450,300};
|
||||
SDL_Point titlePoint = {150,50};
|
||||
SDL_Point masterVolPoint = {150,100};
|
||||
SDL_Point volMusicPoint = {150,200};
|
||||
SDL_Point volSFXPoint = {150,300};
|
||||
int font_size = 50;
|
||||
int size = font_size*100/88;
|
||||
TTF_Font* font = TTF_OpenFont("../../rsrc/font/retro/retro.TTF", size);
|
||||
SDL_Color cyan = {24, 174, 219, 255};
|
||||
SDL_Color black = {0,0,0,255};
|
||||
P_Button button;
|
||||
int sizex[3];
|
||||
int sizey[3];
|
||||
|
||||
textures[0] = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET,300,600);
|
||||
textures[1] = createGenericButtonTexture("-",font,font_size,black,cyan,0,3,&sizex[0],&sizey[0],renderer);
|
||||
textures[2] = createGenericButtonTexture("+",font,font_size,black,cyan,0,3,&sizex[1],&sizey[1],renderer);
|
||||
|
||||
textures[3] = createGenericButtonTexture("Retour",font,font_size,black,cyan,0,3,&sizex[2],&sizey[2],renderer);
|
||||
|
||||
if (0 != SDL_SetRenderTarget(renderer,textures[0])) {
|
||||
// TODO destroyTexture
|
||||
return false;
|
||||
}
|
||||
|
||||
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); // white
|
||||
SDL_RenderFillRect(renderer,&bg);
|
||||
|
||||
SDL_SetRenderDrawColor(renderer, cyan.r, cyan.g, cyan.b, cyan.a); // cyan
|
||||
SDL_RenderFillRect(renderer,&title);
|
||||
SDL_RenderFillRect(renderer,&masterVol);
|
||||
SDL_RenderFillRect(renderer,&volMusic);
|
||||
SDL_RenderFillRect(renderer,&volSFX);
|
||||
|
||||
*labels[0] = createTextLabel("Volume", &titlePoint, &black,font,renderer,POSX_CENTER,POSY_CENTER);
|
||||
*labels[1] = createTextLabel("Principal", &masterVolPoint,&black,font,renderer,POSX_CENTER,POSY_CENTER);
|
||||
*labels[2] = createTextLabel("Musique", &volMusicPoint, &black,font,renderer,POSX_CENTER,POSY_CENTER);
|
||||
*labels[3] = createTextLabel("Effets spéciaux",&volSFXPoint, &black,font,renderer,POSX_CENTER,POSY_CENTER);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
drawTextLabel(renderer,labels[i]);
|
||||
}
|
||||
|
||||
button = createButton(textures[1],textures[1],150,100,sizex[0],sizey[0],&reduceMasterVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[2],textures[2],400,100,sizex[1],sizey[1],&increaseMasterVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[1],textures[1],150,200,sizex[0],sizey[0],&reduceMusicVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[2],textures[2],400,200,sizex[1],sizey[1],&increaseMusicVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[1],textures[1],150,300,sizex[0],sizey[0],&reduceSFXVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[2],textures[2],400,300,sizex[1],sizey[1],&increaseSFXVol);
|
||||
button.arg = (void*) ah;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
button = createButton(textures[3],textures[3],150,500,sizex[2],sizey[2],&destroyView);
|
||||
Components components = {
|
||||
.font = font,
|
||||
.textures = textures,
|
||||
.labels = labels
|
||||
};
|
||||
button.arg = (void*) &components;
|
||||
if (!drawButtonOnRenderer(renderer,&button)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,98 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include <stdio.h>
|
||||
#include "view/ConnectionMenu.h"
|
||||
#include "engine/FontLoader.h"
|
||||
#include "engine/TextInput.h"
|
||||
|
||||
int testConnectionMenu(void) {
|
||||
SDL_Window *window = NULL;
|
||||
SDL_Renderer *renderer = NULL;
|
||||
SDL_Texture* picture;
|
||||
TextInput textInput;
|
||||
int statut = EXIT_FAILURE;
|
||||
char* path = "rsrc/img/Lenna.png";
|
||||
int i=0;
|
||||
int w, h;
|
||||
if(0 != SDL_Init(SDL_INIT_VIDEO))
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_INIT: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//fenetre
|
||||
window = SDL_CreateWindow("Fenêtre", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640,480, SDL_WINDOW_SHOWN);
|
||||
if(window == NULL)
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_CreateWindow: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//rendu
|
||||
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
|
||||
if(renderer == NULL)
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_CreateRenderer: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//Fonts
|
||||
if(TTF_Init() == -1)
|
||||
{
|
||||
fprintf(stderr, "Erreur: TTF_Init: %s\n", TTF_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_SetRenderDrawColor(renderer, 0,0,0,0)) //choisi la couleur avec laquelle travailler
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_RenderClear(renderer)) //efface le rendu en le repeignant avec la couleur choisi
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_SetRenderDrawColor(renderer, 255,255,255,255)) //choisi la couleur avec laquelle travailler
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
|
||||
SDL_bool quit = SDL_FALSE;
|
||||
SDL_Event event;
|
||||
|
||||
FontHandler fontHandler = loadFonts();
|
||||
|
||||
SDL_GetWindowSize(window, &w, &h);
|
||||
while(!quit)
|
||||
{
|
||||
while(SDL_PollEvent(&event))
|
||||
{
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
quit = SDL_TRUE;
|
||||
break;
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
break;
|
||||
}
|
||||
}
|
||||
drawMenuConnection(renderer, fontHandler.fonts[FONT_retro], w, h);
|
||||
SDL_RenderPresent(renderer);
|
||||
|
||||
SDL_Delay(20);
|
||||
}
|
||||
|
||||
Quit:
|
||||
freeFonts(fontHandler);
|
||||
if(renderer != NULL)
|
||||
SDL_DestroyRenderer(renderer);
|
||||
if(window != NULL)
|
||||
SDL_DestroyWindow(window);
|
||||
TTF_Quit();
|
||||
SDL_Quit();
|
||||
return statut;
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
|
||||
|
||||
#include "view/MenuEndGame.h"
|
||||
#include "engine/FontLoader.h"
|
||||
#include "model/Player.h"
|
||||
|
||||
void testMenuEndGame() {
|
||||
SDL_Window *window = NULL;
|
||||
SDL_Renderer *renderer = NULL;
|
||||
SDL_Texture* picture;
|
||||
int statut = EXIT_FAILURE;
|
||||
int i=0;
|
||||
|
||||
if(0 != SDL_Init(SDL_INIT_VIDEO))
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_INIT: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//fenetre
|
||||
window = SDL_CreateWindow("Fenêtre", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640,480, SDL_WINDOW_SHOWN);
|
||||
if(window == NULL)
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_CreateWindow: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//rendu
|
||||
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
|
||||
if(renderer == NULL)
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_CreateRenderer: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
//Fonts
|
||||
if(TTF_Init() == -1)
|
||||
{
|
||||
fprintf(stderr, "Erreur: TTF_Init: %s\n", TTF_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_SetRenderDrawColor(renderer, 0,0,0,0)) //choisi la couleur avec laquelle travailler
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_RenderClear(renderer)) //efface le rendu en le repeignant avec la couleur choisi
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
if(0 != SDL_SetRenderDrawColor(renderer, 255,255,255,255)) //choisi la couleur avec laquelle travailler
|
||||
{
|
||||
fprintf(stderr, "Erreur SDL_SetRenderDrawColor: %s\n", SDL_GetError());
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
SDL_bool quit = SDL_FALSE;
|
||||
SDL_Event event;
|
||||
|
||||
FontHandler fontHandler = loadFonts();
|
||||
|
||||
SDL_RenderPresent(renderer);
|
||||
while(!quit)
|
||||
{
|
||||
while(SDL_PollEvent(&event))
|
||||
{
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
quit = SDL_TRUE;
|
||||
break;
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
break;
|
||||
}
|
||||
}
|
||||
SDL_SetRenderDrawColor(renderer, 255,255,255,255);
|
||||
SDL_RenderClear(renderer);
|
||||
|
||||
SDL_Rect rect = {.x=20, .y=0, .w=300, .h=480};
|
||||
SDL_Color color = {0,0,0,0};
|
||||
Player players[] = {newPlayer("Bépo", color), newPlayer("Azerty", color)};
|
||||
players[0].eliminationTurn = 10;
|
||||
players[1].eliminationTurn = 10;
|
||||
players[0].rank = 1;
|
||||
players[1].rank = 2;
|
||||
drawEndGameMenu(renderer, players, 2, &rect, &fontHandler);
|
||||
|
||||
SDL_RenderPresent(renderer);
|
||||
SDL_Delay(500);
|
||||
++i;
|
||||
|
||||
SDL_Delay(20);
|
||||
}
|
||||
|
||||
Quit:
|
||||
freeFonts(fontHandler);
|
||||
if(renderer != NULL)
|
||||
SDL_DestroyRenderer(renderer);
|
||||
if(window != NULL)
|
||||
SDL_DestroyWindow(window);
|
||||
TTF_Quit();
|
||||
SDL_Quit();
|
||||
}
|
||||
|
Loading…
Reference in new issue