View Single Post
froducish

JCF Member

Joined: Jan 1970

Posts: 16

froducish has disabled reputation

Aug 23, 2026, 01:03 PM
froducish is offline
Reply With Quote
32-bit graphics are glitchy when used in gems for Coop/SP end of level screen

Mayhem happens if you use jjCOLORMAP instead of jjPIXELMAP. For smaller graphics (totem.png) it shows the wrong image with artifacts, for larger graphics (spyromalfunction.png) it crashes with an access violation (EIP always 0x0047C7CF, but the address it reads from varies each time).
Minimal example:
Code:
void onLevelLoad() {
        jjCOLORMAP dummy("your_file_here.png");
        jjAnimSets[ANIM::PICKUPS].load();
        const uint animId = 35;
        jjANIMFRAME@ frame = jjAnimFrames[jjAnimations[jjAnimSets[ANIM::PICKUPS].firstAnim + animId].firstFrame]; // (ANIM::PICKUPS, animId, 0)
        dummy.save(frame);
}
Tested on JJ2+ 6.6g.
Attached Images
File Type: png glitch_ahoy.png (101.4 KB, 0 views)
File Type: png crash_ahoy.png (23.3 KB, 0 views)
File Type: png totem.png (1.9 KB, 0 views)
File Type: png spyromalfunction.png (6.8 KB, 0 views)