From f2ab9f3f0d5fe1ad19881b7dba79b31e3673748a Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 22 Jun 2009 17:52:37 -0400 Subject: Added tick delay --- Makefile | 15 ++++++++------- mazeoflife.cpp | 14 ++++++++++---- mazeoflife.h | 2 ++ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 4face93..e44f590 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,15 @@ PROJECT = mazeoflife LTARGET = build/$(PROJECT) WTARGET = build/$(PROJECT).exe -CC = g++ -WINCC = i586-mingw32msvc-g++ +CC = g++ +WINCC = i586-mingw32msvc-g++ WINDRES = i586-mingw32msvc-windres FILES = $(addprefix build/,$(wildcard *.cpp)) +HEADERS = $(wildcard *.h) MODULES = $(patsubst %.cpp,%,$(FILES)) SOURCES = $(addsuffix .o,$(MODULES)) WINSRC = $(addsuffix win,$(SOURCES)) -IMAGES = $(wildcard *.bmp) +IMAGES = $(wildcard *.bmp) CIMAGES = $(addprefix build/,$(IMAGES:.bmp=.bmp.o)) LINCCFL = `sdl-config --cflags` LINLDFL = `sdl-config --libs` @@ -28,14 +29,14 @@ clean: $(LTARGET): $(SOURCES) $(CIMAGES) $(CC) $(SOURCES) $(CIMAGES) -o $(LTARGET) $(LINLDFL) -$(SOURCES): build/%.o: %.cpp - $(CC) -c $? -o $@ $(LINCCFL) +$(SOURCES): build/%.o: %.cpp $(HEADERS) + $(CC) -c $< -o $@ $(LINCCFL) $(WTARGET): $(WINSRC) $(CIMAGES) build/winres.o $(WINCC) $(WINSRC) $(CIMAGES) build/winres.o -o $(WTARGET) $(WINLDFL) -$(WINSRC): build/%.owin: %.cpp - $(WINCC) -c $? -o $@ $(WINCCFL) +$(WINSRC): build/%.owin: %.cpp $(HEADERS) + $(WINCC) -c $< -o $@ $(WINCCFL) build/winres.o: winres.rc $(WINDRES) $? $@ diff --git a/mazeoflife.cpp b/mazeoflife.cpp index ba5faa9..0dbca55 100644 --- a/mazeoflife.cpp +++ b/mazeoflife.cpp @@ -7,8 +7,7 @@ int main(int argc, char *argv[]) { srand(time(NULL)); - /* Initialize defaults, Video and Audio */ - if((SDL_Init(SDL_INIT_VIDEO)==-1)) { + if((SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER)==-1)) { printf("Could not initialize SDL: %s.\n", SDL_GetError()); exit(-1); } @@ -36,11 +35,11 @@ int main(int argc, char *argv[]) state = new TitleState(); + SDL_AddTimer(TICKDELAY, *tick, NULL); + SDL_Event anEvent; for (;;) { - state->tick(); - while (SDL_PollEvent(&anEvent)) { switch (anEvent.type) @@ -90,3 +89,10 @@ void changeState(State* nState) { state = nState; } + +Uint32 tick(Uint32 interval, void *param) +{ + state->tick(); + + return interval; +} diff --git a/mazeoflife.h b/mazeoflife.h index d81c3ea..1f43214 100644 --- a/mazeoflife.h +++ b/mazeoflife.h @@ -3,9 +3,11 @@ const int WIDTH = 30; const int HEIGHT = 30; +const int TICKDELAY = 10; void wrap(int* x, int* y); Uint32 getColor(int r, int g, int b); void changeState(State* nState); +Uint32 tick(Uint32 interval, void *param); #endif -- cgit 1.4.1