SceUID load_mod_file(u32 number) { int ret = -1; SceIoStat stat; for(u32 i = 0; i < ITEMSOF(mod_path); i++) { if(i == 0) { if(loaded_mib) { sprintf(filename, mod_path[0], loaded_mib, number); } else { continue; } } else { sprintf(filename, mod_path[i], number); } SET_DEVICENAME(filename, model_go); kprintf("trying to open %s\n", filename); memset(&stat, 0, sizeof(stat)); if(sceIoGetstat(filename, &stat) >= 0) { ret = sceIoOpen(filename, PSP_O_RDONLY, 0777); break; } } return ret; }
//OK void zeroCtrlSetBlackListItems(char *item) { for (int i = 0; i < ITEMSOF(g_blacklist_mod); i++) { //zeroCtrlWriteDebug("-> Item %d: %s\n", i + 1, g_blacklist_mod[i]); if (!strcmp(item, g_blacklist_mod[i])) { g_blacklisted = 1; } } }
int is_game_folder(const char *base, const char *path) { SceIoStat stat; char buffer[256]; for(u32 i = 0; i < ITEMSOF(eboot_types); i++) { sce_paf_private_memset(&stat, 0 , sizeof(SceIoStat)); sce_paf_private_snprintf(buffer, 256, "%s/%s/%s", base, path, eboot_types[i]); if(sceIoGetstat(buffer, &stat) >= 0) { return 1; } } return 0; }
void ResolveNIDs(int fw_ver) { u32 stub_top = (u32) module_info.stub_top; u32 stub_end = (u32) module_info.stub_end; while (stub_top < stub_end) { SceLibraryStubTable *stub = (SceLibraryStubTable *) stub_top; if (strcmp(stub->libname, "scePaf") == 0) { for (u32 i = 0; i < stub->stubcount; i++) { for (u32 x = 0; x < ITEMSOF(nids); x++) { if (stub->nidtable[i] == nids[x].nid630) { if(fw_ver == FW_620) { stub->nidtable[i] = nids[x].nid620; } else if (fw_ver == FW_630) { stub->nidtable[i] = nids[x].nid630; } else if (fw_ver == FW_660) { stub->nidtable[i] = nids[x].nid660; } } } } } stub_top += (u32)(stub->len * 4); } }