junglejourney

changeset 123:cb7d76bbbb82

Added an overlay image for the title screen.
author David Boddie <david@boddie.org.uk>
date Sat Sep 10 00:59:32 2011 +0200
parents 80e5405560ee
children 4d683f83665c
files build.py images/overlay.xpm images/title-screen.xpm tools/makesprites.py
diffstat 4 files changed, 118 insertions(+), 49 deletions(-) [+]
line diff
     1.1 --- a/build.py	Fri Sep 09 21:34:55 2011 +0200
     1.2 +++ b/build.py	Sat Sep 10 00:59:32 2011 +0200
     1.3 @@ -146,7 +146,10 @@
     1.4      files.append(("JUNGLE", code_start, code_start, code))
     1.5      
     1.6      data = makesprites.read_sprites([makesprites.title])
     1.7 -    data += makesprites.encode(makesprites.read_sprites([makesprites.completed]))
     1.8 +    completed = makesprites.encode(makesprites.read_sprite(makesprites.completed))
     1.9 +    overlay = makesprites.read_sprite(makesprites.overlay)
    1.10 +    combined = makesprites.combine(completed, overlay)
    1.11 +    data += combined
    1.12      files.append(("TITLE", 0x5A80, 0x5A80, data))
    1.13  
    1.14      data = makesprites.read_sprites(makesprites.tiles)
    1.15 @@ -164,7 +167,7 @@
    1.16      u.minor = 6
    1.17      
    1.18      # Insert a gap at the start of the tape.
    1.19 -    #u.chunks.append((0x112, "\x01\x00\x00\x00"))
    1.20 +    u.chunks.append((0x110, "\xdc\x05"))
    1.21      u.import_files(0, files)
    1.22      
    1.23      # Write the new UEF file.
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/images/overlay.xpm	Sat Sep 10 00:59:32 2011 +0200
     2.3 @@ -0,0 +1,53 @@
     2.4 +/* XPM */
     2.5 +static char * overlay_xpm[] = {
     2.6 +"160 48 2 1",
     2.7 +" 	c #000000",
     2.8 +".	c #FFFFFF",
     2.9 +"                                                                                                                                                                ",
    2.10 +"                                                                                                                                                                ",
    2.11 +"                                                                                                                                                                ",
    2.12 +"                                                                                                                                                                ",
    2.13 +"                                                                                                                                                                ",
    2.14 +"                                                                                                                                                                ",
    2.15 +"                                                                                                                                                                ",
    2.16 +"                                                ................................................................                                                ",
    2.17 +"                                               ..                                                              ..                                               ",
    2.18 +"                                              ..                                                                ..                                              ",
    2.19 +"                                              .   ........     .........  ...........  ........       .......    .                                              ",
    2.20 +"                                              .   .........    .........  ...........  .........     .........   .                                              ",
    2.21 +"                                              .   ...    ...   ...            ...      ...    ...   ...     ...  .                                              ",
    2.22 +"                                              .   ...     ..   ...            ...      ...     ..   ..       ..  .                                              ",
    2.23 +"                                              .   ...     ..   ...            ...      ...     ..   ..       ..  .                                              ",
    2.24 +"                                              .   ...     ..   ...            ...      ...     ..   ..       ..  .                                              ",
    2.25 +"                                              .   ...    ...   ........       ...      ...    ...   ..       ..  .                                              ",
    2.26 +"                                              .   .........    ........       ...      .........    ..       ..  .                                              ",
    2.27 +"                                              .   ........     ........       ...      ........     ..       ..  .                                              ",
    2.28 +"                                              .   .......      ...            ...      .......      ..       ..  .                                              ",
    2.29 +"                                              .   ... ....     ...            ...      ... ....     ..       ..  .                                              ",
    2.30 +"                                              .   ...  ....    ...            ...      ...  ....    ..       ..  .                                              ",
    2.31 +"                                              .   ...   ....   ...            ...      ...   ....   ...     ...  .                                              ",
    2.32 +"                                              .   ...    ....  .........      ...      ...    ....   .........   .                                              ",
    2.33 +"                                              .   ...     ...  .........      ...      ...     ...    .......    .                                              ",
    2.34 +"                                              ..                                                                ..                                              ",
    2.35 +"                                               ..                                                              ..                                               ",
    2.36 +"                                                ................................................................                                                ",
    2.37 +"                                                                                                                                                                ",
    2.38 +"                                                                                                                                                                ",
    2.39 +"                                               .....    .....   ......  ......  ..    ..    ...    ......   ......                                              ",
    2.40 +"                                              .......  .......  ......  ......  ..    ..   .....   .......  ......                                              ",
    2.41 +"                                              ..   ..  ..   ..  ..        ..    ..    ..  ... ...  ..  ...  ..                                                  ",
    2.42 +"                                              ..       ..   ..  ..        ..    ..    ..  ..   ..  ..   ..  ..                                                  ",
    2.43 +"                                              ..       ..   ..  ..        ..    ..    ..  ..   ..  ..   ..  ..                                                  ",
    2.44 +"                                              ......   ..   ..  .....     ..    ..    ..  ..   ..  ..  ...  .....                                               ",
    2.45 +"                                               ......  ..   ..  .....     ..    .. .. ..  .......  ......   .....                                               ",
    2.46 +"                                                   ..  ..   ..  ..        ..    .. .. ..  .......  ....     ..                                                  ",
    2.47 +"                                                   ..  ..   ..  ..        ..    .. .. ..  ..   ..  .....    ..                                                  ",
    2.48 +"                                              ..   ..  ..   ..  ..        ..    ........  ..   ..  .. ...   ..                                                  ",
    2.49 +"                                              .......  .......  ..        ..    ........  ..   ..  ..  ...  ......                                              ",
    2.50 +"                                               .....    .....   ..        ..    ...  ...  ..   ..  ..   ..  ......                                              ",
    2.51 +"                                                                                                                                                                ",
    2.52 +"                                                                                                                                                                ",
    2.53 +"                                                                                                                                                                ",
    2.54 +"                                                                                                                                                                ",
    2.55 +"                                                                                                                                                                ",
    2.56 +"                                                                                                                                                                "};
     3.1 --- a/images/title-screen.xpm	Fri Sep 09 21:34:55 2011 +0200
     3.2 +++ b/images/title-screen.xpm	Sat Sep 10 00:59:32 2011 +0200
     3.3 @@ -1,55 +1,56 @@
     3.4  /* XPM */
     3.5  static char * title_screen_xpm[] = {
     3.6 -"160 48 4 1",
     3.7 +"160 48 5 1",
     3.8  " 	c None",
     3.9  ".	c #000000",
    3.10  "+	c #008000",
    3.11  "@	c #FFFF00",
    3.12 +"#	c #FF0000",
    3.13  "..........................+..@..@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@..@..............................",
    3.14  ".........................+..@..@.@@@.@+@@@@+@@@@+@@@+@@@+@@@@+@@@@+@@@@@@+@@@+@@@@+@@@@@@+@@@+@@@@+@@@@@@+@@@@+@@@+@@@@+@@@@@@.@................................",
    3.15  ".........................+...@...+.+@@@@+@@@@+@@@@+@@@+@@@+@@@@+@@@@+@+@@@@+@@@+@@@@+@+@@@@+@@@+@@@@+@+@@@@+@@@@+@@@+@@@@+@.@++...+.............................",
    3.16 -"..........................+....@+.@.@.@@@@+@+@@+@+@+@+@+@+@@+@+@@+@+@+@@+@+@+@+@@+@+@+@@+@+@+@+@@+@+@+@@+@+@@+@+@+@+@@+@+@.++..+................................",
    3.17 -"..........................+.++.....++@@.@+@+@++@+@+@+@+@+@++@+@++@+@+@++@+@+@+@++@+@+@++@+@+@+@++@+@+@++@+@++@+@+@+@++@+@+++.+..................................",
    3.18 -".........................++++++..@....+@+++++.++++@+++@+++.++++@++++.+@++++@+++.++++@+.++++@+++.++++.+@++++.++++@+++.++++.......................................",
    3.19 -"........................+..+++++...+.+.+++.++++.+++.+++.++++.++++.++++++.+++.++++.++++++.+++.++++.++++++.++++.+++.++++.+++......................................",
    3.20 -".......................+...+++++++....++...................+++...........+.++.....+.+.+......+.+.....+.+++.++...................................................",
    3.21 -"......................+.....+++++++..+.++.++++++++++...+++.+.++.+++..+++..++.+.++..+.+..++++..+.+.++..++.++.+.++++++++..+..+....................................",
    3.22 -"......................+.....+++++++....+..+++++++++++..+++..++..+++..++++.+.++.+++.++..++++++..++.+++..+++++..+++++++....+...+..................................",
    3.23 -".....................++.......++++++..+.+..++++++++++..+++..+.+.+++..++++..++..+++....++++++++....+++.+.++.+..++......+.++......................................",
    3.24 -"....................+.+.........++++...+++....+++......+++.+.+..+++..+++++..+..+++.+.++++...+++...+++..++.+.+.++.+.+++.....+....................................",
    3.25 -"....................+.+.++.......++++...++.+..+++.+.+..+++..++..+++..++++++....+++...+++..+..++.+.+++..+++++..++..+.+.+.+...+...................................",
    3.26 -"...................+...+++++......+++..++.+...+++..+.+.+++..+.+.+++..+++.++..+.+++..++++..........+++.+.+.+.+.++.....+.+.+......................................",
    3.27 -"..................+....++++++......++..+.+++..+++..++..+++.+.+..+++..+++.+++...+++..+++..+..+..+..+++..+.+++..++++++.+......+...................................",
    3.28 -"..................+....++++++.......+..+++.+..+++.+.+..+++..+@+.+++..+++..+++..+++..+++.+.+.......+++..++..+..+++++...+.+.......................................",
    3.29 -"...................+....++++++........+.+++...+++..++..+++.+.+..+++..+++...++..+++..+++..+..++++..+++...+.+.+.++....++...+.+....................................",
    3.30 -"...................+...................++.++..+++..+.+.+++..+...+++..+++.+.+++.+++..++++..+.++++..+++.++.+++..++.+.+..++........................................",
    3.31 -"..................+++................++.......+++..++..++++..+.++++..+++....++++++...+++......++..+++...+.+.+.++.++.+.+.+.+.....................................",
    3.32 -"..................+++.....@...........++.++...+++.+.++..+++....+++...+++..+..+++++.+.++++....+++..+++..+.+.+..++..++.+.+...+....................................",
    3.33 -"..................++....@@@@@........+.+..++.++++..++.+.++++..++++.+.+++...+.+++++....+++++.+++...+++.........++.........+......................................",
    3.34 -"...................+.....@@@.........++++.++++++....++...++++++++....+++..+...++++..+..+++++++..+.++++++++++..+++++++++....+....................................",
    3.35 -"........................@@@@@........++.+...+++....++.++...++++....+.+++.+@++..+++.+....+++++..+..+++++++++...++++++++..........................................",
    3.36 -".........................@+@..........++..+.....+.+..+.+.+......+.+.......+..+.......+.........++...........+.............+.....................................",
    3.37 -"..........................++........+.......................+..........+...............+.....++.++.................+.++.+....+..................................",
    3.38 -"...........................+.......+...++++++++++..+...++++...+.+++.+....+++.+++++++.....+++...++..++..++++++++..+..++.+..+.+...................................",
    3.39 -"...........................+.........+.+++++++++++...++++++++...+++...+..+++.+++++++++...++++.++.+.+++.+++++++..++.+.++..++.....................................",
    3.40 -"...........................++...........++++++++++..++++..++++..+++..+.+.+++.+++...++++..++++...+..+++.++.......++..+.+..++.....................................",
    3.41 -"............................+....+.+..+....+++......+++....+++..+++..++..+++.+++.+...++..+++++..+..+++.++.+..++.+++..+..++..+...................................",
    3.42 -"............................+.++++..+..+.+.+++.+.+.++++.+..++++.+++.+.+..+++.+++...+.++..++++++....+++.++..+.+...+++...+++......................................",
    3.43 -"....................++.+....++..+++...+.++.+++.....+++...+..+++.+++..+.+.+++.+++.+...++..+++.++..+.+++.++......+..+++.+++..+....................................",
    3.44 -".....................++++...+...+...+..++..+++..+..+++..+...+++.+++..+@+.+++.+++...++++..+++.+++...+++.++++++..+...+++++...+.+..................................",
    3.45 -"......................+..+.++...........++.+++.++..+++.+.++.+++.+++.+.+..+++.+++++++++...+++..+++..+++.+++++..+..+..+++..++.....................................",
    3.46 -"..........................++.......+..+.+..+++...+.+++..++..+++.+++..+...+++.+++++++...+.+++...++..+++.++......+.+..+++.+.++...+................................",
    3.47 -"..................+.......+.........+..++..+++.++..+++..+...+++.+++...+..+++.+++...++....+++.+.+++.+++.++.+..+.++.+.+++..++.+.+.................................",
    3.48 -".....................+....+.......+......+.+++..+..++++..+.++++.++++....++++.+++.+.+++.+.+++....++++++.++..++.+.+...+++.++......................................",
    3.49 -".................++.......+...........++...+++...+..+++....+++...+++....+++..+++....++...+++..+..+++++.++..+..+..+..+++..+++.+..................................",
    3.50 -"...................+..+..++.........+..++.++++.+.+..++++..++++.+.++++..++++..+++..+..++..+++.+...+++++.++.........+.+++...+.....................................",
    3.51 -"..................+.+..+.+........+....++++++...+.+..++++++++.....++++++++...+++.+...+++.+++...+..++++.+++++++++....+++.+.....+.................................",
    3.52 -"....................+..+....+........+...+++..+..++....++++...+.+...++++...+..++...+..++.+++.++.+..+++.++++++++..+..++...+.+....................................",
    3.53 -"....................+..+..+..+......+..+........+...+.......+..+.++.......++.....++............+.+...............+.....+....+...................................",
    3.54 -"................+...+...+.+..+..........+....+....+....+..+..++..+..+.+..+..+.+..+..+..+.+..+..+...+.+..+..++..+..+.+.+..++.....................................",
    3.55 -".................+...+..+.+...+.................................................................................................................................",
    3.56 -".................+.+.+..+..+..+....++...........................................................................................................................",
    3.57 -"..................+..+...+.+..+...+.++..........................................................................................................................",
    3.58 -"..................+..+.+.+.+..+..+.++.+.........................................................................................................................",
    3.59 -"..................+....+.+.+.+....+++.+.........................................................................................................................",
    3.60 -"..................+....+...+.+...+.+++.+........................................................................................................................"};
    3.61 +"...#..#..#................+....@+.@.@.@@@@+@+@@+@+@+@+@+@+@@+@+@@+@+@+@@+@+@+@+@@+@+@+@@+@+@+@+@@+@+@+@@+@+@@+@+@+@+@@+@+@.++..+...+.....+............#..#..#...",
    3.62 +"...+.+..#.................+.++.....++@@.@+@+@++@+@+@+@+@+@++@+@++@+@+@++@+@+@+@++@+@+@++@+@+@+@++@+@+@++@+@++@+@+@+@++@+@+++.+.....+.....+.............#..+.+...",
    3.63 +"....++.+.#...............++++++..@....+@+++++.++++@+++@+++.++++@++++.+@++++@+++.++++@+.++++@+++.++++.+@++++.++++@+++.++++..........+....+.............#.+.++....",
    3.64 +"...#..+++++.............+..+++++...+.+.+++.++++.+++.+++.++++.++++.++++++.+++.++++.++++++.+++.++++.++++++.++++.+++.++++.+++........++....+............+++++..#...",
    3.65 +"...#.+..+#.+...........+...+++++++....++...................+++...........+.++.....+.+.+......+.+.....+.+++.++.....................++...+............+.#+..+.#...",
    3.66 +"..+.++.#.#.+..........+.....+++++++..+.++.++++++++++...+++.+.++.+++..+++..++.+.++..+.+..++++..+.+.++..++.++.+.++++++++..+..+.....+++...+............+.#.#.++.+..",
    3.67 +"..+++.#...+...........+.....+++++++....+..+++++++++++..+++..++..+++..++++.+.++.+++.++..++++++..++.+++..+++++..+++++++....+...+..++.+....+............+...#.+++..",
    3.68 +"...+.+..+++..........++.......++++++..+.+..+++++@++++..+++..+.+.+++..++++..++..+++....++++++++....+++.+.++.+..++......+.++......+.+.+....+...........+++..+.+...",
    3.69 +"....++.#.+..........+.+.........++++...+++....+++......+++.+.+..+++..+++++..+..+++.+.++++...+++...+++..++.+.+.++.+.+++.....+....+++..+...+............+.#.++....",
    3.70 +"...#..+...+.........+.+.++.......++++...++.+..+++.+.+..+++..++..+++..++++++....+++...+++..+..++.+.+++..+++++..++..+.+.+.+...+...++...+...+...........+...+..#...",
    3.71 +"...#.#.++..........+...+++++......+++..++.+...+++..+.+.+++..+.+.+++..+++.++..+.+++..++++..........@++.+.+.+.+.++.....+.+.+......+.....+.+..............++.#.#...",
    3.72 +"....#..+.+........+....++++++......++..+.+++..+++..++..+++.+.+..+++..+@+.+++...+++..+++..+..++.+..+++..+.+++..++++++.+......+.........+.+.............+.+..#....",
    3.73 +"...#..#..#+.......+....++++++.......+..+++.+..+++.+.+..+++..+@+.+@+..+++..+++..+++..+++.+.+.......+++..++..+..+@+++...+.+.............++.............+#..#..#...",
    3.74 +"...#.#..#.+........+....++++++........+.+++...+++..++..+++.+.+..+++..+++...++..+++..+++..+..++++..+++...+.+.+.++....++...+.+..........+.++...........+.#..#.#...",
    3.75 +"..+.#..#.#.........+...................++.++..+++..+.+.+++..+...+++..+++.+.+++.+++..++++..+.++++..+++.++.+++..++.+.+..++.............+....+...........#.#..#.+..",
    3.76 +"..++..#..#........+++................++.......+@+..++..++++..+.++++..+++....++++@+...+++......++..+++...+.+.+.++.++.+.+.+.+........++......+..........#..#..++..",
    3.77 +"...+++..++........+++.....@...........++.++...+++.+.++..+@+....+++...+++..+..+++++.+.++++....+++..+++..+.+.+..++..++.+.+...+......+.+......+..........++..+++...",
    3.78 +"....++.+@++.......++....@@@@@........+.+..++.++++..++.+.++++..++++.+.+++...+.+++++....++@++.+++...+++.........++.........+.......+++.......++........++@+.++....",
    3.79 +"...#.++@.+.........+.....@@@.........++++.++++++....++...++++++++....+++..+...+@++..+..+++++++..+.+@++++++++..+++++++++....+...............+.+........+.@++.#...",
    3.80 +"...#.++.+...............@@@@@........++.+...+++....++.++...++++....+.+++.+@++..+++.+....+++++..+..+++++++++...++++++@+....................+..++........+.++.#...",
    3.81 +"....#..+.#...............@+@..........++..+.....+.+..+.+.+......+.+.......+..+.......+.........++...........+.............+...............+...++......#.+..#....",
    3.82 +"...#..#..#................++........+.......................+..........+...............+.....++.++.................+.++.+....+...........+....+++.....#..#..#...",
    3.83 +"...#.#..#.+................+.......+...++++++++++..+...++++...+.+++.+....+++.+++++++.....+++...++..++..++++++++..+..++.+..+.+............+....+.+....+.#..#.#...",
    3.84 +"..+.#..#.#.+...............+.........+.+++++++++++...++++++++...+++...+..+++.+++++++++...++++.++.+.+++.+++++++..++.+.++..++..............+.....++...+.#.#..#.+..",
    3.85 +".+@+..#..#.+...............++...........++++++++++..++++..++++..+++..+.+.+++.+++...++++..++++...+..+++.++.......++..+.+..++...............+.....+...+.#..#..+@+.",
    3.86 +"..++.+..#.+.................+....+.+..+....+++......+++....+++..+++..++..+++.+++.+...++..+++++..+..+++.++.+..++.+++..+..++..+.............+..........+.#..+.++..",
    3.87 +"....++.#.+..................+.++++..+..+.+.+++.+.+.++++.+..++++.+++.+.+..+++.+++...+.++..++++++....+++.++..+.+...+++...+++...............+............+.#.++....",
    3.88 +"...#..+.+++.........++.+....++..+++...+.++.+++.....+++...+..+++.+++..+.+.+++.+++.+...++..+@+.++..+.++@.++......+..+++.+++..+...........++............+++.+..#...",
    3.89 +"...+.#.+++...........++++...+...+...+..++..++@..+..@++..+...+++.+++..+@+.+++.+++...++++..+++.+++...+++.++++++..+...+++++...+.+........+.++............+++.#.+...",
    3.90 +"....+..+..............+..+.++...........++.+++.++..+++.+.++.+@+.+++.+.+..+++.@++++++@+...+++..+@+..+++.@++@+..+..+..++@..++.........@@@+.+..............+..+....",
    3.91 +"...#.++..#................++.......+..+.+..+++...+.++@..++..+++.++@..+...@++.+++@+++...+.++@...++..+@+.++......+.+..@++.+.++...+...@.@.@+.............#..++.#...",
    3.92 +"...#.+..#.+.......+.......+.........+..++..+@+.++..+++..+...++@.+++...+..+++.+++...++....+++.+.+++.+++.++.+..+.++.+.+++..++.+.+.....@.@@.............+.#..+.#...",
    3.93 +"....#..#.@...........+....+.......+......+.+++..+..@+++..+.@+++.@+++....+++@.@++.+.+@+.+.@++....+@+++@.+@..++.+.+...+@+.++...........@.@....+.........@.#..#....",
    3.94 +"...#..#.@@@......++.......+...........+@...@++...+..++@....++@...++@....@++..++@....++...++@..+..+@+++.++..+..+..+..+++..+++.+........@......+.......@@@.#..#...",
    3.95 +"...#.#..+@+........+..+..++.........+..++.+++@.+.+..@+++..+@++.+.@+++..+++@..+++..+..@+..+++.+...+++@+.@+.........+.++@...+.......+......+...........+@+..#.#...",
    3.96 +".+..#..#.+........+.+..+.+........+....+@++@+...+.+..@+@+@++@.....+@++@+@+...+@+.+...++@.+@+...+..@+++.++@+@++@+....@++.+.....+....+..................+.#..#..+.",
    3.97 +"..++..++++..........+..+....+........+...+@+..+..++....+@+@...+.+...+@+@...+..+@...+..@+.@+@.++.+..@+@.+@+@++@+..+..+@...+.+.......+..................++++..++..",
    3.98 +"..+++++.+...........+..+..+..+......+..+........+...+.......+..+.++.......++.....++............+.+...............+.....+....+......++.....+.+..........+.+++++..",
    3.99 +"....++.#.#......+...+...+.+..+..........+....+....+....+..+..++..+..+.+..+..+.+..+..+..+.+..+..+...+.+..+..++..+..+.+.+..++.........+...+....+........#.#.++....",
   3.100 +"...++.#..#.......+...+..+.+...+.....................................................................................................+..+......+.......#..#.++...",
   3.101 +"..++.++.##.......+.+.+..+..+..+....++................+.............................................................................++...+..+..+.......##.++.++..",
   3.102 +"....#..+..........+..+...+.+..+...+.++.......+......+.......+....+.........+.....+.........+..++.....+.......+.+....+...+..........++...+.+...+.........+..#....",
   3.103 +"...#..++++........+..+.+.+.+..+..+.++.+....++.+...+.+...+..+.+..+.+++......++...+.....+..+....+.++....+......++.+..+....+....+.....+....+.+..+........++++..#...",
   3.104 +"...#.#..+.........+....+.+.+.+....+++.+...+..+.+...+..+..+..+...++.+.++...++.+..+...++.+.....+.++.+..+...++...++.+..+.+..+..+.++..++...+..+..+.........+..#.#...",
   3.105 +"....#..#.#........+....+...+.+...+.+++.+.+.++..++..+..+..+..+..+..+.++.+.+.++.+.+..+......+..++..+.+..+.++.+.+..++..+.+..+.+.++++..++..+.+...+........#.#..#...."};
     4.1 --- a/tools/makesprites.py	Fri Sep 09 21:34:55 2011 +0200
     4.2 +++ b/tools/makesprites.py	Sat Sep 10 00:59:32 2011 +0200
     4.3 @@ -28,7 +28,7 @@
     4.4      strings = strings[-height:]
     4.5      
     4.6      if not symbols:
     4.7 -        symbols = [(".", 0), ("+", 2), ("@", 3)]
     4.8 +        symbols = [(".", 0), ("#", "1"), ("+", 2), ("@", 3)]
     4.9      
    4.10      data = []
    4.11      
    4.12 @@ -160,6 +160,7 @@
    4.13  title = read_xpm("images/title-screen.xpm")
    4.14  
    4.15  completed = read_xpm("images/complete-screen.xpm", [(".", "0"), ("@", "1"), ("+", "2"), ("#", "3")])
    4.16 +overlay = read_xpm("images/overlay.xpm", [(" ", "0"), (".", "2")])
    4.17  
    4.18  def read_sprite(lines):
    4.19  
    4.20 @@ -261,3 +262,14 @@
    4.21          new_data += chr(i & 0x0f) + chr((i & 0xf0) >> 4)
    4.22      
    4.23      return new_data
    4.24 +
    4.25 +def combine(encoded, overlay):
    4.26 +
    4.27 +    combined = ""
    4.28 +    offset = 0
    4.29 +    while offset < len(overlay):
    4.30 +        combined += chr(ord(encoded[offset]) | ord(overlay[offset]))
    4.31 +        offset += 1
    4.32 +    
    4.33 +    combined += encoded[offset:]
    4.34 +    return combined