Release notes:                [ version 1.63 beta 22 ]
 
Added in beta4:

 1. Clock thingy now in both sides of chat, at the begging of John Stonier.
    :-)
 

Added in beta5:

 2. SysOpChat window now uses outline font MDA1.BOLD at 13point so it should
    no longer mess up on a RiscPC... Another John Stonier request. It's 
    alright for him eh? Anybody care to donate a RiscPC!? :-)
    This font is 'FontInstall'ed by !Run, so you don't need to worry about 
    !Fonts.

 3. Interactive help added.

 4. Little picture of me added to the help. It's freaky. You've been warned.

 5. You should no longer see 'Bridget Fonda' references when using SysOpChat.
    [ooooohhh! :-)]

 6. Now says:
 
      REM   ********************************************************
      REM   * PLEASE REMEMBER THAT THE STANDARD BUDGIESOFT LICENSE *
      REM   * DOES NOT ALLOW YOU TO USE MODIFIED VERSIONS OF THIS  *
      REM   * CODE FOR ANY REASON.                                 *
      REM   *      ~~~~~~~~~~~~~~                                  *
      REM   ********************************************************
 
    Certain people - take note. I don't really want to know about so
    called 'cosmetic' tweaks when they involve nothing more than taking
    out the fact that I wrote this program. I've spend hours doing this
    stuff. It's all free. So please, if you can't hack letting your users
    know who to blame - don't use this program...
    If you genuinely need something altered, contact me for a custom tweak.

 7. Checked and rechecked save routine... Can't find the problem!? Nothing
    happens here. Erk!

 8. Tightened the icon spacings. Andrew Lobel was complaining one of my
    programs had too much white-space around the icon (whilst ignoring the
    bigger bugs? :-) ) so I've tightened up a little.
    BTW: I have Morley SCSIFS with piles of white-space around the harddisc
         icons. Anybody know how to patch that?

 9. I know the iconbar menu appears too low. I've just not gotten around to
    finding which bit I'm to tweak.

10. Thanks to Robin Abecasis for help with the ArmBBS bits... Thanks to Keith
    Hall for the ArmBBS updates to test it on.
    Thanks to John Stonier and Steve Pursey for being loyal beta testers.
    Thanks to all of you that use the doobs. Now you'll be even more amazed
    when you try SysOpChat.
    Finally, thanks to Chris Jackson for the competition (by writing 
    !Natter).


Added in beta6:

11. Holding down ALT (either) during initialisation will put SysOpChat into
    CONFIGURE MODE where it won't perform any ARCbbsDoor/ARCbbsFiler 
    operations. This has been added for Robin Abecasis who pointed out that 
    if SysOpChat was configured for ArcBBS, and he ran it (on ArmBBS) to 
    reconfigure it, then it would play merry hell with the ARCbbsFiler SWI 
    (which isn't there!).
    So hold down ALT! ;-)
    If you play with the !Run file, or run !RunImage directly, it is possible
    to load SysOpChat now even if ArcBBS has not been 'seen' by the filer -
    and the door module not loaded since power-up. ;-)

12. $addchar routines tweaked. Hopefully we'll lose less characters, but 
    this is rather impossible to test here!!!

13. Oooh-errr..

14. All  ESC[#;#f codes changed to ESC[#;#H codes...

15. Iconbar menu now opens at the right height (tested in MODEs 15, 21, 28,
    31 & 46).

16. Does NOT auto-quit on ArmBBS... I tested Snake Game and CastAVote with 
    ArmBBS by using the 'hang-up' menu option to emulate a carrier loss... 
    Neither budged.
    It /does/ work - however - on ArcBBS...

17. deletechar/deleteline routines now redraw ONLY the line affected, not the
    whole block. This greatly improves deleting stuff.... :-)

18. It has been noticed that on occaision, the chatwindow cursor and the text
    to enter lose sync... To fix, delete once, then type. It /should/ sort
    itself out. As to the cause of this problem.... Pass!!!
    :-)


Added in beta7:

19. Removed the 'orrible outline font. There is a configuration option for
    those using the old templates to set up more redraws. I'll take this out
    in beta 10ish, so if you like the outline font (and a slow program) come
    yell my direction.
    The EASIEST way to do this is delete the "chatscreen" window in the
    default templates, and drag in the old outline templates... Might work.

20. Added a timer function which will become active BEFORE the first time or
    AFTER the second. This is contrary to expected logic (you should know me
    by now!).
    In the default config., the chat is enabled AFTER 16h (6pm) and BEFORE
    23h (11pm). It's also disabled.


Added in beta8:

21. Played around with the $addchar routines. I'm playing in the dark with
    this as RiscOS won't maintain two input focus windows at one time... I'm
    thinking on adding a random character generator... ;-)

22. Now prints Parlez/VC/other interBBS (&16F00) messages in a nice little
    window overlaid on the chat. Press [Space] or [Return] to continue. ;-)
    The SysOp doesn't see this...

23. The users wrapping procedure now doesn't trim the last character on a
    full line/wrap. Wrapping size increased on the users side to 77 chars
    (almost full width). The SysOp wraps at 76 still.

24. Deleting at the beginning of a line no longer erases border. ;-)

25. Rewrote timer... Now it works. ;-)
    It does it's job well, but it is erm... quirky... You may have to get
    used to it.

26. "SysOp already chatting" takes priority over timer.

27. Timer no longer beeps twice. [:-?]


Added in beta9:

28. Buglet where disabling SysOp bleeping will also disable the 'Bleep!'
    messages being sent to to user. Ooops! Fixed now.


Added in beta10:

29. Changed the problem listed in item '28' to use the /other/ variable (ie:
    the correct one!). Would stop showing 'bleep' messages if SysOp clicked
    Ignore... Sigh!

30. Tidied up a few things along the way. Can't remember exactly what as I
    was too busy adding the stuff below...

31. Changed the 'only allow chats between' options to 'between' and 'and'. 
    Should make much more sense. I haven't tested to see if the hour markings 
    are correct. I think "Between 16 and 23" will enable chatting dead on 4pm
    and switch it off dead on 11pm. I repeat again, UNTESTED. I couldn't be
    bothered to mess around with the system clock AGAIN... It worked last 
    time.

32. User is asked for a reason to chat. I know it's only 40 characters long,
    but if you try REALLY HARD, you can fit it in... If you feel you need more
    than 40 characters, you should be writing a message. :-)
    This routine will accept [Return] (ie: no message). The message gets put
    in the chat request window, above the CHAT and IGNORE icons.
    If you IGNORE or just don't answer, it'll get logged in the FailedChats.

33. FailedChats log altered... Now says:
      <username> tried to chat with you...
      Time    : <TIME$>
      Reason  : <reason>

    Reason is:
      <userreason>
        If the user typed a reason and you IGNOREd or didn't answer.
        
      { SysOp already chatting }
        Obvious! User doesn't get as far as entering a reason.

      { Outside configured chat times }
        Obvious! User doesn't get as far as entering a reason. Deja vue?

      { Reason not requested }
        You have disabled/not_enabled the 'ask for reason' system.

34. Option to trap F12 and instead of saying "SysOp entering CLI" and giving
    you the * prompt, it will open a slave taskwindow and go to the Supervisor
    (that's the * prompt when you type *GOS (!) )... Clever huh? You /need/
    RiscOS3 to run this. Edit is supplied with RiscOS3. Don't see ANY reason
    why this would fail...

35. Option to 'freeze' the users time whilst they are chatting to you.
    Does it like it says in DoorDox... Even looked at Natter's code when it
    fluffed... But fluff it does. :-(
    I can't use a direct call to ArcBBS as that'd annoy ArmBBS users somewhat.
    Later, I might try:
      user_current_time_remaining + time_user_was_in_chat... Hmmm...

36. AutoExcuse mode. This will send the user the default configured excuse
    as soon as they page you. Useful for when you pop off for a dose of
    caffeine or a pizza...

37. When SysOpChat quits, it says "  Finished...  " in blue-on-yellow up the
    top left of the terminal.

38. ThrowUserOff timing now works. :-)

39. Time facilities disabled in ArmBBS mode... Time is /weird/ in ArmBBS.

40. Spool chat, Auto spool option. This will spool the chat to 
    '<SysOpChat$Dir>.Chats.Spooled'... On a line-by-line basis. It'll show 
    the start and stop times of the chat, and each line as it was typed (and 
    who typed it). New chats will be appended to old.

41. If username is "Richard Murray", when the SysOp clicks 'ignore', I'll be 
    told about it. Nobody else will - and if they do by some reason, will 
    they realise?
    That's the whole fun of writing your own software - you can add things 
    like this. :-)
    PS: There /is/ a reason... If the SysOp is there, and it's important, I 
        can do a message. If the SysOp isn't around, no point.


Added in beta11:

42. RedrawMode (extended redraw) functionality removed.

43. Altered freeze-time mechanism... Seems to me the 103 write status is odd,
    but what do I know? I pass it a value that means 30mins, and it sets 
    something else!


Added in beta12:

44. FINALLY fixed the 'Bleep!' text so it works... 'bout time.

45. Added standard ASCII mode, where it will not draw characters with an 
    ASCII code over 127... This is configurable on/off, and is brought in by 
    default for VT100 users.


Added in beta13:

**. Nothing, this version doesn't exist... Thirteen thousand phobics can't 
    all be wrong! :-)


Added in beta14:

46. Error handler is now automatic. If an error occurs, it'll be logged and
    SysOpChat will quit automatically. If there was a user in the door (most
    likely!) then they'll be returned to the server.
    I've tested this by putting "Gimme a pizza!" at the beginning of the
    user scrolling routine. Bleeped, wrote error, returned user to BBS and
    quit. :-)

47. Removed "Gimme a pizza!". :-)

48. RiscPC users will find the cursor and text loose sync easily. I believe
    pressing Delete twice will realign. This is because of the non-linear 
    relationship with fonts.

49. Variables (excuses, macros) moved to a 'Variables' file, within SysOpChat
    directory.

**. This is the first public release. I'm not implementing the 'cursor keys
    move' for now as it'd mean making some kind of inter-string insert/delete
    routines - and to be honest - I can't be bov-ah-ed. Maybe later.

**. Instructions updated.

**. ChatConfg application created. This is the configure part of SysOpChat,
    and was written for John Stonier. Load this at boot-up, and leave it
    on the iconbar until you need it...


Added in beta15:

50. Added spooling for ANSI, 1stWord+, RawData/Data, Text/MakeFile/DeskTop and
    obey.

51. Added ALT spooling, to make things a little quicker.

52. Updated Debugging Information.

53. Debugging Information and User Stats are now typed text, &FFF, upon
    request of Ricky Sarge and other StrongEd/Zap users out there.

54. Tweaked cursor routine. No doubt it'll still lose characters etc, but it
    should loose less.

55. HELLO CHRIS JACKSON... I SAW THE TEMPLATES. :-)

56. Forced chats now take place on the configured door number. Before they 
    used door 123.

57. Chat autospool will now display the port/door numbers, and the reason for
    exiting (upon exit!).

58. A little more protection on my code... It will also refuse to run from the
    CLI or aliased BASIC... That's two easy hacks up the spout then...

59. !ChatConfg now uses a different redraw method, so it doesn't flicker.
    Thanks to Chris Jackson there... SysOpChat still uses the old redraw 
    method.

**. Thanks to Ricky Sarge.

60. Interactive help updated. Now has a 'recommended' message for the toggle
    icons, in case you're unsure.
    Note that the supplied configuration may not match the recommended, such
    is the variety of life. :-)

61. BudgieSoft message (&16F00) code 10 has been claimed for use by SysOpChat
    and ChatConfig.
    (code 9 is now reserved for CastAVote)


Added in beta16:

62. Tidied up no-time-left. Now records "User timed out." in chat log 
    (instead of undefined termination). Also tells user if no time left at
    startup, rather than giving them 10 seconds into chat, then quit. :-)

63. Ctrl+C temporarily disabled...

64. Some commands/prompts extended to be a bit user friendlier.

65. Configure window now uses method from !ChatConfg, so updates are instant
    and no flickering...

66. New facility, off of icon bar menu, to upload various files to !Edit:
    Failed chats log, Chat spool, Error log and Version notes (this file!).
    This should save you scrabbling around for it! :-)

67. Spooling a file doesn't send a newline on the users side for each newline
    on the SysOp's side. <blush>

68. "Kill spool" menu option added. May take two clicks on a long file, but
    it's better than snoring.

69. ALT-spooling set to use chatstatus% 12, and things set to be ignored. For
    example redrawing etc won't work. If this upsets any other function like
    reading Help or a BudgieSoft message etc... Let me know.

70. PROCsysopaddchar (the routine that takes input from the sysop) now has a
    feature:
      IF wimp_caret_position IS NOT EQUAL TO end_of_current_text THEN
        MAKE THEM EQUAL...
    Hopefully this will TOTALLY do away with caret hop.

71. ErrorLog now has an ArcBBS message-upload compatible header, in the form:
      <netmail> ->Richard Murray at 2:254/86.1@fidonet
      SysOpChat error, from "the sysops name here!".
    If your BBS software (ArcBBS 1.64) supports this, simply drag ErrorLog to
    your ArcBBS local logon and click "Message Upload", and it'll be sent to
    me via fidomail. You can edit the header to send it locally by changing:
      <netmail> ->Richard Murray at 2:254/86.1@fidonet
    to:
      <mail> ->Richard Murray
    Simple! :-)

    If your BBS does this differently, or doesn't support this, ignore the
    header...

72. The RemoteAccess version was a daft April Fool. Whoever thought that one
    up, thanks - but I'm sticking to Acorn. :-)

73. The year I was born.

74. ߙߐ߆ߒߗߑߋ߬߈ߝߐ߆ߖ߆ߍ
    ߋߞߗߞߒߖߞ߽ߏ
    

    ߒߞߒߚߋߊߋߏߞߚߋ
    ߖߖ،ߞ؛ߌߋߙߖߝߌ
    

    ،ߋߞߘߛߐߗߗߝߋߒߞߜߌ
    ߋߔ߬ߝ߈߆ߍߖ74. 

    I have many tricks up the sleeves of my T-shirt. :-)

    [which may not be the case - it depends upon the release and the
     phase of the moon...]

75. The spool will now handle 'user disconnections' (carrier loss etc)
    properly.

76. Amazing how much redundancy there is... The 'SourceCode' I work
    with is currently 146578 bytes, and the distribution copy is
    about a third of that - at only 61327 bytes... :-)
 
77. NOTE: The WimpSlot has been lowered to 128K. If SysOpChat gives 
          you ANY problems or erratic bahavior, raise the WimpSlot to
          160K.

78. It's 03:30h. I've been at this for three or so hours. Night night...


Added in beta17:

**. Nothing, just trying out a few ideas here.


Added in beta18:

79. BIG HELLO TO CHRIS JACKSON... I READ YOUR HELP FILE. :-)))

80. In Alt-spool (full screen) mode, the 1stWord+ decoder will attempt to add
    in Faint (light), Bold, Italic and Underline codes. I think I've got most
    (each combination is cumulative, not additional!). It may screw up
    totally however... Let me know...
    There's a file supplied in SysOpChat somewhere called 'CodeTest'. Use this
    to see. Note, ArcBBS and ArcTerm don't support italics/underline/faint
    properly.

81. I've created a generic ASCII output routine that will dump out plain 
    ASCII (CHR$32 to CHR$127). This method is currently selected for all
    previously undefined filetypes...

82. Each character is 'assessed', so the dodgy cursor bits will
    now not happen - unless you press a cursor or TAB (these are
    'handled' by the Wimp... Hmmm).

83. Now changed to be a RiscOS 3.10 task (passes 310 to Wimp).

84. 'Nice templates' option. This will use the templates "NiceTempls" instead
    of the regular ones.

85. SysOpChat is now internationalised. Most (if not all) non-template is read
    in from the appropriate messages file.
    Please DO NOT alter the messages files, as a lot of things are 
    space-critical.

86. Redone message file to use RMA - and release it again after... :-)

87. Message language set up for UK, Spain, France, Sweden and Germany. All of
    the message files contain English text at the moment, I've not attempted
    any form of translation.
    Well... Tell a lie... About 1/4 of "Spain" has been translated.


Added in beta20:

88. Changed position of messages, and made templates also internationalisable.

89. Allowed for basic customisation of screens and colours.

90. Added a section on customisation in the instructions. Let's see some
    ideas!

91. Removed colour from VT100/standardASCII modes.

92. Changed all remaining "ESC[##;##f" commands to use "ESC[##;##H".


Added in beta21:

93. If time remaining is <1 and ArmBBS mode is set, take time to be 
    unrestricted. This will probably screw up drop-user settings less than
    1 minute - but <1 is silly anyhow... You should leave time for the user
    to log off properly.

94. "Timer disabled" now fixed, though this should now be superfluous as
    ArmBBSs timer works properly now.


Added in beta22:

95. Special config spool-to-user function now forces full screen spooling for
    speed.

96. Redraw routines will now work whilst spooling in a chat (ie: not the full
    screen spool). It'll be slow and chaotic - but you should really hold
    down ALT when dragging a file in. Full-screen is much neater.

97. Fixed lack of ":" in spooled chat.

98. Forcechat now works for ArmBBS. You must still use the ArmBBS selection
    as things can go badly wrong if you try to read user's address (ain't none
    in ArmBBS!).

99. Waaahhhh it's hot!

00. A century of bug fixes and additions! Erk!

01. 'German' resources are now called 'Germany'.

02. The ForceChat display is now auto-updating, once every 15 polls (about 2/3
    second with BBS running).

