Artikash / Textractor

Extracts text from video games and visual novels. Highly extensible.
GNU General Public License v3.0
2.01k stars 201 forks source link

Can't hook Lunasoft engine automatically. (pattern not found) #1102

Open SPUAP opened 1 year ago

SPUAP commented 1 year ago

浮遊都市の作り方 正しい性奴隷の使い方 素晴らしき国家の築き方 https://vndb.org/v17394 https://vndb.org/v20529 https://vndb.org/v37921

game example file(Attenion: R-18G, very big file, trial version) - DMM.com(R-18G)

Above 3 games are IrisField's games. Game engine is Lunasoft engine.

Textractor recognize game engine, but can't hook automatically. message is "vnreng:LunaSoft: pattern not found".

To hook, need to Use "Search for hooks".

Annoying problem is each dialogue line is each thread. 1 dialouge line is about 4 threads. (correct hook thread is only one or two.) 1 dialouge box is 4 dialouge lines. so about 16 threads. Need to examine correct 4 hook thread among 16, and if needed use Extensions 'Thread Linker' and 'Join Sentences'.

As a result hooking is okay, but it's annoying.

SPUAP commented 7 months ago

I found two codes for Lunasoft engine game. please revise texthook.dll (Sample games: above 3 game + demo all japanese versions)

/HS4@0:kernel32.dll:lstrlenA /HSN4@0:kernel32.dll:lstrlenA

code1

/HS4@0:kernel32.dll:lstrlenA is multi thread. dialogue thread and monologue/choice thread. not 1 thread. And 1 dialogue box = 1 hook script line. not in-game dialogue line. no line breaking. (but translation quality is rather good. perhaps.)

code2

/HSN4@0:kernel32.dll:lstrlenA is 1 thread. dialogue and choices are all included. And 1 in-game dialogue line = 1 hook script line. The problem is 'game program code' is also included sometimes. It's trivial. Another problem is Copy to Clipboard extension broken.