Update for build systems.
Replace `(void*)0` with `NULL`.
Use `MAX()` to make codes more readable.
No need to check IS_CODE here.
Add support for bool type.
Unify the coding style for `return`.
Change the type of `fade` into bool.
Add comment for bool.
removed trailing colon for sublime text 2 compatibility