Jump to content

Zakamutt

Fuwakai
  • Posts

    4509
  • Joined

  • Last visited

  • Days Won

    63

Everything posted by Zakamutt

  1. Hi, I'm not sure if it will work on what you're trying to work on, but I found a tool for "DDsystem" which is apparently the same family of engines through my deep and enduring connections (I searched the eroge translations discord). You can download it here https://mega.nz/file/PssyWQjR#mP8MY91fGXl-DHv6NfvIUtDjfFTTndIQJPrp24Dr9aM
  2. fam are you sure you're not getting the 'good' end but it's just not that 'good' of one
  3. better viewed at https://disearnestlydisearnest.wordpress.com/2025/03/13/the-mountain/ Step into my homeheart at a dark hour. The curtains are drawn on imperfect midnight, all too long this season, yet never complete in its reign. Slide half the curtain open, behold a familiar nightscape, not the ink of primordial darkness. Feel the rush of cold air as the chill by the window escapes confinement; this apartment has never been the same since they changed the thermostats. The new temperature is more economical, liveable, reasonable, cold, frigid, death to the idle body. Twenty degrees. Objectively fine, but I cannot bear to be within it. Beneath the blanket lies shelter. From flawed midnight to imperfect warmth. The cold seeps in from every opening, yet the sweat of a perfect seal warps the fabric into a source of disgust. Always the maintenance, the basic demands of the human body imposed by draconian rule, a constant interruption to freedom. Am I hungry, thirsty, cold? Is my blood sugar all right? Do I need to visit the bathroom? Is my bile rising, are my apththous ulcers or prickly teeth and gums calling for attention? Do I want to sleep? Do I want to fall asleep but stay awake? Do I want to stay awake but fall asleep? Neither will be granted me, efforts be damned. It would be time to rise and face the day, but it isn’t even day. The earliest tendrils of dawn outside the window give an imperfect answer. The winter dawn is not a revival. In the dark blue sky hangs a sullen headiness, the dark shapes given form by its light a mundane horror all the more terrifying for their normality. Every day I wake up and have to live. What’s worse, I don’t even want to die. My life has ground to a halt. All the dreams of the future are slipping from my grasp. Though that is the irony, of course. I had never had the strength to honestly hold them in the first place. Before me is a mountain, a dark mass that I know that I could climb if but I had the will. But the will was never there, and that is why I fumble. The mountain is a well-traveled spot, with myriad guides to its sloped that I have not read; ascending it is difficult, but also to be expected of an adult. An opportunistic manchild, of course, has other options. The part of me that cares not for the future knows that this comfortable cocoon is an objectively sweet deal. Perhaps I would live here forever, if forever was an option. But the cracks are always within sight to spoil the view. How many years until my parents die? Perhaps in the transhumanist future I will live forever, but no doubt they were born too late to reach eternity. Dad knocks on the toilet door and proclaims in comedic tones his desire for my exit. I wipe and look down at the bloodstained bowl. The hemmorhoids aren’t even particularly bad; just darkly emblematic. I am old and young but mostly old; thirty-three. But both older and younger in spirit. I look outside again. Winter dawn has reached its steely stage, overcast sky as oppressive as a lingering deadline. The buildings look as washed out as my soul. What little blue light comes from the sky rudely kicks my corporal systems; I am out of sync, zeitgeber: the systems wake, but unevenly. I perversely want to sleep again at exactly the wrong moment. 6:42 am. One hundred and sixty-five credits. One fifteen-point course to finish my education and fling myself into the yawning mouth of adult employment. Fifteen points take the shape of a Mountain. They are special, for to gain them I must be employed, but on condition; be academic, but at another’s behest: the final product is a report but the process to report on is a work and employer-student-university coordination and multipart deadlines and forms and uiniversity-student communication and undefined sludge not even known as I dare not ask. I dread its slopes even as I know I could climb them. I dread its slopes even though I don’t even know what they’re like. I dread its slopes without trying. I dread the plunge from its top once I’m done. The cocoon doesn’t look so bad anymore. Funny how I’ve made it worse. My buffoonery is fractal. Aversion coats the Mountain, but what of the contents of my cage? Every heartfelt hobby is aversive, clad in the gown of Effort. Look like you’re having real fun? Now let’s make you think it’s work! What suits you, pathetic clown, is the effortless and immediate, the instant chat, the youtube video, the blandly regarded article. You don’t doomscroll but you always blandsurf. Every moment is an escape from responsibilities you didn’t even need to put on yourself. When was the last time you finished a VN? Don’t ask. Now I even fear what might come next in my fiction. What if it’s truly sad, what if I feel something? What if I cannot maintain my carefully crafted distance? My foolishness is fractal in this sense too. I know I will be fine on every intellectual level. But every trick has failed, every stratagem that once worked run dry, every honest effort bested by my sluggish nature. Back into the comforting cloak of mediocrity I go. It’s really not that bad, once the choir of despair fades into the background. It’s really not that bad to be me. It seems every day in chat someone else’s struggles eclipse mine. So who knows. Deep down I am an optimist. Holding that hope helps me endure this prison. But it also shows me a way out. Will I escape the cocoon? No one can tell. Soon I will be back in sunnier mood. I hope we make it, and for now, goodbye. View the full article
  4. I actually think my method might be as general as theirs, I've dropped in my file unchanged and had it work for same-version tyrano as you can see from the last line of the post. I also don't remember a kag.tag.js file in that folder in some of the releases I've seen. Still, who knows
  5. I mean have you tried inserting (mounting) the original disc (iso/mdf) before launching as it tells you to in any case I browsed 某 private bit flow coordination provider and found a separate patch and nodvd exe given, uploading here: https://mega.nz/file/HhEmVb6K#4cOo11jA2xlM_k5UaTKLEv8ebERdSyPl8l0qxfLJwz4
  6. In 1997, Melanie Rawn’s second book in the Exiles trilogy was released. She then started writing other series because she had depression or something. Sounds taihen. With all that said, the year is 2025 and the third still isn’t out, and I read those two first books! Curse thee, Melanie Rawn. You said you’d work on book three again after the fifth book of the Glass Thorns series, but that was out in 2017! I guess you’re serious in a way, since I can’t find anything you’ve written after that time. Kind of reminds me of me with my Shinimasu translation and how I haven’t finished the edit check in like five years. And how that’s made me mostly not work on any other fan translations I wanted to do over the years (I got paid for some work, I did do that). In any case, damn it, if Melanie hecking Rawn manages to finish before me I don’t know what I’ll do. In a weird way I feel a kind of kindship with her, having this stupid project just never ended looming over me. And if she’s not going to make it, fuck it, I will. One of us has to. If nothing else, at least we’re going to beat Half-life 3 to the punch. I pledge to do at least 100 more lines this month. I did like 3 today or something, but that includes setting the thing up on my computer, so I totally have copium available. View the full article
  7. >somewhat-okay japanese if you had somewhat-okay Japanese you wouldn't need the MTL.
  8. I think Yorhel is in the top 1-2% of people I'd trust to implement both more Western and Japanese ways of looking at the issue as appropriate to the title. As for the argumentation, well, I think a quote from one of the threads you link says it quite well: I am thoroughly unimpressed by your argumentative performance.
  9. Finished the yuri LN 新しくできたお姉さんは、百合というのが好きみたい. I picked it up because I liked the author’s previous work 彼なんかより、私のほうがいいでしょ?. I was not disappointed as this too had an engaging dramatic arc within a single volume. Having the characters be uhh 25 and 29 iirc is a breath of fresh air even as one of the girls is not much of a shakaijin (…but is relatable…). This is a nakige style narrative arc book and while I don’t think it uses anything actually unreasonable I wonder if the author decided to finish it early due to some of the things mentioned in the afterword as having caused a 2 year gap between this and their last book, like their cat needing 3 operations and them falling ill as well (yaba). Ultimately some themes hinted at during the start are left unexplored, and my guess is there isn’t more coming for that, but the core arc is there so it’s not the worst loss. The prose felt a little mid compared to miyase iori’s soine dreamer, with the occasional awkward phrasing, but it’s not distractingly bad either unlike certain other authors I may have dropped in the past. Overall highly recommended for yuri enjoyers that like some nakige style drama. View the full article
  10. I remember managing to find the scripts for some by using generic "unity extractors" and just poking around the files. There are definitely a lot of irrelevant files to comb through though. If nothing else, it would help you find if it's based on any kind of VN engine framework made for unity, which could help in searching for tools/info later.
  11. The version generally recommended to JOPs is the fukkokuban (which has run fine for me on win10 fwiw) though so idk. It's not like widescreen is automatically better when there's a whole graphic overhaul that might lose... soul points
  12. It's crazy how you couldn't even call it third time lucky if this one ends up better. Ganbare ribbi.
  13. ill give it a solid 1/1000 since I've never seen a soul mention it. id go 1/10000 but it's sagapura and some boomer fancier might like the artstyle
  14. I feel like I should be trying to post opinions of the things I actually read somewhere more permanent than Discord, even if it’s not super detailed, so here: Finished Urasekai Picnic writer Miyazawa Iori’s そいねドリーマー. I quite enjoyed the ride, even as I can pick out things that I might have liked different if I try… but I’m not sure if trying is the wise option. This is science fantasy and not science fiction, and viewed that way the things left unexplained are not so bad — it’s not like not comprehending the horrors in Urasekai Picnic makes them worse. This does not have “that light novel feeling”, whatever it is, if you know it you may understand, feeling a lot more like a normal book that could have been released in English — though the way the SF feels very fantasy-like is a little Japanese perhaps. Or maybe I just never read much soft SF in English… It’s funny because I can kind of imagine Stephen King writing something like this. Which is not a bad thing. I found the characters’ ability to actually reason their way out of a wet paper bag at the start refreshing, though eventually the problems become a little hard to solve with conventional logic. Naturally the emotional-plane issues are not so easily solved, but hey, relatable. Miyazawa’s dreamscapes are described evocatively and fantastic creatures with an appropriate strangeness that tickles the brain. It was fun to take trips all over dreamland, reminding me a bit of Zelazny’s Nine Princes in Amber series (which I read in Swedish but whatever), though significantly more… restrained than his approach. I can see it being difficult for earlier learners to keep up with frequent different locations, and the vocab used can be broad — but that’s what lookup is for innit. I read the last 60% of the book in 30% (72-page) bursts, which is unusual for me, but I’d gotten hooked. I wouldn’t read this if you primarily want yuri and don’t care for the science-fantasy plot, but there is some yuri involved. 4/5 would do it again View the full article
  15. have you tried doing what the text in that image says
  16. Try to text search the ks and tjs scripts for the words in question. though I guess if they're obfuscated or encrypted I can't help... idk
  17. Well, it's now the 17th and it doesn't seem to be free anywhere edit: it's gone through now and is free on steam
  18. I've tried ActivityWatch and ManicTime and I think ManicTime is substantially better if you're only using one machine. Also gives you a very detailed breakdown of your day which may or may not alarm you.
  19. bao bao
  20. Zakamutt

    pemis

    benis
  21. TL;DR: edit the pushBackLog function in kag.js to copy to clipboard. Use javascript to filter the output. Various issues discused in full text This post is intended for programmer-like people. If you’re not a programmer good luck but I will not be taking any questions at this time. Some tyranoscript VNs hook fine. Some hook… okay, if you’re willing to filter their curséd html tags. Some work on specific versions using custom hook codes. Some work if you’re willing to use LunaHook. Some just don’t work. But what if there was a way to get the text you want without ramming a spy program into its functions at all? Tyrano is just your average Electron monstrosity, and a lot of VNs have exposed javascript files. Just edit the code lol. It turns out that this impulse is mostly right, but it takes some time to find the right point for a surgical strike. Also, archived files make it more annoying to patch, but there’s some imperfect workarounds at least. VNs I’ve done this with so far include: 雨にして人を外れ 腐った果実-Rotten Fruit- 背徳シレネ – あなたの知らない奈落の底 (en prepatched release, depatched) 接触 (https://vndb.org/v30010) So what’s the right place to strike? It turns out that the script parser might have some Kirikiri ancestry, as it uses a KAG plugin (also .ks script files lol). The path to this is usually something like (resources/ app or app.asar archive)/tyrano/plugins/kag/. In here we find kag.js, which has a function pushBackLog that, well, pushes things to backlog. It will probably be minified and unreadable, but a swift google finds an unminifier easily. The backlog push is good for our purposes (until you hit a denpa VN that decides to fuck with the backlog, I guess), as we can easily extract whole script lines without having to worry about how the game parsed the line originally (what if it’s symbol by symbol?). We can also deal with an issue that happens with text hookers in the engine: multi-line text boxes getting split. It’s not perfect with my current solution as you will copy first part of the line and then the whole line to clipboard, which is a problem if you do obsessive character tracking. This can be solved by not doing obsessive character tracking. I didn’t find any easy way to not copy half-lines after a moderate amount of thinking, but maybe I’m just being dumb. Anyway, here’s an example of how to modify the function. Additions marked by asterisks: pushBackLog: function (t, a) { if (0 != this.stat.log_write) { a = a || "add"; var e = parseInt(this.kag.config.maxBackLogNum); if (!(e < 1)) { if (1 == this.kag.stat.log_clear && (a = "add", this.kag.stat.log_clear = !1), "join" == a) { var s = this.variable.tf.system.backlog.length - 1; if (s >= 0) { var i = this.variable.tf.system.backlog[s]; this.variable.tf.system.backlog[this.variable.tf.system.backlog.length - 1] = i + t; *navigator.clipboard.writeText(this.stripHtml(i + t)); } else { this.variable.tf.system.backlog.push(t); *navigator.clipboard.writeText(this.stripHtml(t)); } } else { this.variable.tf.system.backlog.push(t); *navigator.clipboard.writeText(this.stripHtml(t)); } this.stat.current_save_str = this.variable.tf.system.backlog[this.variable.tf.system.backlog.length - 1], e < this.variable.tf.system.backlog.length && this.variable.tf.system.backlog.shift() } } }, *this whole function is new stripHtml: function(html) { let tmp = document.createElement("DIV"); tmp.innerHTML = html; return tmp.textContent || tmp.innerText || ""; }, Basically, any time we would add text to the backlog by changing this.variable.tf.system.backlog, it’s reasonable to assume that’s a line we want to capture. The easiest way to do this is to use the navigator.clipboard.writeText() function to write that same string to clipboard.stripHtml is a utility function that strips the html from it by just… making it an html element and using some browser functions, because fuck me we’re in Electron land. I’ll be honest, I don’t particularly know or like javascript, and this is just based on a casual google. But it works so who cares I guess. Does the element leak? Who knows! Not my problem. However, navigator.clipboard.writeText() isn’t available in earlier tyranoscript. Version 500 as seen around the top of the kag.js file has worked for me, but 450 fails. What then? read on. Vexing case one: what the heck are you doing, Haitoku Sirene? This is a weird release. First of all, the resource files are actually embedded in the .exe. My memories are murky, but I think I got them out using arc_unpacker on that same exe. This got an archive I could open that then had the game data within alongside other weird stuff. Once I hit that, I was able to make a patch using the Tyrano Rider’s patch generator, though after experimenting this is actually just zipping something containing the patch folder maintaining folder structure with the name tyranoproject.tpatch. You can even compress it if you want (level 0 and 5 in 7zip tested). I’m not entirely sure if this works on anything but the prepatched english version, but the great thing is we can both remove the english script and use the work of the tl team by changing out the patch archive to only contain the tyrano/ and below folders into kag.js. Okay pog we did it reddit. This minimally-invasive patch option probably works on other things. Unfortunately it has not for me for things using .asar archives… but that’s for the next vexation. Okay, we can actually patch the game. Problem: the engine is too old and we can’t copy to clipboard the same way. What now? Well, I descended upon stackoverflow and copied some other dude’s method. Does it really need the error logging? Probably not, but imagine thinking about how to improve javashit. It’s basically the same except we need a whole ass own function to copy to clipboard: *this whole function is new copyToClipboard: function(text) { var textArea = document.createElement("textarea"); textArea.value = text; // copied near verbatim from https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript // Avoid scrolling to bottom textArea.style.top = "0"; textArea.style.left = "0"; textArea.style.position = "fixed"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'successful' : 'unsuccessful'; console.log('Fallback: Copying text command was ' + msg); } catch (err) { console.error('Fallback: Oops, unable to copy', err); } document.body.removeChild(textArea); }, pushBackLog: function (str, type) { if (this.stat.log_write == false) return; type = type || "add"; var max_back_log = parseInt(this.kag.config["maxBackLogNum"]); if (max_back_log < 1) return; if (this.kag.stat.log_clear == true) { type = "add"; this.kag.stat.log_clear = false; } if (type == "join") { var index = this.variable.tf.system.backlog.length - 1; if (index >= 0) { var tmp = this.variable.tf["system"]["backlog"][index]; this.variable.tf["system"]["backlog"][this.variable.tf.system.backlog.length - 1] = tmp + str; *this.copyToClipboard(this.stripHtml(tmp +str)); } else this.variable.tf["system"]["backlog"].push(str); *this.copyToClipboard(this.stripHtml(str)); } else this.variable.tf["system"]["backlog"].push(str); *this.copyToClipboard(this.stripHtml(str)); this.stat.current_save_str = this.variable.tf["system"]["backlog"][this.variable.tf.system.backlog.length - 1]; if (max_back_log < this.variable.tf["system"]["backlog"].length) this.variable.tf["system"]["backlog"].shift(); }, *whole function is new stripHtml: function(html) { var tempo = document.createElement("DIV"); tempo.innerHTML = html; return tempo.textContent || tempo.innerText || ""; return(html); }, Oh yeah, I found running a vn with Tyrano Rider whatever let you actually see errors to debug and stuff. Usually you get no feedback at all on script errors, just the program not starting or a black screen. Tyrano is truly a great engine. Vexing case two: the asar archive annoyance Some Tyrano vns have something like app.asar under resources/ instead of the usual app/ folder. IME This archive is easily extractable using the .asar opening extension to 7zip. But how do we patch? I tried using normal tyrano patches, but it just crashes. The only option I’ve found is to replace the whole archive, so you’re unfortunately going to have to serve a patch of the full game data just to change one little script, unless you’re just better and figure out a different way, or use some program that edits the archive directly. But otherwise you just do the same shit. Of note: some VNs have prioritized resources/app the folder over resources/app.asar the archive for me, others have not. In any case renaming the archive made the engine search the folder instead for me in one case, so you can try that (less annoying to have an open file tree than having to rearchive every time). Anyway this post is written like shit but at least it actually exists. Yay you can make tyranoscript vns copy to clipboard which makes them effectively hookable. For the hipsters that have an allergy to PoLlUtInG tHe ClipBoArD feel free to write some web sockets shit instead, electron is literally a browser I’m sure you can figure it out KEKL haitoku shirene patch amehazu new kag.js script For sesshoku and kusatta kajitsu I actually just substituted the amehazu script. I tried to edit the kusatta kajitsu one and it didn’t work, I have no idea if it was some dumb syntax error I made or the swap was actually crucial. They both used the same tyrano version of 500 as amehazu. Have fun! View the full article
  22. did you ever finish playing the second reproduction? w
  23. Welcome! I did quite like Kanon and CLANNAD.
×
×
  • Create New...