OldUnreal / Unreal-testing

OU 227 testing
Other
28 stars 0 forks source link

[227j] Crash: Decal.AttachDecal #232

Closed rick-54321 closed 2 years ago

rick-54321 commented 2 years ago
ScriptLog: Fabricate meshcrashtest.meshcrashtest
ScriptLog: <Invalid GetPathName 00000001>
Critical: URender::DrawLodMesh
Critical: (LodMesh UnrealShare.Nali1)
Critical: DrawMesh
Critical: (LodMesh UnrealShare.Nali1)
Critical: URender::DrawActorSprite
Critical: (Barrel nyleve.Barrel)
Critical: URender::DrawFrame
Critical: (nyleve.MyLevel Recur 0 Mirror 1 Zone 1)
Critical: URender::DrawWorld
Critical: UGameEngine::Draw
Critical: UWindowsViewport::Repaint
Critical: UWindowsClient::Tick
Critical: ClientTick
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: MainLoop
Critical: (ClientCam Pos=(3178.94,-7364.15,-1181.57) Rot=(65320,-165978,0))
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Init: Registering Mouse for RawInput.
Init: RawInput Devices registered.
Exit: ALAudio subsystem shut down.
Exit: UALAudioSubsystem::ShutdownAfterError
Log: DirectDraw End Mode
Exit: UD3D9RenderDevice::ShutdownAfterError

Repeating the issue: Summon this actor near a wall.

function PostBeginPlay()
{
    local Texture T;
    local Scorch S;
    local Barrel B;

    S = Spawn(class'Scorch');
    T = S.AttachDecal(1000); // Get wall texture.
    Log(T); // ScriptLog: <Invalid GetPathName 00000001>
    S.Destroy();
    S = None;

    B = Spawn(class'Barrel');
    B.Skin = T; // No crash yet.
    B.Mesh = LodMesh'Nali1'; // Nali mesh for animation.
    B.PlayAnim('Breath'); // Crash.
}

S.AttachDecal returns invalid texture. Invalid texture: Invalid GetPathName 00000001 Crash is caused by mesh animation.

rick-54321 commented 2 years ago

Using D3D9 renderer. You need to summon actors like in code quite a lot to cause the crash. Decals=True in Unreal.ini

Marco888 commented 2 years ago

Fixed. C++ code tried to return AttachDecal result as a boolean, but UnrealScript expected Texture pointer.