mist_hgr: some more graphics stuff
This commit is contained in:
parent
8c7da7b269
commit
46b2964348
|
@ -0,0 +1,15 @@
|
|||
HIRES TODO:
|
||||
|
||||
turn arrows
|
||||
|
||||
more graphics of course
|
||||
|
||||
fast bresenham line/triangles
|
||||
triangles that can cross 255 x border
|
||||
|
||||
sync up the intro speeds
|
||||
|
||||
sprite movie playing
|
||||
|
||||
mockingboard on IIc
|
||||
|
|
@ -10,6 +10,7 @@ all: mist_graphics.inc
|
|||
mist_graphics.inc: \
|
||||
todo.lzsa \
|
||||
clock_s.lzsa \
|
||||
dock_n.lzsa \
|
||||
spaceship_far_n.lzsa \
|
||||
spaceship_door_n.lzsa
|
||||
# dock_n.lzsa dock_s.lzsa dock_e.lzsa dock_w.lzsa dock_w_open.lzsa \
|
||||
|
@ -55,7 +56,7 @@ mist_graphics.inc: \
|
|||
# tower2_path_e.lzsa tower2_path_n.lzsa \
|
||||
# pillar_cross.lzsa pillar_eye.lzsa pillar_snake.lzsa pillar_emu.lzsa \
|
||||
# pillar_bug.lzsa pillar_anchor.lzsa pillar_arrow.lzsa pillar_leaf.lzsa
|
||||
echo "dock_n_lzsa: .incbin \"todo.lzsa\"" > mist_graphics.inc
|
||||
echo "dock_n_lzsa: .incbin \"dock_n.lzsa\"" > mist_graphics.inc
|
||||
echo "dock_s_lzsa: .incbin \"todo.lzsa\"" >> mist_graphics.inc
|
||||
echo "dock_e_lzsa: .incbin \"todo.lzsa\"" >> mist_graphics.inc
|
||||
echo "dock_w_lzsa: .incbin \"todo.lzsa\"" >> mist_graphics.inc
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
; TODO
|
||||
CLS 0xff ; white2 background
|
||||
RECT 6 7 167 108 279 191 ; ocean
|
||||
VTRI 1 39 20 30 80 97 ; left bg mountain
|
||||
; gear
|
||||
DRECT 0x41 0x41 142 50 171 62 ; sideways gear
|
||||
LINE 0 142 50 171 50 ; top of sideways
|
||||
FCIRC 2 130 54 16 ; big gear
|
||||
CIRC 0 128 59 8 ; inner circle
|
||||
RECT 3 3 113 48 117 52 ; notch1
|
||||
RECT 3 3 121 39 125 43 ; notch2
|
||||
RECT 0 0 130 38 133 43 ; notch3
|
||||
RECT 0 0 139 42 143 48 ; notch4
|
||||
RECT 0 0 144 48 148 56 ; notch5
|
||||
RECT 5 5 104 52 108 60 ; marker switch
|
||||
LINE 0 98 59 98 56 ; fence1
|
||||
LINETO 110 52
|
||||
LINETO 133 53
|
||||
LINETO 142 54
|
||||
LINE 0 109 52 110 51
|
||||
; plateau
|
||||
VTRI 5 95 61 78 102 95 ; left triangle
|
||||
DRECT 0xA2 0xA2 97 60 191 130 ; main plateau
|
||||
LINE 0 97 60 191 60 ; top of plateau
|
||||
DRECT 0xA2 0xA2 188 95 214 127 ; right
|
||||
VTRI 5 213 97 218 234 125 ; far right
|
||||
; temple
|
||||
RECT 2 2 0 60 71 95 ; purple base
|
||||
DRECT 0x5d 0x54 62 60 71 95 ; edge
|
||||
RECT 2 2 0 0 42 61 ; purple side
|
||||
HTRI 2 70 61 40 61 42 ; purple side
|
||||
LINE 0 41 39 0 26 ; base line
|
||||
RECT 0 0 41 0 58 7 ; underhang
|
||||
VTRI 0 41 19 41 58 7 ; underhang
|
||||
DRECT 0x52 0x52 47 6 53 48 ; l pillar
|
||||
DRECT 0x52 0x52 15 0 23 32 ; r pillar
|
||||
VTRI 1 0 60 0 27 98 ; green triangle
|
||||
; general darkness
|
||||
RECT 4 4 0 97 146 191 ; general darkness
|
||||
; steps
|
||||
HTRI 7 117 101 110 124 141 ; bottom steps
|
||||
LINE 7 116 119 136 119 ; bottom step
|
||||
LINE 7 116 116 130 112 ; next step
|
||||
RECT 7 7 103 74 142 82 ; upper white
|
||||
HTRI 7 118 74 60 74 153 ; upper white
|
||||
RECT 7 7 137 60 151 70 ; upper white
|
||||
RECT 4 4 103 80 124 98 ; upper black
|
||||
HTRI 4 146 81 81 98 124 ; upper black
|
||||
HTRI 4 124 80 68 81 155 ; upper black
|
||||
VTRI 4 150 93 137 159 81 ; upper black
|
||||
LINE 4 123 80 123 74 ; railing
|
||||
LINE 4 113 73 113 82 ; edge
|
||||
LINE 4 113 74 138 67 ; edge
|
||||
LINETO 143 70
|
||||
LINETO 152 64
|
||||
LINE 4 143 69 144 74
|
||||
; dock area
|
||||
VTRI 1 97 107 19 106 132 ; green ness
|
||||
VTRI 1 65 191 36 111 132 ; bottom green ness
|
||||
HTRI 1 18 133 132 157 47 ; last green ness
|
||||
DRECT 0xA8 0xAA 159 117 167 137 ; far pile
|
||||
RECT 4 4 159 116 166 121 ; cap
|
||||
DRECT 0xA8 0xAA 171 133 184 164 ; middle pile
|
||||
RECT 4 4 172 128 185 136 ; cap
|
||||
RECT 4 4 214 177 248 191 ; close cap
|
||||
VTRI 4 225 172 215 245 178 ; close cap
|
||||
VTRI 4 248 177 248 255 191 ; close cap
|
||||
VTRI 5 115 126 66 116 191 ; left dock
|
||||
RECT 5 5 116 125 160 191 ; center docl
|
||||
VTRI 5 157 126 159 205 191 ; right dock
|
||||
LINE 4 158 126 198 191 ; dock edge
|
||||
; masts
|
||||
VTRI 5 191 59 204 208 154 ; skinny mast
|
||||
LINE 5 279 126 211 154 ; sideways mast
|
||||
LINE 5 279 126 213 156 ; sideways mast
|
||||
LINE 4 222 155 279 155 ; shadow
|
||||
LINE 4 275 130 277 153 ; line
|
||||
LINE 4 232 140 251 127 ; cable
|
||||
LINETO 279 102
|
||||
LINE 5 212 112 268 191 ; tall mast
|
||||
LINE 5 211 113 266 191 ; tall mast
|
||||
LINE 4 210 112 263 191 ; tall mast
|
||||
LINE 4 217 127 221 129 ; top ring
|
||||
LINETO 226 124
|
||||
LINETO 223 123
|
||||
LINE 4 222 136 227 136 ; middle ring
|
||||
LINETO 231 131
|
||||
LINE 4 241 162 245 163 ; bottom ring
|
||||
LINETO 249 160
|
||||
LINETO 247 159
|
||||
; wall line
|
||||
LINE 7 0 97 103 96 ; wall line
|
||||
; door
|
||||
LINE 7 0 141 13 135 ; door line
|
||||
LINE 7 5 191 43 164
|
||||
LINE 5 0 105 17 105 ; door outline orange
|
||||
LINETO 17 135
|
||||
LINETO 47 159
|
||||
LINETO 63 191
|
||||
LINE 7 0 104 17 104 ; door outline white
|
||||
LINETO 16 135
|
||||
LINETO 46 159
|
||||
LINETO 62 191
|
||||
; planks
|
||||
LINE 4 117 191 85 168
|
||||
LINE 4 160 191 95 153
|
||||
LINE 4 196 188 101 147
|
||||
LINE 4 184 170 107 142
|
||||
LINE 4 175 156 113 135
|
||||
LINE 4 165 139 122 127
|
||||
; shadows
|
||||
;HTRI 4 142 152 163 178 77 ; tree shadow
|
||||
; marker switch
|
||||
RECT 7 7 147 104 155 113 ; box
|
||||
RECT 5 5 148 105 154 112 ; woodgrain
|
||||
VTRI 6 151 98 147 156 104 ; top
|
||||
DRECT 0x4c 0x33 146 113 159 127 ; base
|
||||
END
|
|
@ -14,7 +14,7 @@ title_graphics.inc: \
|
|||
m_title_m.lzsa m_title_y.lzsa m_title_s.lzsa m_title_t.lzsa \
|
||||
fissure_stars.lzsa fissure_crescent.lzsa fissure.lzsa fissure2.lzsa \
|
||||
fissure_book_small.lzsa fissure_book_big.lzsa \
|
||||
m_link_book.lzsa
|
||||
m_link_book.lzsa book_closed_n.lzsa
|
||||
echo "cyan1_lzsa: .incbin \"cyan1.lzsa\"" > title_graphics.inc
|
||||
echo "cyan2_lzsa: .incbin \"cyan2.lzsa\"" >> title_graphics.inc
|
||||
echo "m_link_book_lzsa: .incbin \"m_link_book.lzsa\"" >> title_graphics.inc
|
||||
|
@ -35,7 +35,7 @@ title_graphics.inc: \
|
|||
echo "book_glow_lzsa: .incbin \"fissure_stars.lzsa\"" >> title_graphics.inc
|
||||
echo "book_ground_lzsa: .incbin \"fissure_stars.lzsa\"" >> title_graphics.inc
|
||||
echo "book_ground_n_lzsa: .incbin \"fissure_stars.lzsa\"" >> title_graphics.inc
|
||||
echo "book_closed_n_lzsa: .incbin \"m_link_book.lzsa\"" >> title_graphics.inc
|
||||
echo "book_closed_n_lzsa: .incbin \"book_closed_n.lzsa\"" >> title_graphics.inc
|
||||
|
||||
####
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
; MYST Book Closed
|
||||
CLS 0x80
|
||||
RECT 7 7 84 6 195 186 ; glow
|
||||
POINT 4 84 6
|
||||
POINT 4 196 6
|
||||
POINT 4 84 185
|
||||
POINT 4 196 185
|
||||
DRECT 0xa3 0xae 100 7 194 184 ; cover
|
||||
RECT 4 4 86 8 110 184 ; spine
|
||||
VTRI 5 91 10 87 94 184 ; spine rip
|
||||
HTRI 5 107 8 7 12 86 ; left rip
|
||||
HTRI 4 170 7 6 31 194 ; upper right tri
|
||||
HTRI 4 171 183 157 181 195 ; lower right tri
|
||||
LINE 4 119 82 119 68 ; M
|
||||
LINETO 124 81
|
||||
LINETO 131 69
|
||||
LINETO 131 82
|
||||
LINE 4 141 68 145 76 ; Y
|
||||
LINE 4 151 68 145 76
|
||||
LINETO 145 82
|
||||
LINE 4 167 71 165 68 ; S
|
||||
LINETO 165 68
|
||||
LINETO 162 69
|
||||
LINETO 161 69
|
||||
LINETO 160 73
|
||||
LINETO 166 78
|
||||
LINETO 167 81
|
||||
LINETO 165 82
|
||||
LINETO 163 82
|
||||
LINETO 160 80
|
||||
LINE 4 176 71 176 68 ; T
|
||||
LINETO 188 68
|
||||
LINETO 188 71
|
||||
LINE 4 181 68 182 82
|
||||
END
|
|
@ -0,0 +1,15 @@
|
|||
; Path from Myst
|
||||
CLS 0x80 ; black background
|
||||
; TODO, rounded edges?
|
||||
RECT 7 7 3 85 239 188 ; glow
|
||||
; book
|
||||
; link
|
||||
RECT 7 7 161 40 227 91 ; sky
|
||||
RECT 6 6 202 70 227 91 ; ocean
|
||||
RECT 5 5 180 55 208 74 ; mountain
|
||||
RECT 5 5 208 66 219 74 ; mountain
|
||||
VTRI 5 180 55 176 182 66 ; mountain left
|
||||
LINE 6 225 78 213 83 ; mast
|
||||
LINETO 212 75 ; mast
|
||||
LINE 0 226 85 214 68 ; mast
|
||||
END
|
|
@ -1,15 +1,21 @@
|
|||
; Path from Myst
|
||||
CLS 0x80 ; black background
|
||||
; Open MYST book
|
||||
;CLS 0x80 ; black background
|
||||
; TODO, rounded edges?
|
||||
RECT 7 7 3 85 239 188 ; glow
|
||||
RECT 7 7 36 5 239 187 ; glow
|
||||
POINT 4 36 5
|
||||
POINT 4 240 5
|
||||
POINT 4 36 186
|
||||
POINT 4 240 186
|
||||
; book
|
||||
; link
|
||||
RECT 7 7 161 40 227 91 ; sky
|
||||
RECT 6 6 202 70 227 91 ; ocean
|
||||
RECT 5 5 180 55 208 74 ; mountain
|
||||
RECT 5 5 208 66 219 74 ; mountain
|
||||
VTRI 5 180 55 176 182 66 ; mountain left
|
||||
LINE 6 225 78 213 83 ; mast
|
||||
LINETO 212 75 ; mast
|
||||
LINE 0 226 85 214 68 ; mast
|
||||
RECT 4 4 37 6 237 186 ; black
|
||||
RECT 7 7 39 10 235 184 ; big pages
|
||||
LINE 5 37 154 36 39 ; orange binding
|
||||
HTRI 7 125 10 6 11 50 ; part turned page
|
||||
LINE 5 140 182 44 178 ; part turned page
|
||||
LINE 4 44 178 50 7
|
||||
LINE 5 50 7 142 10
|
||||
LINE 5 40 181 42 10 ; page edge
|
||||
DRECT 0xAB 0xAE 139 10 149 183 ; crease
|
||||
; link area
|
||||
RECT 4 4 161 41 224 90
|
||||
END
|
||||
|
|
|
@ -22,7 +22,7 @@ location0:
|
|||
.byte BG_NORTH ; only north bg
|
||||
.byte DIRECTION_N ; special exit
|
||||
.byte 16,24 ; special x
|
||||
.byte 26,36 ; special y
|
||||
.byte 104,144 ; special y
|
||||
.word get_mist_book-1 ; special function
|
||||
|
||||
; TITLE_BOOK_CLOSED -- myst linking book closed
|
||||
|
@ -59,6 +59,6 @@ location2:
|
|||
.word $0000 ; west bg
|
||||
.byte BG_NORTH ; only north bg
|
||||
.byte DIRECTION_N ; special exit
|
||||
.byte 22,33 ; special x
|
||||
.byte 12,26 ; special y
|
||||
.byte 23,34 ; special x
|
||||
.byte 40,92 ; special y
|
||||
.word mist_link_book-1 ; special function
|
||||
|
|
|
@ -16,6 +16,10 @@ skip_turn_off_music:
|
|||
|
||||
; clear screen
|
||||
|
||||
; clear to black
|
||||
lda #$80
|
||||
jsr BKGND0
|
||||
|
||||
lda #0
|
||||
sta clear_all_color+1
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ mist_start:
|
|||
|
||||
; set up initial location
|
||||
|
||||
jsr change_location
|
||||
; jsr change_location
|
||||
|
||||
lda #1
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
|
|
@ -601,6 +601,12 @@ room_frame_no_oflo:
|
|||
jmp game_loop
|
||||
|
||||
really_exit:
|
||||
|
||||
; clear to black
|
||||
; lda #$80
|
||||
; jsr BKGND0
|
||||
|
||||
|
||||
jmp end_level
|
||||
|
||||
|
||||
|
@ -707,17 +713,8 @@ theme_music:
|
|||
.incbin "audio/theme.pt3"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; click on book, plays theme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; FISSURE: I realized the momemnt
|
||||
|
||||
narration1:
|
||||
|
|
|
@ -56,6 +56,8 @@ int main(int argc, char **argv) {
|
|||
int size=0;
|
||||
int skip=0;
|
||||
int mode=MODE_ASM;
|
||||
int lastx=0,lasty=0,lastcolor=0;
|
||||
int tempx,tempcolor;
|
||||
|
||||
if (argc>1) {
|
||||
if ((argv[1][0]=='-') && (argv[1][1]=='b')) {
|
||||
|
@ -191,6 +193,11 @@ int main(int argc, char **argv) {
|
|||
&color1,
|
||||
&x1,&y1);
|
||||
// printf(".byte $%02X,",(type<<4)|4);
|
||||
|
||||
lastx=x1;
|
||||
lasty=y1;
|
||||
lastcolor=color1;
|
||||
|
||||
if (x1>255) {
|
||||
x1=x1&0xff;
|
||||
color1|=128;
|
||||
|
@ -212,11 +219,44 @@ int main(int argc, char **argv) {
|
|||
// printf(".byte $%02X,",(type<<4)|3);
|
||||
// printf("$%02X,",x1);
|
||||
// printf("$%02X\n",y1);
|
||||
output[0]=(type<<4)|3;
|
||||
output[1]=x1;
|
||||
output[2]=y1;
|
||||
output_bytes(mode,output,3);
|
||||
size+=3;
|
||||
|
||||
tempx=lastx;
|
||||
tempcolor=lastcolor;
|
||||
|
||||
if (lastx>255) {
|
||||
tempx=tempx&0xff;
|
||||
tempcolor=tempcolor|128;
|
||||
}
|
||||
|
||||
if (x1>255) {
|
||||
output[0]=(VGI_LINE_FAR<<4)|6;
|
||||
output[1]=tempcolor;
|
||||
output[2]=tempx;
|
||||
output[3]=lasty;
|
||||
output[4]=(x1&0xff);
|
||||
output[5]=y1;
|
||||
output_bytes(mode,output,6);
|
||||
size+=6;
|
||||
#if 0
|
||||
fprintf(stderr,"ADJUSTING %d %d %d %d %d %d\n",
|
||||
output[0],
|
||||
output[1],
|
||||
output[2],
|
||||
output[3],
|
||||
output[4],
|
||||
output[5]);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
output[0]=(type<<4)|3;
|
||||
output[1]=x1;
|
||||
output[2]=y1;
|
||||
output_bytes(mode,output,3);
|
||||
size+=3;
|
||||
}
|
||||
lastx=x1;
|
||||
lasty=y1;
|
||||
|
||||
break;
|
||||
|
||||
case VGI_DITHER_RECTANGLE: /* dithered rectangle */
|
||||
|
@ -330,10 +370,16 @@ int main(int argc, char **argv) {
|
|||
break;
|
||||
|
||||
case VGI_LINE: /* line */
|
||||
case VGI_LINE_FAR: /* line far */
|
||||
sscanf(buffer,"%*s %i %i %i %i %i",
|
||||
&color1,
|
||||
&x1,&y1,&x2,&y2);
|
||||
// printf(".byte $%02X,",(type<<4)|6);
|
||||
|
||||
lastx=x2;
|
||||
lasty=y2;
|
||||
lastcolor=color1;
|
||||
|
||||
if (x1>255) {
|
||||
x1=x1&0xff;
|
||||
color1|=128;
|
||||
|
@ -343,6 +389,11 @@ int main(int argc, char **argv) {
|
|||
// printf("$%02X,",y1);
|
||||
// printf("$%02X,",x2);
|
||||
// printf("$%02X\n",y2);
|
||||
if (x2>255) {
|
||||
type=VGI_LINE_FAR;
|
||||
x2=x2&0xff;
|
||||
}
|
||||
|
||||
output[0]=(type<<4)|6;
|
||||
output[1]=color1;
|
||||
output[2]=x1;
|
||||
|
@ -353,7 +404,7 @@ int main(int argc, char **argv) {
|
|||
size+=6;
|
||||
break;
|
||||
|
||||
case VGI_LINE_FAR: /* line */
|
||||
#if 0
|
||||
sscanf(buffer,"%*s %i %i %i %i %i",
|
||||
&color1,
|
||||
&x1,&y1,&x2,&y2);
|
||||
|
@ -380,7 +431,7 @@ int main(int argc, char **argv) {
|
|||
output_bytes(mode,output,6);
|
||||
size+=6;
|
||||
break;
|
||||
|
||||
#endif
|
||||
|
||||
case VGI_END: /* end */
|
||||
// printf(".byte $FF\n");
|
||||
|
|
Loading…
Reference in New Issue