diff --git a/src/control/Replay.h b/src/control/Replay.h index 5dd8b651..98e02577 100644 --- a/src/control/Replay.h +++ b/src/control/Replay.h @@ -46,7 +46,7 @@ enum { struct CStoredDetailedAnimationState { - uint8 aAnimId[NUM_MAIN_ANIMS_IN_REPLAY]; + uint16 aAnimId[NUM_MAIN_ANIMS_IN_REPLAY]; uint8 aCurTime[NUM_MAIN_ANIMS_IN_REPLAY]; uint8 aSpeed[NUM_MAIN_ANIMS_IN_REPLAY]; uint8 aBlendAmount[NUM_MAIN_ANIMS_IN_REPLAY]; @@ -54,7 +54,7 @@ struct CStoredDetailedAnimationState uint8 aFunctionCallbackID[NUM_MAIN_ANIMS_IN_REPLAY]; uint16 aFlags[NUM_MAIN_ANIMS_IN_REPLAY]; uint8 aGroupId[NUM_MAIN_ANIMS_IN_REPLAY]; - uint8 aAnimId2[NUM_PARTIAL_ANIMS_IN_REPLAY]; + uint16 aAnimId2[NUM_PARTIAL_ANIMS_IN_REPLAY]; uint8 aCurTime2[NUM_PARTIAL_ANIMS_IN_REPLAY]; uint8 aSpeed2[NUM_PARTIAL_ANIMS_IN_REPLAY]; uint8 aBlendAmount2[NUM_PARTIAL_ANIMS_IN_REPLAY]; diff --git a/src/control/Script5.cpp b/src/control/Script5.cpp index 64d4d4c5..fff8628c 100644 --- a/src/control/Script5.cpp +++ b/src/control/Script5.cpp @@ -81,7 +81,7 @@ void CRunningScript::LocatePlayerCommand(int32 command, uint32* pIp) CVector pos = pPlayerInfo->GetPos(); if (!decided) { result = false; - if (Abs(pos.x - X) < dX && Abs(pos.y - Y) < dY && (b3D || Abs(pos.z - Z) < dZ)) { + if (Abs(pos.x - X) < dX && Abs(pos.y - Y) < dY && (!b3D || Abs(pos.z - Z) < dZ)) { switch (command) { case COMMAND_LOCATE_PLAYER_ANY_MEANS_2D: case COMMAND_LOCATE_PLAYER_ANY_MEANS_3D: @@ -107,8 +107,8 @@ void CRunningScript::LocatePlayerCommand(int32 command, uint32* pIp) } } } - UpdateCompareFlag(result && Abs(pos.x - X) < 80.0f && Abs(pos.y - Y) > 80.0f); - if (debug) + UpdateCompareFlag(result); + if (debug && Abs(pos.x - X) < 80.0f && Abs(pos.y - Y) < 80.0f) CTheScripts::HighlightImportantArea(id, X - dX, Y - dY, X + dX, Y + dY, b3D ? Z : MAP_Z_LOW_LIMIT); /* if (CTheScripts::DbgFlag) {