Menu

Mostrar postagens

Esta seção permite que você visualize todas as postagens feitas por este membro. Observe que você só pode ver postagens feitas em áreas às quais tem acesso atualmente.

Menu Mostrar postagens

Mensagens - Rafael Quinalha

#61
Legal o projeto. Sou muito fã desse jogo, pra mim é o melhor Resident Evil.
No aguardo...
E boa sorte para a equipe.
#62
Citação de: Kratos973 online Agosto 10, 2017, 19:11:58 PM
Rafael, como mando as prints?
No seu perfil não têm seu email e nem a opção de anexar os arquivos.
Se preferir, suba as prints dentro de uma pasta (pode ser compactada em .rar ou .zip) para o google drive ou MEGA (que são gratuitos) e envie o link pra mim aqui no fórum mesmo. Ou envie as prints para o meu e-mail:
rquinalha@gmail.com

Valeu pela colaboração.
#63
Citação de: Kratos973 online Agosto 06, 2017, 16:10:07 PM
Olá! Sou novo no site!
Quero agradecer e parabenizar pelo projeto.
Baixei o primeiro e gostaria de saber se vcs ainda pretendem corrigir os erros.
Se sim, como faço para mandar os prints?
Blz? Manda para o meu email os prints. Valeu pela preocupação.
#64
Dúvidas e Ajuda / Re:[PS2] Ajuda nos ponteiros.
Julho 30, 2017, 19:30:29 PM
Na verdade eu não entendo tanto assim de ponteiros, tudo que eu sei, aprendi vendo esses tutoriais e vídeos que postei os links abaixo.

Tutorial de edição de ponteiros em arquivos PS-EXE de PS1

Achando ponteiros de SNES via debug

Editando Ponteiros (parte 01)

Editando Ponteiros (parte 02)
#65
Lançamentos / Re:[N64] Mario Kart 64
Julho 30, 2017, 19:23:37 PM
Está ficando show. Com certeza, uma tradução de alto nível para um jogo que merece isso.
#66
Já tentou usar a ferramenta própria para traduzir esse jogo, como por exemplo, extrair e inserir por ela?
-----> Link
#67
Citação de: BrunnHacker online Julho 15, 2017, 01:35:11 AM
Citação de: Luke online Julho 14, 2017, 14:36:20 PM
Insira via HEX.
Eu fiz muito disso em minhas traduções.
Eu envio em via hex, mas os arquivos continuar grande, qual é o conversor que você usou?
Não seria mais fácil você subir o arquivo original, o modificado e o arquivo que você vai inserir (por exemplo. pack01.dat, ou sei lá) para gente dar uma olhada e tentar ajudar?
#68
Pessoal, atualizei aqui. Pedi ajuda e esqueci de colocar os arquivos. Minhoquei. :huh:
#69
Citação de: BlackThorne online Julho 15, 2017, 09:38:55 AM
Vlw Rafael Quinalha obrigado pela atenção,o problema era que tinha que usar a mesma paleta de cores para todas as imagens. :torico:
Deu certo?
#70
Citação de: angreis online Julho 15, 2017, 22:27:36 PM
Primeiramente venho agradecer e dar os parabéns pelo belo trabalho feito no xenosaga 1,acabei de fechar o jogo e estava muito bem feito!!
comecei a jogar o xenosaga 2 ontem e já senti falta da tradução rsrsrsrs.
tem alguma previsão de lançamento??

Em breve. :charuto:
#71
Se você modificou o PNG e colocou mais letras ou figuras, é normal o arquivo ficar maior que o original devido ao número maior de coisas na imagem. O problema será em como você vai inserir o arquivo maior no jogo. Geralmente isso é resolvido encontrando o ponteiro do arquivo e modificando para que aceite o arquivo maior. Faça um teste e converta o arquivo original sem modificar pra ver se ele vai ficar maior, caso fique, é problema do conversor.
#72
Nesse caso, não basta escudo do time apenas o ter o mesmo formato, ele deve também ter o mesmo tamanho em disco para que que não haja problema na hora de inserir. Verifique isso, caso seja maior, você terá que encontrar o ponteiro do arquivo e modificá-lo para que fique correto.
#73
É isso aí. O progresso foi atualizado e posso dizer que estamos bem adiantados, creio que fique pronta antes do previsto. Até +.
#74
Fala pessoal. queria saber se tem algum membro do fórum com conhecimento em gráficos que possa me ajudar a desembaralhar/descompactar a tela inicial do jogo para que possa ser editada/traduzida. Pelo que eu vi os arquivos usam um método de swizzling/unswizzling nos gráficos.
Aqui são dois arquivos, um referente ao DVD 1 e outro ao DVD 2, a estrutura é a mesma, só muda que um aparece disco 1 e outro disco 2.

Aqui é um arquivo só.

Valeu pela força.

Download dos arquivos ---> Aqui

Como funciona o arquivo .XTX

XTX header 1 (0x20 bytes):
- bytes 0x00-0x03, "XTX\0" signature
- bytes 0x04-0x07, total file size
- bytes 0x10-0x11, image width, you need multiply by 2 if bpp=8
- bytes 0x12-0x13, bpp, always 8
- bytes 0x14-0x15, image height, you need multiply by 2 if bpp=8

XTX header 2:
- bytes 0x20-0x21, header 2 size

XTX image data:
- start @ header 1 size + header 2 size

Para quem manja de programação, o código é esse:

///////// swizzlers /////////

void Swizzle8to32(void * pSwizTexels, const void * pInTexels, const int32 width,
      const int32 height)
{
   // this function works for the following resolutions
   // Width:       any multiple of 16 smaller then or equal to 4096
   // Height:      any multiple of 4 smaller then or equal to 4096

   // the texels must be uploaded as a 32bit texture
   // width_32bit = width_8bit / 2
   // height_32bit = height_8bit / 2
   // remember to adjust the mapping coordinates when
   // using a dimension which is not a power of two

   for(int y=0; y<height; y++)
      for(int x=0; x<width; x++)
      {
         const uint8 uPen = ((const uint8 *) pInTexels)[y*width+x];

         const int32 block_location = (y&(~0xf))*width + (x&(~0xf))*2;
         const uint32 swap_selector = (((y+2)>>2)&0x1)*4;
         const int32 posY = (((y&(~3))>>1) + (y&1))&0x7;
         const int32 column_location = posY*width*2 + ((x+swap_selector)&0x7)*4;

         const int32 byte_num = ((y>>1)&1) + ((x>>2)&2);     // 0,1,2,3

         ((uint8 *) pSwizTexels)[block_location + column_location + byte_num] = uPen;
      }
}

void Swizzle4to32(void * pSwizTexels, const void * pInTexels, const int32 width,
      const int32 height)
{
   // this function works for the following resolutions
   // Width:       32, 64, 96, 128, any multiple of 128 smaller then or equal to 4096
   // Height:      16, 32, 48, 64, 80, 96, 112, 128, any multiple of 128 smaller then or equal to 4096

   // the texels must be uploaded as a 32bit texture
   // width_32bit = height_4bit / 2
   // height_32bit = width_4bit / 4
   // remember to adjust the mapping coordinates when
   // using a dimension which is not a power of two

   for(int y=0; y<height; y++)
      for(int x=0; x<width; x++)
      {
         // get the pen
         const int32 index = y*width+x;
         const uint8 uPen = (((const uint8
                     *) pInTexels)[(index>>1)]>>((index&1)*4))&0xf;

         // swizzle
         const int32 pageX = x & (~0x7f);
         const int32 pageY = y & (~0x7f);

         const int32 pages_horz = (width+127)/128;
         const int32 pages_vert = (height+127)/128;

         const int32 page_number = (pageY/128)*pages_horz + (pageX/128);

         const int32 page32Y = (page_number/pages_vert)*32;
         const int32 page32X = (page_number%pages_vert)*64;

         const int32 page_location = page32Y*height*2 + page32X*4;

         const int32 locX = x & 0x7f;
         const int32 locY = y & 0x7f;

         const int32 block_location = ((locX&(~0x1f))>>1)*height + (locY&(~0xf))*2;
         const uint32 swap_selector = (((y+2)>>2)&0x1)*4;
         const int32 posY = (((y&(~3))>>1) + (y&1))&0x7;

         const int32 column_location = posY*height*2 + ((x+swap_selector)&0x7)*4;

         const int32 byte_num = (x>>3)&3;     // 0,1,2,3
         const int32 bits_set = (y>>1)&1;     // 0,1            (lower/upper 4 bits)

         uint8 &setPix = ((uint8 *) pSwizTexels)[page_location + block_location +
            column_location + byte_num];
         setPix = (setPix & (-bits_set)) | (uPen<<(bits_set*4));
      }
}


void Swizzle16to32(void * pSwizTexels, const void * pInTexels, const int32 width,
      const int32 height)
{
   // this function works for the following resolutions
   // Width:       16, 32, 48, 64, any multiple of 64 smaller then or equal to 4096
   // Height:      8, 16, 24, 32, 40, 48, 56, 64, any multiple of 64 smaller then or equal to 4096

   // the texels must be uploaded as a 32bit texture
   // width_32bit = height_16bit
   // height_32bit = width_16bit / 2
   // remember to adjust the mapping coordinates when
   // using a dimension which is not a power of two

   for(int y=0; y<height; y++)
      for(int x=0; x<width; x++)
      {
         const uint16 uCol = ((const uint16 *) pInTexels)[y*width+x];

         const int32 pageX = x & (~0x3f);
         const int32 pageY = y & (~0x3f);

         const int32 pages_horz = (width+63)/64;
         const int32 pages_vert = (height+63)/64;

         const int32 page_number = (pageY/64)*pages_horz + (pageX/64);

         const int32 page32Y = (page_number/pages_vert)*32;
         const int32 page32X = (page_number%pages_vert)*64;

         const int32 page_location = (page32Y*height + page32X)*2;

         const int32 locX = x & 0x3f;
         const int32 locY = y & 0x3f;

         const int32 block_location = (locX&(~0xf))*height + (locY&(~0x7))*2;
         const int32 column_location = ((y&0x7)*height + (x&0x7))*2;

         const int32 short_num = (x>>3)&1;       // 0,1

         ((short *) pSwizTexels)[page_location + block_location + column_location
            + short_num] = uCol;
      }
}



Fonte do código --->Aqui
#75
Citação de: Magalicia online Junho 13, 2017, 03:17:32 AM
Perdoe-me pela ignorância, mas o arquivo .iso está dividido em 12 partes. Como posso fazer funcionar? Meus métodos não deram certo e o emulador nem abre o jogo. :sozinho:
Você deve usar o programa 7zip. O jogo foi compactado duas vezes pra reduzir em quase 1.5 GB o tamanho.  :charuto: