CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Segfault SDL_TTF wtf...

TheLittleRobear
TheLittleRobear
Niveau 10
04 avril 2012 à 19:37:24

Bonsoir, j'ai un segfault dans mon code :

void Game(SDL_Surface *screen, int *run)
{
/*Déclaration des variables*/
TabOfMap tabOfMap[iTab][jTab] = {0};
TTF_Font *typeface = TTF_OpenFont("angelina.ttf", 65);
SDL_Surface *background = initialiseBackground("map.png"), *text = NULL;
SDL_Color colorBlack = {0, 0, 0};
SDL_Rect posScore;
char score[20] = "";
Character character;
Res res;
Anim tabOfAnim[100];
int lastTimer = 0, timer = 0, firstTimerScore = 0, timerScore = 0, lastTimerScore = 0, i = 0, j = 0;
Input in;

/*Chargement génération aléatoire*/
srand(time(0));

/*Chargement du tableau d'animation*/
LoadTabAnim(tabOfAnim);

/*Attribution de valeurs aux variables*/
memset(&in,0,sizeof(in));

/*Information sur la résolution & co enregistré*/
GetResolution(&res);

/*Définition des propriétés des tiles de la carte*/
PropsMap(tabOfMap);

/*Initialisation du personnage principal*/
InitialiseCharacter(&character);

/*Premire initialisation du framerate*/
lastTimer = SDL_GetTicks();

firstTimerScore = SDL_GetTicks();

while (*run)
{
/*Gestion du clavier*/
UpdateEvents(&in);

timer = SDL_GetTicks();
/*Affichage du fond d'écran*/
DisplayBackground(screen, &background);

/*Deplacement du personnage principal*/
MoveCharacter(&character, tabOfMap, &in);

AnimCharacter(&in, &character, tabOfAnim);

GenerateHole(tabOfMap, tabOfAnim);

CreateAnimHole(tabOfMap, tabOfAnim);

/*Affichage des trous & Animation des trous*/
DisplayHole(screen, tabOfMap);

/*Affichage du personnage principal*/
DisplayCharacter(screen, &character);

SwitchBeforeHToHole(tabOfMap, tabOfAnim);

/*Score*/
sprintf(score, "%d", timer - firstTimerScore);
SDL_FreeSurface(text);
text = TTF_RenderText_Blended(typeface, score, colorBlack);
posScore.w = STANDARD_W_RES - text->w;
posScore.h = STANDARD_H_RES - text->h;
SDL_BlitSurface(text, NULL, screen, &posScore);

/*Gestion du framerate*/
timer = SDL_GetTicks() - lastTimer;
if (timer < 1000/FPS) SDL_Delay(1000/FPS - timer);
lastTimer = SDL_GetTicks(); /*Ré-initialisation*/

/*Flip de l'écran*/
SDL_Flip(screen);

/*Gestion de la fermeture du jeu*/
if(in.key[SDLK_ESCAPE] || in.quit)
{
*run = 0; /*Pour quitter le jeu partout*/
TTF_CloseFont(typeface);
SDL_FreeSurface(background); /*Free surface : background*/
for (i = 0; i < CRTI; i ++)
FreeAnim(&tabOfAnim[i]);
}
}
}

La ligne responsable est : text = TTF_RenderText_Blended(typeface, score, colorBlack);

Je ne comprend pas pourquoi...

:merci:

Aldebran
Aldebran
Niveau 10
04 avril 2012 à 20:08:52

Vérifie que typeface ne vaut pas NULL.

TheLittleRobear
TheLittleRobear
Niveau 10
04 avril 2012 à 20:29:54

C'est bon résolu erreur bête :hap:

hapliniste
hapliniste
Niveau 9
04 avril 2012 à 21:31:14

stop de poster tous tes segfault sur le net :hap: il faut apprendre à chercher 5 min et à trouver :ok:

Parceque bon, ça doit être la 10eme fois que je te voit demander de l'aide pour un segfault (ici ou ailleur :noel: )

Aldebran
Aldebran
Niveau 10
04 avril 2012 à 22:40:37

"C'est bon résolu erreur bête :hap: "

Quand tu résout un bug dans ton code, pense à expliquer en détail ce que tu as changé pour que ça marche, ça servira aux futurs forumeurs qui pourraient tomber sur ton topic en faisant une recherche.

TheLittleRobear
TheLittleRobear
Niveau 10
05 avril 2012 à 22:05:59

J'avais mis le mauvais nom de police :hap:

Hapliniste j'en est poste 2 sur ce forum, il y a longtemps...

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment