Normally this should be correct. If you write a file with fopen, e.g. fopen("test.txt","wb"); without an specific absolute path, the file is automatically created in the work folder of your game.

Therefore it's correct that if save_dir is "" it means the same as if it was filled with the "real" work dir.

BTW: You do not need a wdl file, or the -dir command. It's just enough to copy a string into save_dir (e.g. str_cpy(save_dir,work_dir); )