| 852 | } |
| 853 | |
| 854 | bool WaterObject::onAdd() |
| 855 | { |
| 856 | if ( !Parent::onAdd() ) |
| 857 | return false; |
| 858 | |
| 859 | Con::NotifyDelegate clbk( this, &WaterObject::_onDisableTrueRelfections ); |
| 860 | Con::addVariableNotify( "$pref::Water::disableTrueReflections", clbk ); |
| 861 | |
| 862 | if ( isClientObject() ) |
| 863 | { |
| 864 | GFXStateBlockDesc desc; |
| 865 | desc.blendDefined = true; |
| 866 | desc.blendEnable = true; |
| 867 | desc.blendSrc = GFXBlendSrcAlpha; |
| 868 | desc.blendDest = GFXBlendInvSrcAlpha; |
| 869 | desc.zDefined = true; |
| 870 | desc.zEnable = false; |
| 871 | desc.cullDefined = true; |
| 872 | desc.cullMode = GFXCullNone; |
| 873 | mUnderwaterSB = GFX->createStateBlock( desc ); |
| 874 | |
| 875 | initTextures(); |
| 876 | |
| 877 | if ( mFullReflect && !smDisableTrueReflections ) |
| 878 | mPlaneReflector.registerReflector( this, &mReflectorDesc ); |
| 879 | } |
| 880 | |
| 881 | return true; |
| 882 | } |
| 883 | |
| 884 | void WaterObject::onRemove() |
| 885 | { |
nothing calls this directly
no test coverage detected