Skip to content

Commit 2f2139b

Browse files
authored
Merge branch 'development' into patch-5
2 parents 8f930f1 + 066841d commit 2f2139b

File tree

4 files changed

+18
-11
lines changed

4 files changed

+18
-11
lines changed

Source/Entities/Actor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/// http://www.datarealms.com
77
/// Inclusions of header files
88
#include "MOSRotating.h"
9+
#include "PathFinder.h"
910

1011
namespace RTE {
1112

Source/Entities/LimbPath.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,8 +517,8 @@ void LimbPath::Draw(BITMAP* pTargetBitmap,
517517
for (std::deque<Vector>::const_iterator itr = m_Segments.begin(); itr != m_Segments.end(); ++itr) {
518518
nextPoint += *itr;
519519

520-
Vector prevWorldPosition = m_JointPos + (RotatePoint(prevPoint * GetTotalScaleMultiplier()));
521-
Vector nextWorldPosition = m_JointPos + (RotatePoint(nextPoint * GetTotalScaleMultiplier()));
520+
Vector prevWorldPosition = m_JointPos + (RotatePoint(prevPoint * GetTotalScaleMultiplier()) - targetPos);
521+
Vector nextWorldPosition = m_JointPos + (RotatePoint(nextPoint * GetTotalScaleMultiplier()) - targetPos);
522522
line(pTargetBitmap, prevWorldPosition.m_X, prevWorldPosition.m_Y, nextWorldPosition.m_X, nextWorldPosition.m_Y, color);
523523

524524
Vector min(std::min(prevWorldPosition.m_X, nextWorldPosition.m_X), std::min(prevWorldPosition.m_Y, nextWorldPosition.m_Y));
@@ -528,3 +528,4 @@ void LimbPath::Draw(BITMAP* pTargetBitmap,
528528
prevPoint += *itr;
529529
}
530530
}
531+

Source/Entities/PieMenu.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,6 +1212,11 @@ bool PieMenu::SetHoveredPieSlice(const PieSlice* pieSliceToSelect, bool moveCurs
12121212
return false;
12131213
}
12141214

1215+
if (m_ActiveSubPieMenu) {
1216+
m_ActiveSubPieMenu->SetEnabled(false, false);
1217+
m_ActiveSubPieMenu = nullptr;
1218+
}
1219+
12151220
m_HoveredPieSlice = pieSliceToSelect;
12161221
m_SubPieMenuHoverOpenTimer.Reset();
12171222
m_BGBitmapNeedsRedrawing = true;

Source/Managers/MovableMan.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,8 +1484,6 @@ void MovableMan::Update() {
14841484
if (!(*aIt)->IsSetToDelete())
14851485
m_Actors.push_back(*aIt);
14861486
else {
1487-
m_ValidActors.erase(*aIt);
1488-
14891487
// Also remove actor from the roster
14901488
if ((*aIt)->GetTeam() >= 0) {
14911489
// m_ActorRoster[(*aIt)->GetTeam()].remove(*aIt);
@@ -1494,6 +1492,8 @@ void MovableMan::Update() {
14941492

14951493
(*aIt)->DestroyScriptState();
14961494
delete (*aIt);
1495+
1496+
m_ValidActors.erase(*aIt);
14971497
}
14981498
}
14991499
m_AddedActors.clear();
@@ -1504,9 +1504,9 @@ void MovableMan::Update() {
15041504
if (!(*iIt)->IsSetToDelete()) {
15051505
m_Items.push_back(*iIt);
15061506
} else {
1507-
m_ValidItems.erase(*iIt);
15081507
(*iIt)->DestroyScriptState();
15091508
delete (*iIt);
1509+
m_ValidItems.erase(*iIt);
15101510
}
15111511
}
15121512
m_AddedItems.clear();
@@ -1517,9 +1517,9 @@ void MovableMan::Update() {
15171517
if (!(*parIt)->IsSetToDelete()) {
15181518
m_Particles.push_back(*parIt);
15191519
} else {
1520-
m_ValidParticles.erase(*parIt);
15211520
(*parIt)->DestroyScriptState();
15221521
delete (*parIt);
1522+
m_ValidParticles.erase(*parIt);
15231523
}
15241524
}
15251525
m_AddedParticles.clear();
@@ -1571,8 +1571,8 @@ void MovableMan::Update() {
15711571
if ((*iIt)->GetRestThreshold() < 0) {
15721572
(*iIt)->SetRestThreshold(500);
15731573
}
1574-
m_ValidItems.erase(*iIt);
15751574
m_Particles.push_back(*iIt);
1575+
m_ValidItems.erase(*iIt);
15761576
iIt++;
15771577
}
15781578
m_Items.erase(imidIt, m_Items.end());
@@ -1600,9 +1600,9 @@ void MovableMan::Update() {
16001600
RemoveActorFromTeamRoster(*aIt);
16011601

16021602
// Delete
1603-
m_ValidActors.erase(*aIt);
16041603
(*aIt)->DestroyScriptState();
16051604
delete (*aIt);
1605+
m_ValidActors.erase(*aIt);
16061606
aIt++;
16071607
}
16081608
// Try to set the existing iterator to a safer value, erase can crash in debug mode otherwise?
@@ -1614,9 +1614,9 @@ void MovableMan::Update() {
16141614
imidIt = iIt;
16151615

16161616
while (iIt != m_Items.end()) {
1617-
m_ValidItems.erase(*iIt);
16181617
(*iIt)->DestroyScriptState();
16191618
delete (*iIt);
1619+
m_ValidItems.erase(*iIt);
16201620
iIt++;
16211621
}
16221622
m_Items.erase(imidIt, m_Items.end());
@@ -1626,9 +1626,9 @@ void MovableMan::Update() {
16261626
midIt = parIt;
16271627

16281628
while (parIt != m_Particles.end()) {
1629-
m_ValidParticles.erase(*parIt);
16301629
(*parIt)->DestroyScriptState();
16311630
delete (*parIt);
1631+
m_ValidParticles.erase(*parIt);
16321632
parIt++;
16331633
}
16341634
m_Particles.erase(midIt, m_Particles.end());
@@ -1658,9 +1658,9 @@ void MovableMan::Update() {
16581658
if ((*parIt)->GetDrawPriority() >= terrMat->GetPriority()) {
16591659
(*parIt)->DrawToTerrain(g_SceneMan.GetTerrain());
16601660
}
1661-
m_ValidParticles.erase(*parIt);
16621661
(*parIt)->DestroyScriptState();
16631662
delete (*parIt);
1663+
m_ValidParticles.erase(*parIt);
16641664
parIt++;
16651665
}
16661666
m_Particles.erase(midIt, m_Particles.end());

0 commit comments

Comments
 (0)