~rabbits/orca-toy

56f28744353be872cb1b3484e524039672b45c0a — neauoire 2 years ago d11d3f9
Starting speed controls
1 files changed, 19 insertions(+), 13 deletions(-)

M orca.c
M orca.c => orca.c +19 -13
@@ 41,7 41,7 @@ Grid g;

int WIDTH = 8 * HOR + PAD * 2;
int HEIGHT = 8 * (VER + 2) + PAD * 2;
int FPS = 30, DOWN = 0, ZOOM = 2, PAUSE = 0;
int BPM = 128, DOWN = 0, ZOOM = 2, PAUSE = 0;

Uint32 theme[] = {
	0x000000,


@@ 371,6 371,14 @@ modzoom(int mod)
}

void
modbpm(int mod)
{
	BPM += mod;
	printf("BPM: %d\n", BPM);
	redraw(pixels);
}

void
setplay(int val)
{
	PAUSE = val;


@@ 527,6 535,8 @@ dokey(SDL_Event *event)
	int shift = SDL_GetModState() & KMOD_LSHIFT || SDL_GetModState() & KMOD_RSHIFT;
	int ctrl = SDL_GetModState() & KMOD_LCTRL || SDL_GetModState() & KMOD_RCTRL;
	switch(event->key.keysym.sym) {
	case SDLK_PAGEUP: modbpm(1); break;
	case SDLK_PAGEDOWN: modbpm(-1); break;
	case SDLK_EQUALS:
	case SDLK_PLUS: modzoom(1); break;
	case SDLK_UNDERSCORE:


@@ 647,8 657,7 @@ init(void)
int
main(int argc, char *argv[])
{
	int ticknext = 0, tickrun = 0;

	Uint8 tick = 0;
	if(!init())
		return error("Init", "Failure");



@@ 662,18 671,15 @@ main(int argc, char *argv[])
	select(0, 0, 1, 1);

	while(1) {
		int tick = SDL_GetTicks();
		SDL_Event event;
		if(tick < ticknext)
			SDL_Delay(ticknext - tick);
		ticknext = tick + (1000 / FPS);

		if(!PAUSE && tickrun >= 8) {
			frame();
			tickrun = 0;
		if(!PAUSE) {
			if(tick > 3) {
				frame();
				tick = 0;
			} else
				tick++;
		}
		tickrun++;

		SDL_Delay(60000 / BPM / 16);
		while(SDL_PollEvent(&event) != 0) {
			if(event.type == SDL_QUIT)
				quit();