Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // TU26
- void ProcessUpdateRPF()
- {
- char* var_130;
- sub_83286E78(&unk_839920B8, "update:/update.rpf", 0);
- r9 = r3 & 0xFF;
- if (r9 != 0)
- {
- sub_83287B10(&unk_83B50260, "update:/update.rpf", 1, 0, 0);
- r11 = r3 & 0xFF;
- if (r11 != 0)
- {
- sub_83289018(&unk_83B50260, "update:/");
- r31 = r30;
- }
- }
- // the rest is the same as in TU27 except the addresses
- }
- int sub_83287B10(int unkStruct, char* szFilePath, BOOL unkBool1, BOOL unkBool2, BOOL unkBool3)
- {
- auto var_150; // not sure what this is yet
- sub_83286C50(&unk_839920B8, var_150, 0x100, szFilePath, &dword_82000E64);
- r10 = sub_83275CA8(var_150);
- r11 = (unkStruct + 0x40);
- CTR = 0x1F;
- while (CTR != 0)
- {
- if (r10 != 0 && *(unsigned char*)r10 != 0)
- {
- *(unsigned char*)r11 = *(unsigned char*)r10;
- r11++;
- r10++;
- CTR--;
- }
- else
- break;
- }
- r10 += var_150;
- r27 = *(unsigned char*)r11;
- r3 = (unkStruct + 0x60);
- *(DWORD*)(unkStruct + 0x64) = r27;
- r11 = r10;
- while (r9 != 0)
- {
- r9 = *(unsigned char*)r10;
- r10++;
- }
- r11 -= r10;
- r4 = var_150;
- r11--;
- r5 = r11 & 0xFFFFFFFF;
- sub_83220C78(r3, r4, r5);
- if (sub_83285020(var_150, 1) == 0)
- return 0;
- r3 = *(DWORD*)(unkStruct + 0x38);
- if (r25 == 0)
- {
- r11 = *(DWORD*)r3;
- r4 = var_150;
- ((void(*)())(r11 + 0x84))();
- if (r3 == 2)
- r25 = 3;
- }
- r3 = *(DWORD*)(unkStruct + 0x38);
- r29 = (unkStruct + 0x28);
- r4 = var_150;
- r6 = *(DWORD*)(unkStruct + 0x70);
- r5 = r29;
- r11 *(DWORD*)r3;
- ((void(*)())(r11 + 0xC))();
- *(DWORD*)(unkStruct + 0x18) = *(DWORD*)(unkStruct + 0x38);
- if (r3 == -1)
- return 0;
- r3 = *(DWORD*)(unkStruct + 0x38);
- r4 = var_150;
- r11 = *(DWORD*)r3;
- ((void(*)())(r11 + 0x58))();
- *(QWORD*)(unkStruct + 0x20) = (QWORD)r3;
- if (r25 != 2)
- goto label_83287D3C;
- r3 = *(DWORD*)(unkStruct + 0x38);
- r4 = var_150;
- r11 = *(DWORD*)r3;
- ((void(*)())(r11 + 0x54))();
- r30 = r3 & 0xFFFFFFFF;
- if (r28 == 0)
- {
- r3 = r30;
- sub_82210208(r3);
- *(DWORD*)(unkStruct + 0x74) = (DWORD)r3;
- r11 = *(DWORD*)(unkStruct + 0x38);
- r6 = r3;
- r7 = r30;
- (QWORD)r5 = *(QWORD*)r29;
- r3 = r11;
- r4 = *(DWORD*)(unkStruct + 0x18);
- r10 = *(DWORD*)r11;
- ((void(*)())(r10 + 0x1C))();
- r3 = *(DWORD*)(unkStruct + 0x38);
- r8 = *(DWORD*)r3;
- r4 = *(DWORD*)(unkStruct + 0x18);
- ((void(*)())(r8 + 0x34))();
- }
- else
- *(DWORD*)(unkStruct + 0x74) = (DWORD)r28;
- sub_8223F978(var_150, 0x100, "memory:$%p,%d,%d:%s", *(DWORD*)(unkStruct + 0x74), r30, 0, szFilePath);
- sub_83285020(var_150, 1);
- r3 = *(DWORD*)(unkStruct + 0x18);
- r10 = *(DWORD*)r3;
- r5 = r29;
- r4 = var_150;
- ((void(*)())(r10 + 8))();
- r3 = *(DWORD*)(unkStruct + 0x18);
- if (r28 != 0)
- r27 = *(DWORD*)(unkStruct + 0x74);
- label_83287D3C:
- r3 = *(DWORD*)(unkStruct + 0x38);
- r11 = *(DWORD*)r3;
- ((void(*)())(r11 + 0xA0))();
- r9 = r3 & 0xFF;
- r3 = *(DWORD*)(unkStruct + 0x38);
- r11 = *(DWORD*)r3;
- if (r9 == 0)
- goto label_83287D94;
- ((void(*)())(r11 + 0xA4))();
- r9 = *(DWORD*)r3;
- r11 = *(DWORD*)(r3 + 0x3C);
- r4 = (r11 + szFilePath);
- ((void(*)())(r9 + 0xE4))();
- *(DWORD*)(unkStruct + 0x30) = *(DWORD*)(r3 + 8);
- goto label_83287DA8;
- label_83287D94:
- r4 = var_150;
- ((void(*)())(r11 + 0x54))();
- (QWORD)r3 = *(QWORD*)(unkStruct + 0x30);
- label_83287DA8:
- r3 = *(DWORD*)(unkStruct + 0x38);
- (QWORD)r11 = *(QWORD*)(unkStruct + 0x30);
- // the rest is just more and more of this..
- }
- // TU27
- void ProcessUpdateRPF()
- {
- char* var_130;
- sub_83286E78(&unk_83992108, "update:/update.rpf", 0);
- r9 = r3 & 0xFF;
- if (r9 != 0)
- {
- sub_83288788(&unk_83B50360, "update:/update.rpf", 1, 0, 0, 1, 0);
- r11 = r3 & 0xFF;
- if (r11 != 0)
- {
- sub_832898B0(&unk_83B50360, "update:/");
- r31 = r30;
- }
- }
- sub_832880D8(&off_83924E58, "update:/", 0, &unk_83B50360);
- sub_83289948(&off_83924E58, "updateCRC:/");
- sub_832880D8(&off_83924A10, "update:/common", 1, &unk_83B50360);
- sub_83289948(&off_83924A10, "common:/");
- sub_832880D8(&off_83924D40, "update:/common", 1, &unk_83B50360);
- sub_83289948(&off_83924D40, "commoncrc:/");
- if (*(unsigned char*)byte_83B50B90 == 0)
- {
- sub_837734E0(&byte_83B50B90, "update:/%s", "xbox360"); // think this is something like sprintf_s..
- }
- sub_832880D8(&off_83924900, &byte_83B50B90, 0, &unk_83B50360);
- sub_83289948(&off_83924900, "platform:/");
- if (*(unsigned char*)byte_83B50C90 == 0)
- {
- sub_837734E0(&byte_83B50C90, "update:/%s/audio", "xbox360");
- }
- sub_832880D8(&off_83924B20, &byte_83B50C90, 1, &unk_83B50360);
- sub_83289948(&off_83924B20, "audio:/");
- sub_83773440(var_130, 0, 0xFF); // think this is something like memset..
- if (*(unsigned char*)byte_83B50C00 == 0)
- {
- sub_837734E0(&byte_83B50C00, "update:/%s/audio", "xbox360");
- }
- sub_837734E0(var_130, "%s/%s", "xbox360", "sfx");
- sub_832880D8(&off_83924C30, var_130, 1, &unk_83B50360);
- sub_83289948(&off_83924C30, "audio:/sfx/");
- }
- int sub_83288788(int unkStruct, char* szFilePath, BOOL unkBool1, BOOL unkBool2, BOOL unkBool3)
- {
- auto var_9E0;
- auto var_9C0;
- auto var_8C0;
- auto var_860;
- sub_832878C8(&unk_83992108, var_9C0, 0x100, szFilePath, &dword_82000E74);
- sub_83276DC0(var_9C0);
- CTR = 0x1F;
- while (CTR != 0)
- {
- if (r10 != 0 && *(unsigned char*)r10 != 0)
- {
- *(unsigned char*)r11 = *(unsigned char*)r10;
- r11++;
- r10++;
- CTR--;
- }
- else
- break;
- }
- // pretty much the same up until loc_83288A28..
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement