From 9a3758bfc12b1e9fac279d2733b3e697747bce22 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Mon, 26 Oct 2020 16:39:43 +0200 Subject: Fix undefined colorId for pickups --- src/control/Pickups.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/control') diff --git a/src/control/Pickups.cpp b/src/control/Pickups.cpp index 8b8bc1a3..2a5863f1 100644 --- a/src/control/Pickups.cpp +++ b/src/control/Pickups.cpp @@ -1014,8 +1014,11 @@ CPickups::DoPickUpEffects(CEntity *entity) float s = Sin((float)((CTimer::GetTimeInMilliseconds() + (uintptr)entity) & 0x7FF) * DEGTORAD(360.0f / 0x800)); float modifiedSin = 0.3f * (s + 1.0f); - +#ifdef FIX_BUGS + int16 colorId = 0; +#else int16 colorId; +#endif bool doInnerGlow = false; bool doOuterGlow = true; @@ -1029,7 +1032,6 @@ CPickups::DoPickUpEffects(CEntity *entity) doInnerGlow = true; doOuterGlow = false; } else if (entity->GetModelIndex() == MI_PICKUP_INFO || entity->GetModelIndex() == MI_PICKUP_KILLFRENZY) { - colorId = WEAPONTYPE_TOTALWEAPONS + 2; doInnerGlow = true; doOuterGlow = false; } else if (entity->GetModelIndex() == MI_PICKUP_HEALTH || entity->GetModelIndex() == MI_PICKUP_BONUS) { -- cgit v1.2.3 From 63a27fbc5f41709b277cd46a7e8edf49c6d16460 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 1 Nov 2020 13:55:29 +0300 Subject: overflow fix --- src/control/Script.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/control') diff --git a/src/control/Script.cpp b/src/control/Script.cpp index 86c9e86e..45e17491 100644 --- a/src/control/Script.cpp +++ b/src/control/Script.cpp @@ -2488,7 +2488,7 @@ int8 CRunningScript::ProcessOneCommand() if (commands[command].position == -1) strcat(commandInfo, commands[command].name + sizeof("COMMAND_") - 1); for (int i = 0; commands[command].input[i] != ARGTYPE_NONE; i++) { - char tmp[16]; + char tmp[32]; bool var = false; int value; switch (commands[command].input[i]) { @@ -2552,7 +2552,7 @@ int8 CRunningScript::ProcessOneCommand() m_nIp = ip; ip = t; for (int i = 0; commands[command].output[i] != ARGTYPE_NONE; i++) { - char tmp[16]; + char tmp[32]; switch (commands[command].output[i]) { case ARGTYPE_INT: case ARGTYPE_PED_HANDLE: -- cgit v1.2.3 From 45c09224f735f1fe88a6aadcc148413d0b81f72a Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 1 Nov 2020 16:34:39 +0300 Subject: fixed KYFC --- src/control/Script.cpp | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'src/control') diff --git a/src/control/Script.cpp b/src/control/Script.cpp index 45e17491..f85fc076 100644 --- a/src/control/Script.cpp +++ b/src/control/Script.cpp @@ -5171,7 +5171,12 @@ int8 CRunningScript::ProcessCommands300To399(int32 command) CollectParameters(&m_nIp, 1); CPed* pPed = CWorld::Players[ScriptParams[0]].m_pPed; float angle = pPed->bInVehicle ? pPed->m_pMyVehicle->GetForward().Heading() : pPed->GetForward().Heading(); - *(float*)&ScriptParams[0] = CGeneral::LimitAngle(RADTODEG(angle)); + angle = RADTODEG(angle); + if (angle < 0.0f) + angle += 360.0f; + if (angle > 360.0f) + angle -= 360.0f; + *(float*)&ScriptParams[0] = angle; StoreParameters(&m_nIp, 1); return 0; } @@ -5192,7 +5197,12 @@ int8 CRunningScript::ProcessCommands300To399(int32 command) CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]); script_assert(pPed); float angle = pPed->bInVehicle ? pPed->m_pMyVehicle->GetForward().Heading() : pPed->GetForward().Heading(); - *(float*)&ScriptParams[0] = CGeneral::LimitAngle(RADTODEG(angle)); + angle = RADTODEG(angle); + if (angle < 0.0f) + angle += 360.0f; + if (angle > 360.0f) + angle -= 360.0f; + *(float*)&ScriptParams[0] = angle; StoreParameters(&m_nIp, 1); return 0; } @@ -5213,7 +5223,12 @@ int8 CRunningScript::ProcessCommands300To399(int32 command) CVehicle* pVehicle = CPools::GetVehiclePool()->GetAt(ScriptParams[0]); script_assert(pVehicle); float angle = pVehicle->GetForward().Heading(); - *(float*)&ScriptParams[0] = CGeneral::LimitAngle(RADTODEG(angle)); + angle = RADTODEG(angle); + if (angle < 0.0f) + angle += 360.0f; + if (angle > 360.0f) + angle -= 360.0f; + *(float*)&ScriptParams[0] = angle; StoreParameters(&m_nIp, 1); return 0; } @@ -5231,7 +5246,12 @@ int8 CRunningScript::ProcessCommands300To399(int32 command) CObject* pObject = CPools::GetObjectPool()->GetAt(ScriptParams[0]); script_assert(pObject); float angle = pObject->GetForward().Heading(); - *(float*)&ScriptParams[0] = CGeneral::LimitAngle(RADTODEG(angle)); + angle = RADTODEG(angle); + if (angle < 0.0f) + angle += 360.0f; + if (angle > 360.0f) + angle -= 360.0f; + *(float*)&ScriptParams[0] = angle; StoreParameters(&m_nIp, 1); return 0; } @@ -13225,7 +13245,7 @@ int8 CRunningScript::ProcessCommands1300To1399(int32 command) } case COMMAND_CLEAR_CHAR_FOLLOW_PATH: { - CollectParameters(&m_nIp, 2); + CollectParameters(&m_nIp, 1); CPed* pPed = CPools::GetPedPool()->GetAt(ScriptParams[0]); script_assert(pPed); if (pPed->GetPedState() == PED_FOLLOW_PATH) { -- cgit v1.2.3