chunk_renderer.FogDensity(master.GetWorldConf().fog_density);
skeletons.Load();
loop_timer.Start();
+ if (save.Exists(player)) {
+ save.Read(player);
+ }
}
void InteractiveState::OnEnter() {
interface.Handle(event.wheel);
break;
case SDL_QUIT:
- master.Quit();
+ Exit();
break;
default:
break;
}
void InteractiveState::Exit() {
+ save.Write(player);
master.Quit();
}
void MasterState::OnTimeout() {
if (client.GetConnection().Closed()) {
- // TODO: push disconnected message
- cout << "connection timed out" << endl;
Quit();
+ env.ShowMessage("connection timed out");
}
}
}
void MasterState::On(const Packet::Part &pack) {
+ Quit();
if (state) {
// kicked
- cout << "kicked by server" << endl;
+ env.ShowMessage("kicked by server");
} else {
// join refused
- cout << "login refused by server" << endl;
+ env.ShowMessage("login refused by server");
}
- Quit();
}
void MasterState::On(const Packet::SpawnEntity &pack) {
if (!state) {
cout << "got entity spawn before world was created" << endl;
- Quit();
return;
}
uint32_t entity_id;
void MasterState::On(const Packet::DespawnEntity &pack) {
if (!state) {
cout << "got entity despawn before world was created" << endl;
- Quit();
return;
}
uint32_t entity_id;
void MasterState::On(const Packet::EntityUpdate &pack) {
if (!state) {
cout << "got entity update before world was created" << endl;
- Quit();
return;
}
void MasterState::On(const Packet::PlayerCorrection &pack) {
if (!state) {
cout << "got player correction without a player :S" << endl;
- Quit();
return;
}
uint16_t pack_seq;