mirror of https://github.com/encounter/SDL.git
Initialize nacl_io, removes SDL_NaClMount/Umount
It's just easier to use nacl_io's mount/umount directly.
This commit is contained in:
parent
199aff7bc2
commit
553cc07e9d
|
@ -60,18 +60,17 @@ script will give you instructions on how to do that with Python).
|
||||||
RWops and nacl_io
|
RWops and nacl_io
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
SDL_RWops work transparently with nacl_io. Two functions are provided to control
|
SDL_RWops work transparently with nacl_io. Two functions control the mount points:
|
||||||
mount points:
|
|
||||||
|
|
||||||
int SDL_NaClMount(const char* source, const char* target,
|
int mount(const char* source, const char* target,
|
||||||
const char* filesystemtype,
|
const char* filesystemtype,
|
||||||
unsigned long mountflags, const void *data);
|
unsigned long mountflags, const void *data);
|
||||||
int SDL_NaClUmount(const char *target);
|
int umount(const char *target);
|
||||||
|
|
||||||
For convenience, SDL will by default mount an httpfs tree at / before calling
|
For convenience, SDL will by default mount an httpfs tree at / before calling
|
||||||
the app's main function. Such setting can be overridden by calling:
|
the app's main function. Such setting can be overridden by calling:
|
||||||
|
|
||||||
SDL_NaClUmount("/");
|
umount("/");
|
||||||
|
|
||||||
And then mounting a different filesystem at /
|
And then mounting a different filesystem at /
|
||||||
|
|
||||||
|
@ -85,6 +84,17 @@ connections are involved.
|
||||||
For more information on how nacl_io and mount points work, see:
|
For more information on how nacl_io and mount points work, see:
|
||||||
|
|
||||||
https://developer.chrome.com/native-client/devguide/coding/nacl_io
|
https://developer.chrome.com/native-client/devguide/coding/nacl_io
|
||||||
|
https://src.chromium.org/chrome/trunk/src/native_client_sdk/src/libraries/nacl_io/nacl_io.h
|
||||||
|
|
||||||
|
To be able to save into the directory "/save/" (like backup of game) :
|
||||||
|
|
||||||
|
mount("", "/save", "html5fs", 0, "type=PERSISTENT");
|
||||||
|
|
||||||
|
And add to manifest.json :
|
||||||
|
|
||||||
|
"permissions": [
|
||||||
|
"unlimitedStorage"
|
||||||
|
]
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
TODO - Known Issues
|
TODO - Known Issues
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
if [ -z "$1" ] && [ -z "$NACL_SDK_ROOT" ]; then
|
if [ -z "$1" ] && [ -z "$NACL_SDK_ROOT" ]; then
|
||||||
echo "Usage: ./naclbuild ~/nacl/pepper_33"
|
echo "Usage: ./naclbuild ~/nacl/pepper_35"
|
||||||
echo "This will build SDL for Native Client, and testgles2.c as a demo"
|
echo "This will build SDL for Native Client, and testgles2.c as a demo"
|
||||||
echo "You can set env vars CC, AR, LD and RANLIB to override the default PNaCl toolchain used"
|
echo "You can set env vars CC, AR, LD and RANLIB to override the default PNaCl toolchain used"
|
||||||
echo "You can set env var SOURCES to select a different source file than testgles2.c"
|
echo "You can set env var SOURCES to select a different source file than testgles2.c"
|
||||||
|
|
|
@ -179,23 +179,6 @@ extern DECLSPEC const char * SDLCALL SDL_WinRTGetFSPathUTF8(SDL_WinRT_Path pathT
|
||||||
|
|
||||||
#endif /* __WINRT__ */
|
#endif /* __WINRT__ */
|
||||||
|
|
||||||
#ifdef __NACL__
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \name Mount/umount functions
|
|
||||||
*
|
|
||||||
* Required for RWOps on Native Client
|
|
||||||
*/
|
|
||||||
/* @{ */
|
|
||||||
extern DECLSPEC int SDLCALL SDL_NaClMount(const char* source, const char* target,
|
|
||||||
const char* filesystemtype,
|
|
||||||
unsigned long mountflags, const void *data);
|
|
||||||
|
|
||||||
extern DECLSPEC int SDLCALL SDL_NaClUmount(const char *target);
|
|
||||||
|
|
||||||
#endif /* __NACL__ */
|
|
||||||
|
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,11 +24,11 @@
|
||||||
|
|
||||||
/* Include the SDL main definition header */
|
/* Include the SDL main definition header */
|
||||||
#include "SDL_main.h"
|
#include "SDL_main.h"
|
||||||
#include "SDL_system.h"
|
|
||||||
|
|
||||||
#include "ppapi_simple/ps_main.h"
|
#include "ppapi_simple/ps_main.h"
|
||||||
#include "ppapi_simple/ps_event.h"
|
#include "ppapi_simple/ps_event.h"
|
||||||
#include "ppapi_simple/ps_interface.h"
|
#include "ppapi_simple/ps_interface.h"
|
||||||
|
#include "nacl_io/nacl_io.h"
|
||||||
|
|
||||||
extern void NACL_SetScreenResolution(int width, int height, Uint32 format);
|
extern void NACL_SetScreenResolution(int width, int height, Uint32 format);
|
||||||
|
|
||||||
|
@ -69,8 +69,10 @@ nacl_main(int argc, char *argv[])
|
||||||
* apps can override this by unmounting /
|
* apps can override this by unmounting /
|
||||||
* and remounting with the desired configuration
|
* and remounting with the desired configuration
|
||||||
*/
|
*/
|
||||||
SDL_NaClUmount("/");
|
nacl_io_init_ppapi(PSGetInstanceId(), PSGetInterface);
|
||||||
SDL_NaClMount(
|
|
||||||
|
umount("/");
|
||||||
|
mount(
|
||||||
"", /* source */
|
"", /* source */
|
||||||
"/", /* target */
|
"/", /* target */
|
||||||
"httpfs", /* filesystemtype */
|
"httpfs", /* filesystemtype */
|
||||||
|
|
Loading…
Reference in New Issue