Motor 3D - Nitro Engine V 0.6.0

1, 2, 3, 4, 5
Un avance de lo que voy a sacar el lunes:

Imagen
http://www.mediafire.com/download.php?k5wmnutznk0

La imagen de las ventanas solo es un ejemplo, puedes poner cualquier otra cosa que va a tener el mismo efecto... Más adelante haré una API en condiciones.

EDIT: Por cierto, he conseguido compilar el Nitro Engine en forma de librería y compilar un ejemplo a partir del archivo creado, por lo que a partir de ahora no hace falta tener en /source/NitroEngine todos los archivos .c, cosa que se agradece mucho :P.
una cosa, es que estoy probando pero no consigo que las imagenes ocupen el 100%, la verdad es que nunca he programado en 3d... Utilizo el gimp, creo una imagen 128x128, la convierto con "Nomad_NDS_Texture_Converter" la cargo con
NE_MaterialTexLoad(Material, GL_RGB, NE_SIZE_128, NE_SIZE_128, TEXGEN_TEXCOORD, (u8*) textura_bin);
y no me ocupa todo el poligono, Algún consejo/ayuda sobre el formato etc ?

gracias por adelantado
Supongo que está bien convertida porque si no directamente no se vería... Si pones el código igual veo cual es el fallo, así no se que puede ser...

PD: Usar texturas RGB de ese tamaño no te lo recomiendo, es malgastar la memoria de mala manera. Salvo que sea imprescindible mejor usa texturas con paleta, pero eso no tiene nada que ver con tu fallo.

EDIT: Seguramente tu fallo sea relacionado a esto, lo vi hace tiempo:
http://forum.gbadev.org/viewtopic.php?t=14478
Lo tendré que "arreglar" en el engine, porque a mi también me pasa. La DS es bastante tiquismiquis...

EDIT2: He visto varios fallos en el engine y hasta que no los arregle no lo liberaré...
arreglado, era un fallo tonto, hasta que me adapte..., cuando convertía el mesh con el NDS model exporter no ponía bien el tamaño de la textura, lo dejaba en 32x32

jajja [fumando] ein?
bfthsoft escribió:arreglado, era un fallo tonto, hasta que me adapte..., cuando convertía el mesh con el NDS model exporter no ponía bien el tamaño de la textura, lo dejaba en 32x32

jajja [fumando] ein?

[+risas] Pues sí que era un fallo tonto...

Por cierto, he localizado el problema y está en los modelos animados. Estoy trabajando en solucionarlo, pero no consigo entender qué es lo que falla. Sin embargo... como trabajar solo en eso es un aburrimiento... he empezado la parte de física del motor. [360º]  De momento funcionan perfectamente la gravedad y la fricción, y estoy trabajando en las colisiones. Sin embargo no se liberará nada hasta arreglar ese fallo con los modelos animados (cosa que espero conseguir pronto).

Ale, un saludo a todos y gracias a los que estáis dando una oportunidad a mi trabajo. :)

EDIT: Bounding boxes funcionando a la perfección ^^. A ver si mañana subo una demo.
Utilizas Axis-Aligned bounding boxes o de rotacion libre?
Si es lo segundo...como cojones has sido capaz de implementarlas antes que las esferas? xDD a mi aun me siguen dando problemas... [buuuaaaa]
technik escribió:Utilizas Axis-Aligned bounding boxes o de rotacion libre?
Si es lo segundo...como cojones has sido capaz de implementarlas antes que las esferas? xDD a mi aun me siguen dando problemas... [buuuaaaa]


Axis-aligned, por dios. XD De rotación libre ni hablar. Si acaso en un futuro... pero por ahora nada. Además, no encuentro en internet tutoriales decentes sobre colisiones en 3D.

La ds no tiene FPU y bastante me está costando meter todo esto con fixed point, no te lo imaginas XD. Todavía me da problemas cuando la energía que queda después de un choque es pequeña... Por ejemplo, para evitar cálculos inútiles voy a usar "physic groups" para decir que objetos interactúan entre si, y sobrecargar menos el procesador de la DS... Gracias a dios que tiene aceleración por hardware para la raíz cuadrada y la división (en fixed point, como no), que si no me muero.

Y aquí está la pequeña demo que he hecho. Funciona en emuladores.

EDIT: Cambiada la demo anterior por una decente :P
Mañana versión 0.3.0!!! :D

Que ansias porqué esté ya [Ooooo].

PD: Pronto veréis mi nuevo juego usando NE [fumando].

Un Saludo ;)
Bueno, versión 0.3.0 liberada. Novedades:

-Soporte de modelos animados (formato NEA) y añadido un programa para hacer archivos NEA a partir de varios modelos (convertidos previamente a BIN).
-Sistema de 2D sobre 3D. Permite dibujar cuadrados usando coordenadas en 2D (con o sin textura).
-Motor de físicas BASICO (gravedad, fricción y colisiones). Solo permite bounding boxes axis aligned por ahora.
-Añadida una función para borrar todos los modelos de golpe.
-Sistema de ventanas, muy simple. Lo mejoraré en próximas versiones con funciones para hacer una API.
-Nitro Engine compilado en forma de librería para incluirlo más fácilmente y ahorrar tiempo al compilar. Además ahora ocupa menos que antes :P
-Carpeta de ejemplos organizada un poquito y añadidos un par de ejemplos nuevos.
-Licenciado bajo la licencia BSD.

PD: Serede, a por el instalador. XD
ANTONIOND escribió:Bueno, versión 0.3.0 liberada. Novedades:

-Soporte de modelos animados (formato NEA) y añadido un programa para hacer archivos NEA a partir de varios modelos (convertidos previamente a BIN).
-Sistema de 2D sobre 3D. Permite dibujar cuadrados usando coordenadas en 2D (con o sin textura).
-Motor de físicas BASICO (gravedad, fricción y colisiones). Solo permite bounding boxes axis aligned por ahora.
-Añadida una función para borrar todos los modelos de golpe.
-Sistema de ventanas, muy simple. Lo mejoraré en próximas versiones con funciones para hacer una API.
-Nitro Engine compilado en forma de librería para incluirlo más fácilmente y ahorrar tiempo al compilar. Además ahora ocupa menos que antes :P
-Carpeta de ejemplos organizada un poquito y añadidos un par de ejemplos nuevos.
-Licenciado bajo la licencia BSD.

PD: Serede, a por el instalador. XD


[beer] [plas]

Un Saludo ;)
Antoniete, te lo mando por MP ;).
Ale, instalador con la versión nueva listo.
Antonio, si quieres aumentar el sistema de colisiones te puedo echar una mano. Yo tengo programado para mi engine un sistema con bounding boxes no alineadas, puntos (para balas y cosas pequeñitas, muy rapido) y esferas. Y espero añadirle convex hulls mas o menos pronto ;)
technik escribió:Antonio, si quieres aumentar el sistema de colisiones te puedo echar una mano. Yo tengo programado para mi engine un sistema con bounding boxes no alineadas, puntos (para balas y cosas pequeñitas, muy rapido) y esferas. Y espero añadirle convex hulls mas o menos pronto ;)

Hombre, la DS no es muy potente, asi que tampoco se pueden meter cosas muy complicadas. Lo de los puntos no se me había ocurrido, eso lo puedo hacer en un ratillo. Lo de las esferas seguramente me tengas que ayudar (con un código de ejemplo me apaño :P). No planeo añadir bounding boxes de rotación libre, por lo menos por ahora: demasiados cálculos para la DS (o estoy equivocado?), si se añade será como curiosidad, pero hay cosas más importantes que hacer ahora mismo.

PD: Dime si éste es el método para detectar colisiones entre una caja y una esfera: Hallar el punto de la esfera más cercano a la caja y comprobar si está dentro de ella.
Bueno, yo antes creía que seria muy complicado añadir cajas no alineadas, pero al final he conseguido implementarlo de forma bastante sencilla. Ademas el método tiene la ventaja de que hace una comprobación"continua", es decir, que no solo comprueba que no estén colisionando, sino también que no hallan colisionado en el tiempo transcurrido desde el ultimo frame (lo hago así para todas las colisiones).Me baso en la idea de que si puedes encontrar un plano que separe los dos cuerpos, entonces es que no colisionan. Para comprobar las colisiones entre cajas es muy rápido porque solo son 6 planos a comprobar (3 paralelos a los lados de una caja y 3 a los de la otra). Y cada comprobacion de plano son solo un producto escalar y una comparacion, pues es bastante rapido. Luego añadirle la velocidad es tan sencillo como proyectar el vector velocidad, sumarselo a la otra proyeccion y volver a hacer la comparacion. Para esferas hago basicamente lo mismo, pero como los planos paralelos a la superficie de la esfera son infinitos, solo compruebo 6, los que unen su centro con cada vertice del cubo. Como basta con encontrar uno solo de los planos, normalmente no se efectuan ni la mitad de los calculos previstos, y resulta algo bastante rápido.

Edit: el problema de buscar el punto de la esfera más cercano al cubo es que ese punto no es siempre el más cercano al centro del cubo (de hecho, casi nunca lo es), asi que localizar ese punto se vuelve complejo.

Edit2: Lo de las esferas es bastante simple, la colision de dos esferas en movimiento yo la hago como si fuese una esfera y un punto. El radio de la esfera es en realidad la suma de los dos radios y el punto es el centro de la otra esfera. Resto sus velocidades para calcularlo como si fuera una esfera quieta y un punto en movimiento (movimiento relativo), y los calculos se limitan a la interseccion de una recta con una esfera, que es una ecuacion vectorial de segundo grado, aqui te pongo el codigo que yo uso:
RelPos.x =
A->State->Pos.x - B->State->Pos.x;
RelPos.y = A->State->Pos.y - B->State->Pos.y;
RelPos.z = A->State->Pos.z - B->State->Pos.z;
RelSpd.x = A->State->Spd.x - B->State->Spd.x;
RelSpd.y = A->State->Spd.y - B->State->Spd.y;
RelSpd.z = A->State->Spd.z - B->State->Spd.z;
Landa.x = RelSpd.x*RelSpd.x+RelSpd.y*RelSpd.y+RelSpd.z+RelSpd.x;//a
Landa.y = -2.0*(RelSpd.x*RelPos.x+RelSpd.y*RelPos.y+RelSpd.z*RelPos.z);//b
tRadius = B->Body->Radius+A->Body->Radius;//c
Landa.z = tRadius*tRadius - (RelPos.x*RelPos.x + RelPos.y*RelPos.y+RelPos.z*RelPos.z);
if((delta = ((Landa.y*Landa.y)-4*(Landa.x*Landa.z))) >= 0)
{
   time = sqrt(distance);
   Dimension.x = (-Landa.y + delta)/(2*Landa.x);
   Dimension.y = (-Landa.y - delta)/(2*Landa.x);
   if((Dimension.x > 0)&&(Dimension.x < GameTime()))return 1;
   if((Dimension.y > 0)&&(Dimension.y < GameTime()))return 1;
}
return 0;


Los calculos pueden parecer un poco raro, pero simplifique las ecuaciones en papel y eso es el resultado.
technik escribió:...

Ay madre... Si leído ya me parece complicado no me imagino cuando lo haga... (si, lo intentaré hacer) [+risas] Eso si, como ya he dicho más veces, el principal problema es que la DS no está pensada para usar floats, y eso fastidia mucho en este tipo de cálculos, por eso estoy evitando ahora mismo meter cálculos más complicados. Los que hago ahora los uso con fixed point 20.12, que está acelerado por hardware, pero se pierde bastante precisión.

Pues eso, que gracias. Seguramente te tocará aguantarme cuando lo vaya a meter al engine por las dudas que tenga. XD

Saludos.
Después de mucho tiempo sin decir nada de lo que estoy haciendo os traigo noticias.

Lo primero: Conversor de MD2 a NEA (para modelos animados) está acabado (y la guerra que me ha dado el condenado... [+risas] ). Esto significa que para cargar vuestros modelos animados tenéis que convertirlos a MD2, pasarlos por este programa y ya está listo para incluirse en el juego. Todavía estoy haciendo pruebas con él, para ver si hay algún fallo, pero no he tenido ningún problema hasta ahora. Por cierto, genera archivos un 81% más pequeños de lo que debería gracias a unas chorraditas que han resultado ser muy efectivas. ^^

Acepta modelos preparados para texturas de cualquier tamaño inferior a 1024x1024 y lo modifica para que use el tamaño adecuado. Por ejemplo, una textura de 45x54 se redimensionaría a 64x64, y luego se tiene que ampliar la textura a ese tamaño. Pista: Usa tamaños normales, por tu propio bien. No se si esta parte funciona bien. :p

Exporta hasta 128 frames, ya que es el máximo que he permitido para el NE, pero se pueden modificar las 2 cosas para aceptar más frames cambiando un simple define.

Avisa si hay algún problema relaccionado con los límites de la DS, por ejemplo, si el modelo tiene demasiados vértices te avisa, si se sale de los límites de coordenadas te avisa... En estos 2 casos se pararía la conversión.

En caso de que te salgas de los límites de coordenadas podrás escalar el modelo y trasladarlo con el propio conversor. Pista 2: No uses esto, cacho vago. Haz el modelo bien en el programa de modelar...

Creo que no me dejo nada... Bueno, el programa vendrá como un ejecutable win32 pero incluiré el source, los que uséis linux no tendréis problemas en compilarlo.

Lo segundo: Estoy modificando bastante el sistema de los modelos. El motivo es que tener un montón de funciones repetidas para modelos animados y sin animar es una tontería. Con el nuevo sistema se manejarán los modelos animados igual que los estáticos.

Bueno, nada mas... Si se me olvida algo ya lo pondré más adelante.

Un saludo.
Celduques está baneado por "utilizar clon para saltarse baneo de subforo y querer tomar el pelo a la administración"
El puñetero crack, eso es lo que estás hecho! Pues nada, a seguir avanzando y a ver si se empiezan a ver algunos "juegos" utilizando este motor (tirada la primera piedra) [poraki]
¡Versión 0.4.0 lista!

Hay muchos cambios:
-Añadido MD2_2_NEA <convierte un modelo en MD2 en un archivo NEA fque se puede usar con Nitro Engine> y MD2_2_BIN <convierte el primer frame de un modelo en MD2 en una display list>. Las display lists están realmente optimizadas.
-Actualizado el DisplayList_Fixed. Ahora puede eliminar comandos de normales aparte de los de color.
-Añadido sistema de texto. Puede usar fuentes de cualquier tamaño. ^^
-Añadidas unas cuantas funciones de API (botones, check boxes, radio buttons y slide bars).
-Arreglada la proyección 2D.
-Eliminadas unas cuantas funciones internas sin usar y hechas algunas funciones normales 'inline'.
-Las funciones que usaban parametros float ahora usan int. Se pueden usar unos defines para usar floats si se quiere.
-Los modelos animados y estáticos son ahora lo mismo. Puedes moverlos, rotarlos, etc con las mismas funciones.
-Puedes 'clonar' modelos para que ocupen menos RAM si están repetidos (muy util con modelos animados).
-Renombradas muchas funciones. Echa un vistazo a los ejemplos o a la documentación.
-Struct NE_Color eliminada (No se ni por qué se me ocurrió crearla...).
-Los ejemplos están actualizados para funcionar con la nueva versión, y he añadido unos ejemplos con las cosas nuevas.
-La consola de libnds no se inicia con Nitro Engine. Tendrás que iniciarla tú con NE_InitConsole o las propias funciones de libnds.


PD: El instalador aún no está listo con la nueva versión.
Serede, vente p'acá!! XD


EDIT: Lo de clonar modelos solo ahorra ram si estás usando las funciones del nitro engine para cargar modelos de fat, si no da igual.
Serede escribió:Pues pon enlace...

Estaba subiendolo ahora, pero por algún motivo me da problemas mediafire al descargarlo. Vete a mi pag (la de mi perfil) y bájatelo de ahí.
ANTONIOND escribió:
Serede escribió:Pues pon enlace...

Estaba subiendolo ahora, pero por algún motivo me da problemas mediafire al descargarlo. Vete a mi pag (la de mi perfil) y bájatelo de ahí.

OK Thanks. "Connection Error" me daba a mi :(

EDIT: EMePeado.
Serede escribió:
ANTONIOND escribió:
Serede escribió:Pues pon enlace...

Estaba subiendolo ahora, pero por algún motivo me da problemas mediafire al descargarlo. Vete a mi pag (la de mi perfil) y bájatelo de ahí.

OK Thanks. "Connection Error" me daba a mi :(

EDIT: EMePeado.

Todo listo. ^^
ANTONIOND yo que tu pondria algunas imagenes, (igual no las he visto) porque unas buenas imagenes atraen a mucha gente hazme caso
MANUMT escribió:ANTONIOND yo que tu pondria algunas imagenes, (igual no las he visto) porque unas buenas imagenes atraen a mucha gente hazme caso

No tiene sentido hacer imágenes sobre algo que sirve para hacer juegos/programas. [+risas] Sin embargo...
hilo_aliends-nuevo-juego-a-lo-doom-en-desarrollo_1111496
Esto está hecho con Nitro Engine. ^^
Yeah!! [sati].

Pronto vereis mi nuevo juego basado en NE :D.

PD: Si alguien quiere ver de que va que mire mi blog [fumando].

Un Saludo ;)
Me he dado cuenta de un fallito con el sistema de paletas. Lleva ahí desde la primera versión asi que os toca cambiarlo si o si. [sonrisa] Simplemente cambiad el archivo viejo por este nuevo y recompilad:
http://antoniond.drunkencoders.com/nitr ... EPalette.c
En un par de días si eso saco una versión arreglada (0.4.1), pero es que da pereza XD y más cuando solo está mal un cachito de código...
Davpk escribió:Yeah!! [sati].

Pronto vereis mi nuevo juego basado en NE :D.

PD: Si alguien quiere ver de que va que mire mi blog [fumando].

Un Saludo ;)

que es NE esque en las iniciales de los juegos soy muy malo...
MANUMT escribió:
Davpk escribió:Yeah!! [sati].

Pronto vereis mi nuevo juego basado en NE :D.

PD: Si alguien quiere ver de que va que mire mi blog [fumando].

Un Saludo ;)

que es NE esque en las iniciales de los juegos soy muy malo...

Pues sí que eres malo, sí. Nitro Engine.
Hola,me parece muy bueno el trabajo que estas haciendo,y lo util-potente que es ,sobre todo despues
de probar el aliends que estan haciendo.
Me gustaria comentar/proponer algunas ideas para el proyecto.

1) Es añadir soporte para texturas vectoriales,estas se procesarian en una de las cpu.Supongo q seria una buena manera de usar menos ram para las texturas y quedando texturas increibles.
La idea aparecio tras ver el pluggin que han creado para blender

http://code.google.com/p/vectex/



2)Superar el limite de vertices-poligonos disponibles en la ds.Para ello se podria usar codigo ya existente con el que han creado algunas demos/programas en 3d en la gameboy advance.
Hay varias opciones disponibles.(abajo pego links),y son funciones ya programadas y altamente optimizadas para arm.Podrian usarse para la segunda pantalla.
No se si quiza en una misma pantalla,usando otra capa diferente para rendizarlas,si no me equivoco las 3d de la nds se ejecutan en el BG0.
O tambien parte de los efectos vistos en estas demos.


links :

varias librerias para programar en la gba,includo soporte en 3d:
http://www.suddenpresence.com/sgade/

Probar la demo eternity,tiene efectos geniales y la parte del modelo 3d es muy buena.
http://www.angelfire.com/wizard/deku/program.html

http://www.btinternet.com/~ahcox/GBA/index.html

http://darkfader.net/gba/
cualquiercosa327 escribió:1) Es añadir soporte para texturas vectoriales,estas se procesarian en una de las cpu.Supongo q seria una buena manera de usar menos ram para las texturas y quedando texturas increibles.

Mi idea es hacer que este motor funcione exclusivamente en el ARM9, sin usar el otro ya que si obligo a usar un custom ARM7 todas las personas que usan PAlib, por ejemplo, no pueden usarlo tan fácilmente, o a las que lo usan para decodificar música les tocaría bastante las narices. En todo caso se debería hacer en el ARM9, que para eso está, pero esa clase de efectos no me parecen útiles para ningún juego en la DS, solo para demos. La DS no está pensada para hacer tantos cálculos dedicados a los gráficos, para eso está el hardware.

cualquiercosa327 escribió:2)Superar el limite de vertices-poligonos disponibles en la ds.Para ello se podria usar codigo ya existente con el que han creado algunas demos/programas en 3d en la gameboy advance.
Hay varias opciones disponibles.(abajo pego links),y son funciones ya programadas y altamente optimizadas para arm.Podrian usarse para la segunda pantalla.
No se si quiza en una misma pantalla,usando otra capa diferente para rendizarlas,si no me equivoco las 3d de la nds se ejecutan en el BG0.
O tambien parte de los efectos vistos en estas demos.

Que manía con el límite de polígonos... ¿Habéis visto juegos como el FF4, FFCC o Metroid? El límite de polígonos de la DS es completamente lógico, no te vas a dar cuenta si usas 2000 o 3000 en una pantalla tan pequeña. Y para lo de las 2 pantallas no merece la pena complicarse la vida, en serio. Lo que ganas con el 3D por software lo pierdes por el tiempo que tarda en dibujarse.

Sobre los enlaces, están muy bien. Lo de eternity es flipante. XD


En serio, no es que sea vago, es que:
a) Son cosas que lleva tiempo incluir, y no tengo precísamente mucho tiempo libre ahora mismo.
b) No veo que sea práctico, demasiada CPU para efectos que no son imprescindibles (Eternity es un ejemplo de ello, efectos chulísimos pero FPS por los suelos, y no pretendas usar eso en un juego o algo).
c) Necesitan demasiada potencia de CPU que le tienes que quitar a la lógica del juego.

En un juego que estoy haciendo, por darte una idea, uso el coprocesador de divisiones y raíces cuadradas de la DS, de forma asíncrona cuando es posible, y ni un solo float o división "con el simbolito '/' ". Uso 3D en las 2 pantallas, y aproximadamente la mitad de polígonos disponibles. No tiene precísamente malos gráficos, va a 60 FPS constantes y en el momento de más actividad llega al 50% de uso de CPU. Imagina donde se va a parar ese porcentaje si meto algo de lo que tu dices.

De todos modos, gracias por la información.

Un saludo. ;)
Nueva versión:
-Un montón de pequeños arreglos, sobre todo relacionados con que las coordenadas UV estaban cambiadas. XD
-Preparado para las últimas libnds. Si quieres usar algunas anteriores, simplemente descomenta "#define OLD_LIBNDS" en "NEMain.h" y compila. Los ejemplos puede que no te funcionen ya que están preparados para la última versión.
-Arreglados MD2_2_NEA y M2D_2_BIN. Si tienes modelos convertidos con estos programas, vuelve a convertirlos.
-También he añadido una función para dibujar en las texturas de formato RGBA, hay un pequeño ejemplo de como usarla. ^^

Un saludo.
Uy que bien si alguna vez necesito un motor 3d ya se de donde tirar XD [fumando]
ANTONIOND escribió:Nueva versión:
-Un montón de pequeños arreglos, sobre todo relacionados con que las coordenadas UV estaban cambiadas. XD
-Preparado para las últimas libnds. Si quieres usar algunas anteriores, simplemente descomenta "#define OLD_LIBNDS" en "NEMain.h" y compila. Los ejemplos puede que no te funcionen ya que están preparados para la última versión.
-Arreglados MD2_2_NEA y M2D_2_BIN. Si tienes modelos convertidos con estos programas, vuelve a convertirlos.
-También he añadido una función para dibujar en las texturas de formato RGBA, hay un pequeño ejemplo de como usarla. ^^

Un saludo.


Yeah!! [beer]

Ahora mismo la actualizo [Ooooo].

Un Saludo ;)
Otra versión... He arreglado alguna cosilla del sistema 2D y he añadido una versión para linux de las herramientas que he hecho (gracias a nintendork32 por compilarlas XD). También he puesto un par de ejemplos mas... Espero que se la última versión 0.4.X ... [+risas]
ANTONIOND escribió:Otra versión... He arreglado alguna cosilla del sistema 2D y he añadido una versión para linux de las herramientas que he hecho (gracias a nintendork32 por compilarlas XD). También he puesto un par de ejemplos mas... Espero que se la última versión 0.4.X ... [+risas]

Estoy subiendo el instalador. Para que veas que no me he olvidado de ti XD. En un rato tienes MP [oki]

Saludos.
Serede escribió:Estoy subiendo el instalador. Para que veas que no me he olvidado de ti XD. En un rato tienes MP [oki]

Saludos.

Puesto en el primer mensaje.
Enhorabuena Antonio por el trabajo que estás haciendo ;)
Pues si que has hecho un importante trabajo, estoy esperando ver juegos corriendo en este motor (claro, a parte del Alien) :D
ANTONIOND escribió:Espero que se la última versión 0.4.X ... [+risas]


Creo que no la será [jaja]

Harás una nueva versión para lo que has añadido recientemente?

Un Saludo ;)
Davpk escribió:
ANTONIOND escribió:Espero que se la última versión 0.4.X ... [+risas]


Creo que no la será [jaja]

Harás una nueva versión para lo que has añadido recientemente?

Un Saludo ;)

Ni de coña... Cuando haga mas cambios saco versión nueva. Esto es una chorrada, no merece la pena...
Nueva versión: ^^

-Optimizados los sistemas de cámaras y texto.
-NE_TextPrintBox y NE_TextPrintBoxFree piden el numero de caracteres a imprimir.
-Algunas funciones se han hecho internas.
-Arreglada (?) la proyeccion 2D por fin...
-Efectos de HBL se pueden configurar.
-Tests para comprobar si algo esta siendo tocado y saber su distancia a la cámara.
-NE_UPDATE_INPUT eliminado.
-Soporte para bmp de 4 bit, los carga como texturas de 256 colores (para simplificar el codigo y permitir dibujar en ellas).
-Arrays estaticos cambiados por punteros (salvo el sistema de texto). Esto permite personalizar el numero de cosas que vas a usar.
-NE_TextPalette cambiado por NE_Palette. Más lógico.
-Se pueden clonar materiales para poder usar la misma imagen con distinto color, por ejemplo. Esto no tiene los problemas de clonar modelos.
-Funciones para eliminar todas las texturas y paletas.
-Al finalizar NE y volver a iniciarlo la DS se bloqueaba... arregladas muchas cosas a raiz de eso.
-NE puede liberar la toda la memoria usada por él, y el usuario puede regular la que cada sistema del NE va a usar .
-Sistema para pintar en texturas y modificar paletas mejorado ligeramente.
-NE_PolyFormat simplificada un poco.
-Añadidas funciones para devolver la posicion y rotacion de modelos.
-Bugfixes menores, código reorganizado un poco y listas defines convertidas en enumeraciones.
-Añadidos unos cuantos colores nuevos.
-Soporte para clear BMPs (usar imagen de fondo en lugar de un color), aunque no es muy recomendable usarlo. Gasta 2 bancos enteros de VRAM (uno para la imagen, otro para la profundidad de cada pixel).
-Arreglado el orden de dibujar los quads al dibujar texto y las otras funciones 2D para que no haya problemas con el culling.
-NE_PaletteLoadFAT simplificada, no hay que dar el numero de colores (lo calcula con el tamaño del archivo.
-Nomad_NDS_Texture_Converter ya no esta incluido en la descarga. Ocupa demasiado, no exporta varios niveles de alpha en las texturas que lo soportan y a mi me dio problemas hasta que consegui instalar la version de directx que necesitaba, si alquien lo quiere puede encontrarlo buscando en google.
-Añadido Nitro Texture Converter, hecho por mi, de código abierto y de poco tamaño. Convierte PNGs en texturas de la ds usando su canal alpha para la transparencia de la textura resultante.
-NE acepta tamaño de texturas y no solo aquellos potencia de 2 ^^. Los defines NE_SIZE_XX eliminados ya que no son necesarios.
ANTONIOND escribió:Nueva versión: ^^

-Optimizados los sistemas de cámaras y texto.
-NE_TextPrintBox y NE_TextPrintBoxFree piden el numero de caracteres a imprimir.
-Algunas funciones se han hecho internas.
-Arreglada (?) la proyeccion 2D por fin...
-Efectos de HBL se pueden configurar.
-Tests para comprobar si algo esta siendo tocado y saber su distancia a la cámara.
-NE_UPDATE_INPUT eliminado.
-Soporte para bmp de 4 bit, los carga como texturas de 256 colores (para simplificar el codigo y permitir dibujar en ellas).
-Arrays estaticos cambiados por punteros (salvo el sistema de texto). Esto permite personalizar el numero de cosas que vas a usar.
-NE_TextPalette cambiado por NE_Palette. Más lógico.
-Se pueden clonar materiales para poder usar la misma imagen con distinto color, por ejemplo. Esto no tiene los problemas de clonar modelos.
-Funciones para eliminar todas las texturas y paletas.
-Al finalizar NE y volver a iniciarlo la DS se bloqueaba... arregladas muchas cosas a raiz de eso.
-NE puede liberar la toda la memoria usada por él, y el usuario puede regular la que cada sistema del NE va a usar .
-Sistema para pintar en texturas y modificar paletas mejorado ligeramente.
-NE_PolyFormat simplificada un poco.
-Añadidas funciones para devolver la posicion y rotacion de modelos.
-Bugfixes menores, código reorganizado un poco y listas defines convertidas en enumeraciones.
-Añadidos unos cuantos colores nuevos.
-Soporte para clear BMPs (usar imagen de fondo en lugar de un color), aunque no es muy recomendable usarlo. Gasta 2 bancos enteros de VRAM (uno para la imagen, otro para la profundidad de cada pixel).
-Arreglado el orden de dibujar los quads al dibujar texto y las otras funciones 2D para que no haya problemas con el culling.
-NE_PaletteLoadFAT simplificada, no hay que dar el numero de colores (lo calcula con el tamaño del archivo.
-Nomad_NDS_Texture_Converter ya no esta incluido en la descarga. Ocupa demasiado, no exporta varios niveles de alpha en las texturas que lo soportan y a mi me dio problemas hasta que consegui instalar la version de directx que necesitaba, si alquien lo quiere puede encontrarlo buscando en google.
-Añadido Nitro Texture Converter, hecho por mi, de código abierto y de poco tamaño. Convierte PNGs en texturas de la ds usando su canal alpha para la transparencia de la textura resultante.
-NE acepta tamaño de texturas y no solo aquellos potencia de 2 ^^. Los defines NE_SIZE_XX eliminados ya que no son necesarios.


Updating... [Ooooo]

PD: Por fin pones la función de la cámara libre xD

Un Saludo ;)
pero alguien hace algo con estas herramientas o solo son felicitaciones y oh como mola. ?
¿Para cuando un tuto? xDD
Starscream-S escribió:¿Para cuando un tuto? xDD

Si los ejemplos no son suficiente, lo que quieres aprender te lo puede enseñar google mil veces mejor que yo. [sonrisa]


makunouchi escribió:pero alguien hace algo con estas herramientas o solo son felicitaciones y oh como mola. ?


-http://www.elotrolado.net/hilo_aliends-nuevo-juego-a-lo-doom-en-desarrollo_1111496
-http://www.elotrolado.net/hilo_juego-homebrew-hyper-world_1150308 (Esperemos que continúe...)
-Y un juego mío que aún no he liberado... XD
ANTONIOND escribió:-Y un juego mío que aún no he liberado... XD

Eso promete
no creo ke el google enseñe mejor ke tu por lo menus a mi...
AntonioND, te felicito por seguir adelante con el proyecto, me he acercado a mirar si seguia habiendo actividad y me ha encantado ver movimiento y nuevas versiones :)
Sigue en ello ;)
201 respuestas
1, 2, 3, 4, 5