exits.c-Dateireferenz

#include "/obj/tools/roommaker/roommaker.h"
Include-Abhängigkeitsdiagramm für exits.c:

gehe zum Quellcode dieser Datei

Funktionen

static void enter_exit ()
static void delete_exit ()
static void delete_exit_really (int number)
static void delete_exit2 (string str)
static void exit_redisplay ()
static void noexit ()
static void getpath ()
static void insert_exit (string str)
static void nopath ()
static void double_exit (string str)
static void exit_redisplay2 ()
static void exit_save ()
static void insert_exit2 (string str)
static void goto_delete_exit ()

Variablen

static string * exit
static string * path

Dokumentation der Funktionen

static void delete_exit (  )  [static]

Definiert in Zeile 33 der Datei exits.c.

Benutzt exit, i, input_to(), path und QueryLabel().

Wird benutzt von goto_delete_exit().

00034 {
00035   int i;
00036   if(!sizeof(exit))
00037   {
00038     write("No exits are given.\n");
00039     return (void)call_other(this_object(),QueryLabel("delete_return"));
00040   }
00041   if(sizeof(exit) == 1) write("This exit is");
00042   else write("These exits are");
00043   write(" given:\n");
00044   for(i=0;i<sizeof(exit);i++)
00045     write((i+1) + ". " + exit[i] + " ... " + path[i] + "\n");
00046   write("Which exit should be deleted?\n");
00047   input_to("delete_exit2");
00048 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

static void delete_exit2 ( string  str  )  [static]

Definiert in Zeile 64 der Datei exits.c.

Benutzt delete_exit_really(), exit, member_array() und QueryLabel().

00065 {
00066   int number;                   /* number of the given exit */
00067   if(sscanf(str,"%d",number) && number <= sizeof(exit))
00068   {
00069     delete_exit_really(number-1);
00070     return (void)call_other(this_object(),QueryLabel("delete_return"));
00071   }
00072   number = (member_array(str,exit));
00073   if(number == -1)
00074   {
00075     write("There is no exit named " + str + "!\n");
00076     return (void)call_other(this_object(),QueryLabel("delete_return"));
00077   }
00078   delete_exit_really(number);
00079   return (void)call_other(this_object(),QueryLabel("delete_return"));
00080 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void delete_exit_really ( int  number  )  [static]

Definiert in Zeile 52 der Datei exits.c.

Benutzt exit, path, QueryLabel() und SetLabel().

Wird benutzt von delete_exit2().

00053 {
00054   write("Deleting " + exit[number] + " ...\n");
00055   SetLabel("deleted_exit",({exit[number],path[number]}));
00056   exit = exit[0..number-1] + exit[number+1..sizeof(exit)-1];
00057   path = path[0..number-1] + path[number+1..sizeof(path)-1];
00058   if(QueryLabel("delete_return") == "gotogetstring")
00059     SetLabel("prompt","Exit #" + (sizeof(exit)+1) + ": ");
00060 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

static void double_exit ( string  str  )  [static]

Definiert in Zeile 172 der Datei exits.c.

Benutzt enter_exit(), exit, getpath(), input_to() und QueryLabel().

00173 {
00174   if(str == "y")
00175   {
00176     insert_alist(QueryLabel("exit"),exit);
00177     return getpath();
00178   }
00179   if(str == "n") return enter_exit();
00180   write("Do you want to overwrite them?? (y/n) ");
00181   input_to("double_exit");
00182 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void enter_exit (  )  [static]

Definiert in Zeile 17 der Datei exits.c.

Benutzt exit, gotogetstring() und SetLabel().

Wird benutzt von double_exit() und insert_exit2().

00018 {
00019   SetLabel("prompt","Exit #" + (sizeof(exit)+1) + ": ");
00020   SetLabel("nostring","noexit");
00021   SetLabel("ready","gotomenu");
00022   SetLabel("undo","gotomenu");
00023   SetLabel("redisplay","exit_redisplay");
00024   SetLabel("delete","delete_exit");
00025   SetLabel("save_file","normal_save_string");
00026   SetLabel("insert_string","insert_exit");
00027   SetLabel("delete_return","gotogetstring");
00028   gotogetstring();
00029 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

static void exit_redisplay (  )  [static]

Definiert in Zeile 84 der Datei exits.c.

Benutzt exit, gotogetstring(), i, input_to() und path.

00085 {
00086   int i;
00087   if(!sizeof(exit))
00088   {
00089     write("No exits are given.\nExit #1: ");
00090     input_to("getstring");
00091     return;
00092   }
00093   if(sizeof(exit) == 1) write("This exit is");
00094   else write("These exits are");
00095   write(" given:\n");
00096   for(i=0;i<sizeof(exit);i++)
00097     write(exit[i] + " ... " + path[i] + "\n");
00098   gotogetstring();
00099 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void exit_redisplay2 (  )  [static]

Definiert in Zeile 188 der Datei exits.c.

Benutzt exit, gotogetstring(), i, member_array(), path und QueryLabel().

00189 {
00190   int i;
00191   string pathdummy;
00192   pathdummy = path[member_array(QueryLabel("exit"),exit)];
00193   path[member_array(QueryLabel("exit"),exit)] = "<no path>";
00194   if(sizeof(exit) == 1) write("This exit is");
00195   else write("These exits are");
00196   write(" given:\n");
00197   for(i=0;i<sizeof(exit);i++)
00198     write(exit[i] + " ... " + path[i] + "\n");
00199   path[member_array(QueryLabel("exit"),exit)] = pathdummy;
00200   gotogetstring();
00201 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void exit_save (  )  [static]

Definiert in Zeile 207 der Datei exits.c.

Benutzt gotogetstring().

00208 {
00209   write("You can't save. The exit need a path!\n");
00210   gotogetstring();
00211 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void getpath (  )  [static]

Definiert in Zeile 113 der Datei exits.c.

Benutzt gotogetstring(), path und SetLabel().

Wird benutzt von double_exit() und insert_exit().

00114 {
00115   SetLabel("prompt","Path #" + sizeof(path) + ": ");
00116   SetLabel("nostring","nopath");
00117   SetLabel("ready","nopath");
00118   SetLabel("undo","nopath");
00119   SetLabel("redisplay","exit_redisplay2");
00120   SetLabel("delete","delete_exit");
00121   SetLabel("save_file","exit_save");
00122   SetLabel("insert_string","insert_exit2");
00123   gotogetstring();
00124 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

static void goto_delete_exit (  )  [static]

Definiert in Zeile 222 der Datei exits.c.

Benutzt delete_exit() und SetLabel().

00223 {
00224   SetLabel("delete_return","gotomenu");
00225   delete_exit();
00226 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void insert_exit ( string  str  )  [static]

Definiert in Zeile 131 der Datei exits.c.

Benutzt exit, getpath(), i, input_to(), member_array(), path und SetLabel().

00132 {
00133   int i;
00134   switch(str) {
00135   case "n": str = "north"; break;
00136   case "s": str = "south"; break;
00137   case "e": str = "east"; break;
00138   case "w": str = "west"; break;
00139   case "u": str = "up"; break;
00140   case "d": str = "down"; break;
00141   }
00142   i = member_array(str,exit);
00143   SetLabel("exit",str);
00144   if(i != -1)
00145   {
00146     write("We have already an exit named " + str + "!\n");
00147     write(exit[i] + " ... " + path[i] + "\n");
00148     write("Do you want to overwrite them? (y/n) ");
00149     input_to("double_exit");
00150     return;
00151   }
00152   exit += ({str});
00153   path += ({"<no path>"});
00154   return getpath();
00155 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void insert_exit2 ( string  str  )  [static]

Definiert in Zeile 215 der Datei exits.c.

Benutzt Creature(), enter_exit(), exit, member_array(), path und QueryLabel().

00216 {
00217   path[member_array(QueryLabel("exit"),exit)] = str;
00218   Creature()->AddExit(QueryLabel("exit"),str);
00219   return enter_exit();
00220 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void noexit (  )  [static]

Definiert in Zeile 105 der Datei exits.c.

Benutzt gotogetstring().

00106 {
00107   write("Every exit need a name. Please enter them!\n");
00108   gotogetstring();
00109 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

static void nopath (  )  [static]

Definiert in Zeile 162 der Datei exits.c.

Benutzt gotogetstring().

00163 {
00164   write("Every exit need a path. Please enter them!\n");
00165   gotogetstring();
00166 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:


Variablen-Dokumentation

string* exit [static]
string* path [static]
Erzeugt am Thu Jun 3 14:40:17 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3