Downloads containing README.txt

Downloads
Name Author Game Mode Rating
JJ1: JJ1MOD Doubble Dutch JJ1 Level N/A Download file

File preview

Non-standard bmp fills #2 sig must be set to fillbmp
Use sub for fullsc import?
check all sub filetypes are close then open fileq for import, e.g bonus.000
simplify loop locs with x to 4x step 4 such
Make sure all nonlen file errors are reported!
Make 'cannot find file' sub for nofile?, needs feed of filnam and for del


+==========================================================================
================+
|Jazz Jackrabbit Graphics Modifier BETA                                    
               |
+==========================================================================
================+

IMPORTANT NOTE: To run JJ1MOD on 64 bit systems you can run it through
DOSBox or the same setup
you use to run Jazz, since they're both DOS programs. If using DOSBox you
will have to enter
arguments to JJ1MOD via batch files (*.BAT) DOSBox execution will be
slower, but still functional.



CONTENTS:

-Features
-Files
-Introduction
 -Errors
-Filetypes
 -Blocks
 ->Sky builder
 -Bonus levels
 -Bonus sprites
 -Bonus tiles
 -FONT.000
 -Fonts
 -High scores
 -Levels
 ->Level images
 ->Level tile masks
 ->Level segments
 -Main menu
 -Movies
 -Music
 -PANEL.000
 -Planets
 -Sounds
 -Sprites


+-------------------------+
|Features                 |
+-------------------------+

( ) Not yet implemented
(*) Export only
(x) Limited import or export
(X) Import and export

(X) Bonus tiles (BONUS)
(X) Bonus sprites
(X) Fonts
(X) Level mapping
(X) Level tiles (BLOCKS)
(?) Level masks (Inject\extract)
(X) Menu
(x) Movies
(x) Music conversion (Import only)
(X) Planet images (PLANET)
(X) Sounds
(X) Sprites



+-------------------------+
|Files                  |
+-------------------------+

BMP2PNG.BAT:A batch file to run BMP2PNG.EXE that will convert all bitmaps
in a directory
into PNG files at highest possible compression. Use with BMP2PNG.EXE
BMP2PNG.EXEA utility that converts bitmaps to PNG files. Very nifty,
especially with
level maps
FONT.PALA custom palette for font extraction. (See below)
JJ1MOD.EXEJazz 1 Graphic Modifier program
README.TXTThis file



+==========================================================================
================+
|Introduction                                                              
               |
+==========================================================================
================+

This program allows you to modify Jazz Jackrabbit 1 graphics. It has a
simple command line or
drag-and-drop interface and works with 256 colour bitmaps.

In general, to extract/import a graphic, simply drag and drop the
appropriate file onto
JJMOD.EXE and the program will perform the required action. The files will
be created in
the same directory as the drag-dropped file.

JJ1MOD exports directories for graphics with more than 1 image, that is,
most of them. These
are created in the same directory as a drag-dropped file. You can import
these directories,
simply drag and drop the directory onto JJ1MOD. The name of the directory
will tell the
program what files in it are to be imported.

There are limits on JJMOD, specifically that no file involved can have a
name longer than the
DOS maximum of 12 characters in length, including extension, and JJMOD
itself cannot be kept
in a file path more than 256 characters long. (It will abort with an error
if this happens,
move it closer to you main drive, e.g the desktop.)

It is recommended you use PalSuite 3 with this program to edit or view your
bitmap's
palettes. This is a compact and useful program that is invaluable when
working with Jazz
graphics.

JJMOD identifies files by their name  for example, any file named BLOCKS.*
will be treated as
a level tileset. Folders are likewise recognized. Do not use custom names
for graphics!
(You can of course use variations on the standard names.)

IT IS RECCOMMENDED YOU ExPORT FIRST. This is so you create files of the
right type so that
you can see how things should be laid out. Common mistakes include using 24
bit (not 8 bit)
bitmaps, using images of the wrong size or wrong name. If you keep getting
the error 
'Unrecognized filetype' then you should export something, then try to
import.



+-------------------------+
|Errors                   |
+-------------------------+

INVALID PARAMETER: JJMOD is too deeply nested, put it in a simpler
directory, e.g C:\JJMOD

BAD FILE NAME: JJMOD tried to open a file with a name that was too long (13
chars or more) This
usually happens if the filename you entered was too long, but can
occasionally occur by accident
during normal running. Check your files to see if they have the right
names.

UNKNOWN FILETYPE: JJMOD doesn't recognize the file. JJMOD isn't psychic, it
identifies files
by their name or occasionally, size; you cannot just make something and
import. It is reccommended
you first export something, to see the correct filenames, for example
BLOCKS00.BMP is the correct
name for creating a block file.

Check that your files have the right name and format. If it is Jazz's files
that are not recognized,
then something is very wrong.

GARBLED RESULTS: It is possible to 'fool' JJMOD with certain files of the
wrong size or format. When
this happens, no error will be detected, but nonsense will result. For
example, JJMOD will sometimes
import a 24 bit bitmap, thinking is is 8 bit (8-bit) When this happens, all
the colors are off
and the image is garbled. If this happens, check your files are the right
type and not corrupted.

If nothing works, or you have an error not listed here, contact me at
Six_different_people at
hotmail.com. If possible, send the problematic files and a description of
the error.





+===============================+
|FILETYPES:              |
+===============================+

The following is an alphabetical list of every filetype that JJ1MOD can
work with, containing
important details of the filetype's export/import. With the exception of
music, JJ1MOD is designed
to be easy to use and hard to screw up.


+--------------------------------------------------------------------------
----------------+
|Blocks   |
+--------------------------------------------------------------------------
----------------+

FILES:BLOCKS.xxx
TYPE:Normal level blocks
EXPORTS TO:BLOCKSxx.BMP, BACK1-xx.BMP, BACK2-xx.BMP
CREATES DIRYes
LIMITS:BACK* files must be 8-bit bitmap
BLOCKSxx.BMP file must contain a multiple of 60 32x32 tiles
BLOCKS.BMP should contain no more than 240 tiles


The BACK* files are used for the sky. If a sky file cannot be found a
default 'blank' sky will
be used. The BLOCKSxx.BMP palette is very important, the following values
are preset:


Color    Use
0-15     Global white and grey
16-22    Global green
23-29    Global blue
30       Global grey
31       Background colour (When background used with event, usually black)
32-47    Global red
48-63    Global green 2
64-74    Customizable
75-79    Global yellow
80-87    Global purple
88-95    Global orange/brown
96-111   Customizable (Transparent to sun tile only)
112-115  Colour animation 1
116-123  Colour animation 2
124-126  Colour animation 3?
127      Tile transparency
128-191  Parallax animation
192-223  Colour animation 4
224-255  ???


+-----------------------+
|Sky builder|
+-----------------------+

JJMOD, when run with the command 'makepal' will allow you to quickly create
a level sky palette by
entering the start and finish colour values (RGB) and how many times you
want the pattern to
repeat per sky. It is a good shortcut for making a basic sky.




+--------------------------------------------------------------------------
----------------+
|Bonus Levels   |
+--------------------------------------------------------------------------
----------------+

FILES:BONUSMAP.xxx, 
TYPE:3D bonus levels
EXPORTS TO:BMAPxx.BMP
CREATES DIRNo
LIMITS:Requires bonus tile file to export
No import

If the first option is selected a bitmap of the level is exported using the
BLOCKS.xxx file that
matches the level. Bitmaps are large and take a long time (~30s) to export.
It is reccommended
that you compress them using BMP2PNG.EXE; just drag-and-drop the image onto
the executable or
run BMP2PNG.BAT to convert all images in a folder. Level images cannot be
imported.

Bonus levels can be exported as an image of the level in BMP format,
similar to how levels can
be exported. The level image is the largest output file produced by JJ1MOD
at 64Mb and it is
highly recommended you use BMP2PNG.EXE to conver this into a PNG image,or
run BMP2PNG.BAT to
convert all images in a folder.

A bonus tile file is required to export the image (There isno import
option.) Export can take
30s or more to complete as the bitmap is written.



+--------------------------------------------------------------------------
----------------+
|Bonus Sprites   |
+--------------------------------------------------------------------------
----------------+

FILES:BONUS.000
TYPE:3D bonus level sprites
EXPORTS TO:3DFNT-xx.BMP, 3DSPR-xx.BMP, 3DSPR-xx.TXT
CREATES DIRYes
LIMITS:Must be at least 51 sprite images
Requires a BONUSx.000, CDBONUSx.000 or *.pal file toexport
Bitmaps should share palette

These are the '3D' sprites used in bonus levels and should thus be
compatible with bonus
level palettes. The file will not function prperly if there are not enough
sprite images.
Empty or absent sprite entries will be given a placeholder text file,
3DSPR-xx.TXT

Color 0 is transparent when importing, though it doesn't necessarily have
to be. (I was lazy.)



+--------------------------------------------------------------------------
----------------+
|Bonus Tiles   |
+--------------------------------------------------------------------------
----------------+

FILES:BONUSx.000, BONUSY.000\CDBONUSx.000
TYPE:3D bonus level tiles
EXPORTS TO:SKY-BOx.BMP, TILE-BOx.BMP\SKY-CDx.BMP, TILE-CDx.BMP
CREATES DIRYes
LIMITS:SKY-BOx.BMP must be 832x32 8-bit bitmap
TILE-BOx.BMP must be 320x192 8-bit bitmap
Bitmaps should share palette


Bonus tilesets consist of 60 tiles and an 832x32 background image (Only 1/2
of which is used.)
These image sizes cannot be changed. The background image is wrapped around
the screen three times,
and stretched vertically. The palette is also complex, with the same one
being used for the tiles
and the background. When importing the background bitmap is used for the
palette.

Colour     Use
0          Black, for text background, top of screen, etc
0-15       Greyscale used for text (And sprites!)
16-31      Green for sprites
31-47      Red for sprites
48-63      Yellow for sprites
64-79      Blue for sprites
80-95      Brown for sprites
96-111     1st color animation
112-127    2nd color animation Jazz spins when he touches this color
128-143    Sky above background image, should fade in from black
144-191    Usually used for background sky
192-207    3rd color animation, this blocks Jazz
208-223    ???
224-239    4th color animation, this slows down Jazz (Goo)
240-255    5th color animation, this makes Jazz jump



+--------------------------------------------------------------------------
----------------+
|Fonts.000   |
+--------------------------------------------------------------------------
----------------+

FILES:FONTS.000
TYPE:In-level font
EXPORTS TO:LETRxxx.BMP
CREATES DIRYes
LIMITS:Images should share a palette
A BLOCKS.xxx or *.PAL file is needed to export

The in-level font is used for strings like 'GET READY' at the level start
and thuus should
be compatible with most level palettes.



+--------------------------------------------------------------------------
----------------+
|Fonts   |
+--------------------------------------------------------------------------
----------------+

FILES:*.0FN
TYPE:Jazz's fonts
EXPORTS TO:CHARxxx.BMP, LIST.TXT
CREATES DIRYes
LIMITS:Images should share a palette
A BLOCKS.xxx or *.PAL file is needed to export
No more than 120 characters (Including empty ones) in fonts

Fonts are used in cutscenes and menus and thus should be compatible with a
wide variety of
palettes. This is the most important issue. When exporting you will be
asked for either a
BLOCKS.xxx file or an *.pal file to get a palette from. .pal files are in
JAZZ'S format, not
that of most graphics programs. (They can be extracted from movies also.) A
default .pal file,
FONT.PAL is included. It should display most fonts as they usually appear.

You can have absent or 'blank' entries in a font with no bitmap. Be careful
about this.

Color 0 in all palettes is transparent.



+--------------------------------------------------------------------------
----------------+
|High scores   |
+--------------------------------------------------------------------------
----------------+

FILES:HISCORES
TYPE:Jazz's score table
EXPORTS TO:N/A
CREATES DIRNo
LIMITS:Score names no more than 7 chars long
Score names auto-capitalized
Score 999999 or less

Unlike other files, this will be edited directly. You can enter names and
scores for any episode
you wish. When you exit they will be saved to Jazz's scores.



+--------------------------------------------------------------------------
----------------+
|Levels   |
+--------------------------------------------------------------------------
----------------+

Level files can be exported in three ways:


LEVEL IMAGE:
FILES:LEVELx.yyy
TYPE:Jazz's levels
EXPORTS TO:LEVELyxx.BMP
CREATES DIRNo
LIMITS:Needs BLOCKS.xxx file to export
No import

If the first option is selected a bitmap of the level is exported using the
BLOCKS.xxx file that
matches the level. Bitmaps are large and take a long time (~30s) to export.
It is reccommended
that you compress them using BMP2PNG.EXE; just drag-and-drop the image onto
the executable or
run BMP2PNG.BAT to convert all images in a folder. Level images cannot be
imported.


LEVEL TILE MASK:
FILES:LEVELx.yyy
TYPE:Jazz's levels
EXPORTS TO:LMASKyxx.BMP
CREATES DIRNo
LIMITS:Export only
Importable bitmaps must be 320 pixels wide 8-bit

If the second option is selected (Or you import a level mask), a bitmap of
the level tile mask is
exported (Or imported.) This is a 24-bit bitmap, though it uses only two
colors, because a
normal tileset can also be imported, to auto-generate a mask.

The color 127 is considered 'transparent' when importing. (As it is in the
tileset.) This of
course means some non-blocking tiles will be masked as blocking, but on the
whole it is much
easier to edit a bitmap than the actual level mask. (At least to get
something rough.

Importable bitmaps must be 320 pixels wide and 8-bit.


LEVEL SEGMENTS
FILES:LEVELx.yyy
TYPE:Jazz's levels
EXPORTS TO:SEGxyy z.BIN
CREATES DIRYes
LIMITS:

If the third option is selected then raw level data will be exported as 17
uncompressed level
blocks, A-Q. These blocks can be altered or swapped between levels then the
level rebuilt as
a quick way of doing things with Jazz levels. (Such as copying the enemy
behaviors between
levels.) This is not the most useful feature, but may help sometimes.




+--------------------------------------------------------------------------
----------------+
|Menu   |
+--------------------------------------------------------------------------
----------------+

FILES:MENU.000
TYPE:Jazz's menu
EXPORTS TO:DIFF.BMP EPxx.BMP, SCRx.BMP, XMSSCRx.BMP
CREATES DIRYes
LIMITS:DIFF.BMP, SCRx.BMP and XMSSCR.BMP must be 320x200 8-bit bitmaps
SCRx.BMP images should share a palette
XMSSCRx.BMP images should share a palette
EPx.BMP must be 134x110 8-bit bitmaps
EPx.BMP images should share a palette


This is the main menu file. There are several types depending on what
version of Jazz you are
working with, Shareware and CD/Holiday Hare 94/95. Each has a differing
number of images in
them.

There are three image types, normal selection screens (Coming in standard
and christmas colors),
the first being the screen, the second highlighted menu text; the
difficulty selection screen
and episode selection screens. If there is no christmas screens present
JJ1MOD will assume you
want to imprt a shareware menu.

The following palette limitations apply to the normal selection screens
(Christmas AND standard)

Colour     Use
0          Transparent
0-15       Background pattern
16-239     Image colors
240-247    Font (text) when not selected (Grey-white)
248-255    Selected font (Red-light red)


The following palette limitations apply to the difficult selection screen:

Colour     Use
0          Transparent
0-15       Not used, replaced by main menu values and used for background
pattern
16-79      Greyscale, apparently intended for episode-like animation but
not used. Can be used
           in difficulty images with no problems
80-239     Normal colors
240-255    Replaced by main menu and used for font (text) color, white and
red


The following palette limitations apply to the episode selection screens:

Colour     Use
0-15       Not used, replaced by main menu and used for background pattern
16-79      Greyscale for image switching
80-239     Normal colors
240-255    Replaced by main menu and used for font (text) color, white and
red



+--------------------------------------------------------------------------
----------------+
|Movies   |
+--------------------------------------------------------------------------
----------------+

FILES:*.0SC
TYPE:Cutscenes/movies
EXPORTS TO:ANIMxx-yy.BMP, PAGExxx.BIN, PALxxx.BIN, SCRNxxx.BMP
CREATES DIRYes
LIMITS:Incomplete export, VERY incomplete import


Movie files will be exported as a number of images and files. At present
these can be divided into
four different types, movie pages (PAGExxx.BIN) that contain movie
information (Music, font, etc);
palettes (PALxxx.BIN), still screens (SCRNxxx.BMP) and animated screen
starts (ANIMxx-yy.BMP)

The format of all of these is of no concern as at present both export and
import of movies is
limited. Any 320x200 image JJ1MOD doesn't recognize will be imported to a
simple 'CHEAT.0SC'
type movie. (A single displayed screen that changes when the user presses a
key.) Later versions
of JJ1MOD will probably have more advanced movie import\export options, but
the current functionality
should suffice for simple uses.



+--------------------------------------------------------------------------
----------------+
|Music   |
+--------------------------------------------------------------------------
----------------+

FILES:*.S3M
TYPE:Convertable module music
EXPORTS TO:N\A
CREATES DIRNo
LIMITS:Very hard to get a decent sounding PSM file


Music is even more complicated than sprites and requires special attention.

Firstly, JJMOD is not for simple conversion of music to Jazz format. This
is because Jazz is very 
limited, and simply converting a music file is likely to result in an
erroneous or distorted music
file. It is thus recommended you start from scratch.

Files of type *.S3M will be converted to *.PSM. It is almost impossible to
crash the conversion, but
much easier to crash Jazz. Therefore, successful conversion doesn't mean a
good file. Limits are:

* Limited key range (C1 to A8 only)
* Limited commands [4th channel seg] (A,C,D,E,F only)
* Limited complexity and size (Usually above 400KB is a problem)


Buggy files may cause Jazz to not play sounds or, more commonly, to crash
with the runtime error 216.
This means an invalid command has been passed to Jazz, usually by JJMOD
converting an unsupported S3M
feature to PSM. There are literally dozens of possible causes, and though
JJMOD is programmed to
avoid the more common ones, it cannot catch them all. Look in your S3M file
patterns, if Modplug
colours it black, it should probably be removed. 

It is recommended you use modplug tracker to edit your s3m files as JJMOD
was designed to be
compatible with files produced by it. Note that modplug can only properly
play PSM files with
four channels, other channel numbers will cause lagging, skipping or
mistiming. Errors in PSM files
are ignored and not displayed by Modplug. (Sometimes they're not even
noticed!)



+--------------------------------------------------------------------------
----------------+
|Panel.000   |
+--------------------------------------------------------------------------
----------------+

FILES:PANEL.000
TYPE:In-level status panel
EXPORTS TO:PANEL.BMP, AMMO x.BMP
CREATES DIRYes
LIMITS:Images should share palette
PANEL.BMP must be 320x55 8-bit bitmap
AMMO x.BMP must be 64x31 8-bit bitmap
BLOCKS.xxx or *.pal file required for export

This si the in-level status panel and thus must be compatible with all
in-level paletes. The
panel image contains both the panel and the font it uses.



+--------------------------------------------------------------------------
----------------+
|Planets   |
+--------------------------------------------------------------------------
----------------+

FILES:PLANET.xxx
TYPE:Now Approaching planet image
EXPORTS TO:PLANETxx.BMP
CREATES DIRNo
LIMITS:PLANETxx.BMP must be 64x55 8-bit bitmap


When importing you will be asked for a name for your planet. Planet names
will be auto-
capitalized and cannot be longer than 10 characters. If no name is given
then the planet will
be named 'PLANET' The following palette values are preset:

Colour     Use
0         Black background. Should be... black
1         Erase star trails colour, should also be black
2-127     Customizable
128-143   'Now approaching' text, usually greyscale
144-223   Customizable
234-255   Moving stars palette, usually single colour scale



+--------------------------------------------------------------------------
----------------+
|Sounds   |
+--------------------------------------------------------------------------
----------------+

FILES:SOUNDS.xxx
TYPE:Game sounds
EXPORTS TO:SNDLIST.TXT, SOUNDxx.WAV
CREATES DIRYes
LIMITS:Usually needs SOUNDS.000 to export

Jazz has a sound file for each episode. Most of these files 'borrow' from
the ep1 soundfile,
SOUNDS.000, which is why the game's sounds are all similar. Thus when
exporting the later
episode's sound files you will see very few exported waves and mostly just
references in
SNDLIST.TXT to SOUNDS.000.

Jazz's sounds are 90kbs mono, but are exported by JJ1MOD as 705kbs stereo.
This means that any
imported wave file will lose a lot of quality, though the way the game
plays them will recoup
some of this. Thus you cannot expect imported sounds to sound like the
originals.



+--------------------------------------------------------------------------
----------------+
|Sprites   |
+--------------------------------------------------------------------------
----------------+

FILES:SPRITES.xxx\MAINCHAR.000
TYPE:Normal level sprites\Jazz sprites
EXPORTS TO:SLISTxxx.TXT, SPxx-yyy.BMP\MC00-yyy.BMP
CREATES DIRYes
LIMITS:Needs a blocks file for palette
Sprite images need to share palette or results may be garbled
Sprite image widths must divide by 4
Images must not contain color 255

There are two kinds of sprite file, SPRITES and MAINCHAR. The first,
'normal' files are for each
planet's sprites, (Enemies and such) the second stores Jazz and basic
aniamtions to be used in
every level. The two files combine when a level is loaded into one 'sprite
array'

A sprite array will have between 236 and 254 sprites, starting from sprite
0. Since two files are
being combined, any SPRITES file will have a number of 'gaps' in it, to fit
in Jazz's animations
(The MAINCHAR file has gaps to fit in enemy animations.) If a gap is filled
then the SPRITES
entry will overwrite the MAINCHAR entry. (Good for altering Jazz's
appearance on just one planet.)

When exporting it is expected that a BLOCKS.xxx file matching the
SPRITES.xxx file can be found.
If not, you will be propmpted for one to supply the palette.

Each SPRITES file (But not MAINCHAR) comes with a SLIST file, containing
the h and v offsets of
all the sprites in a level. These offsets 'line up' sprites of different
widths or heights when
they animate, to make things look smoother. Experiment with this.

Palette color 254 is the transparent color. Colors that animate in the
tileset will animate
on sprites.