tilesets now have a 1x1 square as a collision box & implemented tiledef_get_shape

This commit is contained in:
Sara 2023-10-08 23:08:09 +02:00
parent 6bb5fe7837
commit 9783774a7b
2 changed files with 8 additions and 2 deletions

View file

@ -3,7 +3,6 @@
#include "spritesheet.h"
#include "assets.h"
#include "render.h"
#include "shape.h"
#include "SDL2/SDL_image.h"
struct TileDef {
@ -120,7 +119,8 @@ Tileset* tileset_from_json(cJSON* json) {
for(size_t tid = 0; tid < self->tiledefs_len; ++tid) {
self->tiledefs[tid] = (TileDef) {
.tid = tid,
.sprite = sprite_from_spritesheet(self->atlas, tid)
.sprite = sprite_from_spritesheet(self->atlas, tid),
.collision = shape_new_square(OneVector)
};
// TODO: generate/read collision information
}
@ -168,4 +168,8 @@ TileDef* tileset_get_tiledef(Tileset* self, size_t t) {
Sprite* tiledef_get_sprite(const TileDef* self) {
return self->sprite;
}
Shape* tiledef_get_shape(TileDef* self) {
return self->collision;
}

View file

@ -3,6 +3,7 @@
#include "cjson/cJSON.h"
#include "sprite.h"
#include "shape.h"
typedef struct TileDef TileDef;
typedef struct Tileset Tileset;
@ -13,5 +14,6 @@ extern TileDef* tileset_get_tiledef(Tileset* self, size_t t);
extern void tileset_destroy(Tileset* self);
extern Sprite* tiledef_get_sprite(const TileDef* self);
extern Shape* tiledef_get_shape(TileDef* self);
#endif // !_fencer_tileset_h