diff --git a/Makefile b/Makefile index ad7965e..377ac21 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ PREFIX ?= /usr/local CFLAGS := $(CFLAGS) `pkg-config --cflags --libs sdl3` LDFLAGS := $(LDFLAGS) -lm -SRCS = slutpet.c img.c samply.c sdl.c +SRCS = slutpet.c img.c samply.c all: slutpet diff --git a/dat.h b/dat.h index 89a4580..4254bd2 100644 --- a/dat.h +++ b/dat.h @@ -3,8 +3,6 @@ typedef struct Image Image; typedef struct State State; struct Samply { - Image *tx; /* this is a pointer to one of the images below */ - Image *idle; Image *walka; Image *walkb; @@ -23,8 +21,6 @@ struct Image { struct State { SDL_Window *win; SDL_Renderer *ren; - SDL_DisplayID dpy; - SDL_Rect bounds; Uint64 lastframe; Samply *sam; diff --git a/fns.h b/fns.h index 30ce072..6e26cb6 100644 --- a/fns.h +++ b/fns.h @@ -6,8 +6,5 @@ void free_image(Image *i); Image *load_image(SDL_Renderer *ren, char *path); -int samply_step(State *st); void put_samply_to_bed(Samply *sam); -Samply *wake_samply_up(State *st); - -int in_bounds(Image *i, int x, int y, SDL_Rect *bounds); +Samply *wake_samply_up(SDL_Renderer *ren); diff --git a/samply.c b/samply.c index 7731785..a82bd31 100644 --- a/samply.c +++ b/samply.c @@ -3,46 +3,6 @@ #include "dat.h" #include "fns.h" -int -samply_step(State *st) -{ - Uint64 ms; - int x, y; - - if (SDL_GetWindowPosition(st->win, &x, &y) == false) { - shit("window pos query fail: %s", SDL_GetError()); - goto render_it; - } - - ms = SDL_GetTicks(); - if ((ms / 100) % 2) { - babble("anim walka"); - st->sam->tx = st->sam->walka; - } else { - babble("anim walkb"); - st->sam->tx = st->sam->walkb; - } - - x++; - babble("bounds %d %d %d %d", st->bounds.x, st->bounds.y, - st->bounds.w, st->bounds.h); - babble("img %d %d %d %d", x, y, st->sam->tx->w, st->sam->tx->h); - // if (in_bounds(st->sam->tx, x, y, &st->bounds) == false) { - if (st->bounds.w - st->sam->tx->w < x) { - st->sam->tx = st->sam->idle; - x = st->bounds.w - st->sam->tx->w; - babble("*bonk*"); - } - if (SDL_SetWindowPosition(st->win, x, y) == false) - shit("window pos set fail: %s", SDL_GetError()); - -render_it: - if (SDL_RenderTexture(st->ren, st->sam->tx->tex, NULL, NULL) == false) { - fuck("rendertexture fail: %s", SDL_GetError()); - return -1; - } -} - void put_samply_to_bed(Samply *sam) { @@ -59,7 +19,7 @@ put_samply_to_bed(Samply *sam) } Samply * -wake_samply_up(State *st) +wake_samply_up(SDL_Renderer *ren) { Samply *sam; @@ -71,7 +31,7 @@ wake_samply_up(State *st) } babble("stand samply up!!"); - sam->idle = load_image(st->ren, "samply/Samply.png"); + sam->idle = load_image(ren, "samply/Samply.png"); if (!sam->idle) { fuck("samply would rather stay in bed. too bad!"); put_samply_to_bed(sam); @@ -79,7 +39,7 @@ wake_samply_up(State *st) } babble("samply walk! part 1!!"); - sam->walka = load_image(st->ren, "samply/Samply_Walk1.png"); + sam->walka = load_image(ren, "samply/Samply_Walk1.png"); if (!sam->walka) { fuck("samply would rather stay in bed. too bad!"); put_samply_to_bed(sam); @@ -87,14 +47,12 @@ wake_samply_up(State *st) } babble("samply walk! part 2!!"); - sam->walkb = load_image(st->ren, "samply/Samply_Walk2.png"); + sam->walkb = load_image(ren, "samply/Samply_Walk2.png"); if (!sam->walkb) { fuck("samply would rather stay in bed. too bad!"); put_samply_to_bed(sam); return NULL; } - sam->tx = sam->idle; - return sam; } diff --git a/sdl.c b/sdl.c deleted file mode 100644 index 90f23b0..0000000 --- a/sdl.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -#include "dat.h" -#include "fns.h" - -int -in_bounds(Image *i, int x, int y, SDL_Rect *bounds) -{ - SDL_Rect r; - SDL_Rect irect = { x, y, i->w, i->h }; - - if (SDL_GetRectUnion(&irect, bounds, &r) == false) { - shit("rect union math fail: %s", SDL_GetError()); - return false; - } - return SDL_RectsEqual(&irect, &r); -} diff --git a/slutpet.c b/slutpet.c index a735780..883cd73 100644 --- a/slutpet.c +++ b/slutpet.c @@ -53,12 +53,18 @@ SDL_AppIterate(void *as) SDL_SetRenderDrawColor(st->ren, 0, 0, 0, SDL_ALPHA_TRANSPARENT); SDL_RenderClear(st->ren); - if (samply_step(st) < 0) - return SDL_APP_FAILURE; + ms = SDL_GetTicks(); + 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()); + return SDL_APP_FAILURE; + } SDL_RenderPresent(st->ren); st->lastframe = SDL_GetTicks(); - return SDL_APP_CONTINUE; } @@ -95,22 +101,8 @@ SDL_AppInit(void **as, int argc, char **argv) return SDL_APP_FAILURE; } - if (SDL_EnableScreenSaver() == false) - shit("cannot disable screensaver: %s", SDL_GetError()); - - st->dpy = SDL_GetDisplayForWindow(st->win); - if (!st->dpy) { - fuck("cannot get current display: %s", SDL_GetError()); - return SDL_APP_FAILURE; - } - - if (SDL_GetDisplayBounds(st->dpy, &st->bounds) == false) { - fuck("cannot get display bounds: %s", SDL_GetError()); - return SDL_APP_FAILURE; - } - babble("create samply!!..."); - st->sam = wake_samply_up(st); + st->sam = wake_samply_up(st->ren); if (!st->sam) { fuck("samply said no. too bad!"); return SDL_APP_FAILURE;