Bueno, esta compuesto del main.c y del Makefile, necesitareis descargar las librerias desde aqui, tabien incluyo todo el Src y ell codigo compilado en este enlace:
http://www.mediafire.com/?dsdgyrs1omt - Descargar Sources
Main.c
/*
Sample Zip Unconpressor
Autor: Gladiator
Fecha: 22/5/08
*/
//Incluimos las librerias necesarias
#include <pspdebug.h>
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspsdk.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <utime.h>
#include "unzip/unzip.h"
#include "unzip/extract.h"
PSP_MODULE_INFO("Sample Zip Uncompressor", 1, 0, 0);//Establecemos el nombre y la version del homebrew
PSP_MAIN_THREAD_ATTR(0);//Establecemos el modo en el cual estara hecho el homebrew
#define Salir sceKernelExitGame//Resumimos las funciones en Salir, Color, Limpiar y Texto
#define Color pspDebugScreenSetTextColor
#define Limpiar pspDebugScreenClear
#define Texto pspDebugScreenPrintf
int CheckFile(const char *filename)//Funcion para analizar si existe el archivo, si no existe sale, si existe, lo descomprime
{// abrimos la funcion de analizar el archivo
SceUID file = sceIoOpen("Archivo.zip", PSP_O_RDONLY, 0);//abre el archivo
if (file < 0)// si el file es menor que cero, no existe
{//abrimos el if
Limpiar();//Limpia la pantalla
Color(0x0000FF);// Color Rojo
Texto("El archivo `` %s ´´ no se encuentra en su sitio, saliendo en 5 segundos...\n", filename);//Imprime Texto en pantalla, "%s" quiere decir que msotrara lo que valga "filename"
sceIoClose(file);//Al intentar abrir el archivo, si no puede al final debe cerrarlo
sceKernelDelayThread(5*1000*1000);//Retardo de 5 segundos
Salir();//Sale al Xmb
return 0;
}//Cerramos el if
else// si no es menor que cero, si existe
{//abrimos el E
Uncompress();//accede a la funcion incompress
return 1;
}//Cerramos el Else
}//Cerramos la funcion de analizar el archivo
void Uncompress(argc,argv)//nuestra funcion de descomprimir
{//Abrimos el void de descompresion
Limpiar();
Texto("Descomprimiendo Archivo, espere...");
char *zipfilename= "Archivo.zip";//Establecce el nombre y la ruta del archivo
char *password=NULL;//Establece con Null que el archivo no tiene contraseña
int opt_do_extract_withoutpath=0;
int opt_overwrite=0;
unzFile uf=NULL;
uf = unzOpen(zipfilename);
do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,NULL);
unzCloseCurrentFile(uf); // cierra el archivo una vez descomprimido
Limpiar(); //Limpia la pantalla
Texto("Archivo descomprimido con Exito!");//imprime texto en pantalla
sceKernelDelayThread(2*1000*1000);//Retardo de tiempo de 2 segundos
Salir();//Saldra cuando se completa la descompresion y pasan 2 segundos
} //Cerramos nuestra funcion Uncompress
int main()//Comenzamos a definir la funcion principal de nuestro programa, la funcion "Main"
{//Abrimos el main
pspDebugScreenInit();//Iniciamos la pantalla para poder escribir en ella
SceCtrlData currentPad, lastPad;//Creamos las variables del Pad, CurrentPad y LastPad
Color(0xc00000);//Establecemos el Color c00000 hexadecimal
Texto("Pulsa X para Salir, y O para descomprimir el archivo Zip ``Archivo.zip´´");//Imprimimos en pantalla letras mediante la funcion Texto
while(1)//Comenzamos el Bucle While
{//Empezamos aqui con el while
sceCtrlReadBufferPositive(¤tPad, 1);//Buffer de botones
if(currentPad.Buttons != lastPad.Buttons)
{
lastPad = currentPad;
if(currentPad.Buttons & PSP_CTRL_CROSS)//Establece si pulsamos Equis lo que hara
{//Abrimos este IF de Equis
Limpiar();//Se limpiara la pantalla
Color(0x000000);//se establece el color hexadecimal 000000
Texto("\n Saliendo, espere...");//Se imprime Texto en Pantalla
Salir();//y salimos mediante nuestra funcion abreviada a Salir
}//Cerramos si pulsamos x pasara esto
if(currentPad.Buttons & PSP_CTRL_CIRCLE)
{//Abrimos el If del circulo
CheckFile("Archivo.zip");//se checkea si existe el archivo o no, si existe, se va a descomprimir el archivo, sino sale
}//Cerramos el If del circulo
}
}//Cerramos el bucle While
sceKernelSleepThread();// Y para cerrar esto junto con Return 0;
return 0;
}//Cerramos el main
Makefile
TARGET = Sample
OBJS = main.o unzip/unzip.o unzip/ioapi.o unzip/mztools.o unzip/zip.o unzip/extract.o
INCDIR =
CFLAGS = -G4 -Wall -O3 -I/usr/local/pspdev/psp/include/SDL
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
PSPSDK=$(shell psp-config --pspsdk-path)
PSPBIN = $(PSPSDK)/../bin
LIBDIR =
LDFLAGS =
STDLIBS= -lz -lpspsdk -lpspctrl -lpsprtc -lpsppower -lpspgu -lpspaudiolib -lpspaudio -lpsphprm
LIBS=$(STDLIBS)$(YOURLIBS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Sample
PSPSDK=$(shell psp-config --pspsdk-path)
DEFAULT_CFLAGS = $(shell $(SDL_CONFIG) --cflags)
include $(PSPSDK)/lib/build.mak
Saludos
Gdt
Este tutorial es de otra web,
Este tutorial es de otra web, lo has copiado literalmente y no creo que el autor te haya dado permiso...
que tal !!
disculpa donde puedo encontrar las librerias para descomprimir !!
gracias !