[Leer antes de postear] Programación de DS

1, 2, 3, 4
e oido q ay un programilla casero, q utiliza el wifi para q puedas ver en tu ds lo q pasa en tu ordenador.dond puedo bajarme ste programa?es d fiar o es peligroso?

otra cosilla, como me gusta probar programillas d ste tipo, si ay alguno q me strope el fimware d la consola, teniendola flaseada como es mi caso, como se puede recuperar.

agradeceria vuestras respuestas, toy muy interesado
Para escribir un int lo único que debes hacer es:

PA_OutputSimpleText(0, 19, 23, "%i", variableint);

Donde variableint sea la variable que quieres imprimir. Para bool no estoy seguro pero creo que se usa %b, string %s, char %c... Mirate un tutorial básico de C y lo entenderás mejor :-P

PD: Por cierto, varias dudas que tengo:
- El tamaño final del juego/programa no puede ser mayor de 4MB ¿no? ¿Porqué?
- En el caso de que sólo se puedan 4MB, ¿se podría hacer un "juego" dividido en dos partes de 8MB por ejemplo y que se llamen entre ellas cuando necesites una parte u otra del juego? (algo así como los CDs en los PCs)
- ¿Se pueden hacer saves en ficheros? ¿Cómo?
- ¿Me podríais explicar un poco más a fondo como va eso de tratar varios sprites como un solo objeto? (lo de dividir un sprite grande en varios de 64x64 por ejemplo).
- Hum... tenía más preguntas, pero se me han olvidado xD, si me acuerdo edito de nuevo.
Pos no me he fijado, asi sin mirarlo (no estoy en casa) deduzco que sera de tipo int o u8 o algo así, porque como son paletas de 256 con 8 bits las referencias. No te lo aseguro, pero es logico que u8 (un unsigned int vamos xD)
Ya, al momento me di cuenta xD

Ya está arreglado aunque ahora no me sale bien una vez puesto en el código, se me ve toda la pantalla rosa... Usando los bmp de los ejemplos de Aarog me va bien pero ahora nada...
muchas gracias por la info :) a partir de ahora ya se por donde buscar y lo mas importante ,de q estais hablando.
la verdad es q es lo q necesitaba para comenzar.
sobre el post anterior os pido disculpas pero como vi q en este hilo se hablaba de la programacion pense q deberia postear aqui,pero trankilos q a partir de ahora mirare en otros hilos o abrire el mio propio..
ahora me ire a alguna tienda asociada para ver si encuentro alguna SC o el EZ-FLASH.
bueno gente muchas gracias por la ayuda y espero veros por aqui.
por cierto porinoboy si tengo alguna duda t puedo enviar algun privado para q me ayudes??????
saludos a todos.
Mmmm ¿hay 'algo' que permita decirle que si mi personaje toca tal sprite, que no pueda seguir avanzando? o tendria que decirle simplemente que al llegar a tal coordenada no puede avanzar? es que este último método no me acaba de gustar, a la hora de hacer esto tengo demasiado en mente el mítico rpg maker XD

He probado un par de parámetros de la función PA_CreateSpriteEx(0,2,(void*)trondo_Bitmap,OBJ_SIZE_32X32,1,0,*,0,0,0,*,0,120,32);
El primer asterisco, que si mal no recuerdo el nombre era algo asi como obj_mod puede tener valor de 0, 1, 2, (noseke, transparent y window), pero de momento no funciona (además que no sé si es eso lo que a mi me interesa), y el segundo asterisco es sobre que capa situamos el sprite, pero si estan en la misma capa objeto y personaje el personaje pasa por encima, si el valor del personaje es menor este pasará por encima del objeto y si el valor en el sprite del personaje es mayor, entonces pasa por debajo del objeto (lo cual para un árbol de 4 sprites en forma de cuadrado está bien dar esta propiedad a los dos sprites superiores para que el personaje pase por detrás de ellos, pero jugando con esto tampoco he conseguido hacer que colisionen los sprites :(

Aprovecho que no ha habido respuesta para hace alguna consulta más (evidentemente después de empaparme de la documentación de la página de Mollusk). Me he empapado las funciones de Bg's, en el apartado que pone Bg's 0-2 y no he podido hacer que el fondo haga un scroll conforme avanza el personaje.

Y además, y esto he buscado sobretodo en funciones de sprites, aunque igualmente por diversos motivos me lo he mirado todo, no encuentro una manera de hacer eventos que no sean con botones, sino que sean en determinada posicion en la pantalla. ¿Seria con un GetSpriteXY que se ejecutase dentro del bucle y ponerle la condicion?¿Es esto poco profesional y un gasto inutil y horrible de recursos?

En fin, son tres preguntas que me interesan y que para mi bajo nivel (ya lo avisé ^_^) tienen difícil solución, pero espero que alguien que controle más del tema o cualquiera que se haya encontrado que queria hacer alguna de estas cosas pueda ayudarme.
Muchas gracias!
Buenas :D

Ya os comente que queria probar a usar la libreia stdio.h de c. Pero hay una cosa que no se muy bien. Puedo crear una variable que sea una cadena de enteros por ejemplo: int a[5]; ¿o el sistema de memoria de ARM no me permitira esta instruccion?

Un saludo a todos.
bueno, cojonudo, al final funcionó. no os explico el motivo porq no me ibais a creer asi q paso a la siguiente duda.

en fin, sigamos con los problemas, para variar. despues de 2 horas (no miento) para aprender como se usa el gfx2gba y para que sirve y cuales son sus secretillos, al ejecutar el build.bat me da un error bastante tocapelotas. el error en cuestion es este:

all_gfx.o: (.rodata+0x8): multiple definition of `cara_Sprite'
cara.o: (.rodata+0x0): first defined here
cara.o: (.rodata+0x0): multiple definition of `cara_Sprite'
cara.o: (.rodata+0x0): first defined here
cara.pal.o: (.rodata+0x0): multiple definition of `cara_Pal'
all_gfx.o: (.rodata+0x0): first defined here
main.o: In function `main':
c:/devkitPro/_projects/game/source/main.c:7: multiple definition of `cara_Pal'
all_gfx.o: (.rodata+0x0): first defined here
main.o: In function `main':
c:/devkitPro/_projects/game/source/main.c:7: multiple definition of `cara_Sprite'
cara.o: (.rodata+0x0): first defined here
make[1]: *** [/c/devkitPro/_projects/game/game.elf] Error 1
make: *** [build] Error 2


impresiona eh?

asi resumidito vendria a ser que me dice 'multiple definition' de algo que no sé qué es. los includes estan bien xq lo he mirado con otros ejemplos, y en el codigo pongo el nombre de la paleta donde toca y el nombre del sprite donde toca tb, asi q yo creo q a las 4.31am hoy me doy por vencido.

muchas gracias por la atencion!!!
Hola a todos.

Ya os comente que queria volver a programar algo para la DS. Pero es que resulta que no puedo compilar nada. Os cuento.
Yo instalo el devkitPRO con el devkitARM, despues me bajo el ultimo PAlib y lo instalo tambien. Me baje unos ejemplos que vienen con el archivos built.bat para compilarlos pero no me funciona [nop]. He creado las variables de entorno, quizas mas incluso de las necesarias, pero me sigue sin funcionar, y creo que podria ser porque no me funcionan del todo bien las variables de entorno.

Si alguien sabe de un tutorial para que lo pueda seguir o algo que me ayude se lo agradecere, llevo toda la tarde del lunes de los nervios sniff sniff.

Bueno, un saludo.
Buenas, respecto a lo que ha dicho Yaw del texto, creo que ese no el metodo apropiado, para mostrar valores de variables deberías usar PA_OutputText; (la llamada es la misma). Respecto a lo del tamaño final, supongo que lo de los 4MB se referíra a tenerlo cargado en memoria, pero si usas un sistema de fichero como por ejemplo GBFS, no tienes esa limitación (corregirme si me equivoco). Para hacer Saves, todavia no me he mirado el tema, pero si que te adelanto que se pueden hacer Loads.

Veamos a ver si te puedo explicar lo de los sprites de forma que se me entienda.
Cuando convertimos una imágen que vamos a usar como sprites. Sabemos que obtenemos un fichero en .c que contiene la informacion de cada pixel de la imágen. Vamos en definitiva la imágen se convierte en un vector de char (enteros), que contienen un valor númerico, que se corresponde con el color de la paleta que tiene que dibujar. Vamos a suponer que yo tengo una imágen de 160x32 :
Imagen


Bien esa imágen al convertirla se transformara en un array de char con una longitud de (160x32) 5120. Cuando yo creo un sprite, a partir de una imágen única de por ejemplo 32x32, en la llamada a crear sprite simplemente le paso el nombre del vector y ya esta. Pero aqui viene que el vector es más grande de lo que queremos mostrar. Bueno que sepais que el metodo de crear sprite, va cargando la imágen empezando por el primer pixel de la imágen (Esquina superior Izquierda), luego hacía la derecha, y despues pasa a la "siguiente linea", vamos el sentido de lectura de toda la vida. Entonces si yo le digo que cree un sprite de 32x32, lo que va hacer es cogerme los 1024 (32x32) primero valores y ponermelos en pantalla en forma de matriz (32x32). Que hay que hacer para poder coger más cachos de imágen. Bueno lo primero, es cambiar la forma en que se ve, por que si lo dejo como esta, si intenta coger los primeros 1024 pixels, lo que hara sera cogerme los primeros 32 en la 1 linea, los siguiente 32, en la linea de abajo, así hasta llenar los 1024, pero como el ancho de la imágen no es de 32, la imágen no se va a corresponder con lo que yo quiero (podeís hacer la prueba y así lo entendereís mejor). Bien ya tengo la imágen como debe estar :
Imagen

Pues ahora es muy sencillo de hacer, en mi imágen se puede ver que son 5 "cachos" de 32x32. Yo me puedo crear unos defines para los COMIENZOS de cada imágen de la siguiente forma:
#DEFINE CACHO0 (void*)&miBoton_Bitmap[1024*0]  //32x32x0
#DEFINE CACHO1 (void*)&miBoton_Bitmap[1024*1]
#DEFINE CACHO2 (void*)&miBoton_Bitmap[1024*2]
....
Así hasta tener todos, y con eso ya podemos llamar a crear sprites de 32x32, porque cogera y para el primer cacho tomara valores desde la posición 0 hasta la 1024, y para el siguiente cacho, lo mismo pero ya no tiene que empezar desde 0, porque el trozo que nos interesa empieza a partir de la 1024, y así sucesivamente


PD: Lo he releido y no se sí os quedara claro. Así que podéis preguntar.
hola yuseppe, no tengo ni idea porque nunca lo he probado pero si no ves que se pueda con palib mirate ndslib, son más "dificiles" pero si es solo para ese tema no creo que sea demasiado complicado.
saca el PA_InitRand(), de ese while para empezar. Con que inicializes una vez la semilla de los aleatorios sobra. Luego me comentas que te hace.
A mi tampoco se me ocurre que puede ser, a menos que sea uno de estos fallos tontos que cargas el sprite en la otra pantalla sin cargar la paleta antes o algo asín...


Una dudilla, que supongo que no, pero por probar que no quede... hay alguna forma de simultanear procesos? a ver, nunca he trabajado con multihilos, pero creo que se trata de algo así... pongo un ejemplo, un personaje de un juego con una animación típica de 2 sprites diferentes que se van intercambiando, como por ejemplo este smile -->[tadoramo] bien... si quiero que ese sprite mantenga su movimiento mientras se ejecuta otra parte de código, por ejemplo escribir en pantalla o cualquier cosa así... hay algún método fácil? o por lo menos no tan "cutre" como ir intercalando los cambios de sprites entre el código... que al final queda ilegible....

Aunque la respuesta sea "NO", gracias, que no sabéis cuanto aprendo con vosotros, curioso mundo este de la animación y los sprites xD
KorteX con la instucion PA_InitText(0,0); en teoria se reinicia el modo texto en la pantalla tactil fondo 0, pero esto tampoco es demasiado pofecional [+risas] [+risas] .

Si la frase aparece como un sprite tienes dos opciones para borrarla una es con PA_DeleteSprite (0,x); siendo x el numero de sprite, o con
PA_ResetSpriteSys (); que se reiniciara el sistema de sprites borrandolos todos. La ultima funcion en muy util si tienes un menu hecho con sprites o si tu juego tiene varias fases por que deja limpia todas las pantallas de sprites evitando posibles errores.


Estuve apunto de instalarlo pero como lo que hacia esa actualizacion era poner una nueva version de la Libnds pase por si habia alguna incompatibilidad con las PA_lib
Que tenga mas de 8 carpetas no influye lo que puede influir es que el nombre de la carpeta tenga mas de 8 caracteres. De todas formas si el nombre por defecto era dekitpro es que es asi. Te recomiendo que compiles el template que viene dentro de la carpeta palib. Otra posibilidad es que hallan actualizado las ndslibs recientemente. Tambien podrias visitar la pagina de molusk que es el creador de la palibs y preguntarle a el.... No me preguntes cual es la direccion por que no me acuerdo :P :P
Buenas, gracias por responder, voy a probarlo ahora mismo :)

Un saludo.

EDITO: Ya me funciona, muchas gracias [tadoramo]
Si llamas al metodo PA_WaitForVBL, tú programa se "pausara", hasta que ocurra la interrupcion Vertical Blank, esta interrupcion si no me equivoco ocurre 60 veces por segundo, así que solo te queda hacer cuentas. Saludos.
Buenas, así de pronto sin mirar otra cosa en vez de usar el Stylus.X = x; Stylus.Y = y. Podrías usar mejor la función:
PA_StylusInZone(x1, y1, x2, y2) que hace lo siguiente: ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X
De formar que puedes poner un area del tamaño que tu quieres sobre la zona.
umm no tengo ni idea pero intentalo con el paint de guindous que de momento nunca me a dao problemas. Por cierto has tenido en cuenta que el bmp tiene que estar a 256 colores¿?¿?¿?

Edito: He descargado el bmp que has puesto de prueva y esta a 24 bits tienes que guardarlo en modo 256 colores o 16 colores
Hum... sabéis si hay alguna limitación en cuanto al tamaño de los sprites que no puedan ser mayores de 64X64 ?
Es que bueno, quería insertar un árbol y el tamaño 128X163 me salía un warning como que no el alto no era múltiplo de 8, hice ese mismo árbol a 160X160 y tampoco lo quiso, y lo mismo a 128X128... :( lo curioso es que un fondo a 256X256 si que se lo traga, aunque claro, es otra cosa... ¿soy el único al que le pasa? ¿alguna idea?
Por cierto os funciona bien las PA_lib con la ultima version del devkitPro?

Edito: Mollusk ha sacado una nueva versión, que funciona con el actucal devkitPro; a parte que tambien soluciona unos bugs.

Saludos
prizzio escribió:Wuenas.

Estaba intentando hacer el sudoku para la DS y queria utilizar el random de C. En C, el random me parece que estaba en la libreria stdlib.h, asi que la he cogido y la he puesto en el sitio donde esta la libreria de pa.h. El caso es que no me funciona, no me admite esta libreria, stdio.h por ejemplo si la admite.

Mi pregunta es si sabeis otra forma de conseguir numeros aleatorios.

Seguire probando.

Un saludo.


Sacado de la documentación de las PA_lib:

Functions
u32 PA_Rand (void)
Gives a random number, taken from Ham... This is taken from Ham, I have no credit.
Buenas,

Muchas gracias por tu respuesta. He creado un archivo tal y como indicas, y me compila perfectamente.

El problema es el mismo de siempre, funciona perfectamente pero llega un momento en el que falla y carga los sprites que le da la gana, yo es que no se que puede ser.

Un saludo, y que disfrutes las fallas [beer].

PD: Te dejo mi archivo main por si quieres mirartelo, no esta muy estructurado. ;).
bruckheimer escribió:Por cierto, en los emuladores la emulación de la táctil es un tanto rara. En el IDeas, que es el único que me sirve para mi cutre-demo(el único que no se cuelga,vamos), siempre dice que he pulsado la coordenada 28,28. Inquietante.

La verdad es que es terrible el estado actual de los emuladores de DS, en la mayoria falla casi todo. Recuerdo con la GBA que paso todo lo contrario, habian emuladores funcionales meses antes de que saliera la maquina, incluso cuando salieron los primeros juegos comerciales funcionaban perfectamente en los emuladores.

KorteX escribió:La página de Darkfader ha pasado a mejor vida, no ha quedado rastro de ella, no se si estara remodelandola o es que ha recibido una "agrabable visita" de Nintendo...

Por lo que el mismo estubo comentando en #dsdev ayer parece que su proveedor de hosting esta teniendo algunos problemas, supongo que en unos dias volvera a estar online.
si eso lo se, de hecho quería pasar un puntero al sprite XD, supongo que mi ejemplo no es weno.. nunca se me da bien sin poner el código real XD

si lo que pasa es que me mosquea eso de (void*) MiSprite_Sprite porque es como un cast a void*... conclusion: desconozco el tipo XD



P.D: Habéis probao la versión beta de la nueva palib? pa saber si es mu inestable o si añade cosas wenas...


EDITO:

También tengo problemas con el alpha-blending es q estaba probando a ponerles sombras a los pj, ya sabeis, unos pequeños circulitos negros semitransparentes debajo de los pies, pero por mas que toco los parámetros siempre se me ve con la misma transparencia, y además es MUY transparente asi que no me queda bien...

para más inri no se ve en el DeSMuME y estoy harto de pasar la tarjetita...

El ejemplo de las PAlibs si que tira bien, pero el mío no.. no se si es porque son sprites de 32x32, si es porque pongo varios de ellos con el mismo efecto, o si es porque luego les hago zoom (aunque también he probado a hacerles el zoom primero pero nada) o porque se debería aplicar el efecto varias veces seguidas.. (esto último no lo se, pero como en el ejemplo lo hace dentro del bucle infinito...)

A ver si alguien que ya se haya peleado con esto me puede orientar, que realmente no m apetece tirarme un par de horas sacando y metiendo la tarjetita pa unos circulitos negros...

Muchas gracias
hola ya que este es un magnifico post de programacion y hay gente muy competente y ya que he fundido la bios del m3 perfect y no me sale el menu en la nd se puede programar a traves de un taj o de alguna manera gracias
jejejeje pues siento ser toston pero sigue sin ir....

el codigo que me keda es este:

PA_Init();
PA_InitVBL();

int x;int y;

PA_InitRand();
PA_Init8bitBg(1,2);
PA_SetBgPalCol(1,2,PA_RGB(0,31,0));


while(1)
{
x=PA_RandMax(255);
y=PA_RandMax(191);
PA_Put8bitPixel(1,x,y,2);
PA_WaitForVBL();
}

return 0;


y lo q me hace es lo correcto solo que siguen saliendo solo esas linias d ela captura. :-(
Si, si funcionar me funciona perfectamente, de hecho lo estoy usando, lo que no me funciona es el FrontEnd que me he bajado para "facilitar" un poquillo las cosas pero vamos, lo puedo hacer en modo msdos ^^

Por cierto, son bastante faciles las PA_lib, me he llevado una grata sorpresa ^^, todo muy intuitivo [tadoramo]
Joder, ahora estoy desesperado para conseguir un número al azar. He probado la función rand y srand de stdlib.h que es lo que he encontrado en todas las búsquedas que he hecho, eso y esta documentación de las PA_lib que se me antoja muy escasa (ya que no se como aplicarla):
http://palib.pizz.biz/Documentation/eng/group___math.html#ga2

De hecho se ve que esto es una búsqueda pseudo-aleatoria, así que no sirve para mis propósitos, yo quiero un numero al azar de entre un intervalo de valores, pero no que en cada ejecucion los valores al azar salgan en el mismo orden, ya que siempre obtengo como resultado el mismo numero. En fin, siento dar tanto el coñazo pero supongo que alguien habrá necesitado hacer esto y lo habrá logrado, si es así espero que me echen un cable.

Gracias otra vez :)
Joer, no sabia q existia esa funciona y me la hice yo xD. Hace exactamente lo mismo que ella (Seguro q el codigo es igual, q es con un if, lo mas simple vamos xD)... Esto me pasa por no leerme la documentacion.....
Hola.

He estado haciendo programas pequeños para ir familiarizandome con el lenguaje de programacion, siguiendo el manual de Lord_Rafa, y me ejecutan perfectamente en el emulador ideas.

Mi pregunta es la siguiente, ¿para probar estos programas en la DS, se tienen que modificar los archivos .nds?, lo digo porque con mi supercard, el programilla que he hecho no me funciona y se me quedan las pantallas en blanco.


EDITADO: Acabo de resolver el problema de ejecucion.

EDITADO: Una pregunta, al realizar pogramas para DS, se pueden utilizar libreria como stdio.h de C++???

Un saludo.
Tengo un problema con el gfx2gba... Esto no es lo mio xD

El problema es que estoy intentando convertir dos archivos (dos fondos), están en bmp uno de ellos a 256x256 y otro a 512x512. El caso es que al poner el comando en el msdos me salta con "unsupported depth".

Así que nada, me voy al Photoshop, abro los ficheros y los guardo de nuevo con otra depth, sigo probando y nada... He puesto todas las depth que te permite el Photoshop y me sigue soltando eso...

Sabeis algo?

Adjunto uno de los ficheros por si acaso.

-----------------EDIT---------------------

Olvidadlo, era una tonteria, ya está arreglado :)
prizzio escribió:Buenas

Bueno, tengo una dudilla haber si podeis solventarmela. Hay alguna funcion, en la que yo le pase por parametros una coordenada de pantalla y me devuelva el color del pixel que tiene. Es que se me ha ocurrido un juego divertido y la unica forma que se me ocurre de momento para hacerlo es usando una funcion que haga eso.

Si no existe tal funcion, como podria saber que color tiene un pixel en concreto :O.

;) Un saludo compañeros.


Claro que la hay ^^, yo la uso para el PaperFootball, la función es tal que así:

PA_Get8bitPixel(pantalla,x,y)

El fondo tiene que ser un mapa de 8bit, si no no funcionará :) (devuelve la posición del color en la paleta)
has probado si funciona la función:
void sleep(long milisegundos)


No lo he probado, pero en C existe xD. Si lo pruebas, dinos si funciona. Depsues de los examenes lo pruebo yo si no lo has hecho, que ahora estamos todos liadisimos xD

Salu2
Gracias por contestar [ok] . Voy a probarlo ahora mismo.

Un saludo.
he encontrado tu problema :P :P :P

Mueve el #ifndef al principio de todo el archivo!!! y asi en todos, por que lo que no queremos que se repita son los includes, porque si en alguno se te ha escapado ahi dara el error.

Otro problema aparente es que tienes en este archivo las supuestas definiciones de los graficos, pero como no tienes puesto el extern lo que te hace es crear aki una variable vacia de ese nombre y en el otro tmb!!! (creo).

Yo lo que me referia es que pegases aki directamente el codigo de las imagenes, el array y eso, y te olvidaras de lo que te genera el pagfx.

Mira mi ejemplo (archivo adjunto) copio y pego lo que me genera todo a un archivo (o separado por categorias) pero sin .h que la lian (en mi opinion, en este caso, para el resto los .h son la salvacion xD).

Es que esto de meter el raw de las imagenes a pelo es un poco .... en fin, como decirlo.... tercermundista xDDD

Bueno, espero que te sirva.

Si contestas mñana antes de las 14:00 te contesto si tienes mas dudas, sino hasta el martes nada que me voy a las fallas :D

Siento si no me he explicado mucho, pero es que tengo prisa por la maleta y eso. Cuando vuelva si eso hago un tutorial o manual de como usar el PGfx correctamente (realmente es solo copy/paste).

Espero que te haya ayudado.
Buenas, dos cosas: La instrucción PA_Init8bitBg(1,2) debe ir antes que PA_SetBgPalCol(...);

Y dentro del while, debes meterle el PA_WaitForVBL(); con eso te ira bien. Saludos.
Muchas gracias [ok], voy a probarla. Haber si consigo que me salga el invento.

Un saludo [bye]
Buf, tengo unos problemas un tanto peculiares. He instalado tal y como se recomienda el devkitPro en C:\devkitPro y luego las pa_lib las he descomprimido en C:\devkitPro\PAlib, he ido al panel de control y he añadido la variable de entorno PAPATH, con la ruta c:\devkitpro\palib como me has puesto y por lo que explicaré ahora que he cambiado muchas veces, también con la ruta C:/devkitpro/palib (con las barras en la otra dirección) tal y como se decía en un tutorial de los que salen en este post. Luego he vuelto al directorio de las pa_lib y le he dado al install.bat, se abre la ventana de rigor se ve los procesos que hace y llega un punto que me dice 'paused press any key to continue' y al dar a cualquier tecla pues sale del programa. Esto no se si es normal o no.

La cosa no acaba aqui ya que despues de probar un cutre-código sencillo para la ocasión, intento compilar. Tal y como decía este tutorial, con el Programmers Notepad que se adjunta hay que darle a Make o Alt + 1. El make no lo veo por ningun lado, asi que pruebo Alt +1. Nada, no aparece en archivo .nds en la carpera Arm9.
Como soy un tio luchador, sigo buscando y veo en otro tutorial que se puede compilar desde el command, así que lo ejecuto y aquí es cuando viene la mayor de las sorpresas: hago un cd devkitPro y no me deja! Dice que directorio no válido. Lo flipo, evidentemente pruebo a entrar a cualquier otro directorio y me deja. Cambio por probar el nombre de la carpeta devkitPro por 'hola' y me deja entrar. Pero lo restauro a devkitPro y que no, que me joda pero que no entro.

Yo la verdad, he seguido estos pasos tal y como he visto en tutoriales, no sé por qué no puedo compilar de ninguna manera, no sé por qué no puedo hacer nada, si alguien viendo el proceso que he seguido ve algún posible error o tiene alguna solución pues la verdad es que será de agradecer.
Gracias y siento tener que escribir tanto para dar el coñazo, pero tengo ganas de meterle mano y me siento frustrado al no poder :(
Duda de programación en PAlibs:

De que tipo son los Sprites? me refiero, a que yo por ejemplo pongo PA_CreateSprite(0,50,(void*) MiSprite_Sprite ,OBJ_SIZE_64X64,1,1,172,13);

vale, pero, si quiero hacer una función a la que le entre un sprite para crearlo dentro de ésta, que tipo debo poner en el parámetro?

Por ahora pongo void* y tira pero me sale un warning diciendo passing argument 1 of 'miFuncion' discards qualifiers from pointer target type

gracias!
Hola, si me permitis hacer dos pregurtas:

1- Trabajando con las palib, como puedo definirme una variable de texto para almacenar una cadena?
he provado con:
char texto[200];
texto="hola..."
pero me da errores....

2- Que son los tiles, porque no puedo cargar una imagen de 4 colores, que es uan foto de 800x800 con la funcion largemaps... y si la imagen es muy simple pero con los mismos colores e igual de grande si que me la carga, me han dicho que puede ser por tener muchos tiles, pero no han sabido explicarme mas.
gracias
KorteX escribió:Lo que quiero saber es si hay alguna funcion que quite un texto de pantalla o algo... de momento tengo puesto espacios y de esa manera no se ve nada, pero es un mal remedio y los recursos usados para la frase siguen estando en uso.

De la PA_lib no puedo decirte porque jamas la he usado, pero el texto tiene dos formas de pintarlo: o en un fondo o como sprites. Si son sprites basta con limpiarlos y si es un fondo pues con modificar el mapa se soluciona.
Buenas, he probado los dos metodos, el que me dijo YaW y
Psyk0Killer. Pero no consigo que me muestre por pantalla el valor de la variable.

Yo escribo literalmente :

PA_OutputText (0,1,1, "%i" , potencia);

y en lugar de mostrarme el valor que toma potencia, me escribe en pantalla %i

He probado a poner comillas simples, cambio de orden pero nada, solo compila de esta manera.

Si veis en que me puedo estar equivocando me lo decis :).

Un saludo.

PD: Voy a ir poniendo otras cosas que he provado, compilan pero no funcionan.

PA_OutputText (0,1,1, (char*)potencia);
PA_OutputSimpleText(0, 1, 1, (char*)potencia);
Na, me sigue saliendo rosita el fondo en vez de transparente [decaio]
Yo se programar en C++...

Pero me baje las librerias ndslib y el devkitpro... y ahora, que editor abro? Me vale el Devc++ que tengo en windows? Uso alguno de msdos? Como asocio las librerias al programa?? Mediante un include? Como hago para usar el compilador devkitpro?

Gracias!
También, más fácil como tu dices. Pero se me ocurre, que pasa si tu programa va a menos de 60fps?? imagínate que xq tiene mucho calculo y no puede por ejemplo, o que kieres esperarte solo 5ms, con esa función no sirve. Tiene que poderse dormirse X ms de alguna manera, ya que es muy básico en la programación de videojuegos.
N3TKaT escribió:Por lo que el mismo estubo comentando en #dsdev ayer parece que su proveedor de hosting esta teniendo algunos problemas, supongo que en unos dias volvera a estar online.


Ok, gracias N3TKaT.

Para los que esteis usando las PA_lib, tengo una duda y no soy capaz de solucionar una cosa, bueno la he solucionado pero usando una chapuza de las cuales no me gusta nada.
Durante la intro en mi juego muestro una frase en la pantalla táctil, el típico "Touch or press start"; bien pues tras tocar la pantalla o pulsar el start, el juego salta a la primera fase y la frase se sigue mostrando en la táctil.
Lo que quiero saber es si hay alguna funcion que quite un texto de pantalla o algo... de momento tengo puesto espacios y de esa manera no se ve nada, pero es un mal remedio y los recursos usados para la frase siguen estando en uso.

Por cierto, se ha actualizado el devkitPro, y no se porque pero no puedo reinstalar las PA_lib, a ver que me dice Mollusk.

Venga un saludo
HexDump escribió:Um.... N3tkat, n3tkat.... de que me sonará a mi ese nick :P.

A ver si me hago pronto con un flash para correr hb.

Anda, la perra de HexDump [burla2]. A ver si te pones con DS tio, que es muy divertida de programar.

Lord_Rafa escribió:Te importaria cambiar la URL de mi pagina en el primer post por http://www.tonimix31.com/clsds/ es que me he mudado de servidor.

Hecho :)
Buenas,

Tengo una pregunta rápida y concisa, ¿cómo se hacen los tiempos de carga?

Estoy preparando un proyecto bastante grande y preveo que voy a tener que hacer algunos tiempos de carga para borrar sprites y crear los nuevos y tal... El tema es que no tengo mucha idea de como hacerlo...

Tampoco me corre mucha prisa pero bueno, a ver si alguien me ilumina :D
Saludos Nekete, pues te cuento yo tenia los archivos en cpp y ni aun asi me compilaba, pero puede que fuese algun error al escribir la interfaz, ya que lo hacia así:

#ifndef __Clase_h

class Clase{
variables....
public:
metodos...
}

#define __Clase_h
#endif


Bueno el caso que estoy cambiando todos mis archivos a .C . Porque las funciones que llevan las Palib no trabajan para mi. Por ejemplo la de PA_SpriteTouched, no hace ni papa. y las del Pad no me va ( y no me veas yo como un gilipollas dandole que te pego y más mosqueado porque le daba a las flechas y no se movia). El problema que ahora me sale un error muy raro, no al compilar sino al realizar el linkado:

linking MiProyec.arm7.elf
built ... MiProyec.arm7
make[1]: Leaving directory `/c/Practicas/Nds/MiProyec/arm7'
make -C arm9
make[1]: Entering directory `/c/Practicas/Nds/MiProyec/arm9'
Tablero.c
main.c
linking MiProyec.arm9.elf
c:/devkitPro/PAlib/lib\libpa9.a(PA.o): In function `PA_VueKeys':
c:/devkitPro/PAlib/lib/arm9/PA/PA_3D.c:32: undefined reference to `sin'
c:/devkitPro/PAlib/lib/arm9/PA/PA_3D.c:33: undefined reference to `cos'
c:/devkitPro/PAlib/lib/arm9/PA/PA_3D.c:34: undefined reference to `tan'
make[2]: *** [/c/Practicas/Nds/MiProyec/arm9/MiProyec.arm9.elf] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/Practicas/Nds/MiProyec/arm9'
make: *** [arm9/MiProyec.elf] Error 2
189 respuestas
1, 2, 3, 4