View Single Post
Seren Seren's Avatar

JCF Member

Joined: Feb 2010

Posts: 864

Seren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to allSeren is a name known to all

Oct 13, 2015, 02:05 PM
Seren is offline
Reply With Quote
There's also a related widespread lie that such a crash is caused by the fact "there is no animation for a frozen gem ring". Obviously literally no sprites have separate frozen animation resources; that would be an incredible waste of space. It also has nothing to do with drawing a rotated frozen sprite, because rotating rocks do that just fine when frozen (although one thing to notice is that rotated frozen sprites vastly differ in appearance from regular frozen sprites) (also, in JJ2 code for rotated sprites, gem mode has priority over frozen mode anyway, so if frozen gem rings didn't crash the game, they would be drawn as regular gem rings). Instead, the reason of the crash is that frozen objects have their state changed to FREEZE, but gem rings have a poorly written behavior function that doesn't expect any states other than START, SLEEP, HIT, or DEACTIVATE, and, when called for an object with another state, doesn't properly set size of the sprite to be drawn, leaving it at 0. Of course that wouldn't be a problem with properly written code for displaying scaled sprites, 0 would just mean no sprite is drawn. Yeah, no, JJ2 is totally taking that and dividing by that.