diff --git a/.mcp.json b/.mcp.json index e12937c..bc8ca7d 100644 --- a/.mcp.json +++ b/.mcp.json @@ -10,6 +10,16 @@ { "type": "http", "url": "http://localhost:5354/mcp" + }, + "ZeusIntelligence": + { + "type": "http", + "url": "http://127.0.0.1:5058/mcp" + }, + "zeus": + { + "type": "http", + "url": "http://127.0.0.1:5058/mcp" } } } \ No newline at end of file diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini index e4c9bb4..6efe961 100644 --- a/Config/DefaultEditor.ini +++ b/Config/DefaultEditor.ini @@ -12,3 +12,21 @@ bBlueprintIsNotBlueprintType= true +Profiles=(ProfileName="Grey Wireframe",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=1.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=1.000000,bRotateLightingRig=False,bShowEnvironment=False,bShowFloor=False,bShowGrid=True,EnvironmentColor=(R=0.039216,G=0.039216,B=0.039216,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1",bPostProcessingEnabled=False,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomGaussianIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionIntensity=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureHighlightThresholdStrength=False,bOverride_LocalExposureShadowThresholdStrength=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldPetzvalBokeh=False,bOverride_DepthOfFieldPetzvalBokehFalloff=False,bOverride_DepthOfFieldPetzvalExclusionBoxExtents=False,bOverride_DepthOfFieldPetzvalExclusionBoxRadius=False,bOverride_DepthOfFieldAspectRatioScalar=False,bOverride_DepthOfFieldMatteBoxFlags=False,bOverride_DepthOfFieldBarrelRadius=False,bOverride_DepthOfFieldBarrelLength=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_RayTracingTranslucencyMaxPrimaryHitEvents=False,bOverride_RayTracingTranslucencyMaxSecondaryHitEvents=False,bOverride_RayTracingTranslucencyUseRayTracedRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenSkylightLeakingTint=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomGaussianIntensity=1.000000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionIntensity=1.000000,BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenSkylightLeakingTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureHighlightThresholdStrength=1.000000,LocalExposureShadowThresholdStrength=1.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldPetzvalBokeh=0.000000,DepthOfFieldPetzvalBokehFalloff=1.000000,DepthOfFieldPetzvalExclusionBoxExtents=(X=0.000000,Y=0.000000),DepthOfFieldPetzvalExclusionBoxRadius=0.000000,DepthOfFieldAspectRatioScalar=1.000000,DepthOfFieldBarrelRadius=5.000000,DepthOfFieldBarrelLength=0.000000,DepthOfFieldMatteBoxFlags[0]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[1]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[2]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyMaxPrimaryHitEvents=4,RayTracingTranslucencyMaxSecondaryHitEvents=2,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,RayTracingTranslucencyUseRayTracedRefraction=False,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=False,bShowMeshEdges=True) +Profiles=(ProfileName="Grey Ambient",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=4.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=2.000000,bRotateLightingRig=False,bShowEnvironment=True,bShowFloor=True,bShowGrid=True,EnvironmentColor=(R=0.200000,G=0.200000,B=0.200000,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/T_GreyAmbient",bPostProcessingEnabled=False,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomGaussianIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionIntensity=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureHighlightThresholdStrength=False,bOverride_LocalExposureShadowThresholdStrength=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldPetzvalBokeh=False,bOverride_DepthOfFieldPetzvalBokehFalloff=False,bOverride_DepthOfFieldPetzvalExclusionBoxExtents=False,bOverride_DepthOfFieldPetzvalExclusionBoxRadius=False,bOverride_DepthOfFieldAspectRatioScalar=False,bOverride_DepthOfFieldMatteBoxFlags=False,bOverride_DepthOfFieldBarrelRadius=False,bOverride_DepthOfFieldBarrelLength=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_RayTracingTranslucencyMaxPrimaryHitEvents=False,bOverride_RayTracingTranslucencyMaxSecondaryHitEvents=False,bOverride_RayTracingTranslucencyUseRayTracedRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenSkylightLeakingTint=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomGaussianIntensity=1.000000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionIntensity=1.000000,BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenSkylightLeakingTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureHighlightThresholdStrength=1.000000,LocalExposureShadowThresholdStrength=1.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldPetzvalBokeh=0.000000,DepthOfFieldPetzvalBokehFalloff=1.000000,DepthOfFieldPetzvalExclusionBoxExtents=(X=0.000000,Y=0.000000),DepthOfFieldPetzvalExclusionBoxRadius=0.000000,DepthOfFieldAspectRatioScalar=1.000000,DepthOfFieldBarrelRadius=5.000000,DepthOfFieldBarrelLength=0.000000,DepthOfFieldMatteBoxFlags[0]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[1]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[2]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyMaxPrimaryHitEvents=4,RayTracingTranslucencyMaxSecondaryHitEvents=2,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,RayTracingTranslucencyUseRayTracedRefraction=False,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=False,bShowMeshEdges=False) +[/Script/ZeusIntelligenceCore.ZeusSettings] +ActiveProvider=claude_cli +LocalBaseUrl="http://localhost:11434/v1" +LocalModel=qwen2.5:7b +AnthropicApiKey= +AnthropicModel=claude-opus-4-8 +ClaudeCliPath= +OpenAIApiKey= +OpenAIBaseUrl="https://api.openai.com/v1" +OpenAIModel=gpt-4o +CustomBaseUrl= +CustomApiKey= +CustomModel= +Temperature=0.700000 +MaxTokens=2048 +SystemPromptAppend= +McpPort=5058 + diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index d1553b6..a8a5ba5 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -109,3 +109,60 @@ ConnectionType=USBOnly bUseManualIPAddress=False ManualIPAddress= +[/Script/Engine.CollisionProfile] +-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) +-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) +-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) +-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) +-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) +-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) +-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) +-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) +-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) ++Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") ++Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") ++Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") ++Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") ++Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") ++Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") ++Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") ++Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") ++Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") ++Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") ++Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") ++Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") ++Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") ++Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="WaterBodyCollision",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="Default Water Collision Profile (Created by Water Plugin)") +-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") +-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") +-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") +-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") +-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") ++ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") ++ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") ++ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") ++ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") ++ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") +-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") +-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") +-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") +-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") ++CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") ++CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") ++CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") ++CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini index cd2c91a..656ea4d 100644 --- a/Config/DefaultGame.ini +++ b/Config/DefaultGame.ini @@ -17,6 +17,7 @@ ProjectName=Third Person Game Template ; Paths use the /Game prefix (cooked Content namespace). Uncomment after the ; assets are actually created in the editor. ; ----------------------------------------------------------------------------- + [/Script/ZMMO.ZMMOThemeSubsystem] ;DefaultThemeAsset=/Game/ZMMO/UI/Themes/DA_Theme_Default.DA_Theme_Default ;+ThemeRegistry=(("Christmas", "/Game/ZMMO/UI/Themes/DA_Theme_Christmas.DA_Theme_Christmas")) @@ -49,6 +50,7 @@ LoadingTipsAsset=/Game/ZMMO/Data/UI/Loading/DT_LoadingTips.DT_LoadingTips ; Playing. ; Asset criado via MCP em /Game/ZMMO/UI/InGame/DA_InGameScreenSet. ; ----------------------------------------------------------------------------- + [/Script/ZMMO.UIInGameFlowSubsystem] ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet @@ -61,5 +63,20 @@ ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet ; Convenção: usa o path /Script/. (sem o "U" do prefixo ; C++; UClass resolve pelo nome curto). ; ----------------------------------------------------------------------------- + [/Script/ZMMO.ZMMOPlayerState] +ComponentClasses=/Script/ZMMOAttributes.ZMMOAttributeComponent + +[/Script/Engine.AssetManagerSettings] +-PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass=/Script/Engine.World,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) +-PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass=/Script/Engine.PrimaryAssetLabel,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) ++PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass="/Script/Engine.World",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) ++PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass="/Script/Engine.PrimaryAssetLabel",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) ++PrimaryAssetTypesToScan=(PrimaryAssetType="GameFeatureData",AssetBaseClass="/Script/GameFeatures.GameFeatureData",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=,SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)) +bOnlyCookProductionAssets=False +bShouldManagerDetermineTypeAndName=False +bShouldGuessTypeAndNameInEditor=True +bShouldAcquireMissingChunksOnLoad=False +bShouldWarnAboutInvalidAssets=True +MetaDataTagsForAssetRegistry=() + diff --git a/Content/BP_TestActor.uasset b/Content/BP_TestActor.uasset new file mode 100644 index 0000000..3902f5c Binary files /dev/null and b/Content/BP_TestActor.uasset differ diff --git a/Content/Blueprints/BP_CellBoundaryVolume.uasset b/Content/Blueprints/BP_CellBoundaryVolume.uasset new file mode 100644 index 0000000..30724d3 Binary files /dev/null and b/Content/Blueprints/BP_CellBoundaryVolume.uasset differ diff --git a/Content/Materials/MI_CellBoundary_InnerFade_Default.uasset b/Content/Materials/MI_CellBoundary_InnerFade_Default.uasset new file mode 100644 index 0000000..a2a385a Binary files /dev/null and b/Content/Materials/MI_CellBoundary_InnerFade_Default.uasset differ diff --git a/Content/Materials/MI_CellBoundary_InnerFade_East.uasset b/Content/Materials/MI_CellBoundary_InnerFade_East.uasset new file mode 100644 index 0000000..839bf7f Binary files /dev/null and b/Content/Materials/MI_CellBoundary_InnerFade_East.uasset differ diff --git a/Content/Materials/MI_CellBoundary_InnerFade_North.uasset b/Content/Materials/MI_CellBoundary_InnerFade_North.uasset new file mode 100644 index 0000000..a3223d5 Binary files /dev/null and b/Content/Materials/MI_CellBoundary_InnerFade_North.uasset differ diff --git a/Content/Materials/MI_CellBoundary_InnerFade_South.uasset b/Content/Materials/MI_CellBoundary_InnerFade_South.uasset new file mode 100644 index 0000000..5adaa92 Binary files /dev/null and b/Content/Materials/MI_CellBoundary_InnerFade_South.uasset differ diff --git a/Content/Materials/MI_CellBoundary_InnerFade_West.uasset b/Content/Materials/MI_CellBoundary_InnerFade_West.uasset new file mode 100644 index 0000000..363e9d4 Binary files /dev/null and b/Content/Materials/MI_CellBoundary_InnerFade_West.uasset differ diff --git a/Content/Materials/M_CellBoundary_FogCard_Surface.uasset b/Content/Materials/M_CellBoundary_FogCard_Surface.uasset new file mode 100644 index 0000000..1425007 Binary files /dev/null and b/Content/Materials/M_CellBoundary_FogCard_Surface.uasset differ diff --git a/Content/Materials/M_CellBoundary_InnerFade.uasset b/Content/Materials/M_CellBoundary_InnerFade.uasset new file mode 100644 index 0000000..97a9715 Binary files /dev/null and b/Content/Materials/M_CellBoundary_InnerFade.uasset differ diff --git a/Content/Materials/M_CellBoundary_InnerFog_Volume.uasset b/Content/Materials/M_CellBoundary_InnerFog_Volume.uasset new file mode 100644 index 0000000..52915a6 Binary files /dev/null and b/Content/Materials/M_CellBoundary_InnerFog_Volume.uasset differ diff --git a/Content/ZMMO/Data/UI/DT_UI_Styles.uasset b/Content/ZMMO/Data/UI/DT_UI_Styles.uasset index edf9ca2..dde015d 100644 Binary files a/Content/ZMMO/Data/UI/DT_UI_Styles.uasset and b/Content/ZMMO/Data/UI/DT_UI_Styles.uasset differ diff --git a/Content/ZMMO/Maps/World/L_ZeusIATest.umap b/Content/ZMMO/Maps/World/L_ZeusIATest.umap new file mode 100644 index 0000000..3a521bf Binary files /dev/null and b/Content/ZMMO/Maps/World/L_ZeusIATest.umap differ diff --git a/Content/ZMMO/Sounds/UI/button_click.uasset b/Content/ZMMO/Sounds/UI/button_click.uasset new file mode 100644 index 0000000..e698612 Binary files /dev/null and b/Content/ZMMO/Sounds/UI/button_click.uasset differ diff --git a/Content/ZMMO/UI/CommonUI/Style/Button/BSB_Button_Transparent.uasset b/Content/ZMMO/UI/CommonUI/Style/Button/BSB_Button_Transparent.uasset index 380a8b7..5faf5cf 100644 Binary files a/Content/ZMMO/UI/CommonUI/Style/Button/BSB_Button_Transparent.uasset and b/Content/ZMMO/UI/CommonUI/Style/Button/BSB_Button_Transparent.uasset differ diff --git a/Content/ZMMO/UI/FrontEnd/WBP_Boot.uasset b/Content/ZMMO/UI/FrontEnd/WBP_Boot.uasset index 91d15bb..8fa197c 100644 Binary files a/Content/ZMMO/UI/FrontEnd/WBP_Boot.uasset and b/Content/ZMMO/UI/FrontEnd/WBP_Boot.uasset differ diff --git a/Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset b/Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset index a2e21ba..97c0411 100644 Binary files a/Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset and b/Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset differ diff --git a/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button.uasset b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button.uasset new file mode 100644 index 0000000..41839a7 Binary files /dev/null and b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button.uasset differ diff --git a/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.uasset b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.uasset new file mode 100644 index 0000000..50b3046 Binary files /dev/null and b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.uasset differ diff --git a/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.uasset b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.uasset new file mode 100644 index 0000000..516773d Binary files /dev/null and b/Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.uasset differ diff --git a/Content/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.uasset b/Content/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.uasset new file mode 100644 index 0000000..01c2003 Binary files /dev/null and b/Content/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.uasset differ diff --git a/Content/ZeusTemp/M_ProbeVol_dbf9e0.uasset b/Content/ZeusTemp/M_ProbeVol_dbf9e0.uasset new file mode 100644 index 0000000..f8b6a0a Binary files /dev/null and b/Content/ZeusTemp/M_ProbeVol_dbf9e0.uasset differ diff --git a/Content/ZeusTemp/M_Probe_57c18e41.uasset b/Content/ZeusTemp/M_Probe_57c18e41.uasset new file mode 100644 index 0000000..46bd16b Binary files /dev/null and b/Content/ZeusTemp/M_Probe_57c18e41.uasset differ diff --git a/Content/ZeusTemp/M_Probe_c8231c7b.uasset b/Content/ZeusTemp/M_Probe_c8231c7b.uasset new file mode 100644 index 0000000..835a10c Binary files /dev/null and b/Content/ZeusTemp/M_Probe_c8231c7b.uasset differ diff --git a/Content/ZeusTemp/M_Probe_d666a86b.uasset b/Content/ZeusTemp/M_Probe_d666a86b.uasset new file mode 100644 index 0000000..303a644 Binary files /dev/null and b/Content/ZeusTemp/M_Probe_d666a86b.uasset differ diff --git a/Content/ZeusTemp/M_TempProbe_41c02943.uasset b/Content/ZeusTemp/M_TempProbe_41c02943.uasset new file mode 100644 index 0000000..0421a77 Binary files /dev/null and b/Content/ZeusTemp/M_TempProbe_41c02943.uasset differ diff --git a/Content/ZeusTest/BP_TesteZeus.uasset b/Content/ZeusTest/BP_TesteZeus.uasset new file mode 100644 index 0000000..b29c9f7 Binary files /dev/null and b/Content/ZeusTest/BP_TesteZeus.uasset differ diff --git a/Content/ZeusTest/GAS/GE_Veneno.uasset b/Content/ZeusTest/GAS/GE_Veneno.uasset new file mode 100644 index 0000000..6782f73 Binary files /dev/null and b/Content/ZeusTest/GAS/GE_Veneno.uasset differ diff --git a/Content/ZeusTest/PCG/PCG_Espalhar.uasset b/Content/ZeusTest/PCG/PCG_Espalhar.uasset new file mode 100644 index 0000000..0b30c93 Binary files /dev/null and b/Content/ZeusTest/PCG/PCG_Espalhar.uasset differ diff --git a/Content/ZeusTest/Textures/T_BackdropBg.uasset b/Content/ZeusTest/Textures/T_BackdropBg.uasset new file mode 100644 index 0000000..e2e4530 Binary files /dev/null and b/Content/ZeusTest/Textures/T_BackdropBg.uasset differ diff --git a/Content/ZeusTest/Textures/T_PanelBg.uasset b/Content/ZeusTest/Textures/T_PanelBg.uasset new file mode 100644 index 0000000..3bc63b6 Binary files /dev/null and b/Content/ZeusTest/Textures/T_PanelBg.uasset differ diff --git a/Content/ZeusTest/WBP_LoadingScreen.uasset b/Content/ZeusTest/WBP_LoadingScreen.uasset new file mode 100644 index 0000000..04561a5 Binary files /dev/null and b/Content/ZeusTest/WBP_LoadingScreen.uasset differ diff --git a/Content/ZeusTest/WBP_RoStatusModern.uasset b/Content/ZeusTest/WBP_RoStatusModern.uasset new file mode 100644 index 0000000..44ae24c Binary files /dev/null and b/Content/ZeusTest/WBP_RoStatusModern.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/2/BR/38W34OMKW0W3L1PGS3Y98G.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/2/BR/38W34OMKW0W3L1PGS3Y98G.uasset new file mode 100644 index 0000000..3e4faf3 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/2/BR/38W34OMKW0W3L1PGS3Y98G.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/1A/FD48EIIJ78873L9WAC6KG0.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/1A/FD48EIIJ78873L9WAC6KG0.uasset new file mode 100644 index 0000000..f8663ee Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/1A/FD48EIIJ78873L9WAC6KG0.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/8L/X3PMRJRGAACIU1WG1P1KJ0.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/8L/X3PMRJRGAACIU1WG1P1KJ0.uasset new file mode 100644 index 0000000..2552681 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/4/8L/X3PMRJRGAACIU1WG1P1KJ0.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/8/L1/C6M65Q91PG5E7ML91VQZX3.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/8/L1/C6M65Q91PG5E7ML91VQZX3.uasset new file mode 100644 index 0000000..059ff5a Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/8/L1/C6M65Q91PG5E7ML91VQZX3.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/9/KB/V28W8B92OQI6DBTUIVKU77.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/9/KB/V28W8B92OQI6DBTUIVKU77.uasset index 6543c66..0025214 100644 Binary files a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/9/KB/V28W8B92OQI6DBTUIVKU77.uasset and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/9/KB/V28W8B92OQI6DBTUIVKU77.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/A/JJ/F2YIJ9M3YY1NPG7GHRYC5W.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/A/JJ/F2YIJ9M3YY1NPG7GHRYC5W.uasset index b5d38e7..1da0eb2 100644 Binary files a/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/A/JJ/F2YIJ9M3YY1NPG7GHRYC5W.uasset and b/Content/__ExternalActors__/ZMMO/Maps/World/L_TestWorld/A/JJ/F2YIJ9M3YY1NPG7GHRYC5W.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/64/FAEH5OWWST50VZNCDMIDDY.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/64/FAEH5OWWST50VZNCDMIDDY.uasset new file mode 100644 index 0000000..ad793c5 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/64/FAEH5OWWST50VZNCDMIDDY.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/M2/U9KYS4CUF0XXNNNTIUQVPJ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/M2/U9KYS4CUF0XXNNNTIUQVPJ.uasset new file mode 100644 index 0000000..cd76248 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/M2/U9KYS4CUF0XXNNNTIUQVPJ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/NR/CN1EE1PGQGOFVCYW3NXIDX.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/NR/CN1EE1PGQGOFVCYW3NXIDX.uasset new file mode 100644 index 0000000..9fe9de6 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/NR/CN1EE1PGQGOFVCYW3NXIDX.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/OL/VET3QZ2KK0KSKCJYKA8TAQ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/OL/VET3QZ2KK0KSKCJYKA8TAQ.uasset new file mode 100644 index 0000000..bebf7b3 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/OL/VET3QZ2KK0KSKCJYKA8TAQ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/RN/QG6XUIOXRESND5Z87U864L.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/RN/QG6XUIOXRESND5Z87U864L.uasset new file mode 100644 index 0000000..3721e6d Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/RN/QG6XUIOXRESND5Z87U864L.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/T9/WEHK1Q0EQ6SO8YG52ONPYW.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/T9/WEHK1Q0EQ6SO8YG52ONPYW.uasset new file mode 100644 index 0000000..18666de Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/T9/WEHK1Q0EQ6SO8YG52ONPYW.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/Z3/QAJWZIXBOL264Q12S9KADL.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/Z3/QAJWZIXBOL264Q12S9KADL.uasset new file mode 100644 index 0000000..17f82b1 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/0/Z3/QAJWZIXBOL264Q12S9KADL.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/22/XRM0P8THBCRCLQXRW92B6N.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/22/XRM0P8THBCRCLQXRW92B6N.uasset new file mode 100644 index 0000000..3a44ba7 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/22/XRM0P8THBCRCLQXRW92B6N.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/A4/LX27OCBDM64ACXQQL1A15L.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/A4/LX27OCBDM64ACXQQL1A15L.uasset new file mode 100644 index 0000000..c9e7d57 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/A4/LX27OCBDM64ACXQQL1A15L.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/C3/BXF25L2R7IDWRIVYMDE37H.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/C3/BXF25L2R7IDWRIVYMDE37H.uasset new file mode 100644 index 0000000..177801b Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/C3/BXF25L2R7IDWRIVYMDE37H.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/EI/113FKJVPK5I92EG511W69E.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/EI/113FKJVPK5I92EG511W69E.uasset new file mode 100644 index 0000000..8bd3d64 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/EI/113FKJVPK5I92EG511W69E.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/KP/37HC5F2K743528LX1JS9WI.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/KP/37HC5F2K743528LX1JS9WI.uasset new file mode 100644 index 0000000..f6f3d26 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/KP/37HC5F2K743528LX1JS9WI.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/MF/XZSHS09JHUZ7SX1N2G3I1O.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/MF/XZSHS09JHUZ7SX1N2G3I1O.uasset new file mode 100644 index 0000000..c033b0c Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/MF/XZSHS09JHUZ7SX1N2G3I1O.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/X4/O5029E34S00URE1N4AWITR.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/X4/O5029E34S00URE1N4AWITR.uasset new file mode 100644 index 0000000..5f12d52 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/1/X4/O5029E34S00URE1N4AWITR.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/F0/1D1B2494RZ4EM6ZXBCUSV4.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/F0/1D1B2494RZ4EM6ZXBCUSV4.uasset new file mode 100644 index 0000000..50ec6bc Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/F0/1D1B2494RZ4EM6ZXBCUSV4.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/FT/MO2201X4IECZT1CYON11FS.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/FT/MO2201X4IECZT1CYON11FS.uasset new file mode 100644 index 0000000..1e788d4 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/FT/MO2201X4IECZT1CYON11FS.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KJ/9R05C8LFQU83GNGKKKQXJO.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KJ/9R05C8LFQU83GNGKKKQXJO.uasset new file mode 100644 index 0000000..9d53512 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KJ/9R05C8LFQU83GNGKKKQXJO.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KR/NBY16QATQHL6RRR3C3T4SI.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KR/NBY16QATQHL6RRR3C3T4SI.uasset new file mode 100644 index 0000000..831a31e Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/KR/NBY16QATQHL6RRR3C3T4SI.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Q1/9IG6TBOU7KF2UMYJEJ6VW7.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Q1/9IG6TBOU7KF2UMYJEJ6VW7.uasset new file mode 100644 index 0000000..0d39f6f Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Q1/9IG6TBOU7KF2UMYJEJ6VW7.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/X8/IF9ESOQUF81DUPYI1NUM8J.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/X8/IF9ESOQUF81DUPYI1NUM8J.uasset new file mode 100644 index 0000000..40607b7 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/X8/IF9ESOQUF81DUPYI1NUM8J.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Y1/RZ1P0N4JKTZ14UIYM081ZC.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Y1/RZ1P0N4JKTZ14UIYM081ZC.uasset new file mode 100644 index 0000000..a1c5841 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/2/Y1/RZ1P0N4JKTZ14UIYM081ZC.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/EG/IT4O3PFFJCV8WPS3JLZHSY.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/EG/IT4O3PFFJCV8WPS3JLZHSY.uasset new file mode 100644 index 0000000..3f56946 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/EG/IT4O3PFFJCV8WPS3JLZHSY.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/GY/9J3KIFLIFF3P0ADN8UNORK.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/GY/9J3KIFLIFF3P0ADN8UNORK.uasset new file mode 100644 index 0000000..5b691da Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/GY/9J3KIFLIFF3P0ADN8UNORK.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/WD/JLXQS1CCZFNKSPOOEOGGRN.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/WD/JLXQS1CCZFNKSPOOEOGGRN.uasset new file mode 100644 index 0000000..bf116ab Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/3/WD/JLXQS1CCZFNKSPOOEOGGRN.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/29/4I4Y7BLFQZK8TPZ9I3GF8R.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/29/4I4Y7BLFQZK8TPZ9I3GF8R.uasset new file mode 100644 index 0000000..cc3d537 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/29/4I4Y7BLFQZK8TPZ9I3GF8R.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/AE/CQOOS9Y3747R6FG4N99UZW.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/AE/CQOOS9Y3747R6FG4N99UZW.uasset new file mode 100644 index 0000000..7d2eb67 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/AE/CQOOS9Y3747R6FG4N99UZW.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/MI/ML6GIBT4GV879J5EU51D3X.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/MI/ML6GIBT4GV879J5EU51D3X.uasset new file mode 100644 index 0000000..c01d408 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/4/MI/ML6GIBT4GV879J5EU51D3X.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/64/BCWD4LAATY7Y84APXCAAEG.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/64/BCWD4LAATY7Y84APXCAAEG.uasset new file mode 100644 index 0000000..bf9a015 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/64/BCWD4LAATY7Y84APXCAAEG.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/CE/QEA10LP121CKKVFP5E1ST3.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/CE/QEA10LP121CKKVFP5E1ST3.uasset new file mode 100644 index 0000000..c8b5951 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/CE/QEA10LP121CKKVFP5E1ST3.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/D0/YWMTS3D7Z6JF2RTQNIKK0X.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/D0/YWMTS3D7Z6JF2RTQNIKK0X.uasset new file mode 100644 index 0000000..f86004a Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/D0/YWMTS3D7Z6JF2RTQNIKK0X.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/HP/3ZCZ172EMAYWA6IIUYBDQG.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/HP/3ZCZ172EMAYWA6IIUYBDQG.uasset new file mode 100644 index 0000000..4f8d971 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/HP/3ZCZ172EMAYWA6IIUYBDQG.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/JB/9KI7UFBVI58RZGZ2369ZSD.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/JB/9KI7UFBVI58RZGZ2369ZSD.uasset new file mode 100644 index 0000000..d4577e2 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/5/JB/9KI7UFBVI58RZGZ2369ZSD.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/6/T1/O37ZINTMXVJH413HR8U0YX.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/6/T1/O37ZINTMXVJH413HR8U0YX.uasset new file mode 100644 index 0000000..34fca6a Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/6/T1/O37ZINTMXVJH413HR8U0YX.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/78/L055VX5O5OM5NRHVKIZG2R.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/78/L055VX5O5OM5NRHVKIZG2R.uasset new file mode 100644 index 0000000..a1a64e6 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/78/L055VX5O5OM5NRHVKIZG2R.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/B2/8RUUXDTTP0JBO482EDO01E.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/B2/8RUUXDTTP0JBO482EDO01E.uasset new file mode 100644 index 0000000..3de8dc2 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/B2/8RUUXDTTP0JBO482EDO01E.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/G3/45YH2KQG15JR515WTHMHQN.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/G3/45YH2KQG15JR515WTHMHQN.uasset new file mode 100644 index 0000000..5c07d37 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/G3/45YH2KQG15JR515WTHMHQN.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/V3/2SXVNSPCA9KB809V7OZO8I.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/V3/2SXVNSPCA9KB809V7OZO8I.uasset new file mode 100644 index 0000000..52389e5 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/V3/2SXVNSPCA9KB809V7OZO8I.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/XK/OTWJIG0DO97GKFUXQFXANO.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/XK/OTWJIG0DO97GKFUXQFXANO.uasset new file mode 100644 index 0000000..0d37ecb Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/7/XK/OTWJIG0DO97GKFUXQFXANO.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/90/MU2Q8Z98ME6IKLS3JNAIMJ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/90/MU2Q8Z98ME6IKLS3JNAIMJ.uasset new file mode 100644 index 0000000..e001562 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/90/MU2Q8Z98ME6IKLS3JNAIMJ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/HQ/UCQ68S4I9GT5CDMYOHUOWW.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/HQ/UCQ68S4I9GT5CDMYOHUOWW.uasset new file mode 100644 index 0000000..c406d3e Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/HQ/UCQ68S4I9GT5CDMYOHUOWW.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/K9/JE2KM4GCIYKQ7WZUG9IVZP.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/K9/JE2KM4GCIYKQ7WZUG9IVZP.uasset new file mode 100644 index 0000000..d6a22f9 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/K9/JE2KM4GCIYKQ7WZUG9IVZP.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/KQ/89PETUIPJN2PUIL0MPQRFL.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/KQ/89PETUIPJN2PUIL0MPQRFL.uasset new file mode 100644 index 0000000..fd4c735 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/KQ/89PETUIPJN2PUIL0MPQRFL.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/XH/FC1IDUQN24112995S4X5EJ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/XH/FC1IDUQN24112995S4X5EJ.uasset new file mode 100644 index 0000000..d68b852 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/XH/FC1IDUQN24112995S4X5EJ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZH/08GB02PZVSN68PRU9JQWPW.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZH/08GB02PZVSN68PRU9JQWPW.uasset new file mode 100644 index 0000000..f963141 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZH/08GB02PZVSN68PRU9JQWPW.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZW/JYV8HJ5Y3WXQS423FV7B12.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZW/JYV8HJ5Y3WXQS423FV7B12.uasset new file mode 100644 index 0000000..5ed7f99 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/8/ZW/JYV8HJ5Y3WXQS423FV7B12.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/0B/1XMFISJ1Z8MPZZLG5YKLMT.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/0B/1XMFISJ1Z8MPZZLG5YKLMT.uasset new file mode 100644 index 0000000..ed0863c Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/0B/1XMFISJ1Z8MPZZLG5YKLMT.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/F8/IGUIUXSEWAKCMYGSUTQ5ID.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/F8/IGUIUXSEWAKCMYGSUTQ5ID.uasset new file mode 100644 index 0000000..b78b78f Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/F8/IGUIUXSEWAKCMYGSUTQ5ID.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/IP/J90IE4XSE3FE4X0ICOIRCS.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/IP/J90IE4XSE3FE4X0ICOIRCS.uasset new file mode 100644 index 0000000..8232c3e Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/IP/J90IE4XSE3FE4X0ICOIRCS.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/JB/H0RUN22EVL7XB9VB2ER1H7.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/JB/H0RUN22EVL7XB9VB2ER1H7.uasset new file mode 100644 index 0000000..11aff89 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/JB/H0RUN22EVL7XB9VB2ER1H7.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/QG/6Y59M5OYWC4AWXXPXLEIRC.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/QG/6Y59M5OYWC4AWXXPXLEIRC.uasset new file mode 100644 index 0000000..d2b5d38 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/QG/6Y59M5OYWC4AWXXPXLEIRC.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/SI/5O6XL3B14SX0PTVHWW4LWS.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/SI/5O6XL3B14SX0PTVHWW4LWS.uasset new file mode 100644 index 0000000..949a6c2 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/9/SI/5O6XL3B14SX0PTVHWW4LWS.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/52/H24VOCTDSD46Y2HXF75WUX.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/52/H24VOCTDSD46Y2HXF75WUX.uasset new file mode 100644 index 0000000..1ab2ccb Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/52/H24VOCTDSD46Y2HXF75WUX.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/5V/PSL98LPIVATO14M4PXAIZB.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/5V/PSL98LPIVATO14M4PXAIZB.uasset new file mode 100644 index 0000000..7e5f0da Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/5V/PSL98LPIVATO14M4PXAIZB.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/G3/76H807U3OHV0QPU4LUPA6W.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/G3/76H807U3OHV0QPU4LUPA6W.uasset new file mode 100644 index 0000000..9ea8713 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/G3/76H807U3OHV0QPU4LUPA6W.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/NS/98XTK0GY1B3EWF8XJM36BO.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/NS/98XTK0GY1B3EWF8XJM36BO.uasset new file mode 100644 index 0000000..bc42398 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/NS/98XTK0GY1B3EWF8XJM36BO.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/VO/YHC75RQYF01QN2FP3B58R3.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/VO/YHC75RQYF01QN2FP3B58R3.uasset new file mode 100644 index 0000000..e0b41c2 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/VO/YHC75RQYF01QN2FP3B58R3.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/Q6CFN21BSKS0DJWSZOKH8K.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/Q6CFN21BSKS0DJWSZOKH8K.uasset new file mode 100644 index 0000000..9f93ef9 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/Q6CFN21BSKS0DJWSZOKH8K.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/ZBU4LD1SXU88MOY9FU4XBY.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/ZBU4LD1SXU88MOY9FU4XBY.uasset new file mode 100644 index 0000000..3ea5fc7 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/A/X5/ZBU4LD1SXU88MOY9FU4XBY.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/B6/51WUNKXVC4JDJYF8JF4XHV.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/B6/51WUNKXVC4JDJYF8JF4XHV.uasset new file mode 100644 index 0000000..581bf60 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/B6/51WUNKXVC4JDJYF8JF4XHV.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/DX/J51NYJ1EHHCAYNHK9B78TJ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/DX/J51NYJ1EHHCAYNHK9B78TJ.uasset new file mode 100644 index 0000000..a5e8fb1 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/DX/J51NYJ1EHHCAYNHK9B78TJ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I4/PQ1FO7X7PGPXXGLIF11XQZ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I4/PQ1FO7X7PGPXXGLIF11XQZ.uasset new file mode 100644 index 0000000..b90ca29 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I4/PQ1FO7X7PGPXXGLIF11XQZ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I9/J75465ANK0Q9ZXQ5X6K8KZ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I9/J75465ANK0Q9ZXQ5X6K8KZ.uasset new file mode 100644 index 0000000..b985fdf Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/I9/J75465ANK0Q9ZXQ5X6K8KZ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/MG/XQT2WO3VYMPCRDVIMVKJH0.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/MG/XQT2WO3VYMPCRDVIMVKJH0.uasset new file mode 100644 index 0000000..b3b157f Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/B/MG/XQT2WO3VYMPCRDVIMVKJH0.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/7F/BPDJQ2P3CU15QOHB85124R.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/7F/BPDJQ2P3CU15QOHB85124R.uasset new file mode 100644 index 0000000..6da493c Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/7F/BPDJQ2P3CU15QOHB85124R.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/98/OZ6K258ZAQJNNU9FXA6UFG.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/98/OZ6K258ZAQJNNU9FXA6UFG.uasset new file mode 100644 index 0000000..9b0e592 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/98/OZ6K258ZAQJNNU9FXA6UFG.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/HP/2JOBERLJ9IGBTD7ZAANZK9.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/HP/2JOBERLJ9IGBTD7ZAANZK9.uasset new file mode 100644 index 0000000..0b0dfbb Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/HP/2JOBERLJ9IGBTD7ZAANZK9.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/PN/19J6WXBPP7JA54O6BFBJWC.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/PN/19J6WXBPP7JA54O6BFBJWC.uasset new file mode 100644 index 0000000..a093fba Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/PN/19J6WXBPP7JA54O6BFBJWC.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/R0/JINOEIJKPJ0GV821MVI2E5.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/R0/JINOEIJKPJ0GV821MVI2E5.uasset new file mode 100644 index 0000000..e738bb5 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/R0/JINOEIJKPJ0GV821MVI2E5.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/W6/XEAZOTYTK888Z1W6TYEMDR.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/W6/XEAZOTYTK888Z1W6TYEMDR.uasset new file mode 100644 index 0000000..4ab643a Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/C/W6/XEAZOTYTK888Z1W6TYEMDR.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/3W/UCG93XNC9M6816SUQ0XGY1.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/3W/UCG93XNC9M6816SUQ0XGY1.uasset new file mode 100644 index 0000000..5891c56 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/3W/UCG93XNC9M6816SUQ0XGY1.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/7M/9OCS6T43ATY5MO0DJ72HJI.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/7M/9OCS6T43ATY5MO0DJ72HJI.uasset new file mode 100644 index 0000000..8bcf6be Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/7M/9OCS6T43ATY5MO0DJ72HJI.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/AF/EJZVS28F9IVUV29H3PWEZQ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/AF/EJZVS28F9IVUV29H3PWEZQ.uasset new file mode 100644 index 0000000..49f44af Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/AF/EJZVS28F9IVUV29H3PWEZQ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/FW/RL5SFC5WHU6S47JMLAJBT9.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/FW/RL5SFC5WHU6S47JMLAJBT9.uasset new file mode 100644 index 0000000..2d0de68 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/FW/RL5SFC5WHU6S47JMLAJBT9.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/NW/5TNPTOLFRGVAWAC1194K0N.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/NW/5TNPTOLFRGVAWAC1194K0N.uasset new file mode 100644 index 0000000..8b0c4d4 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/NW/5TNPTOLFRGVAWAC1194K0N.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/SD/BPASK7GJQX3C0GT4FOZGRJ.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/SD/BPASK7GJQX3C0GT4FOZGRJ.uasset new file mode 100644 index 0000000..692ad94 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/D/SD/BPASK7GJQX3C0GT4FOZGRJ.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/7G/CRYB2FV0WUKVKKRFSO26K5.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/7G/CRYB2FV0WUKVKKRFSO26K5.uasset new file mode 100644 index 0000000..bc26527 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/7G/CRYB2FV0WUKVKKRFSO26K5.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/P4/7VTMUE5SNNW1P9CB7A0G75.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/P4/7VTMUE5SNNW1P9CB7A0G75.uasset new file mode 100644 index 0000000..096f4d5 Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/P4/7VTMUE5SNNW1P9CB7A0G75.uasset differ diff --git a/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/WJ/T5B53GR28VKXDEXV3AVJQ8.uasset b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/WJ/T5B53GR28VKXDEXV3AVJQ8.uasset new file mode 100644 index 0000000..543400e Binary files /dev/null and b/Content/__ExternalActors__/ZMMO/Maps/World/L_ZeusIATest/E/WJ/T5B53GR28VKXDEXV3AVJQ8.uasset differ diff --git a/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/9/FC/NP1EQLIDLXWZ5CQZAF6FF9.uasset b/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/9/FC/NP1EQLIDLXWZ5CQZAF6FF9.uasset new file mode 100644 index 0000000..2892ce5 Binary files /dev/null and b/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/9/FC/NP1EQLIDLXWZ5CQZAF6FF9.uasset differ diff --git a/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/A/YU/2J0S6FDN7X0VH1QG229LFC.uasset b/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/A/YU/2J0S6FDN7X0VH1QG229LFC.uasset new file mode 100644 index 0000000..db24f7c Binary files /dev/null and b/Content/__ExternalObjects__/ZMMO/Maps/World/L_ZeusIATest/A/YU/2J0S6FDN7X0VH1QG229LFC.uasset differ diff --git a/Source/ZMMO/Game/UI/Widgets/UIButton_Base.cpp b/Source/ZMMO/Game/UI/Widgets/UIButton_Base.cpp index d9c7d61..efb3288 100644 --- a/Source/ZMMO/Game/UI/Widgets/UIButton_Base.cpp +++ b/Source/ZMMO/Game/UI/Widgets/UIButton_Base.cpp @@ -1,8 +1,456 @@ #include "UIButton_Base.h" +#include "CommonTextBlock.h" +#include "Components/Image.h" +#include "Components/OverlaySlot.h" +#include "Engine/DataTable.h" +#include "Materials/MaterialInstanceDynamic.h" +#include "Materials/MaterialInterface.h" +#include "Styling/SlateBrush.h" +#include "Styling/SlateTypes.h" +#include "UObject/ConstructorHelpers.h" #include "UI/UIStyleRow.h" #include "UI/UIStyleTokens.h" -#include "Engine/DataTable.h" + +namespace +{ + constexpr float MinTransition = 0.001f; + + // Params do material UI_M_Button (Bg). + static const FName P_TopColour("TopColour"); + static const FName P_BottomColour("BottomColour"); + static const FName P_GlowColour("GlowColour"); + static const FName P_GlowIntensity("GlowIntensity"); + static const FName P_CornerColour("CornerColour"); + static const FName P_CornerLength("CornerLength"); + static const FName P_CornerThickness("CornerThickness"); + static const FName P_FrameColour("FrameColour"); + static const FName P_AspectRatio("AspectRatio"); + static const FName P_GlowEdge("GlowEdge"); + static const FName P_GlowSoftness("GlowSoftness"); + + FORCEINLINE float EaseOutCubic(float Alpha) + { + return 1.f - FMath::Pow(1.f - Alpha, 3.f); + } +} + +UUIButton_Base::UUIButton_Base(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + // Materiais default (fallback quando o brush da imagem não traz material). + static ConstructorHelpers::FObjectFinder BgMatFinder( + TEXT("/Game/ZMMO/UI/Themes/Default/Button/UI_M_Button.UI_M_Button")); + if (BgMatFinder.Succeeded()) { BgMaterial = BgMatFinder.Object; } + + static ConstructorHelpers::FObjectFinder GlowMatFinder( + TEXT("/Game/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.UI_M_Button_Glow")); + if (GlowMatFinder.Succeeded()) { GlowMaterial = GlowMatFinder.Object; } + + static ConstructorHelpers::FObjectFinder CornerMatFinder( + TEXT("/Game/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.UI_M_CornerBrackets")); + if (CornerMatFinder.Succeeded()) { CornerMaterial = CornerMatFinder.Object; } + + static ConstructorHelpers::FObjectFinder FrameMatFinder( + TEXT("/Game/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.UI_M_Button_Frame")); + if (FrameMatFinder.Succeeded()) { FrameMaterial = FrameMatFinder.Object; } + + // Defaults = btn-primary (buttons_showcase.html). Cores em valores sRGB + // diretos (mesma convenção do UUIProgressBar_Base — UI sem gamma). + + // Default (repouso) + DefaultVisual.TopColour = FLinearColor(0.910f, 0.753f, 0.376f, 0.18f); + DefaultVisual.BottomColour = FLinearColor(0.659f, 0.471f, 0.188f, 0.10f); + DefaultVisual.BorderColour = FLinearColor(0.831f, 0.659f, 0.314f, 0.28f); + DefaultVisual.BorderWidth = 1.f; + DefaultVisual.GlowColour = FLinearColor(0.f, 0.f, 0.f, 0.5f); // drop shadow (escura) + DefaultVisual.GlowIntensity = 0.7f; + DefaultVisual.TextColour = FLinearColor(1.f, 0.847f, 0.533f, 1.f); + DefaultVisual.Scale = 1.f; + DefaultVisual.RenderOpacity = 1.f; + + // Hover — gradient mais forte, borda gold, glow aceso, leve zoom. + HoveredVisual.TopColour = FLinearColor(0.910f, 0.753f, 0.376f, 0.32f); + HoveredVisual.BottomColour = FLinearColor(0.659f, 0.471f, 0.188f, 0.18f); + HoveredVisual.BorderColour = FLinearColor(0.910f, 0.753f, 0.439f, 1.f); + HoveredVisual.BorderWidth = 1.f; + HoveredVisual.GlowColour = FLinearColor(0.f, 0.f, 0.f, 0.55f); // sombra mais forte (elevado) + HoveredVisual.GlowIntensity = 0.9f; + HoveredVisual.TextColour = FLinearColor(1.f, 0.847f, 0.533f, 1.f); + HoveredVisual.Scale = 1.02f; + HoveredVisual.RenderOpacity = 1.f; + + // Pressed/Active — gradient invertido, encolhe. + PressedVisual.TopColour = FLinearColor(0.659f, 0.471f, 0.188f, 0.25f); + PressedVisual.BottomColour = FLinearColor(0.910f, 0.753f, 0.376f, 0.15f); + PressedVisual.BorderColour = FLinearColor(0.910f, 0.753f, 0.439f, 1.f); + PressedVisual.BorderWidth = 1.f; + PressedVisual.GlowColour = FLinearColor(0.f, 0.f, 0.f, 0.5f); // sombra menor (afundou) + PressedVisual.GlowIntensity = 0.5f; + PressedVisual.TextColour = FLinearColor(1.f, 0.847f, 0.533f, 1.f); + PressedVisual.Scale = 0.98f; + PressedVisual.RenderOpacity = 1.f; + + // Disabled — quase apagado, texto escuro, opacity 0.6. + DisabledVisual.TopColour = FLinearColor(1.f, 1.f, 1.f, 0.02f); + DisabledVisual.BottomColour = FLinearColor(1.f, 1.f, 1.f, 0.02f); + DisabledVisual.BorderColour = FLinearColor(1.f, 1.f, 1.f, 0.06f); + DisabledVisual.BorderWidth = 1.f; + DisabledVisual.GlowColour = FLinearColor(0.f, 0.f, 0.f, 0.25f); // sombra fraca + DisabledVisual.GlowIntensity = 0.3f; + DisabledVisual.TextColour = FLinearColor(0.227f, 0.220f, 0.188f, 1.f); + DisabledVisual.Scale = 1.f; + DisabledVisual.RenderOpacity = 0.6f; + + // Selected (tabs/toggles) — gold suave persistente, sem zoom. + SelectedVisual.TopColour = FLinearColor(0.910f, 0.753f, 0.376f, 0.20f); + SelectedVisual.BottomColour = FLinearColor(0.659f, 0.471f, 0.188f, 0.12f); + SelectedVisual.BorderColour = FLinearColor(0.831f, 0.659f, 0.314f, 0.55f); + SelectedVisual.BorderWidth = 1.f; + SelectedVisual.GlowColour = FLinearColor(0.f, 0.f, 0.f, 0.5f); + SelectedVisual.GlowIntensity = 0.75f; + SelectedVisual.TextColour = FLinearColor(1.f, 0.847f, 0.533f, 1.f); + SelectedVisual.Scale = 1.f; + SelectedVisual.RenderOpacity = 1.f; + + CurrentVisual = DefaultVisual; +} + +void UUIButton_Base::NativePreConstruct() +{ + Super::NativePreConstruct(); + + EnsureMID(); + + // Padding/centralização do texto via slot do Overlay (design-time + runtime). + if (ButtonText) + { + if (UOverlaySlot* OS = Cast(ButtonText->Slot)) + { + OS->SetPadding(ContentPadding); + OS->SetHorizontalAlignment(HAlign_Center); + OS->SetVerticalAlignment(VAlign_Center); + } + } + + // GlowFx (drop shadow): vaza pra fora via padding negativo + deslocado pra + // baixo por GlowOffsetY (a sombra aparece mais embaixo, estilo box-shadow). + if (GlowFx) + { + if (UOverlaySlot* OS = Cast(GlowFx->Slot)) + { + OS->SetPadding(FMargin(-GlowExtent, -GlowExtent + GlowOffsetY, + -GlowExtent, -GlowExtent - GlowOffsetY)); + OS->SetHorizontalAlignment(HAlign_Fill); + OS->SetVerticalAlignment(VAlign_Fill); + } + } + + // Corners puxado pra dentro (CornerInset>0) ou pra fora/abraçando (<0). + if (Corners) + { + if (UOverlaySlot* OS = Cast(Corners->Slot)) + { + OS->SetPadding(FMargin(CornerInset)); + OS->SetHorizontalAlignment(HAlign_Fill); + OS->SetVerticalAlignment(VAlign_Fill); + } + } + + CurrentVisual = DefaultVisual; + bTransitioning = false; + ApplyVisual(CurrentVisual); +} + +void UUIButton_Base::NativeConstruct() +{ + Super::NativeConstruct(); + + EnsureMID(); + bHoveredState = bPressedState = bSelectedState = false; + bDisabledState = !GetIsEnabled(); + + // Estado inicial sem animar. + const FUIButtonStateVisual& Target = + bDisabledState ? DisabledVisual + : bSelectedState ? SelectedVisual + : DefaultVisual; + CurrentVisual = Target; + bTransitioning = false; + ApplyVisual(CurrentVisual); +} + +void UUIButton_Base::NativeTick(const FGeometry& MyGeometry, float InDeltaTime) +{ + Super::NativeTick(MyGeometry, InDeltaTime); + + if (!bTransitioning) + { + return; + } + + TransitionElapsed += InDeltaTime; + const float Duration = FMath::Max(TransitionSeconds, MinTransition); + const float Alpha = FMath::Clamp(TransitionElapsed / Duration, 0.f, 1.f); + CurrentVisual = LerpVisual(FromVisual, ToVisual, EaseOutCubic(Alpha)); + ApplyVisual(CurrentVisual); + + if (Alpha >= 1.f) + { + CurrentVisual = ToVisual; + ApplyVisual(CurrentVisual); + bTransitioning = false; + } +} + +// === Hooks de estado === + +void UUIButton_Base::NativeOnHovered() +{ + Super::NativeOnHovered(); + bHoveredState = true; + RefreshState(); +} + +void UUIButton_Base::NativeOnUnhovered() +{ + Super::NativeOnUnhovered(); + bHoveredState = false; + RefreshState(); +} + +void UUIButton_Base::NativeOnPressed() +{ + Super::NativeOnPressed(); + bPressedState = true; + RefreshState(); +} + +void UUIButton_Base::NativeOnReleased() +{ + Super::NativeOnReleased(); + bPressedState = false; + RefreshState(); +} + +void UUIButton_Base::NativeOnEnabled() +{ + Super::NativeOnEnabled(); + bDisabledState = false; + RefreshState(); +} + +void UUIButton_Base::NativeOnDisabled() +{ + Super::NativeOnDisabled(); + bDisabledState = true; + RefreshState(); +} + +void UUIButton_Base::NativeOnSelected(bool bBroadcast) +{ + Super::NativeOnSelected(bBroadcast); + bSelectedState = true; + RefreshState(); +} + +void UUIButton_Base::NativeOnDeselected(bool bBroadcast) +{ + Super::NativeOnDeselected(bBroadcast); + bSelectedState = false; + RefreshState(); +} + +// === Internos === + +void UUIButton_Base::RefreshState() +{ + const FUIButtonStateVisual& Target = + bDisabledState ? DisabledVisual + : bPressedState ? PressedVisual + : bHoveredState ? HoveredVisual + : bSelectedState ? SelectedVisual + : DefaultVisual; + GoToState(Target); +} + +void UUIButton_Base::GoToState(const FUIButtonStateVisual& Target) +{ + if (TransitionSeconds <= MinTransition) + { + CurrentVisual = Target; + bTransitioning = false; + ApplyVisual(CurrentVisual); + return; + } + FromVisual = CurrentVisual; + ToVisual = Target; + TransitionElapsed = 0.f; + bTransitioning = true; +} + +void UUIButton_Base::ApplyVisual(const FUIButtonStateVisual& V) +{ + // Fundo: só gradient (o glow agora é a camada externa GlowFx). + if (BgMID) + { + BgMID->SetVectorParameterValue(P_TopColour, V.TopColour); + BgMID->SetVectorParameterValue(P_BottomColour, V.BottomColour); + } + // Halo externo (sai pra fora). + if (GlowMID) + { + GlowMID->SetVectorParameterValue(P_GlowColour, V.GlowColour); + GlowMID->SetScalarParameterValue(P_GlowIntensity, V.GlowIntensity); + } + // Cantos: cor acompanha a borda do estado (acende no hover); tamanho/peso + // vêm das UPROPERTYs (estáticos por instância). + if (CornerMID) + { + CornerMID->SetVectorParameterValue(P_CornerColour, V.BorderColour); + CornerMID->SetScalarParameterValue(P_CornerLength, CornerLength); + CornerMID->SetScalarParameterValue(P_CornerThickness, CornerThickness); + } + // Frame (material): mesma cor de borda do estado. + if (BorderMID) + { + BorderMID->SetVectorParameterValue(P_FrameColour, V.BorderColour); + } + + const bool bSimple = (BorderStyle == EUIButtonBorderStyle::Simple); + const bool bFrame = (BorderStyle == EUIButtonBorderStyle::Frame); + const bool bCorners = bShowCorners; // INDEPENDENTE da borda + + // Bg: canto arredondado sempre; a linha (outline) só no modo Simple. + if (Bg) + { + FSlateBrush B = Bg->GetBrush(); + B.DrawAs = ESlateBrushDrawType::RoundedBox; + FSlateBrushOutlineSettings Outline = B.OutlineSettings; + Outline.CornerRadii = FVector4(CornerRadius, CornerRadius, CornerRadius, CornerRadius); + Outline.RoundingType = ESlateBrushRoundingType::FixedRadius; + if (bSimple) + { + Outline.Color = FSlateColor(V.BorderColour); + Outline.Width = FMath::Max(V.BorderWidth, 0.f); + } + else + { + Outline.Color = FSlateColor(FLinearColor::Transparent); + Outline.Width = 0.f; + } + B.OutlineSettings = Outline; + Bg->SetBrush(B); + } + + // Frame (moldura material) visível só no modo Frame. + if (BorderFx) + { + BorderFx->SetVisibility(bFrame ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Collapsed); + } + // Cantos visíveis só no modo Corners. + if (Corners) + { + Corners->SetVisibility(bCorners ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Collapsed); + } + + if (ButtonText) + { + ButtonText->SetColorAndOpacity(FSlateColor(V.TextColour)); + } + + SetRenderScale(FVector2D(V.Scale, V.Scale)); + SetRenderOpacity(V.RenderOpacity); +} + +void UUIButton_Base::EnsureMID() +{ + // Prioriza o material do próprio brush (se o WBP definiu um); senão usa o + // material default da classe. Idempotente por imagem. + auto Ensure = [this](UImage* Img, UMaterialInterface* Fallback) -> UMaterialInstanceDynamic* + { + if (!Img) { return nullptr; } + UMaterialInterface* Mat = Cast(Img->GetBrush().GetResourceObject()); + if (!Mat) { Mat = Fallback; } + if (!Mat) { return nullptr; } + UMaterialInstanceDynamic* MID = UMaterialInstanceDynamic::Create(Mat, this); + Img->SetBrushFromMaterial(MID); + return MID; + }; + if (!BgMID) { BgMID = Ensure(Bg, BgMaterial); } + if (!GlowMID) { GlowMID = Ensure(GlowFx, GlowMaterial); } + if (!CornerMID) { CornerMID = Ensure(Corners, CornerMaterial); } + if (!BorderMID) { BorderMID = Ensure(BorderFx, FrameMaterial); } +} + +void UUIButton_Base::ApplyAspectToLayers() const +{ + // Cada camada usa o aspect da SUA geometry (Corners/BorderFx têm padding + // próprio, então tamanho ≠ do botão). Sem isso, os traços esticam. + auto SetAspect = [](UMaterialInstanceDynamic* MID, const UImage* Img) + { + if (!MID || !Img) { return; } + const FVector2D S = Img->GetCachedGeometry().GetLocalSize(); + if (S.Y > 1.f) + { + MID->SetScalarParameterValue(P_AspectRatio, static_cast(S.X / S.Y)); + } + }; + SetAspect(CornerMID, Corners); + SetAspect(BorderMID, BorderFx); + SetAspect(GlowMID, GlowFx); + // Glow (drop shadow): ancora o anel da sombra na borda do BOTÃO — fração = + // margem (GlowExtent) / meia-altura do GlowFx. Assim a sombra esmaece pros + // dois lados a partir da borda, sem aresta dura na borda externa do quad. + if (GlowMID && GlowFx) + { + const FVector2D S = GlowFx->GetCachedGeometry().GetLocalSize(); + if (S.Y > 1.f) + { + // Edge = fração (em inY=min(V,1-V)) onde está a borda do botão = margem/altura. + const float Edge = GlowExtent / static_cast(S.Y); + GlowMID->SetScalarParameterValue(P_GlowEdge, Edge); + // Largura do esmaecimento ~ a margem (escala com o tamanho do botão). + GlowMID->SetScalarParameterValue(P_GlowSoftness, Edge * 1.2f); + } + } +} + +int32 UUIButton_Base::NativePaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, + const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, + int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const +{ + // NativePaint roda no Designer E em runtime (o Tick não roda no Designer) — + // é aqui que garantimos o aspect correto dos materiais em ambos. + ApplyAspectToLayers(); + return Super::NativePaint(Args, AllottedGeometry, MyCullingRect, OutDrawElements, + LayerId, InWidgetStyle, bParentEnabled); +} + +FUIButtonStateVisual UUIButton_Base::LerpVisual(const FUIButtonStateVisual& A, const FUIButtonStateVisual& B, float T) +{ + FUIButtonStateVisual R; + R.TopColour = FMath::Lerp(A.TopColour, B.TopColour, T); + R.BottomColour = FMath::Lerp(A.BottomColour, B.BottomColour, T); + R.GlowColour = FMath::Lerp(A.GlowColour, B.GlowColour, T); + R.GlowIntensity = FMath::Lerp(A.GlowIntensity, B.GlowIntensity, T); + R.BorderColour = FMath::Lerp(A.BorderColour, B.BorderColour, T); + R.BorderWidth = FMath::Lerp(A.BorderWidth, B.BorderWidth, T); + R.TextColour = FMath::Lerp(A.TextColour, B.TextColour, T); + R.Scale = FMath::Lerp(A.Scale, B.Scale, T); + R.RenderOpacity = FMath::Lerp(A.RenderOpacity, B.RenderOpacity, T); + return R; +} + +void UUIButton_Base::SetButtonText(const FText& InText) +{ + if (ButtonText) + { + ButtonText->SetText(InText); + } +} + +// === Acesso ao estilo ativo (DT_UI_Styles) — fase final === const FUIStyle* UUIButton_Base::GetActiveUIStyle(FName ThemeId) const { diff --git a/Source/ZMMO/Game/UI/Widgets/UIButton_Base.h b/Source/ZMMO/Game/UI/Widgets/UIButton_Base.h index 781c427..520e9f3 100644 --- a/Source/ZMMO/Game/UI/Widgets/UIButton_Base.h +++ b/Source/ZMMO/Game/UI/Widgets/UIButton_Base.h @@ -4,53 +4,278 @@ #include "CommonButtonBase.h" #include "UIButton_Base.generated.h" -class USizeBox; class UImage; -class UCanvasPanel; class UCommonTextBlock; -class UTextBlock; +class UMaterialInterface; +class UMaterialInstanceDynamic; struct FUIStyle; struct FUIStyleButton; +/** Tipo de borda do botão (fixo por instância; a COR acende por estado). */ +UENUM(BlueprintType) +enum class EUIButtonBorderStyle : uint8 +{ + None UMETA(DisplayName = "Sem borda"), + Simple UMETA(DisplayName = "Linha simples (Slate)"), + Frame UMETA(DisplayName = "Frame (material)") +}; + /** - * Botão base do ZMMO (CommonUI). Hoje expõe BindWidgetOptional dos widgets - * que o WBP UI_Button_Master_New consome, e helpers pra ler o estilo ativo - * de DT_UI_Styles. A aplicação visual (pintar brushes/cores/fonte) entra - * depois — esta camada só prepara o acesso. + * Snapshot visual de UM estado do botão (Default / Hover / Pressed / Disabled). + * As cores de gradient/glow vão pro material (UI_M_Button via MID); a borda usa + * o RoundedBox nativo do Slate (OutlineSettings) e o scale/opacity são + * RenderTransform do widget. Transições entre estados interpolam esta struct + * inteira (ver UUIButton_Base::NativeTick). + */ +USTRUCT(BlueprintType) +struct ZMMO_API FUIButtonStateVisual +{ + GENERATED_BODY() + + /** Topo do gradient vertical do fundo (param TopColour do material). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State") + FLinearColor TopColour = FLinearColor(0.910f, 0.753f, 0.376f, 0.18f); + + /** Base do gradient vertical (param BottomColour). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State") + FLinearColor BottomColour = FLinearColor(0.659f, 0.471f, 0.188f, 0.10f); + + /** Cor do halo externo (camada GlowFx, material UI_M_Button_Glow). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State") + FLinearColor GlowColour = FLinearColor(0.910f, 0.753f, 0.376f, 1.f); + + /** Intensidade do halo externo (GlowFx). 0 = sem glow; hover acende (sai pra fora). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State", + meta = (ClampMin = "0", ClampMax = "1")) + float GlowIntensity = 0.f; + + /** Cor da borda/cantos (Slate outline no modo Simple, ou material no modo Corners). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State") + FLinearColor BorderColour = FLinearColor(0.831f, 0.659f, 0.314f, 0.28f); + + /** Espessura da borda em pixels (Slate OutlineSettings.Width). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State", + meta = (ClampMin = "0", ClampMax = "6")) + float BorderWidth = 1.f; + + /** Cor do texto (ButtonText->SetColorAndOpacity). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State") + FLinearColor TextColour = FLinearColor(1.f, 0.847f, 0.533f, 1.f); + + /** Scale do botão (CSS transform: scale). 1 = normal, 1.02 = hover, 0.98 = pressed. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State", + meta = (ClampMin = "0.5", ClampMax = "1.5")) + float Scale = 1.f; + + /** Opacidade geral do botão (CSS opacity — disabled usa 0.6). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button|State", + meta = (ClampMin = "0", ClampMax = "1")) + float RenderOpacity = 1.f; +}; + +/** + * Botão base do ZMMO (CommonUI). Mesmo padrão do UUIProgressBar_Base: um UImage + * (`Bg`) com material custom (UI_M_Button) controlado por MID + RoundedBox nativo + * do Slate pra borda/canto. Os estados do UCommonButtonBase (Hover/Pressed/ + * Disabled/Selected) trocam o FUIButtonStateVisual alvo; a transição interpola + * suave no Tick (estilo CSS `transition`). + * + * Modo atual = manual (os 4 FUIButtonStateVisual editáveis no Details, já com + * defaults do `btn-primary`). A leitura via DT_UI_Styles (bUseTheme + Variant) + * entra na fase final, reusando esta struct. + * + * WBP filho (UI_Button_Master_New): `Bg` (UImage, obrigatório, material no brush) + * + `ButtonText` (UCommonTextBlock, opcional). */ UCLASS(Abstract, Blueprintable) class ZMMO_API UUIButton_Base : public UCommonButtonBase { GENERATED_BODY() +public: + UUIButton_Base(const FObjectInitializer& ObjectInitializer); + + /** Define o texto do botão (ButtonText). */ + UFUNCTION(BlueprintCallable, Category = "UI Button") + void SetButtonText(const FText& InText); + + // === Visual por estado (modo manual; defaults = btn-primary) === + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FUIButtonStateVisual DefaultVisual; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FUIButtonStateVisual HoveredVisual; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FUIButtonStateVisual PressedVisual; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FUIButtonStateVisual DisabledVisual; + + /** Estado "selecionado" (tabs/toggles). Default = igual ao Hovered. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FUIButtonStateVisual SelectedVisual; + + /** Raio do canto em pixels (Slate RoundedBox). Comum a todos os estados. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "0", ClampMax = "32")) + float CornerRadius = 2.f; + + /** Tipo de borda (independente dos cantos): sem borda, linha Slate ou frame material. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + EUIButtonBorderStyle BorderStyle = EUIButtonBorderStyle::Frame; + + /** Liga os cantos (corner brackets) — INDEPENDENTE da borda. Pode ter os dois, + * só um, ou nenhum. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + bool bShowCorners = true; + + /** Material do fundo (UI_M_Button). Fallback quando o brush do Bg não traz + * material próprio. Defaults resolvidos no construtor. */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Button|Visual") + TObjectPtr BgMaterial; + + /** Material do halo externo (UI_M_Button_Glow), aplicado no GlowFx. */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Button|Visual") + TObjectPtr GlowMaterial; + + /** Material dos cantos (UI_M_CornerBrackets), aplicado no Corners. */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Button|Visual") + TObjectPtr CornerMaterial; + + /** Material da moldura (UI_M_Button_Frame), aplicado no BorderFx. */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UI Button|Visual") + TObjectPtr FrameMaterial; + + /** Padding do conteúdo (texto) dentro do botão. btn-primary = 28px horiz / + * 12px vert. Aplicado no slot do ButtonText em PreConstruct (o texto fica + * centralizado). */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual") + FMargin ContentPadding = FMargin(28.f, 12.f, 28.f, 12.f); + + /** Quanto o halo externo (GlowFx) vaza pra fora do botão, em pixels. Aplicado + * como padding negativo no slot do GlowFx em PreConstruct. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "0", ClampMax = "64")) + float GlowExtent = 16.f; + + /** Desloca os cantos. Negativo = pra FORA (abraçando o botão, estilo CSS); + * positivo = pra dentro. Aplicado no slot do Corners em PreConstruct. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "-32", ClampMax = "32")) + float CornerInset = -5.f; + + /** Comprimento de cada braço do "L" (fração da altura). Maior = L mais longo. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "0.05", ClampMax = "1.0")) + float CornerLength = 0.35f; + + /** Espessura/peso do traço dos cantos (fração da altura). Menor = mais fino. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "0.005", ClampMax = "0.3")) + float CornerThickness = 0.04f; + + /** Deslocamento da sombra (GlowFx) pra baixo, em px — dá o look de drop shadow. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Visual", + meta = (ClampMin = "0", ClampMax = "32")) + float GlowOffsetY = 4.f; + + /** Duração da transição entre estados (s). 0 = troca instantânea. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UI Button|Animation", + meta = (ClampMin = "0", ClampMax = "1")) + float TransitionSeconds = 0.12f; + protected: - // ---- Widgets BindWidgetOptional (espelham a árvore do UI_Button_Master_New) ---- - UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) - TObjectPtr SizeBox; + virtual void NativePreConstruct() override; + virtual void NativeConstruct() override; + virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; + virtual int32 NativePaint(const FPaintArgs& Args, const FGeometry& AllottedGeometry, + const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, + int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override; - UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) - TObjectPtr ImgStoke; + // === Hooks de estado do UCommonButtonBase === + virtual void NativeOnHovered() override; + virtual void NativeOnUnhovered() override; + virtual void NativeOnPressed() override; + virtual void NativeOnReleased() override; + virtual void NativeOnEnabled() override; + virtual void NativeOnDisabled() override; + virtual void NativeOnSelected(bool bBroadcast) override; + virtual void NativeOnDeselected(bool bBroadcast) override; + // === BindWidget (espelham a árvore do UI_Button_Master_New) === + // Todos BindWidgetOptional pra não quebrar WBPs que herdam UUIButton_Base sem + // essas peças — sem elas o visual degrada (não pinta), mas não quebra. + + /** Halo externo (atrás do Bg, com padding negativo pra vazar pra fora). */ UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) - TObjectPtr CanvasPanel_Text; + TObjectPtr GlowFx; + + /** Fundo (gradient). */ + UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) + TObjectPtr Bg; + + /** Moldura/frame (material), visível só no BorderStyle = Frame. */ + UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) + TObjectPtr BorderFx; + + /** Cantos (corner brackets), visível só no BorderStyle = Corners. */ + UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) + TObjectPtr Corners; UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) TObjectPtr ButtonText; - UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) - TObjectPtr Number_Text; + // === Acesso ao estilo ativo (DT_UI_Styles) — usado na fase final === - UPROPERTY(BlueprintReadOnly, Category = "UI Button", meta = (BindWidgetOptional)) - TObjectPtr ImgIcon; - - // ---- Acesso ao estilo ativo (DT_UI_Styles) — C++ only ---- - - /** Carrega DT_UI_Styles e devolve o FUIStyle da row pedida (default "Default"). - * Retorna nullptr se a DT ou a row não existirem. Ponteiro válido enquanto - * a DT estiver carregada — uso típico é leitura imediata, sem armazenar. */ + /** Carrega DT_UI_Styles e devolve o FUIStyle da row pedida (default "Default"). */ const FUIStyle* GetActiveUIStyle(FName ThemeId = TEXT("Default")) const; /** Atalho: devolve só o bloco Button do FUIStyle ativo. */ const FUIStyleButton* GetActiveButtonStyle(FName ThemeId = TEXT("Default")) const; + +private: + /** Cria os MIDs a partir do material no brush de cada imagem (idempotente). */ + void EnsureMID(); + + /** Passa a proporção W/H de CADA camada (cantos/frame/glow) pro respectivo + * material que compensa aspect. Chamado no NativePaint — roda no Designer E + * em runtime (o Tick NÃO roda no Designer, por isso o traço esticava lá). */ + void ApplyAspectToLayers() const; + + /** Recalcula o estado-alvo (disabled>pressed>hovered>selected>default) e transiciona. */ + void RefreshState(); + + /** Inicia transição pro visual alvo (ou aplica direto se TransitionSeconds≈0). */ + void GoToState(const FUIButtonStateVisual& Target); + + /** Empurra um visual pros widgets (MID + borda Slate + scale/opacity + texto). */ + void ApplyVisual(const FUIButtonStateVisual& V); + + static FUIButtonStateVisual LerpVisual(const FUIButtonStateVisual& A, const FUIButtonStateVisual& B, float T); + + UPROPERTY(Transient) + TObjectPtr BgMID; + + UPROPERTY(Transient) + TObjectPtr GlowMID; + + UPROPERTY(Transient) + TObjectPtr CornerMID; + + UPROPERTY(Transient) + TObjectPtr BorderMID; + + bool bHoveredState = false; + bool bPressedState = false; + bool bDisabledState = false; + bool bSelectedState = false; + + FUIButtonStateVisual FromVisual; + FUIButtonStateVisual ToVisual; + FUIButtonStateVisual CurrentVisual; + float TransitionElapsed = 0.f; + bool bTransitioning = false; }; diff --git a/ZMMO.uproject b/ZMMO.uproject index a06e717..4f68b16 100644 --- a/ZMMO.uproject +++ b/ZMMO.uproject @@ -52,6 +52,13 @@ "Editor" ] }, + { + "Name": "ZeusAdminTools", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + }, { "Name": "ZeusUMGForge", "Enabled": true, @@ -70,6 +77,10 @@ { "Name": "CommonUI", "Enabled": true + }, + { + "Name": "NwiroIntegrationKit", + "Enabled": false } ], "AdditionalPluginDirectories": [