Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void determineReload(uint room,int param_2)
- {
- bool bVar1;
- CF *cf;
- Reloader *reloader;
- int iVar2;
- int iVar3;
- int iVar4;
- uint uVar5;
- uint *puVar6;
- void *pvVar7;
- uint *puVar8;
- uint *puVar9;
- uint uVar10;
- undefined2 local_48;
- undefined2 linkAng;
- undefined2 _;
- uint linkX;
- uint linkY;
- uint linkZ;
- _savegpr_21();
- iVar2 = *(int *)(param_2 + 8);
- iVar3 = FUN_801b3ea0(DAT_805789c0,room);
- *(undefined2 *)(iVar3 + 0x550) = *(undefined2 *)(param_2 + 4);
- *(int *)(iVar3 + 0x524) = param_2 + iVar2;
- reloader = ReloaderPtr;
- cf = CFptr;
- if (room == (uint)DAT_SpawnSlaveRoom) {
- local_48 = 0;
- linkAng = 0;
- uVar10 = 0x7ffffff;
- iVar2 = 0;
- bVar1 = false;
- _ = 0;
- if (ReloadType == 0) {
- if (ReloaderPtr->t0csFlag == 0) {
- if (ReloaderPtr->t0posFlag == 0) {
- puVar8 = (uint *)FUN_801b6d80(iVar3,(uint)DAT_SpawnSlaveEntrance);
- uVar10 = *puVar8;
- puVar9 = puVar8 + 1;
- puVar8 = puVar8 + 4;
- iVar2 = 1;
- }
- else {
- pvVar7 = get-240(ReloaderPtr);
- linkZ = *(uint *)((int)pvVar7 + 0x34);
- puVar9 = &linkX;
- linkY = *(uint *)((int)pvVar7 + 0x30);
- puVar8 = (uint *)&local_48;
- linkX = *(uint *)((int)pvVar7 + 0x2c);
- linkAng = *(undefined2 *)((int)pvVar7 + 0x38);
- reloader->t0posFlag = 0;
- }
- }
- else {
- bVar1 = true;
- puVar9 = (uint *)get-27c(ReloaderPtr);
- linkAng = *(undefined2 *)(puVar9 + 3);
- puVar8 = (uint *)&local_48;
- uVar10 = puVar9[4];
- reloader->t0csFlag = 0;
- }
- }
- else {
- if (ReloadType == 2) {
- puVar8 = (uint *)getDataCur-001c(CFptr);
- linkZ = puVar8[2];
- linkY = puVar8[1];
- linkX = *puVar8;
- iVar3 = getDataCur-5310(cf);
- linkAng = (undefined2)iVar3;
- puVar9 = &linkX;
- puVar8 = (uint *)&local_48;
- uVar10 = 0x7ffff1b;
- }
- else {
- if (ReloadType == 3) {
- puVar8 = (uint *)getDataCur-0028(CFptr);
- linkZ = puVar8[2];
- linkY = puVar8[1];
- linkX = *puVar8;
- iVar4 = getDataCur-5312(cf);
- linkAng = (undefined2)iVar4;
- puVar9 = &linkX;
- puVar8 = (uint *)&local_48;
- uVar5 = (**(code **)(*DAT_8057865c + 0x2c))(DAT_8057865c,0x2f0);
- if (((uVar5 & 0xffff) == 0) &&
- (uVar5 = (**(code **)(*DAT_8057865c + 0x2c))(DAT_8057865c,0x77), (uVar5 & 0xffff)== 0)
- ) {
- puVar6 = (uint *)FUN_801b6d80(iVar3,(uint)DAT_SpawnSlaveEntrance);
- iVar3 = FUN_8005c6b0(*puVar6);
- if (iVar3 == 1) {
- uVar10 = *puVar6;
- }
- }
- }
- else {
- uVar5 = getDataCur-53a9(CFptr);
- if (((uVar5 & 0xff) == 0) && (ReloadType != 4)) {
- puVar8 = (uint *)getDataCur-0010(cf);
- linkZ = puVar8[2];
- linkY = puVar8[1];
- linkX = *puVar8;
- iVar4 = getDataCur-530e(cf);
- linkAng = (undefined2)iVar4;
- uVar5 = getDataCur-53b5(cf);
- if ((uVar5 & 0xff) == 2) {
- puVar8 = (uint *)FUN_801b6d80(iVar3,(uint)DAT_SpawnSlaveEntrance);
- uVar10 = *puVar8;
- }
- puVar9 = &linkX;
- puVar8 = (uint *)&local_48;
- }
- else {
- puVar8 = (uint *)FUN_801b6d80(iVar3,(uint)DAT_SpawnSlaveEntrance);
- uVar10 = *puVar8;
- puVar9 = puVar8 + 1;
- puVar8 = puVar8 + 4;
- }
- }
- }
- ReloadType = 0;
- if (reloader->t0csFlag != 0) {
- reloader->t0csFlag = 0;
- }
- }
- FUN_8002e780(200,-1,uVar10,puVar9,puVar8,0,0xffffffff);
- if (!bVar1) {
- FUN_801bb0e0(ReloaderPtr,puVar9,puVar8,iVar2);
- }
- FUN_801b3eb0(DAT_805789c0,(byte)room);
- thunk_FUN_802e2a00(0x291,DAT_805789c0,0,0);
- FUN_8019f380();
- FUN_801a77d0();
- }
- _restgpr_21();
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement