Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Darbury

  1. I've patched old Kirikiri games that had no data.xp3 before, so it is possible. (Technically, there is a data.xp3, but it's part of the executable, as you saw. If you hex edit the exe, you can see it sitting there at the end of the file with all the proper xp3 headers and everything.)

    Not enough to go on from your description so far, so here are some possible troubleshooting steps:

    • Try altering just one of the PNGs instead to narrow down if the issue is with the whole xp3 or just your ks script.
    • Check the text encoding of your ks script. With a game of that era, it likely needs to be saved out as Shift-JIS.
    • What program are you using to generate your patch.xp3? Sometimes, a different tool just seems to work better on certain games. In addition to GARbro, you might want to explore KrkrExtract and kiririki.
    • Is the game expecting an encrypted patch.xp3? If so, you may want to see if GARbro has that game's encryption as an option or use KrkrExtract to create a Universal Patch.
  2. 8 hours ago, noob4822 said:

    Hey, i'm trying to extract the script from a .xp3 game (v5233), and while i can extract the files just fine i can not open them (not the .ks scripts, nor the music, nor the images), so i guess they are encrypted. How can i decrypt them? I'm a complete noob, so i apreciate any help.

    What tool are you using for your extract? I'm assuming GARbro. Try using KrkrExtract instead.

    Just ran KrkrExtract on the trial version of your game and was able to get all the scripts, images, etc. out cleanly:

    ; その夏最後の嵐の夜 ぼくは死んだ
    ;I died in the last stormy night in that summer. 
    ; The TARHS Entertainment Presents
    ; 図書室のネバジスタ
    ; 統括・脚本 都志見文太
    ; 河原に置かれた荷物、デジカメ。
    ;原画・彩色 かずまこを
    ;音楽 鷹石忍 FROST
    ;背景 藍田望
    ;制服・ロゴデザイン もろずみすみとも
    @title name=&title_act0[0]
    sf.showpagebreak = 0;
    @call storage=flgreset.ks
    @history output=true enabled=true

    etc etc etc

  3. roZ4XOl.jpeg

    Darbury presents Darbury’s Old Visual Novels for Old People Named Darbury
    Will anybody care about this TL other than me? Probably not. So let’s just agree to call it a micro-niche release, okay?

    Anyway, there’s this doujin VN called Hitokata. It’s old. Came out 20 years ago, in fact. A one-person labor of love released at the turn of the century. It’s also well-regarded in the Japanese freeware VN community. Start poking around people’s top 10 lists of free VNs and you’ll be surprised how often it turns up. I mean, not Narcissu often… but enough.

    Why? Nostalgia maybe. Back in the day, a 100% free VN that clocked in at 10+ hours was something of a rarity. And one that was sorta good? Doubly so. The game was also surprisingly influential, picking up the time-loop ball from YU-NO and running with it before that trope became a total cliche. Even now, you’ll often see Hitokata referenced in reviews and discussions of doujin VNs with timey-wimey narratives.

    Great. So what the hell is it about, Darbury?
    Glad you asked. Here’s a little write-up:


    Welcome to the quaint seaside village of Uchioi, home to fishing, festivals… and the Gyuuki, an ancient demon sealed away beneath the waves centuries ago. All that seems about to change, however, as the Gyuuki shows signs of reawakening. The fate of Uchioi now rests in the hands of one teenage boy: Mamoru, called back to the Minami family seat by a distant relative. He has only four days to defeat the Gyuuki… and they’ll prove to be the longest four days of his life.

    Ancient demons, teenage angst, fresh fish… What more could you want, right?

    Hitokata never made it to the West for a variety of reasons: a graphically bare-bones first release; an over-reliance on repetition; and an odd mix of cornball humor and existential dread. (Plus, if I’m being honest, the narrative can be slightly clunky at times.) It was popular enough in Japan, however, to merit a commercial remake for mobile — first for feature phones, then Android/iOS. And with that came a whole new generation of fans.


    A very stupid localization
    Everyone had a COVID hobby to keep them sane over the past year, and working on Hitokata was one of mine. It started as a simple translation of the NScripter original, but when I was done, I was visited by a series of increasingly stupid thoughts:

    • Stupid Thought #1: Hey, this VN isn’t very pretty. Maybe I can just add the backgrounds from the mobile release.
    • Stupid Thought #2: Heyy, now that I’ve added the backgrounds, it probably won’t be much more work to add the sprites.
    • Stupid Thought #3: Heyyy, now that I’ve added the sprites, it probably won’t be much more work to add the sounds and music.
    • Stupid Thought #4: Heyyyy, now that I’ve added the sounds and music, it probably won’t be much more work to add the UI.
    • Stupid Thought #5: Heyyyyy, now that I’ve added the UI, why don’t I just port this whole thing to Ponscripter.

    By the time the stupidity stopped, I’d more or less done a ground-up rebuild of the game. Whoops! On the bright side, it means there are now two distinct versions of the TL patch: Hitokata Classic, a straight TL of the original game; and Hitokata Enhanced, with all the added bells and whistles. Here’s a side-by-side comparison of an early screen to show how those two versions stack up.


    So, if your name is Darbury and you like old doujin VNs, you can find more info on the patch here. (You're also incredibly handsome. Good on ya.) If you’re anyone else, just go play Musicus! already.

  4. Welcome to Fuwa! I don't know all the details of your project, but here are some quick thoughts:

    • KrkrExtract has always been a crapshoot for repacking. I tend to get the best results with kiririki (though it's hard to find a download of that these days) or GARbro.
    • You're looking to make a patch, right? And not replace the data.xp3 file wholesale? If so, you'll probably want your final output to be a patch.xp3 file rather than a data.xp3.
    • Don't try to replicate the file structure of the data folder in your XP3. Just keep your updated files loose in the patch folder and the engine will sort them out on launch.

    Hope this helps some. Good luck! 

  5. 37 minutes ago, adamstan said:

    Another experiment - using original textbox / border. That way text won't obscure images, and well - it brings more nostalgic mood ;)

    What do you think?

    This version, 100% — plus, like, 3% percent I had sitting around in my jacket pocket.

    It solves so many problems for you. It minimizes the impact of the dithered backgrounds while also giving them visual context. It keeps character sprites from sliding to the far, far edges of the canvas (or behind their own dialogue portraits). And it just looks rad.

    Restyle that Ren'py bottom nav with an 8-bit pixel font and you got yourself a winner.

  6. Hi! Best of luck with your translation patch! Some thoughts below:

    Issue #1
    The special characters aren't just bold, they're a different font entirely. (Your base font is serif; the special characters are sans-serif.) Most likely answer is that the English version of the game is using a custom font, which in Kirikiri is usually stored as .TFT files, and that font doesn't include accented characters. So whenever one of those shows up, the engine reverts to its default font.

    Possible solutions include:

    • creating your own custom font containing the characters you need. (There's a font tool in the Kirikiri SDK.)
    • tuning off the custom font in the config files and sticking with the game's default (which won't be nearly as pretty).
    • asking the Académie Française to only use unaccented characters from now on. (YMMV)

    Issue #2
    Haven't run into that exact situation before, but I'd start by doing a search of all your .ks scripts to see if those choice text strings are duplicated anywhere. I've worked with other Kirikiri scripts where that ended up being the case...

  7. Welcome to the imperfect world of wrestling with file encodings. Actually, I'm sure it makes perfect sense to all the CS majors out there, but...

    Looking back on my project notes, seems like my workflow involved copy/pasting the original Shift-JIS source into a new TextEdit doc (yup, I'm on Mac) then re-saving it out from there as a UTF-16 LE file. Apparently TextEdit did the best job of keeping the BOM where it needed to be.

    Anyway, this is the part where you get to experiment and find a workflow that works best for you. Or bribe one of those fancy CS majors into explaining the "sensible" way of doing it... :)

  8. 6 hours ago, Tester said:

    Hmmm... AIRNovel (list is by no means complete), I guess? At least I didn't hear about any attempts to reverse it and did not try it myself, but did hear about some localizers complain about it.

    I've played around with AIRNovel some in the past — I was taking a peek at Shin'ainaru Kodoku to Kunou e — and it's not too bad, all things considered. The development tools are all freely available at https://famibee.web.fc2.com/intro/home.htm. Extracting the assets from a game was pretty easy, but decrypting them without the key is where I got stuck. (It partially encrypts each file with a RC4 cipher, so you need to know both the key and the encryption length offset. Or something very technical sounding like that.)

  9. So hey! This eventually became a thing. Two things, actually.

    Does Anybody Really Know What Time It Is? / The Girl in the Glass: Short horror-tinged VN that's part medical drama, part psychological thriller, part murder-mystery.

    The End of the Summer: Very short VN about the disappearance of a family's pet cat... among other things.

    Ended up ditching KiriKiri entirely for these and just rebuilt from the ground up in Ren'Py. The originals haven't been officially available for years now, so the engine switch makes some amount of sense.

    Super old, super doujin, and I'm super okay with that.

  10. Yeah, I got a bad batch of gas station sushi and ended up in a medically induced coma for the past four years. Just woke up this morning. Anything interesting happen while I was out? Can’t wait to finally see how Game of Thrones ends...

    @NSAID: I totally get the low/no budget dilemma. Been there, done that, got the off-brand t-shirt. Maybe just tack it on your v2.0 to-do list? 😀 

  11. Welcome to Fuwa! Always glad to see creators putting new material out there. :)

    One friendly suggestion: have a native English reader go through your script. While I haven't played the full VN yet, your Steam screenshots have enough anguished English in them ("I look at the both of my hands", "despite the sky is still shrouded") that it might easily dissuade someone from downloading/playing the game. You've clearly put a lot of work into this, so it's worth the extra effort to make sure that readers can fully immerse themselves in the world you've created.

  12. One step forward, two steps back.

    I ended up having to laboriously hex edit assets out of the .EXE one file at a time, rather than as the usual nice-n-tidy XP3 package. So now I have media and scripts. (One step forward!)

    But once I look at the file manifest, I discover that the old KiriKiri game in question doesn't seem to have an Initialize.tjs file, which means it lacks the standard structure to even accept patches to begin with. (One step back!) And moreover, making hex edit revisions to the file doesn't seem to work either, since changing even a single byte results in KiriKiri throwing an "Uncompression failed" error on launch. (Another step back!)

    Looks like this one goes on the back burner for a while. Because you know what's easier than wrestling with old KiriKiri games? Scotch. Scotch is easier. Especially on Fridays.

    This message brought to you by the National Council on Scotch.

  13. Hey all! I'm dealing with a particularly tricky asset extraction for a very old, very short KiriKiri-based VN, and was hoping someone might be able to shed some light on it.

    As is sometimes the case with these old KiriKiri games, there are no separate .XP3 files; they're embedded right into the .EXE. I've used KrkrExtract to handle extraction on titles like this before. But this time, it just silently fails.

    Digging into the hex code, I see the author has obfuscated/compressed the .EXE using a command line tool called UPX (Ultimate Packer for eXecutables). Great ! I grab that and successfully unpack the .EXE. Progress! But nope, KrkrExtract still silently fails.

    Okay, then how about manual .XP3 extraction via hex editor, which is something I've had to do once or twice? I know the signature string I'm looking for (58 50 33 0D 0A 20 0A 1A 8B 67 01), but unlike in most cases, I only find the first part (58 50 33 -- i.e. "XP3"). The rest is an unfamiliar set of values. I manually extract the data anyway and give it a whirl, but it doesn't function like a proper .XP3 file. So no luck there.

    So is the embedded .XP3 encrypted? I guess anything is possible, but I'm thinking probably not, since I can see bits and pieces of plaintext script here and there via the hex editor.

    I'm temporarily stumped. Any other approaches I'm not thinking of here? Should I just beat it like a piñata until all the delicious assets fall out? Is that how computers work?

  14. 2 hours ago, Fred the Barber said:

    On Sango's route first, because genki redheads (or I guess pink in this case, whatever) are my bag [...]  I think I had more fun with the common route, than I'm having with the character route so far, despite being quite fond of this character, which has me a bit worried about the other routes, but I'll persevere. I'm definitely curious to see what this route's resolution looks like.

    Sango's route is universally considered (by me) to be the worst of the lot, with way too much forced drama/psychobabble. So take heart! It can only get better from here. :) 

  • Create New...