¿Algun programador en este foro?

Hola foro.
Si hay algun programador en esta sección, que aceptara una petición de crear un pequeño programa.

La razón por la que tanto quiero este programa es para hacer un juego con muchos zeldas que compartiré con vosotros y os iré dando detalles sobre él.


Imagen

-Ok, pues viene a ser un formato que usa la gamecube para comprimir imágenes. Se llama "BTI"
Una persona en su día (remito a la web http://www.amnoid.de/gc) creó un programa llamado "btidump" que dumpeaba imágenes bti a formato "DDS", ya haciéndolas factibles de visualizar y modificar.
Esta persona dejó escrita la estructura del formato bti, pero no llegó a hacer el proceso contrario. Convertir imágenes DDS a BTI.

-Los archivos los he sacado de el juego "Zelda Collectors edition" para más información.

Pues me gustaría que alguien tan amable me ayudara a hacer este programa que convierta imágenes dds a bti. El formato no es muy complejo pero yo no entiendo de lenguajes de programación.


Aquí os dejo 1 texto con la estructura del formato y el btidump.exe con su source sacado de esta página: http://www.amnoid.de/gc

Formato del archivo BTI.
.bti file format
================

Version 1.02

NOTE: Some .bti files are Yaz0-compressed (if the first 4 bytes are 'Yaz0'),
if this is the case, you have to uncompress them. Check out yagcd or
http://www.amnoid.de/gc/ on how to do that.

A bti file stores a single image, but can store several mipmaps. The file
starts with a TextureHeader (which is used in the TEX1 section of
bmd/bdl and jpa files to store textures as well). It looks like this:

struct TextureHeader
{
  u8 format;  //data format - seems to match tpl's format (see yagcd)
  u8 unknown;
  u16 width;
  u16 height;
 
  /*
    from gx.h:
    0: clamp to edge
    1: repeat
    2: mirror
  */
  u8 wrapS;
  u8 wrapT;

  u8 unknown3;
  u8 paletteFormat; //palette format - matches tpl palette format (-> yagcd)
  u16 paletteNumEntries;
  u32 paletteOffset; //palette data


  u32 unknown5;
  u16 unknown6; //prolly two u8s, first is 5 or 1, second 1 most of the time
  u16 unknown7; //0 most of the time, sometimes 0x10, 0x18, 0x20, 0x28
  u8 mipmapCount;
  u8 unknown8;
  u16 unknown9;

  u32 dataOffset; //image data

  //some of the unknown data could be render state?
  //(lod bias, min/mag filter, ...)
};

Offsets are relative to TextureHeader (this is important in bmd/bdl files).
Check the accompanying source code for details.



A ver si lo comprendéis el texto.

Descargar source del btidump.exe http://www.amnoid.de/gc/btidump.zip

De verdad Gracias.
Tiene muchos huecos. Nitas alguien que investigue el formato.
Vrsquid escribió:Tiene muchos huecos. Nitas alguien que investigue el formato.


Gracias por responder. Quieres decir que no está del todo bien explicado el formato?

Saludos.
¿El juego ese va a ser un mod o un juego 100% homebrew? No entiendo para que necesitas esos formatos especificos.
Hola broly7. El mismo del conversor TGA a TPL, ¿no?.

Ah no, que hexeditaste el conversor TexConv del SDK de Nintendo para meter tu nombre y hacerle creer a la gente que era una implementación casera y legal.
Imagen
marcansoft@raider:~$ wine TexConv.exe
.tpl file converter.
press 'q' anytime to quit.

source file name:
(include full path name, use '/' as separators)

q
program terminated at user's request.
marcansoft@raider:~$ wine TGA2TPL.exe



TGA2TPL By Broly 7

Press CTRL+C to Exit

Usage:
TGA2TPL.exe [ScriptFile].tcs [OutputFile].tpl

  <-- meto un espacio que es el texto con el que broly ha reemplazado la 'q'
program terminated at user's request.


Si vas de esto, conmigo no cuentes.
Si ta pillao, si ta pillao el carrito los helaos...

Yo no le llego a la suela a marcan pero conmigo tampoco cuentes. Patapalo bueno, ruin nunca.
marcan42 escribió:Si vas de esto, conmigo no cuentes.

Uy tienes el sdk de nintendo pillin...XD.


Sí ayude a mucha gente.
Pues has tardao en descubrirlo, ya tiene su tiempo xD.
Lo que quiero hacer del zelda, no es nada de eso. Pero como aqui mucha gente te come el culo y no van a cambiar de opinión, ya no vale la pena insistir, asique nada. Xao.
broly7 escribió:
marcan42 escribió:Si vas de esto, conmigo no cuentes.

Uy tienes el sdk de nintendo pillin...XD.


Sí ayude a mucha gente.
Pues has tardao en descubrirlo, ya tiene su tiempo xD.
Lo que quiero hacer del zelda, no es nada de eso. Pero como aqui mucha gente te come el culo y no van a cambiar de opinión, ya no vale la pena insistir, asique nada. Xao.


Aparte del descubrimiento: ¿estas seguro que lo de compilar juegos de Zelda es legal? Es que ni aunque fuese homebrew, ya que seria de una marca registrada (en verdad esto se ha hecho muchas veces y no ha pasado nada, si no, véase Monkey Island 5).

Un saludo.
broly7 escribió:Uy tienes el sdk de nintendo pillin...XD.

Si, viene bien cuando tengo que investigar de donde salen programas misteriosamente completos sin código ni explicación.

broly7 escribió:Sí ayude a mucha gente.

Si, a los que se dedican a sacar canales "homebrew" con banners pirata seguro que sí, que es donde me he encontrado esta joyita tuya.

broly7 escribió:Pues has tardao en descubrirlo, ya tiene su tiempo xD.

Como admin de Wiibrew, lo descubrí al revisar WadStudio para ver si contenía material ilegal. Y mira tu por donde...

broly7 escribió:Lo que quiero hacer del zelda, no es nada de eso.

Macho, pues viendo como pides un programa para generar archivos específicos que usan los juegos, no se me ocurre otra cosa. Además pocos datos das, lo cual de por sí es sospechoso.
No quiero hacer nada maaaaalo.

No a ver, me explico. Se trata del Zelda Collector's edition. He encontrado que el juego trabaja con imágenes de ese formato, nose si habéis jugado pero se trata de la pantalla de título de cuando cambias de juego. Mi propósito era el de meter otro juego que no fuese el zelda, en uno de ellos bueno y en lo que derive. Y me gustaría cambiar esas iimágenes. Pero como me topo con la mala pata de que no se programar...
No se si sabéis algo de Pifia, que era muy astuto con estos métodos, o Gally que también sabía.
Y encima te rebotas. Menos chuleria y la proxima vez rellena los huecos con 0x00 no con 0x20 que asi te pillan hasta sin hacer el hex-diff.
Qué cosa más triste... :-|
Si si, es tan triste que tu no lo has descubierto.
Pues nada seguir derivando del tema.
A lo mejor en el subforo de desarrollo te pueden ayudar [sonrisa]
Rigle escribió:A lo mejor en el subforo de desarrollo te pueden ayudar [sonrisa]

Muchas graciass amigo! ahi también lo pediré.
Pero que pasa, no queréis ayudar por lo que ha dicho marcan?
Sólo pregunto, estáis en vuestro derecho de no hacer ni caso eh, no obligo nada.
Me parece un poco injusto que te enfades con los que hacen banners ilegales y no les enseñas hacerlos legales, por supuesto digo esto porque yo si confio en la mayoria y si tuvieran que elegir entre legal e ilegal eligiran lo legal, pero ahora no pueden elegir....

ya se que vos no confiais, y que conste que soyy de la opinion que gastar espacio de la Wii con canales teniendo el Homebrew chanel me parece una gran tonteria

Saludos

pd.´- ¿ehh Vrsquid intentando hacerte un hueco en el team Tiwezers?
bueno, supongo que en el subforo de parches también te podrán ayudar ya que allí hacen diferentes modificaciones de juegos.
broly, tu también sacaste alguna aplicación para wii no? Hace mucho tiempo que no te veía por aquí.
Helwem escribió:Me parece un poco injusto que te enfades con los que hacen banners ilegales y no les enseñas hacerlos legales, por supuesto digo esto porque yo si confio en la mayoria y si tuvieran que elegir entre legal e ilegal eligiran lo legal, pero ahora no pueden elegir....

ya se que vos no confiais, y que conste que soyy de la opinion que gastar espacio de la Wii con canales teniendo el Homebrew chanel me parece una gran tonteria

Saludos

pd.´- ¿ehh Vrsquid intentando hacerte un hueco en el team Tiwezers?


XDD. Como no sea de limpiabotas. Como nos dan un canal ya hecho y un guitarfun y un wiireader no sabemos lo que cuesta hacer esas cosas ni la formacion ni la inteligencia. Por no decir la de horas que tienes que echarte.

Los twiizers no es una logia con carnet y seña secreta. Bushing y marcan son los que mantienen las cosas funcionando pero twizers a tiempo parcial hay mas de uno y mas de dos.
hombre si les das un dol o elf, tampoco se enteran de lo que cuesta hacerlas, aunque yo soy muy buen pensado asi que creo que cuestan muchisimo ademas de divertido o por lo menos a mi me divertiria, ya sabes si trabajas en algo que te gusta deja de ser trabajo, aun asi su labor es impresionante..

entre todas las palicaciones nombras dos de Hermes y curiosamente tu forma de postear me lo hacia recordar... no digo que seais las misma persona pero me hace gracia que tambien sea alguien del circulo de marcan

Y lo del team ya lo sabia, Marcan los a nombrado a veces, el experto en drivers, el que diseño los graficos y la musica del homebre, otro que postea a veces en hackmii y seguro que hay alguno mas aunque pensaba que todos son "miembros activos" osea que no hacia falta que nadie manteniese el grupo con vida...
Que recuerdos, paradox y cia "hexaeditando" wads y "copypasteando" código de aqui y de alli. Menos mal que no ha vuelto a aparecer por estos lares (de vergüenza ajena supongo).
javato escribió:Que recuerdos, paradox y cia "hexaeditando" wads y "copypasteando" código de aqui y de alli. Menos mal que no ha vuelto a aparecer por estos lares (de vergüenza ajena supongo).

sip, hasta yo tenía por aquí ejemplos de como programar, waninkoko intentando enseñarme a usar el gcc...ainss que recuerdos xDDD

@broly7: La verdad es que no es que no ayude porque tenga miedo o algo así, porque yo respeto a Marcan, y me parece que él lo sabe, pero si tengo que hacer algo soy independiente de él, así que puedo o no compartir su postura [sonrisa]

La cosa es que apenas sé programación, y menos en c++ [+risas] [+risas]
broly7 escribió:Si si, es tan triste que tu no lo has descubierto.
Pues nada seguir derivando del tema.

Yo escribo mi propio código, hamijo, que será mejor o peor, pero es mío. No robo el trabajo de los demás y le pongo mi firma. Eso tiene un nombre, y no es un nombre bonito. De hecho eso un delito, figura.

Si tuvieras un poquito de vergüenza te habrías creado otra cuenta, lammer.

Que me venga un crío a decirme tonterías a mí a estas alturas...
Helwem escribió:hombre si les das un dol o elf, tampoco se enteran de lo que cuesta hacerlas, aunque yo soy muy buen pensado asi que creo que cuestan muchisimo ademas de divertido o por lo menos a mi me divertiria, ya sabes si trabajas en algo que te gusta deja de ser trabajo, aun asi su labor es impresionante..

entre todas las palicaciones nombras dos de Hermes y curiosamente tu forma de postear me lo hacia recordar... no digo que seais las misma persona pero me hace gracia que tambien sea alguien del circulo de marcan

Y lo del team ya lo sabia, Marcan los a nombrado a veces, el experto en drivers, el que diseño los graficos y la musica del homebre, otro que postea a veces en hackmii y seguro que hay alguno mas aunque pensaba que todos son "miembros activos" osea que no hacia falta que nadie manteniese el grupo con vida...


Para llevar un grupo de personas sin animo de lucro ni asociacion formal(empresa,fundacion,etc) solo hay dos maneras conocidas a lo demonhades(tio con carisma/manipulador aunque no sepa hacer ni el huevo engaña/camela/adula a gente que mas o menos sabe y los semicoordina) o a lo marcan(tio que no deja morir el proyecto y que comparte sus conocimientos con un grupo de gente que va medianamente a su bola)

No soy el maestro yesero pero donde hay que firmar pa serlo.

Menciono asndlib porque es la puta polla el curro que tiene no ya desensamblar sino mirar los unos y ceros directamente y sacar el ensamblador y ademas currarse un programa en el ensamblador que acabas de "inventar" para que reproduzca adpcm.
(mensaje borrado)
que conste que el grupo no lo mantenemos bushing y yo con vida. Hay gente que va y viene, pero en un momento dado la mayoría de los que hemos estado estamos ahí.
Vamos a ver.

Si lo que has intentado hacer es lo que se menciona, entonces este hilo no tiene futuro alguno, puesto que ha sido totalmente desleal la manera de pedir ayuda, y exponer la información del problema

No puedo establecer categóricamente que no seas el creador del fichero que expones, pero si te puedo mencionar como funcionan las cosas por aquí.

Si eres un scenner, primero que todo debes saber que nunca puedes utilizar codigo/descompilaciones de software protegido por copyright para que sea publicado en foros como EOL. Ya es otra cosa el como investigues por tu parte para llegar a algun avance, y de las herramientas que utilices.

cuando quieres presentar algún avance de scene, por lo general das la información para que, una persona con conocimientos suficientes, logre seguir una guía para que el realice los pasos necesarios para reproducir el avance, llamese fichero de datos, modificacion de algun fichero, obtención de codigos, etc.

te menciono todo esto por que, has expuesto en el primer hilo un enlace de descarga de un fichero, pero no has dado información de como se ha generado ni nada que permitan identificar el contenido del mismo.

así, sin esta información, no se puede establecer si el fichero que has puesto ha sido extraído de algún software con copyright, y estás pidiendo públicamente (además de distribuir dicho fichero) que otras personas lo descarguen.

Como Marcan ha logrado identificar este fichero, el cual precisamente tiene copyright, entonces dicho fichero no puede ser enlazado en el hilo.

ahora, distinto hubiera sido que mencionaras la intención de tratar de generar este tipo de ficheros, y que indicaras de donde obtenerlo (del juego tal, en el directorio tal, etc), para que los foreros con mas conocimientos puedieran ver si se podría hacer algo con esta información, y con un poco de suerte, crear los programas necesarios para generar/modificar este tipo de ficheros para que cada usuario pudiera hacerlo a su antojo, con sus propios ficheros obtenidos de sus backups.

dejo el hilo abierto, por si el creador tiene algo mas que acotar.
Ay Marcan la que me has liado.

Cito a Deen0X para aclarar algunas cosas a él y a los visitantes del hilo.
Deen=0X escribió:cuando quieres presentar algún avance de scene, por lo general das la información para que, una persona con conocimientos suficientes, logre seguir una guía para que el realice los pasos necesarios para reproducir el avance, llamese fichero de datos, modificacion de algun fichero, obtención de codigos, etc.

-Les he preparado una carpeta con los conocimientos sufcientes para realizar los pasos. El archivos adjunto "proyecto bti-compress" (Que no se porqué lo has borrado cuando son archivos extraidos de una iso y un programa con su source libre...)
Deen=0X escribió:te menciono todo esto por que, has expuesto en el primer hilo un enlace de descarga de un fichero, pero no has dado información de como se ha generado ni nada que permitan identificar el contenido del mismo.

@1er post: Una persona en su día creó un programa llamado "btidump" que dumpeaba imágenes bti a formato "DDS", ya haciéndolas factibles de visualizar y modificar.
Esta persona dejó escrita la estructura del formato bti, pero no llegó a hacer el proceso contrario. Convertir imágenes DDS a BTI.
Deen=0X escribió:Como Marcan ha logrado identificar este fichero, el cual precisamente tiene copyright, entonces dicho fichero no puede ser enlazado en el hilo.

Marcan me ha remitido a un fichero del año pasado con copyright "Tpl2tga". No es el que adjunté al hilo. Ese tiene el código libre.
http://www.amnoid.de/gc/
Deen=0X escribió:ahora, distinto hubiera sido que mencionaras la intención de tratar de generar este tipo de ficheros, y que indicaras de donde obtenerlo (del juego tal, en el directorio tal, etc), para que los foreros con mas conocimientos puedieran ver si se podría hacer algo con esta información, y con un poco de suerte, crear los programas necesarios para generar/modificar este tipo de ficheros para que cada usuario pudiera hacerlo a su antojo, con sus propios ficheros obtenidos de sus backups.

Te vuelvo a remitir a mi post: -
"No a ver, me explico. Se trata del Zelda Collector's edition. He encontrado que el juego trabaja con imágenes de ese formato, nose si habéis jugado pero se trata de la pantalla de título de cuando cambias de juego. Mi propósito era el de meter otro juego que no fuese el zelda, en uno de ellos bueno y en lo que derive. Y me gustaría cambiar esas iimágenes. Pero como me topo con la mala pata de que no se programar..."


Espero que lo haya aclarado mod.
broly7 escribió:El archivos adjunto "proyecto bti-compress" (Que no se porqué lo has borrado cuando son archivos extraidos de una iso y un programa con su source libre...)

precisamente por eso te lo he eliminado. Al ser de una iso, tienen copyrights.

Por esta razón dejé abierto el hilo, por si tenías algo que acotar.

de momento, y para ser imparcial y concecuente, lo unico que puedo comentarte es que si buscas ayuda, sube nuevamente el adjunto, pero sin incluír el fichero extraído de la ISO, y la información de como obtener ese fichero (desde el mismo juego, claro está).

esto es para aplicar el mismo criterio que en el caso (por ejemplo) de los customs que se crean para el Smash Browl, en el cual se pueden distribuir las herramientas/información para realizar los mods, pero no se pueden compartir los ficheros, ni los originales (extraídos del juego) ni los modificados.
Vale ya lo he entendido. Entonces pondré los pasos para obtener esos archivos en la iso. Pero no puedo editar el primer post. Me lo has capado xD.
Mira que llebaba tiempo en este foro, pero al volver se me pasó esa norma sorry.
está abierto el mensaje (es una mala costumbre de cerrar los mensajes cuando los edito) Xp
zootropo escribió:Yo escribo mi propio código, hamijo, que será mejor o peor, pero es mío. No robo el trabajo de los demás y le pongo mi firma. Eso tiene un nombre, y no es un nombre bonito. De hecho eso un delito, figura.

Si tuvieras un poquito de vergüenza te habrías creado otra cuenta, lammer.

Que me venga un crío a decirme tonterías a mí a estas alturas...


PD: Se permiten estas infantilezas??

Bueno, ya que no veo florecer el proyecto vengo a decir que sigo avanzando en la "mod" del zelda, y crearé otro hilo con avances.
Buenas broly7, si quieres que florezca tu proyecto vas a tener que poner más de tu parte ;). Verás, el código que has puesto está muy incompleto, solo es un esqueleto del formato BTI. Tiene lo justo para poder pasar al formato DDS, pero si en la cabecera solo aparecen comentarios de "unknown", es un poco difícil reconstruir un BTI a partir del dds (o de lo que sea). Eso obliga a hacer ingeniería inversa sobre varios bti, y sobre la librería que los use en el sdk de nintendo o en la aplicación concreta.

Con esto te quiero decier que no es trivial lo que pides, y que sobre todo vas a necesitar a alguien que esté tan interesado como tú en ese proyecto. Te aconsejo que pruebes a comunicarte con el creador del btidump, ya que seguramente sepa más que culaquiera del foro sobre el tema.
El tio del btidump es el puto amo. Todo esto lo hizo en el 2005.

http://www.emutalk.net/showthread.php?t=26919

Todo sin usar las libs de mintiendo solo mirando fijamente al HEX el tio es medio neo.
nuvalo escribió:Buenas broly7, si quieres que florezca tu proyecto vas a tener que poner más de tu parte ;). Verás, el código que has puesto está muy incompleto, solo es un esqueleto del formato BTI. Tiene lo justo para poder pasar al formato DDS, pero si en la cabecera solo aparecen comentarios de "unknown", es un poco difícil reconstruir un BTI a partir del dds (o de lo que sea). Eso obliga a hacer ingeniería inversa sobre varios bti, y sobre la librería que los use en el sdk de nintendo o en la aplicación concreta.

Con esto te quiero decier que no es trivial lo que pides, y que sobre todo vas a necesitar a alguien que esté tan interesado como tú en ese proyecto. Te aconsejo que pruebes a comunicarte con el creador del btidump, ya que seguramente sepa más que culaquiera del foro sobre el tema.


Gracias nuvalo, tienes razón. Es verdad que no está muy detallada la estructura, y sólo estoy interesado yo en ésto, asique voy a hacer lo que dices.
Ese tio esta medio desaparecido pero creo que podré encontrarle en los foros de emutalk, si hay suerte xD.
Porque ya no se desarrollan tools de gamecube, y se que el sdk es ilegal, pero el de gamecube nunca salió a la luz.

Gracias por vuestro apoyo, ya os contaré a ver que me respondió.

Saludos.
33 respuestas