MakeKISS Preferences

Main Preferences

When you first get MakeKISS, you should set up the preferences to reflect your particular style of working. The preferences window can be invoked by selecting Preferences from the iconbar menu (or the main window menu).

The preferences dialog box is actually a scrolling pane; if fully "unrolled" it would look like this:


Click on a field to see an explanation of its effect.


prefs1
prefs2
prefs3
prefs4
prefs5
prefs5
prefs7

See also Advanced Configuration


User group

This group of fields defines parameters that can be used in the MakeKISS-generated header comment of dolls.

[ Top ] Top
[ Index ] Back to index


Author

This is you, or rather, the name which appears in the default doll header as the author of the doll. If you wish to remain anonymous, just leave it blank (or edit the default doll header - see Advanced Preferences).

[ Top ] Top
[ Index ] Back to index


Email

Your email address; like the author field, this appears in the default doll header. As for the Author field, you can leave it blank or edit the default doll header (see Advanced Preferences).

[ Top ] Top
[ Index ] Back to index


Basic group

This group of preferences control the appearance of the PlayKISS windows and menus, and defines the way that PlayKISS handles certain KISS characteristics.

[ Top ] Top
[ Index ] Back to index


Active controls

If this option is ticked, the available sets (ie sets including one or more cels) and palette groups will be reflected in the toolbar and the Sets and Palettes menu options. Note, however, that this only applies in Play mode, not in Build mode.

[ Top ] Top
[ Index ] Back to index


Monitor load

During doll loading, MakeKISS normally simply displays an hourglass indicating progress. If this item is ticked, however, MakeKISS will display a window displaying the file (cel or palette) currently being loaded into memory.

[ Top ] Top
[ Index ] Back to index


Disallow FKISS

Selecting this will ensure that all French KISS scripting instructions are off by default. FKISS can be re-enabled after startup by selecting the relevant menu item on the iconbar menu or main window menu.

NB Even if French KISS is disabled, any initialise and begin events will be processed, as failure to do so will often make such a doll incomprehensible.

[ Top ] Top
[ Index ] Back to index


Hand pointer

Ticking this option will tell MakeKISS to change the pointer to a hand while over the doll window.
This control will only take effect the next time MakeKISS is run.

[ Top ] Top
[ Index ] Back to index


Expand to fit

Ticking this option will cause MakeKISS to enlarge the image size specified in a doll to enclose all cels. In previous versions of MakeKISS, this had been the default action; this preference puts the function under user control.

Although still supported, this preference is deprecated. It is recommended that this option is disabled, and either the "FKISS Only" or "Limited" form of bounds checking is enabled instead.
This control will take effect the next time a doll is loaded into MakeKISS.

[ Top ] Top
[ Index ] Back to index


Allow large palette

This option allows MakeKISS to load extended palette sets (ie sets with a total palette of more than 256 colours). If this option is not ticked, MakeKISS will report errors when trying to load palettes that will take the total number of colours over 256.

It should be noted, however, that it is currently not possible to convert a doll from a standard palette to an extended palette after the doll has been loaded (by loading additional palettes).
This control will take effect the next time a doll is loaded into MakeKISS.

[ Top ] Top
[ Index ] Back to index


Smart 'Maxfix'

The "Fix" attribute of an object defines how easy it is to move. Originally, this attribute had the range 0-100; objects with a fix of 100 (or greater) were permanently fixed.

The main translation of the original Japanese specification, however, missed this upper limit, and as a result, doll creators have used a range of values to define permanently fixed objects.

If this option is disabled, PlayKISS uses the original definition; if enabled, PlayKISS will apply a rule-of-thumb to attempt to deduce the doll creator's intent.

This control will take effect the next time a doll is loaded into MakeKISS.

[ Top ] Top
[ Index ] Back to index


Dither transparency

Until version 2.48 of MakeKISS, transparency effects in non-Cherry sets has been achieved by dithering; this mechanism is still supported, and will be used if this option is selected. If it is not selected, KISS dolls including any transparency effects will use a 16 or 32 bpp image and transparency will be achieved by using colour mixing.
This control will take effect the next time a doll is loaded into MakeKISS.

[ Top ] Top
[ Index ] Back to index


Early snapback

Earlier versions of MakeKISS would not allow items of clothing, etc to snap back to their original location until the mouse button was released. Enabling this option will cause such snapback to occur as soon as the user attempt to move it beyond its limiting distance; this latter behaviour is closer to "classic" KISS.
This control will take effect immediately.

[ Top ] Top
[ Index ] Back to index


Message window

Some FKISS functions display text to the user, but the FKISS specification leaves it to the player software to decide how such display is handled. MakeKISS has two distinct techniques - a scrolling window that pops up whenever text is added, or a Wimp alert box. This preference specified when each approach is used:

Setting Meaning
Never The window will never be used - all text output will use a Wimp alert box. This will mean that all text display functions will interrupt any drags in progress.
Always The window will always be used. This will mean that text display functions invoked as part of the doll closedown will probably be missed, due to the very short time they will be displayed.
Except @ end The window will be used for all text output, unless the function is invoked as part of the doll closedown procedure. Text functions triggered during doll closedown will use a Wimp alert box.

This control will take effect immediately.

[ Top ] Top
[ Index ] Back to index


Enforce bounds

Classic KISS required that player software should not allow objects to be moved outside the playfield (either by user drags or, more recently, by FKISS functions). However, many players have included different ways of ignoring this limitation, and some dolls will fail if classic bounds checking is enforced. This control tells PlayKISS which form of bounds checking to use.

Setting Effect on
User drags FKISS functions
Full This is "classic" bounds checking. Objects cannot be moved even partially off-screen.
FKISS Only Unconstrained.
Objects can be dragged off the playfield.
Full bounds checking applies.
Visible That part of an object that is mapped (i.e. configured to be displayed) cannot be moved off-playfield. However, unmapped portions of the object can be moved off-playfield.
Limited As for "FKISS Only". As for "Visible"

This control will take effect the next time a doll is loaded.

[ Top ] Top
[ Index ] Back to index


Include path

This text field is used to specify the search path for extension dolls that use the "INCLUDE" directive. When PlayKISS encounters an INCLUDE directive, it will first check the directory containing the extension doll for the specified base doll. If it is not found there, a hierarchical search of the search path and subordinate directories is made.

You can either type the name of a directory, or you can drag a directory from the filer to the text field.

[ Top ] Top
[ Index ] Back to index


Active cels group

This group is used to control the flashing of FKISS-active cels (triggered from the "Show active" submenu).

[ Top ] Top
[ Index ] Back to index


Rate

This menu can disable flashing altogether (Off) or select one of three flash rates (Slow, Medium or Fast).

[ Top ] Top
[ Index ] Back to index


Count

This control is used to specify the number of times that the active cels will flash.

[ Top ] Top
[ Index ] Back to index


Defaults group

This group of preferences set up various default options.

[ Top ] Top
[ Index ] Back to index


Virtualise

This option states whether the Virtualise virtual memory system is enabled by default. Virtualise may be enabled or disabled after startup by using the iconbar menu.

[ Top ] Top
[ Index ] Back to index


Show toolbar

This option states whether the Set and Palette switcher toolbar is present by default. The toolbar may be enabled and disabled after startup by using either the iconbar menu or the main window menu.

[ Top ] Top
[ Index ] Back to index


Auto-start debugger

This preference controls whether the iconbar menu item "Debugger" is enabled when MakeKISS starts.

[ Top ] Top
[ Index ] Back to index


Track mouse

This option states whether the "Track mouse" function is present by default; this adds an information toolbar, showing basic details of the cel under the mouse pointer. The function may be enabled and disabled after startup by using either the iconbar menu or the main window menu.

[ Top ] Top
[ Index ] Back to index


Strict parser

This option states whether the "Strict checks" function is present by default; this causes MakeKISS to perform more rigorous checking while loading dolls.

[ Top ] Top
[ Index ] Back to index


Break on...

This group of buttons sets up the initial settings for the "Break on" menu item on the FKISS debugger iconbar menu.

[ Top ] Top
[ Index ] Back to index


Create & test group

This group of preferences modifies how the various MakeKISS doll editing and testing windows behave.

[ Top ] Top
[ Index ] Back to index


Load imported cels

This option defines how MakeKISS should handle cels created by importing a sprite file. If ticked, the cel will be immediately loaded into the set.

[ Top ] Top
[ Index ] Back to index


History

For ease of use, MakeKISS maintains a list of the most recently loaded dolls; this gadget is used to control the number of dolls in the history list. Selecting a doll in the history submenu of the iconbar menu will immediately load that doll.

[ Top ] Top
[ Index ] Back to index


Auto-resize image

Although the KISS cnf file specifies the size of the image window, many doll viewers (including MakeKISS and PlayKISS) will expand the size of this window if necessary to fully enclose all cels.

There are many ways of causing MakeKISS is increase the size of this enclosing window (for example, moving an object with the cursor keys in Build mode). If this option is turned on, the window will automatically be adjusted in extent (and will be shrunk back again if another action undoes the effect). This is potentially highly processor and memory intensive, and may be unacceptably slow on pre-StrongARM or low memory machines.

If you have zoomed the image in or out (the scale is not 1:1) autoresize is automatically disabled. This is a (hopefully) temporary solution to a redraw bug that would otherwise occur when auto-resizing a scaled image.

[ Top ] Top
[ Index ] Back to index


Adjust accel

High fix values can be inconvenient when testing dolls. To alleviate this, you can use the Adjust menu button to emulate several drags on the cel. The value set in this gadget is the number of "normal" drags represented by a single adjust-drag (eg the default value of 5 means that a single adjust-drag fools MakeKISS into believing that 5 drags have been executed).

[ Top ] Top
[ Index ] Back to index


Standard controls

This version of MakeKISS supports two different arrangements of the control panel. The one shown here is the standard control panel; the alternative control panel has exactly the same controls, but laid out differently. This option is used to select which of the two control panels is used.

NB This configuration item is not dynamic - changes to the setting will not be registered until you quit MakeKISS and restart it.

[ Top ] Top
[ Index ] Back to index


Use throwback

Selecting this will tell MakeKISS to report errors in the CNF file using Acorn's "Throwback" protocol. If you use a throwback-aware text editor (eg SrcEdit, Zap, StrongEd) this will mean that such errors appear in a text editor window rather than the old type of error window. Double-clicking on an error will then load the CNF file into the editor, and position the cursor at the beginning of the line containing the error.

NB Some dolls (especially those originating from Apple Mac/PowerMac machines) use a non-standard end-of-line sequence. Although MakeKISS does it's best to get the line numbers correct, various text editors disagree about how the line numbering should work, and the cursor can end up in the wrong place. If this happens, try editing the CNF file to replace LF/CR sequences by CR only, and then reload the doll. With a bit of luck, the line numbering will then be right.

This configuration item will take affect as soon as the next doll is loaded.

[ Top ] Top
[ Index ] Back to index


Drag re-orders cels

One of the views on the "Cels & groups" window shows a list of cels in the present doll (shown in display order). If this option is enabled, dragging a cel (in the cel view) will alter the cel ordering, in a similar manner to, but often more convenient than, the Order bump arrows on the main control panel.

[ Top ] Top
[ Index ] Back to index


Live drag

If the "Drag re-orders cels" option is enabled, redrawing of the window is usually only performed once the drag is completed. If this option is enabled, however, the window is refreshed "on-the-fly".

[ Top ] Top
[ Index ] Back to index


Advanced group

This group of preferences is used to fine-tune MakeKISS for the processor and memory available.

[ Top ] Top
[ Index ] Back to index


Optimise Cherry KISS for...

Cherry KISS true colour sets can be very memory intensive. On low-memory machines without Virtualise, they can be too big to load using 32 bits per pixel (bpp). MakeKISS can be configured to use 17 bpp (5 bits each of red, green and blue plus 2 transparency bits) rather than 32 bpp, which approximately halves the memory requirements; however, this is at the expense of a significant impact on speed.

As optimising for memory reduces the number of transparency bits from 8 to 2, it will also degrade the quite subtle shading effects that are used by some dolls.

[ Top ] Top
[ Index ] Back to index


Max cel RAM

By default, MakeKISS allows the dynamic area used for cels a 16MB logical memory space (although no more memory is actually used than is necessary). This may not be adequate for some Cherry KISS dolls, so this control is allows the memory space to be expanded.

[ Top ] Top
[ Index ] Back to index


FKISS timer latency

This preference can somewhat reduce the processor burden of dolls that use a lot of complex FKISS, especially timers. The higher the setting, the less the processor burden of the doll. As high values also reduce the responsiveness of the doll to user interaction, it should be set as low as possible. In practice, a StrongARM or XScale is normally perfectly happy with a latency of 1.

[ Top ] Top
[ Index ] Back to index


Image redraw latency

Irrespective of how much updating is going on internally, the visible image is only updated at regular intervals; this preference defines how frequently the image is updated. Roughly speaking, the image is updated 100/latency times per second, so the lower the latency the more responsive the doll will be. In practice, few dolls impose such demands that an update latency of higher than 1 is required on a StrongARM-powered machine, unless there are other processor-intensive tasks going on at the same time.

[ Top ] Top
[ Index ] Back to index


Debugger display group

This group of preferences deals with how the FKISS debugger is displayed - fonts, colours, etc.

[ Top ] Top
[ Index ] Back to index


Foreground

This item is used to set the normal text foreground colour for the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Background

This item is used to set the background colour for the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Highlight

This item is used to set the foreground colour for highlighted text in the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Comment

This item is used to set the foreground colour for comments in the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Font face

This item is used to set the font face used in the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Font size

This item is used to set the font size used in the various debugger windows

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Object comments

This item controls whether item-level comments (defined by the main control panel) appear in the various debugger windows where object numbers are referenced. Of course, if a particular object does not have a comment associated with it, nothing will appear.

This configuration item will take affect immediately.

[ Top ] Top
[ Index ] Back to index


Restore, Cancel, Set & Save

In addition to the controls above, the non-scrolling part of the window contains a set of four buttons, which control the handling of any changes to the preferences:

[ Top ] Top
[ Index ] Back to index


Advanced Configuration

In addition to the main preferences window, there are a number of other items that can be modified to suit your purposes; these are edited by finding the MakeKISS "Choices" directory, and manually editing the files therein.

The MakeKISS Choices directory is created by MakeKISS when it is first run, and it is created inside <Choices$Write> or <Choices$Dir>. This is normally located in !Boot.Choices. Open !Boot by double-clicking on it with the shift key held down, then Choicews, and then open the KISS directory.

Inside <Choices$Dir>.KISS, you will find some or all of the following files:

[ Top ] Main Preferences
[ Index ] Back to index