Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* __thiscall daPy_lk_c::procWHideMove(void) */
- void __thiscall procWHideMove(daPy_lk_c *this)
- {
- float fVar1;
- daPy_lk_c *this_00;
- int iVar2;
- undefined4 uVar3;
- float *pfVar4;
- short sVar6;
- cM3dGPla *pcVar5;
- cXyz acStack72 [12];
- cXyz acStack60 [12];
- cXyz acStack48 [12];
- cXyz acStack36 [36];
- this_00 = (daPy_lk_c *)FUN_80326940();
- iVar2 = changeSlideProc(this_00);
- if (iVar2 == 0) {
- getWHideBasePos(this_00,acStack36);
- sVar6 = *(short *)(this_00 + 0x206);
- iVar2 = changeWHideEndProc(this_00,acStack36);
- fVar1 = @8345;
- if (iVar2 == 0) {
- pfVar4 = (float *)GetTriPla((cBgS *)&DAT_803b93a8,(uint)*(ushort *)(this_00 + 0x646),
- (uint)*(ushort *)(this_00 + 0x644));
- sVar6 = cM_atan2s((double)*pfVar4,(double)pfVar4[2]);
- iVar2 = checkWHideModeChange(this_00,acStack36);
- fVar1 = @4965;
- if ((((iVar2 == 0) && (@6249 < *(float *)(this_00 + 0x35b0))) &&
- (@4865 != *(float *)(this_00 + 0x500))) &&
- (iVar2 = GetTriPla((cBgS *)&DAT_803b93a8,(uint)*(ushort *)(this_00 + 0x556),
- (uint)*(ushort *)(this_00 + 0x554)), fVar1 = @4965,
- @5622 <= *(float *)(iVar2 + 4))) {
- iVar2 = getDirectionFromCurrentAngle(this_00);
- if (iVar2 == 1) {
- *(short *)(this_00 + 0x206) = *(short *)(this_00 + 0x206) + -0x8000;
- *(float *)(this_00 + 0x35bc) = *(float *)(this_00 + 0x35bc) * @5622;
- if (this_00[0x34b8] == (daPy_lk_c)0x2) {
- this_00[0x34b8] = (daPy_lk_c)0x3;
- }
- else {
- this_00[0x34b8] = (daPy_lk_c)0x2;
- }
- setBlendWHideMoveAnime(this_00,@4864);
- }
- if ((iVar2 == 0) || (fVar1 = @4965, iVar2 == 1)) {
- fVar1 = *(float *)(this_00 + 0x35b0) * 3.50000000;
- }
- }
- setNormalSpeedF(this_00,fVar1,@5622,@4864,@6242);
- getWHideNextPos(this_00,acStack36,acStack48);
- if (((*(uint *)(this_00 + 0x29c) & 0x10000) == 0) ||
- (iVar2 = checkWHideFrontFloor(this_00,acStack48), iVar2 != 0)) {
- pcVar5 = (cM3dGPla *)
- getWHideModePolygon(this_00,acStack36,acStack48,acStack60,
- (uint)(byte)this_00[0x34b8]);
- if (pcVar5 == (cM3dGPla *)0x0) {
- if (@5618 < ABS(*(float *)(this_00 + 0x35bc))) {
- if (((@4865 == *(float *)(this_00 + 0x500)) ||
- (iVar2 = GetTriPla((cBgS *)&DAT_803b93a8,(uint)*(ushort *)(this_00 + 0x556),
- (uint)*(ushort *)(this_00 + 0x554)),
- *(float *)(iVar2 + 4) < @5622)) ||
- (iVar2 = checkWHideBackWall(this_00,acStack48), iVar2 == 0)) {
- *(float *)(this_00 + 0x35bc) = @4965;
- uVar3 = procWHideWait_init(this_00);
- }
- else {
- if ((sVar6 != *(short *)(this_00 + 0x20e)) &&
- (iVar2 = getWHideModePolygon(this_00,(cXyz *)0x0,(cXyz *)0x0,acStack72,
- (uint)(byte)this_00[0x34b8]), iVar2 != 0)) {
- if ((short)(*(short *)(this_00 + 0x206) - *(short *)(this_00 + 0x20e)) < 1) {
- *(short *)(this_00 + 0x206) = sVar6 + -0x4000;
- }
- else {
- *(short *)(this_00 + 0x206) = sVar6 + 0x4000;
- }
- *(short *)(this_00 + 0x20e) = sVar6;
- fVar1 = @6245;
- *(float *)(this_00 + 0x1f8) =
- *(float *)(this_00 + 0x1f8) +
- @6245 * *(float *)(jmaSinTable +
- ((int)((int)*(short *)(this_00 + 0x206) & 0xffffU) >>
- (jmaSinShift & 0x3f)) * 4);
- *(float *)(this_00 + 0x200) =
- *(float *)(this_00 + 0x200) +
- fVar1 * *(float *)(jmaCosTable +
- ((int)((int)*(short *)(this_00 + 0x206) & 0xffffU) >>
- (jmaSinShift & 0x3f)) * 4);
- }
- fVar1 = @6029 * 8.50000000;
- *(float *)(this_00 + 0x1f8) =
- *(float *)(this_00 + 0x1f8) -
- fVar1 * *(float *)(jmaSinTable +
- ((int)((int)*(short *)(this_00 + 0x20e) & 0xffffU) >>
- (jmaSinShift & 0x3f)) * 4);
- *(float *)(this_00 + 0x200) =
- *(float *)(this_00 + 0x200) -
- fVar1 * *(float *)(jmaCosTable +
- ((int)((int)*(short *)(this_00 + 0x20e) & 0xffffU) >>
- (jmaSinShift & 0x3f)) * 4);
- setBlendWHideMoveAnime(this_00,@4964);
- uVar3 = 1;
- }
- }
- else {
- uVar3 = procWHideWait_init(this_00);
- }
- }
- else {
- uVar3 = procWHideReady_init(this_00,pcVar5,acStack60);
- }
- }
- else {
- *(float *)(this_00 + 0x35bc) = @4965;
- uVar3 = procWHideWait_init(this_00);
- }
- }
- else {
- if ((((byte)this_00[0x34c9] & 1) == 0) && (@6249 < *(float *)(this_00 + 0x35b0))) {
- *(float *)(this_00 + 0x1f8) =
- *(float *)(this_00 + 0x1f8) +
- @8345 * *(float *)(jmaSinTable +
- ((int)((int)sVar6 & 0xffffU) >> (jmaSinShift & 0x3f)) * 4);
- *(float *)(this_00 + 0x200) =
- *(float *)(this_00 + 0x200) +
- fVar1 * *(float *)(jmaCosTable +
- ((int)((int)sVar6 & 0xffffU) >> (jmaSinShift & 0x3f)) * 4);
- }
- uVar3 = 1;
- }
- }
- else {
- uVar3 = 1;
- }
- FUN_8032698c(uVar3);
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment