Lists.asm 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. include_macros equ 1
  2. include_scripts equ 1
  3. include_sequates equ 1
  4. include include.asm
  5. start32data
  6. align 4
  7. include lists.inc
  8. include talks.inc
  9. end32data
  10. start32code
  11. fetch_compact_esi proc
  12. ; Fetch the address of compact eax
  13. mov esi,eax ;seperate section from number
  14. and esi,0f000h
  15. shr esi,12-2 ;top four bits * 4
  16. and eax,0fffh ;now look at number
  17. shl eax,2 ;dwords
  18. add eax,[esi+offset item_list+section_0_item*4]
  19. mov esi,[eax]
  20. ret
  21. fetch_compact_esi endp
  22. end32code
  23. ;--------------------------------------------------------------------------------------------------
  24. ;--------------------------------------------------------------------------------------------------
  25. ;--------------------------------------------------------------------------------------------------
  26. start32data
  27. align 4
  28. ; 0 **NOT USED**
  29. item_list dd 0
  30. ; 1 first legal id - std scripts
  31. dd 0
  32. ; 2 module 2 section 1 scripts
  33. dd 0
  34. ; 3 module
  35. dd 0
  36. ; 4
  37. dd 0
  38. ; 5
  39. dd 0
  40. ; 6
  41. dd 0
  42. ; 7
  43. dd 0
  44. ; 8
  45. dd 0
  46. ; 9
  47. dd 0
  48. ; 10
  49. dd 0
  50. ;*******************
  51. ; 11
  52. dd 0 ;full_foster
  53. ; 12 foster full size
  54. dd 0 ;sprite+16
  55. ; 13 mini foster
  56. dd 0 ;mini_foster_sprite+16
  57. ; 14
  58. dd 0 ;up_stairs_spr+16
  59. ; 15
  60. dd 0 ;up_stairs2_spr+16
  61. ; 16
  62. dd 0 ;post
  63. ; 17
  64. dd 0 ;floor
  65. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  66. ; 18 used for debugging
  67. dd 0 ;coordinate_test
  68. ; 19
  69. dd 0
  70. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  71. ; 20
  72. dd 0 ;door
  73. ; 21 rm1
  74. dd 0 ;zdoor
  75. ; 22 rm1
  76. dd 0 ;zfloor
  77. ; 23 cursor sprite
  78. dd 0
  79. ; 24
  80. dd 0 ;text_2
  81. ; 25
  82. dd 0 ;text_3
  83. ; 26
  84. dd 0 ;text_4
  85. ; 27
  86. dd 0 ;text_5
  87. ; 28
  88. dd 0 ;text_6
  89. ; 29
  90. dd 0 ;text_7
  91. ; 30
  92. dd 0 ;text_8
  93. ; 31
  94. dd 0 ;text_9
  95. ; 32
  96. dd 0 ;text_10
  97. ; and their corresponding data items
  98. ; 33
  99. dd 0
  100. ; 34 rm1
  101. dd 0
  102. ; 35 rm1
  103. dd 0
  104. ; 36 rm1
  105. dd 0
  106. ; 37 rm1
  107. dd 0
  108. ; 38 rm1
  109. dd 0
  110. ; 39 rm1
  111. dd 0
  112. ; 40 rm1
  113. dd 0
  114. ; 41 rm1
  115. dd 0
  116. ; 42 rm1
  117. dd 0
  118. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  119. ; 43
  120. dd 0 ;jobsworth
  121. ; 44
  122. dd 0 ;talk1
  123. ; 45
  124. dd 0 ;talk2
  125. ; 46
  126. dd 0 ;menu_bar
  127. ; 47
  128. dd 0 ;left_arrow
  129. ; 48
  130. dd 0 ;right_arrow
  131. ; 49 arrow sprites
  132. dd 0
  133. ; 50 menu objects
  134. dd 0
  135. ; 51 blank object 1
  136. dd 0 ;blank1
  137. ; 52 blank object 2
  138. dd 0 ;blank2
  139. ; 53 blank object 3
  140. dd 0 ;blank3
  141. ; 54 blank object 4
  142. dd 0 ;blank4
  143. ; 55 blank object 5
  144. dd 0 ;blank5
  145. ; 56 blank object 6
  146. dd 0 ;blank6
  147. ; 57 blank object 7
  148. dd 0 ;blank7
  149. ; 58 blank object 8
  150. dd 0 ;blank8
  151. ; 59 blank object 9
  152. dd 0 ;blank9
  153. ; 60 blank object 10
  154. dd 0 ;blank10
  155. ; 61 blank object 11
  156. dd 0 ;blank11
  157. ; 62
  158. dd 0 ;0
  159. ; 63 test object
  160. dd 0 ;test_object
  161. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  162. ; 64 layer 0
  163. dd 0 ;s2_layer_0
  164. ; 65 layer 1
  165. dd 0 ;s2_layer_1
  166. ; 66 grid 1
  167. dd 0 ;s2_grid_1
  168. ; 67 low floor - screen 0
  169. dd 0 ;low_floor
  170. ; 68 mini foster - screen 0
  171. dd 0
  172. ; 69 layer_2
  173. dd 0
  174. ; 70
  175. dd 0
  176. s71 equ 64*71 ;dnstairs
  177. ; 71
  178. dd 0
  179. s72 equ 64*72 ;dnstair2
  180. ; 72
  181. dd 0
  182. s73 equ 73*64 ;mini jobsworth
  183. ; 73
  184. dd 0
  185. ; 74
  186. dd 0
  187. s75 equ 75*64 ;smlgard.ams
  188. dd 0
  189. s76 equ 76*64 ;crouch
  190. dd 0
  191. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  192. first_text_sec equ 77
  193. ; 77 text section 0
  194. dd 0
  195. ; 78 text section 1
  196. dd 0
  197. ; 79 text section 2
  198. dd 0
  199. ; 80 text section 3
  200. dd 0
  201. ; 81 text section 4
  202. dd 0
  203. ; 82 text section 5
  204. dd 0
  205. ; 83 text section 6
  206. dd 0
  207. ; 84 text section 7
  208. dd 0
  209. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  210. ; 85
  211. dd 0
  212. s86 equ 86*64 ;bar
  213. dd 0
  214. s87 equ 87*64 ;get_bar
  215. dd 0
  216. s88 equ 88*64 ;bar_away
  217. dd 0
  218. s89 equ 89*64 ;door
  219. dd 0
  220. ; 90
  221. dd 0
  222. s91 equ 91*64 ;use_bar
  223. dd 0
  224. ;* ** *** **** ***** ****** ******* ****** ***** **** *** ** *
  225. ; 92 layer_0 room 1
  226. dd 0
  227. ; 93 layer_1
  228. dd 0
  229. ; 94 grid 1
  230. dd 0
  231. ; 95
  232. dd 0
  233. s96 equ 96*64 ;door
  234. dd 0
  235. ; 97
  236. dd 0
  237. s98 equ 98*64 ;dodoor
  238. dd 0
  239. s99 equ 99*64 ;guard
  240. dd 0
  241. s100 equ 100*64 ;kickdoor
  242. dd 0
  243. ; 101
  244. dd 0
  245. s102 equ 102*64 ;hang
  246. dd 0
  247. s103 equ 103*64 ;grd_shot
  248. dd 0
  249. s104 equ 104*64 ;smldoor
  250. dd 0
  251. ; 105
  252. dd 0
  253. s106 equ 106*64 ;getcig.ams
  254. dd 0
  255. s107 equ 107*64 ;dragcig
  256. dd 0
  257. s108 equ 108*64 ;cigback
  258. dd 0
  259. s109 equ 109*64 ;flickash
  260. dd 0
  261. s110 equ 110*64 ;grd_shot
  262. dd 0
  263. ; 111
  264. dd 0
  265. ; 112 layer_0 room 2
  266. dd 0
  267. ; 113 layer_1
  268. dd 0
  269. ; 114 sc2
  270. dd 0
  271. ; 115
  272. dd 0
  273. ; 116
  274. dd 0
  275. s117 equ 117*64 ;bigjobs
  276. ; 117 big jobsworth
  277. dd 0
  278. grid_vector_id equ 118
  279. ; 118 game grid buffer
  280. dd 0
  281. ; 119 compacts - section 0
  282. dd data_0
  283. ; 120 compacts - section 1
  284. dd data_1
  285. ifdef s1_demo
  286. dd data_0,data_0,data_0,data_0,data_0
  287. else
  288. ; 121 compacts - section 2
  289. dd data_2
  290. ; 122 compacts - section 3
  291. dd data_3
  292. ; 123 compacts - section 4
  293. dd data_4
  294. ; 124 compacts - section 5
  295. dd data_5
  296. ; 125 compacts - section 6
  297. dd data_6
  298. endif
  299. ; 126 compacts - section 7
  300. dd 0
  301. ; 127 compacts - section 8
  302. dd 0
  303. ; 128 compacts - section 9
  304. dd 0
  305. ; 129 to 261
  306. dd 133 dup (0)
  307. ; 262 anita_card
  308. dd 0
  309. ; 263 anchor
  310. dd 0
  311. ; 264 magazine
  312. dd 0
  313. ; 265 video tape
  314. dd 0
  315. ; 266 cable
  316. dd 0
  317. ; 267 cable
  318. dd 0
  319. ; 268 cable
  320. dd 0
  321. ; 269
  322. dd 0
  323. ; 270 smljobst
  324. dd 0
  325. ; 271 dog biscuits
  326. dd 0
  327. ; 272 secateurs
  328. dd 0
  329. ; 273 smljobst
  330. dd 0
  331. ; 274-284 11 text sections
  332. dd 11 dup (0)
  333. ; 285
  334. dd 0
  335. ; 286
  336. dd 0
  337. ; 287
  338. dd 0
  339. ; 288
  340. dd 0
  341. ; 289
  342. dd 0
  343. ; 290
  344. dd 0
  345. ; 291
  346. dd 0
  347. ; 292
  348. dd 0
  349. ; 293
  350. dd 0
  351. ; 294
  352. dd 0
  353. ; 295
  354. dd 0
  355. ; 296
  356. dd 0
  357. ; 297
  358. dd 0
  359. ; 298
  360. dd 0
  361. ; 299
  362. dd 0
  363. end32data
  364. end
  365.