home *** CD-ROM | disk | FTP | other *** search
/ PC/CD Gamer UK 13 / PCGAMER13.bin / druiddem / control.inc next >
Text File  |  1995-06-30  |  16KB  |  598 lines

  1. ;******************************************************************************
  2. ;Stop control list processing.
  3. ;******************************************************************************
  4. sleep    macro
  5.     db 0
  6.     endm
  7.  
  8.  
  9. ;******************************************************************************
  10. ;Make a sprite visible
  11. ;******************************************************************************
  12. visible    macro
  13.     db 1
  14.     endm
  15.  
  16.  
  17. ;******************************************************************************
  18. ;Wait specified number of cycles before continueing with control string.
  19. ;******************************************************************************
  20. wait    macro
  21.     db 2
  22.     db \1
  23.     endm
  24.  
  25.  
  26. ;******************************************************************************
  27. ;Set flag to make co-ords refer to bottom center of sprite.
  28. ;******************************************************************************
  29. feet    macro
  30.     db 3
  31.     endm
  32.  
  33.  
  34. ;******************************************************************************
  35. ;Set flag to make use of sprite frame offsets.
  36. ;******************************************************************************
  37. offsets    macro
  38.     db 4
  39.     endm
  40.  
  41.  
  42. ;******************************************************************************
  43. ;Set flag to make animation ping pong.
  44. ;******************************************************************************
  45. pingpong    macro
  46.     db 5
  47.     endm
  48.  
  49.  
  50. ;******************************************************************************
  51. ;Set new control string address.
  52. ;******************************************************************************
  53. goto    macro
  54.     db 6
  55.     dl \1-$
  56.     endm
  57.  
  58.  
  59. ;******************************************************************************
  60. ;Clear flag to stop animation ping pong.
  61. ;******************************************************************************
  62. un_pingpong    macro
  63.     db 7
  64.     endm
  65.  
  66.  
  67. ;******************************************************************************
  68. ;Clear control string to let main code take control.
  69. ;******************************************************************************
  70. clearcon    macro
  71.     db 8
  72.     endm
  73.  
  74.  
  75. ;******************************************************************************
  76. ;Signal reached specific point for any code that's looking on :-)
  77. ;******************************************************************************
  78. signal    macro
  79.     db 9
  80.     db \1
  81.     endm
  82.  
  83.  
  84. ;******************************************************************************
  85. ;Set new control string address.
  86. ;******************************************************************************
  87. death    macro
  88.     db 10
  89.     dl \1-$
  90.     endm
  91.  
  92.  
  93. ;******************************************************************************
  94. ;Kill current sprite.
  95. ;******************************************************************************
  96. kill    macro
  97.     db 11
  98.     endm
  99.  
  100.  
  101. ;******************************************************************************
  102. ;Stop movement in X,Y,Z,Priority,Light & Angle
  103. ;******************************************************************************
  104. stop    macro
  105.     db 12
  106.     endm
  107.  
  108.  
  109. ;******************************************************************************
  110. ;Start a repeat block
  111. ;******************************************************************************
  112. repeat    macro
  113.     db 13
  114.     dw \1
  115.     endm
  116.  
  117.  
  118. ;******************************************************************************
  119. ;close a repeat block.
  120. ;******************************************************************************
  121. endrep    macro
  122.     db 14
  123.     endm
  124.  
  125.  
  126. ;******************************************************************************
  127. ;branch to new control code.
  128. ;******************************************************************************
  129. gosub    macro
  130.     db 15
  131.     dl \1-$
  132.     endm
  133.  
  134.  
  135. ;******************************************************************************
  136. ;Set display X co-ordinate
  137. ;******************************************************************************
  138. xcoord    macro
  139.     db 16
  140.     dw \1
  141.     endm
  142.  
  143.  
  144. ;******************************************************************************
  145. ;Set display Y co-ordinate
  146. ;******************************************************************************
  147. ycoord    macro
  148.     db 17
  149.     dw \1
  150.     endm
  151.  
  152.  
  153. ;******************************************************************************
  154. ;Set sprites z co-ordinate.
  155. ;******************************************************************************
  156. zcoord    macro
  157.     db 19
  158.     db \1
  159.     endm
  160.  
  161.  
  162. ;******************************************************************************
  163. ;Set sprites lighting.
  164. ;******************************************************************************
  165. light    macro
  166.     db 20
  167.     db \1
  168.     endm
  169.  
  170.  
  171. ;******************************************************************************
  172. ;Set sprites priority.
  173. ;******************************************************************************
  174. priority    macro
  175.     db 21
  176.     db \1
  177.     endm
  178.  
  179.  
  180. ;******************************************************************************
  181. ;Set sprite angle.
  182. ;******************************************************************************
  183. angle    macro
  184.     db 24
  185.     db \1
  186.     endm
  187.  
  188. ;******************************************************************************
  189. ;Set sprite file number to use.
  190. ;******************************************************************************
  191. sprite    macro
  192.     db 18
  193.     db \1
  194.     endm
  195.  
  196.  
  197. ;******************************************************************************
  198. ;Set sprite frame number to use.
  199. ;******************************************************************************
  200. frame    macro
  201.     db 22
  202.     db \1
  203.     endm
  204.  
  205.  
  206. ;******************************************************************************
  207. ;Set sprite animation.
  208. ;******************************************************************************
  209. anim    macro
  210.     db 23
  211.     db \1,\2,\3
  212.     endm
  213.  
  214.  
  215. ;******************************************************************************
  216. ;set target X
  217. ;******************************************************************************
  218. movex    macro
  219.     db 26
  220.     dw \1
  221.     endm
  222.  
  223.  
  224. ;******************************************************************************
  225. ;set target Y
  226. ;******************************************************************************
  227. movey    macro
  228.     db 27
  229.     dw \1
  230.     endm
  231.  
  232.  
  233. ;******************************************************************************
  234. ;set target Z
  235. ;******************************************************************************
  236. movez    macro
  237.     db 28
  238.     db \1
  239.     endm
  240.  
  241.  
  242. ;******************************************************************************
  243. ;set target Priority
  244. ;******************************************************************************
  245. movep    macro
  246.     db 29
  247.     db \1
  248.     endm
  249.  
  250.  
  251. ;******************************************************************************
  252. ;set target angle
  253. ;******************************************************************************
  254. movea    macro
  255.     db 30
  256.     db \1
  257.     endm
  258.  
  259.  
  260. ;******************************************************************************
  261. ;set target lighting
  262. ;******************************************************************************
  263. movel    macro
  264.     db 31
  265.     db \1
  266.     endm
  267.  
  268.  
  269. ;******************************************************************************
  270. ;Move to target.
  271. ;******************************************************************************
  272. move    macro
  273.     db 25
  274.     endm
  275.  
  276.  
  277. ;******************************************************************************
  278. ;branch if moveing
  279. ;******************************************************************************
  280. if_moveing    macro
  281.     db 32
  282.     dl \1-$
  283.     endm
  284.  
  285.  
  286. ;******************************************************************************
  287. ;branch if sprite type ?
  288. ;******************************************************************************
  289. if_sprite    macro
  290.     db 33
  291.     db \1
  292.     dl \2-$
  293.     endm
  294.  
  295.  
  296. ;******************************************************************************
  297. ;branch if man in absolute rectangle
  298. ;******************************************************************************
  299. if_manrect    macro
  300.     db 34
  301.     dw \1,\2,\3,\4
  302.     dl \5-$
  303.     endm
  304.  
  305.  
  306. ;******************************************************************************
  307. ;Set a variable
  308. ;******************************************************************************
  309. set    macro
  310.     db 35
  311.     dw \1
  312.     endm
  313.  
  314.  
  315. ;******************************************************************************
  316. ;Clear a variable
  317. ;******************************************************************************
  318. clear    macro
  319.     db 36
  320.     dw \1
  321.     endm
  322.  
  323.  
  324. ;******************************************************************************
  325. ;INC a variable
  326. ;******************************************************************************
  327. inc    macro
  328.     db 37
  329.     dw \1
  330.     endm
  331.  
  332.  
  333. ;******************************************************************************
  334. ;DEC a variable
  335. ;******************************************************************************
  336. dec    macro
  337.     db 38
  338.     dw \1
  339.     endm
  340.  
  341.  
  342. ;******************************************************************************
  343. ;check if variable is none zero (set)
  344. ;******************************************************************************
  345. if_set    macro
  346.     db 39
  347.     dw \1
  348.     dl \2-$
  349.     endm
  350.  
  351.  
  352. ;******************************************************************************
  353. ;check if variable is zero (clear)
  354. ;******************************************************************************
  355. if_clear    macro
  356.     db 40
  357.     dw \1
  358.     dl \2-$
  359.     endm
  360.  
  361.  
  362. ;******************************************************************************
  363. ;check variable for value.
  364. ;******************************************************************************
  365. if_value    macro
  366.     db 41
  367.     dw \1
  368.     dl \2
  369.     dl \3-$
  370.     endm
  371.  
  372.  
  373. ;******************************************************************************
  374. ;check if variable is less than value
  375. ;******************************************************************************
  376. if_less    macro
  377.     db 42
  378.     dw \1
  379.     dl \2
  380.     dl \3-$
  381.     endm
  382.  
  383.  
  384. ;******************************************************************************
  385. ;check if variable is more than value
  386. ;******************************************************************************
  387. if_more    macro
  388.     db 43
  389.     dw \1
  390.     dl \2
  391.     dl \3-$
  392.     endm
  393.  
  394.  
  395. ;******************************************************************************
  396. ;store current position in variable.
  397. ;******************************************************************************
  398. save_pos    macro
  399.     db 44
  400.     dw \1
  401.     endm
  402.  
  403.  
  404. ;******************************************************************************
  405. ;restore position from variable.
  406. ;******************************************************************************
  407. load_pos    macro
  408.     db 45
  409.     dw \1
  410.     endm
  411.  
  412.  
  413. ;******************************************************************************
  414. ;return from a gusub.
  415. ;******************************************************************************
  416. return    macro
  417.     db 46
  418.     endm
  419.  
  420.  
  421. ;******************************************************************************
  422. ;Conditional branch on man's node ID
  423. ;******************************************************************************
  424. if_manid    macro
  425.     db 47
  426.     db \1
  427.     dl \2-$
  428.     endm
  429.  
  430.  
  431. ;******************************************************************************
  432. ;Use a node ID to set target values for a MOVE
  433. ;******************************************************************************
  434. moven    macro
  435.     db 48
  436.     db \1
  437.     endm
  438.  
  439.  
  440. ;******************************************************************************
  441. ;Use a node ID to set position.
  442. ;******************************************************************************
  443. posid    macro
  444.     db 49
  445.     db \1
  446.     endm
  447.  
  448.  
  449. ;******************************************************************************
  450. ;Switch to death controller.
  451. ;******************************************************************************
  452. die    macro
  453.     db 50
  454.     endm
  455.  
  456.  
  457. ;******************************************************************************
  458. ;generate another sprite.
  459. ;******************************************************************************
  460. generate    macro
  461.     db 51
  462.     dl \1-$
  463.     endm
  464.  
  465.  
  466. ;******************************************************************************
  467. ;Set attack high controller
  468. ;******************************************************************************
  469. AttackHigh    macro
  470.     db 52
  471.     dl \1-$
  472.     endm
  473.  
  474.  
  475. ;******************************************************************************
  476. ;Set attack low controller
  477. ;******************************************************************************
  478. AttackLow    macro
  479.     db 53
  480.     dl \1-$
  481.     endm
  482.  
  483.  
  484. ;******************************************************************************
  485. ;Attack high blocked.
  486. ;******************************************************************************
  487. BlockedHigh    macro
  488.     db 54
  489.     dl \1-$
  490.     endm
  491.  
  492.  
  493. ;******************************************************************************
  494. ;Attack low blocked.
  495. ;******************************************************************************
  496. BlockedLow    macro
  497.     db 55
  498.     dl \1-$
  499.     endm
  500.  
  501.  
  502. ;******************************************************************************
  503. ;Set block controller
  504. ;******************************************************************************
  505. BlockBlow    macro
  506.     db 56
  507.     dl \1-$
  508.     endm
  509.  
  510.  
  511. ;******************************************************************************
  512. ;Set hit high controller
  513. ;******************************************************************************
  514. HitHigh    macro
  515.     db 57
  516.     dl \1-$
  517.     endm
  518.  
  519.  
  520. ;******************************************************************************
  521. ;Set hit low controller
  522. ;******************************************************************************
  523. HitLow    macro
  524.     db 58
  525.     dl \1-$
  526.     endm
  527.  
  528.  
  529. ;******************************************************************************
  530. ;Signal attack required
  531. ;******************************************************************************
  532. Attack    macro
  533.     db 59
  534.     endm
  535.  
  536.  
  537. ;******************************************************************************
  538. ;Set base combat controller
  539. ;******************************************************************************
  540. Combat    macro
  541.     db 60
  542.     dl \1-$
  543.     endm
  544.  
  545.  
  546. ;******************************************************************************
  547. ;Set sprites strength.
  548. ;******************************************************************************
  549. Strength    macro
  550.     db 61
  551.     dw \1
  552.     endm
  553.  
  554.  
  555. ;******************************************************************************
  556. ;Trigger a sound effect.
  557. ;******************************************************************************
  558. Fx    macro
  559.     db 62
  560.     db \1
  561.     endm
  562.  
  563.  
  564. ;******************************************************************************
  565. ;Trigger a global sound effect.
  566. ;******************************************************************************
  567. GFx    macro
  568.     db 62
  569.     db \1+128
  570.     endm
  571.  
  572.  
  573. ;******************************************************************************
  574. ;Declare a variable.
  575. ;******************************************************************************
  576. variable_base = 0
  577. var    macro
  578. \1    equ    variable_base
  579. variable_base = variable_base+1
  580.     if variable_base >= 1024
  581.     error Too many variables. Contact your local programmer
  582.     endif
  583.     endm
  584.  
  585.  
  586. ;******************************************************************************
  587. ;Declare a position variable.
  588. ;******************************************************************************
  589. pos_var    macro
  590. \1    equ    variable_base
  591. variable_base = variable_base+2
  592.     if variable_base >= 1024
  593.     error Too many variables. Contact your local programmer
  594.     endif
  595.     endm
  596.  
  597.  
  598.