Aller au contenu

Bienvenue sur le Forum Gueux
Enregistrez vous maintenant pour bénéficier de l'ensemble des fonctionnalités. Une fois enregistré et connecté, vous pourrez créer des sujets, répondre aux sujets existant, profiter d'un système de messagerie privée, gérer votre profil et bien plus encore. Si vous possédez déjà un compte, connectez-vous ici - ou bien créez un compte gratuitement!

Photo

Mon 1er Programme Avec Sdlx


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1
sorry

sorry

    Membre

  • Membres
  • PipPip
  • 81 messages
Salut,

Apres une installation du xdk et SDL difficile mais achevée, je me lance dans le programme.
Je commence donc pas un petit bout de code censé afficher un bmp.

Le test.bmp se trouve dans le meme dossier que le default.xbe

Voici le code :

#include "SDL/include/SDL.h"



int main()

{

	if ( SDL_Init ( SDL_INIT_VIDEO ) < 0 )

	{

    SDL_Quit();

	}

	else

	{

  SDL_Surface *screen;



  screen = SDL_SetVideoMode(640,480,16,SDL_SWSURFACE);

  if ( screen == NULL )

  {

  	SDL_Quit();

  }

  else

  {

  	SDL_Surface *image;

  	SDL_Rect buffer;



  	image = SDL_LoadBMP("test.bmp");

  	if ( image == NULL )

  	{

    SDL_Quit();

  	}

  	else

  	{

    buffer.x = 10;

    buffer.y = 10;

    buffer.w = image->w;

    buffer.h = image->h;

    SDL_BlitSurface(image,NULL,screen,&buffer);



    SDL_UpdateRects(screen,1,&buffer);

  	}

  }

	}

	SDL_Quit();

	return 0;

}

La compil' passe impec, je transfere le .xbe obtenue dans le repertoire F:/Games/Test/ de ma xbox (je n'oublie pas le test.bmp dans le meme repertoire).
Je reboot la console, je lance mon prog' et là ecran noir...pas de joli sprite crying

Pourtant il y a quelques mois j'avais un peu bossé SDL sous linux...
Voila donc je vois pas le probleme car sur PC je pense que ce code fonctionne.

Merci pour votre aide
Sorry

#2
jago138

jago138

    Membre Avancé

  • Membres
  • PipPipPip
  • 564 messages
tu as oublié de patché ton xbe ^_^

#3
KaMbiOkIkA

KaMbiOkIkA

    Master Gueux

  • Anciens
  • PipPipPipPipPip
  • 1665 messages
  • Location:Lille - France
  • : KaMbiOKIkA
Salut,

Tu as surtout oublié de lire les docs du XDK... :rolleyes:

remplace ca

image = SDL_LoadBMP("test.bmp");

par

image = SDL_LoadBMP("D:\\test.bmp");


Les chemins relatifs n'existent pas sur XBox, cela fait parti des quelques différences avec le PC.
Avec un bios debug, le D:\ est le répertoire de ton .xbe, avec un bios retail, c'est le lecteur DVD.

++

#4
sorry

sorry

    Membre

  • Membres
  • PipPip
  • 81 messages
ok merci c'est bon je vois la bitmap maintenant, en revanche le prog ne quitte pas ;)

#5
KaMbiOkIkA

KaMbiOkIkA

    Master Gueux

  • Anciens
  • PipPipPipPipPip
  • 1665 messages
  • Location:Lille - France
  • : KaMbiOKIkA
Salut,

Non mais c'est normal. Tu n'as vraiment pas bien lu les docs du XDK...
La XBox est monotache en éxécution d'éxécutable, pour quitter un programme et revenir au dashboard derrière il faut lancer un xbe dont le chemin est "".
Cherche dans les docs LaunchXBE, tu verras c'est détailler.

++

#6
sorry

sorry

    Membre

  • Membres
  • PipPip
  • 81 messages
OK c'est vrai j'avoue je ne les ai pas (encore) lu.
Mais je vais le faire !

Merci de ton aide

#7
sorry

sorry

    Membre

  • Membres
  • PipPip
  • 81 messages
J'ai trouvé cette fonction :
DWORD XLaunchNewImage(

  LPCSTR  lpImagePath,

  PLAUNCH_DATA  pLaunchData

);