From 92d10061348a7a7267b9ad2de153c22cf1475b66 Mon Sep 17 00:00:00 2001 From: qndel Date: Tue, 22 Jun 2021 10:46:12 +0200 Subject: [PATCH] Use std::move for premiumitems shift --- Source/items.cpp | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index c4571c92e..b5d80a624 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -5,6 +5,7 @@ */ #include "items.h" +#include #include #include #include @@ -4341,25 +4342,16 @@ void SpawnPremium(int pnum) while (premiumlevel < lvl) { premiumlevel++; if (gbIsHellfire) { - premiumitems[0] = premiumitems[3]; - premiumitems[1] = premiumitems[4]; - premiumitems[2] = premiumitems[5]; - premiumitems[3] = premiumitems[6]; - premiumitems[4] = premiumitems[7]; - premiumitems[5] = premiumitems[8]; - premiumitems[6] = premiumitems[9]; - premiumitems[7] = premiumitems[10]; - premiumitems[8] = premiumitems[11]; - premiumitems[9] = premiumitems[12]; + // Discard first 3 items and shift next 10 + std::move(&premiumitems[3], &premiumitems[12] + 1, &premiumitems[0]); SpawnOnePremium(10, premiumlevel + premiumLvlAddHellfire[10], pnum); premiumitems[11] = premiumitems[13]; SpawnOnePremium(12, premiumlevel + premiumLvlAddHellfire[12], pnum); premiumitems[13] = premiumitems[14]; SpawnOnePremium(14, premiumlevel + premiumLvlAddHellfire[14], pnum); } else { - premiumitems[0] = premiumitems[2]; - premiumitems[1] = premiumitems[3]; - premiumitems[2] = premiumitems[4]; + // Discard first 2 items and shift next 3 + std::move(&premiumitems[2], &premiumitems[4] + 1, &premiumitems[0]); SpawnOnePremium(3, premiumlevel + premiumlvladd[3], pnum); premiumitems[4] = premiumitems[5]; SpawnOnePremium(5, premiumlevel + premiumlvladd[5], pnum);