[Leer antes de postear] Programación de DS

1, 2, 3, 4
bueno devo ser yo el inutil xq la verdad es q algo rtan sencillo como hacer aparecer pixels aleatoriamente hasta llenar la pantalla no me sale.

el codigo es este:

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


y el problema es q de aleatorio nada, porq los pixels me salen de forma que se intuyen 3 linias paralelas (nose como explicarlo, pero creedme q no es aleatorio) y ademas salen muy lentamente.

alguien me echa una mano? :P

asiasss
Saludos, acabo de ver la funcion, y tienes una función que es PA_InitRand(), con esa se supone que coge la semilla generatoria a partir del reloj del sistema con lo que eliminas que se repita la secuencia (no lo he llegado a probar), pero si usas eso ya no puedes usar el srand, porque te cargas la semilla. Y PA_Rand, supongo que te devolvera un float con un valor entre 0 y 1, aqui ya entras en juego tú para regular el rango de aleatorios que estas buscando.
A ver si te sirve con ésto que cogí de Crazy Lords:

-Abrimos nuestro software de retoque fotografico con la imagen, la salvamos como GIF.

-Abrimos de nuevo el Paint y volvemos a salvar la imagen como BMP de 256 colores.

A mi me pasaba lo mismo que a ti, y con éso me coje el color transparente ;D.

Un saludo, Nekete.
Al pasarlo a GIF, hay que fijar los colores que serán transparentes y grabar ;D (no sé si es lo que te falla, pero yo lo he hecho así con tu imagen).

Un saludo, Nekete.
En los foros de la pagina de Talfi,

http://www.talfi.net

he realizado unos cuantos tutoriales de las palib y los fuentes de mis juegos como Antarex.

Espero que os sirvan de ayuda [oki]
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.
¿Alguien me puede comentar lo de los sprites que he dicho?

YaW escribió:Estoy empezando con las PAlibs ahora que estoy dando C en clase...

El máximo tamaño de un sprite es de 64x64 no? Y si quiero poner un caballo que ocupa por ejemplo 128x64?
he encontrado una solucion "intermedia" mientras me entretengo a buscar que es lo que no funciona, y es simplemente pegar el codigo de los archivos de la imagen en el Programmers Notepad y aprovechando una de sus funciones pues hacer que solo se vea la definicion de la funcion.

muchas asiasss!!
Según he leido, lo que se tiende a hacer es partir los dibujos en tantos trozos como sea necesario. En tu caso, serían 2 sprites de 64x64 ;).

Hay un modo llamado "double", pero que no te lleve a engaños porque no permite meter sprites de 128x128, es para que al rotar el sprite no quede cortado por algún lado.

----------------------
#define PA_SetSpriteDblsize (
screen,
obj,
dblsize)
PA_obj[screen][obj].atr0 = (PA_obj[screen][obj].atr0 & ALL_BUT(DBLSIZE)) + ((dblsize) << 9)

Enable or disable double size for a given sprite

Parameters:
screen Chose de screen (0 or 1)
obj Object number in the sprite system
dblsize 1 to enable doublesize, 0 to disable it...
----------------------

Un saludo, Nekete.
En vista de que hay gente a la que le interesa el tema de programar la DS y estaban proponiendo reflotar el hilo antiguo que hice, he preferido abrir uno nuevo con el mismo contenido para irlo actualizando en vez de levantar el otro que lleva sin tocarse desde mayo XD.

Enlaces utiles:
NDSTech Wiki: Wiki donde mas o menos se esta centralizando todo el trabajo en torno a la DS.
Drunken Coders: Web con noticias al dia, ejemplos y demos.
DesktopMan's homepage: Algunas noticias y demos.
Darkfader: Descubrio el metodo en el que se basa el PassMe para cargar codigo casero.
Foro de gbadev (apartado DS): El apartado sobre programacion de DS del foro de la web gbadev.org.
DSDev: Web hermana de gbadev.org sobre DS (aun casi sin contenido).
DSlinux: Noticias sobre desarrollo de DS y proyecto de portar Linux.
dstek: Documentacion bastante completa sobre el hardware de DS.
Ethos's Space: Tutoriales y Demos.
Dovoto Day 1: [PDF] Pequeña introduccion a la programacion de DS.
Tutoriales de Aaron Rogers: 11 tutoriales sobre la PA_lib.
Tutoriales de Chris Double: 10 tutoriales.
ndslib user guide: Guia de uso de la ndslib.
Geardome: Noticias y tutoriales en Español.
Crazy Lord DS: Tutoriales y utilidades en Español.
Visual Studio para GBA/DS: Tutorial que explica paso a paso como utilizar Visual Studio en los proyectos de GBA y DS.
sPAnishLIB: Tutoriales en Español sobre el uso de las librerias PA.

Sitios donde comprar un PassMe:
natrium42: El creador original del PassMe.
dspassme: Vende PassMe hechos e incluye un interesante tutorial paso a paso de como construir uno (aunque en España sea casi imposible obtener el CPLD que usa).

Emuladores de DS:
Dualis: Actualmente es probablemente el mejor emulador disponible.
HyperDS: Promete bastante, pero de momento no hay ninguna version publica.
iDeaS: El unico que actualmente emula tanto el ARM9 como el ARM7.
DSEmu: Despues de algun tiempo parado parece que el desarrollo de este emulador va cogiendo ritmo.

Utilidades:
GNU MSys: Minimal system de GNU, necesario para tener 'make' y demas si no se tienen ya.
devkitPro: Conjunto de compiladores para varias plataformas, entre los que se incluye el devkitARM.
devkitARM: Incluye el gcc y utilidades para compilar para cpus ARM.
ndslib: Libreria opensource para DS.
PA_lib: Una libreria que se monta sobre la ndslib y simplifica muchas cosas. Recomendada para los novatos.
FlashMe: Actualizacion del firmware para cargar codigo casero.
WifiMe: Driver y software para cargar codigo por wifi.

FAQ:
P: ¿Que necesito para empezar a programar DS?
R: Con un compilador para ARM (por ejemplo el devkitARM) ya puedes programar DS, aunque para facilitar un poco las cosas es recomendable usar las librerias ndslib.

P: ¿Como pruebo lo que he programado?
R: Puedes probar en un emulador o en la consola utilizando alguno de los metodos de carga: PassMe, WifiMe o FlashMe.

P: ¿Que es un PassMe?
R: Es un circuito que se conecta entre la DS y un juego de la misma modificando la cabecera del juego para que realice un salto al cartucho de GBA donde esta nuestro codigo.

P: ¿Y el WifiMe?
R: Es un driver para las tarjetas wifi basadas en el chipset RT2500 (lista) que permite comunicarse con la DS para actuar igual que un PassMe. Usado junto al FlashMe permite cargar codigo casero por wifi.

P: ¿Y el FlashMe?
R: Es una modificacion del firmware de la consola que permite ejecutar codigo casero directamente desde un cartucho flash de GBA (igual que un PassMe). Tambien elimina la comprobacion del RSA, por lo que permite cargar codigo casero por wifi.

Si teneis alguna pregunta mas hacedla y la añado al FAQ.

--------------
Cambios:
31/03/05: Primera version
01/04/05: Añado algunas webs mas y el FAQ.
06/04/05: Añado un .rar con la ndslib actualizada al dia de hoy y un instalador.
12/09/05: Abro un nuevo hilo.
12/09/05: Pongo algunas URLs al dia y añado varias mas.
14/09/05: Actualizo URLs
15/09/05: Pongo un poco de color :)
Me alegro que al final se haya abierto un hilo y que este a la orden del dia con el desarrollo de Nintendo Ds ;)
Hay que añadir muchas cosas ;) desde páginas, a las PA_lib, y en lugar del devkitArm poner el devkitPro donde ya viene todo en un pack.

Venga a ver si entre todos hacemos un buen hilo.

Venga N3TKAT o Wizardy que ya no se ni como llamarte :D:D:D me alegro mucho que se haya abierto este hilo ;)

Un saludo
Muchas gracias por crear este post [tadoramo] [tadoramo] [tadoramo].

Venga, a ver si puedo ayudar un poquito:


PROGRAMACION EN DS:

http://www.aaronrogers.com/nintendods/ : Tutoriales de programacion en DS con las PA_Lib.

http://www.double.co.nz/nintendo_ds/ : Tutoriales de programacion en DS con las ndslib. Del creador del emulador DSEmu.

http://www.geardome.com/ : Tutoriales de programacion en DS con las ndslib, ademas de tutoriales de C++ y otras librerias graficas. Tutoriales de Double traducidos en español.

http://teamnnc.free.fr/phpBB2/portal.php : Creador de las PA_Lib. Tutoriales y documentacion con estas librerias mas sencillas pero menos potentes que las ndslib.

http://www.aaronrogers.com/nintendods/index.php : Mas tutoriales de programacion con las ndslib.



PROGRAMACION EN GENERAL (para iniciados):

http://www.elrincondelc.com/portal/index.php :Algunos pasos para empezar con C/C++

http://www.lawebdelprogramador.com/ :Una gran comunidad de programadores. Muchisima documentacion y tutoriales.

http://nehe.gamedev.net/ :Buenos tutoriales para iniciarse en el OpenGL.


Tengo alguna cosilla mas por ahi. Tutoriales para diseño en 3D etc. si quereis, pedir.


Saludos [boing]

EDIT: Se me olvidaba, te importaria que copiase esto en otros foros?
KorteX escribió:Venga N3TKAT o Wizardy que ya no se ni como llamarte :D:D:D me alegro mucho que se haya abierto este hilo ;)

Llamame N3TKaT que es mi nick de toda la vida, lo de que usara Wizardy aqui es una larga historia [carcajad].

zeroshcr escribió:EDIT: Se me olvidaba, te importaria que copiase esto en otros foros?

Copia lo que quieras, pero pon un enlace a este hilo, para que la gente colabore.

Venga, a ver si conseguimos mantenerlo al dia.
Subir este hilo a fijo, ya que es de bastante interés, porque esto es parte importante de lo que llaman por aqui "scene"...
Ya hacia falta un hilo como este y haber si este se mantiene mas actualizado por que anda que no a crecido la scene en dos meses
( sobre todo el tema las PAlibs que no hay manera de esta actualizado [sonrisa][sonrisa][sonrisa][sonrisa])

Edito: He estado viendo el tutorial que hay en la pagina de molusk sobre como poner sonido desde un wab pero por mas que lo intento no consigo que me funcione alguien me podria hacer una mini tradu del tuto. Esta es la pagina

Y este son el wav y el raw que estoy utilizando
¿os ha dado problemas la nueva version de las PA_lib? Es que tras actualizar las librerias, ya no puedo compilar correctamente, me empezó dando error en la nueva funcion de animacion de sprites pero no en mi codigo, sino en el codigo de las PA_lib, desinstale todo lo he vuelto a instalar y sigue sin funcionarme :( que rabia, a ver si me podeis echar una mano... que ya me estoy desesperando [buuuaaaa] [buuuaaaa]

EDITO: al parecer Mollusk acaba de sacar una nueva version de las librerias por los problemas que estaban dando con los makefile al actualizarlas, ya las he puesto y ya funcionan la mar de bien :D
Esta nueva version tambien soluciona el problema que tenia
ahora solo me queda saber como poner un avi en la nds y podre acabar mi juego :p .
Gran hilo para los que estamos empezando a programar :)

Le he comentado al mod de la sección que ponga este y el glosario como hilos importantes.

Marchando 5 estrellas :)
Hola N3tkat soy el webmaster de la web Crazy Lord DS. 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.

Gracias
Creo que tienes que añadirle el loader para que arranque en SC.

Y yo no te recomendaría usar librerías tan grandes como la stdio (creo que es grande, a lo mejor me equivoco) pero en teoría si que se puede, aunque no estoy nada seguro :D
Jumm, N3TKaT. ¿Tienes alguna peig donde metas las cosas que haces para DS? Tengo curiosidad por aquel programa de dibujo con graficos de Mario Paint que enseñaste hace tiempo. Y por el emulador de Master System :P.

Por cierto, estaría bien que dieses algo de estilo a la recopilación de links para hacerla más agradable. A mi me ha gustado (y he copiado :P) los titulares en color naranja que ha usado Razielus para el hilo de Scene DS.
prizzio Puedes usar librerias pero creo que tienen que estar programadas para arm por que muchas veces en la librerias se suele incluir codigo ensamblador que es propio de cada arquitectura.

En breve convertire los ejemplos para que sean compatibles con las PA_libs 0.52a que trabajan bajo el Devkitarm que es mas actual que el NDSdev pero me da miedo por que a la velocidad con que sacan versiones de las palibs no hay manera de que mis ejemplos esten a la ultima.
prizzio escribió:Una pregunta, al realizar pogramas para DS, se pueden utilizar libreria como stdio.h de C++???

Puedes usar esas librerias si quieres, pero ten en cuenta que hay cosas que en DS no funcionaran o tendran un comportamiento indeterminado (como por ejemplo fopen, printf, ...).

Cap. Tostadilla escribió:Jumm, N3TKaT. ¿Tienes alguna peig donde metas las cosas que haces para DS? Tengo curiosidad por aquel programa de dibujo con graficos de Mario Paint que enseñaste hace tiempo. Y por el emulador de Master System :P.

Cuando saque un ratillo y no tenga ganas de programar (que todo el tiempo libre que tengo lo dedico a eso XD) intentare hacer una web para poner en http://www.n3tkat.com/ y metere todas las cosas que tengo hechas para consolas.
Del emulador de Master System rula por ahi la version que presente a la compo de neoflash, aunque es una mierda (comparado con el estado actual del emu XD), a ver si lo pongo fino y saco la version 0.3 :).

Cap. Tostadilla escribió:Por cierto, estaría bien que dieses algo de estilo a la recopilación de links para hacerla más agradable. A mi me ha gustado (y he copiado :P) los titulares en color naranja que ha usado Razielus para el hilo de Scene DS.

Hecho :) Ya me contareis que os parece como ha quedado.
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.
Buenas, creo que te he contestado en los foros de Mollusk, pero te lo cuento tambien aqui. En el proyecto que estoy realizando, por hacerlo más organizado quise tambien hacerlo por clases, y me daba errores al compilarlas. Así que creo que no admite la creacion de clases.

En otro orden de cosas estoy teniendo problemas con las funciones del PAD, no me funcionan correctamente. A todo el mundo le va lo de:
Pad.Newpress , Pad.Held y Pad.Release, porque de las direcciones la única que me hace caso es mover hacia la derecha.
Respecto a las colisiones:
He mirado un poquillo, pero me cuesta encontrar cosas en castellano.
Aquí tienes unos cuantos algoritmos(sin comentar :S).
Y en inglés te puedes jartar a leer, pero encontré ésto que explica cosillas básicas sin un inglés muy complicado. (en los foros de gamedev parace haber muchas cosas, aunque ahora no puedo entretenerme :S).

"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?". Si te refieres a con el stylus, sí hay una función que permite gestionar "toques" en una zona determinada(x1,y2,x2,y2).

Un saludo, Nekete.

PD:Si alguien se hace con cómo funciona el sonido, que me diga algo porfavor :,,(. Tengo un proyectito parado por éso.
Reservé memoria, hice un puntero que apuntaba a élla y luego grabé en esa zona con la función de PA_lib hasta desde que se pulsa un botón hasta que se suelta. ¿Hay que hacer algo más tipo gestor de tiempo o algo?.

Cenkiu!

PD2: Mira también alguno de los juegos/demos de aquí a ver si encuentras alguna "idea feliz" ;D
Buenas, suponiendo que la ruta del devkitpro es la de por defecto
( C:\DevkitPro ), que tienes copiadas las Palib en ese directorio( de forma que te quede C:\Devkitpro\PALib ). La única ruta que debes crear tú, es en variables de sistema PAPATH = /c/devkitPro/PALib . Luego ejecutas el install.bat dentro del directorio C:\DevkitPro\PALib. Y te debería funcionar, por lo menos hasta la versión 0.77a.
de que tipo es la variable, recuerda que segun que tipo es debes usar un codigo ó otro, por ejemplo para enteros %d, para flotantes %f, para strings %s, etc..
Buenas, a mi me interesaria poder hacer algo en NDS puedo programar en C/C++ nada muy complejo pero bueno, así me motivo para seguir aprendiendo ^^. El problema que tengo me viene precisamente por haber leído demasiado de los enlaces que se dan al principio del hilo, y es que ya no se qué usar: si devkitpro o nds dev env, qué version de las librerias usar, compatibilidades, incompatibilidades, instalación, cambios... si los que estáis metidos en esto podéis decirme exactamente qué estais usando y si hay complicaciones durante la instalación, que hay que hacer y demás pues me será de gran ayuda, ya que es triste pero los problemas no los tengo al hacer algo sino que directamente ni puedo empezar XD
Gracias!
Pues muchas gracias Morpheo17 :-P (que rapido has contestao [oki] )
Ahora a empollarme ese driver, mirare a ver en la web de las Palib, en fin, a aprender el nuevo metodo.

Un Saludete!! [beer]
regalado yo estoy utilizando el devkitpro por que el nds dev hace tiempo que no se actualiza mientras que devkit pro esta actualizandose cada muy poco. En cuanto a las librerias yo estoy usando las Pa_libs 0.53b por que son las mas faciles de usar.

En cuanto a la instalacion del devkit es muy facil te descargas el instalador lo ejecutas, se conectara a internet para descargarse las ultimas versiones de los programas y librerias que trae y empezara a instalarse solo. Te recomiendo que lo instales en C:\devkitpro.

Las pa libs se instalan = de facil te las descargas, las descomprimes, copias las carpeta "PA_lib" dentro de C:\devkitpro, ejecutas el install que hay dentro y listo.
Y al final hay que cambiar las variables de entorno como vi por ahí o no hay que hacer nada? Es que juraría haber leído algo de unos errores a la hora de compilar a no ser que se hiciesen unos cambios...
Segun lo que dices me parece que ha sido mea culpa por que te dije que lo instalases en c:\devkitpro culla ruta tiene mas de 8 caracteres.

Lo que queria decir es que lo instalases donde te dice el programa por defecto (no me acuerdo ahora).

Lo siento pero es que te dije la ruta de memoria [tomaaa] [tomaaa] [tomaaa] [tomaaa]


Tambien tienes que asegurarte de que la carpeta palib no tenga otra subcarpeta llamada palib como suelen crear algunos descompresores.

En lo que se refiere a la variable de entorno tambien te dije en nombre de memoria y aunque creo que era asi te recomiendo que te leas el txt que viene junto a las librerias para saber el nombre exacto.

Bueno na mas y espero que me disculpes pero es que toy estudiando fuera y el no tener mi pc al lado me esta trastornado [tomaaa] [tomaaa] [tomaaa] [tomaaa]
no es lo que pides pero te remito a la respuesta de jandujar en este hilo: http://www.elotrolado.net/showthread.php?s=&postid=1703393996#post1703393996
por si te sirve de algo
Saludos, bueno pues lo de la semilla es por el algoritmo que se utiliza en la generación de número como tú dices pseudoaleatorios. Digamos que partes de un número, y a raiz de ese número realizas unas operaciones matematicas, de las cuales el resultado no es predecible, ahi obtienes el número aleatorio. El problema que tienes es que si partes del mismo número generador la secuencia de aleatorios generadas es siempre la misma. Ejemplo: Imágina que utilizamos el dato 8 como semilla si realizamos el algoritmo obtendremos la siguiente secuencia: 8-> 5-7-3-15-1-2-6 ok, el caso es que siempre que usemos esa semilla vamos a obtener esa secuencia. Por eso esta la funcion del inicializador del random. Esa función lo que hace es coger la hora del sistema, convertirla a un valor númerico y usarla de semilla, de esa forma te aseguras que cada vez que ejecutes tú generador de aleatorios nunca obtengas la misma secuencia ya que nunca tendras la misma semilla. Espero que te haya quedado más claro.

En otro orden de cosas, ayer Mollusk saco una nueva revisión de las PA_Lib , la version 0.63a. El caso es que instalarlas se instalan perfectamente pero al compilar los programas que hacen uso de la libreria da un error :
main.cpp
C:/devkitpro/palib/include/NDS/arm9/PA_Gif.h: In function 'void PA_LoadGif(bool, void*)':
C:/devkitpro/palib/include/NDS/arm9/PA_Gif.h:19: error: invalid conversion from 'void*' to 'const u8*'
C:/devkitpro/palib/include/NDS/arm9/PA_Gif.h:19: error:   initializing argument 1 of 'int DecodeGif(const u8*, u8 (*)[256], u16*, s16*, s16*)'
C:/devkitpro/palib/include/NDS/arm9/PA_Gif.h:19: error: invalid conversion from 'void*' to 'u8 (*)[256]'
C:/devkitpro/palib/include/NDS/arm9/PA_Gif.h:19: error:   initializing argument 2 of 'int DecodeGif(const u8*, u8 (*)[256], u16*, s16*, s16*)'
make[2]: *** [main.o] Error 1
make[1]: *** [build] Error 2

Le pasa a alguien más o soy el unico
De momento prefiero mantenerlo en secreto, más que nada por no crear ilusiones, pero cuando lo tenga avanzado prometo publicarlo.
Buenas creo que a mi no me va porque uso archivos en .cpp , he hecho las probatinas con el codigo que viene en .c y funciona bien. Sin ir más lejos la función PA_SpriteTouched no me funciona codficando para C++ y va bien en C, pero si readapto mi codigo a C me salen varios errores y warning. Unos warnings son referentes a los archivos gráficos (El fondo, los sprites, logos, etc...) estos warning hacen referencia a que con la herramienta Gfx2gba, me genera los archivos map.c, raw.c y pal.c pero me añade la palabra extern en las declaraciones, ese warning tiene facil arreglo, le quito la palabra y compila bien. Pero este error no lo se corregir:
FigurasB.raw.o:(.rodata+0x0): multiple definition of `FigurasB_Bitmap'
hola gente,antes de nada daros la enhorabuena por el pedazo de hilo q teneis aqui.
yo usuario de esta web pero en otros foros y es la primera vez q entro por aqui por eso os pido un poco de ayuda y paciencia con mis preguntas,vale?? gracias por adelantado.
os cuento,a mi hermano le han regalado una NDS y solo tiene el juego de mario(no se exactamente cual)
os agradeceria q me pusierais un poco en el tema ya q como no se nada de esta consola todos los links q e visto en el primer post me suenan a chino.
Qes lo q necesito para poder cargar backups en esta consola??
e visto q va todo mediante programacion(rectificarme si me equivoco por favor)
no se si tendra q ver la version de la consola o algo parecido.
por favor me podeis explicar un poco sobre este tema???
a cambio doy ayuda sobre ps2 q es mi fuerte y si es q la necesitais,ok??
venga gente muchas gracias y espero vuestras repuestas.
saludos.
Saludos y bienvenido al mundillo de la NDS ^^

Bueno, ante todo decirte que si, que se pueden cargar backups, y en cuanto a los métodos que hay para hacerlo.... pues hay varios, puedes pillarte un G6 un M3 , una Supercard , un Neoflash .... ahora dentro de poco salen los MK2 y Mk3 tb.

Si tienes un flash de los de gba como el EZ-flash y de mas, puedes darle uso y meter hay tus backups, para lo cual hay que flashear la DS, o lo que es lo mismo, hacer FlashME , para lo cual es necesario hacer antes, o Passme , o Wifime

Muuuuuuuuuuuuuuuuuuuuy por encima es mas o menos eso lo que hay, ya usa la busqueda del foro y ve informandote sobre estos temas. Yo personalmente tengo un EZ-flash y la DS flasheada, sobre los metodos de carga que te dije al principio, no te puedo ayudar demasiado, pero lo dicho, que buscando en los foros se encuentra d todo.

Ciao.



PD: este hilo no es el mejor sitio para hablar de esto, pues es de programacion de la DS, si tienes alguna duda k no soluciones leyendo hilos con la busqueda, abre un hilo propio plezzzz, pero no sigas posteando en ste hilo. ^^
Nekete todos los graficos son cuadrados y cuando tu dibujas un grafico se empieza a dibujar por la esquina superior izquierda de ese cuadrado.

Te suelto todo este rollo por que tienes que tener en cuenta que aunque tu grafico sea un circulo la ds va a dibujar un cuadrado con un circulo dentro y para que ese circulo llegue a los bordes de la pantalla tendras que restar los pixeles vacios que hay entre el borde del cuadrado y el borde del circulo.

Supongamos que tenemos la imangen de un punto del tamaño de un pixel en un un sprite de 16*16 pixeles en la parte superior central (8,1). En tonces para que el sprite llegara a los bordes pondriamos:

X=Stylus.X-7;
Y=Stulus.Y;

PA_SetSpriteXY (1,......,X,Y)



No se si te habra quedao claro la explicacion pero en fin es lo maximo que puedo dar a estas horas.
Muchas gracias! ya estaba usando las beta, porque había leido que en principio con c++ ya iba mucho mejor, pero no le había dado a lo de cppinstall

Bien, os comento la jugada, probé primero a hacer clean y luego al cppinstall, pero me daba un error.. (y ya de paso vi que no hacía falta darle al clean porque había una regla pa que lo hiciera solito antes del make xD)

weno, probé a cargarme las PAlibs enteras y volverlas a poner, dando como primera instalación al cppinstall pero el mismo error... el caso es que he probado a ver si así reconocía la clase y parece que sí, pero a cambio me daba otros errores en los bin del arm9 o el arm7, vamos, que no se había instalado bien antes, ya lo sabía xD

el caso es que casi desistiendo le doy al cinstall pa que volveiera todo a la normalidad y.. tachán... ya funcionaba, el caso es que no me lo explico muy bien, porque cinstall tambien hace clean...

ahms, eso si, cada vez que compilo me da unos warnings con el sonido, pero como que por ahora me doy por contento, además como es una beta puede ser de eso.. por ahora no molestan

os pongo los warnings:
cc:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h: In function 'void PA_PlayFSSoundEx(u8, u16, u8, int, s16)':
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h:295: warning: dereferencing type-punned pointer will break strict-aliasing rules
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h: In function 'void PA_PlayFSSoundEx2(u8, u16, u8, int, s16, BOOL, int)':
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h:331: warning: dereferencing type-punned pointer will break strict-aliasing rules
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h: In function 'void PA_PlayFSSound(u8, u16, u8, u32)':
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h:440: warning: dereferencing type-punned pointer will break strict-aliasing rules
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h: In function 'void PA_PlayFSSimpleSound(u8, u16)':
c:/devkitPro/PAlib/include/nds/arm9/PA_Sound.h:502: warning: dereferencing type-punned pointer will break strict-aliasing rules


Pues eso, muchas gracias otra vez a todos !!

ahms, si os interesa os pongo el error que me da el cppinstall
Hola, querría preguntaros a todos a ver que coño pasa:


Resulta que la me he bajado la ROM del brain training de Ds, varias versiones. Tengo todos los emuladores, y no me funciona con ninguno, alguien sabe porke?
Estoy empezando con las PAlibs ahora que estoy dando C en clase...

El máximo tamaño de un sprite es de 64x64 no? Y si quiero poner un caballo que ocupa por ejemplo 128x64?
1º) No es el hilo adecuado para preguntarlo.
2º) Actualmente no se pueden emular casi ningun juego de la DS
3º) Esto está respondido muchas veces aquí

:)
Nop, no se puede accededor a los ficheros de la SC y demás (con el método estandar de fopen y demas xD)
Peroo, ahora te doy la buena noticia, y es que si usas las PAlibs en una nueva version han incluido el driver FAT (Chishm's FAT Driver) que soporta M3, SC y MK2/MK3 de forma nativa ;) Así que la respuesta final es sí, puedes utilizar ficheros pero usando dicho driver ^^

Salu2
Vale merci tio, jejeje, la variable era tipo int, y estaba poniendo %i y es %d. Ahora ya me funciona.

Merci de nuevo. :)

Un saludo. [Ooooo]

PD: Por si alguien mas quisiera escribir enteros (INT), dejo la instruccion:

PA_OutputText (0,x,y, "%d" , variable);

x-> columna
y-> linea
Hola, hace tiempo me puse con el tema de programacion para la DS y lo deje un poco de lado por la uni. Ahora que ya se acaba el cuatrimestre me quiero volver a enganchar y probar cosas. Cuando comence segui un tutorial que habia en la pagina de Lord Rafa, la pagina se llamaba Crazy Lord DS.

¿Alguien sabe donde esta esta pagina? es que el enlace ya no funciona. Si sabeis de alguna otra pagina buena en español tambien os lo agradeceria ;).

Y una ultima duda, en c o c++ me parece que hay una instruccion que es para que el programa se espere un cierto tiempo antes de ejecutar la siguiente instruccion, ¿sabeis si se puede hacer con las PAlib?, una solucion seria hacer un bucle por ejemplo hasta mil, pero prefiero hacer lo de otra manera si se puede :).

Un saludo y gracias. [bye]
Una preguntilla, la DS acepta funciones como getchar o putchar? (vamos, lo que es el manejo de ficheros) para por ejemplo usar un ficherillo en la tarjeta flash (SC DS en mi caso)
y asi poder guardar datos y demas, o usa alguna otra funcion?

Por adelantado gracias :)
Ok, gracias, entonces probaré esto con los nuevos códigos, mi objetivo a corto plazo es hacer algún juego sencillo en 2D que use exclusivamente el puntero.

Algún juego de buscar errores, o tipo memory, un trivial...uff!

Bueno, voy derecho a hacer pruebas.

Salu2.
Buenas Yaw, te comento una solución temporal. Puede hacer lo siguiente si tú sprites es de 128 x 64, conviertelo en uno de 64x128, y luego puedes tratarlo como si fueran 2 sprites de 64x64, mira por ejemplo como coloco un boton yo que esta formado por 5 sprites.

Imagen

Como ves el boton original es de 160x32 , pero esta puesto en 32x160 y puedo tratarlo bien. Si necesitas un poco más de información de como tratar multiples sprites de un misma imágen me avisas.

En cuanto haga la entrega del proyecto, os pasare una versión del juego que he hecho.
189 respuestas
1, 2, 3, 4