[CF-Devel] bug in the keyword-matching code

Mark Wedel mwedel at scruz.net
Fri Apr 13 00:22:35 CDT 2001


 OK.  I've fixed this.  The change wasn't that bad, and I checked it against
many of the citizens in goths taverns, and all seemed to work properly.  other
than the |, it doesn't look like there are many cases where the maps really use
the regular expession features - if there are, I could see some potential
problems with those.


Andreas Vogl wrote:
>
     
     
     >
     
      Mark W. wrote:
     
     >
     
      > > When I put a phrase *before* the keyword, there is no
     
     >
     
      > > longer a match. This is a bad bug!
     
     >
     
      > >
     
     >
     
      > > Example: The keyword is "open", in a magic_ear.
     
     >
     
      > >
     
     >
     
      > > - When I say "open", there is a match.
     
     >
     
      > > - When I say "open the gate", there is a match.
     
     >
     
      > > - When I say "dude open", there is NO match.
     
     >
     
      >
     
     >
     
      > Problem is no one really knows all the working of that code (the matching
     
     >
     
      > code, which is really in regex I think).
     
     >
     
      >
     
     >
     
      > This is not something I want to look into right now.  I think the entire
     
     >
     
      > conversation stuff needs to get redone at some point.
     
     >
     
      >
     
     >
     
      > I think the regex currently in crossfire is actually fairly out of date,
     
     >
     
      > and certainly has a few custom hacks.  It should probably get
     
     >
     
      redone/updated,
     
     >
     
      > but I don't really want to touch that right now - if even some obscure bug
     
     >
     
      > in new code, that could really break a fair number of maps.
     
     >
     
     
     >
     
      If you don't want to waste time on this issue, it's okay.
     
     >
     
      But I just wanted to make clear that this bug in fact does brake a lot
     
     >
     
      of maps already.
     
     >
     
      Take the map "/pup_land/lone_town/guild_freedom" for example. In a quest
     
     >
     
      (Tower of Ordeal), the player is told to speak "let's protect nature" to
     
     >
     
      the reception guy in guild_freedom. But because of the
     
     >
     
      apostrophy-compatibility
     
     >
     
      problem, the magic_ear matches only for "protect nature".
     
     >
     
      With the current code, there is no longer a match for speaking the correct
     
     >
     
      keywords.
     
     >
     
      I believe there are quite many cases like this one. Unfortunately,
     
     >
     
      Mark, you are right about the matching code being a mess.
     
     >
     
      If it's too hard to fix the code, should I try to change those maps?
     
     >
     
     
     >
     
      Andreas V.
     
     >
     
     
     >
     
      _______________________________________________
     
     >
     
      crossfire-devel mailing list
     
     >
     
     
      crossfire-devel at lists.real-time.com
      
      
     >
     
     
      https://mailman.real-time.com/mailman/listinfo/crossfire-devel
      
      
     
    


More information about the crossfire mailing list