Buenas a todos, quiero empezar a aprender a programar en DS (La ds ya casi a muerto, pero es no significa que muera los homebrews) y necesito ayuda con la programación, que me hago un lío, vamos a ver, leyendo en la web de nightfox, he leido como se instala, si instalando devikpro y visual c++ en C:\NDS y que me descargue una utilidad para que el visual genere proyectos de ds, todo instalado, luego en la carpeta del proyecto, pongo la libreria nflib de nightfox, y compilo un juego, y me sale un .nds que cuando lo habro dice Hello world! eso significa que ya puedo empezar a programar, pero es que sabemos que es dificil y me ago un lio, sé que tengo que abrir el Main.c de la carpeta source, y lo abro pues leyendo tutos del nflib, pues no me entero (normal de un novato) y dice que lea los tutos de C, pero no los entendí muy bien, ya saber ponen, tienen que poner tal codigo y no os copiéis favorece el lenguaje, y yo, lo tendría que poner el código en el main.c no? pues donda donde lo ponga, al compilar me dice un error, como make *** [build] error o algo así, y no es problema de instalación de libreria, porque si me compilaba bien al principio, y si lo borro todo comoe staba antes si me compila bien, es decir, que no lo entiendo, por favor, me pueden ayudar un poco con esto, soy novato y quiero ser un coder, y hacer mis juegos, Gracias a todos, si no entendéis algo decidmelo ;)
Edito: Poco a poco avanzamos, gracias a Dioni, hemos conseguio cargar fondos, y me parece un avance de programación, segúro que poco a poco voy a saber más cosas :)
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Lo de que puedas compilar sin
Lo de que puedas compilar sin errores significa que has hecho la instalacion bien, pero haber, ¿que codigo intentas poner (ponlo con la opcion del Tiny de insertar codigo y selecciona C)? Pon el error entero, porque dudo que te ponga solo eso. Te pondra las lineas del codigo en la que tienes fallos y al final de cada linea te pondra que fallo hay ahi.
Street Fighter X Tekken Mobile CMV 2
Mira
Sobre las constantes sale este codigo: (un ejemplo)
Y la duda es ¿Donde lo tengo que poner el código en la ds para que vaya? o primero tengo que hacer el codigo en el PC? porque yo me hago un lío, no sé en que parte del main.c hay que ponerlo para que vaya :( porque si nightfox me ha dicho que los tutos de C sirven en el nflib, si alguien me pudiera ayudar, porque soy un auténtico novato :(
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Vete mas despacio, no
Vete mas despacio, no empieces ya con defines o funciones de imprimir texto en pantalla sino entiendes aun como funciona la estructura del lenguaje C. Antes de empezar con nflib, como ya te dijeron, tienes que aprender C, pero aprender C no es copiar un codigo en un main.c que no sabes como funciona y darle a compilar esperando que todo vaya bien. Lo primero que tienes que entender es como funciona (para que sirven los ;, que son los return, como funcionan los bucles, etc.), y luego puedes empezar a programar usando nflib, porque los tutoriales de C de WWW estan hechos para programar para PC. Si bien es cierto que te pueden servir para programar en nds aprendiendo sobre C, necesitaras compilar usando el template para PC, etc, porque el que usas es para DS, y no va a funcionar sin el while que mantiene funcionando la DS ni nada de lo que tienes ahi puesto.
Street Fighter X Tekken Mobile CMV 2
Entonces ?
Me leo los tutos de C, solo leerlos y cuando lo lea y entenderlo ya puedo aprender a programar en ds?
Si los entiendes, no veo
Si los entiendes, no veo problema. Tambien puedes leer los tutos de almamu que tambien tienen al principio un poco sobre como funciona C, y al estar ya para DS no te armaras tanto lio.
Street Fighter X Tekken Mobile CMV 2
Vamos haber
Que me hago un lio xD ¿que hago entonces? los tutos del ALMAMUPP yo no los entiendo bien.
Porque mira, dice, después de mostrar el main, dice:
Primero de todo voy a explicar las distintas partes del código, quiero destacar que este main.cpp solo sirve para escribir en consola, y no sirve para mostrar gráficos, más adelante pondremos gráficos.
Y abajo sales unos codigos, sale
En esta parte del código incluimos los archivos necesarios con las funciones que usa NFlib y las que usaremos nosotros.
<span style="color: #993333;">int</span> main<span style="color: #009900;">(</span><span style="color: #993333;">void</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
Aqui simplemente iniciamos la funcion main, la cual se ejecuta automáticamente al iniciar el Homebrew.
consoleDemoInit<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Inicializa la consola de texto</span>
Aqui iniciamos el sistema de texto estilo consola, es una buena opción para escribir mensajes de debug.
iprintf<span style="color: #009900;">(</span><span style="color: #ff0000;">"<span style="color: #000099; font-weight: bold;">\n</span> Hello World!"</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
Esto escribe un mensaje en la consola de texto y lo muestra en al pantalla, es simple de usar.
Entonces yo pongo los codigos en el main abajo de lo de inf_lib.h (Segun he leido) y cuando compilo sale:
1>arm-eabi-gcc -MMD -MP -MF /c/NDS/projects/Estudio/Estudio/build/main.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /c/NDS/projects/Estudio/Estudio/include -I/c/NDS/devkitPro/libnds/include -I/c/NDS/projects/Estudio/Estudio/nflib/include -I/c/NDS/projects/Estudio/Estudio/build -DARM9 -c /c/NDS/projects/Estudio/Estudio/source/main.c -o main.o 2>&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g'
1>This application has requested the Runtime to terminate it in an unusual way.
1>Please contact the application's support team for more information.
1>Cannot create temporary file in c:\NDS\projects\Estudio\Estudio\build\c\Users\jose\AppData\Local\Temp\: No such file or directory
1>linking Estudio.elf
1>arm-eabi-gcc.exe: error: main.o: No such file or directory
1>make[1]: *** [/c/NDS/projects/Estudio/Estudio/Estudio.elf] Error 1
1>make: *** [build] Error 2
y me sale que dejo de funcionar, y entonces no sé, deberia compilar un .nds con un texto pero no T-T
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Si el template te compilaba,
Si el template te compilaba, es que tienes algo mal puesto en la carpeta o en el main.cpp, porque el codigo que ponia almamu ahi era el mismo que el del template. ¿Lo tienes todo bien colocado? Carpetas, archivos dentro de las carpetas... Simplemente copia todo el template sino lo hiciste ya. Todo esto siempre que hayas puesto el codigo bien y lo hayas entendido, porque como ya te han dicho mas abajo, aprender no consiste en copiar y pegar...
Street Fighter X Tekken Mobile CMV 2
!NO SIRVE!
Mira ayudenme, he puesto una función para el HomeBrew, lo he compilado, sin errores, y ahora a la hora de abrir el .nds !se queda en blanco! esta e la función (la he puesto sin copiar)
Deberia salir un menú principal pero a la hora de ponerlo se queda en blanco! ayuda!
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Hum....
Te falta cosas;
hacer un limpiado de pantalla, restaurar brillo, cargar las librerias y que la funcion void Menuprincipal() se llamo int main()
Lo siento
No me enteré muy bien.
Un Copy/paste de la noticia para crear texto.
Pues que raro
Pongo el code (sin copiar) el que yo puse antes, ahora pongo todo bien pero a la hora de compilar dice algo que dejo de funcionar, y al recompilar salió:
1>------ Operación Generar iniciada: proyecto: Estudio, configuración: Debug Win32 ------
1>Ejecutando acciones de proyecto de archivo MAKE
1>main.c
1>arm-eabi-gcc -MMD -MP -MF /c/NDS/projects/Estudio/Estudio/build/main.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /c/NDS/projects/Estudio/Estudio/include -I/c/NDS/devkitPro/libnds/include -I/c/NDS/projects/Estudio/Estudio/nflib/include -I/c/NDS/projects/Estudio/Estudio/build -DARM9 -c /c/NDS/projects/Estudio/Estudio/source/main.c -o main.o 2>&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g'
1>c:/NDS/projects/Estudio/Estudio/source/main.c: In function 'MenuPrincipal':
1>c:/NDS/projects/Estudio/Estudio/source/main.c(55):2: warning: 'return' with a value, in function returning void [enabled by default]
1>linking Estudio.elf
1>c:/nds/devkitpro/devkitarm/bin/../lib/gcc/arm-eabi/4.6.1/../../../../arm-eabi/lib/thumb/ds_arm9_crt0.o: In function `CIDLoop':
1>(.init+0x218): undefined reference to `main'
1>collect2: ld returned 1 exit status
1>make[1]: *** [/c/NDS/projects/Estudio/Estudio/Estudio.elf] Error 1
1>make: *** [build] Error 2
1>El registro de compilación se guardó en el "file://c:\NDS\projects\Estudio\Estudio\Debug\BuildLog.htm"
1>Estudio - 0 errores, 1 advertencias
========== Generar: 1 correctos, 0 incorrectos, 0 actualizados, 0 omitidos ==========
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Has puesto
una función void, la cual no puede devolver ningun valor.
En serio, el código que te viene por defecto NO LO MODIFIQUES si no sabes.
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.
No entiendo
bien esto, recomiendo que alguien me de por Mensaje Privado su MSN y yo lo añado y hablamos directamente, porque si no, nos vamos a llenar de preguntas que hasta una letra es una linea xD.
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Mp enviado
Mp enviado
Si, basicamente es eso
pero nada de copiar ni de pegar, solo es enterder la base de la programacion.
Ese
código no te va a funcionar en la DS, porque está pensado para PC. Ni incluyes las librerías de NDS, ni inicias el modo consola de texto...
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.
La cosa es que asi nunca te va a ir
porque? porque eso esta hecho en C de PC.
Porque no te pasas por los tutos de nflib? Y te dejas los de PC?
Pero
Si lei que tendria que leer los tutos de C, y además OFF-TOPIC cuando cambias el avatar pareces otro usuario xD
Si, los cambios de avatar siempre los hago drasticos.
Vamos a ver, los tutos de PC es para que tengas una base, pero eso no servira nunca a NDS porque la arquitectura es distinta, los tutos de PC son para tener una base sobre constante, variables, bucles, sentencias, estructuras, arrays.
Pues
yo cuando empezé, ya sabia lo basico de C. Segui el tutorial usando la libreria precompilada de aqui en SB, simplemente la baje, la coloque en la carpeta C:\devkitpro, y como ya tenia el Notepad++ no necesite instalar nada de lo demas. Ahorita estoy parado, voy por el tuto 2 pero me estoy tomando un descanso... Yo no he tenid problemas de compilación de esta forma, todo normal. Prueba hacerlo como yo.
Saludos ;)
EDITO:
Probe bajando la nueva version de la NFlib. Y me da el error que tu dices!!! Falta que se pase por aqui kNightFox, y nos ayude con este inconveniente... Sino, a usar la version anterior.
Equipos
Si vosotros os pasarais por
Si vosotros os pasarais por los foros OFICIALES de la libreria, no tendrias que esperar a que yo me pasara por aqui....
http://www.nightfoxandco.com/forum/index.php?topic=271.0
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
Wooops
Revise mi codigo, y el error no era de la libreria, era mio por colocar una letra de mas en un par de funciones...
Sorry -///-"
PD: Que bueno que ahora los mensajes de error puedan mostrarse en español :) +1 por eso
Equipos
Un momento!
Cuando yo compilo el juego sale bien, pero cuando modifico algo sale eso, entonces ¿no es que lo haya puesto mal? sino ¿que es porque falla algo?
Consolas: DS, WII, 3DS.
Juegos 3DS: Super mario 3D Land, Mario Kart 7, One Piece Unlimited Cruise SP y Sonic Generations
Eshop: Pullblox, Mario vs Donkey Kong ¡Los minis marchan de nuevo!, Birds Mania 3D, Fun! Fun! Minigolf touch!, Colors 3D, Kid icarus (GC) Super Mario land 2:6 golden coins(GB), Calculadora Mario, Pyoro, Inchworm Animation y Photo dojo.
Consolas pirateadas: WII, DS.
Consolas en espera para piratearlas: 3DS.
Si te compila el template y
Si te compila el template y empiezas de 0, lo tienes bien. Esto solo sirve para gente que tiene projectos empezados y al actualizar les da problemas de compilacion.
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
Hombre
Si no has leido bien el post, dice claramente que me compila bien, dije que no sabía que habia que hacer.