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();