Mercurial > mm7
comparison Actor.cpp @ 1052:d48c762de563
-nomarg
author | Nomad |
---|---|
date | Thu, 23 May 2013 18:26:05 +0200 |
parents | 7f8be9f9769e |
children | b79139c3b5c8 |
comparison
equal
deleted
inserted
replaced
1051:05c62d166182 | 1052:d48c762de563 |
---|---|
3154 int v6; // eax@1 | 3154 int v6; // eax@1 |
3155 Actor *v7; // ebx@1 | 3155 Actor *v7; // ebx@1 |
3156 unsigned int v8; // ecx@1 | 3156 unsigned int v8; // ecx@1 |
3157 char v9; // zf@1 | 3157 char v9; // zf@1 |
3158 AIDirection *v10; // esi@6 | 3158 AIDirection *v10; // esi@6 |
3159 int v12; // ecx@19 | 3159 //int v12; // ecx@19 |
3160 unsigned int v13; // eax@19 | 3160 //unsigned int v13; // eax@19 |
3161 AIDirection a3; // [sp+Ch] [bp-5Ch]@7 | 3161 AIDirection a3; // [sp+Ch] [bp-5Ch]@7 |
3162 AIDirection v15; // [sp+28h] [bp-40h]@7 | 3162 //AIDirection v15; // [sp+28h] [bp-40h]@7 |
3163 AIDirection v16; // [sp+44h] [bp-24h]@7 | 3163 AIDirection v16; // [sp+44h] [bp-24h]@7 |
3164 unsigned int v17; // [sp+60h] [bp-8h]@1 | 3164 //unsigned int v17; // [sp+60h] [bp-8h]@1 |
3165 unsigned int v18; // [sp+64h] [bp-4h]@1 | 3165 unsigned int v18; // [sp+64h] [bp-4h]@1 |
3166 int v19; // [sp+70h] [bp+8h]@19 | 3166 //int v19; // [sp+70h] [bp+8h]@19 |
3167 | 3167 |
3168 v5 = uActorID; | 3168 v5 = uActorID; |
3169 v6 = 0; | 3169 v6 = 0; |
3170 v7 = &pActors[uActorID]; | 3170 v7 = &pActors[uActorID]; |
3171 v18 = a2; | 3171 v18 = a2; |
3172 v8 = PID(OBJECT_Actor,uActorID); | 3172 v8 = PID(OBJECT_Actor,uActorID); |
3173 v9 = v7->pMonsterInfo.uFlying == 0; | 3173 v9 = v7->pMonsterInfo.uFlying == 0; |
3174 v17 = v5; | |
3175 if ( !v9 && !pParty->bFlying ) | 3174 if ( !v9 && !pParty->bFlying ) |
3176 { | 3175 { |
3177 if ( v7->pMonsterInfo.uMissleAttack1Type ) | 3176 if ( v7->pMonsterInfo.uMissleAttack1Type ) |
3178 v6 = v7->uActorRadius + 512; | 3177 v6 = v7->uActorRadius + 512; |
3179 else | 3178 else |
3180 v6 = pParty->uPartyHeight; | 3179 v6 = pParty->uPartyHeight; |
3181 } | 3180 } |
3181 | |
3182 v10 = pDir; | 3182 v10 = pDir; |
3183 if ( !pDir ) | 3183 if ( !pDir ) |
3184 { | 3184 { |
3185 memcpy(&v15, Actor::GetDirectionInfo(v8, a2, &a3, v6), sizeof(v15)); | 3185 memcpy(&v16, Actor::GetDirectionInfo(v8, a2, &a3, v6), sizeof(v16)); |
3186 memcpy(&v16, &v15, sizeof(v16)); | |
3187 v5 = v17; | |
3188 v10 = &v16; | 3186 v10 = &v16; |
3189 } | 3187 } |
3190 if ( MonsterStats::BelongsToSupertype(v7->pMonsterInfo.uID, MONSTER_SUPERTYPE_TREANT) ) | 3188 if ( MonsterStats::BelongsToSupertype(v7->pMonsterInfo.uID, MONSTER_SUPERTYPE_TREANT) ) |
3191 { | 3189 { |
3192 if ( !uActionLength ) | 3190 if ( !uActionLength ) |
3207 return; | 3205 return; |
3208 } | 3206 } |
3209 v18 = 16; | 3207 v18 = 16; |
3210 if ( arg0 % 2 ) | 3208 if ( arg0 % 2 ) |
3211 v18 = -16; | 3209 v18 = -16; |
3212 v12 = ((unsigned __int64)(stru_5C6E00->Cos(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle) * (signed __int64)v10->uDistanceXZ) >> 16) | 3210 |
3213 + pParty->vPosition.x; | |
3214 v13 = stru_5C6E00->uIntegerPi + v10->uYawAngle; | |
3215 v17 = v12; | |
3216 v19 = stru_5C6E00->Sin(v18 + v13); | |
3217 v7->uYawAngle = stru_5C6E00->Atan2( | 3211 v7->uYawAngle = stru_5C6E00->Atan2( |
3218 v17 - v7->vPosition.x, | 3212 pParty->vPosition.x + fixpoint_sub0(stru_5C6E00->Cos(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle), v10->uDistanceXZ) - v7->vPosition.x, |
3219 pParty->vPosition.y | 3213 pParty->vPosition.y + fixpoint_sub0(stru_5C6E00->Sin(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle), v10->uDistanceXZ) - v7->vPosition.y); |
3220 + ((unsigned __int64)(v19 * (signed __int64)v10->uDistanceXZ) >> 16) | |
3221 - v7->vPosition.y); | |
3222 if ( uActionLength ) | 3214 if ( uActionLength ) |
3223 v7->uCurrentActionLength = uActionLength; | 3215 v7->uCurrentActionLength = uActionLength; |
3224 else | 3216 else |
3225 v7->uCurrentActionLength = 128; | 3217 v7->uCurrentActionLength = 128; |
3226 v7->uPitchAngle = LOWORD(v10->uPitchAngle); | 3218 v7->uPitchAngle = LOWORD(v10->uPitchAngle); |