junglejourney

changeset 98:16f63ddcbbe2

Completed the list of seeds for official levels. Added a final exit for the final level, and later levels. Finished defining the tiles used for the levels.
author David Boddie <david@boddie.org.uk>
date Sat Sep 03 00:29:43 2011 +0200
parents af1b34c228a9
children 68552fbfded8
files TODO.txt images/flowers3.xpm images/leaf5.xpm mapcode.oph tools/makesprites.py
diffstat 5 files changed, 104 insertions(+), 37 deletions(-) [+]
line diff
     1.1 --- a/TODO.txt	Fri Sep 02 20:14:14 2011 +0200
     1.2 +++ b/TODO.txt	Sat Sep 03 00:29:43 2011 +0200
     1.3 @@ -1,6 +1,8 @@
     1.4  To Do
     1.5  
     1.6 -Ensure that the player can exit, even when not lined up with the open exit tile.
     1.7 -Ensure that the tile sets for each level look good and that the exit sprites
     1.8 -used are always the same.
     1.9 +Fix drawing of the player's strength when it increases.
    1.10 +Handle the case where the two pieces are destroyed in quick succession,
    1.11 +leaving an explosion sprite plotted for the first piece.
    1.12  Add a screen to show between levels.
    1.13 +Add sounds.
    1.14 +Nice to have: make projectiles start next to the player, not on top of him.
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/images/flowers3.xpm	Sat Sep 03 00:29:43 2011 +0200
     2.3 @@ -0,0 +1,32 @@
     2.4 +/* XPM */
     2.5 +static char * flowers3_xpm[] = {
     2.6 +"16 24 5 1",
     2.7 +" 	c None",
     2.8 +".	c #000000",
     2.9 +"+	c #008000",
    2.10 +"@	c #FF0000",
    2.11 +"#	c #FFFF00",
    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 +"................"};
     3.1 --- a/images/leaf5.xpm	Fri Sep 02 20:14:14 2011 +0200
     3.2 +++ b/images/leaf5.xpm	Sat Sep 03 00:29:43 2011 +0200
     3.3 @@ -6,26 +6,26 @@
     3.4  "+	c #008000",
     3.5  "@	c #FFFF00",
     3.6  "..+++..++...@@@.",
     3.7 -".+++++.+..+@@@..",
     3.8 -"++++++...++@@@+.",
     3.9 -"++..+++.++++@@@+",
    3.10 -"+....++.+++...@@",
    3.11 -"+.....+.+++.....",
    3.12 -"......++.+......",
    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 +"..+..++..+....@."};
     4.1 --- a/mapcode.oph	Fri Sep 02 20:14:14 2011 +0200
     4.2 +++ b/mapcode.oph	Sat Sep 03 00:29:43 2011 +0200
     4.3 @@ -16,17 +16,17 @@
     4.4  .org $1f00
     4.5  jmp main
     4.6  
     4.7 -seeds:         .byte 100, 239, 183   ; $ef, $b7, $90, $d6, $89
     4.8 -start_rooms_x: .byte 5,   3,   5
     4.9 -start_rooms_y: .byte 5,   8,   1
    4.10 -exit_rooms_x:  .byte 7,   9,   3
    4.11 -exit_rooms_y:  .byte 0,   0,   9
    4.12 +seeds:         .byte 100, 239, 183, 144   ; $ef, $b7, $90, $d6, $89
    4.13 +start_rooms_x: .byte 5,   3,   5,   10
    4.14 +start_rooms_y: .byte 5,   8,   1,   8
    4.15 +exit_rooms_x:  .byte 7,   9,   3,   3
    4.16 +exit_rooms_y:  .byte 0,   0,   9,   4
    4.17  
    4.18  ; These values need to be kept in sync - the room numbers must match their
    4.19  ; positions in the room array.
    4.20 -key_rooms_x:   .byte 1,   5,  10
    4.21 -key_rooms_y:   .byte 0,   2,   6
    4.22 -key_rooms:     .byte 1,  27,  76    ; ky*11 + kx
    4.23 +key_rooms_x:   .byte 1,   5,  10,   3
    4.24 +key_rooms_y:   .byte 0,   2,   6,   5
    4.25 +key_rooms:     .byte 1,  27,  76,  58  ; ky*11 + kx
    4.26  
    4.27  treasure_table:  .byte 6, 5, 7, 1, 1, 5, 2, 7, 6, 2, 1, 7, 1, 7, 8, 7
    4.28  treasure_table_: .byte 0, 7, 6, 7, 7, 7, 5, 0, 6, 3, 7, 7, 5, 7, 5, 0
    4.29 @@ -316,6 +316,28 @@
    4.30      do_bottom_exit:
    4.31      jsr draw_bottom_line
    4.32  
    4.33 +    ; Add the final exit.
    4.34 +
    4.35 +    lda $3dfa
    4.36 +    cmp #3
    4.37 +    bmi make_room_no_final_exit
    4.38 +
    4.39 +    lda $78
    4.40 +    cmp #0
    4.41 +    bne make_room_no_final_exit
    4.42 +
    4.43 +    lda $79
    4.44 +    cmp #2
    4.45 +    bne make_room_no_final_exit
    4.46 +
    4.47 +    lda #6
    4.48 +    sta $57a0
    4.49 +    lda #7
    4.50 +    sta $57a1
    4.51 +    rts
    4.52 +
    4.53 +    make_room_no_final_exit:
    4.54 +
    4.55      ; Make sure that the starting, exit, key rooms are empty.
    4.56  
    4.57      ldx $3dfa               ; level number
    4.58 @@ -705,8 +727,19 @@
    4.59      lda $3dfa
    4.60      and #3              ; change the tile set for later levels
    4.61      tax
    4.62 +
    4.63      plot_not_blank_add_loop:
    4.64 +
    4.65 +        cpx #2
    4.66 +        bne plot_not_blank_not_2
    4.67 +        dex
    4.68 +        jmp plot_not_blank_not_0
    4.69 +
    4.70 +        plot_not_blank_not_2:
    4.71 +        beq plot_not_blank_add_loop
    4.72          cpx #0
    4.73 +
    4.74 +        plot_not_blank_not_0:
    4.75          beq plot_not_blank_after_add_loop
    4.76          clc
    4.77          lda $70
     5.1 --- a/tools/makesprites.py	Fri Sep 02 20:14:14 2011 +0200
     5.2 +++ b/tools/makesprites.py	Sat Sep 03 00:29:43 2011 +0200
     5.3 @@ -48,9 +48,9 @@
     5.4           read_xpm("images/flowers2.xpm", [(".", "0"), ("#", "1"), ("+", "2"), ("@", "3")]),
     5.5           read_xpm("images/leaf6.xpm", [(".", "0"), ("+", "2")]),
     5.6           read_xpm("images/leaf4.xpm", [(".", "0"), ("#", "1"), ("+", "2"), ("@", "3")]),
     5.7 -         read_xpm("images/bricks.xpm", [(".", "0"), ("#", "1"), ("+", "2"), ("@", "3")]),
     5.8 -         read_xpm("images/wall1.xpm"),
     5.9 -         read_xpm("images/wall2.xpm")]
    5.10 +         read_xpm("images/flowers3.xpm", [(".", "0"), ("@", "1"), ("+", "2"), ("#", "3")]),
    5.11 +         read_xpm("images/leaf5.xpm"),
    5.12 +         read_xpm("images/leaf3.xpm")]
    5.13  
    5.14  chars = [read_xpm("images/left1.xpm"),
    5.15           read_xpm("images/left2.xpm"),