Mon Premier Xex


80Y
 Share

Messages recommandés

Bonsoir à tous,

Comme vous le savez depuis peu il est possible de lancer du code non signée sur console Retail

De quoi faire des heureux ;)

Fort de cette trouvaille, j'ai décidé de coder et de m'initier au C/C++

J'ai donc créé mon XEX de nooob, c'est à dire affichage de texte et commande pour quitter l'executable, une sorte de Helloworld (sans faille lol)

voici le code source complet ;)

// My first useless demo lol/*	Author : 80Y	Coded with XDK (7978)	Compiled with Visual Studio 2008	on December '09	for Gx Mod - http://gueux-forum.net/	Thanks to TheTool*/#include <Xtl.h>#include "AtgConsole.h"#include "AtgUtil.h"#include "AtgFont.h"#include "AtgDevice.h"#include "AtgResource.h"#include "AtgInput.h"#include "Xbox.h"//--------------------------------------------------------------------------------------// Custom struct showing how data can be passed from XEX to XEX. This struct// can contain any type of layout as long as the total struct size is less than// MAX_LAUNCH_DATA_SIZE. We recommend using a DWORD identifier as the first item // and setting it to something other than LAUNCH_DATA_DEMO_ID.//--------------------------------------------------------------------------------------struct CustomLaunchData{	static const DWORD MAX_COMMAND_LINE = MAX_LAUNCH_DATA_SIZE - sizeof( DWORD );	DWORD dwID;	CHAR szCommandLine[ MAX_COMMAND_LINE ];};//-------------------------------------------------// Affichage du texte//-------------------------------------------------VOID __cdecl main(){// Initialise la console	ATG::Console console;// crée la console avec ses divers paramètres (texte en BLEU sur fond GRIS)	console.Create( "game:\\Media\\Fonts\\Arial_16.xpr", 0xFF999999, 0xFF0000CC );	// affichage du texte	console.Format( "Hello World for Gx-Mod !\n"					"Coded by 80Y with XDK\n"					"Press Y + B to go back on Dashboard\n" );//-------------------------------------------------// Interaction avec la manette//-------------------------------------------------for(;; )	{// activation manette	ATG::GAMEPAD* m_pGamepad;	m_pGamepad = ATG::Input::GetMergedInput();// Passer à l'étape suivante si l'utilisateur presse Y + B ensemble	bool BYButtonsPushed = FALSE;	if( (m_pGamepad->wButtons & XINPUT_GAMEPAD_Y ) &&		(m_pGamepad->wPressedButtons & XINPUT_GAMEPAD_B ) )		BYButtonsPushed = TRUE;	if( (m_pGamepad->wButtons & XINPUT_GAMEPAD_B ) &&		(m_pGamepad->wPressedButtons & XINPUT_GAMEPAD_Y ) )		BYButtonsPushed = TRUE;	if( BYButtonsPushed )		{// commande de retour au dashboard			XLaunchNewImage(XLAUNCH_KEYWORD_DASH_ARCADE, 0);		}			}}

le code n'est certainement pas clean, mais il fonctionne bien hihihi

voici un aperçu en image

copiedephoto008q.jpg

Ceux qui souhaitent le tester, faites le moi savoir, je le met en ligne demain, là je suis cassé -> au lit ;)

Certains diront useless, d'autres diront il faut bien commencer :D

Lien corrigé : : http://www.sendspace.com/file/9arqbc

PS : big merci à TheTool, il se reconnaitra

Modifié par 80Y
Lien vers le commentaire
Partager sur d'autres sites

  • Réponses 64
  • Created
  • Dernière réponse

Top Posters In This Topic

Merci 80Y, pas encore testé (normal, faignace que tu es tu préfères aller pioncer que de nous le servir ;)), j'ai rebranché la Test Kit depuis quelques jours pour testé tous ces xex qui vont pas tarder à arriver.

Modifié par zouzzz
Lien vers le commentaire
Partager sur d'autres sites

pas là de la journée ;)

voici le fichier au format "contenu Live", soit repack avec Xlast ;)

http://www.sendspace.com/file/ar88nu

à lancer directement depuis le dashboard

Ne vous fiez pas à la taille du fichier, en effet 7 Mo c'est beaucoup pour un helloworld, mais il a été compilé avec plusieurs librairies et headers, il comprend notamment certains modules du framework

Ceux qui veulent le fichier CPP source, qu'ils me MP ;)

N'hésitez pas à me confirmer qu'il fonctionne chez vous également :D

Modifié par 80Y
Lien vers le commentaire
Partager sur d'autres sites

c'est cool ton petit xex, je trouve cela très bien que des personnes ce lance dans la prog ça permet d'apprendre et accélérer les dev's, et ça prouve aussi que la programmation de quelque soit la plate forme, n'est pas réservé au pro mais aussi au débutant.

++

nuagedan100

Modifié par nuagedan100
Lien vers le commentaire
Partager sur d'autres sites

Fonctionne chez moi également.

Question : tu utilises les fichier AtgConsole.h, AtgUtil.h, AtgFont.h, AtgDevice.h ,... ils ne font pas partie de la librairie standard (en tout cas de VS2005), s'agit-il de fichier officiel M$?

Merci

Lien vers le commentaire
Partager sur d'autres sites

Fonctionne chez moi également.

Question : tu utilises les fichier AtgConsole.h, AtgUtil.h, AtgFont.h, AtgDevice.h ,... ils ne font pas partie de la librairie standard (en tout cas de VS2005), s'agit-il de fichier officiel M$?

Merci

le 'namespace atg' est un framework fournit par microsoft avec le sdk360,

il fournit quelques fonctions sympa, a croire que microsoft l'ai pondue uniquement pour faire des homebrews :)

Lien vers le commentaire
Partager sur d'autres sites

Merci de l'info. :ok:

C'est quoi le nom exact de ce framework? J'ai essayé "using namespace ATG;", "using namespace atg;" et "using namespace Atg;" mais VS ne les reconnait pas "a namespace with this name does not exist".

Merci chinese

Lien vers le commentaire
Partager sur d'autres sites

Sa je me doute ;)

Ce que je veux savoir c'est qu'elle partie du code dois être modifié, je suppose qu'il faut ré-écrire certaine partie du code pour le rendre compatible avec la XBOX 360, enfin tout cela reste assez flou pour moi, d'ou ma question.

Car j'imagine qu'il serait trop facile de juste reprendre le code source issu de la version PC et de le recompilé avec le SDK de la 360 pour avoir un beau defaut.xex

Modifié par kogami
Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share

Annonces