From 1027a80d9e0a6df9e124fff63adccd41d69e452c Mon Sep 17 00:00:00 2001
From: Christian Semmler <mail@csemmler.com>
Date: Sun, 16 Mar 2025 15:02:13 -0700
Subject: [PATCH] Match `MxEventPresenter::PutData` (#1417)

---
 LEGO1/omni/src/event/mxeventpresenter.cpp | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/LEGO1/omni/src/event/mxeventpresenter.cpp b/LEGO1/omni/src/event/mxeventpresenter.cpp
index 05c94de0..f819b68c 100644
--- a/LEGO1/omni/src/event/mxeventpresenter.cpp
+++ b/LEGO1/omni/src/event/mxeventpresenter.cpp
@@ -8,6 +8,8 @@
 #include "mxmisc.h"
 #include "mxvariabletable.h"
 
+#include <assert.h>
+
 DECOMP_SIZE_ASSERT(MxEventPresenter, 0x54);
 
 // FUNCTION: LEGO1 0x100c2b70
@@ -90,6 +92,7 @@ void MxEventPresenter::StartingTickle()
 }
 
 // FUNCTION: LEGO1 0x100c2ef0
+// FUNCTION: BETA10 0x10152d26
 MxResult MxEventPresenter::PutData()
 {
 	AUTOLOCK(m_criticalSection);
@@ -102,10 +105,15 @@ MxResult MxEventPresenter::PutData()
 					const char* data = (const char*) m_currentChunk->GetData();
 					MxVariableTable* variableTable = VariableTable();
 
-					const char* key = data;
-					const char* value = &data[strlen(data) + 1];
-					strlen(value);
-					variableTable->SetVariable(key, value);
+					const char* name = data;
+					assert(name);
+					data += strlen(data) + 1;
+
+					const char* value = data;
+					assert(value);
+					data += strlen(data) + 1;
+
+					variableTable->SetVariable(name, value);
 				}
 
 				if (m_currentTickleState == e_streaming) {