alien_data.s 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849
  1. *--------------------------Data Functions---------------------*
  2. Display_Alien_Name
  3. tst.w edit_data_flag
  4. beq.s dont_display_name
  5. move.w mouse_y,d0
  6. cmp.w max_map_screen_pos,d0
  7. bge dont_display_name
  8. move.l current_map_ptr,a2
  9. move.l map_alien_mem(a2),a0
  10. moveq #0,d1
  11. move.w last_posx,d1
  12. move.w last_posy,d2
  13. add.l d1,a0
  14. move.w map_xsize(a2),d6
  15. mulu d6,d2
  16. add.l d2,a0 ;map position
  17. move.b (a0),d0
  18. ext.w d0
  19. cmp.w last_alien_displayed,d0
  20. beq.s dont_display_name
  21. move.w d0,-(sp)
  22. clr.w d3 ;delete
  23. bsr Draw_Alien_Name
  24. move.w (sp)+,d0
  25. move.w d0,last_alien_displayed
  26. move.w #1,d3
  27. bsr Draw_Alien_Name
  28. dont_display_name
  29. rts
  30. Draw_Alien_Name
  31. *send d3 for delete or draw
  32. move.w last_alien_displayed,d0
  33. beq.s dont_draw_name
  34. mulu #17,d0
  35. move.l #alien_names,a1
  36. add.l d0,a1
  37. move.l #button_window_struct,a0
  38. move.w #180,d0
  39. move.w #THIRD_ROW-FONT_HEIGHT,d1
  40. move.w #4,d2
  41. jsr write_button_text
  42. clr.w d3
  43. bsr Display_Alien_Menu
  44. move.w #1,d3
  45. move.w last_alien_displayed,d0
  46. move.w d0,Alien_Menu_Number
  47. bsr Display_Alien_Menu
  48. dont_draw_name
  49. rts
  50. last_alien_displayed
  51. dc.w 0
  52. bring_up_data_function
  53. tst.w fullscreen_mode
  54. bne.s ad_not_in_fs_mode
  55. move.w #BUTTON_WINDOW_OFFSET,max_map_screen_pos
  56. move.w #BUTTON_WINDOW_OFFSET,map_screen_custom_y
  57. ad_not_in_fs_mode
  58. clr.w last_alien_displayed
  59. move.w #1,edit_data_flag
  60. move.l #top_level_list,a0
  61. bsr remove_button_list
  62. move.l #data_main_list,a0
  63. bsr display_button_list
  64. bsr display_map_on_screen
  65. bsr display_edit_text
  66. bsr display_edit_nums
  67. move.w #1,d3
  68. bsr display_alien_string
  69. bsr display_alien_menu
  70. bsr display_alien_numbers
  71. rts
  72. exit_data_function
  73. move.w #0,edit_data_flag
  74. move.l #data_main_list,a0
  75. bsr remove_button_list
  76. bsr remove_edit_text
  77. bsr remove_edit_nums
  78. clr.w d3
  79. bsr display_alien_string
  80. bsr display_alien_menu
  81. clr.w edit_mode
  82. move.l #top_level_list,a0
  83. bsr display_button_list
  84. bsr clear_screen
  85. clr.w d3
  86. bsr Draw_Alien_Name
  87. tst.w fullscreen_mode
  88. bne.s exit_ad_not_in_fs_mode
  89. move.w #BUTTON_WINDOW_OFFSET-32,max_map_screen_pos
  90. move.w #BUTTON_WINDOW_OFFSET-32,map_screen_custom_y
  91. exit_ad_not_in_fs_mode
  92. rts
  93. edit_data_flag
  94. dc.w 0
  95. scroll_dat_left
  96. bsr scroll_map_left
  97. bsr display_alien_numbers
  98. rts
  99. scroll_dat_right
  100. bsr scroll_map_right
  101. bsr display_alien_numbers
  102. rts
  103. scroll_dat_up
  104. bsr scroll_map_up
  105. bsr display_alien_numbers
  106. rts
  107. scroll_dat_down
  108. bsr scroll_map_down
  109. bsr display_alien_numbers
  110. rts
  111. *******************************************
  112. ****** DISPLAY ALIEN STRING ******
  113. *******************************************
  114. Display_Alien_String
  115. *delete or draw in d3
  116. move.w current_alien_number,d0
  117. mulu #17,d0
  118. move.l #alien_names,a1
  119. add.l d0,a1
  120. move.l #button_window_struct,a0
  121. move.w #180,d0
  122. move.w #THIRD_ROW+FONT_HEIGHT,d1
  123. move.w #4,d2
  124. jsr write_button_text
  125. rts
  126. *******************************************
  127. ****** DISPLAY ALIEN MENU ******
  128. *******************************************
  129. Display_Alien_Menu
  130. *send delete or draw in d3
  131. move.w Alien_Menu_Number,d0
  132. mulu #17,d0
  133. move.l #alien_names,a1
  134. add.l d0,a1
  135. move.l #button_window_struct,a0
  136. move.w #385,d0
  137. move.w #FIRST_ROW+2,d1
  138. move.w #4,d2
  139. move.w #6-1,d7
  140. draw_up_alien_menu
  141. jsr write_button_text
  142. add.l #17,a1
  143. add.w #FONT_HEIGHT,d1
  144. dbra d7,draw_up_alien_menu
  145. rts
  146. Alien_Menu_Number dc.w 0
  147. *******************************************
  148. ****** SELECT ALIEN ******
  149. *******************************************
  150. Select_Alien
  151. moveq #0,d3
  152. bsr Display_Alien_String
  153. move.l clicked_button,a0
  154. move.w Alien_Menu_Number,d0
  155. add.b button_data(a0),d0
  156. move.w d0,current_alien_number
  157. move.w #1,d3
  158. bsr Display_Alien_String
  159. rts
  160. *******************************************
  161. ****** ADD ALIEN DATA ******
  162. *******************************************
  163. add_alien_data
  164. move.w current_alien_number,d7
  165. bsr put_in_alien_map
  166. bsr Convert_mouse_and_store
  167. move.w current_alien_number,d2
  168. bsr Draw_Number
  169. rts
  170. *******************************************
  171. ****** REMOVE ALIEN DATA ******
  172. *******************************************
  173. remove_alien_data
  174. bsr Convert_mouse_and_store
  175. moveq.w #0,d7
  176. bsr put_in_alien_map
  177. bsr display_map_on_screen
  178. bsr Display_Alien_Numbers
  179. rts
  180. *******************************************
  181. ****** PUT IN ALIEN MAP ******
  182. *******************************************
  183. put_in_alien_map
  184. move.l current_map_ptr,a2
  185. move.l map_alien_mem(a2),a0
  186. moveq #0,d1
  187. move.w map_x_position,d1
  188. add.l d1,a0
  189. move.w map_y_position,d1
  190. move.w map_xsize(a2),d6
  191. mulu d6,d1
  192. add.l d1,a0 ;map position
  193. bsr convert_mouse_and_store
  194. divu map_block_size(a2),d0
  195. swap d0
  196. clr.w d0
  197. swap d0
  198. move.w d0,d2
  199. add.w map_x_position,d2
  200. addq.w #1,d2
  201. add.l d0,a0
  202. divu map_block_size(a2),d1
  203. move.w d1,d0
  204. add.w map_y_position,d0
  205. addq.w #1,d0
  206. mulu d6,d1
  207. add.l d1,a0 ;got it !!!!
  208. move.b d7,(a0)
  209. rts
  210. *******************************************
  211. ****** ALIEN UP ******
  212. *******************************************
  213. alien_up
  214. cmp.w #127-6,Alien_Menu_Number
  215. beq.s no_higher
  216. move.w #0,d3
  217. bsr display_alien_menu
  218. addq.w #1,Alien_Menu_Number
  219. move.w #1,d3
  220. bsr display_alien_menu
  221. no_higher
  222. rts
  223. *******************************************
  224. ****** ALIEN DOWN ******
  225. *******************************************
  226. alien_down
  227. tst Alien_Menu_Number
  228. beq.s no_lower
  229. move.w #0,d3
  230. bsr display_alien_menu
  231. subq.w #1,Alien_Menu_Number
  232. move.w #1,d3
  233. bsr display_alien_menu
  234. no_lower
  235. rts
  236. *******************************************
  237. ****** DISPLAY ALIEN NUMBERS ******
  238. *******************************************
  239. Display_Alien_Numbers
  240. *bodgy routine that just updates whole map with alien numbers
  241. move.l current_map_ptr,a0
  242. moveq #0,d3
  243. moveq #0,d1
  244. move.l #main_screen_struct,a1
  245. move.w screen_x_size(a1),d3
  246. divu map_block_size(a0),d3 ;number of blocks in x
  247. move.w max_map_screen_pos,d1
  248. divu map_block_size(a0),d1 ;number of blocks in y
  249. move.l map_alien_mem(a0),a2
  250. move.w map_y_position,d4
  251. mulu map_xsize(a0),d4
  252. add.l d4,a2
  253. move.w map_x_position,d4
  254. ext.l d4
  255. add.l d4,a2
  256. move.w map_block_size(a0),d5
  257. moveq #0,d7 ;y pos
  258. add_alien_num_y
  259. move.l a2,a3
  260. moveq #0,d6 ;x pos
  261. move.w d3,d0
  262. add_alien_num_x
  263. moveq #0,d2
  264. move.b (a3)+,d2
  265. beq.s skip_draw
  266. movem.l d0-d7/a0-a3,-(sp)
  267. move.w d6,d0
  268. move.w d7,d1
  269. bsr Draw_Number
  270. movem.l (sp)+,d0-d7/a0-a3
  271. skip_draw
  272. add.w d5,d6
  273. subq.w #1,d0
  274. bne.s add_alien_num_x
  275. add.w d5,d7
  276. *add whole line
  277. moveq #0,d2
  278. move.w map_xsize(a0),d2
  279. add.l d2,a2
  280. subq.w #1,d1
  281. bne add_alien_num_y
  282. rts
  283. *******************************************
  284. ****** CLEAR ALIEN DATA ******
  285. *******************************************
  286. Clear_Alien_Data
  287. bsr display_map_on_screen
  288. move.l current_map_ptr,a0
  289. move.w map_xsize(a0),d0
  290. mulu map_ysize(a0),d0
  291. subq.w #1,d0
  292. move.l map_alien_mem(a0),a0
  293. clear_al_l
  294. clr.b (a0)+
  295. dbra d0,clear_al_l
  296. rts
  297. *******************************************
  298. ****** DRAW NUMBER ******
  299. *******************************************
  300. Draw_Number
  301. *send x and y in d0 and d1
  302. *send number in d2
  303. move.l #100,d6 ;divider
  304. ext.l d2
  305. move.l #main_screen_struct,a0
  306. move.w screen_x_size(a0),d7
  307. asr.w #3,d7 ;bytes per row
  308. output_num_loop
  309. divu d6,d2
  310. move.w d2,d3
  311. clr.w d2
  312. swap d2 ;next number to output
  313. mulu #(5*2),d3
  314. add.l #small_numbers,d3 ;graphics
  315. move.l screen_mem(a0),a1
  316. move.w d1,d5
  317. mulu d7,d5
  318. add.l d5,a1
  319. move.w d0,d5
  320. move.w d5,d4
  321. andi.w #$fff0,d4
  322. andi.w #$000f,d5
  323. asr.w #3,d4
  324. ext.l d4
  325. add.l d4,a1 ;screen mem pos
  326. ror #4,d5
  327. move.w d5,d4
  328. or.w #$fca,d5
  329. swap d5
  330. move.w d4,d5
  331. move.w d7,d4
  332. subq.w #4,d4 ;mod
  333. wait_for_num1
  334. btst #14,dmaconr(a6)
  335. bne.s wait_for_num1
  336. move.l d5,bltcon0(a6) ;shifts etc
  337. move.l a1,bltcpt(a6) ;scr pos
  338. move.l a1,bltdpt(a6) ;dest
  339. move.l d3,bltbpt(a6)
  340. move.l d3,bltapt(a6)
  341. move.w d4,bltcmod(a6)
  342. move.w d4,bltdmod(a6)
  343. move.l #$ffff0000,bltafwm(a6)
  344. move.w #-2,bltbmod(a6)
  345. move.w #-2,bltamod(a6)
  346. move.w #5<<6+2,bltsize(a6)
  347. move.w screen_y_size(a0),d4
  348. mulu d7,d4
  349. add.l d4,a1
  350. wait_for_num2
  351. btst #14,dmaconr(a6)
  352. bne.s wait_for_num2
  353. move.l a1,bltcpt(a6) ;scr pos
  354. move.l a1,bltdpt(a6) ;dest
  355. move.l d3,bltbpt(a6)
  356. move.l d3,bltapt(a6)
  357. move.w #5<<6+2,bltsize(a6)
  358. add.l d4,a1
  359. wait_for_num3
  360. btst #14,dmaconr(a6)
  361. bne.s wait_for_num3
  362. move.l a1,bltcpt(a6) ;scr pos
  363. move.l a1,bltdpt(a6) ;dest
  364. move.l d3,bltbpt(a6)
  365. move.l d3,bltapt(a6)
  366. move.w #5<<6+2,bltsize(a6)
  367. add.l d4,a1
  368. wait_for_num4
  369. btst #14,dmaconr(a6)
  370. bne.s wait_for_num4
  371. move.l a1,bltcpt(a6) ;scr pos
  372. move.l a1,bltdpt(a6) ;dest
  373. move.l d3,bltbpt(a6)
  374. move.l d3,bltapt(a6)
  375. move.w #5<<6+2,bltsize(a6)
  376. wait_for_num_fin
  377. btst #14,dmaconr(a6)
  378. bne.s wait_for_num_fin
  379. add.w #5,d0
  380. cmp.w #1,d6
  381. beq.s done_all_num
  382. divu #10,d6
  383. bra output_num_loop
  384. done_all_num
  385. rts
  386. current_alien_number dc.w 1
  387. *-------------------------Data function buttons
  388. data_main_list
  389. dc.l data_alien_list,data_quit
  390. dc.l data_scrollup_map_button,data_scrolldown_map_button
  391. dc.l data_scrollleft_map_button,data_scrollright_map_button
  392. dc.l data_hit_on_map
  393. dc.l down_alien_number,up_alien_number
  394. dc.l AlienMenu1,AlienMenu2,AlienMenu3,AlienMenu4,AlienMenu5,AlienMenu6
  395. dc.l $ffffffff
  396. data_hit_on_map
  397. dc.w 0
  398. dc.w 0
  399. dc.w MAIN_SCREEN ;frame type
  400. dc.b CUSTOM_BUTTON+NO_WAIT_BUTTON+HOLD_BUTTON
  401. dc.b NOT_DEPRESSED
  402. dc.b 0
  403. dc.b 0 ;not used
  404. dc.l map_screen_custom_button
  405. dc.l 0 ;not used
  406. dc.l Add_Alien_Data
  407. dc.b 0
  408. EVEN
  409. data_alien_list
  410. dc.w BUTTON_1
  411. dc.w FIRST_ROW
  412. dc.w MAIN_BUTTON_SCREEN ;frame type
  413. dc.b STANDARD_BUTTON ;standard
  414. dc.b NOT_DEPRESSED
  415. dc.b 0
  416. dc.b 0 ;not used
  417. dc.l 0 ;not used
  418. dc.l 0 ;not used
  419. dc.l change_colour
  420. dc.b "ALIEN LIST",0
  421. EVEN
  422. data_quit
  423. dc.w BUTTON_1
  424. dc.w FOURTH_ROW
  425. dc.w MAIN_BUTTON_SCREEN ;frame type
  426. dc.b STANDARD_BUTTON ;standard
  427. dc.b NOT_DEPRESSED
  428. dc.b 0
  429. dc.b 0 ;not used
  430. dc.l 0 ;not used
  431. dc.l 0 ;not used
  432. dc.l exit_data_function
  433. dc.b "EXIT",0
  434. EVEN
  435. up_alien_number
  436. dc.w BUTTON_4+18
  437. dc.w SECOND_ROW+4-10
  438. dc.w MAIN_BUTTON_SCREEN ;frame type
  439. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  440. dc.b NOT_DEPRESSED
  441. dc.b 0
  442. dc.b 0 ;not used
  443. dc.l arrow_up
  444. dc.l 0 ;not used
  445. dc.l alien_down
  446. dc.b 0
  447. EVEN
  448. down_alien_number
  449. dc.w BUTTON_4+18
  450. dc.w SECOND_ROW+20+10
  451. dc.w MAIN_BUTTON_SCREEN ;frame type
  452. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  453. dc.b NOT_DEPRESSED
  454. dc.b 0
  455. dc.b 0 ;not used
  456. dc.l arrow_down
  457. dc.l 0 ;not used
  458. dc.l alien_up
  459. dc.b 0
  460. EVEN
  461. data_scrollup_map_button
  462. dc.w BUTTON_5+140
  463. dc.w SECOND_ROW+5
  464. dc.w MAIN_BUTTON_SCREEN ;frame type
  465. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  466. dc.b NOT_DEPRESSED
  467. dc.b 0
  468. dc.b 0 ;not used
  469. dc.l arrow_up
  470. dc.l 0 ;not used
  471. dc.l scroll_dat_up
  472. dc.b 0
  473. EVEN
  474. data_scrolldown_map_button
  475. dc.w BUTTON_5+140
  476. dc.w SECOND_ROW+35
  477. dc.w MAIN_BUTTON_SCREEN ;frame type
  478. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  479. dc.b NOT_DEPRESSED
  480. dc.b 0
  481. dc.b 0 ;not used
  482. dc.l arrow_down
  483. dc.l 0 ;not used
  484. dc.l scroll_dat_down
  485. dc.b 0
  486. EVEN
  487. data_scrollleft_map_button
  488. dc.w BUTTON_5+110
  489. dc.w SECOND_ROW+20
  490. dc.w MAIN_BUTTON_SCREEN ;frame type
  491. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  492. dc.b NOT_DEPRESSED
  493. dc.b 0
  494. dc.b 0 ;not used
  495. dc.l arrow_left
  496. dc.l 0 ;not used
  497. dc.l scroll_dat_right
  498. dc.b 0
  499. EVEN
  500. data_scrollright_map_button
  501. dc.w BUTTON_5+167
  502. dc.w SECOND_ROW+20
  503. dc.w MAIN_BUTTON_SCREEN ;frame type
  504. dc.b CUSTOM_BUTTON+HOLD_BUTTON
  505. dc.b NOT_DEPRESSED
  506. dc.b 0
  507. dc.b 0 ;not used
  508. dc.l arrow_right
  509. dc.l 0 ;not used
  510. dc.l scroll_dat_left
  511. dc.b 0
  512. EVEN
  513. alien_names
  514. dc.b "000 ------------",0
  515. dc.b "001 ------------",0
  516. dc.b "002 Smoke Object",0
  517. dc.b "003 ------------",0
  518. dc.b "004 ------------",0
  519. dc.b "005 ------------",0
  520. dc.b "006 ------------",0
  521. dc.b "007 ------------",0
  522. dc.b "008 ------------",0
  523. dc.b "009 ------------",0
  524. dc.b "010 ------------",0 ;10
  525. dc.b "011 ------------",0
  526. dc.b "012 ------------",0
  527. dc.b "013 Hostage ",0
  528. dc.b "014 Normal Pig ",0
  529. dc.b "015 ------------",0
  530. dc.b "016 Grenade Pack",0
  531. dc.b "017 Missile Pack",0
  532. dc.b "018 ------------",0
  533. dc.b "019 Extra Life P",0 ;19
  534. dc.b "020 Extra Energy",0
  535. dc.b "021 ------------",0
  536. dc.b "022 ------------",0
  537. dc.b "023 Red Flower ",0
  538. dc.b "024 Blue Flower ",0
  539. dc.b "025 Standard Key",0
  540. dc.b "026 PigMissile ",0
  541. dc.b "027 Pig Skull ",0
  542. dc.b "028 Spikey Mine ",0
  543. dc.b "029 ------------",0
  544. dc.b "030 Gold Coin ",0
  545. dc.b "031 Gold Chest ",0
  546. dc.b "032 GC 4 ",0
  547. dc.b "033 GC 3 ",0
  548. dc.b "034 GC 2 ",0
  549. dc.b "035 GC 1 ",0 ;35
  550. dc.b "036 GC 0 ",0
  551. dc.b "037 Silver Coin ",0
  552. dc.b "038 Silver Chest",0
  553. dc.b "039 SC 4 ",0
  554. dc.b "040 SC 3 ",0
  555. dc.b "041 SC 2 ",0
  556. dc.b "042 SC 1 ",0
  557. dc.b "043 SC 0 ",0
  558. dc.b "044 Fish Bob Lef",0
  559. dc.b "045 Fish Bob Rig",0
  560. dc.b "046 ------------",0
  561. dc.b "047 ------------",0
  562. dc.b "048 Statue Head ",0
  563. dc.b "049 Wasp Nest ",0
  564. dc.b "050 ------------",0
  565. dc.b "051 Fish Up Bob ",0
  566. dc.b "052 ------------",0
  567. dc.b "053 ------------",0 ;53
  568. dc.b "054 ------------",0
  569. dc.b "055 Pig Generato",0
  570. dc.b "056 Pig gen 2 ",0
  571. dc.b "057 Pig gen 3 ",0
  572. dc.b "058 Pig gen 4 ",0
  573. dc.b "059 Pig gen 5 ",0
  574. dc.b "060 Pig gen no s",0
  575. dc.b "061 Maggot ",0
  576. dc.b "062 Maggot spd 2",0
  577. dc.b "063 Maggot spd 3",0
  578. dc.b "064 Maggot Gener",0
  579. dc.b "065 Added maggot",0
  580. dc.b "066 The Generato",0
  581. dc.b "067 Key Chest ",0
  582. dc.b "068 Fire Key ",0
  583. dc.b "069 Gold Money 1",0
  584. dc.b "070 Silver Money",0
  585. dc.b "071 Gold Money 2",0
  586. dc.b "072 Silver Money",0
  587. dc.b "073 Swamp Anim ",0
  588. dc.b "074 Pig guard ",0
  589. dc.b "075 Small potion",0
  590. dc.b "076 Butterfly ",0
  591. dc.b "077 Torch Flame ",0
  592. dc.b "078 No Shoot Pig",0
  593. dc.b "079 Counter Magg",0
  594. dc.b "080 Speed Pig ",0
  595. dc.b "081 Spore Right ",0
  596. dc.b "082 Spore Left ",0
  597. dc.b "083 Spore Up ",0
  598. dc.b "084 Spore Down ",0
  599. dc.b "085 Spore Frag ",0
  600. dc.b "086 Bush Gener ",0
  601. dc.b "087 ------------",0
  602. dc.b "088 ExploPig Gen",0
  603. dc.b "089 Explo Pig ",0
  604. dc.b "090 Counter Gen ",0
  605. dc.b "091 Fly ",0
  606. dc.b "092 Fly 2 ",0
  607. dc.b "093 Spider ",0
  608. dc.b "094 Spider Bulle",0
  609. dc.b "095 Fly 3 ",0
  610. dc.b "096 Fly 4 ",0
  611. dc.b "097 Red Flip Flo",0
  612. dc.b "098 Chain Gen ",0
  613. max_alien_names equ (*-alien_names)/17
  614. ds.b 17*(127-max_alien_names)
  615. dc.b "127 END OF LIST ",0
  616. even
  617. AlienMenu1
  618. dc.w 385
  619. dc.w FIRST_ROW+2
  620. dc.w MAIN_BUTTON_SCREEN ;frame type
  621. dc.b CUSTOM_BUTTON ;standard
  622. dc.b NOT_DEPRESSED
  623. dc.b 0
  624. dc.b 0 ;not used
  625. dc.l FileButton ;not used
  626. dc.l 0 ;not used
  627. dc.l Select_Alien
  628. dc.b 0
  629. EVEN
  630. AlienMenu2
  631. dc.w 385
  632. dc.w FIRST_ROW+2+FONT_HEIGHT
  633. dc.w MAIN_BUTTON_SCREEN ;frame type
  634. dc.b CUSTOM_BUTTON ;standard
  635. dc.b NOT_DEPRESSED
  636. dc.b 1
  637. dc.b 0 ;not used
  638. dc.l FileButton ;not used
  639. dc.l 0 ;not used
  640. dc.l Select_Alien
  641. dc.b 0
  642. EVEN
  643. AlienMenu3
  644. dc.w 385
  645. dc.w FIRST_ROW+2+FONT_HEIGHT*2
  646. dc.w MAIN_BUTTON_SCREEN ;frame type
  647. dc.b CUSTOM_BUTTON ;standard
  648. dc.b NOT_DEPRESSED
  649. dc.b 2
  650. dc.b 0 ;not used
  651. dc.l FileButton ;not used
  652. dc.l 0 ;not used
  653. dc.l Select_Alien
  654. dc.b 0
  655. EVEN
  656. AlienMenu4
  657. dc.w 385
  658. dc.w FIRST_ROW+2+FONT_HEIGHT*3
  659. dc.w MAIN_BUTTON_SCREEN ;frame type
  660. dc.b CUSTOM_BUTTON ;standard
  661. dc.b NOT_DEPRESSED
  662. dc.b 3
  663. dc.b 0 ;not used
  664. dc.l FileButton ;not used
  665. dc.l 0 ;not used
  666. dc.l Select_Alien
  667. dc.b 0
  668. EVEN
  669. AlienMenu5
  670. dc.w 385
  671. dc.w FIRST_ROW+2+FONT_HEIGHT*4
  672. dc.w MAIN_BUTTON_SCREEN ;frame type
  673. dc.b CUSTOM_BUTTON ;standard
  674. dc.b NOT_DEPRESSED
  675. dc.b 4
  676. dc.b 0 ;not used
  677. dc.l FileButton ;not used
  678. dc.l 0 ;not used
  679. dc.l Select_Alien
  680. dc.b 0
  681. EVEN
  682. AlienMenu6
  683. dc.w 385
  684. dc.w FIRST_ROW+2+FONT_HEIGHT*5
  685. dc.w MAIN_BUTTON_SCREEN ;frame type
  686. dc.b CUSTOM_BUTTON ;standard
  687. dc.b NOT_DEPRESSED
  688. dc.b 5
  689. dc.b 0 ;not used
  690. dc.l FileButton ;not used
  691. dc.l 0 ;not used
  692. dc.l Select_Alien
  693. dc.b 0
  694. EVEN