[Super-tux-commit] supertux/src title.cpp,1.12,1.13
Brought to you by:
wkendrick
From: Tobias Gl??er <to...@us...> - 2004-03-26 22:19:14
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7931/src Modified Files: title.cpp Log Message: tux isn't jumping like on drugs anymore in the demo Index: title.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/title.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- title.cpp 26 Mar 2004 21:39:45 -0000 1.12 +++ title.cpp 26 Mar 2004 22:08:12 -0000 1.13 @@ -78,6 +78,9 @@ string_list_type level_subsets; st_subset subset; level_subsets = dsubdirs("/levels", "info"); + timer_type random_timer; + timer_init(&random_timer, true); + bool walking = true; Player titletux; titletux.init(); st_pause_ticks_init(); @@ -88,7 +91,7 @@ activate_particle_systems(); /* Lower the gravity that tux doesn't jump to hectically through the demo */ gravity = 5; - + /* Reset menu variables */ menu_reset(); Menu::set_current(main_menu); @@ -115,17 +118,18 @@ load_hs(); update_time = st_get_ticks(); - + timer_start(&random_timer, rand() % 2000 + 2000); + while (!done && !quit) { - + /* Calculate the movement-factor */ frame_ratio = ((double)(update_time-last_update_time))/((double)FRAME_RATE); if(frame_ratio > 1.5) /* Quick hack to correct the unprecise CPU clocks a little bit. */ frame_ratio = 1.5 + (frame_ratio - 1.5) * 0.85; /* Lower the frame_ratio that Tux doesn't jump to hectically throught the demo. */ frame_ratio /= 2; - + /* Handle events: */ while (SDL_PollEvent(&event)) @@ -164,7 +168,7 @@ menuaction = MENU_ACTION_HIT; } } - + /* Draw the background: */ draw_background(); @@ -195,17 +199,30 @@ global_frame_counter++; titletux.key_event(SDLK_RIGHT,DOWN); - titletux.key_event(SDLK_UP,DOWN); - if(current_level.width * 32 - 320 < titletux.base.x) - { - titletux.base.x = 160; - scroll_x = 0; - } + if(timer_check(&random_timer)) + { + if(walking) + titletux.key_event(SDLK_UP,UP); + else + titletux.key_event(SDLK_UP,DOWN); + } + else + { + timer_start(&random_timer, rand() % 3000 + 3000); + walking = !walking; + } + + if(current_level.width * 32 - 320 < titletux.base.x) + { + titletux.base.x = 160; + scroll_x = 0; + } + titletux.action(); titletux.draw(); - + /* DEMO end */ /* Draw the high score: */ @@ -319,13 +336,13 @@ { process_save_load_game_menu(false); } - + flipscreen(); /* Set the time of the last update and the time of the current update */ last_update_time = update_time; update_time = st_get_ticks(); - + /* Pause: */ frame++; SDL_Delay(25); |