+ texture_draw_bg(&bkg_title);
+}
+
+void draw_demo(GameSession* session, double frame_ratio)
+{
+ World::set_current(session->get_world());
+ //World* world = session->get_world();
+ Level* plevel = session->get_level();
+ Player* tux = session->get_world()->get_tux();
+
+ /* FIXME:
+ // update particle systems
+ std::vector<ParticleSystem*>::iterator p;
+ for(p = particle_systems.begin(); p != particle_systems.end(); ++p)
+ {
+ (*p)->simulate(frame_ratio);
+ }
+
+ // Draw particle systems (background)
+ for(p = particle_systems.begin(); p != particle_systems.end(); ++p)
+ {
+ (*p)->draw(scroll_x, 0, 0);
+ }
+ */
+
+ // Draw interactive tiles:
+ for (int y = 0; y < 15; ++y)
+ {
+ for (int x = 0; x < 21; ++x)
+ {
+ Tile::draw(32*x - fmodf(scroll_x, 32), y * 32,
+ plevel->ia_tiles[(int)y][(int)x + (int)(scroll_x / 32)]);
+ }
+ }
+
+ global_frame_counter++;
+ tux->key_event(SDLK_RIGHT,DOWN);
+
+ if(random_timer.check())
+ {
+ if(walking)
+ tux->key_event(SDLK_UP,UP);
+ else
+ tux->key_event(SDLK_UP,DOWN);
+ }
+ else
+ {
+ random_timer.start(rand() % 3000 + 3000);
+ walking = !walking;
+ }
+
+ // Wrap around at the end of the level back to the beginnig
+ if(plevel->width * 32 - 320 < tux->base.x)
+ {
+ tux->base.x = tux->base.x - (plevel->width * 32 - 640);
+ scroll_x = tux->base.x - 320;
+ }
+
+