Page 5 of 16

Re: Dreamcast Games Translation - Megathread

Posted: Mon Feb 22, 2021 10:23 pm
by madsheep
megavolt85 wrote:Charset

Снимок экрана_2021-02-23_00-49-56.png
this is all known but the problem is the limited space also the letters have big spacing between them also i have a tool attached for easy conversions
Convert Normal text > Full Width SJIS (HEX)
Hex > SJIS

also another test

Re: Dreamcast Games Translation - Megathread

Posted: Tue Feb 23, 2021 4:19 am
by megavolt85
madsheep wrote: this is all known but the problem is the limited space also the letters have big spacing between
not all at once, the search continues :)

Code: Select all

typedef struct
{
	uint8_t weight;
	uint8_t height;
} WH_t;

void FUN_8c0238c2(int param_1,ushort *param_2)
{
  undefined *font_ptr;
  ushort uVar1;
  ushort uVar2;
  int i;
  uint uVar3;
  char *pcVar4;
  int n;
  uint uVar5;
  WH_t *tex_size;
  
  (*(code *)PTR_get_texture_WH_8c02392c)
            (*(undefined4 *)(param_1 + 4),(int)(short)*param_2,&tex_size);
  font_ptr = PTR_font_8c023928;
  pcVar4 = PTR_DAT_8c023938;
  if (((uint)*param_2 != DAT_8c023930) &&
     (pcVar4 = PTR_DAT_8c02393c, (uint)*param_2 != DAT_8c023934)) {
    i = (*(code *)PTR_FUN_8c023940)(*(undefined4 *)(param_1 + 4),(int)(short)*param_2);
    pcVar4 = font_ptr + i;
  }
  FUN_8c0239b4((undefined2 *)PTR_DAT_8c023944);
  uVar3 = SEXT24(DAT_8c023920);
  i = 0;
  while (i < tex_size.weight * tex_size.height) {
    uVar5 = SEXT14(*pcVar4);
    pcVar4 = pcVar4 + 1;
    n = 0;
    do {
      if ((uVar5 & 0xff & uVar3) != 0) {
        uVar1 = (*(code *)PTR_FUN_8c023a28)();
        uVar2 = (*(code *)PTR_FUN_8c023a2c)();
        FUN_8c023822((int)PTR_DAT_8c023a30,uVar2,uVar1);
      }
      i++;
      n++;
      uVar5 = uVar5 << 1;
      
    } while (i < (tex_size.weight * tex_size.height) && n < 8);
  }
}

void get_texture_WH_8c16b548(int ch_type,ushort param_2,WH_t *tex_size)
{
  int iVar1;
  
  tex_size->weight = 0;
  tex_size->height = 0;
  iVar1 = get_char_type_8c16b5ce(param_2);
  
  if ((ch_type != 0) && (ch_type != 1)) {
    if ((ch_type != 2) && ((ch_type != 3 && (ch_type != 4)))) {
      if (ch_type == 8) {
        return;
      }
      if (ch_type == 9) {
        return;
      }
      if (ch_type == 5) {
        tex_size->weight = 0x18;
      }
      else {
        if (ch_type != 6) {
          return;
        }
        weight = 0x20;
        tex_size->weight = 0x20;
      }
      goto LAB_8c16b5c2;
    }
    if ((iVar1 != 0) && (iVar1 != -1)) {
      tex_size->weight = 0x18;
      goto LAB_8c16b5c2;
    }
  }
  tex_size->weight = 0xc;
LAB_8c16b5c2:
  tex_size->height = 0x18;
}

int get_char_type_8c16b5ce(ushort ch)
{
  byte bVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  
  uVar4 = SEXT24((short)ch);
  if ((uVar4 & DAT_8c16b67c) == 0) {
    if (((uVar4 & 0x60) != 0) && (uVar4 != 0x7f)) {
      return 0;
    }
    return -1;
  }
  uVar3 = (uint)ch;
  if (((int)uVar3 < DAT_8c16b680) || (DAT_8c16b684 < (int)uVar3)) {
    bVar1 = 0;
  }
  else {
    bVar1 = 1;
  }
  uVar2 = uVar4 & 0xff;
  if (!(bool)(bVar1 | uVar2 == 0x7f | (int)DAT_8c16b672 <= (int)uVar2 | uVar2 < 0x40 |
              (DAT_8c16b674 & ch) == DAT_8c16b676 | (DAT_8c16b674 & ch) == DAT_8c16b678 |
              (DAT_8c16b67c & uVar4) == DAT_8c16b688 | (DAT_8c16b688 & uVar4) == 0)) {
    if ((int)uVar3 <= DAT_8c16b68c) {
      return 1;
    }
    if ((int)uVar3 <= DAT_8c16b690) {
      return 2;
    }
    if ((int)uVar3 <= DAT_8c16b694) {
      return 3;
    }
  }
  return -2;
}

Re: Dreamcast Games Translation - Megathread

Posted: Tue Feb 23, 2021 10:19 pm
by the1ross
Megavolt. If you are able to find a way to get a translation into the game, it would certainly spur me on to finish my Japanese to English translation project.

Re: Dreamcast Games Translation - Megathread

Posted: Wed Feb 24, 2021 12:13 pm
by megavolt85
madsheep wrote:this is all known but the problem is the limited space also the letters have big spacing between themt
still need to find the size of the texture and change it from 24x24 to 12x24, but the font is already used correctly and this text is written as ASCII
Снимок экрана_2021-02-24_17-16-10.png
Снимок экрана_2021-02-24_20-06-40.png

Re: Dreamcast Games Translation - Megathread

Posted: Wed Feb 24, 2021 1:46 pm
by fafadou
If you have the luck to have a shiftjis table you can patch it manually.
Else sometimes you have a vwf file or directly in the 1st_read.bin.
In bad luck, like in most of jap games you have simply a constant in ieee format.

Megavolt is right, find the 24 pixels size and patch it to 12.

Re: Dreamcast Games Translation - Megathread

Posted: Thu Feb 25, 2021 1:32 am
by ateam
This is incredible! I briefly spoke with Geoff Embree who helped the original translation team with the font-width issue (see post here http://www.adilegian.com/Segagaga/).

If this problem is overcome, this translation can become a reality!

EDIT: The following information was shared with me from Geoff:

1) find the half-width text in the BIOS font and write it elsewhere as a full-width font. for a few reasons, I do not think the original hack I did is feasible to use for the full game. I feel like it is very likely to fall apart at some point.
2) write lines using this with a set fixed width.
3) change carriage returns to scoot right in order to write the second part of the line.

He also added, "it was really clunky (I did this work before going on to translate the 7th Dragon series, where I truly learned how this should be done) and I'm very skeptical it would suffice for the full game. one issue is that the game crashed whenever a line had an odd number of characters, for instance.".

The above is something encountered by others when doing translations and has been overcome by adding extra padding, etc. I believe it has something to do with the original two-byte characters being read in (lazily) and thus causing crashes whenever an odd number is encountered.

Re: Dreamcast Games Translation - Megathread

Posted: Thu Feb 25, 2021 3:36 am
by madsheep
ateam wrote:This is incredible! I briefly spoke with Geoff Embree who helped the original translation team with the font-width issue
it would really helpful if he can share code so megavolt85 optimize it

Re: Dreamcast Games Translation - Megathread

Posted: Sun Feb 28, 2021 5:07 am
by streeker
Rolly wrote: Twinkle Star Sprites|| ????????? || Fully Playable 1.0 || JP-EN
Patch : https://drive.google.com/file/d/1AvNRVv ... sp=sharing
...shouldn't be on the list. I've downloaded and tried this specific file and honestly nothing is changed compared to the original japanese GD - which for the most part is already completely in English. When you boot the game there is only one screen with japanese writings on it. And this particular screen hasn't been altered for the CDI release above.

Re: Dreamcast Games Translation - Megathread

Posted: Thu Mar 04, 2021 1:26 pm
by Rolly
streeker wrote:
Rolly wrote: Twinkle Star Sprites|| ????????? || Fully Playable 1.0 || JP-EN
Patch : https://drive.google.com/file/d/1AvNRVv ... sp=sharing
...shouldn't be on the list. I've downloaded and tried this specific file and honestly nothing is changed compared to the original japanese GD - which for the most part is already completely in English. When you boot the game there is only one screen with japanese writings on it. And this particular screen hasn't been altered for the CDI release above.
Right. I checked carefully. The game is no different from org. the version that is in English.
I'm removing the title from the list. Thank you Streeker ;')

New project on the list :
Bokomu no Tatsujin by AnimatedAF - https://twitter.com/AnimatedAF/

Re: Dreamcast Games Translation - Megathread

Posted: Sat Mar 06, 2021 12:49 am
by ateam
streeker wrote:
Rolly wrote: Twinkle Star Sprites|| ????????? || Fully Playable 1.0 || JP-EN
Patch : https://drive.google.com/file/d/1AvNRVv ... sp=sharing
...shouldn't be on the list. I've downloaded and tried this specific file and honestly nothing is changed compared to the original japanese GD - which for the most part is already completely in English. When you boot the game there is only one screen with japanese writings on it. And this particular screen hasn't been altered for the CDI release above.
Thank you for bringing this one to my attention. This has sat in my English-patched repo for years and I'm the one who shared it here. Honestly, I have no idea where it came from and I never did the quick investigation to figure out that it features no actual patch.