1. Chernarus, clear weather, low sun (e.g. 17:00 in summer, sun elevation ~20°).
2. Stand next to static map objects that cast long shadows, e.g. the military camp with big tents and a camo net at about X 13637, Z 13750.
3. Turn so that the sun is to the side or behind you (more than ~75–110° from the view direction) and look forward or down at the ground where the tent/net shadow lies.
4. Slowly turn the camera so the tent/net itself leaves the screen while its shadow stays on screen.
Actual: the shadow disappears the moment the caster is off-screen. Standing still does not bring it back; only turning back until the caster is visible again does.
Expected: a directional-light shadow is visible wherever it falls in the view, whether or not the caster itself is visible.
## Analysis (DayZDiag_x64.exe 1.30.164289, addresses with image base 0x140000000)
- Shadow-caster gathering walks a ring of cells around the camera 0x140830a20) and, for static map objects, calls 0x1408336b0 → 0x1406794d0.
- In 0x1406794d0 each object is tested against the camera view frustum (plane set this+0xd78). For an object outside the view, the conditional jump at 0x1406799c0 ja, bytes 77 70) marks it as "out of view" (main LOD = 0x7F).
- Such objects never end up drawn into the sun shadow cascades, so their shadows are lost.
- The engine already computes a frustum extruded toward the light 0x1404278f0) for shadow purposes, but this object-level path still relies on the plain view-frustum classification.
## Verification
Patching only that jump in a running DayZDiag 0x1406799c0: 77 70 → 90 90, i.e. map objects are never classified "out of view") makes all static-object shadows stable at every camera angle. Nothing else was changed. Control: forcing the cascade-mask function 0x140385180 to always return 0 removes all object shadows, confirming this is the live caster path. Entity casters 0x140697140) and cell classification 0x1408329b0) were tested separately and are not involved for these objects.
The probable equivalent in retail DayZ_x64.exe 1.30.164289 is the jump at 0x14060f4fe (bytes 77 76, function 0x14060f0d0). We did not test the retail exe.