All songs the game places are in packages/fanatic. Now the problem is that the command that plays them is actually restricted to 8 songs, which cannot take whitespace or have any other name than a number. Also these songs have to be in .ogg format, according to the script named 'playasong'.
For a while now i've been experimenting with it and managed to make this script way better than the original. My version allows for music files with the format of .ogg, .wav, .wma and .mid. It also allows the songs to have whitespace in their filenames, it can take any amount of songs and play them in a random order and it also refreshes the list of songs each time a new song is played in order to avoid the need for a restart each time you add a new song while ingame. There is also a feature which shows you which song is played every time a new song is started, so now you will know what your favourite tracks are. Last, it does not start a new song each time a map is loaded, because it is REALLY annoying if you want to hear your songs till the end.
If you want this script i made, first go to 'data' folder and locate 'game_fps.cfg'. Open the file and remove the 2 lines that refer to 'playasong'. Save the file and go back. Now if you have a file named 'autoexec.cfg', open it and add the following inside. (if you don't have it, create a txt file, name it accordingly and change the extension from .txt to .cfg)
audiolibrary = [.wma .wav .ogg .mid]
playasong = [
playlist =; loopfiles f "packages/fanatic" "" [
loop i 5 [
if (>= (strstr $f (at $audiolibrary $i))) [playlist = (concat $playlist (format ["%1"] $f))]
]
]
rndsong = (at $playlist (rnd (listlen $playlist))); rndsong
music (format "fanatic/%1" $rndsong) playasong
echo (format "Now playing: ^f2%1" $rndsong)
]
playasong
Hope this helps everyone with the same problems, and that it may open someone's eyes for a more sophisticated playasong system :)