|
|
How to create Icons
I've had a lot of requests for tutorials on creating icons lately so I'll
show you how I generally make them. You should try and get some/all of the
following tools:
- PPaint 7 - Awesome paint program
- Image FX
- HRTMon - Action Replay like debugger
- WHDLoad - HD Installation utility
- PictIcon - Image to icon converter
If you're not a pixel wizard, you will want to rip a few pictures from the
game/demo you are installing. There are a number of ways to rip pictures:
Action Replay Cartridge - Load the game, and hit the button on your
cartridge. Hit P to go into the picture viewer. Hopefully on your screen is
the picture you want. If so, just hit F10 to exit and save it.
Often the picture is designed for NTSC screens (200 pixels) and the picture
will show 256 (if you are a PAL user), with the bottom 56 lines corrupt. In
these cases, hit Help to display the bitplane pointers. You may need to hit
Del a few times to display it in a colour which doesn't clash with the picture
itself. Now use the A/S keys on the keyboard to reduce the height to 200 pixels
(or whatever the picture is). Check the correct number of bitplanes have been
displayed by pressing +/- until you get the perfect picture. Then hit F10 to
exit back to the main Action Replay cartridge menu.
You can pass a picture number argument to the P command, so try P 1, P 2,
P 3 etc.
To save the current picture, simply type in:
sp dh0:Beast3.iff
HRTMon - Basically the same as the Action Replay cartridge
method, but you either hit your NMI (non maskable interrupt) button or enter
via the debug key (for WHDLoad installs it is usually the \ key).
Try hitting P to enter the picture viewer, but more often than not the
picture onscreen is simply blank. Have a quick play with the +/- keys in case
it's only displaying one bitplane instead of 4-6.
The next thing to try is to type the command COP to find a copperlist, then
hit P. Again play around with the +/- and A/S keys.
To save the current picture, simply type in:
sp dh0:Beast3.iff
File/Disk Ripper - Lots of games store the files on normal dos
disks, or store files in a disk image so you can have a scan through the disk
for IFF files. Usually the files are crunched, so try a utility such as WRip
or XFDDecrunch (and often a combination of the 2 will work best). In this
example, we will attempt to rip all pictures from the file Disk.1:
WRip Disk.1
If you are lucky, WRip will extract a whole load of files from the file.
Try running XFDDecrunch on the files to unpack them. You will often find IFF
files which you can use immediately (eg. Batman Returns, F-15 Strike Eagle 2,
Ice Runner). Sometimes you will find raw files, which can't be easily turned
back into IFF's unless you have a utility like IFFMaster and know what you are
doing. Often the palette will not be included in the file but hardcoded in the
game as a copperlist. Good luck :)
PC Emulator - Some games which use copperlists for the background
(First Samurai, Jungle Strike, Shadow of the Beast, Turrican 2) will never rip
a perfect picture of the game as the Amiga hardware may display thousands of
colours using only a 16 colour palette. In these cases, the best way to rip a
picture is to load WinUAE and load the game. Then just screengrab the picture
using the built in screen grab key or Alt-PrintScreen to copy it to the PC
clipboard.
WHDLoad - If the game you are creating an icon has been installed
using WHDLoad (and the author took care to make it snoop-able) and you own an
MMU (memory management unit) you can start the game with the following
tooltypes:
COREDUMP
MMU
SNOOPOCS
If you are running the game from the icon, add these as 3 separate tooltypes
by clicking on the icon, choosing Information from the Icon menu. If you are
running the game from the CLI, simply add all 3 on one line.
Play the game until you get a nice screenshot and exit it using the built in
quit key. Use the command SP (save picture) to save the current image with the
filename you supplied:
sp Hunter.iff
99% of the time you will have an IFF of the game which you can edit! Thank
Bert for this awesome feature!
Some games (eg. Alien Breed 3D, Powerdrive) use 2 parts of an image in memory
to make up the screen and in the copperlist which draws the screen, you will
see a WAIT instruction (which waits for a particular X/Y co-ordinate) and then
it will alter the bitplane pointers. You can use the argument CS (copper stop)
to indicate when to stop interpreting the copperlist so you can save the picture
in 2 chunks. Usually the other part of the picture is a status panel or display.
Other times the game programmer will try and fool rippers by setting up a fake
copperlist, setting all the colours to black or changing the screenmode to a 2 colour
one with unusual dimensions etc. These are generally easy to defeat with a little
knowledge of how screens are made up.
For example, let's rip the title picture from Allan Border's Cricket. Set the
tooltypes mentioned above and run the game. Wait until the picture is onscreen and
hit the quit key. Change to the directory containing the dump file and attempt to
save the picture:
sp AllanBorder.iff
SP 1.1 (08.08.2000) by Wepl
loading file .whdl_dump
BaseMemSize=$100000
cop1lc=$1000 cop2lc=$1000
*** copperlist 1 ***
$001000 CMOVE #$1c80,$1e30 ;serdat
width=320 height=200 depth=5
save file AllanBorder.iff
If you now view the picture you will see that it is total garbage. However the picture
doesn't use the copperlist, so we can tell it to quit before it interprets the serial
data instruction at $1000. Try this instead:
sp AllanBorder.iff CS=$1000
SP 1.1 (08.08.2000) by Wepl
loading file .whdl_dump
BaseMemSize=$100000
cop1lc=$1000 cop2lc=$1000
*** copperlist 1 ***
*** copstop ***
$001000 CMOVE #$1c80,$1e30 ;serdat
width=320 height=200 depth=5
save file AllanBorder.iff
This time when you view the picture it should be visible in all it's glory!
Now let's rip a picture from the game for the second image in the icon. Play
the game and hit the quit key when the picture you want is visible. Save the
picture:
sp Game.iff
SP 1.1 (08.08.2000) by Wepl
loading file .whdl_dump
BaseMemSize=$100000
cop1lc=$48F76 cop2lc=$48F72
*** copperlist 1 ***
$048F76 CWAIT 0,95
$048F7A CLMOVE #$00000000,$0180 ;color00
$048F82 CLMOVE #$00000000,$0184 ;color02
$048F8A CLMOVE #$00000000,$0188 ;color04
$048F92 CLMOVE #$00000000,$018C ;color06
$048F9A CLMOVE #$00000000,$0190 ;color08
$048FA2 CLMOVE #$00000000,$0194 ;color10
$048FAA CLMOVE #$00000000,$0198 ;color12
$048FB2 CLMOVE #$00000000,$019C ;color14
$048FBA CMOVE #$0000,$01A0 ;color16
$048FBE CMOVE #$0000,$0000 ;bltddat
$048FC2 CLMOVE #$00000000,$01A2 ;color17
$048FCA CLMOVE #$00000000,$01A4 ;color18
$048FD2 CLMOVE #$00000000,$01A6 ;color19
$048FDA CLMOVE #$00000000,$01A8 ;color20
$048FE2 CLMOVE #$00000000,$01AA ;color21
$048FEA CLMOVE #$00000000,$01AC ;color22
$048FF2 CLMOVE #$00000000,$01AE ;color23
$048FFA CLMOVE #$00000000,$01B0 ;color24
$049002 CLMOVE #$00000000,$01B2 ;color25
$04900A CLMOVE #$00000000,$01B4 ;color26
$049012 CLMOVE #$00000000,$01B6 ;color27
$04901A CLMOVE #$00000000,$01B8 ;color28
$049022 CLMOVE #$00000000,$01BA ;color29
$04902A CLMOVE #$00000000,$01BC ;color30
$049032 CEND
width=320 height=200 depth=4
save file Game.iff
Now when you view the picture, it appears to be totally blank. By looking
at the copperlist we can see the game is waiting for line 95 ($048F76 CWAIT 0,95)
and then moving $000 (black) into almost every one of the colour palette
registers. So the data is probably OK, just the palette has been destroyed. We
can bypass this by stopping interpretation of the copperlist prior to it erasing
the palette. Use the COPSTOP (CS) command and tell it to stop at $48f76:
sp Game.iff CS=$48f76
SP 1.1 (08.08.2000) by Wepl
loading file .whdl_dump
BaseMemSize=$100000
cop1lc=$48F76 cop2lc=$48F72
*** copperlist 1 ***
*** copstop ***
$048F76 CWAIT 0,95
$048F7A CLMOVE #$00000000,$0180 ;color00
$048F82 CLMOVE #$00000000,$0184 ;color02
...
$049022 CLMOVE #$00000000,$01BA ;color29
$04902A CLMOVE #$00000000,$01BC ;color30
$049032 CEND
width=320 height=200 depth=4
save file Game.iff
Now when you view the picture, it will look the same as the game except the ball
isn't displayed. This is because the ball is probably a sprite which will not appear in
the bitplane data. There is nothing you can do about this apart from ripping it on
an emulator or drawing the ball in yourself :)
Try and rip 2 pictures, usually they will be 320x200 or 320x256 pixels. In
all my installs I include 3 icons:
Rom icon - 16 colour fixed palette
and unlimited size. I keep these to a maximum of 120x96 pixels except under
exceptional circumstances.
New icon - Max 256 colours, variable palette, limited size to a
maximum of 93x93 pixels.
There also seems to be a filesize limitation that may explain random crashes
when saving NewIcons. It is possible to use 2 different 256 colour images to
make a newicon, but the resulting file must be under a certain size -
approximately 22-23k! To check for the sudden crash, it is better to save the
first image, then save the second. It will not prevent a crash but if your
computer does crash you will know why!
Glow icon - Max 256 colours, variable palette, limited size to a
maximum of 256x256 pixels. I keep these to a maximum of 120x96 pixels
except under exceptional circumstances.
I use ImageFX 4 to rescale the ripped images so they don't lose clarity.
Load the picture into ImageFX, convert it to RGB (24 bit). Now resize it to
120x96 and save it, then repeat the operation saving as 93x93 pixels (for the
New icon).
Now load PPaint 7, and load the pictures in. Make colour 0 (the background)
a weird colour which isn't used in the resized images. Usually a bright green
or purple is perfect. This is because you need a background colour for NewIcons
and GlowIcons, and often black is used in the picture. If you simply saved it,
you would find the picture has grey showing through where black is supposed to
be when viewed on the Workbench (as that is the default background colour).
Saving the GlowIcon
I cut out the 2 images, and load it into IconEdit under AmigaOS 3.5+. Set
the tooltype to Project, load the first image into the first picture and the
alternative image into the bottom picture. Check it looks cool :)

Save the icon, and then click on it and select "Information..."
from the Icons menu (or press Amiga-I):

Set the relevant tooltypes, and save the icon. You are finished with the
glowicon! :)
Saving the NewIcon

Load both NewIcon brushes into PPaint, and paste the 2nd image directly
under the first with a one pixel gap between them. Make the line between
them in the transparent colour (in this example, it is colour 0 which is
white).
PPaint sometimes crashes for me when saving 256 colour NewIcons, so I
generally convert the picture to 128 or 64 colours if it doesn't lose too
much quality. Simply select "Less Colors" from the Colors menu
and see how it looks. Once it is OK, change the screen format to the same
number of colours and then you are ready to save the icon.
Select both images, and choose "Save" from the Brush menu.
To save the picture as a NewIcon, select Icon from the list of filetypes,
then click the "Options..." button.

Now tick "Both" and "NewIcon" and set the tooltype
to "Project". Now hit "Proceed".

Hit "Proceed" and save the icon. Set the relevant tooltypes (for
WHDLoad/JST installs) and the NewIcon is complete!
Saving the RomIcon

Switch to the second PPaint window (by pressing the J key) and change it
to 16 colours. From the "Color" menu select "Palette" and
"Load...". Select the RomIcons16.col
palette.
Now load the icon of your choice in (I usually load the GlowIcon
images) and recolour them. To do this, choose the "Brush" menu,
"Color" and "Remap". The icon will not look as good as
the original, but it is drawn in only 16 colours and fast for everyone!
Note that if you try and recolour things in PC programs, they generally
hash up the colours completely and you are left with a mess. Stick to PPaint
on the Amiga!
Select both images, and choose "Save" from the Brush menu.
To save the picture as a RomIcon, select Icon from the list of filetypes,
then click the "Options..." button.

Now tick "Both" and make sure "NewIcon" is unticked.
Set the tooltype to "Project". Now hit Proceed and save the icon.
You may need to set the relevant tooltypes (for WHDLoad/JST) but the RomIcon
is now complete!
You can also create Rom Icons using the awesome utility PictIcon which is
available on Aminet.
Good luck and happy pixel painting!
PS: If you wish to create icons for games and demos, please contact me as
there are several game patchers who prefer to fix games than to draw icons for
them! Greetings to Frank for his quality icons and hints of late!
Codetapper/Action and Frank!
|
|