froducish
Aug 23, 2026, 01:03 PM
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:
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.
Minimal example:
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.