Control de usuario
Patrocinadores
Estadísticas
Miembros:
168.001
Online:
920
Hilos:
905.413
Mensajes:
12.752.244
Stats

Índice de foros NDS Scene

[PaLib] - The Legend of Zelda: The Six Sages DS

Foro dedicado a las aplicaciones y hardware de la scene (no flash carts)

Moderadores: The Sabbat, eGladiator

judelco
Avatar de usuario
General Error!!!
 
Mensajes: 1374
Registrado: 21 Jun 2007
Ubicación: En un sobre lololol

Re: Re:

Mensajepor judelco 20 May 2008 21:53

Alber_h escribió:Está muy bien eso del visor que te has hecho, justamente por lo que dices, cuando lo tengas terminado solo tienes que portar el codigo al juego en si y es mucho mas facil de implementar que ir probandolo todo en el juego directamente.


Claro, no te puedes ni imaginar el LIO y el estrés que causa el crear nuevo código en un juego e ir probando.... con los errores que te van saliendo y tal ,te vuelves loco.

Por eso es mejor crear la base primero (como ya la tengo), luego ir metiendole y creando las cosas por separado (como estoy haciendo, con el "visor" que mas que nada es el código de la animación y el comportamiento de los sprites de los personajes (de TODOS, lo que pasa es que aún no le he metido apenas nada....)

Pero quiero que ese visor contenga todos los sprites de Link, zelda, los enemigos, las acciones (tirar de , empujar, atakar con la espada, TODO)

Ya vereis cuando acabe.... será dificilillo, pero lo conseguiré.... [beer]

[fies] [chiu]
PALIB-> The Legend of Zelda: The Six Sages (DS)

Imagen

Alber_h
Avatar de usuario
???
 
Mensajes: 572
Registrado: 25 Mar 2005
Ubicación: Cádiz

Re: Re:

Mensajepor Alber_h 20 May 2008 21:55

judelco escribió:
Alber_h escribió:Está muy bien eso del visor que te has hecho, justamente por lo que dices, cuando lo tengas terminado solo tienes que portar el codigo al juego en si y es mucho mas facil de implementar que ir probandolo todo en el juego directamente.


Claro, no te puedes ni imaginar el LIO y el estrés que causa el crear nuevo código en un juego e ir probando.... con los errores que te van saliendo y tal ,te vuelves loco.

Por eso es mejor crear la base primero (como ya la tengo), luego ir metiendole y creando las cosas por separado (como estoy haciendo, con el "visor" que mas que nada es el código de la animación y el comportamiento de los sprites de los personajes (de TODOS, lo que pasa es que aún no le he metido apenas nada....)

Pero quiero que ese visor contenga todos los sprites de Link, zelda, los enemigos, las acciones (tirar de , empujar, atakar con la espada, TODO)

Ya vereis cuando acabe.... será dificilillo, pero lo conseguiré.... [beer]

[fies] [chiu]


Claro que si tio, echale ganas que seguro que consigues algo molón. Y si necesitas ayuda con cualquier cosa no dudes en decirlo ;).

Salu2!
???

judelco
Avatar de usuario
General Error!!!
 
Mensajes: 1374
Registrado: 21 Jun 2007
Ubicación: En un sobre lololol

Re: Re:

Mensajepor judelco 20 May 2008 22:03

Alber_h escribió:Claro que si tio, echale ganas que seguro que consigues algo molón. Y si necesitas ayuda con cualquier cosa no dudes en decirlo ;).

Salu2!


Si, de momento estoy creando de nuevo las imagenes, porque la he liado.... creé las animaciones en sprites de 32x32 y fué un error, porque hay posiciones de link (cuando está con la espada desnvainada) que son más largos que 32 pixels, por lo que aohra estoy recostruyendo todo a 64x64 para que me ocupe POR FUERZA, así ya no tendré que liarla más.... jejejejejje

[beer]
PALIB-> The Legend of Zelda: The Six Sages (DS)

Imagen

Rigle
Avatar de usuario
Paseante...
 
Mensajes: 2233
Registrado: 10 Nov 2007
Ubicación: A mi que me preguntas...

Re: Re:

Mensajepor Rigle 21 May 2008 22:10

judelco escribió:
Alber_h escribió:Claro que si tio, echale ganas que seguro que consigues algo molón. Y si necesitas ayuda con cualquier cosa no dudes en decirlo ;).

Salu2!


Si, de momento estoy creando de nuevo las imagenes, porque la he liado.... creé las animaciones en sprites de 32x32 y fué un error, porque hay posiciones de link (cuando está con la espada desnvainada) que son más largos que 32 pixels, por lo que aohra estoy recostruyendo todo a 64x64 para que me ocupe POR FUERZA, así ya no tendré que liarla más.... jejejejejje

[beer]


para cuando lo tendrás ?

EDIT: mirad k cachondo
Imagen

judelco
Avatar de usuario
General Error!!!
 
Mensajes: 1374
Registrado: 21 Jun 2007
Ubicación: En un sobre lololol

Re: Re:

Mensajepor judelco 22 May 2008 12:56

Rigle escribió:para cuando lo tendrás ?


Mmmmm...... pues ya lo he solucionado... la verdad es que me he matado durante horas y horas escribiendo el código de nuevo de mil formas distintas para ver si lo conseguía..... y listo.

He conseguido que me OBEDEZCA a las diagonales tal y como si fuera un zelda (no es perfecto perfecto, pero por mi lo veo GENIAL).

IMAGEN:

Imagen

DESCARGAR:
(Mirad el primer post ^^)

A ver que le hago ahora..... :D
Ultima edición por judelco el 23 May 2008 15:43, editado 1 vez
PALIB-> The Legend of Zelda: The Six Sages (DS)

Imagen

Rigle
Avatar de usuario
Paseante...
 
Mensajes: 2233
Registrado: 10 Nov 2007
Ubicación: A mi que me preguntas...

Re: Re:

Mensajepor Rigle 22 May 2008 13:55

judelco escribió:
Rigle escribió:para cuando lo tendrás ?


Mmmmm...... pues ya lo he solucionado... la verdad es que me he matado durante horas y horas escribiendo el código de nuevo de mil formas distintas para ver si lo conseguía..... y listo.

He conseguido que me OBEDEZCA a las diagonales tal y como si fuera un zelda (no es perfecto perfecto, pero por mi lo veo GENIAL).

IMAGEN:

Imagen

DESCARGAR:
visorsprites.rar


A ver que le hago ahora..... :D



dios, k bien te ha quedado
a ver si le implementas leer sprites desde FAT . Ya se que costaría :S

Alber_h
Avatar de usuario
???
 
Mensajes: 572
Registrado: 25 Mar 2005
Ubicación: Cádiz

Re: Re:

Mensajepor Alber_h 22 May 2008 14:12

Rigle escribió:
judelco escribió:
Rigle escribió:para cuando lo tendrás ?


Mmmmm...... pues ya lo he solucionado... la verdad es que me he matado durante horas y horas escribiendo el código de nuevo de mil formas distintas para ver si lo conseguía..... y listo.

He conseguido que me OBEDEZCA a las diagonales tal y como si fuera un zelda (no es perfecto perfecto, pero por mi lo veo GENIAL).

IMAGEN:

Imagen

DESCARGAR:
visorsprites.rar


A ver que le hago ahora..... :D



dios, k bien te ha quedado
a ver si le implementas leer sprites desde FAT . Ya se que costaría :S


Y eso para que? Es mas, segun tengo entendido, no se podria hacer ya que cada sprite esta definido en un fichero (esto lo hace el pagfx).

Salu2!
???

judelco
Avatar de usuario
General Error!!!
 
Mensajes: 1374
Registrado: 21 Jun 2007
Ubicación: En un sobre lololol

Re: Re:

Mensajepor judelco 22 May 2008 14:23

Alber_h escribió:Y eso para que? Es mas, segun tengo entendido, no se podria hacer ya que cada sprite esta definido en un fichero (esto lo hace el pagfx)


No, no pienso hacer nada de eso. TODAS las imagenes (mapas, sprites y demás) estarán DENTRO del binario (.nds). Lo que estoy pensando es si coger y usar FAT para leer la MUSICA (NO los efectos de sonido, ojo, eso si ocupa bien poco y tambien estará dentro del .nds usando 8 canales de 16).

En fin, voy a mejorar un pelín más el motor (sin tocar nada que lo joda) y lo implemento en el link "sin escudo".

Gracias por los apoyos.

PD: He hecho OTRO logo que a mi parecer está MUCHO mejor, ya veremos..... ^^
PALIB-> The Legend of Zelda: The Six Sages (DS)

Imagen

ANTONIOND
Avatar de usuario
EOL user
 
Mensajes: 1287
Registrado: 23 Ago 2007
Ubicación: Por ahí...

Mensajepor ANTONIOND 22 May 2008 14:31

Para cargar sprites desde FAT tienes que usar los bin que genera el PAgfx.

Una ayudita, jejeje.Esto te devuelve el puntero de donde se almacena el archivo del FAT en la memoria de la ds. Puedes almacenar hasta 64 archivos (puedes cambiarlo si quieres) mientras no llenen la memoria de la ds. Si ya estas usando ese slot se borra la información que había antes. También puedes liberar la memoria que esté ocupada con la segunda función.

Código: Seleccionar todo
u32 tamano;
char* Data_Buffer[64]; //Numero de slots donde almacenar archivos
FILE* datafile;

char* FAT_Load_Data(char* filename, u8 slot)
{
   if(Data_Buffer[slot] != NULL) free(Data_Buffer[slot]);
   
   datafile = fopen (filename, "rb");
   if(datafile != NULL) // Make sure there is a file to load
      {
      fseek (datafile , 0 , SEEK_END);
      tamano = ftell (datafile);
      rewind (datafile);
      Data_Buffer[slot] = (char*) malloc (sizeof(char)*tamano);
      if(Data_Buffer[slot] != NULL)
         {
         fread (Data_Buffer[slot],1,tamano,datafile);
         fclose (datafile);
         }
      else
         {
         fclose (datafile);
         return NULL; //O mensaje de error
         //no hay memoria suficiente
         }
      }
   else
      {
                return NULL; //O mensaje de error
      //archivo no encontrado
      }
   return Data_Buffer[slot];
}

bool FAT_Free_Data(u8 slot)
{
if(Data_Buffer[slot] != NULL)
   {
   free(Data_Buffer[slot]);   
   return TRUE;
   }
return FALSE;
}


Por ejemplo:
Código: Seleccionar todo
char* pointer;

pointer = FAT_Load_Data("sprite_pal.bin",0);
PA_LoadSpritePal(0, 0, (void*)pointer);

pointer = FAT_Load_Data("sprite.bin",0);         
PA_CreateSprite(0, 0, (void*)pointer, OBJ_SIZE_32X32, 1, 0, 50, 50);

FAT_Free_Data(0);


Como puedes ver, teniendo estas funciones es facil.
Imagen

Alber_h
Avatar de usuario
???
 
Mensajes: 572
Registrado: 25 Mar 2005
Ubicación: Cádiz

Re:

Mensajepor Alber_h 22 May 2008 14:35

ANTONIOND escribió:Para cargar sprites desde FAT tienes que usar los bin que genera el PAgfx.

Una ayudita, jejeje.Esto te devuelve el puntero de donde se almacena el archivo del FAT en la memoria de la ds. Puedes almacenar hasta 64 archivos (puedes cambiarlo si quieres) mientras no llenen la memoria de la ds. Si ya estas usando ese slot se borra la información que había antes. También puedes liberar la memoria que esté ocupada con la segunda función.

Código: Seleccionar todo
u32 tamano;
char* Data_Buffer[64]; //Numero de slots donde almacenar archivos
FILE* datafile;

char* FAT_Load_Data(char* filename, u8 slot)
{
   if(Data_Buffer[slot] != NULL) free(Data_Buffer[slot]);
   
   datafile = fopen (filename, "rb");
   if(datafile != NULL) // Make sure there is a file to load
      {
      fseek (datafile , 0 , SEEK_END);
      tamano = ftell (datafile);
      rewind (datafile);
      Data_Buffer[slot] = (char*) malloc (sizeof(char)*tamano);
      if(Data_Buffer[slot] != NULL)
         {
         fread (Data_Buffer[slot],1,tamano,datafile);
         fclose (datafile);
         }
      else
         {
         fclose (datafile);
         return NULL; //O mensaje de error
         //no hay memoria suficiente
         }
      }
   else
      {
                return NULL; //O mensaje de error
      //archivo no encontrado
      }
   return Data_Buffer[slot];
}

bool FAT_Free_Data(u8 slot)
{
if(Data_Buffer[slot] != NULL)
   {
   free(Data_Buffer[slot]);   
   return TRUE;
   }
return FALSE;
}


Por ejemplo:
Código: Seleccionar todo
char* pointer;

pointer = FAT_Load_Data("sprite_pal.bin",0);
PA_LoadSpritePal(0, 0, (void*)pointer);

pointer = FAT_Load_Data("sprite.bin",0);         
PA_CreateSprite(0, 0, (void*)pointer, OBJ_SIZE_32X32, 1, 0, 50, 50);

FAT_Free_Data(0);


Como puedes ver, teniendo estas funciones es facil.


Vamos, viene a ser como el fopen de C.
Pues gracias por la informacion, aun no he llegado a esa parte de la wiki, que me la quiero leer enterita y bien, asi que no sabia que se podian cargar asi.

Salu2!

Edito: es mas, esa funcion hace uso del fopen [carcajad]
???

PrevioSiguiente

Volver a Scene

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 1 invitado