Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int lua_init(lua_State *L){
- int argc = lua_gettop(L);
- #ifndef SKIP_ERROR_HANDLING
- if (argc != 0) return luaL_error(L, "wrong number of arguments.");
- if (isPlayerReady) return 0;
- #endif
- isPlayerReady = true;
- int res = sceSysmoduleLoadModule(SCE_SYSMODULE_AVPLAYER);
- if (res < 0){
- char err[256];
- sprintf(err, "Error: 0x%X", res);
- return luaL_error(L, err);
- }
- SceAvPlayerInitData init;
- memset(&init, 0, 0x44);
- init.memoryReplacement.objectPointer = NULL;
- init.memoryReplacement.allocate = memalign_cb;
- init.memoryReplacement.deallocate = free_cb;
- init.memoryReplacement.allocateTexture = gpu_alloc_cb;
- init.memoryReplacement.deallocateTexture = gpu_free_cb;
- init.fileReplacement.objectPointer = NULL;
- init.fileReplacement.open = open_cb;
- init.fileReplacement.close = close_cb;
- init.fileReplacement.readOffset = pread_cb;
- init.fileReplacement.size = size_cb;
- init.eventReplacement.objectPointer = NULL;
- init.eventReplacement.eventCallback = eventCallback;
- *(uint32_t*)&init.unk[4] = 0xA0;
- *(uint32_t*)&init.unk[8] = 0x03;
- init.unk[12] = 0;
- if (!sceSysmoduleIsLoaded(SCE_SYSMODULE_AVPLAYER)) return luaL_error(L, "AVPLAYER not loaded");
- player = sceAvPlayerInit(&init);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement