void cbDebuggerPlugin::OnAttach() { Manager::Get()->GetDebuggerManager()->RegisterDebugger(this); OnAttachReal(); typedef cbEventFunctor<cbDebuggerPlugin, CodeBlocksEvent> Event; Manager::Get()->RegisterEventSink(cbEVT_EDITOR_OPEN, new Event(this, &cbDebuggerPlugin::OnEditorOpened)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_ACTIVATE, new Event(this, &cbDebuggerPlugin::OnProjectActivated)); Manager::Get()->RegisterEventSink(cbEVT_PROJECT_CLOSE, new Event(this, &cbDebuggerPlugin::OnProjectClosed)); Manager::Get()->RegisterEventSink(cbEVT_COMPILER_FINISHED, new Event(this, &cbDebuggerPlugin::OnCompilerFinished)); EditorHooks::HookFunctorBase *editor_hook; editor_hook = new EditorHooks::HookFunctor<cbDebuggerPlugin>(this, &cbDebuggerPlugin::OnEditorHook); m_EditorHookId = EditorHooks::RegisterHook(editor_hook); m_StartType = StartTypeUnknown; if (SupportsFeature(cbDebuggerFeature::ValueTooltips)) RegisterValueTooltip(); }
void FHTML5TargetPlatform::GetTextureFormats( const UTexture* Texture, TArray<FName>& OutFormats ) const { FName TextureFormatName = NAME_None; #if WITH_EDITOR // Supported texture format names. static FName NameDXT1(TEXT("DXT1")); static FName NameDXT3(TEXT("DXT3")); static FName NameDXT5(TEXT("DXT5")); static FName NameDXT5n(TEXT("DXT5n")); static FName NameAutoDXT(TEXT("AutoDXT")); static FName NameBGRA8(TEXT("BGRA8")); static FName NameG8(TEXT("G8")); static FName NameRGBA16F(TEXT("RGBA16F")); static FName NameRGBA8(TEXT("RGBA8")); bool bNoCompression = Texture->CompressionNone // Code wants the texture uncompressed. || (HasEditorOnlyData() && Texture->DeferCompression) // The user wishes to defer compression, this is ok for the Editor only. || (Texture->CompressionSettings == TC_EditorIcon) || (Texture->LODGroup == TEXTUREGROUP_ColorLookupTable) // Textures in certain LOD groups should remain uncompressed. || (Texture->LODGroup == TEXTUREGROUP_Bokeh) || (Texture->LODGroup == TEXTUREGROUP_IESLightProfile) || (Texture->Source.GetSizeX() < 4) // Don't compress textures smaller than the DXT block size. || (Texture->Source.GetSizeY() < 4) || (Texture->Source.GetSizeX() % 4 != 0) || (Texture->Source.GetSizeY() % 4 != 0); ETextureSourceFormat SourceFormat = Texture->Source.GetFormat(); // Determine the pixel format of the (un/)compressed texture if (bNoCompression) { if (Texture->HasHDRSource()) { TextureFormatName = NameBGRA8; } else if (SourceFormat == TSF_G8 || Texture->CompressionSettings == TC_Grayscale) { TextureFormatName = NameG8; } else if (Texture->LODGroup == TEXTUREGROUP_Shadowmap) { TextureFormatName = NameG8; } else { TextureFormatName = NameRGBA8; } } else if (Texture->CompressionSettings == TC_HDR || Texture->CompressionSettings == TC_HDR_Compressed) { TextureFormatName = NameRGBA16F; } else if (Texture->CompressionSettings == TC_Normalmap) { TextureFormatName = NameDXT5; } else if (Texture->CompressionSettings == TC_Displacementmap) { TextureFormatName = NameG8; } else if (Texture->CompressionSettings == TC_VectorDisplacementmap) { TextureFormatName = NameRGBA8; } else if (Texture->CompressionSettings == TC_Grayscale) { TextureFormatName = NameG8; } else if( Texture->CompressionSettings == TC_Alpha) { TextureFormatName = NameDXT5; } else if (Texture->CompressionSettings == TC_DistanceFieldFont) { TextureFormatName = NameG8; } else if (Texture->CompressionNoAlpha) { TextureFormatName = NameDXT1; } else if (Texture->bDitherMipMapAlpha) { TextureFormatName = NameDXT5; } else { TextureFormatName = NameAutoDXT; } // Some PC GPUs don't support sRGB read from G8 textures (e.g. AMD DX10 cards on ShaderModel3.0) // This solution requires 4x more memory but a lot of PC HW emulate the format anyway if ((TextureFormatName == NameG8) && Texture->SRGB && !SupportsFeature(ETargetPlatformFeatures::GrayscaleSRGB)) { TextureFormatName = NameBGRA8; } #endif OutFormats.Add( TextureFormatName); }