home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / games / gamesuite / !Amnesia / AmsHelp / ColCheck < prev    next >
Text File  |  1995-01-29  |  2KB  |  53 lines

  1. Collision Checking - for Amnesia 1.10
  2. =====================================
  3.  
  4. This file describes the collision checking facilities within Amnesia.
  5.  
  6. Overview
  7. --------
  8.  
  9. Collision checking within games always places a high demand on computing
  10. power.  If you check 50 objects to see if they are touching any of another 50
  11. objects, that’s 2,500 checks that need to be done!
  12.  
  13. To cope with this sort of load Amnesia handles collision checking in a
  14. special way.  When a table of objects is processed, the bounding boxes
  15. (rectangles which enclose an object just touching its edges) are stored in
  16. another table.  When you need to collision check two sets of objects, Amnesia
  17. checks two of these tables against each other.  This can be done very
  18. quickly.
  19.  
  20. The three steps to collision checking
  21. -------------------------------------
  22.  
  23. This is what you need to do to get collision checking working.
  24.  
  25. (1) When you set up your tables using Amnesia_ClaimTable, you set bit 0 of
  26. R1.  This reserves space for the tables of bounding boxes.
  27.  
  28. (2) When you create your objects using Amnesia_MakeObject, you set bit 7 in
  29. the object’s flags.
  30.  
  31. (3) Use the following code to do the checking.
  32.  
  33. R0=1          ;table 1
  34. R1=2          ;with table 2
  35. REPEAT
  36.   SYS "Amnesia_CollisionCheck",R0,R1 TO R0,R1
  37.   IF R0<>0 THEN PROChit
  38. UNTIL R0=0
  39.  
  40. This code would check table 1 against table 2.  If there was a collision, it
  41. would call PROChit with R0 pointing to the object in table 1, and R1 pointing
  42. to the object in table 2.
  43.  
  44. It is possible to collision check a table with itself.  The BallBnc demo is a
  45. good example of this.
  46.  
  47. ****************************************************
  48.     This document is copyright A.Southgate 1994.
  49.     It may be freely distibuted and copied but
  50.     should not be modified, otherwise things will
  51.     get very confusing.
  52. ****************************************************
  53.