Blame demo/src/main.c

Ivan Mahonin 3f9996
Ivan Mahonin 833ed7
#include <helianthus.h>
Ivan Mahonin 3f9996
Ivan Mahonin 28a314
#include "common.h"
Ivan Mahonin 59dae5
#include "phisics.h"
Ivan Mahonin 59dae5
#include "sprites.h"
Ivan Mahonin b9c036
#include "font.h"
Ivan Mahonin ba9f06
#include "drawing.h"
Ivan Mahonin 1d641c
#include "framebuffer.h"
Ivan Mahonin b4b587
#include "benchmark.h"
Ivan Mahonin b4b587
Ivan Mahonin b4b587
Ivan Mahonin b4b587
static int benchmark = FALSE;
Ivan Mahonin 981405
Ivan Mahonin a2530e
Ivan Mahonin 59dae5
void init() {
Ivan Mahonin 28a314
	commonInit();
Ivan Mahonin 59dae5
	phisicsInit();
Ivan Mahonin 59dae5
	spritesInit();
Ivan Mahonin b9c036
	fontInit();
Ivan Mahonin ba9f06
	drawingInit();
Ivan Mahonin 1d641c
	framebufferInit();
Ivan Mahonin b4b587
	benchmarkInit();
Ivan Mahonin 3f9996
}
Ivan Mahonin 3f9996
Ivan Mahonin 3f9996
void draw() {
Ivan Mahonin b4b587
	if (benchmark) {
Ivan Mahonin b4b587
		benchmarkDraw();
Ivan Mahonin b4b587
	} else {
Ivan Mahonin b4b587
		commonDraw();
Ivan Mahonin b4b587
		framebufferDraw();
Ivan Mahonin b4b587
		drawingDraw();
Ivan Mahonin b4b587
		phisicsDraw();
Ivan Mahonin b4b587
		spritesDraw();
Ivan Mahonin b4b587
		fontDraw();
Ivan Mahonin b4b587
		
Ivan Mahonin b4b587
		drawSprites();
Ivan Mahonin b4b587
		saveState();
Ivan Mahonin b4b587
		stroke(colorByName("red"));
Ivan Mahonin b4b587
		strokeWidth(20);
Ivan Mahonin b4b587
		point(mouseX(), mouseY());
Ivan Mahonin b4b587
		restoreState();
Ivan Mahonin b4b587
	}
Ivan Mahonin 1d641c
	
Ivan Mahonin b4b587
	if (keyWentDown("p")) {
Ivan Mahonin 1d641c
		viewportSave("screenshot.png");
Ivan Mahonin 1d641c
		messageBox("screenshot saved to file: screenshot.png");
Ivan Mahonin 1d641c
	}
Ivan Mahonin b4b587
	
Ivan Mahonin b4b587
	if (keyWentDown("b"))
Ivan Mahonin b4b587
		benchmark = !benchmark;
Ivan Mahonin 3f9996
}
Ivan Mahonin 3f9996
Ivan Mahonin 3f9996
int main() {
Ivan Mahonin d7d433
	windowSetSize(1024, 512);
Ivan Mahonin d7d433
	windowSetResizable(TRUE);
Ivan Mahonin d7d433
	windowSetVariableFrameRate();
Ivan Mahonin 8bc1f1
	
Ivan Mahonin d7d433
	windowSetInit(&init);
Ivan Mahonin d7d433
	windowSetDraw(&draw);
Ivan Mahonin 8bc1f1
	
Ivan Mahonin d7d433
	windowRun();
Ivan Mahonin 8bc1f1
	
Ivan Mahonin a2530e
	return 0;
Ivan Mahonin 3f9996
}