-void
-World::add_broken_brick(Tile* tile, float x, float y)
-{
- add_broken_brick_piece(tile, x, y, -1, -4);
- add_broken_brick_piece(tile, x, y + 16, -1.5, -3);
-
- add_broken_brick_piece(tile, x + 16, y, 1, -4);
- add_broken_brick_piece(tile, x + 16, y + 16, 1.5, -3);
-}
-
-void
-World::add_broken_brick_piece(Tile* tile, float x, float y, float xm, float ym)
-{
- BrokenBrick* new_broken_brick = new BrokenBrick();
- new_broken_brick->init(tile, x, y, xm, ym);
- broken_bricks.push_back(new_broken_brick);
-}
-
-void
-World::add_bouncy_brick(float x, float y)
-{
- BouncyBrick* new_bouncy_brick = new BouncyBrick();
- new_bouncy_brick->init(x,y);
- bouncy_bricks.push_back(new_bouncy_brick);
-}
-
-BadGuy*
-World::add_bad_guy(float x, float y, BadGuyKind kind, bool stay_on_platform)
-{
- BadGuy* badguy = new BadGuy(x,y,kind, stay_on_platform);
- bad_guys.push_back(badguy);
- return badguy;
-}
-
-void
-World::add_upgrade(float x, float y, Direction dir, UpgradeKind kind)
-{
- Upgrade new_upgrade;
- new_upgrade.init(x,y,dir,kind);
- upgrades.push_back(new_upgrade);
-}
-
-void
-World::add_bullet(float x, float y, float xm, Direction dir)
-{
- if(bullets.size() > MAX_BULLETS-1)
- return;
-
- Bullet new_bullet;
- new_bullet.init(x,y,xm,dir);
- bullets.push_back(new_bullet);
-
- play_sound(sounds[SND_SHOOT], SOUND_CENTER_SPEAKER);
-}
-
-void
-World::play_music(int musictype)
-{
- currentmusic = musictype;
- switch(currentmusic) {
- case HURRYUP_MUSIC:
- music_manager->play_music(get_level()->get_level_music_fast());
- break;
- case LEVEL_MUSIC:
- music_manager->play_music(get_level()->get_level_music());
- break;
- case HERRING_MUSIC:
- music_manager->play_music(herring_song);
- break;
- default:
- music_manager->halt_music();
- break;
+ sq_pushstring(global_vm, "state", -1);
+ sq_newtable(global_vm);
+ load_squirrel_table(global_vm, -1, state);
+ if(SQ_FAILED(sq_createslot(global_vm, -3)))
+ throw std::runtime_error("Couldn't create state table");
+ sq_pop(global_vm, 1);
+ } catch(std::exception& e) {
+ log_debug << "Couldn't load savegame: " << e.what() << std::endl;