camera: fix regression in low firmware games (#4674)

This commit is contained in:
kalaposfos13 2026-07-05 19:15:49 +02:00 committed by GitHub
parent f668febfeb
commit db43acc4f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -461,9 +461,14 @@ s32 PS4_SYSV_ABI sceCameraGetFrameData(s32 handle, OrbisCameraFrameData* frame_d
}
frame_data->meta.format[0][0] = output_config0.format.formatLevel0;
frame_data->meta.format[1][0] = output_config1.format.formatLevel0;
// not fully correct, but good enough
frame_data->pFramePointerListGarlic[0][0] = frame_data->pFramePointerList[0][0];
frame_data->pFramePointerListGarlic[1][0] = frame_data->pFramePointerList[1][0];
// on older firmwares, this wasn't present, and the original library also checks struct size
// instead of the SDK version, and without this check, we'd smash the stack in those games
if (frame_data->sizeThis == 584) {
// not fully correct, but good enough
frame_data->pFramePointerListGarlic[0][0] = frame_data->pFramePointerList[0][0];
frame_data->pFramePointerListGarlic[1][0] = frame_data->pFramePointerList[1][0];
}
return ORBIS_OK;
}