Maelstrom: Added a dialog explaining kid mode

From 6edae6dadb634ed558240e413153bb7569d7ee3c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 26 Apr 2026 12:28:24 -0700
Subject: [PATCH] Added a dialog explaining kid mode

---
 Data/UI/kidmode.xml      | 29 +++++++++++++++++++++++++++++
 game/Maelstrom_Globals.h |  2 +-
 game/main.cpp            |  7 +++++++
 3 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 Data/UI/kidmode.xml

diff --git a/Data/UI/kidmode.xml b/Data/UI/kidmode.xml
new file mode 100644
index 00000000..8af747a0
--- /dev/null
+++ b/Data/UI/kidmode.xml
@@ -0,0 +1,29 @@
+<Dialog>
+	<Size w="310" h="176"/>
+	<Anchor anchorFrom="TOPLEFT" anchorTo="TOPLEFT" x="164" y="77"/>
+	<Elements>
+		<Icon name="icon" id="103">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="TOPLEFT" x="19" y="19"/>
+		</Icon>
+		<DialogLabel name="line1" text="Kid mode enabled!">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="TOPRIGHT" anchor="icon" x="25"/>
+		</DialogLabel>
+		<DialogLabel name="line2" text="Reverse thrusters and automatic">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="BOTTOMLEFT" anchor="icon" y="12" x="25"/>
+		</DialogLabel>
+		<DialogLabel name="line3" text="shield defense system are active.">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="BOTTOMLEFT" anchor="line2" y="2"/>
+		</DialogLabel>
+		<DialogLabel name="line4" text="This disqualifies you from a high">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="BOTTOMLEFT" anchor="line3" y="8"/>
+		</DialogLabel>
+		<DialogLabel name="line5" text="score...">
+			<Anchor anchorFrom="TOPLEFT" anchorTo="BOTTOMLEFT" anchor="line4" y="2"/>
+		</DialogLabel>
+
+		<DialogButton text="OK" default="true">
+			<Size w="90"/>
+			<Anchor anchorFrom="TOPLEFT" anchorTo="TOPLEFT" x="210" y="150"/>
+		</DialogButton>
+	</Elements>
+</Dialog>
diff --git a/game/Maelstrom_Globals.h b/game/Maelstrom_Globals.h
index a5e3dd41..764e7954 100644
--- a/game/Maelstrom_Globals.h
+++ b/game/Maelstrom_Globals.h
@@ -175,7 +175,7 @@ extern int	gNumSprites;
 #define DIALOG_ZAP	"zap"
 #define DIALOG_DAWN	"dawn"
 #define DIALOG_CHEAT	"cheat"
-#define DIALOG_FEATURE	"feature"
+#define DIALOG_KIDMODE	"kidmode"
 #define DIALOG_MESSAGE	"message"
 
 // Sound resource definitions...
diff --git a/game/main.cpp b/game/main.cpp
index 97b01041..614dd343 100644
--- a/game/main.cpp
+++ b/game/main.cpp
@@ -532,6 +532,13 @@ MainPanelDelegate::OnActionToggleKidMode(UIBaseElement *sender)
 	}
 
 	checkbox->SaveData(prefs);
+
+	if (checkbox->IsChecked()) {
+		UIDialog *dialog = ui->GetPanel<UIDialog>(DIALOG_KIDMODE);
+		if (dialog) {
+			ui->ShowPanel(dialog);
+		}
+	}
 }
 
 void