ROCKFORD REMAKE PROJECT


(c) Aleksi Sahala 2006 (updated 4.11.2009)


1. THE ORIGINAL GAME

Rockford was a Boulder Dash clone published by Mastertronic ltd. in 1987. The game included
20 levels divided into five difficulty levels each using it's own graphical theme: hunter, 
cook, cowboy, space and doctor.

In addition to five themes, which didn't exist in Boulder Dash, Rockford also included some 
interesting new features as worms, taps and magic lamps, quicksand and time/gold bonus counters. 
Rockford also had a limited number of lifes. 

   Worms: Evil worms transmute gold into rocks, and rocks into non-gold producing enemies. Good 
          worms do the opposite.

   Taps/magic lamps: Taps produce acid, magic lamps produce fire. These elements explode when 
              they touch each other; gold dropped on fire turns into a gold producing enemy.

   Quicksand: Quicksand let's rocks and gold drop through it in random intervals.
   
   Bonus counters: Counters give player random number of extra time or gold when collected.

Rockford's level design also differed a bit from original Boulder Dash. The levels were more action
based and arcadish, needing good reflexes and timing to complete (even more so, because Rockford 
runned at double speed compared to BD).

Rockford included also 20 additional levels which were unplayable. They were designed for a future
add-on which as long as I know, was never released. The levels were about to use five additional
graphic sets, Scuba, Miner, Player, Luck and Music. See section 3. for info how to extract these
levels.


      
                            Screenshots of the Space and Cook themes.


2. REMAKE

I released the first beta version of the remake in June 2008, and the version 1.0 in 2nd December 2008. 
Remake runs on Rocks'n'Diamonds engine version 3.2.6. The remake can be downloaded from here.


In version 1.0:

 - All five graphical themes have been created.  
 - All original 20 levels have been exported
 - All hidden 20 levels have been exported
 - All Rockford's special features (worms, taps, etc.) have been scripted and they work ok.


To do someday:

 - Fix worm's 180 degree turning (if such scripting is possible)
 - Fix fire and acid behaviour in horizontal movement.
 - Autoset game speed to fast (if such scripting is possible)
 - Set limited number of lives. Now player may try levels as many times as (s)he wants.
 - Merge graphic sets, so that each level set would automatically use correct gfx.
 - Change panel location to top.
 - Reconstruct the five never released graphic sets (I've extracted their palettes from the .EXE).
   
   Theme's background colors; name of the collectable items and my guess for the correct theme name.   
  
   * Theme 6: Background 01 (dark blue)       GEMS     == SCUBA.FIL
   * Theme 7: Background 02 (dark green)      CUPS     == PLAYER.FIL?
   * Theme 8: Background 08 (grey)            NOTES    == MUSIc.FIL  
   * Theme 9: Background 01 (dark blue)       CLUBS    == LUCK.FIL?
   * Theme 10: Background 00 (Black)          JEWELS   == MINER.FIL
   

     

              COMPARISON: Original Rockford on the left, Remake on the right.


2.1. HOW TO INSTALL AND PLAY THE REMAKE

 1. Install the newest version of the Rocks'n'Diamonds.
 2. Download rockford_v1.zip and extract it into your Rocks'n'Diamonds subdirectory /levels.
    For example D:/games/RnD/levels/Rockford_v1.
 3. Run Rocks'n'Diamonds. 
    Go to setup -> Custom artworks and select the Rockford theme and sounds.
    Remember to check override original graphics box.
 4. Load levels by clicking levelset and choosing Rockford v1.0.


3. GENERAL FILE INFO (ORIGINAL ROCKFORD)

 Rockford files and their functions:

  ROCKFORD.EXE                The game
  CELLMAPS.BIN                Levels
 
  TITLE.FIL                   Title graphics, including credits and info text.
  TITLEANI.FIL                Moving graphical parts of the Title screen.
  MENU.FIL                    Menu graphics.
  
  HUNTER.*                    Theme 1
  COOK.*                      Theme 2
  COWBOY.*                    Theme 3
  SPACE.*                     Theme 4
  BODY.*                      Theme 5	

  *.CAR                       Animations
  *.FIL                       Sprites, tiles, objects (but no palette)

 Missing files:
 
  These files referred in ROCKFORD.EXE are possibly some unfinished part of the game. 

  SCUBA.*                     Theme 6        
  LUCK.*                      Theme 7                          
  MUSIC.*                     Theme 8  
  PLAYER.*                    Theme 9 
  MINER.*                     Theme 10



3.1. ROCKFORD.EXE

  Palettes:

     The first value is the background color. Each palette is separated by 00.

     0929-0938         menu_palette 
     093A-0949         title_palette
     094A-0959         hunter_palette
     095b-096A         theme6_palette
     096C-097B         cook_palette
     097D-098C         theme7_palette
     098E-099D         cowboy_palette
     099F-09AE         theme8_palette
     09B0-09BF         space_palette
     09C1-09D0         theme9_palette
     09D2-09E1         body_palette
     09E3-09F2         theme10_palette
  
     0B98              Toggle dying on / off. 02 = on, 01 = off
                       (Can sometimes create buggy invisible blocks)

     0D1E -> 0D6D      Money to be collected, in order (theme number):
                       1, 6, 2, 7, 3, 8, 4, 9, 5, 10

                         28 00 28 00 50 00 96 00        Hunter
                         14 00 41 00 82 00 37 00        6 
                         00 00 00 00 00 00 2D 00        Cook
                         14 00 23 00 1E 00 21 00        7
                         1E 00 7D 00 16 00 37 00        Cowboy
                         32 00 1E 00 1E 00 00 00        8
                         00 00 00 00 00 00 3C 00        Space
                         0F 00 0B 00 1E 00 00 00        9
                         00 00 00 00 4B 00 12 00        Body
                         10 00 18 00 39 00 01 00        10

     0EFE -> 0F4D      Level times. In same order as above.         
    
                         6E 00 6E 00 82 00 6E 00        Hunter
                         50 00 8C 00 64 00 6E 00        6
                         6E 00 6E 00 5A 00 82 00        Cook
                         5A 00 64 00 6E 00 64 00        7
                         6E 00 73 00 78 00 73 00        Cowboy
                         82 00 5A 00 6E 00 6E 00        8
                         6E 00 6E 00 8C 00 6E 00        Space
                         82 00 82 00 8C 00 91 00        9
                         82 00 A0 00 AA 00 8C 00        Body
                         8C 00 8C 00 6E 00 B4 00        10

 

3.2. CELLMAPS.BIN                           


  Maps are in order (by theme number) 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, see my formatted file in cellmaps.html
  (order of levels changed). Hidden maps can be played by removing theme 1 from CELLMAPS.BIN. Then maps for theme 6 
  are loaded for hunter, 7 for cook etc. Level times and gold amounts must be changed in ROCKFORD.EXE
  to make the new levels possible to complete.			
   
   
    hex    ascii           tile
 
    00     .               empty space
    01     ☺               diggable dirt
    02     ☻               indestructible wall
    03     ♥               destructible wall
    04     ♦               magic wall
    08     ◘               growing wall
    0C     ♀               quicksand
    10     ►               amoeba
    20                     player start location
    28     (               boulder

                           "butterflies" (enemies producing gold when hit by a stone)    
    2C     ,               enemy - left                
    2E     .               enemy - up
    2f                     enemy - right
    30     0               enemy - down
                         
                           "fireflies" (enemies not producing gold when hit by a stone)
    34     4               enemy - up
    35     5               enemy - left
    36     6               enemy - down
    37     7               enemy - right

    38     8               fire tap
    70     p               evil worm
    74     t               exit   
    78     x               gold bonus 
    7C     |               time bonus
    84     ä               good worm               
    88     ê               gold
    C4     -               acid tap

    
   
  

3.3. *.FIL and *.CAR

  Yet, I haven't been able to crack the *.FIL and *.CAR files. Different hex values seem to
  indicate different pixel formations, where 00 is empty and ff is full colored. Tile shapes are
  clearly recognizable if the file is split into 80 byte long lines. 


4. PLAYING THE HIDDEN LEVELS IN ORIGINAL ROCKFORD
  
   First, you must to change the level times and gold amounts into correct values. Otherwise playing will be 
   impossible, as you may have to collect 80 gold in a level where only 20 gold is available; or you won't have enough
   time to complete the level.

   MAKE A BACK-UP OF YOUR ROCKFORD.EXE!
   
   a) Open ROCKFORD.EXE in a hex editor (I prefer HxD, as it's free and versatile)
   b) Copy hexes from 00000D26 - 00000D6D (These are the amounts of gold to be collected in themes 6, 2, 7, 3, 8, 4, 9, 5, 10)

      (14 00 41 00 82 00 37 00 32 00 23 00 19 00 2D 00
       14 00 23 00 1E 00 21 00 1E 00 7D 00 16 00 37 00
       32 00 1E 00 1E 00 28 00 1A 00 37 00 3C 00 3C 00
       0F 00 0B 00 1E 00 41 00 12 00 46 00 4B 00 12 00
       10 00 18 00 39 00 01 00)

   c) Replace-paste them on offset 00000D1E (do not insert-paste, or the file size will change and the exe will corrupt!)
   
   d) Copy hexes from 00000F06 to 00000F4D and replace-paste them on offset 00000EFE. This will correct the playing times for hidden levels.

       (50 00 8C 00 64 00 6E 00 6E 00 6E 00 5A 00 82 00 
        5A 00 64 00 6E 00 64 00 6E 00 73 00 78 00 73 00
        82 00 5A 00 6E 00 6E 00 6E 00 6E 00 8C 00 6E 00
        82 00 82 00 8C 00 91 00 82 00 A0 00 AA 00 8C 00
        8C 00 8C 00 6E 00 B4 00)

   e) Save the file.


   Next, you must remove the first four levels from the CELLMAPS.BIN

   MAKE A BACK-UP OF YOUR CELLMAPS.BIN!  

   The Difficult way (if you don't use HxD):

    a) Start dos command console and open CELLMAPS.BIN into Dos text editor. I prefer EDIT or QEDIT, as both have 100% ASCII support. 
    b) Split every line from the 41st character, so that each line has only 40 characters (Rockford levels have 40 x 22 tiles).
    c) Continue splitting until you see the first four levels of the game in ASCII format (see a formatted cellmaps.bin)
    d) Delete the first four levels. This will shift the hidden level set 6 into the place of the original set 1; 7 to 2; 8 to 3 and so on.
    e) Save the CELLMAPS.BIN
    f) If you did everything right, the file size of CELLMAPS.BIN should now be 31 682 bytes instead of the original 35 200 bytes.

  
   The easy way with HxD

    a) Open CELLMAPS.BIN in Hxd
    b) Set bytes per line to 40
    c) Set Endoding into ASCII (you should now regocnize the level borders easily)
    d) Remove first four levels (All data before the line 0000DC0).
    e) Save file

   Voilà!