Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. static int lua_init(lua_State *L){
  2.     int argc = lua_gettop(L);
  3.     #ifndef SKIP_ERROR_HANDLING
  4.     if (argc != 0) return luaL_error(L, "wrong number of arguments.");
  5.     if (isPlayerReady) return 0;
  6.     #endif
  7.    
  8.     isPlayerReady = true;
  9.     int res = sceSysmoduleLoadModule(SCE_SYSMODULE_AVPLAYER);
  10.     if (res < 0){
  11.         char err[256];
  12.         sprintf(err, "Error: 0x%X", res);
  13.         return luaL_error(L, err);
  14.     }
  15.    
  16.     SceAvPlayerInitData init;
  17.     memset(&init, 0, 0x44);
  18.    
  19.     init.memoryReplacement.objectPointer = NULL;
  20.     init.memoryReplacement.allocate = memalign_cb;
  21.     init.memoryReplacement.deallocate = free_cb;
  22.     init.memoryReplacement.allocateTexture = gpu_alloc_cb;
  23.     init.memoryReplacement.deallocateTexture = gpu_free_cb;
  24.    
  25.     init.fileReplacement.objectPointer = NULL;
  26.     init.fileReplacement.open = open_cb;
  27.     init.fileReplacement.close = close_cb;
  28.     init.fileReplacement.readOffset = pread_cb;
  29.     init.fileReplacement.size = size_cb;
  30.    
  31.     init.eventReplacement.objectPointer = NULL;
  32.     init.eventReplacement.eventCallback = eventCallback;
  33.    
  34.     *(uint32_t*)&init.unk[4] = 0xA0;
  35.     *(uint32_t*)&init.unk[8] = 0x03;
  36.     init.unk[12] = 0;
  37.    
  38.     if (!sceSysmoduleIsLoaded(SCE_SYSMODULE_AVPLAYER)) return luaL_error(L, "AVPLAYER not loaded");
  39.    
  40.     player = sceAvPlayerInit(&init);
  41.    
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement