width() and height() take optional second argument for defaults
authornveid <nveid@cobramush.org>
Thu, 5 Apr 2007 16:44:01 +0000 (16:44 +0000)
committernveid <nveid@cobramush.org>
Thu, 5 Apr 2007 16:44:01 +0000 (16:44 +0000)
game/txt/changes/0.73
game/txt/hlp/cobra_func.hlp
src/bsd.c
src/function.c

index 53eefba2dbca745b3caf331b8ca5dc2f69e79c9f..b49e9f5d763a68c3fe963ef34a334f06b9b60934 100644 (file)
@@ -174,4 +174,5 @@ CobraMUSH Version 0.73
    * Fixed initialization of attribute flags [AEJ]
    * SQL support is now reported via @config compile. [RLB]
    * Player aliases may now be supplied to @pemit/list. [RLB]
+   * Width() and height() take optional second argument for defaults. [RLB]
 
index 46840cd29ab58f7db49312fcd565043ad1d9b21e..ca03a3d8227fad16e91a7e197d9b460508b14454 100644 (file)
@@ -4283,23 +4283,28 @@ for an object named "Test", preferring a thing over other types.
 & HEIGHT()
 & SCREENWIDTH
 & SCREENHEIGHT
-  width(<player|descriptor>)
-  height(<player|descriptor>)
+  width(<player|descriptor>[, <default>])
+  height(<player|descriptor>[, <default>])
 
   These two functions return the screen width and height for a connected
   player. If the player's client is capable of doing so, it will let the
   mush know what the correct sizes are on connection and when the client
-  is resized. The defaults are 78 for width, and 24 for height, the
-  normal minimal values. These can be changed with the special
-  SCREENWIDTH and SCREENHEIGHT commands, both of which take a number as
-  their sole argument, and set the appropriate field.
+  is resized.
 
-  If used on something that's not a player, the functions return the
-  default values.
+  The defaults are 78 for width, and 24 for height, the normal minimal
+  values. These can be overridden when calling the function by
+  providing the default to the function. Players can change the value
+  that will be returned when the functions are called on them with the
+  special SCREENWIDTH and SCREENHEIGHT commands, both of which take a
+  number as their sole argument, and set the appropriate field.
+
+  When used  on something that's  not a visible player,  the functions
+  return the default values.
 
   The intent of these functions is allow softcode that does formatting
   to be able to produce a display that can make full use of any given
   screen size.
+
 & WHERE()
   where(<object>)
   
index 096e34061c3ea7515ddcaccc83790e11f710ece0..e263674d8694122811d88bb0bd5824a7f11ec532 100644 (file)
--- a/src/bsd.c
+++ b/src/bsd.c
@@ -4242,6 +4242,8 @@ FUNCTION(fun_width)
     safe_str(T("#-1 FUNCTION REQUIRES ONE ARGUMENT"), buff, bp);
   else if ((match = lookup_desc(executor, args[0])))
     safe_integer(match->width, buff, bp);
+  else if (args[1])
+    safe_str(args[1], buff, bp);
   else
     safe_str("78", buff, bp);
 }
@@ -4253,6 +4255,8 @@ FUNCTION(fun_height)
     safe_str(T("#-1 FUNCTION REQUIRES ONE ARGUMENT"), buff, bp);
   else if ((match = lookup_desc(executor, args[0])))
     safe_integer(match->height, buff, bp);
+  else if (args[1])
+    safe_str(args[1], buff, bp);
   else
     safe_str("24", buff, bp);
 }
index 7096712c4f12c4f325683e0f0deb4bc917bc20ec..4b988172b196f8ad737d31443e4a6c1b3cdadbc1 100644 (file)
@@ -404,7 +404,7 @@ FUNTAB flist[] = {
   {"HASPOWER", fun_hasdivpower, 2, 2, FN_REG},
   {"HASPOWERGROUP", fun_haspowergroup, 2, 2, FN_REG},
   {"HASTYPE", fun_hastype, 2, 2, FN_REG},
-  {"HEIGHT", fun_height, 1, 1, FN_REG},
+  {"HEIGHT", fun_height, 1, 2, FN_REG},
   {"HIDDEN", fun_hidden, 1, 1, FN_REG},
   {"HOME", fun_home, 1, 1, FN_REG},
   {"HOST", fun_hostname, 1, 1, FN_REG},
@@ -671,7 +671,7 @@ FUNTAB flist[] = {
   {"VISIBLE", fun_visible, 2, 2, FN_REG},
   {"WAIT", fun_wait, 2, 2, FN_NOPARSE},
   {"WHERE", fun_where, 1, 1, FN_REG},
-  {"WIDTH", fun_width, 1, 1, FN_REG},
+  {"WIDTH", fun_width, 1, 2, FN_REG},
   {"WILDGREP", fun_grep, 3, 3, FN_REG},
   {"WILDGREPI", fun_grep, 3, 3, FN_REG},
   {"WIPE", fun_wipe, 1, 1, FN_REG},