Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/15/24 in all areas

  1. The other day, I was working with some visual novels to possibly start a FanTL and a question came to mind: Is it possible to make a Visual Novel that will only run if you have your region in Japanese, run in any region? I mean, yes, Locale Emulator exists, but that just makes the program you execute think the region is on Japan. So there must be a way to make it work without the use of those tools. But I needed a game to test on, in first place, so I started working with Karenai Sekai to Owaru Hana. This is what I found out until now: First thing I did was open the game executable with Resource Hacker to find anything that could help me. I found the game reads "Shift_JIS" encoding, at first I thought it'd be helpful in the process to make the game run in any region, I've reached somewhere, but I soon hit a roadblock. You see, kirikiriZ executables have two encoding options: Shift_JIS and utf8. Changing the encoding in the .exe to "utf8" made it executable, at least, in any other region. But you'd get this error: Investigating a little bit into the error I saw that the engine working on utf8 reads the files as UTF16 LE BOM, and since most .ks and .tjs files were in Shift_JIS, I had to make myself a tool to change the encoding of all the files from cp932 (Shift_JIS) to UTF16 LE BOM to see if it worked. And would you look at that, ANOTHER ERROR. However, this one was confusing. The error was this one: "What?" "But the startup.tjs IS in the data.xp3 I created..." The next thing I did was to find out what was happening, and when I saw the data.xp3 of the game, THIS is what I found out: If one startup.tjs isn't there, the game will not work. I searched if someone talked about this before, and I found a fairly recent post on this topic with someone mentioning this when trying to extract the data.xp3 of the VN they've been working on. No one responded, sadly, so I had to keep investigating. I remember that in the official Kirikiri tools, there was a startup.tjs in a folder called "Encrypt", but I don't really think it has something to do with it since it's probably for another purpose, like encrypting the .xp3 files. But now, what can I do? I got stuck now since I can't find a way to get two files with the same name in a .xp3 file. And making two patch.xp3 files with one startup.tjs inside each is contraproducent, as patch.xp3 is made exactly to be able to replace files and those two need to "live in harmony" in order to make the game work. After analyzing executables from other visual novels, I realized I may have been wrong this whole time since they all had Shift_JIS as its encoding property. And yet, they ran in any region. The first two I analyzed were Sousaku Kanojo no Ren'ai Koushiki and 9-Nine- Episode 2. The only difference I could find was that the .ks and .tjs files inside the .xp3 were all in UTF16 LE BOM. I appreciate if you read this hell of a text wall I made. Do you happen to know something I don't and want to add info to this thread? You're free to reply to this thread with your findings! This whole investigation was purely made because I wanted to know more about the engine, but it might be of help FanTL if I/we figure a solid way to make the region restriction go away, imo. Update: check at the end of this post. Might update this if I find something else Looks like I'm gonna have to give up on this investigation, at least for now, sadly. I'm lost asf, to be honest. This past week I've been endlessly searching for clues, a form to work with it, anything at all, but to no avail. I haven't found a way to make those two startup.tjs files just... be there, in the same compressed file or just make the game work without emulating region. Just that kind of blocked all of the investigation alone. And there's still things that I haven't covered here that I just couldn't find an explanation for. It was a total letdown for me. If anyone just happens to follow this or saw this obscene amount of text and knows something, you can just post it here. Or not, you do you. There must still be a reason as to why some visual novels run and some don't. A reason I could think of is engine version. For example, Kareseka's executable shows the version is 1.2.0.3 and Sousaku Kanojo's one shows it's 1.4.0.8. It may have something to do with that, but even I think that's kind of... stupid. But for FanTL, you can just kinda do what @Sisulizer suggested. Use the version.dll VNTextProxy by ArcusMaximus provides for Kirikiri, it has a built-in locale emulator and other useful stuff like rendering non-SJIS characters (you know, letters with acute like á, é or í and other characters that don't form part of the cp932 character table). You will have problems if you want to use another version.dll from another tool like Xp3Pack from KirikiriTools (that's also made by ArcusMaximus lol), though. Good luck, programming adventurer! Until next time.
    1 point
×
×
  • Create New...