![]() |
Sprites |
Every sprite in the game, drawn from its own bytes the way print_sprite reads them: a header holding the width in bytes (bits 0 to 3) and the height in rows, then a mask byte and an image byte for each cell, bottom row first. Where a mask bit is set the sprite is solid, black or white by its image bit; where it is clear the background shows through, which is how objects overlap in depth without being drawn in any special order. The game flips sprites in place when an object faces the other way (vflip_sprite_data), and the header's top two bits say which way the data lies at the moment; each is shown here the way round it was drawn.
Beside each sprite are the object types that use it: the type is the object's own first byte, and indexes the table at sprite_tbl. See the objects for what each type is.
spr_nul: No sprite; the sprite format
0 by 0 pixels. Types 0 ($00), 1 ($01).
spr_000: Sun and moon window, left end
24 by 31 pixels. Types 90 ($5A).
spr_001: Sun and moon window, right end
24 by 31 pixels. Types 186 ($BA).
spr_002: Spikes
32 by 28 pixels. Types 23 ($17).
spr_003: Spiked ball
32 by 25 pixels. Types 63 ($3F).
spr_004: Guard's body, second frame
24 by 23 pixels. Types 31 ($1F), 151 ($97).
spr_005: Guard's body, first frame
24 by 23 pixels. Types 30 ($1E), 150 ($96).
spr_006: Ball, first frame
24 by 19 pixels. Types 178 ($B2), 182 ($B6).
spr_007: Ball, second frame
24 by 18 pixels. Types 179 ($B3), 183 ($B7).
spr_008: Rock
32 by 29 pixels. Types 6 ($06).
spr_009: Gargoyle
24 by 24 pixels. Types 22 ($16).
spr_010: Fire, first frame
16 by 15 pixels. Types 86 ($56), 176 ($B0), 180 ($B4).
spr_011: Fire, second frame
16 by 16 pixels. Types 87 ($57), 177 ($B1), 181 ($B5).
spr_012: Wizard's body, second frame
24 by 39 pixels. Types 159 ($9F).
spr_013: Wizard's body, first frame
24 by 33 pixels. Types 158 ($9E).
spr_014: Screen border, corner
32 by 32 pixels. Types 137 ($89).
spr_015: Screen border, one line of a side
24 by 1 pixels. Types 138 ($8A).
spr_016: Screen border, one column of the top and bottom
8 by 24 pixels. Types 139 ($8B).
spr_017: Status panel scroll, rolled end
16 by 64 pixels. Types 135 ($87).
spr_018: Status panel scroll, curl
16 by 16 pixels. Types 136 ($88).
spr_019: Status panel scroll, slanting edge
16 by 8 pixels. Types 134 ($86).
spr_020: Stone block
32 by 28 pixels. Types 7 ($07), 54 ($36), 55 ($37), 62 ($3E), 91 ($5B), 143 ($8F).
spr_021: Extra-life charm and lives icon
16 by 17 pixels. Types 103 ($67), 140 ($8C), 175 ($AF).
spr_022: Charm, type $62
24 by 21 pixels. Types 98 ($62), 106 ($6A), 170 ($AA).
spr_023: Tree trunk beside a forest exit, first
16 by 60 pixels. Types 4 ($04).
spr_024: Tree trunk beside a forest exit, second
16 by 48 pixels. Types 5 ($05).
spr_025: Sparkle, size 1 of 6
24 by 20 pixels. Types 119 ($77), 120 ($78).
spr_026: Sparkle, size 2 of 6
24 by 21 pixels. Types 118 ($76), 121 ($79).
spr_027: Sparkle, size 3 of 6
24 by 23 pixels. Types 117 ($75), 122 ($7A).
spr_028: Sparkle, size 4 of 6
24 by 24 pixels. Types 116 ($74), 123 ($7B), 133 ($85), 162 ($A2), 166 ($A6).
spr_029: Sparkle, size 5 of 6
24 by 24 pixels. Types 113 ($71), 115 ($73), 124 ($7C), 126 ($7E), 132 ($84), 161 ($A1), 163 ($A3), 165 ($A5), 167 ($A7), 185 ($B9).
spr_030: Sparkle, size 6 of 6
24 by 24 pixels. Types 111 ($6F), 112 ($70), 114 ($72), 125 ($7D), 127 ($7F), 131 ($83), 160 ($A0), 164 ($A4), 184 ($B8), 187 ($BB).
spr_031: Charm, type $60
24 by 19 pixels. Types 96 ($60), 104 ($68), 168 ($A8).
spr_032: Charm, type $61
24 by 22 pixels. Types 97 ($61), 105 ($69), 169 ($A9).
spr_033: Charm, type $63
24 by 23 pixels. Types 99 ($63), 107 ($6B), 171 ($AB).
spr_034: Charm, type $64
24 by 18 pixels. Types 100 ($64), 108 ($6C), 172 ($AC).
spr_035: Charm, type $65
24 by 24 pixels. Types 101 ($65), 109 ($6D), 173 ($AD).
spr_036: Charm, type $66
24 by 21 pixels. Types 102 ($66), 110 ($6E), 174 ($AE).
spr_037: Sun
16 by 16 pixels. Types 88 ($58).
spr_038: Moon
16 by 16 pixels. Types 89 ($59).
spr_039: Ghost, frame 1
24 by 20 pixels. Types 80 ($50).
spr_040: Ghost, frame 2
24 by 19 pixels. Types 81 ($51).
spr_041: Ghost, frame 3
24 by 20 pixels. Types 82 ($52).
spr_042: Ghost, frame 4
24 by 20 pixels. Types 83 ($53).
spr_043: Portcullis
24 by 42 pixels. Types 8 ($08), 9 ($09).
spr_044: Chest
32 by 29 pixels. Types 85 ($55).
spr_045: Table
32 by 31 pixels. Types 84 ($54).
spr_046: Sabreman's head and shoulders, view A, frame 3
24 by 24 pixels. Types 34 ($22), 36 ($24).
spr_047: Sabreman's head and shoulders, view B, frame 2
24 by 25 pixels. Types 41 ($29), 45 ($2D).
spr_048: Sabreman's head and shoulders, view A, occasional frame
24 by 25 pixels. Types 38 ($26).
spr_049: Sabreman's head and shoulders, view A, frame 4
24 by 24 pixels. Types 35 ($23).
spr_050: Sabreman's head and shoulders, view A, frame 1
24 by 24 pixels. Types 32 ($20).
spr_051: Sabreman's head and shoulders, view A, frame 2
24 by 24 pixels. Types 33 ($21), 37 ($25).
spr_052: Sabreman's head and shoulders, view B, frame 1
24 by 25 pixels. Types 40 ($28).
spr_053: Sabreman's head and shoulders, view B, frame 4
24 by 25 pixels. Types 43 ($2B).
spr_054: Sabreman's head and shoulders, view B, frame 3
24 by 25 pixels. Types 42 ($2A), 44 ($2C).
spr_055: Legs, view A, frame 1
24 by 16 pixels. Types 16 ($10), 144 ($90).
spr_056: Legs, view A, frame 2
24 by 16 pixels. Types 17 ($11), 21 ($15), 145 ($91), 149 ($95).
spr_057: Legs, view A, frame 3
24 by 16 pixels. Types 18 ($12), 20 ($14), 146 ($92), 148 ($94).
spr_058: Legs, view A, frame 4
24 by 16 pixels. Types 19 ($13), 147 ($93).
spr_059: Legs, view B, frame 1
24 by 16 pixels. Types 24 ($18), 152 ($98).
spr_060: Legs, view B, frame 2
24 by 16 pixels. Types 25 ($19), 29 ($1D), 153 ($99), 157 ($9D).
spr_061: Legs, view B, frame 3
24 by 16 pixels. Types 26 ($1A), 28 ($1C), 154 ($9A), 156 ($9C).
spr_062: Legs, view B, frame 4
24 by 16 pixels. Types 27 ($1B), 155 ($9B).
spr_063: Sabreman's head and shoulders, view A, second occasional frame
24 by 24 pixels. Types 39 ($27).
spr_064: Sabreman's head and shoulders, view B, second occasional frame
24 by 25 pixels. Types 47 ($2F).
spr_065: Sabreman's head and shoulders, view B, occasional frame
24 by 25 pixels. Types 46 ($2E).
spr_066: Tree, first kind
16 by 48 pixels. Types 128 ($80).
spr_067: Tree, second kind
16 by 48 pixels. Types 129 ($81).
spr_068: Tree, third kind
16 by 48 pixels. Types 130 ($82).
spr_069: Wall column, west wall
16 by 48 pixels. Types 13 ($0D).
spr_070: Wall column, north wall
16 by 48 pixels. Types 14 ($0E).
spr_071: Arch, first piece
24 by 52 pixels. Types 2 ($02).
spr_072: Arch, second piece
16 by 35 pixels. Types 3 ($03).
spr_073: Wall end
16 by 48 pixels. Types 15 ($0F).
spr_074: Cauldron
32 by 33 pixels. Types 141 ($8D).
spr_075: Cauldron's top
32 by 11 pixels. Types 142 ($8E).
spr_076: Wall slab, long
40 by 25 pixels. Types 10 ($0A).
spr_077: Wall slab, medium
24 by 24 pixels. Types 11 ($0B).
spr_078: Wall slab, short
24 by 18 pixels. Types 12 ($0C).
spr_079: Werewulf's legs, view A, frame 1
24 by 16 pixels. Types 48 ($30).
spr_080: Werewulf's legs, view A, frame 2
24 by 16 pixels. Types 49 ($31), 53 ($35).
spr_081: Werewulf's legs, view A, frame 3
24 by 16 pixels. Types 50 ($32), 52 ($34).
spr_082: Werewulf's legs, view A, frame 4
24 by 16 pixels. Types 51 ($33).
spr_083: Werewulf's legs, view B, frame 1
24 by 16 pixels. Types 56 ($38).
spr_084: Werewulf's legs, view B, frame 2
24 by 16 pixels. Types 57 ($39), 61 ($3D).
spr_085: Werewulf's legs, view B, frame 3
24 by 16 pixels. Types 58 ($3A), 60 ($3C).
spr_086: Werewulf's legs, view B, frame 4
24 by 16 pixels. Types 59 ($3B).
spr_087: Werewulf's head and shoulders, view A, frame 1
24 by 29 pixels. Types 64 ($40).
spr_088: Werewulf's head and shoulders, view A, frame 2
24 by 29 pixels. Types 65 ($41), 69 ($45).
spr_089: Werewulf's head and shoulders, view A, frame 3
24 by 29 pixels. Types 66 ($42), 68 ($44).
spr_090: Werewulf's head and shoulders, view A, frame 4
24 by 29 pixels. Types 67 ($43).
spr_091: Werewulf's head and shoulders, view B, frame 4
24 by 30 pixels. Types 75 ($4B).
spr_092: Werewulf's head and shoulders, view B, frame 3
24 by 30 pixels. Types 74 ($4A), 76 ($4C).
spr_093: Werewulf's head and shoulders, view B, frame 2
24 by 30 pixels. Types 73 ($49), 77 ($4D).
spr_094: Werewulf's head and shoulders, view B, frame 1
24 by 30 pixels. Types 72 ($48).
spr_095: Werewulf's head and shoulders, view A, occasional frame
24 by 29 pixels. Types 70 ($46).
spr_096: Werewulf's head and shoulders, view A, second occasional frame
24 by 29 pixels. Types 71 ($47).
spr_097: Werewulf's head and shoulders, view B, occasional frame
24 by 30 pixels. Types 78 ($4E).
spr_098: Werewulf's head and shoulders, view B, second occasional frame
24 by 30 pixels. Types 79 ($4F).
spr_099: Transformation, frame 1
24 by 32 pixels. Types 92 ($5C).
spr_100: Transformation, frame 2
24 by 33 pixels. Types 93 ($5D).
spr_101: Transformation, frame 3
24 by 38 pixels. Types 94 ($5E).
spr_102: Transformation, frame 4
24 by 35 pixels. Types 95 ($5F).