fix some sound issues

you might notice when you scroll fast, the sound of a vehicle might make a pop noise because its going from full volume to 0.  i made it so it will fade/interpolate between the volume changes from one buffer fill to the next so this doesn't happen.

there was also an issue where the vehicle volume would not go quieter when underground, and that is fixed.

another sound issue caused by a needed signed cast was fixed as well.

the functions in the audio.c were sorted by their address for better organization, some variables renamed, and a few functions decompiled including gfx_invalidate_scrollingtext() which is used to set dirty rect of those signs with the scrolling words on them.