From 957d2f35756b3df229f9557333561bd77a481318 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 21 Jun 2021 15:52:04 -0400 Subject: [PATCH] vgi: rocket_door done more or less --- graphics/hgr/vgi/Makefile | 15 +++- graphics/hgr/vgi/red_book.vgi | 146 +++++++++++++++++++++++++++++++ graphics/hgr/vgi/rocket_door.vgi | 54 ++++++++++++ graphics/hgr/vgi/vgi.s | 40 ++++++++- 4 files changed, 251 insertions(+), 4 deletions(-) create mode 100644 graphics/hgr/vgi/red_book.vgi create mode 100644 graphics/hgr/vgi/rocket_door.vgi diff --git a/graphics/hgr/vgi/Makefile b/graphics/hgr/vgi/Makefile index 60709cc8..f300a69b 100644 --- a/graphics/hgr/vgi/Makefile +++ b/graphics/hgr/vgi/Makefile @@ -24,7 +24,7 @@ HELLO: hello.bas VGI: vgi.o ld65 -o VGI vgi.o -C $(LINKERSCRIPTS)/apple2_c00.inc -vgi.o: clock.data rocket.data \ +vgi.o: clock.data rocket.data rocket_door.data red_book.data \ vgi.s vgi_clearscreen.s vgi_rectangle.s vgi_circles.s vgi_lines.s \ vgi_triangles.s ca65 -o vgi.o vgi.s -l vgi.lst @@ -42,6 +42,19 @@ rocket.data: make_boxes_asm rocket.vgi echo "rocket_data:" > rocket.data ./make_boxes_asm < rocket.vgi >> rocket.data +### + +rocket_door.data: make_boxes_asm rocket_door.vgi + echo "rocket_door_data:" > rocket_door.data + ./make_boxes_asm < rocket_door.vgi >> rocket_door.data + + +### + +red_book.data: make_boxes_asm red_book.vgi + echo "red_book_data:" > red_book.data + ./make_boxes_asm < red_book.vgi >> red_book.data + ### diff --git a/graphics/hgr/vgi/red_book.vgi b/graphics/hgr/vgi/red_book.vgi new file mode 100644 index 00000000..4741bd34 --- /dev/null +++ b/graphics/hgr/vgi/red_book.vgi @@ -0,0 +1,146 @@ +; Rocket from Myst +CLS 255 ; white background +RECT 1 6 0 122 140 191 ; ocean left +RECT 1 6 140 122 279 191 ; ocean right +; rock +RECT 1 5 239 171 279 191 ; green/orange rock +VTRI 4 228 162 226 245 171 ; black edge +VTRI 4 228 162 224 244 185 ; black edge +VTRI 4 232 191 224 244 184 ; upside down +VTRI 4 255 165 245 255 171 ; black right edge +VTRI 4 255 178 245 255 171 ; black right edge +RECT 4 4 255 170 279 178 ; rock shade +RECT 4 4 255 163 270 178 ; rock shade +; base +DRECT 0x8 0x22 86 124 193 191 ; green brick dock +FCIRC 7 97 121 4 ; left platform +FCIRC 7 180 121 4 ; right platform +RECT 7 7 99 119 175 127 ; platform +RECT 4 4 103 114 178 121 ; shady platform +HTRI 4 95 120 115 120 102 ; left shady plat +HTRI 4 185 120 115 120 175 ; right shady plat +RECT 0 0 102 128 116 191 ; left shade +RECT 0 0 156 126 169 191 ; center shade +RECT 0 0 179 126 194 191 ; right shade +RECT 3 3 89 137 93 146 ; left light +RECT 3 3 186 139 190 147 ; right light +; spaceship +POINT 5 4 94 ; nosepipe +LINETO 26 94 ; +HTRI 4 25 94 84 105 43 ; noscone +; draw deeper Z body +HTRI 5 233 103 103 114 179 ; behind bottom fin +; draw tails +FCIRC 4 217 87 32 ; tails +FCIRC 7 247 87 25 ; tails cutout +RECT 4 4 231 59 263 64 ; top fin +HTRI 4 255 58 54 58 222 +RECT 4 4 230 108 249 120 ; bottom fin +RECT 4 4 240 111 278 115 ; bottom fin +RECT 4 4 220 115 263 120 ; bottom fin +; draw body +RECT 5 5 44 84 234 101 ; body +HTRI 5 44 84 77 84 69 ; left top +HTRI 5 234 88 75 88 182 ; right top +RECT 5 5 75 76 190 84 ; center top +HTRI 7 223 84 84 88 234 ; right cutout +RECT 5 5 44 101 185 106 ; next strip down +HTRI 5 228 101 101 107 187 ; over bottom fin +HTRI 5 44 106 106 113 74 ; left under +RECT 5 5 74 106 185 113 ; next layer +HTRI 5 74 113 113 100 102 ; next left +HTRI 5 181 113 113 100 173 ; next right +RECT 5 4 99 113 173 117 ; next layer +; decorations +RECT 4 4 234 88 239 101 ; nozzle +HTRI 4 173 84 79 88 163 ; weird scoop +HTRI 4 219 88 83 87 210 ; another scoop +DRECT 0xcc 0xb3 67 80 74 110 ; left stripe +DRECT 0xcc 0xb3 70 76 75 80 ; left stripe +DRECT 0xcc 0xb3 70 106 75 114 ; left stripe +DRECT 0xcc 0xb3 183 76 190 112 ; right stripe +; door +POINT 4 150 80 +LINETO 115 80 +LINETO 115 108 +LINETO 120 111 +LINETO 137 111 +POINT 7 138 81 +LINETO 138 109 +; door lines +POINT 4 139 96 +LINETO 168 97 +POINT 4 139 100 +LINETO 165 100 +; marker switch +RECT 6 6 148 116 158 124 ; base +RECT 7 7 147 101 158 117 ; border +RECT 5 1 150 103 155 113 ; woodgrain +VTRI 6 154 95 148 158 101 ; top +POINT 2 151 97 ; handle +LINETO 155 97 +; walkway +VTRI 1 128 129 101 109 191 ; left path green +VTRI 3 129 129 109 129 191 ; left path white +RECT 3 3 129 129 151 191 ; center path +VTRI 1 153 129 170 179 191 ; right path green +VTRI 3 152 129 152 170 191 ; right path white +POINT 0 152 129 ; right gap +LINETO 170 191 ; right gap +POINT 0 129 129 ; left gap +LINETO 109 191 ; left gap +; left railing +POINT 0 127 115 ; far left pole +LINETO 128 133 +POINT 3 127 115 ; far left rope +LINETO 122 129 +POINT 2 123 126 ; center left pole +LINETO 123 147 +POINT 3 120 128 ; center left rope +LINETO 116 144 +LINETO 109 154 +LINETO 99 158 +RECT 2 2 97 164 100 191 ; near pole +FCIRC 2 98 161 4 ; near pole circle +; right railing +POINT 0 153 117 ; far right pole +LINETO 152 132 +POINT 3 153 118 ; far right rope +LINETO 157 129 +POINT 2 158 126 ; center right pole +LINETO 157 141 +POINT 3 158 127 ; center right rope +LINETO 162 142 +LINETO 168 154 +LINETO 178 160 +RECT 2 2 177 164 181 191 ; near pole +FCIRC 2 179 161 4 ; near pole circle +; wire pole +RECT 6 6 174 88 179 126 ; pole +RECT 6 6 174 73 179 80 ; insulator +POINT 6 177 90 ; thinner pole +LINETO 177 74 ; to top +; shadow +POINT 0 129 191 +LINETO 144 187 +POINT 0 139 188 +LINETO 132 180 +LINETO 130 170 +LINETO 129 157 +LINETO 134 149 +LINETO 139 143 +LINETO 135 138 +LINETO 134 132 +LINETO 138 126 +LINETO 131 127 +POINT 0 126 145 +LINETO 143 142 +; power wire +POINT 6 279 54 ; from off screen +LINETO 238 65 +LINETO 177 74 +LINETO 170 82 +LINETO 173 85 +LINETO 189 88 +LINETO 209 86 +END diff --git a/graphics/hgr/vgi/rocket_door.vgi b/graphics/hgr/vgi/rocket_door.vgi new file mode 100644 index 00000000..54757949 --- /dev/null +++ b/graphics/hgr/vgi/rocket_door.vgi @@ -0,0 +1,54 @@ +; Rocket Door from Myst +CLS 255 ; white background +RECT 1 7 0 107 119 192 ; ocean left +; platform +VTRI 4 105 168 62 140 191 ; shady platform +VTRI 7 95 174 62 114 191 ; white platform +; nosepole +POINT 5 26 82 +LINETO 38 84 +; ship +RECT 5 5 153 0 278 192 ; left +FCIRC 5 77 87 42 ; nose +FCIRC 4 89 89 51 ; nose +FCIRC 5 101 91 60 ; nose +VTRI 5 154 0 65 154 47 ; left top +VTRI 5 139 191 65 154 135 ; left bottom +RECT 5 5 139 45 182 192 ; left +; lines +POINT 4 41 87 ; front top +LINETO 79 94 +POINT 4 44 104 ; front bottom +LINETO 71 120 +; lines +POINT 4 267 0 ; top line +LINETO 192 15 +POINT 4 279 178 ; center line +LINETO 169 145 +POINT 4 243 191 ; bottom line +LINETO 172 164 +; door +POINT 7 175 191 ; door bottom right +LINETO 172 180 +LINETO 168 128 +LINETO 174 73 +LINETO 191 16 +LINETO 111 35 +POINT 4 114 176 ; door outline +LINETO 107 161 +LINETO 99 146 +LINETO 94 113 +LINETO 97 73 +LINETO 110 36 +LINETO 190 17 +POINT 4 99 144 ; on door bottom +LINETO 127 159 +POINT 4 104 56 ; on door top +LINETO 145 49 +; dark step +VTRI 4 107 161 117 130 173 ; top half +VTRI 4 130 191 117 130 173 ; left third +VTRI 4 130 173 130 160 191 ; right third +POINT 7 138 191 +LINETO 119 179 +END diff --git a/graphics/hgr/vgi/vgi.s b/graphics/hgr/vgi/vgi.s index 357b43e2..22cdbde6 100644 --- a/graphics/hgr/vgi/vgi.s +++ b/graphics/hgr/vgi/vgi.s @@ -14,9 +14,9 @@ vgi_test: ; get pointer to image data - lda #rocket_data + lda #>rocket_door_data sta VGIH ; lda #rocket_door_data + sta VGIH + + jsr play_vgi + + jsr wait_until_keypress + + bit TEXTGR + + ; Red Book + + bit FULLGR + + lda #red_book_data + sta VGIH + + jsr play_vgi + + jsr wait_until_keypress + + bit TEXTGR + + ; jmp loopy done: @@ -132,6 +164,8 @@ all_done: .include "clock.data" .include "rocket.data" +.include "rocket_door.data" +.include "red_book.data"