예제 #1
0
void dodGame::Restart()
{
	Uint32 ticks1, ticks2;

	object.Reset();
	creature.Reset();
	parser.Reset();
	player.Reset();
	scheduler.Reset();
	viewer.Reset();
	hasWon = false;

	dungeon.VFTPTR = 0;
	scheduler.SYSTCB();
	object.CreateAll();
	player.HBEATF = 0;
	player.setInitialObjects(false);
	viewer.displayPrepare();
	viewer.displayCopyright();
	viewer.display_mode = Viewer::MODE_TITLE;
	viewer.draw_game();

	// Delay with "PREPARE!" on screen
	ticks1 = SDL_GetTicks();
	do
	{
		oslink.process_events();
		ticks2 = SDL_GetTicks();
	} while (ticks2 < ticks1 + 2500);
	
	creature.NEWLVL();
	INIVU();
	viewer.PROMPT();
}
예제 #2
0
// Game initialization
void dodGame::COMINI()
{
	Uint32 ticks1, ticks2;

	scheduler.SYSTCB();
	object.CreateAll();
	player.HBEATF = 0;
	viewer.clearArea(&viewer.TXTSTS);
	viewer.clearArea(&viewer.TXTPRI);
	viewer.VXSCAL = 0x80;
	viewer.VYSCAL = 0x80;
	viewer.VXSCALf = 128.0f;
	viewer.VYSCALf = 128.0f;
	AUTFLG = viewer.ShowFade(Viewer::FADE_BEGIN);
	//AUTFLG = scheduler.fadeLoop();
	//AUTFLG = false; // TAKE THIS LINE OUT !!!!!!!!!! [Prevents demo from starting]
	player.setInitialObjects(AUTFLG);
	viewer.displayPrepare();
	viewer.display_mode = Viewer::MODE_TITLE;
	viewer.draw_game();

	// Delay with "PREPARE!" on screen
	ticks1 = SDL_GetTicks();
	do
	{
		oslink.process_events();
		ticks2 = SDL_GetTicks();
	} while (ticks2 < ticks1 + viewer.prepPause);
	
	creature.NEWLVL();
	if (AUTFLG)
	{
		// do map
		viewer.display_mode = Viewer::MODE_TITLE;
		viewer.showSeerMap = true;
		--viewer.UPDATE;
		viewer.draw_game();
		// wait 3 seconds
		ticks1 = SDL_GetTicks();
		do
		{
			oslink.process_events();
			ticks2 = SDL_GetTicks();
		} while (ticks2 < ticks1 + 3000);
	}
	INIVU();
	viewer.PROMPT();
}