Advertisement
Hattiwatti

Untitled

May 14th, 2016
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.62 KB | None | 0 0
  1. SpotLight::SpotLight()
  2. {
  3. this->m_spotLightData = new fb::SpotLightEntityData();
  4. memset(this->m_spotLightData, 0, sizeof(fb::SpotLightEntityData));
  5. this->m_localLightData = this->m_spotLightData;
  6. this->m_spotLightEntity = (fb::SpotLightEntity*)calloc(1, 0x100);
  7. memset(this->m_spotLightEntity, 0, sizeof(fb::SpotLightEntity));
  8. this->m_localLightEntity = this->m_spotLightEntity;
  9. this->m_localLightData->m_color = fb::Vec3(1,1,1);
  10. this->m_localLightData->m_enlightenColorScale = fb::Vec3(1,1,1);
  11. this->m_localLightData->m_particleColorScale = fb::Vec3(1,1,1);
  12. this->m_localLightData->m_radius = 10;
  13. this->m_localLightData->m_intensity = 1;
  14. this->m_localLightData->m_attenuationOffset = 1;
  15. this->m_localLightData->m_enlightenColorMode = fb::EnlightenColorMode::EnlightenColorMode_Multiply;
  16. this->m_localLightData->m_visible = 1;
  17. this->m_localLightData->m_directLightEnable = 1;
  18. this->m_localLightData->m_specularEnable = 1;
  19. this->m_localLightData->m_enlightenEnable = 1;
  20.  
  21. this->m_spotLightData->m_shape = fb::SpotLightShape::SpotLightShape_Cone;
  22. this->m_spotLightData->m_coneInnerAngle = 10;
  23. this->m_spotLightData->m_coneOuterAngle = 120;
  24. this->m_spotLightData->m_frustrumFov = 40;
  25. this->m_spotLightData->m_frustrumAspect = 1;
  26. this->m_spotLightData->m_orthoWidth = 5;
  27. this->m_spotLightData->m_orthoHeight = 5;
  28. this->m_spotLightData->m_nearPlane = 0;
  29. this->m_spotLightData->m_castShadows = fb::QualityScalableEnabled::QualityScalableEnabled_Medium;
  30. this->m_spotLightData->m_shadowRadius = 18;
  31. this->m_spotLightData->m_shadowCullDistance = 35;
  32. this->m_spotLightData->m_frustrumAsCone = fb::QualityScalableEnabled::QualityScalableEnabled_Disabled;
  33. this->m_spotLightData->m_frustrumAsConeIntensityScale = 1;
  34. this->m_spotLightData->m_castShadowsMinLevel = fb::QualityLevel::QualityLevel_Low;
  35. this->m_spotLightData->m_frustrumAsConeAngle = 1;
  36. this->m_spotLightData->m_castShadowsEnable = 1;
  37.  
  38. *(INT64*)this->m_spotLightData = OFFSET_VFTABLE_SPOTLIGHTENTITYDATA;
  39. *(INT64*)this->m_spotLightEntity = OFFSET_VFTABLE_SPOTLIGHTENTITY;
  40.  
  41. #ifndef HAVANA
  42. *(float*)&this->m_spotLightEntity->Pad0D0[0] = 1;
  43. this->m_spotLightEntity->Pad0D0[4] = 1;
  44. *(UINT16*)&this->m_spotLightEntity->Pad0D0[8] = 0xFFFF;
  45. this->m_spotLightEntity->Pad0D0[10] = 1;
  46. this->m_spotLightEntity->Pad0D0[13] = 1;
  47. #else
  48. *(DWORD*)&this->m_localLightEntity->Pad018[0x4] = 0xFFFFFFFF;
  49. *(float*)&this->m_spotLightEntity->Pad0D0[0] = 1;
  50. *(float*)&this->m_spotLightEntity->Pad0D0[4] = 1;
  51. this->m_spotLightEntity->Pad0D0[8] = 1;
  52. *(UINT16*)&this->m_spotLightEntity->Pad0D0[0xC] = 0xFFFF;
  53. this->m_spotLightEntity->Pad0D0[0xE] = 1;
  54. this->m_spotLightEntity->Pad0E0[0x1] = 1;
  55. this->m_spotLightEntity->m_shadowIntensity = &this->m_spotLightData->m_shadowIntensity;
  56. #endif
  57.  
  58. //this->m_spotLightData->ID = rand();
  59.  
  60. spotLightIndex++;
  61.  
  62. this->m_spotLightEntity->m_color = &this->m_spotLightData->m_color;
  63. this->m_spotLightEntity->m_enlightenColorScale = &this->m_spotLightData->m_enlightenColorScale;
  64. this->m_spotLightEntity->m_intensity = &this->m_spotLightData->m_intensity;
  65. this->m_spotLightEntity->m_particleColorScale = &this->m_spotLightData->m_particleColorScale;
  66. this->m_spotLightEntity->m_radius = &this->m_spotLightData->m_radius;
  67. this->m_spotLightEntity->m_localLightEntityData = this->m_spotLightData;
  68. this->m_spotLightEntity->m_visible = &this->m_spotLightData->m_visible;
  69.  
  70. fb::GameRenderer* gameRenderer = *(fb::GameRenderer**)(OFFSET_GAMERENDERER);
  71. this->m_spotLightData->m_transform = *(fb::LinearTransform*)&gameRenderer->m_pRenderView->m_Transform;
  72. this->m_spotLightEntity->m_transform = this->m_spotLightData->m_transform;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement