mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
sceFontGraphicsAppendGradientSegment decodes from the 4.03 libSceFont body at 0x20500: sorted-inserts a 0x18-byte color-stop node into the +8 chain of linear (0x20) and radial (0x30) gradient records while node->+4 == record->+4 and position >= node->+0x10. Stop records live in a unit byte stream built from the per-object segment arena at object->+0x10 (+0xc0 descriptor, mutex at +0x40, stats +0x48/+0x4c), allocated by the span allocator at 0x1b5e0 (12-byte nodes: count(22b), chain index(21b), span end(21b); index 0 is the sentinel). Units chain through frame->+0x18/+0x20 with byte position in frame->+0x10/+0x14; sub-0x18 tails get a 0xff pad record plus a zeroed tail. Validation order, error codes (0x80460020/0x80460086/0x80460002/0x804600a0), NaN acceptance, stats updates skipped on alloc failure, and the pad loop's abandon-on-failure all follow the disassembly; guest_font_graphics covers insert order, epoch stop, pads, unit boundaries and exhaustion. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>