diff --git a/fns.h b/fns.h new file mode 100644 index 0000000..75806f5 --- /dev/null +++ b/fns.h @@ -0,0 +1,4 @@ +#define babble(...) SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, __VA_ARGS__) +#define info(...) SDL_Log(__VA_ARGS__) +#define shit(...) SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, __VA_ARGS__) +#define fuck(...) SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, __VA_ARGS__) diff --git a/readme b/readme index 3857b77..09f31cc 100644 --- a/readme +++ b/readme @@ -6,3 +6,5 @@ i have not tried cross-compiling to windows yet. i think it's probably best to use some sort of extension language. i want people to be able to create their own pets without having to figure out how to recompile. + +run it with `SDL_LOGGING=app=debug ./slutpet` for verbose logging diff --git a/slutpet.c b/slutpet.c index 49eeca8..e733c20 100644 --- a/slutpet.c +++ b/slutpet.c @@ -4,6 +4,7 @@ #include #include "stb_image.h" +#include "fns.h" #include "dat.h" void @@ -15,21 +16,21 @@ SDL_AppQuit(void *as, SDL_AppResult res) if (st) { if (st->test) { if (st->test->tex) { - SDL_Log("free test texture..."); + babble("free test texture..."); SDL_DestroyTexture(st->test->tex); } if (st->test->data) { - SDL_Log("free test img data..."); + babble("free test img data..."); SDL_free(st->test->data); } - SDL_Log("free test img..."); + babble("free test img..."); SDL_free(st->test); } - SDL_Log("free state..."); + babble("free state..."); SDL_free(st); } - SDL_Log("bye!"); + babble("bye!"); return; } @@ -38,7 +39,7 @@ SDL_AppEvent(void *as, SDL_Event *ev) { switch (ev->type) { case SDL_EVENT_QUIT: - SDL_Log("quit requested"); + babble("quit requested"); return SDL_APP_SUCCESS; break; /* unreachable; here for visual symmetry */ } @@ -65,46 +66,41 @@ SDL_AppInit(void **as, int argc, char **argv) State *st; SDL_Surface *sur; - SDL_Log("init sdl..."); + babble("init sdl..."); if (!SDL_Init(SDL_INIT_VIDEO)) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "sdl init fail: %s", SDL_GetError()); + fuck("sdl init fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } - SDL_Log("alloc state..."); + babble("alloc state..."); st = SDL_calloc(1, sizeof(State)); if (!st) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "mem alloc fail: %s", SDL_GetError()); + fuck("mem alloc fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } *as = st; - SDL_Log("create win+render..."); + babble("create win+render..."); if (!SDL_CreateWindowAndRenderer("slutpet", 320, 240, SDL_WINDOW_TRANSPARENT | SDL_WINDOW_BORDERLESS | SDL_WINDOW_NOT_FOCUSABLE | SDL_WINDOW_ALWAYS_ON_TOP, &st->win, &st->ren)) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "win creation fail: %s", SDL_GetError()); + fuck("win creation fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } - SDL_Log("create test image..."); + babble("create test image..."); st->test = SDL_calloc(1, sizeof(Image)); if (!st->test) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "mem alloc fail: %s", SDL_GetError()); + fuck("mem alloc fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } st->test->data = stbi_load("test.png", &st->test->w, &st->test->h, &st->test->bpp, 4); if (!st->test->data) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "mem alloc fail: %s", SDL_GetError()); + fuck("mem alloc fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } @@ -112,19 +108,17 @@ SDL_AppInit(void **as, int argc, char **argv) SDL_PIXELFORMAT_RGBA32, st->test->data, st->test->w * 4); if (!sur) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "surface creation fail: %s", SDL_GetError()); + fuck("surface creation fail: %s", SDL_GetError()); return SDL_APP_FAILURE; } st->test->tex = SDL_CreateTextureFromSurface(st->ren, sur); if (!st->test->tex) { - SDL_LogCritical(SDL_LOG_CATEGORY_APPLICATION, - "surface creation fail: %s", SDL_GetError()); + fuck("surface creation fail: %s", SDL_GetError()); SDL_DestroySurface(sur); return SDL_APP_FAILURE; } - SDL_Log("it work"); + babble("hi!!"); return SDL_APP_CONTINUE; }