I'm developing Textractor, a new text hooker. Post VN engines that AGTH/ITH/VNR have trouble with here, and I'll try to make it work in Textractor.

Is it possible to add a function to read a pre-translated text file through the engine?

A few people I work with have been trying to translate 淫妖蟲 series of games but you can't make a patch with any of the publically avilable tools like garbro. So we have been looking for a engine that could run a text/translation file overlayed on the game that runs in sync with the in-game text.
Similar to the cutom translations you could use with VNR, if you are aware of that. Which had a Kangoku Senkan 3 fan patch made in that engine but that required online access to work.
 
IK what you're talking about and yes it's possible. I'm currently just thinking of what the format of a translation file should be. Kinda tricky cause it should be possible to have newlines, quote marks, etc. in the raw text and the translation. If I'm not careful it'll be ambiguous what's part of the file format and what's actually text. And ideally the file can be made using a basic text editor. Currently thinking...

Code:
|ORIG|こんにちは|BECOMES|hello|END|
|ORIG|さよなら|BECOMES|goodbye|END|
|ORIG|バカ|BECOMES|idiot|END|
 
Last edited:
  • Like
Reactions: Murderous Int
IK what you're talking about and yes it's possible. I'm currently just thinking of what the format of a translation file should be. Kinda tricky cause it should be possible to have newlines, quote marks, etc. in the raw text and the translation. If I'm not careful it'll be ambiguous what's part of the file format and what's actually text. And ideally the file can be made using a basic text editor. Currently thinking...

Code:
|ORIG| こんにちは |BECOMES| hello |END|
|ORIG| さよなら |BECOMES| goodbye |END|
|ORIG| バカ |BECOMES| idiot |END|

Yeah something like that would be perfect. So in the notepad or whatever format the line would be:

|ORIG| 【???】「ああ~~~~もうっ! 何でこんなことしなくちゃいけないのよ~~~っ!」
|BECOMES| [???] Oh enough! Why should I do this!
|END|

A concern would be with it keeping in sync with the in-game text at all times even if skip is used but perhaps that would sync with the actual hook to check every line if |ORIG| matches with the hook before it displays |BECOMES| ?
If it's possible to output the translation part to it's own overlay box then even more perfection.
 
Pretty much. I've decided that spaces won't be part of the format, so
Code:
|ORIG|こんにちは|BECOMES|hello|END|
is how it'll work. You have newlines in your post, do note that those will be placed into the translation.

The Extra Window extension lets you put text into an overlay box, so yes.
 
Last edited:
Thanks, this is a great start.
:kurochan_kyaa:
I will mess around with it over the week but I did a few test and I managed to get it to work using the SavedReplacements.txt.
 
Here's my savedreplacement.txt for what I have done so far for the Empress game DominancE. It's around 800 lines in.
https://gofile.io/?c=cmjild
5175727277f8868029cfa3ef4f0370967627c65a7d30d9996df36df22157db3462d64779.jpg
 
Last edited:
Sorry for necroing, I thought this might be better than opening a new thread.

I generally have the same problems with all tyrano-based games I've tried so far, garbled lines that even the regex filter doesn't help fix.

The filter manages to remove stuff like:
Code:
(</span></span>)|(style="visibility: visible;">)
(br />)
(<span><span style="visibility: visible;">)
(</span></ style="visibility: visible;">)
(</span></ style="visibility: visible;">)
(br'visibility: hidden'>)
(</span><span style="visibility: visible;">)
(</span><span style='visibility: hidden'>)
(<span><span style='visibility: hidden'>)

But then some lines are skipped, others are repeated in such a way that the repetition filter doesn't remove them.

Is there a general way of setting up Textractor for tyrano games? I've tried searching for a solution already, but I couldn't find anything...
 
Sorry for necroing, I thought this might be better than opening a new thread.

I generally have the same problems with all tyrano-based games I've tried so far, garbled lines that even the regex filter doesn't help fix.

The filter manages to remove stuff like:
Code:
(</span></span>)|(style="visibility: visible;">)
(br />)
(<span><span style="visibility: visible;">)
(</span></ style="visibility: visible;">)
(</span></ style="visibility: visible;">)
(br'visibility: hidden'>)
(</span><span style="visibility: visible;">)
(</span><span style='visibility: hidden'>)
(<span><span style='visibility: hidden'>)

But then some lines are skipped, others are repeated in such a way that the repetition filter doesn't remove them.

Is there a general way of setting up Textractor for tyrano games? I've tried searching for a solution already, but I couldn't find anything...

I have the same problem, but I only tried one game. From what Textractor says, it has something to do with JavaScript, but I have 0 knowledge when it comes to coding, so I'm just as stuck as you. If Artikash doesn't reply in one week I'll try to email him this thread so at least he knows this is a problem.

On an unrelated note, how did you find out the engine is called Tyrano?
 
I think I've read somewhere about it, from some creator on Patreon. The save files confirm it (have "tyrano" in their name).
 
Games made by Campus is always a challenge to hook. They got hooked just fine
Lisf of them:
https://vndb.org/p5457

I will try it on a few others that are known to be a challenge to hook. I'll report issue here and to the github
 
Last edited:
Thread stickied. [MENTION=143278]Artikash[/MENTION]; Thank you very much for this useful thread.
 
So for Tyrano, you should have at least one JavaScript text thread with some sort of output. Please note the second number of that text thread then go to the top left process dropdown, select the process associated with that number. Then click Search for hooks, click the CJK checkbox, and click start hook search. Once the console says it’s initialized, try and click forward a few lines. Hopefully, a good hook code will be found.
 
So for Tyrano, you should have at least one JavaScript text thread with some sort of output. Please note the second number of that text thread then go to the top left process dropdown, select the process associated with that number. Then click Search for hooks, click the CJK checkbox, and click start hook search. Once the console says it’s initialized, try and click forward a few lines. Hopefully, a good hook code will be found.

I did that, but the actual results are just a bunch of unreadable lines, and from what I could search I couldn't find one that could be hooked.
For reference, I'm testing this game: https://www.dlsite.com/maniax/work/=/product_id/RJ274004.html

I have attached the results here (cut down significally because of file size restrictions)View attachment results.txt, and I'm also running on 4.9.0 since the x64 version of 4.9.1 gives me an error saying it couldn't find VCRUNTIME140_1.dll. Not saying that it's Textractor's fault, just that I couldn't test it on 4.9.1 because of this.
 
Oh, yeah I found another issue with Tyrano looking into it again. Should work next release.
 
Oh, yeah I found another issue with Tyrano looking into it again. Should work next release.

Thanks again for taking your time to look at these issues. If it's possible, do you know why do I get that dll error? My machine has been working weird lately so I think it has to do with it, but if it's something that can easily fixed I want to know.
 
Oh, that's since I uploaded the wrong vcredist-x64, don't worry the next release will have the correct one.
 
  • Like
Reactions: jackslate
A bit late here, thanks for the update! Now I'm getting all the dialogue lines, even though my regex filter looks like this:

Code:
(</span></span>)|(style="visibility: visible;">)|(br />)|(<span><span style="visibility: visible;">)|(</span></ style="visibility: visible;">)|(</span></ style="visibility: visible;">)|(br'visibility: hidden'>)|(</span><span style="visibility: visible;">)|(</span><span style='visibility: hidden'>)|(<span><span style='visibility: hidden'>)|(: visible;">)|(br)|(<span><span style='visibility: hidden'>)|(>)|(</rb<rt)|(</rt</rub <ruby<rb)|(</rb<rt)|(</rt</rub <ruby<rb)|(</rb<rtレ</rt</rub <ruby<rb)|(<ruby)|(<rb)|(</rt)|( style='visibility: hidden')|(</rb)|(<rt)|(</ruby")|(yle='visibility: hidden')|(</span<
)|(="visibility)|(</span<r /)|(yle='visibility: hidden')|(</span<)|(yle="visibility)|(</span<r /)|(yle="visibility)|(</span<r)|(</span<
)|(</span<r)|(</span<r)|(</span<)|(<)|(/span)|('visibility: hidden')|(spanspan style=)|(span)

With me still adding stuff to it.

Any chance of this being smoothed out in the future?
 
Looks like the app is close to feature complete, and its definitely wonderful, but for me it would be ideal if it had just one more extension: Systran. I find that and Google Translate give me the best possible combo for coherency, and it'd be awesome to be able to get Systran to be able to run in in the app itself and utilize it in the extra window feature, without needing a combo of Textractor and TA anymore. It'd be awesome if someone could make an extension for it if at all possible.
 
Personally I'm quite satisfied. But I'm experiencing issues with LILIM games since it won't hook properly, anybody experiencing the same issue?
 
I tried hook searching+the alternate hook method for the 1996 windows versions of Shizuku and Kizuato and the 1997 version of ToHeart, but no matter what I do the text won't hook. I don't get any error messages when I attach textractor to any of the games, so I'm not sure what the problem is...
 
[MENTION=164234]moooooochasu[/MENTION];

Arkitash hasn't logged into AS since November 2020

You might have better luck by posting on GitHub

Code:
https://github.com/Artikash/Textractor/issues
 

Users who are viewing this thread

Latest profile posts

xorthalndor wrote on Ryzen111's profile.
Hi Ryzen!
Can you please up
戦巫女ホノカ ―コンプリートパック―
to the latest 1.0.7? Thanx!
Deladela2000 wrote on Ryzen111's profile.
Hello, Ryzen.
Can you reup this game?
Deladela2000 wrote on Shine's profile.
Hello, Shine. Can you reup RJ081433?
ヨコシマ wrote on Shine's profile.
こんにちはshineさん
ラボスイーパー~ドロシーの秘密研究記録~ https://www.dlsite.com/maniax/work/=/product_id/RJ01282013.html
新しいバージョン 1 .04 が公開されました
更新をよろしくお願いいたします