From 6655d28888f5d0e01929b2c02e03f0e82967432a Mon Sep 17 00:00:00 2001
From: jsalmon3 <>
Date: Mon, 17 Jun 2002 20:33:06 +0000
Subject: [PATCH] Nicer error handling in resource edit

---
 src/ui/menus.cpp | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/ui/menus.cpp b/src/ui/menus.cpp
index 9a1252e08..9c60d375b 100644
--- a/src/ui/menus.cpp
+++ b/src/ui/menus.cpp
@@ -4920,7 +4920,7 @@ global void EditorEditResource(void)
     sprintf(buf, "%d~!_", UnitUnderCursor->Value);
     menu->items[1].d.input.buffer = buf;
     menu->items[1].d.input.nch = strlen(buf) - 3;
-    menu->items[1].d.input.maxch = 7;
+    menu->items[1].d.input.maxch = 6;
     ProcessMenu("menu-editor-edit-resource", 1);
 }
 
@@ -4946,18 +4946,25 @@ local void EditorEditResourceOk(void)
 
     menu = FindMenu("menu-editor-edit-resource");
     value = atoi(menu->items[1].d.input.buffer);
-    if (value == 0) {
+    if (value < 2500) {
+	strcpy(menu->items[1].d.text.text, "2500~!_");
+	menu->items[1].d.input.nch = strlen(menu->items[1].d.text.text) - 3;
 	menu = FindMenu("menu-editor-error");
-	menu->items[1].d.text.text = "Must be greater than 0";
+	menu->items[1].d.text.text = "Must be greater than 2500";
+	ProcessMenu("menu-editor-error", 1);
+    } else if (value > 655000) {
+	strcpy(menu->items[1].d.text.text, "655000~!_");
+	menu->items[1].d.input.nch = strlen(menu->items[1].d.text.text) - 3;
+	menu = FindMenu("menu-editor-error");
+	menu->items[1].d.text.text = "Must be smaller than 655000";
 	ProcessMenu("menu-editor-error", 1);
     } else if (value/2500*2500 != value) {
+	value = (value+1250)/2500*2500;
+	sprintf(menu->items[1].d.text.text, "%d~!_", value);
+	menu->items[1].d.input.nch = strlen(menu->items[1].d.text.text) - 3;
 	menu = FindMenu("menu-editor-error");
 	menu->items[1].d.text.text = "Must be a multiple of 2500";
 	ProcessMenu("menu-editor-error", 1);
-    } else if (value > 655350) {
-	menu = FindMenu("menu-editor-error");
-	menu->items[1].d.text.text = "Must be smaller than 655350";
-	ProcessMenu("menu-editor-error", 1);
     } else {
 	UnitUnderCursor->Value = value;
 	GameMenuReturn();