Jump to content

Bokun

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Bokun

  1. Yeah, I realized what was meant right after I posted. But I'm not so sure that is what's responsible here. If one starts a new game and then at the very first dialog line ("Dad, look at this!") saves the game and reloads, the error will still pop up. There are no extra @ lines for narration there, nor anything else that makes the script different from the original up to that point. So unless there is some other script loaded before what I presume is the very first one (prologue/youzyo.txt) that could potentially mess things up, then it is almost certainly something else at fault here.

    EDIT: Alright, so I took the original, completely clean and devoid of any extra @ characters, Japanese youzyo.txt script and replaced the translated one with it. Result: the game that I had saved at the very first dialog block while running the English version of the script, the one that crashed just like all the others, loaded correctly and showed the Japanese text. I then replaced just the first dialog block (@Itsuki + "Dad, look at this!") with the English text. Result: the game gave me the usual '='がありません error and crashed. Then I replaced only the @ line, result: error. I replaced only the dialog line leaving the @ line in Japanese, result: error. Then on a hunch I replaced both the @ line and the dialog line with the English text, but this time I left the Japanese quotation marks「」in as well, and what do you know... it worked. So then I put the English version of the script back, with all its extra lines and extra @ characters and what have you, and I added some「」to the dialog lines, and guess what - it worked again. Finally, I took a random problematic save from about a month's game time in (the one I used in my previous tests), I added「」to the respective dialog lines and it too worked without a hitch.

    So, barring the possibility that I'm chasing butterflies here, it seems that internally the engine is using these「」(well, probably only the leading「 is needed, but visually they come as a set) as the actual string delimiter between the nameplate and the dialog text (just as it's using the @ to delimit between whole dialog blocks) and removing them is what breaks the parser.

    Pinging @RaurosFalls: could you maybe produce a version of the patch that leaves all the「」alongside the English text, without changing anything else, so we can test if what I'm seeing here is true? Thanks.

    EDIT 2: Some more concrete observations.

    Spoiler

    1) It doesn't have to be a「 after all, all that's needed is to have a Japanese character in the first position of the string, e.g. a 。would be enough. But some characters apparently won't work, e.g. I tried 〜 and unfortunately it crashed with the same '='がありません error.

    2) The lines that belong to the narration do not need a @ as the nameplate designator as far as I can tell, they load properly without it; BUT, they also need to begin with a Japanese character (in the original scripts this character is just a normal kana belonging to the narration text) otherwise they break as well. I guess in the translated scripts they seem to be working at first glance due to that @ character which probably counts as "a Japanese character in the first position of the string", but on reload the script breaks due to the text being interpreted as a split line (see nr3 below).

    3) When the string begins with a Japanese character, deliberately split lines are a no-go because when reloading a saved game, the parser will yet again try to load the last string it finds in the dialog block and it will break with the '='がありません error. If there is any way that this behavior can be altered, I guess it would be by tweaking the .exe itself (assuming the save/load mechanism is actually stored in there).

    4) On the other hand, if one follows these guidelines (@ for the nameplate, Japanese character in string's first position, no split lines) one can add as many extra dialog blocks as desired and they will all display and reload correctly. Which means, the game can be considered moddable :P

    Please take the above with a grain of salt, I haven't really had the time to test extensively so I may have overlooked something crucial and thus reached completely wrong conclusions.

  2. @RaurosFalls I too think that you should move forward with the translation. For starters, there is the already known workaround: saving on the schedule and decision screens, where there aren't any strings involved, should be absolutely safe; and seeing as these two screens are very frequent, it should suffice for the time being - just make sure to warn users on the first page about the beta nature of the patch. Meanwhile, @Hoshimaru and I (or Tymmur, or whoever else decides they're interested enough to give it a try) will be looking into the issue and trying to find what causes it and how it can be resolved. Hopefully, by the time you're done with the translation (not to mention the editing) it will have been fixed.

    Now, about the issue itself, what I think I know (read: I could be completely off the mark) is the following.

    Spoiler

    Let's say we have this script:

    
    1 @Itsuki
    2 So, Mikan. Let's begin.
    3
    4 @Mikan,A00483
    5 What are we doing today?
    6 ...

    When this script first loads, the dialog box displays the string "So, Mikan. Let's begin."

    I save the game as Save1, then I move forward one line so "What are we doing today?" displays in the dialog box; then I save again as Save2.

    Now, if I try to load Save2 I will get an error, like so:

    Quote

    ERROR : ...
    ['='がありません]
    What are.

    This apparently means that the game tried to load the script at line 5.

    Let's say I then edit the script and add an extra empty line so that line 5 contains the '@' string (which is presumably what the game is really trying to load):

    
    1 @Itsuki
    2 So, Mikan. Let's begin.
    3
    4
    5 @Mikan,A00483
    6 What are we doing today?
    7 ...

    Voila, the game correctly loads Save2 and "What are we doing today?" is displayed on the screen.

    But then let's try this: I reload Save1, move once more 1 line forward so "What are we doing today?" is displayed, and save the game again as Save3. What happens if I try to load Save3? Yup, I get the same error again, apparently because Save3 yet again points to the wrong 'n+1' line (which by now is line 6) instead of line 'n' (i.e. line 5). And this off-by-one error manifests itself every single time I save the game (line 6 becomes line 7, line 7 becomes line 8... ad infinitum), even on successive tries.

    So, this is my guess: as already attested, when the game saves the current state it doesn't store a line number but the actual string itself (which IMHO is kind of dumb in and of itself, but anyway). The problem is that it needs to be saving the string containing the '@' symbol, but for some reason it instead saves the next line, so when it loads it back it erroneously ends up fetching a seemingly malformed string and it fails. Or some such.

    That's all for now. Oh, and Rauros, I think this probably isn't an issue with the line breaks because the original files contain the exact same line breaks as the translated ones, and they worked properly when I tested them; and also because this issue happens even on lines that are only a few words long, without any custom splits.

    Also, I noticed you said "Revert back to scripts without line breaks or @ character for narration". I thought the '@' character was present and used in the originals as well? If it's not, then does that mean the originals I'm looking at (which include '@') are not the real originals?

  3. @Hoshimaru just a hunch and without having looked into it myself, but... is this excerpt from the start of a file or from a random point in it? If the latter, could the issue of jumping ahead be because some lines in the English translation are split, while in the Japanese version they're not due to the language being much more condensed? That would result to the translated text strings ending up on different line numbers even if there are no new lines introduced in the translation, and while it would seemingly work at the point in the game you are at, it would still result in the wrong lines being picked and would probably still break down the line.

    On the other hand, it's weird that this issue only becomes apparent when saving/loading a game, and not while playing the game, because it means that the redundant empty lines and split lines do not break the game while it's running. This to me implies an issue not with the translated scripts themselves but with how the game stores the current line when it saves the game and/or how it retrieves it when it loads. This could be because the .exe uses the original, internal scripts with the original file numbers for matching lines when saving or loading and not the decompiled ones (in the Eng folder) with the altered line numbers, and only after the line number is found does it try to match it with the accompanying text, but this time it uses the decompiled script and so it fails or at best prints the wrong line. If this is so, and if editing the way saved games are handled by the .exe is at all possible (i.e. in the same way it can be told to use stuff in the Eng folder instead of in the .bin files while running the game), it could end up being an easier solution than having to remove empty lines etc in order to conform perfectly with the original text's line numbers.

    But anyway, this is all baseless speculation on my part, because I still have no real idea of how the .exe is supposed to be working. I'll try to look into it as well and report back.

  4. @RaurosFalls I was about to report that unfortunately the save/load bug is also present in Windows as well, but I see there is no need to do so since others have already been reporting the same issue: that "error window and blank dialog box afterwards" thing is exactly the error I was talking about. Also, I know that this is the last of your worries now, but re: line breaks, one thing I can think of that would mess with the expected line length is the font being of different proportions than what is expected. Is the font used in the game bundled with the game's resources or is it a system font expected to be bundled with Windows (and thus missing and replaced with another font when the game is run on Linux)? Do we know which font it is?

    Oh, and I should say that I'm not pestering you just for the fun of it; I'm still willing to help if you still need somebody to help.

    @korat56 unfortunately in my case it's the exact opposite, one of the saves that got corrupted was one I created on the "who do you want to train" screen. So that workaround is a no-go, the save/load system should unfortunately be considered somewhat unreliable atm.

    Also, @everyone else: if the text on the nameplates appears as e.g "Mikan, A00072" it means that you're running the game with a non-Japanese locale, which the game still needs in order to load its internal resources (text, sound, etc) properly. This should also be evident by the fact that voice sounds won't play.

  5. Alright, first of all congrats for your first playable release!

    Now, some technical stuff: I use Linux as my OS, and running the game there I immediately noticed that the text is breaking up to the next line in the middle of a word instead of wrapping on the last whole word like it seems it's supposed to be doing. Also, loading a saved game results in a system error box about the current string and the game becomes unresponsive. Suspecting it's something to do with the platform, I fired up normal Windows and to be sure, it's working like a charm. This probably means that something with the way the patch handles strings is very Windows-specific and is breaking things (because running the game without the patch is absolutely fine), and if I had to take a wild guess I'd say the culprit is in the way the end of a line is detected, or something along these lines. I don't have screenshots right now, but it looks something like this:

    In the script:

    "A 92? Last time you were so proud of yourself when you a got 98.
    It went down didn’t it..."

    On Windows:

    "A 92? Last time you were so proud of yourself when you a
    got 98. It went down didn’t it... "

    On Linux:

    "A 92? Last time you were so proud of yourself when you a go
    t 98.
    It went down didn’t it..." 

    I realize this would be pretty low on the to-do list, if at all, but if there's no one else I'd like to take it up myself and investigate the issue at some point in the future.

  6. 5 hours ago, Alistoru said:

    At least we get the routes that are translated so far, that will be a nice bit to chew on till the rest is translated. I actually played all of the English content in the original version of the game and that %15 from the patch was actually a decent amount of content, so %56 is a lot indeed.

    Not to mention that releasing the patch, even in this partial but mostly playable state, will probably serve to attract more people to this project, both newcomers and also people that have given up on it throughout all these years due to the perceived inactivity (I know I'm one). On the whole this means more potential editors, translators, and even programmers and artists to assist Rauros. I think the biggest mistake was to "hide" the patch development behind closed curtains, and even worse, to keep it that way even when it should have been apparent last year that the team was beginning to drift away. In these kinds of projects that are run on a volunteer basis and where team size, availability and resources change all the time, often the best way to go about it is "release often, release early". I can't not mention that excepting these ~5000+ lines from Ichigo's route and of course the whole editing part, the current state of the patch is mostly the same as last year, which means it could even have been released back then and it would have still been almost as playable, which is a shame :(

    Of course, the above is not meant as a disparagement of Rauros's, Tymmur's and the other team-members' hard work; it's just the ramblings of a dev-minded guy killing time until Rauros releases his patch :)

  7. Alright, then while waiting for Tymmur we could maybe save some time in the meantime by hearing some details about what exactly it is you're having trouble/need help with. At this point we (inkyp has also offered their help) don't even know if we can be of any real help, so that would be very useful. Btw, did you manage to gain access to the decensored images and/or Tymmur's tools when you guys talked last month? I hope you did, because if not then waiting for him to reappear becomes all the more important :/

  8. 6 hours ago, RaurosFalls said:

    Yeah, it usually takes far longer than my initial estimate to do this. As an update, I finished editing it about a week ago and e-mailed Tymmur that it's ready for the patch to be made, but he hasn't replied. I may need help from someone to put this patch together. I actually know how to make most of it myself, but there's a couple nitpicky problems that I won't know how to resolve unless I get some help.

    I'm of the opinion that since he responded to your initial probing a month ago then he will respond this time as well, he's done too much work to let it all go to waste like that and he knows it. But on the off chance that he does not, and because I too do not want to see all this work go to waste, and without knowing anything at all about what kind of help you would need (it's just that I'm a programmer and a nitpicker so I may be able to offer something), and on the condition that I won't have to see/read any significant amount of translated lines a.k.a. spoilers in an out-of-game context (that's why I never offered to help with the editing part, sorry XD), I'd be willing to help. But I still think that Tymmur will eventually respond, so let's give it some more time first (judging by your previous posts' posting date it took him almost a month to respond initially, so a single week is not that long, right?).

×
×
  • Create New...