home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Best of Mecomp Multimedia 2
/
MECOMP-CD-II.iso
/
mecomp-html
/
tools
/
mm219.lha
/
MagicMenuUPD
/
releasenotes
< prev
Wrap
Text File
|
1997-07-23
|
16KB
|
433 lines
MagicMenu 2.4 (beta)
====================
- Improved overall stability under CyberGraphX; the menu rendering code was
actually peeking Screen->BitMap instead of Screen->RastPort.BitMap, which
among other things could screw up rendering in deep display modes. Menu
rendering now works consistently in display depths beyond 8 bit.
- Removed references to SetABPenDrMd() where they were in the wrong place.
- The code that sends the IntuiMessage should be less timing critical and
simpler now. It fires off the message and starts to wait for a response
if necessary rather than allocating timer requests, message ports, etc.
on the spot and then jumping into action.
- Removed the routine that complains about timed out IntuiMessages. It's
nice to know that something went wrong, but not that helpful if you
cannot do anything about it.
- Since IntuiMessage processing works differently now, MagicMenu now checks
for pending, unreplied messages.
- The routine that displays the menu and handles the IDCMP_MENUVERIFY
case should be better protected against Intuition state changes and
stale pointers. There is still a catch in that the Window to receive
the menu event may close or dispose of its menu strip before the
event arrives. But actually, Intuition protects itself against
such eventualities, anyway.
- For a Window without a UserPort, MagicMenu could lose memory. This
has been fixed.
- When an IDCMP_MENUVERIFY message times out, the window to cancel
it now properly receives its IDCMP_MOUSEBUTTONS/MENUUP and
IDCMP_MENUPICK/MENUNULL messages (as per the RKMs). When menu
rendering is finished the other inactive IDCMP_MENUVERIFY windows
on the screen now receive the proper IDCMP_MOUSEBUTTONS/MENUUP
messages.
- Changed the way BOOPSI images in menus are handled. MagicMenu no longer
tries to remap them as if they were BitMap images. Right now it turns
them into BitMap images and then remaps them.
- Redid the image remapping code. It no longer fiddles with the raw BitMap
data but uses the Blitter.
- Added a patch for ObtainGIRPort() which should make all the SafeGIRPort
patches redundant that existed just in support of MagicMenu. The patch
checks if the screen it should work upon is currently locked by
MagicMenu. If so, ObtainGIRPort() will return NULL. This is a little
dangerous since some built-in Intuition classes do not protect themselves
against ObtainGIRPort() returning NULL. I can't make the patch tell
Intuition to wait until the screen is ready again either, as this would
eventually deadlock Intuition.
- Changed the new 3D look text highlight colour to be more consistent with
the way gadget text highlighting works.
- MagicMenu no longer detaches from the Shell it was started from. If
you need such a feature, use "run >nil: MagicMenu".
- MagicMenu now works with Final Writer. Final Writer calls
Clear/ResetMenuStrip whilst in MENUVERIFY state. Previously,
MagicMenu did not allow this to happen, causing the verify message
to time out.
- The phony IntuiMessages are now ExtIntuiMessages with a NULL tablet
data pointer and proper time stamp information.
MagicMenu 2.5 (beta)
====================
- The ObtainGIRPort() patch now handles the NULL parameter case
gracefully. Some BOOPSI gadget dispatchers actually end up invoking
the draw method in the OM_NEW case with the GInfo pointer not
yet initialized.
MagicMenu 2.6 (beta)
====================
- The new 3D colour mode could screw up the screen colour palette.
The code did not check for pen allocation failures and, since the
pen variables were unsigned, the deallocation code would end up
freeing the same pen over and over again.
- Changed the commodities filter setup code. All the initializations
are now done at program startup time. MagicMenu enables the filter
later instead of building the filter when the menu comes up.
- Changed the way bevel boxes are rendered. Instead of calling
Move..Draw..Draw over and over again it now uses RectFill()
where possible. For vertical and horizontal lines this is
actually faster than calling Move/Draw.
- Made small visual changes to the menu box and title bar rendering
in new 3D look mode.
- With the non-blocking option enabled, the new 3D look menus now
sport drop shadows.
- In non-blocking mode MagicMenu no longer uses SuperBitMap windows.
- Removed the "demo" menu from the prefs program.
- Integrated Mario's new imagery, including the new colour map
that goes with it.
MagicMenu 2.7 (beta)
====================
- The drop shadows no longer cause windows to be moved away from
the screen right and bottom edges.
- Disabled menus, items and subitems are no longer rendered with
a frame in new 3D mode.
- The drop shadows were only transparent with CyberGraphX.
I added another patch to allow this for any Amiga (and which
magically also boosts layer creation speed).
- One WaitBlit() was missing in the remapped image cleanup code.
- Removed the "clipping" option. It is now enabled by default in
order to avoid big trouble on the way.
- If MagicMenu cannot reuse the patch table installed by an older
MagicMenu version that was removed from memory just before the
new one was run, it now complains and exits without crashing.
- I tried to make MagicMenu safer by reducing the rendering options
to two alternatives only: you either select non-blocking or you
don't. Both options imply clipped drawing operations, making it
more difficult to trash memory on the way. The "direct draw"
option is implicitely enabled for non-blocking mode and
implicitely disabled for blocking mode. All this will slow down
menu operations a bit, but better a little slower than a little
sooner to crash.
- No longer fakes ClipRects and uses sleight-of-hand tricks to get
away with it. Instead of calling SwapBitsRastPortClipRect()
it now uses a much simpler technique to exchange the on-screen
BitMap data and the menu imagery. This technique neither has
nor requires the side-effects SwapBitsRastPortClipRect() has.
- Removed the CyberGraphX chunky option; it is now enabled all
the time.
- New and improved colour remapping code. Much faster than the
old blitter based stuff.
- All new preferences program. The prefs editor goes into
SYS:Prefs. The new configuration files go into ENVARC:.
Note that the new configuration files are not compatible
with the old ones.
- Prefs program and main program now support localization.
No catalogs are available yet, sorry.
- Non-blocking operation is now the default mode since it
is less likely to trash memory, freeze the machine or
crash it.
MagicMenu 2.8 (beta)
====================
- Added two more patches for WindowToBack() and
MoveWindowInFrontOf().
- The prefs program should now consistently find the current
preferences settings, even if MagicMenu is not running.
- Removed the ghosted text colour options. These colours are
now connected to the background colour.
- The prefs program now has a proper version string.
- The keyboard control hotkey combination can be changed at
run-time now.
- Resetting the preferences to defaults now properly updates
the display and the colours.
- The layer patch was using the wrong rectangle offsets,
causing superbitmap windows to screw up.
- The prefs program and the main program now both have
new default minimum stack size limits. For the prefs
program it's 10K and 8K for the main program.
- The menu image remapping routines now treat images
properly which make use of the PlanePick/PlaneOnOff combo.
- The main program will now find the prefs program when
it should do. Previously, it would only start the prefs
program if the main program was run from Shell.
- The colour remapping now also takes place in selected state
images. The same colour remapping rules are applied for the
highlight colour that are used for the normal background
colour.
- Added tablet input event processing. So far only one
tablet input device is reported to work properly. If there
are more, I would like to know :)
- Rewrote the central menu event processing loop. MagicMenu
should now snap out of an Intuition deadlock much faster
than before. I also removed the global menu timeout,
which is now redundant.
- The menus no longer pop out of multicolour style back
into old 3D style without warning.
- Starting the main program twice now brings up the
prefs editor, just like with any other commodities tool.
- Made the drop shadow a little smaller (4x4 instead of 6x6).
- Fixed two fatal bugs in the bitmap initialization code.
- Added two more patches, this time for OffMenu() and OnMenu().
- MagicMenu now supports menu lending. For this to work, I had
to remove the "screen with the active menu pops to front"
feature. This screen depth arrangement also got into trouble
with child screens, which would always get popped to the
background.
- The prefs program now sports a "Test" button. If the main
program is not yet running when you hit this button, the
prefs program will try to launch it.
MagicMenu 2.9 (beta)
====================
- Moved the default imagery back into chip RAM.
- When in keyboard control mode, [Shift]+[Esc] will abort
the entire menu operation, no matter which menu hierarchy
you are in.
- The 3D multicolour mode now requires that the menu font is
at least nine pixels tall. If it is smaller, you will get
the old 3D mode.
- Reworked the menu imagery and made sure that the MX and
checkmark images match in size.
- Multicolour ghosted text no longer gets rendered over and
over again when moving the mouse across it.
- When running out of pens for the gradient fill slider
the prefs editor should now back out gracefully rather than
end up trying to load colour register -1 with greyscale
data. This could have been the reason for the inexplicable
prefs editor crashes.
MagicMenu 2.10 (beta)
=====================
- Default prefs project icon images now come from ENV:sys/def_pref.
- The multicolour 3D look mode no longer requires a font of a least
nine pixels. Now eight pixels will do (and don't you complain if the
imagery is taller than the menu font).
- The menu image remapping code should now be much smarter for images
that use the PlanePick/PlaneOnOff option.
- Removed the "Remove" option from the prefs program.
- The prefs editor could copy too many colours when updating
the program settings.
- Added a "precision" slider to the prefs program. With this slider
you can select how much error the colour allocation routine will
tolerate when selecting the colours for the multicolour menu.
- Rewrote all the colour management routines to be as careful as
possible when releasing the allocated pens. It looks as if not
all system configurations will treat pen #-1 as a no-op.
MagicMenu 2.11 (beta)
=====================
- The preferences editor now opens a custom screen with 32 colours
if it cannot get that many from the requested public screen.
- When MagicMenu has taken control of the menus, window depth
arrangement calls are no longer ignored, but delayed until
the menu closes. Actually, I would have to add a whole lot
more patches to make operation halfway safe, but for now
I'm just plastering patches onto routines which are somewhat
likely to get triggered while the menus are up.
MagicMenu 2.12 (beta)
=====================
- The window depth arrangement patches were not installed correctly,
causing them to do nothing in most cases.
- In non-blocking mode and when running under Kickstart 2.04 you
would still get the shadow borders. As the drop shadows do not
work under V37 this was not really sensible.
- Added Mario's new 4 colour images. Note that you will get these
only with high resolution screens and fonts >= 11 points. I also
changed the old 3D look ghosting style.
MagicMenu 2.13 (beta)
=====================
- Added a new option to the prefs program. If "Prefer screen colours"
is enabled, MagicMenu will make up the menu colours from the screen
user interface colours rather than using the colours you selected
from the palette.
- Updated the WindowToFront/WindowToBack patches to delay window
operations on the screen the MagicMenu menus are active on.
- Added more patches to SetWindowTitles and RefreshWindowFrame.
I should also patch RefreshGList, RefreshGadget, NewModifyProp,
ModifyProp, and about seven other routines but I guess I'd
rather stop here. All these routines can cause deadlocks which
MagicMenu will back out of safely. This can be a little annoying,
but you can still change the MagicMenu operating mode for
normal operation.
- The keyboard control commands now consistenly work when they are
enabled and go out of the way when the are disabled.
- Changed the settings file format, this time hopefully for the last
time.
- Added a new option to have menus open slightly delayed, or put
another way, when you have stopped moving the mouse.
- Added another new option to turn off the frames drawn around the
active menu item.
MagicMenu 2.14 (beta)
=====================
- Corrected the placement of the Command images in menu items and
subitems.
- For the "old look" menus the separator bars now render in the
correct colour.
- The old 3D look menu borders are now just one pixel thick,
regardless of the display mode used.
- Changed the preferences data exchange interface between the
prefs editor and the main program. Now the system should no
longer crash if you try to change the settings of the new
program with an old prefs editor.
- Drop shadows are now restricted to pop-up menus.
- Some menus will open faster now in non-blocking mode, as they
will be "promoted" to simple refresh windows if possible.
- Some of the patches MagicMenu installs to protect itself are
no longer active in non-blocking mode. This will help Workbench
and other applications which would otherwise get caught in
their display update work.
- Changed the alignment rules for the checkmark, Amiga key and
submenu arrow images to match those Intuition uses (or would
use if it could).
- With "mark submenus" disabled, MagicMenu would cease to render
submenu indicators in multicolour 3D mode. It now works again
as it should.
MagicMenu 2.15
==============
- An invalid hotkey specification no longer keeps the main program
from functioning. It will complain and the feature connected with
the hotkey will be unavailable, but the program will continue
to run.
- Changed the default colours for the preferences editor fallback
screen.
- Added more patches for screen depth arrangement, opening
and closing.
- Added Mario's new artwork.
MagicMenu 2.16
==============
- The size of the menu bar is now taken from the Screen data
structure rather than made up from the font height.
MagicMenu 2.17
==============
- The layers.library patches now jump into action only if the
non-blocking mode and the drop shadows are enabled.
MagicMenu 2.18
==============
- Removed all the layers.library patch code. The drop shadows are
now rendered using a much more robust technique that does not
require any black magic at all. As such, it now also works
under Kickstart 2.04 and is no longer restricted to non-blocking
mode (yes kids, that's what you always wanted).
MagicMenu 2.19
==============
- The changes in 2.18 introduced bugs into the menu refresh code.
This is what I had to fix in this version.