Romhacking.net

Romhacking => Help Wanted Ads => Topic started by: NoahSteam on June 11, 2018, 10:48:18 pm

Title: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 11, 2018, 10:48:18 pm
Hey guys, so far this has been a one man project.  I've spent a good amount of time figuring out the file formats for this game and I've got things to a point where I can extract all the text and insert it back into the game.  I've written tools for this so once the text is all translated, this will be a done deal!  At least all of the story dialog anyways.  I haven't gotten to the battle text yet, but that will follow shortly.  This game has a lot of text, so ideally I'm looking for as many translators as possible to help out with this. 

All of the dialog is available to translate online at sakurawarstranslation.com.   You will need an account to actually get in, so if you're interested, email me at sakurataisentranslation@gmail.com and I'll create a translator's account for you.  Thank you!

Here are some screenshots.  The font is temporary and will most likely change.
(https://thumbs2.imgbox.com/98/08/28d2Wcki_t.png) (http://imgbox.com/28d2Wcki) (https://thumbs2.imgbox.com/11/40/bIDubEoV_t.png) (http://imgbox.com/bIDubEoV) (https://thumbs2.imgbox.com/b2/4f/3tBfTW7z_t.png) (http://imgbox.com/3tBfTW7z) (https://thumbs2.imgbox.com/50/fd/riA3kdIg_t.png) (http://imgbox.com/riA3kdIg)
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Lentfilms on June 12, 2018, 05:30:12 pm
I cannot translate anything but as a fellow Sakura Wars fan I wish you luck with your project. Hope you are able to find the help you need.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Eien Ni Hen on June 12, 2018, 10:09:13 pm
I'm interested in helping translate Sakura Wars. I sent you an email but it came back as undeliverable. Can you PM me?
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 13, 2018, 11:25:00 am
Awesome!  Check your inbox.  Thanks!
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: ichidoreichan on June 13, 2018, 08:29:49 pm
 :laugh: :laugh: :crazy: :woot!: :woot!: :woot!:

About time someone step up to translate this amazing game!!!
Count with me too!! you got two translators
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 13, 2018, 09:21:09 pm
Excellent!  Check your pm for more info.  Thank you!
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 14, 2018, 01:27:09 am
The interval between the letters should be reduced. The letters are drawing by VDP1?
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 14, 2018, 07:50:59 am
The interval between the letters should be reduced. The letters are drawing by VDP1?

Yea they are drawn by vdp1.  The original code draws them as 16x16 tiled sprites.  I have modified it to be 8x12. Otherwise we couldn’t fit much English dialog.  I also tried 8x8 but at that point the text looked really bad.  I can try reducing the width maybe a pixel or two and see if it still looks ok.

June 14, 2018, 07:56:43 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
The interval between the letters should be reduced. The letters are drawing by VDP1?

Here are some images with a 6x12 font instead of the 8x12.  You lose some definition of the characters but it's not too bad and it allows for 12 more characters per line, so that's a big win.  Thanks for the suggestion!

(https://thumbs2.imgbox.com/f2/9d/1mgplWBD_t.png) (http://imgbox.com/1mgplWBD) (https://thumbs2.imgbox.com/5c/31/jvvHWS0f_t.png) (http://imgbox.com/jvvHWS0f) (https://thumbs2.imgbox.com/6d/d1/PRN1F2gJ_t.png) (http://imgbox.com/PRN1F2gJ) (https://thumbs2.imgbox.com/b2/5a/4cxUNcE4_t.png) (http://imgbox.com/4cxUNcE4)
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: MatatabiMitsu on June 21, 2018, 11:40:37 am
PM’d you. Hopefully there’s enough room for 3 translators?

Also would it be possible to set up a Discord for the project? It’d make coordination easier and with multiple translators it would be good to have a lot of communication.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Gemini on June 21, 2018, 12:14:40 pm
If text is using sprites, you should consider the idea of going fully proportional instead of monospace. You lose no quality whatsoever (you actually gain quite an improvement) and you can fit even more text that way.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 21, 2018, 02:53:33 pm
PM’d you. Hopefully there’s enough room for 3 translators?

Also would it be possible to set up a Discord for the project? It’d make coordination easier and with multiple translators it would be good to have a lot of communication.

There's room for way more than 3 translators lol.  There are 56 files and probably some more to come, so it would be possible to have 56 translators working in parallel.  Anyways, check your pm for more info!

Also, I haven't used Discord before, but I am setting up a forum on the main website for this project.

June 21, 2018, 02:58:55 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
If text is using sprites, you should consider the idea of going fully proportional instead of monospace. You lose no quality whatsoever (you actually gain quite an improvement) and you can fit even more text that way.

If you mean the whole block of dialog is one sprite, then no that's not how it's being rendered.  Each character is rendered as a 16x16 sprite using a 4080x48 font sheet.  Each sprite is evenly spaced.  This is one hard coded number.  I have modified the game's code to render the sprites as 6x12 instead. 
 

Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 21, 2018, 04:03:39 pm
Each character is rendered as a 16x16 sprite using a 4080x48 font sheet.  Each sprite is evenly spaced.  This is one hard coded number.  I have modified the game's code to render the sprites as 6x12 instead. 
It does not matter what size use for sprite character. You can change the address of the character's sprite in the video memory of VDP1.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Gemini on June 21, 2018, 04:07:08 pm
Each character is rendered as a 16x16 sprite using a 4080x48 font sheet.
I mean specifically this scenario.

Quote
Each sprite is evenly spaced.  This is one hard coded number.  I have modified the game's code to render the sprites as 6x12 instead.
So you could add an extra step and increase the current text x position with a table of widths, instead of using a hardcoded value.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 21, 2018, 04:15:52 pm
I mean specifically this scenario.
So you could add an extra step and increase the current text x position with a table of widths, instead of using a hardcoded value.

Yea true, I hadn’t considered doing this because of the added complexity of figuring out how to modify the binary code to add a lookup.  I do plan to come back to the font part of this project so I’ll look at trying to do this at that point.  For now I’ve been spending time working on the website adding in features for the translators and also figuring out some of the compression schemes that are used in the game to compress text at certain points in the game.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 22, 2018, 08:55:54 am
Here some useful codes for text of dialogues (HWRAM):
Code: [Select]
06014732 Y step (text animation by characters)
06014746 X step (text animation by characters)
060144D6 Y step (all displated text)
060144E4 X step (all displated text)
Replace the second byte of value 7110 to your own step.

For example (step 24x24):
Spoiler:
(https://s5.postimg.cc/ktc9d807r/image.png)
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 22, 2018, 09:41:56 am
Yup, those are the bytes I have already modified to make my 6x12 font work.  My font sheet is still actually 16x16, I just make the game only draw the first 6x12 pixels and have modified the bytes you pointed to to change the spacing to be 6 for x and 12 for y.  The tricky part is changing these hard coded values into a lookup table instead.  A lookup table based ln the character being rendered.  I’d you know how to do that, that’d be great to know!
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 22, 2018, 10:11:21 am
Are you sure, that you really need VWF support for this game? Text of dialogues are scrolling in static window and it seems that there are no limitations of replies count. So, it is not necessary to make a table of characters width to fit english text I think.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 22, 2018, 12:00:05 pm
You're exactly right.  This game certainly doesn't need a VWF, but I guess it would be nice to have?  Having a VWF was something that Gemini suggested earlier, but as you realize as well, it wouldn't be trivial to do so.  The game currently has one function that takes in a few parameters, three of which are the x,y spacing and then the address of the string being rendered.  I would have to modify that function so that instead of just using the passed in x,y spacing, it would iterate through each character, get the width for it from a look up table and use that instead.  I'd also have to create the lookup table and load it into memory of course.  I might come around to it at a later date if I feel adventurous, but for now I think the fixed width font works perfectly fine.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Gemini on June 22, 2018, 09:12:14 pm
The thing with a VWF hack is that it's not mandatory, but it sure helps in many cases, especially when screen space is scarce. On top of that, you have a visual novel here, so some eye candy for text sure wouldn't hurt for improved aesthetics. :beer:
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 23, 2018, 03:36:18 am
You're exactly right.  This game certainly doesn't need a VWF, but I guess it would be nice to have?  Having a VWF was something that Gemini suggested earlier, but as you realize as well, it wouldn't be trivial to do so.  The game currently has one function that takes in a few parameters, three of which are the x,y spacing and then the address of the string being rendered.  I would have to modify that function so that instead of just using the passed in x,y spacing, it would iterate through each character, get the width for it from a look up table and use that instead.  I'd also have to create the lookup table and load it into memory of course.  I might come around to it at a later date if I feel adventurous, but for now I think the fixed width font works perfectly fine.
It's not so difficult to make vwf. Only certain conditions are necessary:
For example, there are 2 instructions for loading the character's code of current text (060144B6 and 060144C6). First, the code for the end of the string is checked, followed by the line break code. That's where you need to jump to subroutine.
But before making VWF support, you need to make a one-byte encoding.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 23, 2018, 08:22:14 am
Interesting, thanks for the info!  Do you have any idea how the text in the main menu is being drawn?  It appears to be using some sort of run length encoding I think.  It loads part of the texture in one mart of memory, and the rest in another and then runs what appears to be an uncompression scheme.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 24, 2018, 01:50:49 am
Interesting, thanks for the info!  Do you have any idea how the text in the main menu is being drawn?  It appears to be using some sort of run length encoding I think.  It loads part of the texture in one mart of memory, and the rest in another and then runs what appears to be an uncompression scheme.
The characters in the main menu have already prepared coordinates in advance (Format: X,Y, width, height, char code). So in this case for VWF it is enough to change the X coordinate of each character manually. I do not know why the developers did this. It was simpler to combine all the characters of a string into a picture or to do the same as in dialogs.

Spoiler:
(https://s5.postimg.cc/cp975ep7b/image.png)
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: NoahSteam on June 24, 2018, 03:38:41 am
Do you know how the pixel data itself is being generated though?  I can see the image for the letter C is loaded in VDP1 at 0x05c0a380 and when I track down where that’s coming from, I end up around 0x0020A210 (it’s an address close to that, I’m not at my computer right now but it’s around there).  The thing is, the texture data isn’t actually loaded in as it eventually appears in VDP1.  It is stored in some sort of compressed way and then uncompressed into memory at 0x060d0380 and then that is loaded into VDP1. 

The texture data for all of the dialog text is stored within the game files exactly how it is represented in VDP1.  The main menu for whatever reason isn’t.  It appears to be compressed, I just haven’t been able to figure out which compression algorithm it’s using.

In order to translate the main menu, I imagine I’m going to have to compress the translated character textures using the same technique so that the game can display them, but I have to know the compression scheme being used to do that.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: paul_met on June 24, 2018, 05:13:27 am
Do you know how the pixel data itself is being generated though?  I can see the image for the letter C is loaded in VDP1 at 0x05c0a380 and when I track down where that’s coming from, I end up around 0x0020A210 (it’s an address close to that, I’m not at my computer right now but it’s around there).  The thing is, the texture data isn’t actually loaded in as it eventually appears in VDP1.  It is stored in some sort of compressed way and then uncompressed into memory at 0x060d0380 and then that is loaded into VDP1. 

The texture data for all of the dialog text is stored within the game files exactly how it is represented in VDP1.  The main menu for whatever reason isn’t.  It appears to be compressed, I just haven’t been able to figure out which compression algorithm it’s using.

In order to translate the main menu, I imagine I’m going to have to compress the translated character textures using the same technique so that the game can display them, but I have to know the compression scheme being used to do that.
Yes, the graphics of the main menu are packed. The unpacking procedure, apparently, begins with the instruction at address 0600A178 (reading bytes of packed data). For example, font data starts at address 213F25, and the frame with font on a black background starts at address 1480D.
To be more precise, the packed data is in the file LOGO.SH2 at the addresses FF25 and 1080D for the font and frame, respectively.
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: cj iwakura on December 16, 2019, 12:25:36 am
So yeah, it's out now. :D

https://twitter.com/NoahSteam_/status/1206241949906288640
Title: Re: [Japanese Translators][Saturn] Sakura Wars
Post by: Arjak on December 19, 2019, 03:39:21 pm
You are a god and a saint among translators. Downloaded the patch and ordered a copy of the game off eBay.