Talk:Infinite Super Scope glitch

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search

As a programmer, I have a question. Even signed integers have a minimum number. Now, what happens if the minimum number is breached? Well, in most languages this can cause an underflow error or exception, and how it handled likely depends on the language, the software in question, or the architecture. I imagine for a console an underflow means a crash (Don't see much in the way of error messages coming from video games when something goes wrong.). However, some architectures simply loop the bits. Now, lets say the data type for the super scope ammo is a simple char (Which is simply a byte. And I'm assuming SSBM is coded in Assembly, C, or C++.) Then the byte could go from 00000000 to 11111111 in some architectures. This would afford us the luxury of NOT crashing the game with a value underflow... but it means it could head straight for the 0 mark again, so... my question, in short, should be:

Is the infinite super scope truly infinite? Would it crash the game or just afford a full extra 255 (Or more, depending on what data type the ammo is tracked with. I imagine, though, that no one would have the patience to test this if the game uses an int, a long, or a long long, as their maximum/minimum number in the millions to trillions.) more before actually running out? 02:03, December 4, 2009 (UTC)

It wouldn't make sense to devote so much storage space to a value that can't go higher than 48 (assuming it starts there; it's the maximum number of uncharged shots possible). Then again, the glitch wouldn't exist if this programming made sense. But here's a theory: what if they used a float or a double? If percentages are tracked with decimals, it's possible Super Scope ammo is as well (so any range of partial charge would be possible). Floats and doubles have significantly more distant endpoints than ints and longs if I remember correctly. Toomai Glittershine Toomai.png The Table Designer 02:37, December 4, 2009 (UTC)