Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "spider.h"
- #include "fs.h"
- int uvl_entry()
- {
- FILE *fin = (void *)0x08F10000;
- int *read_len = 0x08F10020;
- unsigned int addr;
- int *buf = 0x18410000;
- int *encdata = 0x18420000;
- unsigned int offset;
- int i;
- int P1;
- int P2;
- int P3;
- int P4;
- int P5;
- int L1;
- int L2;
- int L3;
- int L4;
- int L5;
- //copy block of memory to buffer
- addr = 0x17A00000;
- GSPGPU_FlushDataCache(addr, 0x10000);
- GX_SetTextureCopy(addr, buf, 0x10000, 0, 0, 0, 0, 8);
- GSPGPU_FlushDataCache(buf, 0x10000);
- //finds the encouter data of Petalburg Woods
- offset = 0;
- for (i = 0; i < 0x4000; i++)
- {
- if ((buf[i] == 0x01070000) && (buf[i + 1] == 0x01070404))
- {
- offset = i;
- }
- }
- //if it found somthing overwrite data
- if (offset != 0)
- {
- IFile_Open(fin, L"dmc:/encdata.bin", FILE_R);
- fin->pos = 0x00;
- IFile_Read(fin, read_len, encdata, 0x28);
- buf[offset] = (encdata[0] << 0x10);
- for (i = (offset + 1); i < (offset + 61); i += 5)
- {
- buf[i] = (encdata[8] << 0x10) + (encdata[1] << 0x08) + encdata[1];
- buf[i + 1] = (encdata[6] << 0x10) + (encdata[9] << 0x08) + encdata[9];
- buf[i + 2] = (encdata[4] << 0x10) + (encdata[7] << 0x08) + encdata[7];
- buf[i + 3] = (encdata[2] << 0x10) + (encdata[5] << 0x08) + encdata[5];
- buf[i + 4] = (encdata[0] << 0x10) + (encdata[3] << 0x08) + encdata[3];
- }
- buf[offset + 61] = (encdata[1] << 0x08) + encdata[1];
- }
- //write back to memory
- svcSleepThread(0x400000LL);
- GSPGPU_FlushDataCache(buf, 0x10000);
- GX_SetTextureCopy(buf, addr, 0x10000, 0, 0, 0, 0, 8);
- GSPGPU_FlushDataCache(addr, 0x10000);
- svcSleepThread(0x400000LL);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement