#include "/obj/tools/roommaker/roommaker.h"
gehe zum Quellcode dieser Datei
Funktionen | |
| static void | enter_detail () |
| static void | nodetail () |
| static void | show_detail () |
| static void | show_all_details (int mode) |
| static void | detail_redisplay () |
| static void | getdesc () |
| static void | insert_detail (string str) |
| static void | store_desc () |
| static void | same_desc (string str) |
| static void | insert_detail2 (string str) |
| static void | double_detail (string str) |
| static void | delete_detail () |
| static void | delete_detail_really (int number) |
| static void | delete_detail2 (string str) |
| static void | goto_delete_detail () |
Variablen | |
| static string * | detail |
| static mixed * | desc |
| static void delete_detail | ( | ) | [static] |
Definiert in Zeile 190 der Datei details.c.
Benutzt detail, input_to(), QueryLabel() und show_all_details().
Wird benutzt von goto_delete_detail().
00191 { 00192 show_all_details(1); /* with numbering */ 00193 if(!sizeof(detail)) 00194 return (void)call_other(this_object(),QueryLabel("delete_return")); 00195 write("Which detail should be deleted?\n"); 00196 input_to("delete_detail2"); 00197 }


| static void delete_detail2 | ( | string | str | ) | [static] |
Definiert in Zeile 213 der Datei details.c.
Benutzt delete_detail_really(), detail, member_array() und QueryLabel().
00214 { 00215 int number; /* number of the given detail */ 00216 if(sscanf(str,"%d",number) && number <= sizeof(detail)) 00217 { 00218 delete_detail_really(number-1); 00219 return (void)call_other(this_object(),QueryLabel("delete_return")); 00220 } 00221 number = (member_array(str,detail)); 00222 if(number == -1) 00223 { 00224 write("There is no detail named " + str + "!\n"); 00225 return (void)call_other(this_object(),QueryLabel("delete_return")); 00226 } 00227 delete_detail_really(number); 00228 return (void)call_other(this_object(),QueryLabel("delete_return")); 00229 }

| static void delete_detail_really | ( | int | number | ) | [static] |
Definiert in Zeile 201 der Datei details.c.
Benutzt desc, detail, QueryLabel() und SetLabel().
Wird benutzt von delete_detail2().
00202 { 00203 write("Deleting " + detail[number] + " ...\n"); 00204 SetLabel("deleted_detail",({detail[number],desc[number]})); 00205 detail = detail[0..number-1] + detail[number+1..sizeof(detail)-1]; 00206 desc = desc[0..number-1] + desc[number+1..sizeof(desc)-1]; 00207 if(QueryLabel("delete_return") == "gotogetstring") 00208 SetLabel("prompt","Detail #" + (sizeof(detail)+1) + ": "); 00209 }


| static void detail_redisplay | ( | ) | [static] |
Definiert in Zeile 90 der Datei details.c.
Benutzt gotogetstring() und show_all_details().
00091 { 00092 show_all_details(0); /* without numbering */ 00093 gotogetstring(); 00094 }

| static void double_detail | ( | string | str | ) | [static] |
Definiert in Zeile 180 der Datei details.c.
Benutzt enter_detail(), getdesc() und input_to().
00181 { 00182 if(str == "y") return getdesc(); 00183 if(str == "n") return enter_detail(); 00184 write("Do you want to overwrite them?? (y/n) "); 00185 input_to("double_detail"); 00186 }

| static void enter_detail | ( | ) | [static] |
Definiert in Zeile 17 der Datei details.c.
Benutzt detail, gotogetstring() und SetLabel().
Wird benutzt von double_detail() und same_desc().
00018 { 00019 SetLabel("prompt","Detail #" + (sizeof(detail)+1) + ": "); 00020 SetLabel("nostring","nodetail"); 00021 SetLabel("ready","gotomenu"); 00022 SetLabel("undo","gotomenu"); 00023 SetLabel("redisplay","detail_redisplay"); 00024 SetLabel("delete","delete_detail"); 00025 SetLabel("save_file","normal_save_string"); 00026 SetLabel("insert_string","insert_detail"); 00027 SetLabel("delete_return","gotogetstring"); 00028 SetLabel("menustring",""); 00029 SetLabel("nextfun","gotogetstring"); 00030 SetLabel("nextwrite",""); 00031 gotogetstring(); 00032 }


| static void getdesc | ( | ) | [static] |
Definiert in Zeile 96 der Datei details.c.
Benutzt ClearText(), gotogettext(), SCREEN_WIDTH und SetLabel().
Wird benutzt von double_detail() und insert_detail().
00097 { 00098 ClearText(); 00099 SetLabel("lenmax",SCREEN_WIDTH); 00100 SetLabel("ready","store_desc"); 00101 SetLabel("show_file","show_detail"); 00102 SetLabel("menustring","But you need to describe the detail!\n"); 00103 SetLabel("menu","gettext"); 00104 write("Please describe the detail (help with \"~h\")!\n"); 00105 gotogettext(); 00106 }


| static void goto_delete_detail | ( | ) | [static] |
Definiert in Zeile 231 der Datei details.c.
Benutzt delete_detail() und SetLabel().
00232 { 00233 SetLabel("delete_return","gotomenu"); 00234 delete_detail(); 00235 }

| static void insert_detail | ( | string | str | ) | [static] |
Definiert in Zeile 108 der Datei details.c.
Benutzt arrayprint(), desc, description, detail, getdesc(), i, input_to(), member_array(), old_explode() und SetLabel().
00109 { 00110 int i; 00111 string description; 00112 i = member_array(str,detail); 00113 SetLabel("detail",str); 00114 if(i != -1) 00115 { 00116 write("We have already an detail named " + str + "!\n"); 00117 write(detail[i] + " ... "); 00118 description = implode(old_explode(arrayprint(desc[i]),"\n")," "); 00119 if(strlen(description) > 74 - strlen(detail[i])) 00120 write(description[0..(70 - strlen(detail[i]))] + "...\n"); 00121 else write(description + "\n"); 00122 write("Do you want to overwrite them? (y/n) "); 00123 input_to("double_detail"); 00124 return; 00125 } 00126 detail += ({str}); 00127 desc +=({({"<no description>"})}); 00128 return getdesc(); 00129 }

| static void insert_detail2 | ( | string | str | ) | [static] |
Definiert in Zeile 170 der Datei details.c.
Benutzt desc, detail, input_to(), member_array() und QueryLabel().
00171 { 00172 detail += ({str}); 00173 if(sizeof(desc) == sizeof(detail)) desc = desc[0..<2]; 00174 desc += ({desc[member_array(QueryLabel("detail"),detail)]}); 00175 write(detail[<1] + "..." + implode(desc[<1]," ") + "\n"); 00176 write("Do you want to add a detail with the same description? (y/n) "); 00177 input_to("same_desc"); 00178 }

| static void nodetail | ( | ) | [static] |
Definiert in Zeile 36 der Datei details.c.
Benutzt gotogetstring().
00037 { 00038 write("Please enter a detail! A player can't look at \"\"!\n"); 00039 gotogetstring(); 00040 }

| static void same_desc | ( | string | str | ) | [static] |
Definiert in Zeile 145 der Datei details.c.
Benutzt desc, detail, enter_detail(), gotogetstring(), input_to(), member_array(), QueryLabel() und SetLabel().
00146 { 00147 write(QueryLabel("detail") + "..." + 00148 implode(desc[member_array(QueryLabel("detail"),detail)]," ") + 00149 "\n"); 00150 if(str == "n") return enter_detail(); 00151 if(str == "y") 00152 { 00153 write("Please enter the detail (help with \"~h\")!\n"); 00154 SetLabel("prompt","Detail #" + (sizeof(detail)+1) + ": "); 00155 SetLabel("nostring","nodetail"); 00156 SetLabel("show_file","show_detail"); 00157 SetLabel("ready","gotomenu"); 00158 SetLabel("undo","gotomenu"); 00159 SetLabel("redisplay","detail_redisplay"); 00160 SetLabel("delete","delete_detail"); 00161 SetLabel("save_file","detail_save"); 00162 SetLabel("insert_string","insert_detail2"); 00163 SetLabel("delete_return","gotogetstring"); 00164 return gotogetstring(); 00165 } 00166 write("Do you want to add a detail with the same description?? (y/n) "); 00167 input_to("same_desc"); 00168 }

| static void show_all_details | ( | int | mode | ) | [static] |
Definiert in Zeile 63 der Datei details.c.
Benutzt arrayprint(), desc, description, detail, i, old_explode() und SCREEN_WIDTH.
Wird benutzt von delete_detail() und detail_redisplay().
00064 { 00065 int i; 00066 string description; 00067 if(!sizeof(detail)) 00068 { 00069 write("No details are given.\n"); 00070 return; 00071 } 00072 if(sizeof(detail) == 1) write("This detail is"); 00073 else write("These details are"); 00074 write(" given:\n"); 00075 for(i=0;i<sizeof(detail);i++) 00076 { 00077 if(mode) write((i+1) + ". "); 00078 write(detail[i] + " ... "); 00079 description = implode(old_explode(arrayprint(desc[i]),"\n")," "); 00080 if(strlen(description) > 00081 SCREEN_WIDTH - 5 - (i>9?4:3)*mode - strlen(detail[i])) 00082 write(description[0..(SCREEN_WIDTH - 9 - (i>9?4:3)*mode 00083 - strlen(detail[i]))] + "...\n"); 00084 else write(description + "\n"); 00085 } 00086 }


| static void show_detail | ( | ) | [static] |
Definiert in Zeile 46 der Datei details.c.
Benutzt desc, detail, EditText(), file_print(), i, input_to(), member_array() und QueryLabel().
00047 { 00048 int i; 00049 string *dummy; 00050 00051 i = member_array(QueryLabel("detail"),detail); 00052 dummy = desc[i]; 00053 if(sizeof(EditText())) desc[i] = EditText(); 00054 else desc[i] = ({"<no description>"}); 00055 write(file_print() + "]"); 00056 /* smore(file_print(),0,this_player()->QueryPagesize()); */ 00057 if(sizeof(EditText())) desc[i] = dummy; 00058 input_to("gettext"); 00059 }

| static void store_desc | ( | ) | [static] |
Definiert in Zeile 131 der Datei details.c.
Benutzt desc, detail, EditText(), gotogettext(), input_to(), member_array() und QueryLabel().
00132 { 00133 int i; 00134 if(!sizeof(EditText())) 00135 { 00136 write(QueryLabel("menustring")); 00137 return gotogettext(); 00138 } 00139 i = member_array(QueryLabel("detail"),detail); 00140 desc[i] = EditText(); 00141 write("Do you want to add a detail with the same description? (y/n) "); 00142 input_to("same_desc"); 00143 }

mixed* desc [static] |
Definiert in Zeile 11 der Datei details.c.
Wird benutzt von _mv(), _query_ids(), _query_name(), _query_race(), _tarn_turn_on(), cln(), copy_ldfied(), creat(), dam_descr(), delete_detail_really(), Dest(), dest(), disco(), env(), insert_detail(), insert_detail2(), listinv(), make(), mv(), new(), QueryDisguise(), QueryLong(), renew_player(), same_desc(), sel(), short(), show_all_details(), show_detail(), stk(), store_desc() und vars().
string* detail [static] |
Definiert in Zeile 10 der Datei details.c.
Wird benutzt von _examine(), _sense_exa(), delete_detail(), delete_detail2(), delete_detail_really(), enter_detail(), insert_detail(), insert_detail2(), same_desc(), show_all_details(), show_detail() und store_desc().
1.6.3