home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / games / gamesuite / !Amnesia / AmsHelp / Technical / Header next >
Text File  |  1994-10-12  |  4KB  |  195 lines

  1.  
  2. ; Amnesia module header
  3. ; This header was part of the module code which was assembled using !ExtAsm.
  4. ; Copyright A.Southgate 1994 but may be freely distributed and used in the
  5. ; creation of other code.
  6.  
  7. #set Service_Amnesia=&80320; issued when the Amnesia area is discarded.
  8.                            ; used by Stasis to kill sound voices.
  9. #set errorlim    = 100
  10. #set def_tables = 32       
  11.  
  12. ; coordinate shift value
  13.  
  14. #set coordshift = 12
  15.  
  16. ; block flags
  17.  
  18. #set BF_static        = 1
  19. #set BF_qwa        = 1<<1
  20. #set BF_intoff        = 1<<2
  21.  
  22. ; area types
  23.  
  24. #set A_type_tidy    = 0
  25. #set A_type_messy    = 1
  26. #set A_type_static    = 2
  27.  
  28. ; flags used is R2 during table processing/scanning
  29.  
  30. #set R_skip_advance    = 1
  31. #set R_tst        = 1<<1
  32. #set R_alive        = 1<<31
  33.  
  34. ; flags used in R0 during table processing/scanning
  35.  
  36. #set PF_advance        = 1<<23
  37. #set PF_plot        = 1<<22
  38. #set PF_process        = 1<<21
  39.  
  40. ; the Amnesia object flags
  41.  
  42. #set Amf_plot        = 1<<0
  43. #set Amf_user_plot    = 1<<1
  44. #set Amf_velocity    = 1<<2
  45. #set Amf_gravity    = 1<<3
  46. #set Amf_use_plot_ofs    = 1<<4
  47. #set Amf_anim        = 1<<5
  48. #set Amf_make_objsize    = 1<<6
  49. #set Amf_colch        = 1<<7
  50. #set Amf_attn_timer    = 1<<8
  51. #set Amf_dest_timer    = 1<<9
  52. #set Amf_attn        = 1<<10
  53. #set Amf_timer2        = 1<<11
  54. #set Amf_zero_vec    = 1<<12
  55. #set Amf_game_horiz    = 1<<13
  56. #set Amf_game_vert    = 1<<14
  57. #set Amf_plot_window    = 1<<15
  58. #set Amf_kill_window    = 1<<16
  59. #set Amf_colch_window    = 1<<17
  60. #set Amf_save        = 1<<18
  61. #set Amf_reserved    = 1<<19
  62. #set Amf_noleft        = 1<<20
  63. #set Amf_noright    = 1<<21
  64. #set Amf_noup        = 1<<22
  65. #set Amf_nodown        = 1<<23
  66. #set Amf_attn_mask    = &FF<<24
  67.  
  68. ;imask are the events which are never returned to the user
  69.  
  70. #set Amf_imask  = Amf_plot + Amf_velocity + Amf_gravity + Amf_use_plot_ofs + Amf_anim + Amf_make_objsize + Amf_colch + Amf_dest_timer + Amf_zero_vec + Amf_plot_window + Amf_save + Amf_colch_window + Amf_timer2
  71.  
  72. ; the variable block at R12
  73.  
  74. struct Amn_v {
  75.   .areastart    DCD 0
  76.   .areatype    DCD 0
  77.   .areasize    DCD 0
  78.   .gamewindow    DBD 4; 4 words
  79.   .plotwindow    DBD 4; 4 words
  80.   .killwindow    DBD 4; 4 words
  81.   .plotxofs     DCD 0
  82.   .plotyofs    DCD 0
  83.   .gravx    DCD 0
  84.   .gravy    DCD 0
  85.   .colch0    DCD 0
  86.   .colch1    DCD 0
  87.   .colch3    DCD 0
  88.   .colchsave    DBD 4; 4 words - save area for colch regs
  89.   .colchboxes    DBD 8; 8 words - store area for bounding boxes
  90.   .errorctr    DCD 0
  91.   .errorblock   DCD 0
  92.   .errortable   DCD 0
  93.   .buffer     DBD 16 ; 16 words
  94.   .temp0      DCD 0
  95.   .temp1      DCD 0
  96.   .temp2      DCD 0
  97.   .sizeof
  98. }
  99.  
  100. ; the block header structure
  101.  
  102. struct Amn_b {
  103.   .id        DCD 0
  104.   .ptr      DCD 0
  105.   .name        DBB 8 ; 8 bytes
  106.   .size        DCD 0
  107.   .flags    DCD 0
  108.   .sizeof
  109. }
  110.  
  111. ; the table header structure
  112.  
  113. struct Amn_t {
  114.   .id        DCD 0
  115.   .ptr         DCD 0
  116.   .name        DBB 8 ; 8 bytes
  117.   .size        DCD 0
  118.   .flags    DCD 0
  119.   .objsize    DCD 0
  120.   .number    DCD 0
  121.   .tabflags    DCD 0
  122.   .next        DCD 0
  123.   .sizeof
  124. }
  125.  
  126. ; the saved table file header
  127.  
  128. struct Amn_save {
  129.   .id        DCD 0
  130.   .name        DBB 8 ; 8 bytes
  131.   .objsize    DCD 0
  132.   .number    DCD 0
  133.   .gap        DCD 0
  134.   .sizeof
  135. }
  136.  
  137. ; the area header (block 0)
  138.  
  139. struct Amn_h {
  140.   .id        DCD 0
  141.   .ptr        DCD 0
  142.   .name        DBB 8 ; 8 bytes
  143.   .size        DCD 0
  144.   .flags    DCD 0
  145.   .type        DCD 0
  146.   .areasize    DCD 0
  147.   .tlist    DCD 0
  148.   .sizeof
  149. }
  150.  
  151. ; the object structure
  152.  
  153. struct Amn_o {
  154.   .type        DCD 0
  155.   .flags    DCD 0
  156.   .x        DCD 0
  157.   .y        DCD 0
  158.   .xvec        DCD 0
  159.   .yvec        DCD 0
  160.   .timer    DCD 0
  161.   .size        DCD 0
  162.   .timer2    DCD 0
  163.   .sizeof
  164. }
  165.  
  166. ; the collision checking table header
  167.  
  168. struct Amn_c {    
  169.   .id        DCD 0
  170.   .ptr        DCD 0
  171.   .name        DBB 8 ; 8 bytes
  172.   .size        DCD 0
  173.   .flags    DCD 0
  174.   .writeofs    DCD 0
  175.   .sizeof
  176. }
  177.  
  178. ; a collision checking table entry
  179.   
  180. struct Amn_cent {
  181.   .ofs        DCD 0
  182.   .minx         DCD 0
  183.   .miny         DCD 0
  184.   .maxx         DCD 0
  185.   .maxy         DCD 0
  186.   .sizeof
  187.  
  188. ;the table list header
  189.   
  190. struct Amn_tlist {
  191.   .number    DCD 0
  192.   .sizeof
  193. }
  194.