* General Public License for more details.
*/
+#include <string.h>
+
#include "gui.h"
#include "vec3.h"
#include "demo.h"
/*---------------------------------------------------------------------------*/
static float real_time = 0.0f;
-static float demo_time = 0.0f;
static int mode = 0;
static int play_id = 0;
return 1;
}
-static struct level title_level;
-
static int title_enter(void)
{
int id, jd, kd;
audio_music_fade_to(0.5f, "bgm/title.ogg");
/* Initialize the title level for display. */
- level_load("map-medium/title.sol", &title_level);
- game_init(&title_level, 0, 0);
+
+ game_init("map-medium/title.sol", 0, 1);
real_time = 0.0f;
- demo_time = 0.0f;
mode = 0;
SDL_EnableUNICODE(1);
static void title_timer(int id, float dt)
{
static const char *demo = NULL;
- float t;
real_time += dt;
{
if ((demo = demo_pick()))
{
- demo_replay_init(demo, NULL);
- demo_time = 0.0f;
+ demo_replay_init(demo, NULL, NULL, NULL, NULL, NULL);
+ game_set_fly(0.0f);
real_time = 0.0f;
mode = 2;
}
case 2: /* Mode 2: Run demo. */
- while (demo_time < real_time)
- if (demo_replay_step(&t))
- demo_time += t;
- else
- {
- demo_replay_stop(0);
- game_fade(+1.0f);
- real_time = 0.0f;
- mode = 3;
- }
+ if (!demo_replay_step(dt))
+ {
+ demo_replay_stop(0);
+ game_fade(+1.0f);
+ real_time = 0.0f;
+ mode = 3;
+ }
break;
case 3: /* Mode 3: Fade out. Load title level. */
if (real_time > 1.0f)
{
- game_init(&title_level, 0, 0);
+ game_init("map-medium/title.sol", 0, 1);
+
real_time = 0.0f;
mode = 0;
}
title_timer,
shared_point,
shared_stick,
+ shared_angle,
shared_click,
title_keybd,
title_buttn,