From 6220ab32c3fed5f7ab5f10b437b84a51b24ad2de Mon Sep 17 00:00:00 2001
From: Christian Semmler <mail@csemmler.com>
Date: Sun, 16 Mar 2025 15:19:13 -0700
Subject: [PATCH] Match `FUN_100b7220` (#1418)

---
 LEGO1/omni/src/common/mxutilities.cpp | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/LEGO1/omni/src/common/mxutilities.cpp b/LEGO1/omni/src/common/mxutilities.cpp
index 7845d88f..a9f8712e 100644
--- a/LEGO1/omni/src/common/mxutilities.cpp
+++ b/LEGO1/omni/src/common/mxutilities.cpp
@@ -146,9 +146,20 @@ void SetOmniUserMessage(void (*p_omniUserMessage)(const char*, MxS32))
 }
 
 // FUNCTION: LEGO1 0x100b7220
+// FUNCTION: BETA10 0x10136f37
 void FUN_100b7220(MxDSAction* p_action, MxU32 p_newFlags, MxBool p_setFlags)
 {
-	p_action->SetFlags(!p_setFlags ? p_action->GetFlags() & ~p_newFlags : p_action->GetFlags() | p_newFlags);
+	MxU32 oldFlags = p_action->GetFlags();
+	MxU32 newFlags;
+
+	if (p_setFlags) {
+		newFlags = oldFlags | p_newFlags;
+	}
+	else {
+		newFlags = oldFlags & ~p_newFlags;
+	}
+
+	p_action->SetFlags(newFlags);
 
 	if (p_action->IsA("MxDSMultiAction")) {
 		MxDSActionListCursor cursor(((MxDSMultiAction*) p_action)->GetActionList());