junglejourney
changeset 233:26066c4a9925
Added a banner to each level map.
| author | David Boddie <david@boddie.org.uk> |
|---|---|
| date | Fri Aug 17 00:12:23 2012 +0200 |
| parents | d2d03d54402c |
| children | 8862c859a18a |
| files | tools/maps/make_maps.py |
| diffstat | 1 files changed, 36 insertions(+), 6 deletions(-) [+] |
line diff
1.1 --- a/tools/maps/make_maps.py Thu Aug 16 22:13:37 2012 +0200 1.2 +++ b/tools/maps/make_maps.py Fri Aug 17 00:12:23 2012 +0200 1.3 @@ -23,7 +23,7 @@ 1.4 from tileimages import blank, tile_size, leaf1, leaf2, visited, flowers, \ 1.5 flowers2, leaf4, leaf6, flowers3, leaf5, leaf3, \ 1.6 exit, final_exit1, final_exit2, item_size, player, \ 1.7 - treasure_images 1.8 + treasure_images, read_xpm 1.9 1.10 image_sets = { 1.11 100: [blank, flowers, leaf1, leaf2, exit], 1.12 @@ -36,6 +36,11 @@ 1.13 1.14 tile_values_map = [0, 1, 0, 0, 0, 0, 2, 3, 4, 5, 6] 1.15 1.16 +xf = 2 1.17 +yf = 1 1.18 + 1.19 +scaled_tile_size = (int(tile_size[0] * xf), int(tile_size[1] * yf)) 1.20 + 1.21 class Mapper: 1.22 1.23 start_rooms = {100: (5, 5), 36: (0, 0), 44: (9, 7), 4: (7, 0), 5: (5, 10), 1.24 @@ -370,11 +375,6 @@ 1.25 1.26 images, wall_tile, floor_tiles = select_images(seed) 1.27 1.28 - xf = 2 1.29 - yf = 1 1.30 - 1.31 - scaled_tile_size = (int(tile_size[0] * xf), int(tile_size[1] * yf)) 1.32 - 1.33 scaled_room_size = (int(room_width * scaled_tile_size[0]), 1.34 int(room_height * scaled_tile_size[1])) 1.35 1.36 @@ -462,11 +462,41 @@ 1.37 stem, suffix = os.path.splitext(name) 1.38 level = 1 1.39 1.40 + title_image = Image.fromstring("P", (128, 48), "".join( 1.41 + read_xpm("../../images/title-screen.xpm", [(".", "\x00"), ("#", "\x01"), ("+", "\x02"), ("@", "\x03")]))) 1.42 + title_image = title_image.resize((title_image.size[0]*4, title_image.size[1]*4), 1.43 + Image.LINEAR) 1.44 + 1.45 + overlay_image = Image.fromstring("P", (128, 115), "".join( 1.46 + read_xpm("../../images/overlay.xpm", [(".", "\x00"), ("#", "\x01"), ("@", "\x02"), ("+", "\x03")]))) 1.47 + overlay_image = overlay_image.resize((overlay_image.size[0]*4, overlay_image.size[1]*4), 1.48 + Image.LINEAR) 1.49 + 1.50 + border = Image.new("P", (scaled_tile_size[0] * 18 + 1, 1.51 + title_image.size[1] + overlay_image.size[1] + scaled_tile_size[1]), 0) 1.52 + 1.53 + banner_positions = [(-scaled_tile_size[0] - border.size[0], -scaled_tile_size[1] - border.size[1]), 1.54 + (scaled_tile_size[0], -scaled_tile_size[1] - border.size[1]), 1.55 + (scaled_tile_size[0], scaled_tile_size[1]), 1.56 + (-scaled_tile_size[0] - border.size[0], scaled_tile_size[1])] 1.57 + 1.58 for seed in 100, 239, 183, 144: 1.59 1.60 file_name = "%s%i%s" % (stem, level, suffix) 1.61 make_map(file_name, width, height, room_width, room_height, seed) 1.62 1.63 + im = Image.open(file_name) 1.64 + bx, by = banner_positions[level - 1] 1.65 + if bx < 0: 1.66 + bx = im.size[0] + bx 1.67 + if by < 0: 1.68 + by = im.size[1] + by 1.69 + 1.70 + im.paste(border, (bx, by)) 1.71 + im.paste(title_image, (bx + scaled_tile_size[0], by + int(scaled_tile_size[1] * 0.75))) 1.72 + im.paste(overlay_image, (bx + scaled_tile_size[0], by + int(scaled_tile_size[1] * 0.75) + title_image.size[1])) 1.73 + im.save(file_name) 1.74 + 1.75 print "Created %s" % file_name 1.76 level += 1 1.77
