Birdie

About

Birdie patches the system so that patterns can be used in the window borders instead of the normal solid colors. Click on the picture to see a screenshot of Birdie in action. It's written by Trond Werner Hansen. The current version is 1.5.

Screenshot

Download

Download Birdie 1.5.

History

  version 1.5 (12.jan.98)
  ----------------------
  - PUBSCREENS option for multiple pubscreen support. Be sure to
    have screennotify.library installed. Note that when a screen
    opens, the patterns must be loaded and remapped for that screen, which
    can cause unpleasant delays. You could keep your patterns in RAM:
    to save some time and annoying hd access. This "problem" does
    NOT happen to those with gfxcards that use hicolor and truecolor
    screens. Birdie will in this case share bitmaps among the screens
    if the screens have same pixelformat, ie. either 15, 16, 24 or 32bit.
  - EXCLUDE option to define what pubscreens should not be affected.
    example EXCLUDE=Workbench (workbench not affected) or
    EXCLUDE=(Workbench|MyPubScreen) (workbench nor mypubscreen affected)
  - Note on startup usage: run it after IPrefs somewhere like this:
    c:run <>NIL: c:birdie <options>

  version 1.5 alpha (xmas edition) (24.des.98)
  --------------------------------------------
  - Special release.. some stuff from real 1.5 version above.
  - Xmas card gag worked, but didn't have time to write any
    real text for it. To see it, launch Birdie so that card.jpg
    (included in archive) is found (same dir).

  version 1.4 (2.des.97)
  ----------------------
  - Changed a certain aspect of a patch which I think caused problems
    with DiskSalv, Arq and other specific stuff. Please retest
    if you had problems before.
  - Added FLOODMASKMWB to make the NOICONBORDER patch more complete.
    If enabled, icons with 16 colors or less (which usually is mwb
    style or old standard amiga style) will have their masks generated
    by flooding pen0 around the border. If you used NOICONBORDER
    before you would notice that the background color of the icon
    always becomes transparent. This looks good for newicons, but
    for mwb and other old style icons it doesn't look good because
    they rely on the background color as a part of their design.
    However there is a solution for this which gives nice results.
    Instead of making pen 0 transparent everywhere, only those pen 0
    pixels which are reachable from the border becomes transparent.
    I advice everyone which are using Workbench (and not some 
    replacement like Scalos or DOpus) to try out NOICONBORDER and 
    FLOODMASKMWB (specify both). Use this feature *instead* of 
    all other noborder hacks like the one in newicons (disable it in
    newicons prefs).

    NOTE: The flood mask routine uses a handmade Flood() routine in
    100% ASM so you don't suffer from slow loading.

  - Now caches already masked icons too and draw them correctly.
  - NOICONBORDER should now work on interleaved AGA screens which
    at last makes it usable for AGA users.
  - Added some code so that all windowframes are redrawn when
    Birdie starts/exits.
  - All bitmap cache is now flushed if you quit Birdie.
  - Now supports screennotify.library so you can change screenmode
    while Birdie is running. This will cause Birdie to reload pattern
    ofcourse, which might take a second or two.

  version 1.3 (8.oct.97)
  ----------------------
  - Birdie no longer needs CGX/Superlayers.
  - Added PRECISION and IMPOSELEVEL.
  - ACTIVECOLOR now works with all hi/truecolor pixelformats.

  version 1.2 (6.oct.97)
  ----------------------
  - Added NOLIGHTING,NOICONBORDER,ACTIVECOLOR,LRA,LGA,LBA,DRA,DGA,DBA.
  - Rewrote bitmap stuff.
  - Baked a chococake (not included in archive).

  version 1.1
  -----------
  - Added proper DrawInfo usage.
  - Added NOBITMAPS switch.
  - Fixed problems with dual-layered GZZ windows.

  version 1.0
  -----------
  First public release. 95% rewrite.

  version -13 (jan/feb 97)
  ------------------------
  internal weird-thing (tm).

FAQ

  What is Birdie?
  ---------------
  Birdie is a hack that gives you datatypes loaded patterns in the window
  border of windows open on the default public screen (WB). Current version
  is V1.5.

  Where can I get it?
  -------------------
  www.triumph.no/software/birdie

  How does it work?
  -----------------
  It redirects border rendering calls to own fast pattern fill routines.
  If the screen is hicolor, also shine and shadow pens (white and black)
  will be replaced with a shine and shadow versions of the pattern. This
  light effect is currently precalc'ed, so each pattern is stored
  in 3 versions, eating up memory if big patterns are used. In 8bit
  only the normal fill color is changed. In 1.2 you can control how
  it works somewhat more.

  Is birdie safe to use? Will it crash?
  -------------------------------------
  Maybe. You just have to try it. There ARE problems, but many people
  including myself don't have any of them. This makes it difficult for
  me to debug it, but I'm doing my best to try to figure out what is
  wrong.

  It doesn't work here, is there anything I can do?
  ------------------------------------------------
  Maybe. First try disabling ALL hacks and patches. Try to break
  your startup right after IPrefs is loaded. Then start birdie, and see
  if it works. If it does, you could try to nail down what other thing is
  causing Birdie to crash by reenabling other hacks. If you discover
  something neat, please mail me. (see address below)

  Are there any known problems with other hacks?
  ----------------------------------------------
  I haven't actually verified all of this, but people have mentioned
  the following:
  - disable PatchControl. At least for testing Birdie once.
  - check if you're using a weird adddatetypes replacement.
  (I doubt this means anything, but you never know).
  - disable Arq if you use it and try.
  - try running StackAttack and give all tasks some more stack.

  again, if you somehow can verify anything, please mail me.

  Birdie disables the NoBorder hack in NewIcons. What's up?
  ---------------------------------------------------------
  Patch conflict, caused by NI being more dirty than it needs
  to. I'm gonna do my own NoBorder patch within Birdie, so that
  people don't have to run patch on patch on patch... It will
  be faster too, I hope :)

  NOTE: in 1.2 birdie has a new NOICONBORDER option which you
  should use instead of the NI options.

  Does Birdie make my system slower?
  ----------------------------------
  Yes. But only by a tiny amount. You will probably never see it
  yourself, but if you run WSpeed or similiar progs, you can
  discover a tiny slowdown, at least in the Draw Hor/Vert 
  test I think. 

  DON'T be scared by this. In fact, for Gfxcard owners,
  Birdie can actually make your border draw
  faster!!! How that is possible? You see, the system gadgets
  are normally in planar mode, and even when running sysihack
  they are planar. Technically, this is due to that
  when BOOPSI images are created, they get a DrawInfo
  structure to peek at for rendering info. But this 
  structure was designed for planar AOS displays
  and does not contain a bitmap pointer or any other source of
  info so that the BOOPSI class can tell what custom CGX
  pixelformat the screen is. Therefore, such images
  ends up being planar. This means that everytime intuition
  redraws a border, all the system gadgets must be converted
  from, say, 8bit planar to 16bit hicolor, which is VERY
  SLOW. With birdie, a pattern filled copy of the image
  is quickly drawn because it is in hicolor already!

  Any last words?
  ---------------
  Well, Birdie was developed with the aid of chocolate. Author
  is Trond Werner Hansen, trond.hansen@triumph.no.
  It was made just for fun and for all cgx users to enjoy.
Birdie software and documentation are © 1997-1998 Trond Werner Hansen, Triumph Software. All rights reserved.