finally start on the rewrite
This commit is contained in:
parent
57ad9fd139
commit
fbedd77ed1
7 changed files with 98 additions and 0 deletions
15
dat.h
Normal file
15
dat.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
typedef struct Action Action;
|
||||
typedef struct Image Image;
|
||||
|
||||
struct Action {
|
||||
// step
|
||||
// click
|
||||
};
|
||||
|
||||
struct Image {
|
||||
char *name;
|
||||
int w, h, bpp;
|
||||
unsigned char *data;
|
||||
SDL_Surface *sur;
|
||||
SDL_Texture *tex;
|
||||
};
|
7
fns.h
Normal file
7
fns.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#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__)
|
||||
|
||||
void free_image(Image *i);
|
||||
int load_image(Image *i, SDL_Renderer *ren);
|
59
img.c
Normal file
59
img.c
Normal file
|
@ -0,0 +1,59 @@
|
|||
#define STB_IMAGE_IMPLEMENTATION
|
||||
#define STBI_MALLOC(sz) SDL_malloc(sz)
|
||||
#define STBI_REALLOC(p,newsz) SDL_realloc(p,newsz)
|
||||
#define STBI_FREE(p) SDL_free(p)
|
||||
#include <SDL3/SDL.h>
|
||||
#include "stb_image.h"
|
||||
|
||||
#include "dat.h"
|
||||
#include "fns.h"
|
||||
|
||||
void
|
||||
free_image(Image *i)
|
||||
{
|
||||
if (i->tex) {
|
||||
babble("destroying texture for image %s...", i->name);
|
||||
SDL_DestroyTexture(i->tex);
|
||||
}
|
||||
if (i->sur) {
|
||||
babble("destroying surface for image %s...", i->name);
|
||||
SDL_DestroySurface(i->sur);
|
||||
}
|
||||
if (i->data) {
|
||||
babble("destroying data for image %s...", i->name);
|
||||
stbi_image_free(i->data);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
load_image(Image *i, SDL_Renderer *ren)
|
||||
{
|
||||
babble("opening image %s...", i->name);
|
||||
i->data = stbi_load(i->name, &i->w, &i->h, &i->bpp, 4);
|
||||
if (!i->data) {
|
||||
shit("stbi_load: %s", stbi_failure_reason());
|
||||
goto err;
|
||||
}
|
||||
|
||||
babble("creating surface for image %s...", i->name);
|
||||
i->sur = SDL_CreateSurfaceFrom(i->w, i->h, SDL_PIXELFORMAT_RGBA32,
|
||||
i->data, i->w * 4);
|
||||
if (!i->sur) {
|
||||
shit("SDL_CreateSurfaceFrom: %s", SDL_GetError());
|
||||
goto err;
|
||||
}
|
||||
|
||||
babble("creating texture for image %s...", i->name);
|
||||
i->tex = SDL_CreateTextureFromSurface(ren, i->sur);
|
||||
if (!i->tex) {
|
||||
shit("SDL_CreateTextureFromSurface: %s", SDL_GetError());
|
||||
goto err;
|
||||
}
|
||||
|
||||
babble("created image %s!", i->name);
|
||||
return 0;
|
||||
|
||||
err:
|
||||
free_image(i);
|
||||
return -1;
|
||||
}
|
4
samply/act.c
Normal file
4
samply/act.c
Normal file
|
@ -0,0 +1,4 @@
|
|||
#include <SDL3/SDL.h>
|
||||
|
||||
#include "../dat.h"
|
||||
#include "samply.h"
|
7
samply/img.c
Normal file
7
samply/img.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include <SDL3/SDL.h>
|
||||
|
||||
#include "../dat.h"
|
||||
#include "samply.h"
|
||||
|
||||
struct Image samply_sprites[] = {
|
||||
};
|
6
samply/samply.h
Normal file
6
samply/samply.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
typedef struct Samply Samply;
|
||||
|
||||
struct Samply {
|
||||
};
|
||||
|
||||
extern Image samply_sprites[];
|
0
slutpet.c
Normal file
0
slutpet.c
Normal file
Loading…
Add table
Add a link
Reference in a new issue