Example #1
0
void TCOD_sys_flush(bool render) {
	static uint32 old_time,new_time=0, elapsed=0;
	int32 frame_time,time_to_wait;
	if ( render ) {
		TCOD_sys_console_to_bitmap(renderWindow,TCOD_console_get_width(NULL),TCOD_console_get_height(NULL),consoleBuffer,prevConsoleBuffer);
		sfRenderWindow_Display(renderWindow);
	}
	old_time=new_time;
	new_time=TCOD_sys_elapsed_milli();
	if ( new_time / 1000 != elapsed ) {
		/* update fps every second */
		fps=cur_fps;
		cur_fps=0;
		elapsed=new_time/1000;
printf ("nbBlit : %d\n",(int)(nbBlit/fps));nbBlit=0;
	}
	/* if too fast, wait */
	frame_time=(new_time - old_time);
	last_frame_length = frame_time * 0.001f;
	cur_fps++;
	time_to_wait=min_frame_length-frame_time;
	if (old_time > 0 && time_to_wait > 0) {
		TCOD_sys_sleep_milli(time_to_wait);
		new_time = TCOD_sys_elapsed_milli();
		frame_time=(new_time - old_time);
	} 
	last_frame_length = frame_time * 0.001f;
}
Example #2
0
value drawFightInterface()
{
	if (game.popupClock)
		if (sfClock_GetTime(game.popupClock) > game.popupTime)
		{
			sfClock_Destroy(game.popupClock);
			game.popupClock = NULL;
			game.popupTime = 0.0f;
			sfString_Destroy(game.popupMessage);
			game.popupMessage = NULL;
			sfSprite_Destroy(game.popupBackground);
			game.popupBackground = NULL;
			game.popupMessageCount--;
			if (game.popupMessageCount > 0)
				updatePopup();
		}

	sfRenderWindow_Clear(game.renderWindow, sfWhite);


	if (fi.background)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.background);
	if (fi.headerBackground)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.headerBackground);
	if (fi.leftLifeBarContainer)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.leftLifeBarContainer);
	if (fi.leftManaBarContainer)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.leftManaBarContainer);
	if (fi.rightLifeBarContainer)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.rightLifeBarContainer);
	if (fi.rightManaBarContainer)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.rightManaBarContainer);
	if (fi.leftManaBar && fi.leftMana > 0)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.leftManaBar);
	if (fi.rightManaBar && fi.rightMana > 0)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.rightManaBar);
	if (fi.leftLifeBar && fi.leftLife > 0)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.leftLifeBar);
	if (fi.rightLifeBar && fi.rightLife > 0)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.rightLifeBar);
	if (fi.leftCreature)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.leftCreature);
	if (fi.rightCreature)
		sfRenderWindow_DrawSprite(game.renderWindow, fi.rightCreature);

	if (fi.rightCreatureName)
		sfRenderWindow_DrawString(game.renderWindow, fi.rightCreatureName);
	if (fi.leftCreatureName)
		sfRenderWindow_DrawString(game.renderWindow, fi.leftCreatureName);
	if (fi.rightCreatureLevel)
		sfRenderWindow_DrawString(game.renderWindow, fi.rightCreatureLevel);
	if (fi.leftCreatureLevel)
		sfRenderWindow_DrawString(game.renderWindow, fi.leftCreatureLevel);

	if (fi.leftLifeBarText)
		sfRenderWindow_DrawString(game.renderWindow, fi.leftLifeBarText);
	if (fi.leftManaBarText)
		sfRenderWindow_DrawString(game.renderWindow, fi.leftManaBarText);
	if (fi.rightLifeBarText)
		sfRenderWindow_DrawString(game.renderWindow, fi.rightLifeBarText);
	if (fi.rightManaBarText)
		sfRenderWindow_DrawString(game.renderWindow, fi.rightManaBarText);
	
	DialogPanel_draw(game.dialogPanel, game.renderWindow);

	if (anythingSelection.running == 1)
		drawAnythingSelection();
	
	if (game.trophyBackground)
		sfRenderWindow_DrawSprite(game.renderWindow, game.trophyBackground);
	if (game.trophy)
		sfRenderWindow_DrawSprite(game.renderWindow, game.trophy);
	if (game.text)
		sfRenderWindow_DrawString(game.renderWindow, game.text);

	if (game.popupBackground != NULL)
		sfRenderWindow_DrawSprite(game.renderWindow, game.popupBackground);
	if (game.popupMessage != NULL)
		sfRenderWindow_DrawString(game.renderWindow, game.popupMessage);
	
	
	sfRenderWindow_Display(game.renderWindow);
	return Val_unit;
	
}