https://www.segasaturno.com/portal/viewtopic.php?f=33&t=7676&p=78110#p78110
-----------------------------------
Ryo Suzuki
12 May 2014, 03:56 PM

Re: Trasteando Con El Lua Player De Saturn (Tutorial)
-----------------------------------
[quote user="zeros" post="78043"]Buenísima clase tio!! Me ha gustado lo de proponer un ejercicio XD Pordía montarse un curso de programación en saturn no? Saber que funciones van de SEGA library, cuales de LUA. (yo creo que el estar ahi con el prueba y erro es lo que más echa atras.[/quote]
Has visto? He intentado hacer de profe como tu 8)

[quote user="zeros" post="78043"]
Ese gráfico que has mostrado 3D, ese cubo rectángulo, lo que sea... no lo generas por código no? o sea le das un archivo al lua que carga aparte, un archivo hecho con un editor 3D supongo, no? si es así que extensión tiene?
[/quote]
Efectivamente, si te miras el sample veras que hay una carpeta llamada data donde hay varios recursos que necesita ese codigo para funcionar. El objeto tridimensional, el model en sí creo que es [b]MDL_6.MDL[/b].

Fijate en este tutorial que publicó el amigo Facundo ARG (él sí que sabe de estos temas!!):

http://www.segasaturno.com/portal/viewtopic.php?t=4125

Convierte de 3D Studio Max a .mdl que es el formato que parece ser que maneja la Saturn. Todo esto es igual en Saturn Orbit que en Lua, ya que al fin del cabo los assets graficos y demás deben tramitarse igual por lo que estoy viendo.

Pero ahi no queda todo en este ejemplo de Lua. Veo que hay un archivo que tiene relacion con el objeto 3D .mdl, en este caso es [b]poly.c[/b] , que contiene esto:

[code linenumbers=false]//------------------------------------------------------------------------
//
//	X
//
//	POLYGON DATA
//
//	CONFIDENTIAL
//	Copyright (c) 1996, Sega Technical Institute
//
//	AUTHOR
//  CHRIS COFFIN	 
//
//	TARGET		    
//	SEGA SATURN
//								   
//	REVISION 
//	00/00/00
//
//	ORIGINAL FILE 
//	s:\sgl_3\sgl\sample\chrome\poly.c
//
//------------------------------------------------------------------------

#include	"sgl.h"
#include	"sega_sys.h"
							   

//#define	NO_TEXTURE

// test chrome/bump object

#ifdef	NO_TEXTURE

	// NON TEXTURED FLAGS
	#define		Chrome_ATR	(MESHoff | CL_Gouraud | CL256Bnk)
	#define		Chrome_OPT	(UseGouraud | UsePalette)
	#define		Chrome_COL	(16)
	#define		Chrome_TEX 	(No_Texture)
	#define		Chrome_POLY	(sprPolygon)

#else

	// TEXTURED FLAGS
	#define		Chrome_ATR	(CL256Bnk|CL_Gouraud|MESHoff|SPdis|ECdis)
	#define		Chrome_OPT	(UseGouraud)
	#define		Chrome_COL	(1024)
	#define		Chrome_TEX	(0)
	#define		Chrome_POLY	(sprNoflip)

#endif


// DEMO MODEL DATA
							  
#include	"mdl_6.mdl"
[/code]

Como ves define una serie de atributos y hace referencia al mdl_6.mdl que comentabamos. Tambien te habras fijado que esta en C, creo. Esto me parece que es porque Lua soporta trabajar y llamar cosas de C sin problemas, varios samples lo hacen.

Lo único que no me queda muy claro es que es otro archivo relacionado que se llama [b]poly.o[/b] que encontramos tambien en la carpeta data, pero parece linkar informacion importante referente a poly.c ....


P.D: Por cierto, fijaos que el código lo firma el propio CHRIS COFFIN :shock: . O sea, Christina Coffin, que estaba haciendo el Sonic Xtreme para la Saturn.

[quote user="zeros" post="78043"]
Por ejemplo, usar este lenguaje de programación, asegura poder sacar rendimiento a la consola? o hay que programar a más bajo nivel para hacer algo parecido al Sonic Jam por ejemplo?[/quote]

No estoy seguro. Creo que con el Lua bien optimizado y usando las librerias de SEGA bien, cosas en C, optimizando recursos y demas se podria hacer alguna cosa bastante decente. Por lo que leo que comentó Rockin'-B con Lua se podría programar en la Saturn de forma algo más sencilla y no mencionaba nada que se pierda capacidad respecto a Saturn Orbit/SDK oficial.

Ahora, para hacer al como lo que se ve en Sonic Jam la parte 3D nueva que lleva... Yo creo que eso, para empezar nunca podemos aspirar a ello (colocar un puto poligono es una movida, no me quiero imaginar controlar un engine asi) y luego a mi me da la nariz que ahí ya hay bastante tema en ensamblador para poder sacarle más partido a la máquina.

Luego sigo contestando al crack de Indiket, que queda muy largo esto...


