Ambrosia Garden Archive
    • Two {G}enders in a row


      the first is broken, now the second doesn't work

      " {G"His" Her"} honor is impeccable, and we will hear what {G"he" "she"} has to say."

      There is a problem with this line if you play a female character it will read thus: "}honor is impeccable, and we will hear what {G has to say."

      If you have not seen it yet, the problem is that there is a missing Quote mark (") before Her. Put it in and the line works fine.

      While playing a female character in the Polaris story line (version 1.0.10), I ran into a bug. I looked at my old 1.0.8 update and it had the same problem in Data file 5 misns ID 9307.

      I know this won't be fixed for version 1.0.11, frankly, I don't care.
      I am curious as to why the first Gender that is broken would either cause the next gender to break or not let it show at all.

      I am trying to make the second {G}ender work but have had no luck. I have tried removing the initial quote marks and creating a new sentence with its own quote marks.

      When I do the latter one, I get the last three words of the sentence just after the gender.

      However, when I fix the first Gender (add the quote mark) the second Gender is seen just fine. In the case where I created a new sentence with the second gender, the first part of the sentence shows up.

      So, once again, what is going on?

      Thanks

    • Apparently when the player is male, it uses the first string and then skips to the closing brace, but when female, it looks for the first " after the skipped text (not that escaping means it isn't necessarily the third quote mark) and then reads until the next unescaped ", then skips to the next closing brace.

      Now, the question is whether anything useful can be done from this bug.

      And of course this won't be fixed for 1.0.11, but I expect, since it is so simple, it will be (if it has not already been) fixed for 1.1.0 🆒 .

    • It should read:

      " {G "His" "Her"} honour is impeccable, and we will hear what {G "he" "she"} has to say."

      You need to slash out the double-quote marks that are used normally or the interpreter will have problems. It's similar in scripting languages (php, ASP and others).

    • @vast-deathmaster, on Sep 13 2008, 11:14 PM, said in Two {G}enders in a row:

      " {G"His" Her"} honor is impeccable, and we will hear what {G"he" "she"} has to say."

      There is a problem with this line if you play a female character it will read thus: "}honor is impeccable, and we will hear what {G has to say."

      If you have not seen it yet, the problem is that there is a missing Quote mark (") before Her. Put it in and the line works fine.

      The missing quotation mark is a scenario bug, but from what you've described, it appears the engine is working correctly. Once it reads the first quotation mark within the G expression, it continues to the next quotation mark, exactly as it should; if it did otherwise, you wouldn't be able to include the } character in a gender-sensitive string.

      @philipw, on Sep 14 2008, 07:10 AM, said in Two {G}enders in a row:

      You need to slash out the double-quote marks that are used normally or the interpreter will have problems.

      Only if the quotation marks are within an already quoted string.

    • Ok, in the OP, here is what I did next, I took:
      "{G"His" Her"} honor is impeccable, and we will hear what {G"he" "she"} has to say."
      and turned it into:
      "{G"His" Her"} honor is impeccable."
      "We will hear what {G"he" "she"} has to say."

      What I thought I would get was:
      "} honor is impeccable."
      "We will hear what she has to say."

      Instead, what I got was:
      "} honor is impeccable." has to say."

      I get the feeling this means that if there is a bug in the coding, it is going to affect the rest of the coding below it.

    • It actually does make sense though. Let's break the original text up:

      {
      A special token is encountered. We need to look for some sort of operator.

      G
      The gender test. Gender is female so we need to look for two strings and use the second one. (If it was male we would only need to look for one string)

      "His"
      There's the first one. It's for male so we ignore it.

      Her
      This part isn't relevant. We're still looking for the second string.

      "} honor is impeccable, and we will hear what {G"
      Right, there's the string we're looking for. We'll display that part and then we need to find the closing brace.

      he" "she"
      Again, this part isn't relevant. All we're looking for is the closing brace.

      }
      Good, that concludes the special section. Now we continue displaying the text as normal.

      has to say.
      Normal text.

      (We could break it down a little further, treating the speech marks as individual characters but that wouldn't help any further in this case)

      This post has been edited by Guy : 15 September 2008 - 01:53 AM

    • Hmmm.....does this mean that you can't have newlines inside the string of one of these choices? Or is it merely the presence of the close-quote that's ending the output right there?

      This post has been edited by Lindley : 15 September 2008 - 10:02 AM

    • There is no issue here at all, we're just analysing what happens when there's an error in the desc. Get all your speech marks right and there will be no problems 🙂

    • @vast-deathmaster, on Sep 15 2008, 05:39 AM, said in Two {G}enders in a row:

      Ok, in the OP, here is what I did next, I took:
      "{G"His" Her"} honor is impeccable, and we will hear what {G"he" "she"} has to say."
      and turned it into:
      "{G"His" Her"} honor is impeccable."
      "We will hear what {G"he" "she"} has to say."

      What I thought I would get was:
      "} honor is impeccable."
      "We will hear what she has to say."

      Instead, what I got was:
      "} honor is impeccable." has to say."
      I get the feeling this means that if there is a bug in the coding, it is going to affect the rest of the coding below it.

      What you got was perfect. Remember it doesn't end the 'G' block until you get to the }, what it's doing in your example is seeing:

      {G "His" Her"} honor is impeccable."
      "We will hear what {G"he" "she" }

      as one block.

      Follow Guy's breakdown and it makes perfect sense. 'impeccable."' is the end of the 'her' block and it'll disregard everything else until it finds the '}' to close the block.

      EDIT: I've coloured it to make it easier to see what I mean. Bolded is the actual code. The blue is the male block, the pink the female block, and the grey is disregarded.

      This post has been edited by Ephialtes : 16 September 2008 - 10:31 AM

    • So we can put comments INSIDE the DESCs? Interesting.

    • @eegras-studios, on Sep 17 2008, 10:30 PM, said in Two {G}enders in a row:

      So we can put comments INSIDE the DESCs? Interesting.

      It does seem that way. There may be unexpected behaviour, but who knows? Only one way to find out.