News:

11 March 2016 - Forum Rules

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - 93f582c0800ee17439c9ba6b4

#1
Personal Projects / Re: Play Novel - Silent Hill
January 08, 2021, 07:16:01 PM
The first (testing) release is available at https://github.com/07151129/shpn_tool/releases/tag/v0.1

I will look into creating a submission...
#2
Personal Projects / Re: Play Novel - Silent Hill
December 27, 2020, 03:45:27 PM
I've finally found some free time to work on the project during the holiday season and thought it'd be nice to report on the progress.

The script embedding tool now supports long text splitting for almost every script command. This means that most strings in a translation will not need any manual work to make them fit on screen.

The engine patches can now display the translated text for almost every operation that uses strings. However, I am not planning to work on graphics extraction/repacking for the first release. This means:

- In some menus the translated text will not fit nicely as the font is too large. I've experimented a bit with downscaling the text using an affine transformation, but that resulted in a completely ineligible mess, so it is really needed to redraw the fonts by hand if we want to provide a smaller version.
- We can only render Latin or Russian alphabets at the moment as that's what the built-in fonts include.
- Some menu elements are using graphics rather font, so we can't translate them.

Finally, the mapping of the English translation is nearly complete. The textual translation by Toby Normoyle is using a relatively consistent text format. I've written a script that takes the textual translation and the Japanese script from the ROM, represents those two as graphs, and computes a mapping between those two graphs, resulting in automated translation of the Japanese strings. As a result I am saving a lot of time by not having to go over the translation by hand.

I can't say for sure when the first release will land (hopefully in January 2021), but it will include the complete EN and RU translations for Harry and Cybil scenarios. The translation flow will be documented, and the source scripts will also be published.
#3
Personal Projects / Re: Play Novel - Silent Hill
November 04, 2020, 10:53:17 AM
Quote from: holden on November 01, 2020, 01:35:07 AM
Is this still being worked on??

Occasionally. I've added automated frame splitting in August, which used to be a major blocker for translation, but some more ROM patching work is needed.
#4
Personal Projects / Re: Play Novel - Silent Hill
January 18, 2020, 09:14:03 AM
Unfortunately, I haven't had time to return to the project since March last year, so I decided to at least make the code public: https://github.com/07151129/shpn_tool

Using this tool, ROM script and strings can be extracted and embedded back. There's also patches for the text renderer in the ROM (need to be applied by hand).

Code-wise, some things still need to be done:

1. ShowText calls with long strings need to be split into multiple calls so that the English lines do not get broken abruptly, or disappear at the end of the screen.
2. Menus, savefile loading and puzzle (script offset 0x47d2) uses different text rendering code than the script; needs to be looked into.
#5
Personal Projects / Re: Play Novel - Silent Hill
April 03, 2019, 05:43:39 PM
A proper PC port would require not only script decompilation, but also understanding the exact operation
of every single command in the script. On the other hand, the ROM can be translated with knowledge only
about a few commands.

Curiously enough, the scenario selection code loads Andy scenario icon into memory, but never displays it.
I was also not able to find any other script in the ROM besides Harry and Cybil (they share a specific
pattern of bytes). It would be great if someone dumped Andy script back when the server was up, but this
is very unlikely, given that the official manual states that the scenario must be paid for and downloaded every
time the game is reset (so almost certainly it was downloaded to RAM rather than Game Pak SRAM).

#6
Personal Projects / Play Novel - Silent Hill
March 28, 2019, 06:32:01 PM
Now that the project is nearing its completion, I have decided to make some information public.

The following features have been implemented:

  • Disassembly and assembly of the game's script. This is required because the original Japanese text is about three times more dense; the translated text of a single frame typically actually spans multiple frames in game.
  • Embedding of UTF-8 English and Russian strings into ROM
  • Offline text formatting to ensure readability in game (inserting proper line breaks, splitting frames etc.)
  • Text renderer support for English and Russian texts

The end goal is to create an English and Russian translation of the ROM. So far, I have extracted and embedded the translation from VBA_SH into the game.
This is actually easier to do than for the English text, as there is a one-to-one mapping from strings in VBA_SH to in-game ones. Unfortunately, this is much
harder for the English translation; I'm planning to do this in a semi-automated way. I'll have to see to what extent I can automate the process.

The game uses 16x16 sprites for glyphs. I have implemented variable-width font rendering, but have not modified the built-in fonts in any way. There are
English and Russian fonts, so adding support for other languages would require creating and embedding new glyphs. Furthermore, SJIS is used for
text encoding, which, apparently, cannot encode many Latin scripts.

I would be interested in some feedback on text rendering. Does the rendered text look good, or is there anything in your opinion that can be improved?

Here's a few screenshots: