Compare commits

..

No commits in common. "aa95148fc985041a4abb1f2ee403520e6a34e7c4" and "d65a270aaba1b69619521c7d94859e46045e868f" have entirely different histories.

4 changed files with 8 additions and 29 deletions

1
dat.h
View file

@ -21,7 +21,6 @@ struct Image {
struct State { struct State {
SDL_Window *win; SDL_Window *win;
SDL_Renderer *ren; SDL_Renderer *ren;
Uint64 lastframe;
Samply *sam; Samply *sam;
}; };

9
readme
View file

@ -8,12 +8,3 @@ i want people to be able to create their own pets without having to
figure out how to recompile. figure out how to recompile.
run it with `SDL_LOGGING=app=debug ./slutpet` for verbose logging run it with `SDL_LOGGING=app=debug ./slutpet` for verbose logging
file layout:
dat.h - data structure header
fns.h - functions and macros header
slutpet.c - sdl init and close
img.c - loading images
samply.c - pet Samply

View file

@ -13,9 +13,10 @@ put_samply_to_bed(Samply *sam)
free_image(sam->walka); free_image(sam->walka);
babble("free samply walk b!!"); babble("free samply walk b!!");
free_image(sam->walkb); free_image(sam->walkb);
babble("good night, samply!!");
SDL_free(sam);
} }
babble("good night, samply!!");
SDL_free(sam);
} }
Samply * Samply *
@ -33,7 +34,7 @@ wake_samply_up(SDL_Renderer *ren)
babble("stand samply up!!"); babble("stand samply up!!");
sam->idle = load_image(ren, "samply/Samply.png"); sam->idle = load_image(ren, "samply/Samply.png");
if (!sam->idle) { if (!sam->idle) {
fuck("samply would rather stay in bed. too bad!"); fuck("samply would rather stay in bed. too bad! %s", SDL_GetError());
put_samply_to_bed(sam); put_samply_to_bed(sam);
return NULL; return NULL;
} }
@ -41,7 +42,7 @@ wake_samply_up(SDL_Renderer *ren)
babble("samply walk! part 1!!"); babble("samply walk! part 1!!");
sam->walka = load_image(ren, "samply/Samply_Walk1.png"); sam->walka = load_image(ren, "samply/Samply_Walk1.png");
if (!sam->walka) { if (!sam->walka) {
fuck("samply would rather stay in bed. too bad!"); fuck("samply would rather stay in bed. too bad! %s", SDL_GetError());
put_samply_to_bed(sam); put_samply_to_bed(sam);
return NULL; return NULL;
} }
@ -49,7 +50,7 @@ wake_samply_up(SDL_Renderer *ren)
babble("samply walk! part 2!!"); babble("samply walk! part 2!!");
sam->walkb = load_image(ren, "samply/Samply_Walk2.png"); sam->walkb = load_image(ren, "samply/Samply_Walk2.png");
if (!sam->walkb) { if (!sam->walkb) {
fuck("samply would rather stay in bed. too bad!"); fuck("samply would rather stay in bed. too bad! %s", SDL_GetError());
put_samply_to_bed(sam); put_samply_to_bed(sam);
return NULL; return NULL;
} }

View file

@ -47,24 +47,15 @@ SDL_AppResult
SDL_AppIterate(void *as) SDL_AppIterate(void *as)
{ {
State *st = as; State *st = as;
SDL_Texture *tx;
Uint64 ms;
SDL_SetRenderDrawColor(st->ren, 0, 0, 0, SDL_ALPHA_TRANSPARENT); SDL_SetRenderDrawColor(st->ren, 0, 0, 0, SDL_ALPHA_TRANSPARENT);
SDL_RenderClear(st->ren); SDL_RenderClear(st->ren);
ms = SDL_GetTicks(); if (SDL_RenderTexture(st->ren, st->sam->idle->tex, NULL, NULL) == false) {
if ((ms / 100) % 2)
tx = st->sam->walka->tex;
else
tx = st->sam->walkb->tex;
if (SDL_RenderTexture(st->ren, tx, NULL, NULL) == false) {
fuck("rendertexture fail: %s", SDL_GetError()); fuck("rendertexture fail: %s", SDL_GetError());
return SDL_APP_FAILURE; return SDL_APP_FAILURE;
} }
SDL_RenderPresent(st->ren); SDL_RenderPresent(st->ren);
st->lastframe = SDL_GetTicks();
return SDL_APP_CONTINUE; return SDL_APP_CONTINUE;
} }
@ -89,10 +80,8 @@ SDL_AppInit(void **as, int argc, char **argv)
SDL_SetHint(SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT, "1"); SDL_SetHint(SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT, "1");
st->lastframe = SDL_GetTicks();
babble("create win+render..."); babble("create win+render...");
if (!SDL_CreateWindowAndRenderer("slutpet", 320, 320, if (!SDL_CreateWindowAndRenderer("slutpet", 320, 240,
SDL_WINDOW_TRANSPARENT | SDL_WINDOW_BORDERLESS SDL_WINDOW_TRANSPARENT | SDL_WINDOW_BORDERLESS
| SDL_WINDOW_NOT_FOCUSABLE | SDL_WINDOW_NOT_FOCUSABLE
| SDL_WINDOW_ALWAYS_ON_TOP, | SDL_WINDOW_ALWAYS_ON_TOP,
@ -109,6 +98,5 @@ SDL_AppInit(void **as, int argc, char **argv)
} }
babble("hi!!"); babble("hi!!");
babble("program startup took %llums!", SDL_GetTicks());
return SDL_APP_CONTINUE; return SDL_APP_CONTINUE;
} }