Re: Quick colour question -

From: David Hamilton (dhamilto@ANGEL.HOMEIP.NET)
Date: 03/12/03


On Tue, 11 Mar 2003 21:58:24 -0500, David Hamilton
<dhamilto@ANGEL.HOMEIP.NET> wrote:

>I've run into the exact same problem with CircleMUD 3.1 and the autoansi
>patch from the ftp site.  I have learned in addition that if I hit enter
>while it's detecting ansi (via the telnet window), it does detect ansi.
>So the problem lies in getting the escape sequence pushed into game_loop
>without user intervention.
>
More information would probably be in order

void init_detansi(struct descriptor_data *d) {
  write_to_output(d, "\r\nDetecting ANSI compliance... \x1b[6n");
  STATE(d) = CON_DETANSI;
}
This function works, and does return a good code (in telnet, not tintin,
which is probably a tintin problem anyway).  Which is read into:

void detansi(struct descriptor_data *d, char *input) {
  /* Received a square bracket, that's probably the ANSI code being
   * returned. Call it a detection :)
   */
  if (strchr(input, '['))
    end_ansi(d, TRUE);
  d->has_prompt = 0;
}
only if enter is pressed by the user.

game_loop calls:
      if (STATE(d) == CON_DETANSI)
        detansi(d, comm);

and new_descriptor calls init_detansi

It appears that all would be solved if the \x1b[6n response could be
automatically inserted into char comm; we would be set.  I don't know if
the move from SEND_TO_Q had anything to do with this or not.

Thanks for any help that can be offered.

David

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/26/03 PDT