Advertisement
dcomicboy

why opk/model crap create object

Jul 5th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. void CGameClientShell::CreateBoundingBox()
  2. {
  3. if (m_hBoundingBox) return;
  4.  
  5. HLOCALOBJ hMoveMgrObj = g_pPlayerMgr->GetMoveMgr()->GetObject();
  6. if (!hMoveMgrObj) return;
  7.  
  8. ObjectCreateStruct theStruct;
  9. INIT_OBJECTCREATESTRUCT(theStruct);
  10.  
  11. LTVector vPos;
  12. g_pLTClient->GetObjectPos(hMoveMgrObj, &vPos);
  13. theStruct.m_Pos = vPos;
  14.  
  15. SAFE_STRCPY(theStruct.m_Filename, "Models\\1x1_square.ltb");
  16. SAFE_STRCPY(theStruct.m_SkinName, "SpecialFX\\smoke.dtx");
  17. theStruct.m_ObjectType = OT_MODEL;
  18. theStruct.m_Flags = FLAG_VISIBLE;
  19.  
  20. m_hBoundingBox = g_pLTClient->CreateObject(&theStruct);
  21.  
  22. UpdateBoundingBox();
  23. }
  24.  
  25. void CHitBox::CreateBoundingBox()
  26. {
  27. if( (m_hObject == INVALID_HOBJECT) ||
  28. (m_hBoundingBox != INVALID_HOBJECT ))
  29. return;
  30.  
  31. ObjectCreateStruct ocs;
  32.  
  33. g_pLTClient->GetObjectPos( m_hObject, &ocs.m_Pos );
  34.  
  35. ocs.m_ObjectType = OT_MODEL;
  36. ocs.m_Flags = FLAG_VISIBLE | FLAG_NOLIGHT | FLAG_GOTHRUWORLD;
  37. ocs.m_Flags2 = FLAG2_FORCETRANSLUCENT;
  38. ocs.m_Scale = m_vDims * 2.0f;
  39.  
  40. LTStrCpy( ocs.m_Filename, "Models\\1x1_square.ltb", ARRAY_LEN( ocs.m_Filename ));
  41. LTStrCpy( ocs.m_SkinName, "Models\\1x1_square.dtx", ARRAY_LEN( ocs.m_SkinName ));
  42.  
  43. m_hBoundingBox = g_pLTClient->CreateObject( &ocs );
  44. if( m_hBoundingBox == INVALID_HOBJECT )
  45. return;
  46.  
  47. g_pLTClient->SetObjectColor( m_hBoundingBox, HB_COLOR_R, HB_COLOR_G, HB_COLOR_B, HB_COLOR_A);
  48. }
  49.  
  50.  
  51.  
  52. //others
  53.  
  54. uint32 ILTBaseClass::OnPrecreate( ObjectCreateStruct* pOCS, float precreateType )
  55. { return EngineMessageFn(MID_PRECREATE, pOCS, precreateType); }
  56.  
  57. uint32 ILTBaseClass::OnObjectCreated( float createType )
  58. { return EngineMessageFn(MID_OBJECTCREATED, NULL, createType); }
  59.  
  60. uint32 ILTBaseClass::OnUpdate()
  61. { return EngineMessageFn(MID_UPDATE, NULL, 0.0f); }
  62.  
  63. uint32 ILTBaseClass::OnTouch( HOBJECT obj, float force )
  64. { return EngineMessageFn(MID_TOUCHNOTIFY, obj, force); }
  65.  
  66. uint32 ILTBaseClass::OnLinkBroken( HOBJECT linkObj )
  67. { return EngineMessageFn(MID_LINKBROKEN, linkObj, 0.0f); }
  68.  
  69. uint32 ILTBaseClass::OnCrush( HOBJECT crusherObj )
  70. { return EngineMessageFn(MID_CRUSH, crusherObj, 0.0f); }
  71.  
  72. uint32 ILTBaseClass::OnLoad( ILTMessage_Read *readMsg, float dwParam )
  73. { return EngineMessageFn(MID_LOADOBJECT, readMsg, dwParam); }
  74.  
  75. uint32 ILTBaseClass::OnSave( ILTMessage_Write *writeMsg, float dwParam )
  76. { return EngineMessageFn(MID_SAVEOBJECT, writeMsg, dwParam); }
  77.  
  78. uint32 ILTBaseClass::OnAffectPhysics( ContainerPhysics* pCP )
  79. { return EngineMessageFn(MID_AFFECTPHYSICS, pCP, 0.0f); }
  80.  
  81. uint32 ILTBaseClass::OnParentAttachmentRemoved( )
  82. { return EngineMessageFn(MID_PARENTATTACHMENTREMOVED, NULL, 0.0f); }
  83.  
  84. uint32 ILTBaseClass::OnActivate()
  85. { return EngineMessageFn(MID_ACTIVATING, NULL, 0.0f); }
  86.  
  87.  
  88. uint32 ILTBaseClass::OnDeactivate()
  89. { return EngineMessageFn(MID_DEACTIVATING, NULL, 0.0f); }
  90.  
  91. uint32 ILTBaseClass::OnAllObjectsCreated()
  92. { return EngineMessageFn(MID_ALLOBJECTSCREATED, NULL, 0.0f); }
  93.  
  94. uint32 ILTBaseClass::ObjectMessageFn(HOBJECT hSender, ILTMessage_Read *pRead)
  95. {
  96. LPAGGREGATE pAggregate;
  97.  
  98. /*!
  99. Call the aggregates.
  100.  
  101. */
  102. pAggregate = m_pFirstAggregate;
  103. while(pAggregate)
  104. {
  105. pAggregate->ObjectMessageFn(this, hSender, pRead);
  106. pAggregate = pAggregate->m_pNextAggregate;
  107. }
  108.  
  109. return 1;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement