al_fixed al_itofix(int x);
Converts an integer to fixed point. This is the same thing as x<<16. Remember that overflows (trying to convert an integer greater than 32767) and underflows (trying to convert an integer lesser than -32768) are not detected even in debug builds! The values simply "wrap around".
al_fixed number; /* This conversion is OK. */ number = al_itofix(100); assert(al_fixtoi(number) == 100); number = al_itofix(64000); /* This check will fail in debug builds. */ assert(al_fixtoi(number) == 64000);
Returns the value of the integer converted to fixed point ignoring overflows.