sábado, 12 de septiembre de 2009

Hoy no hay sample :(

Pues eso hoy no hay sample y cada sample se publicara cada 3 dias por motivos personales y un proyecto entre manos. espero que lo entendais.

Un saludo TeTe67

viernes, 11 de septiembre de 2009

Sample[c] Cronometro

Hola aqui hoy os traigo un sample cronometro ;)

Descargalo desde aquí con todo listo para compilar :

http://rapidshare.com/files/278523470/Sample_cronometro_By_tete67.zip.html

---------------------------------------------------------------

MAIN.C

////////////////////////////////////////////
// //
//Sample Cronometro del TT-System TeTe67//
//autor: tete67 //
//fecha: 11/9/2009 //
// Team FGY //
///////////////////////////////////////

//Separo los < > porque si no no aparecen en el blog al compilar juntar
#include <>//Libreria de los botones
#include <>//libreria basica
#include <>//Libreria basica

PSP_MODULE_INFO("Sample cronometro", 0, 0, 1);// version y nombre de la aplicacion
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);//Modo para que funcione en CF 3xx 4xx 5xx
PSP_HEAP_SIZE_KB(2*1024);
//Callbacks (sirve para salir con el boton home de una aplicacion)
int runningFlag = 1;
/* salida*/
int exit_callback(int arg1, int arg2, void *common) {
runningFlag = 0;
return 0;
}

/* thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}


int SetupCallbacks(void) {
int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, PSP_THREAD_ATTR_USER, 0);
if(thid >= 0)
sceKernelStartThread(thid, 0, 0);
return thid;
}

//Fin callbacks



//Define

#define escribir pspDebugScreenPrintf //En este definimos escribir para definir pspDebugScreenPrintf
#define RGB(r, g, b) ((b << samplecontador="0;//variable" samplecontador =" 0;">= 0; SampleContador++)
//ese es lo que hace funcionar el contador le indica que mientras tengo el valor 0 tiene que seguir
{//Abrimos
Cronometro();
SetupCallbacks();
}//cerramos
}//cerramos
}//y vuelta a cerrar xD
sceKernelExitGame(); //Salida al XMB
return 0;//lo que hacemos siempre al acabar el main
}//y cerramos el main


---------------------------------------------------------------


MAKEFILE

TARGET = Sample_cronometro_By_tete67
OBJS = main.o

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

EXTRA_TARGETS = EBOOT.PBP

LIBS =

PSP_EBOOT_TITLE = Sample cronometro By tete67



PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
---------------------------------------------------------------
Saludoss!

jueves, 10 de septiembre de 2009

[Tutorial C] Registro de nombre

Otro sample sencillo de hacer y explicado al 100%
---------------------------------------------------------------
Descargar el sample:
http://rapidshare.com/files/278105864/registro_de_nombre_By_tete67.rar.html

---------------------------------------------------------------
MAIN.C


#include <>//Librerias basicas que lleva todos los homebrews
//separamos los < > porque no nos deja ponerlos juntos ;)
#include <>
#include <>//libreria para el registroo :)

PSP_MODULE_INFO("Lectura de registro by TeTe67", 0, 1, 0);//Nombre y version de la aplicacion
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);//Para que se puede ejecutar en cualquier CF 3xx 4xx 5xx

#define printf pspDebugScreenPrintf //definimos pspdebugscreenprintf como printf para que se haga mas corto

char nickname[32];//almacena el nombre e identifica los caractes quee tiene ya que solo se pueden poner 32 caracteres

int main()//Funcion principal
{//iniciamos
pspDebugScreenInit();//explicado en otro sample
sceUtilityGetSystemParamString(1, nickname, 25);//guarda en nickname el nombre el apodo

printf("Felicidades ya saves algo mas ``%s´´", nickname);//escribe en pantalla


sceKernelSleepThread();//Suspende el PSP
return 0;
}//Cierra el main

---------------------------------------------------------------

Makefile


TARGET = Sample_Tete67_Registro_nombre
OBJS = main.o

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBS = -lpspreg

EXTRA_TARGETS = EBOOT.PBP

PSP_EBOOT_TITLE = registro sample by tete67

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

miércoles, 9 de septiembre de 2009

[Tutorial C] Escribiendo sobre una imagen

este tuto os enseñare a escribir sobre una imagen y usar una Font en este ejemplo la comic sanc en negrita
es muy sencillo pero es fundamental para un homebrew
---------------------------------------------------------------
Descarga las librerias y el main.c y el makefile: http://rapidshare.com/files/277632094/escribir_sobre_imagenes_y_usar_fuente_en__C__by_tete67.rar.html
---------------------------------------------------------------
MAIN.C

/*Escribir sobre imagenes */
/*Autor: TeTe67 */
/*Fecha: 09/9/2009 */
//Librerias necesarias
#include <>// juntamos los < > de las librerias porque las tengo que separar si no no aparecen ;)
#include < pspdebug.h >
#include < pspkernel.h >
#include < png.h >
#include < pspgu.h >
#include < pspdisplay.h >
#include < pspgum.h >
#include < stdio.h >
#include "fontloader.h"//Esta es en la libreria que nos fijaremos
#include "graphics.h"//para mostrar Graficos (Imagenes)

PSP_MODULE_INFO("Escribir sobre imagenes Sample", 0 , 1 , 0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);

Image* img;//damos valores a la IMG
Font* let;//Damos valores a la Font (Letras)
//CallBacks (Sirve para hacer funcionar el boton Home)
int exit_callback(int arg1, int arg2, void *common)
{
sceKernelExitGame();
return 0;
}
int CallbackThread(SceSize args, void *argp)
{
int cbid;

cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;
}
int SetupCallbacks(void)
{
int thid = 0;

thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0)
{
sceKernelStartThread(thid, 0, 0);
}

return thid;
}
//Fin Callbacks

//Empieza el Main
int main()//Fucion principal
{//abrimos para definir
pspDebugScreenInit();//Inicia la pantalla en modo debug
initGraphics();//Inicia los graficosz
SetupCallbacks();//Inicia las CallBacks
char buffer[200];//Crea un buffer de 200 mas no poruqe no hace falta
sprintf(buffer, "Imagen.png");//Indicamos imagen para que la cargue
img = loadImage(buffer); //Imagen almacenada en el buffer
sceDisplayWaitVblankStart();
blitAlphaImageToScreen(0 ,0 ,480 , 272, img, 0, 0); //Colocamos la imagen en pantalla con las coordenadas
flipScreen();// le damos la vuelta a la pantalla
let=Font_Load("fuente.ttf");//Carga la fuente font.ttf en el puntero let
Font_SetSize(let ,20);//Establece el tamaño de let

while(1)//abre bucle
{//Abre para hacer las funciones
blitAlphaImageToScreen(0 ,0 ,480 , 272, img, 0, 0);
Font_Print_Image(let, 20, 50, "El sample ha funcionado con Exito", GU_RGBA(255, 255, 0, 255 ), img);//Imprime encima de la imagen con la fuente let en color verde sobre la imagen img
Font_Print_Image(let, 100, 200, "[www.todopsp.com]", GU_RGBA(255, 255, 0, 255 ), img);
sceDisplayWaitVblankStart();
flipScreen();//Le da la vuelta a la pantalla
}//Cierra el bucle
sceKernelSleepThread();//te lo deja en modo suspension
return 0;//Si todo a funcionado vien te dara un retornara a un 0
}//Cierra el Main y acaba todo a COMPILAR![/code]

---------------------------------------------------------------
MAKEFILE


[code]TARGET = Font_Tete67
OBJS = main.o graphics.o framebuffer.o fontloader.o

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

EXTRA_TARGETS = EBOOT.PBP

LIBS = -lpspgu -lpng -lz -lm -lpspdisplay -lpspgum -lfreetype

PSP_EBOOT_TITLE = Escribir sobre imagenes Sample

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

Bienvenida del Team FGY

Bienvenidos al Blog del Team FGY donde podras aprender programacion en C y Diseño Grafico
y donde se expondran todos nuestros proyectos.

Aqui está la lista de mienbros del Team FGY:

~~Programación~~

*TeTe67

*Heeccttoor

~~Diseño Grafico~~

*Joy

*

~~Beta Testers~~

*Plancarte