Advertisement
Guest User

ContactCallbacks.h

a guest
Dec 27th, 2014
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define hexpara(d) {return(contactFXNinline(cp,body0,body1,d));}
  2.  
  3.  
  4. inline bool contactFXNinline
  5.     (
  6.         btManifoldPoint & cp , void * body0 , void * body1 ,
  7.         unsigned H
  8.     )
  9. {
  10.     int groundID = 9;
  11.     int conID1,conID2;
  12.     int * ID1;
  13.     int * ID2; 
  14.  
  15.     btCollisionObject * o1 = static_cast<btCollisionObject*>(body0);
  16.     btCollisionObject * o2 = static_cast<btCollisionObject*>(body1);
  17.    
  18.     ID1 = static_cast<int*>(o1->getUserPointer());
  19.     ID2 = static_cast<int*>(o2->getUserPointer());
  20.    
  21.     conID1 = (*ID1);   
  22.     conID2 = (*ID2);
  23.    
  24.     if((conID1<10)&&(conID2<10) ){
  25.         if( (conID1 == groundID) || (conID2 == groundID ) ){
  26.             RagdollDemo * rdollspeci;
  27.             rdollspeci = ragdollptrs[H];
  28.             rdollspeci->touches[conID1] = 1;
  29.             rdollspeci->touches[conID2] = 1;
  30.             rdollspeci->touchPoints[conID1] = cp.m_positionWorldOnB;
  31.             rdollspeci->touchPoints[conID2] = cp.m_positionWorldOnB;
  32.         }
  33.     }
  34.     return false;
  35. }
  36.  
  37.  
  38.  
  39. bool myContactCallback_x00 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0)
  40. bool myContactCallback_JJJ (btManifoldPoint& cp,void* body0,void* body1) hexpara(1)
  41. bool myContactCallback_x02 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x02)  
  42. bool myContactCallback_x03 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x03)  
  43. bool myContactCallback_x04 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x04)  
  44. bool myContactCallback_x05 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x05)  
  45. bool myContactCallback_x06 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x06)  
  46. bool myContactCallback_x07 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x07)  
  47. bool myContactCallback_x08 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x08)  
  48. bool myContactCallback_x09 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x09)  
  49. bool myContactCallback_x0a (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0a)
  50. bool myContactCallback_x0b (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0b)  
  51. bool myContactCallback_x0c (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0c)  
  52. bool myContactCallback_x0d (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0d)  
  53. bool myContactCallback_x0e (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0e)  
  54. bool myContactCallback_x0f (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x0f)  
  55.  
  56. bool myContactCallback_x10 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x10)
  57. bool myContactCallback_x11 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x11)
  58. bool myContactCallback_x12 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x12)
  59. bool myContactCallback_x13 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x13)
  60. bool myContactCallback_x14 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x14)
  61. bool myContactCallback_x15 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x15)
  62. bool myContactCallback_x16 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x16)
  63. bool myContactCallback_x17 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x17)
  64. bool myContactCallback_x18 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x18)
  65. bool myContactCallback_x19 (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x19)
  66. bool myContactCallback_x1a (btManifoldPoint& cp,void* body0,void* body1) hexpara(0x1a)
  67.  
  68.  
  69. void RagdollDemo
  70. ::AssignToCallback(void)
  71. {
  72.     switch( threadID ) {
  73.         case  0: gContactProcessedCallback = myContactCallback_x00; break;
  74.         case  1: gContactProcessedCallback = myContactCallback_JJJ; break;
  75.         case  2: gContactProcessedCallback = myContactCallback_x02; break;
  76.         case  3: gContactProcessedCallback = myContactCallback_x03; break;
  77.         case  4: gContactProcessedCallback = myContactCallback_x04; break;
  78.         case  5: gContactProcessedCallback = myContactCallback_x05; break;
  79.         case  6: gContactProcessedCallback = myContactCallback_x06; break;
  80.         case  7: gContactProcessedCallback = myContactCallback_x07; break;
  81.         case  8: gContactProcessedCallback = myContactCallback_x08; break;
  82.         case  9: gContactProcessedCallback = myContactCallback_x09; break;
  83.         case 10: gContactProcessedCallback = myContactCallback_x0a; break;
  84.         case 11: gContactProcessedCallback = myContactCallback_x0b; break;
  85.         case 12: gContactProcessedCallback = myContactCallback_x0c; break;
  86.         case 13: gContactProcessedCallback = myContactCallback_x0d; break;
  87.         case 14: gContactProcessedCallback = myContactCallback_x0e; break;
  88.         case 15: gContactProcessedCallback = myContactCallback_x0f; break;
  89.         case 16: gContactProcessedCallback = myContactCallback_x10; break;
  90.         case 17: gContactProcessedCallback = myContactCallback_x11; break;
  91.         case 18: gContactProcessedCallback = myContactCallback_x12; break;
  92.         case 19: gContactProcessedCallback = myContactCallback_x13; break;
  93.         case 20: gContactProcessedCallback = myContactCallback_x14; break;
  94.         case 21: gContactProcessedCallback = myContactCallback_x15; break;
  95.         case 22: gContactProcessedCallback = myContactCallback_x16; break;
  96.         case 23: gContactProcessedCallback = myContactCallback_x17; break;
  97.         case 24: gContactProcessedCallback = myContactCallback_x18; break;
  98.         case 25: gContactProcessedCallback = myContactCallback_x19; break;
  99.         case 26: gContactProcessedCallback = myContactCallback_x1a;  
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement