Struc.asm 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. ; An item. Basically a sompact header
  2. item_entry struc
  3. address dd ? ;address of compact
  4. item_entry ends
  5. ;--------------------------------------------------------------------------------------------------
  6. ; The header at the beginning of all data files
  7. s struc
  8. flag dw ? ;bit 0: set for colour data, clear for not
  9. ;bit 1: set for compressed, clear for uncompressed
  10. ;bit 2: set for 32 colours, clear for 16 colours
  11. s_x dw ?
  12. s_y dw ?
  13. s_width dw ?
  14. s_height dw ?
  15. s_sp_size dw ?
  16. s_tot_size dw ?
  17. s_n_sprites dw ?
  18. s_offset_x dw ?
  19. s_offset_y dw ?
  20. s_compressed_size dw ?
  21. s ends
  22. ;--------------------------------------------------------------------------------------------------
  23. ; Here is the brand new all improved compact!!!
  24. cpt equ compact ptr
  25. compact struc
  26. c_logic dw ? ;Entry in logic table to run (byte as <256entries in logic table
  27. c_status dw ?
  28. c_sync dw ? ;flag sent to compacts by other things (what do you mean 'what?!'?)
  29. c_screen dw ? ;current screen
  30. c_place dw ? ;so's this one
  31. c_get_to_table dd ? ;Address of how to get to things table
  32. c_xcood dw ?
  33. c_ycood dw ?
  34. c_frame dw ?
  35. c_cursor_text dw ?
  36. c_mouse_on dw ?
  37. c_mouse_off dw ?
  38. c_mouse_click dw ? ;dword script
  39. c_mouse_rel_x dw ?
  40. c_mouse_rel_y dw ?
  41. c_mouse_size_x dw ?
  42. c_mouse_size_y dw ?
  43. c_action_script dw ?
  44. c_up_flag dw ? ;usually holds the Action Mode
  45. c_down_flag dw ? ;used for passing back
  46. c_get_to_flag dw ? ;used by action script for get to attempts, also frame store (hence word)
  47. c_flag dw ? ;a use any time flag
  48. c_mood dw ? ;high level - stood or not
  49. c_grafix_prog dd ?
  50. c_offset dw ?
  51. c_mode dw ? ;which mcode block
  52. c_base_sub dd ? ;1st mcode block relative to start of compact
  53. c_action_sub dd ?
  54. c_get_to_sub dw ?
  55. dw ?
  56. c_extra_sub dw ?
  57. dw ?
  58. c_dir dw ?
  59. c_stop_script dw ?
  60. c_mini_bump dw ?
  61. c_leaving dw ?
  62. c_at_watch dw ? ;pointer to script variable
  63. c_at_was dw ? ;pointer to script variable
  64. c_alt dw ? ;alternate script
  65. c_request dw ?
  66. c_sp_width_xx dw ?
  67. c_sp_colour dw ?
  68. c_sp_text_id dw ?
  69. c_sp_time dw ?
  70. c_ar_anim_index dw ?
  71. c_turn_prog dd ?
  72. c_waiting_for dw ?
  73. c_ar_target_x dw ?
  74. c_ar_target_y dw ?
  75. c_anim_scratch dd ? ;data area for AR
  76. c_mega_set dw ?
  77. c_grid_width dw ?
  78. c_col_offset dw ?
  79. c_col_width dw ?
  80. c_last_chr dw ?
  81. c_anim_up dd ?
  82. c_anim_down dd ?
  83. c_anim_left dd ?
  84. c_anim_right dd ?
  85. c_stand_up dd ?
  86. c_stand_down dd ?
  87. c_stand_left dd ?
  88. c_stand_right dd ?
  89. c_stand_talk dd ?
  90. c_turn_table_up dd 5 dup (?) ;up table
  91. dd 5 dup (?) ;down table
  92. dd 5 dup (?) ;left table
  93. dd 5 dup (?) ;right table
  94. dd 5 dup (?) ;talk table
  95. compact ends
  96. ; Compact structure equates
  97. ; status
  98. st_background equ 001h ;0 background sprite
  99. st_foreground equ 002h ;1 foreground
  100. st_sort equ 004h ;2 sort and print
  101. st_recreate equ 008h ;3 plot to recreate grid
  102. st_mouse equ 010h ;4 mouse detects
  103. st_collision equ 020h ;5 can collide
  104. st_logic equ 040h ;send through logic engine
  105. st_grid_plot equ 080h
  106. st_ar_priority equ 100h ;8 assign to player
  107. st_no_vmask equ 200h ;9 no vertical masking
  108. st_collision_bit equ 5
  109. s_count equ 0
  110. s_frame equ 2
  111. s_ar_x equ 4
  112. s_ar_y equ 6
  113. s_length equ 8
  114.