Icons

AGA-Fixing | Artwork | Cracking | Demos | Emulation | FAQ | Feedback | Games | HD-Installing
History | Home | Icons | Join Us | Links | Memberlist | MFM-Installing | News | Patches | Rob Northen | Utilities

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:

  1. 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

  2. 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

  3. 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 :)

  4. 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.

  5. 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 :)

Glow Icon Edit

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

Glow Icon Information

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

Saving the NewIcon

Obsession New icon drawn by Frank! Notice the 2nd picture is under the first with a one pixel gap between them in the transparent colour.

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.

New Icon Save

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

New Icon Options

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

Saving the RomIcon

Rom Icon drawn by Codetapper!

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.

Rom Icon Options

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!


AGA-Fixing | Artwork | Cracking | Demos | Emulation | FAQ | Feedback | Games | HD-Installing
History | Home | Icons | Join Us | Links | Memberlist | MFM-Installing | News | Patches | Rob Northen | Utilities
 

Site updated: 28/8/2005 ©1997-2005 Codetapper/Action! All rights reserved.