3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
|
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
|
-
+
|
if(generation_number<=TY_MAXTYPE) return "Too many generations of objects";
if(firstobj==VOIDLINK) return "Game cannot continue with no objects";
// Finished
return 0;
}
const char*init_level(void) {
Uint32 n;
Uint32 n,m;
if(setjmp(my_env)) return my_error;
clear_inventory();
if(main_options['t']) {
printf("[Level %d restarted]\n",level_id);
if(!traced_obj.t) {
const char*s;
optionquery[1]=Q_traceObject;
|
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
|
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
|
+
-
+
|
if(control_class) {
control_obj=objalloc(control_class);
if(control_obj==VOIDLINK) Throw("Error creating object");
}
n=lastobj;
while(n!=VOIDLINK && !(objects[n]->oflags&OF_ORDERED)) {
send_message(VOIDLINK,n,MSG_INIT,NVALUE(0),NVALUE(0),NVALUE(0));
m=objects[n]->prev;
if(classes[objects[n]->class]->order && !(objects[n]->oflags&OF_DESTROYED)) set_order(n);
n=objects[n]->prev;
n=m;
}
broadcast(VOIDLINK,0,MSG_POSTINIT,NVALUE(0),NVALUE(0),NVALUE(0),0);
if(gameover) return 0;
return execute_turn(0);
}
|