776 |
return ok; |
return ok; |
777 |
} |
} |
778 |
|
|
779 |
|
|
780 |
bool |
bool |
781 |
world::InitWorld() |
world::InitWorld() |
782 |
{ |
{ |
783 |
laser::RecalcLight(); |
laser::RecalcLight(); |
784 |
laser::RecalcLightNow(); // recalculate laser beams if necessary |
laser::RecalcLightNow(); // recalculate laser beams if necessary |
785 |
|
|
786 |
int first_player = INT_MAX; |
bool seen_player0 = false; |
787 |
|
|
788 |
for (ActorList::iterator i=level->actorlist.begin(); |
for (ActorList::iterator i=level->actorlist.begin(); |
789 |
i!=level->actorlist.end(); ++i) |
i != level->actorlist.end(); ++i) |
790 |
{ |
{ |
791 |
int iplayer=-1; |
int iplayer; |
792 |
Actor *a=*i; |
Actor *a = *i; |
793 |
|
|
794 |
if (a->int_attrib("player", &iplayer)) { |
if (a->int_attrib("player", &iplayer)) { |
795 |
player::AddActor(iplayer,a); |
player::AddActor(iplayer,a); |
796 |
if (first_player > iplayer) first_player = iplayer; |
if (iplayer == 0) seen_player0 = true; |
797 |
|
} |
798 |
|
else { |
799 |
|
fprintf(stderr, "Error: Actor has no 'player' attribute!\n"); |
800 |
|
return false; |
801 |
} |
} |
802 |
} |
} |
803 |
|
|
804 |
if (first_player != 0) { |
if (!seen_player0) { |
805 |
fprintf(stderr, "Error: No player 0 defined!\n"); |
fprintf(stderr, "Error: No player 0 defined!\n"); |
806 |
return false; |
return false; |
807 |
} |
} |
808 |
|
|
809 |
player::InitMoveCounter(); |
player::InitMoveCounter(); |
810 |
display::StatusBar *sb = display::GetStatusBar(); |
display::StatusBar *sb = display::GetStatusBar(); |
|
// sb->set_counter(player::GetMoveCounter()); |
|
811 |
sb->show_move_counter (enigma::ShowMoves); |
sb->show_move_counter (enigma::ShowMoves); |
812 |
|
|
813 |
return true; |
return true; |
1222 |
V2 pos(x,y); |
V2 pos(x,y); |
1223 |
level->actorlist.push_back(a); |
level->actorlist.push_back(a); |
1224 |
a->get_actorinfo()->pos = pos; |
a->get_actorinfo()->pos = pos; |
1225 |
a->on_creation(pos); |
|
1226 |
ReleaseActor(a); |
// now done in AddActor(int, Actor*) : |
1227 |
|
// a->on_creation(pos); |
1228 |
|
// ReleaseActor(a); |
1229 |
} |
} |
1230 |
|
|
1231 |
Actor * |
Actor * |