Jump to content

Mad Pierre

Members
  • Posts

    31
  • Joined

  • Last visited

Posts posted by Mad Pierre

  1. Pierre here again, reporting in.

    With tons of help from @mnakamura, I finally mastered addressing in KS and got jumps (both conditional and unconditional) to work. This, in turn, enabled me to properly analyze GrMuOn and make a dictionary of "variable settings" <=> "graphic / music file names".

    Next stop: making menus to work, as they seem to be vital part of this game, just reading plain text is not that interesting as doing lots of choices :)

  2. Ok, Mad Pierre here, reporting it.

    As of today, I've got voices and digital music going: ripped WAVs, decoded ADPCM to normal signed int WAVs and batch-converted them all to OGGs. Voices work and this makes playing scenario much more lively :) Music does not, though, as it turned out that it also depends on GrMuOn.

    Two major obstacles still remain: GrMuOn and conditional jumps.

    As with graphics & BGM, I've disassembled GrMuOn and found that it's basically a huge switch table that takes particular preset variable values and selects a text string like "mu001n" for graphics or "munew05.wav" for music. So, I just need to translate this table and hard-code it in the converter. This is where my lack of experience shows - I couldn't yet figure out how jumps work.

    Will keep trying. Won't post a current version of .story file today, as it's basically unchanged, only meaningful change is that voice files are now in place.

  3. 3 minutes ago, tymmur said:

    You are being rational. Legal stuff doesn't work that way. They might write in the license contract that it has to be the same engine because then it will be the same file format/encryption. There could also be some complains from Japan that the new engine fail to display some effect correctly, hence altering the visual impression.

    Sure, that's civil law anyway. I'm an optimist :) Just because it's possible to make a contract on a very weird set of terms, I don't think it's a right thing to do. Negotiate while you can, I doubt that Japanese people can't be rational.

  4. 2 hours ago, tymmur said:

    Still I wouldn't rule out that they would have no interest at all as it would bring VNs to more devices, like iPads and mac/linux. They would however have the added costs of running a server to host such a service, which once again could make it risky for them. There could also be some issues with the VN licenses. They might not be allowed to "stream" the VNs online or port it to a different engine. They also have the cost of support. There are so many factors to consider other than how well the engine works that makes it tricky to figure out if MG is interested. My guess is that they will not be interested. Too risky from a business perspective.

    Well, if I was in their shoes, I'd actually embraced it ASAP:

    • server costs are negligible nowadays; CDNs like Cloudflare basically offer free traffic for static content
    • additional platforms are a huge plus, especially mobile ones
    • support costs — I'd say that they're spending fortunes now to do support of dozens of different engines hardly written for English language in the first place; won't turning everything to one straightforward engine would drastically cut the costs of support and translation?

    I don't think that licensing terms should care about platform. After all, they are licensing artistic content: it's up to Western publisher to decide proper ways to deliver it to the clients. Consider a regular paper book publisher licensing a manga translation: won't it be weird if original publisher licensed it to be printed only on one particular brand of paper (the same one produced in Japan, which had to be imported specifically for this project)? That's exactly what a platform is: it's purely technological, non-artistic stuff that just aids in deliverance of content.

  5. 4 hours ago, tymmur said:

    There is the unwritten rule that work on translation patches as well as download links to (partial) patch downloads will vanish once an official translation has been announced. The goal is to coexist, not to compete.

    Actually, in this particular case they're alive and kicking:

    http://www.hongfire.com/forum/forum/hentai-lair/hentai-game-discussion/game-patch-hentai/402509-waffle-091023-111216-巨乳ファンタジー-kyonyuu-fantasy-english-patch/page6

    http://www.hongfire.com/forum/forum/hentai-lair/hentai-game-discussion/game-patch-hentai/418893-waffle-091023-111216-巨乳ファンタジー-kyonyuu-fantasy-english-patch-kuroibaka

    The fallen flag was picked up by KuroiBaka, latest news suggest that he's still on it, as of May, 2016.

    They even have some tools published: https://github.com/xtenext/nekoKF

  6. 3 hours ago, mnakamura said:

    Yeah, you're right, and I'm sorry for that. Actually, I've kind of cheated and just used some external program to do unpacking, let me check which one was that. I think it was either Crass or arc_unpacker. Probably the latter.

    UPDATE: Actually it was arc-reader by Alexander Roper.

    I'll try to bring up some docs up to date in the days to come. Hopefully it will help understanding what's going on with all that porting stuff.

    Thanks, now I've got it to work! Patiently waiting for your design specs.

  7. 1 minute ago, Scorp said:

    Well, it is not like we're in a big hurry here :) 

    One important thing would be to match japanese and your english translation, I hope you have it preserved somehow?

    Yeah, there would be no problem with that:

    <  24105,2B,None> 横殴りの風が僕を襲う。=Driving winds assail me from all directions.
    <  42081,2B,None> 必死に風にあらがいながら足をふんばる。=With all my strength I plant my feet against the wind.
    <  51476,2B,None> ずるっ=SLIP!

     

  8. 1 hour ago, Nandemonai said:

    It's been awhile since I looked at the original translation, but seems like you grabbed the text from it.  My file reads very differently.  Other than that it looks great :)

    You betcha :) My plan is like following:

    1. Disassemble original files. I can work on either English or Japanese - but given that my Japanese, is, well, constrained to "itadakimasu" and "arigatougozaimasu" - it's much easier for me to work with English.
    2. Get .story file with all the actions (i.e. text showing operations, graphics operations, sounds, etc)
    3. Get .story file with 2 languages (Japanese + old English translation)
    4. Replace (or rather add as yet another language) your English translation

    Right now I'm somewhere between 1 and 2.

  9. Thanks!

    I thought I'll report some progress here. It obviously took me much longer than I've expected, as I thought that this engine is very well explored, lots of tools were just laying around waiting for them to be used, ready-made disassemblers, etc, etc.

    Actually, it turns out that the information about Windy engine (as it is called in ViLE sources) is indeed fairly sketchy. Mails that @Nandemonai relayes to me contain some useful information and mention some working tools like disassembler as a php script, but I haven't found it anywhere so far.

    What I've succeeded so far:

    • extracting general packed file into individual game files
    • converting GGD graphics to PNG files
    • started to look at bytecode format

    The main result that I'd like to share today is http://pastebin.com/nZLsgLt2 - that is "mu01_02", the 2nd scene of the game converted to Mikan format. Of course, it is *very* basic - no graphics, no sprites, no CGs, no sound, no music, no fancy opcodes like blitting / jumps / registers, no nothing. Just the text, but I guess it's already a start.

    You can already put in into Mikan engine and read it through that. Hopefully graphics won't be hard to implement - they seem easy enough. I'm not so sure about registers and internal logic, given that I have to convert them into Mikan primitives. But we'll see :)

  10. 5 hours ago, mnakamura said:

    Yeah, you're hit the point with structure. The idea is to have one repo per game (port_*) and one repo per engine (engine_*). *2story is obsolete and they will be joined into engine_* repos. Ruby is not obligatory by any means, of course.

    Well, I've managed to build like 80% of Eustia, but it really took me a while to figure out:

    • The initial unpacking part is missing. One's on your own to unpack BGI arc files. I've managed to do it using "Ethornell" module of ExtractData.
    • Image conversion part is missing. You have generated pngs somehow, I'm still at loss how to do that.
    • Whole extracted.d / extracted.s stuff is very confusing - I have no idea which is which and there's no documentation.
    • BGI2STORY works, but it requires one to manually compile your .ksy format description files first
      • ... and now that's a very untrivial matter, as it means that one has to find Kaitai Struct project, install it, and figure out that you need to run "ksc -t ruby file.ksy" to compile .ksy => .rb

    Noratoto port is much better documented, and, thanks to that, I've managed to get through everything, besides .png conversion. Thanks for your impressive work, but it's still *way* beyond being user-friendly or anything.

  11. Sugoooi! Looks really cool. Downloading trial now to take a try.

    What's your general idea on repository / code structure for porting? From what you've published, I reckon something like that:

    • engine_* - engine-specific tools, one repository per engine, written mostly in Ruby (is it obligatory? I'd rather use Python)
    • *2story - ??? - seems to be also engine-specific tools
    • port_* - game-specific tools, one repository per game

    Your scripts seem to be written in bash, so they are Linux-only. Are you ok with that? I guess Window userbase is also strong, most Windows users would want a straightforward .exe converter, like ones that were provided by VNDS.

  12. On 26.06.2016 at 1:20 PM, Scorp said:

    Actually no, if you take a look at list of supported titles - Asenheim titles do not cross that much with RLVM or Anise.

    But Asenheim's list seems to be pretty close to ViLE - the same set of older C's ware engine titles, the same Nocturnal Illusion, Divi-Dead, etc?

    Do you know who used who's work? Who was the first reverse engineer of these games: Zus, ViLE guys, or someone long before that?

  13. 15 minutes ago, Scorp said:

    This do not work for you too? http://vilevn.org/?q=content/how-install-nocturnal-illusion-renewal

    By me easier to make it working for you then, as this is open-source, and all of the engine-specific things already implemented.

    The problem I'm having is not about the installer. Right now I'm getting message in Japanese (broken, if not using AppLocale) and I can't even understand it, as I don't read Japanese. And I can't copy-paste it into a Google Translate or anything.

  14. 22 hours ago, Scorp said:

    I doubt that would be the proof for people, who think I am lying, but here it is, Renewal running on Windows 7.

    Scorp, nobody says that you're liar or anything like that. The point is must simpler, actually. As far as I understand, you are not a vendor of original engine, you don't have the sources and there are people who have compatibility problems with it - Nandemonai and myself included. You're no doubt much more technically savvy than us and probably your debugging / reverse engineering / patching skills are advanced enough to fix that problem, but:

    • we'll have to somehow reproduce these problem at your site; typically it's done by giving debug builds to people who have problems - but, probably, it would be a problem given that you can't just rebuild original engine from sources and add lots of debug into it
    • I'm really not sure that you'll enjoy debugging 20+ years old code, and even if you do, probably that's just a huge waste of your time and skills
  15. 9 minutes ago, Scorp said:

    You're doing it wrong. All works perfectly for me in Windows 7. Position is same shaky as the Mikan, nothing different.

    Actually, I think that your "works for me" stance is wrong. And I guess you don't really understand the difference between open source implementations like ViLE and Mikan and closed stuff like original engine and Asenheim's.

    But this is leading us nowhere. We've said enough and now it's up to @Nandemonai to decide.

  16. 5 minutes ago, Scorp said:

    What point? If he want an online version (and that's actually HTML5+JS, means it can work only inside a browser), then why not just give translation to Zus and all will be online in no time? Here: http://tss.asenheim.org/nocturnal-illusion-renewal.html

    The point is having control and something that is working and maintainable. I've just tried both '98 exes and original renewal exes - they don't work even on Windows 7. AppLocale changes error messages, but doesn't help.

    Asenheim has a *very* shaky legal position: as soon as any of the copyright holders will raise the complaint, domain would be shut down in no time, and, poof, all your work will be down with it. You can't download or mirror Asenheim to your local machine. Even if you did, it's closed source, compacted and obfuscated JavaScript.

  17. 1 minute ago, Scorp said:

    Oh. You know, I can do what he want for original version in no time. So no need to port.

    What exactly do you mean by "original version"? Windows exe from '98? Good luck running it on any modern OS.

    ViLE? It has a broken build and the project is basically dead. No docs, no nothing, written in really obscure C++. My best bet is that nobody will risk to raise it from the dead.

  18. 5 minutes ago, Scorp said:

    Nocturnal Illusion (it runs on an engine which was reversed in VILE interpreter http://vilevn.git.sourceforge.net/git/gitweb.cgi?p=vilevn/vilevn;a=tree). I have a bunch of krkr2 VNs with map (like KnS, Fate HA), but I doubt they are good example.

    That's exactly why I want to help this guy:

    Given that all the reversing is done, it should be more or less trivial to write a converter.

×
×
  • Create New...