home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
m
/
multimod
/
!MultiMod
/
!Help
< prev
next >
Wrap
Text File
|
1992-11-16
|
6KB
|
141 lines
!MultiMod
=========
Copyright © Stewart Brodie, June 1992
=====================================
This application is in the Public Domain. It may be distributed freely
provided that NO charge is made for it (except for postage or a disc). It
must also be kept intact with all the files unmodified (but see section
Dimensions below). (Largish) Source code extracts may be used provided
credit is given. No responsibility can be accepted for damage or any form
of loss caused, or allegedly caused, by this program. It is placed in the
Public Domain in good faith.
Multi Module
============
This application allows you to group together modules, which are normally
loaded from disc together, all in one file. Furthermore, this file is
stored as an absolute file which can be squeezed to save space. This allows
the user to load these modules more quickly. An example of this might be
loading ColourTrans, SharedCLibrary and FPEmulator plus any utility modules
you may have on booting up.
To start the application, double click on the !MultiMod icon or a MultiMod
file. The filetype I have used is 0x7cf which is not registered with
anybody. To open a new window, click on the icon bar icon, or use the save
dialogue box on the menu. Place modules in a collection by dropping them in
the window. Remove icons by choosing the Remove option on the menu for that
module's icon.
Dimensions
==========
Because of people griping on Usenet recently about software authors
producing software that is only 2-D or 3-D, I have placed some attempt at
different sets of icons in the directory. The files inside the `resources'
sub-directory should not be changed. To switch between 2-D and 3-D icons,
open the !MultiMod directory and double-click on either !2d or !3d. This
will modify the !Sprites, Sprites and Templates files. Note that this is the
ONLY modification that may be made to the directory if it is being passed on
to somebody else.
Menus
=====
To save a collection use the Save option on the window's menu. To export
the data as an absolute file use the Save Group option on the window's menu.
To change the format of the window, use the Display sub-menu for the window.
You may choose Large or Small Icons, or Full Info which correspond roughly
to Filer-like displays. The sort options are also available on this menu.
This affects the order of display in the window and also the order in the
exported file. You may sort in alphabetic order (case insensitive), size of
module (largest or smallest first) or in the order in which the modules
were imported to the window.
You may save a collection into another collection by dragging the file icon
onto the window. This may be done from a Filer window or from another Multi
Module window.
You may quit by choosing the Quit option on any menu. If you have unsaved
data in any windows, you will be asked whether you still want it. You may
close a collection window by clicking on its close icon. If there is
unsaved data, you will be again prompted to confirm the discard of the data.
Printing
========
You may print a collection file by dragging it to a printer driver icon.
You may drag from either Save dialogue box. Printing from a file when the
application is not loaded is not yet supported. The printed output is a
textual summary of the file contents.
Source Code
===========
I have left the source code inside the application directory. This will
only be useful for examination purposes. (It does not take an expert in C
to determine the original form of "c.wimpif" :-) ). To remake the
application from scratch, it should be necessary only to invoke a make
utility with the included makefile. However, the current directory should
be set to !MultiMod's directory. It speeds compilation up a bit if you copy
$.clib.h to RAM:$.h as that is where the compiler will look first. Please
do not look at the dodgy ways the display modes are handled - this is my
first time at using arrays of structures whose fields are functions. In
each place where I have used an array of functions it speeds up the code a
bit, but it looks weird although the sorting procedure is quite neat.
Suggested improvements and/or bug reports should be mailed to one of the
addresses below, although I make no guarantees over production of new
versions incorporating the improvements or with the bugs fixed. (The source
isn't *that* bad -- someone should be able to tinker it about a bit. A good
start would be removing all the comments from wimpif.c which I think just
get in the way, but I can't be bothered to remove them. :-) )
Do not tamper with "abscode.h" as this is automatically generated by the
BASIC program `ARM_Source' which assembles the code to run the application.
Acknowledgement
===============
Acknowledgement is due to "cs2du@hatfield.ac.uk" who wrote `mod2abs'
available from the Newcastle info-server, whose idea it was to convert
modules into applications. I have taken this idea one step further allowing
multiple modules per application file.
Versions
========
1.00 First working version (01-Jun-1992)
Future Enhancements
===================
Allow filetypes other than module to be included. eg. Sprites to be added to
the Wimp's common sprite pool. Already mostly capable of handling this.
Only need to change the file type of the `Module' to that of a sprite file
and set the icon strings (see wimpif.h). But also need to rewrite
ARM_Source code to handle the new data. I suspect a sprite might not like
being called upon to initialise :-). But still only handling one type at a
time.
Do selective redrawing, not just whack all the icons out for every
rectangle. To be fair, though, I think that Wimp_PlotIcon is checking
anyway. I don't see how else it could preform redraws so quickly.
Contact Address
===============
I may be sent e-mail at the following addresses which can only be guaranteed
until July 1994:
snb90@ecs.soton.ac.uk
snb@mail.soton.ac.uk
S.N.Brodie@ecs.soton.ac.uk -- only if the name server is up :-)
===========================
Stewart Brodie, 1 June 1992