|
Size: 2192
Comment:
|
Size: 2197
Comment: Corrected typos and added ().
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 12: | Line 12: |
| char *SDL_GetBasePath(void) | char* SDL_GetBasePath(void) |
| Line 16: | Line 16: |
| Returns the an absolute path in UTF-8 encoding do the application data directory. NULL will be returned on error or when the platform doesn't implement this functionality, call [[SDL_GetError]]() for more information. | Returns the an absolute path in UTF-8 encoding to the application data directory. NULL will be returned on error or when the platform doesn't implement this functionality, call [[SDL_GetError]]() for more information. |
| Line 18: | Line 18: |
| The return path will be gauranteed to end with a path separator ('\' on Windows, '/' most other platforms) | The return path will be guaranteed to end with a path separator ('\' on Windows, '/' on most other platforms) |
| Line 20: | Line 20: |
| The pointer returned is owned by you. Please call SDL_free on the pointer when you are done with it. | The pointer returned is owned by you. Please call SDL_free() on the pointer when you are done with it. |
DRAFT |
SDL_GetBasePath (SDL 2.0.1+)
Use this function to get the directory where the application was run from. This is where the application data directory is.
Syntax
char* SDL_GetBasePath(void)
Return Value
Returns the an absolute path in UTF-8 encoding to the application data directory. NULL will be returned on error or when the platform doesn't implement this functionality, call SDL_GetError() for more information.
The return path will be guaranteed to end with a path separator ('\' on Windows, '/' on most other platforms)
The pointer returned is owned by you. Please call SDL_free() on the pointer when you are done with it.
Code Examples
char *data_path = NULL;
int InitializeDataPath() {
char *base_path = SDL_GetBasePath();
if (base_path) {
data_path = SDL_strdup(base_path);
SDL_free(base_path);
} else {
data_path = SDL_strdup("./");
}
}
Remarks
This is not necessarily a fast call, though, so you should call this once near startup and save the string if you need it.
*Mac OS X and iOS Specific Functionality* If the application is in a ".app" bundle, this function returns the Resource directory (e.g. MyApp.app/Contents/Resources/). This behaviour can be overridden by adding a property to the Info.plist file. Adding a string key with the name SDL_FILESYSTEM_BASE_DIR_TYPE with a supported value will change the behaviour.
Supported values for the SDL_FILESYSTEM_BASE_DIR_TYPE property (Given an application in /Applications/SDLApp/MyApp.app):
Value |
Description |
Example returned path |
resource |
The bundle resource directory (the default) |
/Applications/SDLApp/MyApp.app/Contents/Resources |
bundle |
The Bundle directory |
/Applications/SDLApp/MyApp.app/ |
parent |
The containing directory of the bundle |
/Applications/SDLApp/ |
