View Single Post
Violet CLM

Administrator

Joined: Mar 2001

Posts: 11,302

Violet CLM has disabled reputation

Apr 17, 2026, 03:18 PM
Violet CLM is offline
Reply With Quote
I looked into this at the time but neglected to report my findings. These function/variable names are from g_Ai.c:
Quote:
From what I can tell, the dividing by zero is because there's one or more AddRotSprite calls in Swinger3D getting passed (a multiple of) 256 for the a6 (scale) argument, but it's an 8-bit argument and is getting reduced to 0. Basically, length 15 for 3D spike bolls tries to draw sprites larger than the game is capable of handling. The only reason this doesn't happen in the NEGATED level is that the object gets sufficiently far outside the bounds of the level to be deactivated before it can try to be drawn at the offending size.
So maybe the spike bolls shouldn't be allowed to be 15 long to begin with.