Mercurial > mm7
comparison mm7_4.cpp @ 554:9caf59edb1ee
Cave and Temple load and even doesn't crash (for a while).
author | Nomad |
---|---|
date | Mon, 04 Mar 2013 22:44:41 +0200 |
parents | 214d9d47cf1f |
children | fcbb3c281217 |
comparison
equal
deleted
inserted
replaced
552:bee46636df95 | 554:9caf59edb1ee |
---|---|
3208 break; | 3208 break; |
3209 } | 3209 } |
3210 if ( v7 == 0 ) | 3210 if ( v7 == 0 ) |
3211 v7 = 1; | 3211 v7 = 1; |
3212 if (pPlayer->expression == CHARACTER_EXPRESSION_21) | 3212 if (pPlayer->expression == CHARACTER_EXPRESSION_21) |
3213 pFrame = pPlayerFrameTable->GetFrameBy_y(&pPlayer->field_1AA8, &pPlayer->field_1AA4, pMiscTimer->uTimeElapsed); | 3213 pFrame = pPlayerFrameTable->GetFrameBy_y(&pPlayer->_expression21_frameset, &pPlayer->_expression21_animtime, pMiscTimer->uTimeElapsed); |
3214 else | 3214 else |
3215 pFrame = pPlayerFrameTable->GetFrameBy_x(v7, pPlayer->uExpressionTimePassed); | 3215 pFrame = pPlayerFrameTable->GetFrameBy_x(v7, pPlayer->uExpressionTimePassed); |
3216 if (pPlayer->field_1AA2 != pFrame->uTextureID - 1 || v22 ) | 3216 if (pPlayer->field_1AA2 != pFrame->uTextureID - 1 || v22 ) |
3217 { | 3217 { |
3218 pPlayer->field_1AA2 = pFrame->uTextureID - 1; | 3218 pPlayer->field_1AA2 = pFrame->uTextureID - 1; |
4333 } | 4333 } |
4334 return result; | 4334 return result; |
4335 } | 4335 } |
4336 | 4336 |
4337 //----- (00494B5E) -------------------------------------------------------- | 4337 //----- (00494B5E) -------------------------------------------------------- |
4338 PlayerFrame *PlayerFrameTable::GetFrameBy_y(int *a2, int *a3, int a4) | 4338 PlayerFrame *PlayerFrameTable::GetFrameBy_y(int *pFramesetID, int *pAnimTime, int a4) |
4339 { | 4339 { |
4340 PlayerFrameTable *v4; // edi@1 | 4340 PlayerFrameTable *v4; // edi@1 |
4341 int v5; // esi@1 | 4341 int v5; // esi@1 |
4342 int v6; // eax@2 | 4342 int v6; // eax@2 |
4343 | 4343 |
4344 v4 = this; | 4344 v4 = this; |
4345 v5 = a4 + *a3; | 4345 v5 = a4 + *pAnimTime; |
4346 if ( v5 < 8 * this->pFrames[*a2].uAnimTime ) | 4346 if ( v5 < 8 * this->pFrames[*pFramesetID].uAnimTime ) |
4347 { | 4347 { |
4348 *a3 = v5; | 4348 *pAnimTime = v5; |
4349 } | 4349 } |
4350 else | 4350 else |
4351 { | 4351 { |
4352 v6 = rand() % 4 + 21; | 4352 v6 = rand() % 4 + 21; |
4353 *a2 = v6; | 4353 *pFramesetID = v6; |
4354 *a3 = 8 * v5 % v4->pFrames[v6].uAnimTime; | 4354 *pAnimTime = 8 * v5 % v4->pFrames[v6].uAnimTime; |
4355 } | 4355 } |
4356 return &v4->pFrames[*a2]; | 4356 return &v4->pFrames[*pFramesetID]; |
4357 } | 4357 } |
4358 | 4358 |
4359 //----- (00494BC3) -------------------------------------------------------- | 4359 //----- (00494BC3) -------------------------------------------------------- |
4360 void PlayerFrameTable::ToFile() | 4360 void PlayerFrameTable::ToFile() |
4361 { | 4361 { |