home *** CD-ROM | disk | FTP | other *** search
/ Amiga Times / AmigaTimes.iso / programme / trionbbs110 / Trion / docs / Updates / trion101.doc < prev    next >
Encoding:
Text File  |  1998-10-06  |  6.5 KB  |  206 lines

  1.  
  2.  
  3.         _____     _                  _     _              _    ___
  4.        |_   _|_ _(_) ___  _ __      | |__ | |__  ___     / |  / _ \
  5.          | | | '_| |/ _ \| '_ \     | '_ \| '_ \/ __|    | | | | | |
  6.          | | | | | | (_) | | | |    | |_) | |_) \__ \    | |_| |_| |
  7.          |_| |_| |_|\___/|_| |_|    |____/|____/|___/    |_(_)\___/
  8.  
  9.                         © 1994/97 by Paul Spijkerman
  10.                              All Rights Reserved
  11.  
  12.  
  13.  
  14.      Well here is the first Update since the Version V1.0 archive.
  15.  
  16.      I have not done much because of the vacation and the
  17.      tropical temperature in my work room ... but made an
  18.      update anyway because of some usefull things and a
  19.      couple of bug fixes.
  20.  
  21.  
  22.  
  23.  
  24.      Utils:   BBS, TrionRM
  25.      Docs:    Trion-Net.doc, rexxlist
  26.      Doors:   ReadNla.rexx
  27.  
  28.  
  29.  
  30.    -All the commands typed in the remote shell are logged.
  31.  
  32.    -Fixed a little bug in TrionRM, when some one with a really
  33.     really REALLY long city name logged in TrionRM hanged
  34.     when the monitor was DeIconized.
  35.     Now all the fields of active nodes are truncated so if a
  36.     field is to long all fields remain visible.
  37.  
  38.    -Fixed a problem in TrionRM, when some one logged in
  39.     some things from the previous user could pop up in the
  40.     active nodes window until all new data was known.
  41.  
  42.  
  43.  
  44.    -Started to rewrite the RipScrip BBS graphics code.
  45.  
  46.     Made the clipboards faster.
  47.  
  48.     In RIPScrip you have clipboards.
  49.     There are commands to get a piece of the screen in a clipboard
  50.     or to draw a clipboard on the screen (with a mode parameter
  51.     so you can do operations on the picture like invert it)
  52.     Also you can save the clipboard to disk as an icon or load
  53.     it from disk.
  54.  
  55.     In the last version of Trion the clipboards where very slow.
  56.     The clipboard itself was 'chuncky' (a byte per pixel with
  57.     the color) but the screen bitmap isn't .. so the code
  58.     used ReadPixel and PutPixel to get the whole clipboard.
  59.     Which is really inefficient because for every pixel you have
  60.     too read 1 bit from all 4 bitplanes. And you have already read
  61.     the bits for the next 15 pixels.
  62.     I made some code that could directly read from the bitmap but
  63.     that is 'illegal' it won't work on video cards and future
  64.     machines.
  65.  
  66.     So I made some code wich made a 'bitmap' (4 bitplanes) with
  67.     the size of the clipboard that is in use.
  68.     With the blitter you can copy a piece of the screen really fast
  69.     to this bitmap .. and even faster copy it back to the screen
  70.     with operations like invert.
  71.     Also I made some code that can convert the bitmap to the
  72.     'chuncky' clipboard and vice versa. Wich accelarated the
  73.     clipboard enormously. You only see a very little pause when
  74.     the bitmap is converted but the blitting is immediatly.
  75.  
  76.     Well there are 2 different ways this can be developed furter.
  77.     the first is to keep the chuncky clipboard .. because that
  78.     will be faster if the system has a (CyberGraphX) video card,
  79.     because CyberGraphX has a 'blit' command that accepts
  80.     chunky arrays. 
  81.     
  82.  
  83.     Or to make a clipboard with 4 bitplanes which is faster on
  84.     an OCS/ECS/AGA machine .. but slower in the future :)
  85.  
  86.  
  87.  
  88.    -Fixed some problems in Rexxdoors.
  89.     When you tried to print something with a arexx command with
  90.     leading spaces the spaces where stripped.
  91.     When you used ANSI codes with a ; in it the line was changed.
  92.  
  93.     The problems where causes by the DOS ReadArgs() function I
  94.     used to check and translate the incoming arguments.
  95.     This was used in an example so I copied it, but it was meant
  96.     for doscommands that want the argument lines checked and
  97.     split up in commands, flags and numbers.
  98.     I used the "\F" template which means 'rest of the line',
  99.     that didn't work very well.
  100.     I only want a line of text or nothing so i wrote my own
  101.     simple code that checked if there was a string after the
  102.     command or not and then check if a string is needed.
  103.  
  104.  
  105.  
  106.    -I played a little with Arexx.
  107.  
  108.     It can be Usefull to have the Menu commands availble in Arexx
  109.     Doors. I gues they are available in Xenolink arexx doors, and
  110.     i heard that in Xenolink V2.0 the menus will be written in Arexx
  111.     but that can be changed because since then Xenolink changed hands.
  112.     I know that in the Zeus package menus are written in Arexx.
  113.  
  114.     Well .. Trion menus are still written in trion menu language,
  115.     because it is simple .. you don't have to know Arexx.
  116.     But I started to add a few of the Menu commands to the
  117.     Arexx door interface (some on request) so you can make
  118.     menus a little more like a programm.
  119.  
  120.     As an example I made an Arexx door that reads the messages
  121.     in a group of areas .. which isn't possible with the current
  122.     menu compiler (yet .. because adding ranges is in the ToDo list
  123.     but maybe arexx is the answer to everything ;)
  124.  
  125.  
  126.  
  127.     Added 3 Arexx door commands (same as the menu commands)
  128.  
  129.      ChangeFileArea     <area>
  130.      ChangeMessageArea  <area>
  131.      ReadNew
  132.  
  133.     Note that the ChangeXXX commands don't print a text when the
  134.     area can't be accessed but returns a "0".
  135.     (they return a "1" on succes)
  136.  
  137.  
  138.     I have made a demo arexx door that shows all new message in
  139.     a group of areas instead of all areas or 1 area.
  140.  
  141.  
  142.  
  143.  
  144.  
  145.     Add this to a menu to start the Arexx Door:
  146.  
  147. Cmd "A" , 0-255
  148.    RexxDoor  "doors:rexxtest/ReadNLA.rexx"
  149. EndCmd
  150.  
  151.  
  152.  
  153.  
  154.  
  155.     This is the ArexxDoor:
  156.     (Note that it assumes that NLA areas are numbered within
  157.      the range of 100 till 150)
  158.  
  159.  
  160.  
  161.  
  162.  
  163. /* RexxDoor "doors:rexxtest/ReadNLA.rexx"      */
  164. /* start with    RexxDoor  "doors:rexxtest/ReadNLA.rexx"         */
  165.  
  166.  
  167. Arg node_number                         /* node we were run from */
  168. Host = 'TRONREXX.'node_number           /* the Trion Arexx port */
  169. /* Host = 'TRONREXX.'node_number'1' */  /* the Trion Arexx port */
  170. /* Host = 'TRONREXX.01'  */             /* the Trion Arexx port */
  171. Options results                         /* this is how Trion answers */
  172. Address value host
  173. options failat 15
  174.  
  175. ESCSEQ   = '1b'x||'['
  176. YELLOW   = ESCSEQ'1;33m'
  177.  
  178.  
  179. quit = 0
  180.  
  181. do n = 100 to 150 by 1
  182.    Carrier
  183.    if result = "1" & quit = 0 then do     /* if carrier present and not stopt */
  184.       ChangeMessageArea n
  185.       if result = "1" then do
  186.          ReadNew
  187.          quit = result                    /* is 1 when User quits reading */
  188.  
  189.          if quit = 1 then do
  190.             /* print YELLOW"User terminated" */
  191.          end
  192.  
  193.       end
  194.       else do
  195.          /* print YELLOW"There is no msg area "n" !" */
  196.       end
  197.    end
  198. end
  199.  
  200.  
  201. exit 0                         /* einde programma */
  202.  
  203.  
  204.  
  205.  
  206.