I havent used game_save, but I think you're saving the pointers to a dynamically created strings.

Instead, you should str_cpy the contents of the dynamic string into your pre-defined string. The problem with pointers is that they're different every time you start the app, if they exist at all...
Generate the dynamic string in a 'tempString' and str_cpy tempString to FileNames[i]...

Also, for saving/loading, I dont think its necessary to str_create the name of the save file...you can just use quotes ""


Extensive Multiplayer tutorial:
http://mesetts.com/index.php?page=201