I have managed to get the base path using this code:
char root[MAX_FILENAME_LEN];
memset(root, '\0', sizeof(root));
strncpy(root, argv[0], strrchr(argv[0], '/') - argv[0]);
sprintf(rootDir, "%s/OpenBOR/", root);
sprintf(savesDir, "%s/Saves", root)...