Jump to content

H-code issue with ITHVNR and Da Capo III PP


Recommended Posts

I am using ITHVNR and TA to read the Da Capo III fan disc Platinum Partner and have hit upon a slight, bu very irritating, snag.
Every 23 characters on the dialogue line, it will copy in a line break(and a space, varying) and I need to edit the outputted text to remove the extra line break(and space, where applicable).
I am guessing this means there's an issue with the h-code, but as I do not know the back from the front of a h-code, I can't really change it.

Hint image:
KVkMi0P.png

Present h-code
6G9xOjQ.png

Any help editing the h-code to make it work properly would be greatly appreciated
- TLM

PS:
This h-code does NOT work with regular ITH, only ITHVNR. I do not know why, so if someone could explain that to me, that would be a nice bonus

PSS:
Images illustrating the issue:
ITHVNR OUTPUT:
UVqAnT1.png

TA:
dsi7UVh.png

Edited by The Last Melody
Why doesn't pasted images show up in the posted topic *sigh*
Link to comment
Share on other sites

Those line breaks you're seeing originated from the game's script. ITH copied them as-is, but you can add a global filter in ITH to ignore the line breaks.

The filter feature is not available in ITHVNR, which means you must use ITH3 if you want to continue...

  1. In your ITH folder, find and edit a file called ITH.xml
  2. Look for an XML tag that says <SingleCharFilter />
  3. Replace it with this: <SingleCharFilter m000A="0" u000A="0" />
  4. Save the xml file and start up ITH.
  5. The Options screen should should show 000A+ / 000A+ under the SJIS/Unicode columns. (see example here)
  6. Turn on the checkbox that says "Enable global filter"
  7. Click OK

When you hook the game again, that should get rid of the line breaks when they're pasted into TA.

------------------------

For your other question: That address in your h-code is a relative address, so it needs to have a corresponding module name for ITH to find the exact address to hook into. That is usually the name of the game exe.

With that said, the corrected h-code would be: /HS8@220D0:DC3PP.exe
As a bonus, the h-code with the absolute address already calculated: /HS8@4220D0

That is the same hook that ITH3 should auto-detect already, so the above h-codes should not be necessary.

Link to comment
Share on other sites

I am unable to run ITH v3(only v2.3 and ITHVNR), I only get errors(using Win10, tried with Win10-fix, didn't work).
And that is the h-code ITHVNR is using, I just thought the game.exe wasn't a part of it, so I left it out.

Also, the tag had both an opening and a closing tag, not a combined one like you provided here.
Character filter is broken in ITHVNR as it doesn't work.

Inputting the h-code with :DC3PP.EXE seems to make it work(only crashed without, as I thought it wasn't part of the code) in v2.3.
Really wish I could import the h-codes from V3 to V2.3.

EDIT:
V2.3 seems to have become more crash-prone after my attempts to upgrade it.

EDIT2:
V2.3 doesn't seem to rely on any external files for it's character filter.

EDIT3:
Got it running properly again and it has produced an ini file containing settings. I tried to add the letter "a" to the Character filter and it has added this to it's code:
 

CF={
0061,3,a
}

EDIT4:
Attempted to figure out what to put into the CF tag to get the same result you did, but alas, I have no idea what that 3 means, nor what to replace the "a" with in the file. Please advise.

EDIT5:
Thanks to being very stubborn, I managed to make it click, still not sure why it didn't work the first three times. Now, it seems to be working, albeit a bit... crash prone, if I press on certain things(for example the DC3PP.EXE in the process list) it'll crash, but I just need to not do that.

Secondly, how did you calculate the absolute address? I have a feeling I will need to do so for other VNs, since I can't use V3 with the largely expanded h-code repository.

Edited by The Last Melody
Link to comment
Share on other sites

3 hours ago, The Last Melody said:

Secondly, how did you calculate the absolute address? I have a feeling I will need to do so for other VNs, since I can't use V3 with the largely expanded h-code repository.

 

Standard load address for Windows exes is 0x00400000, so you just add it on. 0x10000000 for DLLs. Maaaaany games will use random layouts though and not load there at all, that's just the default/preferred, and in that case any absolute addresses will be in the wrong place unless you get really lucky, so it's not reliable at all unless you know the game doesn't use it.

Link to comment
Share on other sites

Your problem could have been easily fixed by using TA's substitution filter (Tools --> Substitutions). Substitute a line break (\n) with "nothing" and everything will be fine.

49 minutes ago, The Last Melody said:

Either of you know how to make ITH3 work on win 10?

http://sanahtlig.blogspot.com/2015/08/windows-10-vn-compatibility-list.html

Link to comment
Share on other sites

But I did!

29 minutes ago, Tyrosyn said:

Your problem could have been easily fixed by using TA's substitution filter (Tools --> Substitutions). Substitute a line break (\n) with "nothing" and everything will be fine.

Link to comment
Share on other sites

You're asking in which situations substitutions can be used?

I often use them for formatting the output text. For example, I always substitute names into romanji (even when you don't use MTs and only use parsers, the output simply looks better compared to not recognized kanjis messing the parsing up), I use regular expressions for detecting names written in kana so they don't mess up normal Japanese words who consist of the same kana sequence. When playing games with hookable interfaces like RPGs, I use substitutions to format the interface in a way that is easy to read, like adding line breaks when the game lists attributes or skill descriptions. And when the h-code gives me some garbage characters or repeated lines or names, I use substitutions to delete them.

In short, every time I'm not satisfied with the output of the h-code I use, instead of having to search for a new h-code, I just tweak the output of the old one with substitutions and regular expressions.

Link to comment
Share on other sites

No no, not the substitutions, the /n.

As we can see, here in the forum it's visible as just that and does nothing, but if input into TA substitutions it will replace linebreaks. I've also noticed that some games output /n instead of a line breal if you extract the scripts into .txt files

Edited by The Last Melody
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...