settings_gui.c
changeset 1796 cae31916ae54
parent 1794 44f9deff97ed
child 1803 24a94314cfa9
--- a/settings_gui.c	Thu May 12 00:20:16 2005 +0000
+++ b/settings_gui.c	Thu May 12 23:46:01 2005 +0000
@@ -1017,19 +1017,21 @@
 	}
 }
 
-/**
- * Network-safe changing of patch-settings.
- * @param p1 bytes 0 - 7:  the patches type (page) that is being changed (construction, network, ai)
- * @param p1 bytes 8 - ..: the actual patch (entry) being set inside the category
+/** Network-safe changing of patch-settings.
+ * @param p1 various bitstuffed elements
+ * - p1 = (bit 0- 7) - the patches type (page) that is being changed (construction, network, ai) (p1 & 0xFF)
+ * - p2 = (bit 8-15) - the actual patch (entry) being set inside the category ((p1>>8) & 0xFF)
  * @param p2 the new value for the patch
+ * @todo check that the new value is a valid one. Awful lot of work, but since only
+ * the server is allowed to do this, we trust it on this one :)
  */
 int32 CmdChangePatchSetting(int x, int y, uint32 flags, uint32 p1, uint32 p2)
 {
 	byte pcat = p1 & 0xFF;
 	byte pel = (p1 >> 8) & 0xFF;
 
-	if (pcat >= lengthof(_patches_page)) return 0;
-	if (pel >= _patches_page[pcat].num) return 0;
+	if (pcat >= lengthof(_patches_page)) return CMD_ERROR;
+	if (pel >= _patches_page[pcat].num) return CMD_ERROR;
 
 	if (flags & DC_EXEC) {
 		const PatchEntry *pe = &_patches_page[pcat].entries[pel];