#define DOMAIN "heaven"
/* this is the file you use to preload things...
* It will be added to the preload list on the maste object automaticly
*/
string *pre_load;
void create() {
int i;
seteuid((string)"/secure/master"->creator_file(file_name()));
restore_object(file_name(this_object()));
if (!pre_load)
pre_load = ({ });
for (i=0;i<sizeof(pre_load);i++) {
printf(DOMAIN+" pre_loading "+pre_load[i]+".\n");
if (catch(call_other(pre_load[i], "??")))
call_out("do_load", 0, pre_load[i]);
}
}
/* this is so the errors get done... ;) */
void do_load(string str) {
call_other(str, "??");
}
int add_pre_load(string str) {
if (member_array(str, pre_load) == -1)
pre_load += ({ str });
save_object(file_name(this_object()));
return 1;
}
int remove_pre_load(string str) {
int i;
if ((i=member_array(str, pre_load)) == -1)
return 0;
pre_load = delete(pre_load, i, 1);
save_object(file_name(this_object()));
}