code: basic asset descriptions
parent
872273c42b
commit
de5554cecc
|
@ -30,6 +30,9 @@ add_library(client-common STATIC
|
||||||
|
|
||||||
../../common/signal_handling.c
|
../../common/signal_handling.c
|
||||||
../../common/signal_handling.h
|
../../common/signal_handling.h
|
||||||
|
|
||||||
|
../../common/assets.h
|
||||||
|
../../common/assets.c
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(eco2d-client
|
add_executable(eco2d-client
|
||||||
|
|
|
@ -29,6 +29,9 @@ add_executable(eco2d-server
|
||||||
|
|
||||||
../../common/signal_handling.c
|
../../common/signal_handling.c
|
||||||
../../common/signal_handling.h
|
../../common/signal_handling.h
|
||||||
|
|
||||||
|
../../common/assets.h
|
||||||
|
../../common/assets.c
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(eco2d-server header)
|
include_directories(eco2d-server header)
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
#include "flecs/flecs.h"
|
#include "flecs/flecs.h"
|
||||||
#include "flecs/flecs_meta.h"
|
#include "flecs/flecs_meta.h"
|
||||||
|
|
||||||
|
#include "assets.h"
|
||||||
|
|
||||||
ECS_STRUCT(Vector2D, {
|
ECS_STRUCT(Vector2D, {
|
||||||
int16_t x;
|
int16_t x;
|
||||||
int16_t y;
|
int16_t y;
|
||||||
});
|
});
|
||||||
|
|
||||||
ECS_STRUCT(Drawable, {
|
ECS_STRUCT(Drawable, {
|
||||||
char filename[80];
|
uint16_t id;
|
||||||
});
|
});
|
||||||
|
|
||||||
typedef Vector2D Chunk;
|
typedef Vector2D Chunk;
|
||||||
|
|
|
@ -136,7 +136,7 @@ uint64_t network_client_create(uint16_t peer_id) {
|
||||||
ecs_entity_t e = ecs_new(world_ecs(), Player);
|
ecs_entity_t e = ecs_new(world_ecs(), Player);
|
||||||
ecs_add(world_ecs(), e, EcsClient);
|
ecs_add(world_ecs(), e, EcsClient);
|
||||||
ecs_set(world_ecs(), e, ClientInfo, {peer_id});
|
ecs_set(world_ecs(), e, ClientInfo, {peer_id});
|
||||||
ecs_set(world_ecs(), e, Drawable, {"player.png"});
|
ecs_set(world_ecs(), e, Drawable, {ASSET_PLAYER});
|
||||||
|
|
||||||
librg_entity_track(world_tracker(), e);
|
librg_entity_track(world_tracker(), e);
|
||||||
librg_entity_owner_set(world_tracker(), e, peer_id);
|
librg_entity_owner_set(world_tracker(), e, peer_id);
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#include "assets.h"
|
||||||
|
|
||||||
|
asset_info assets[] = {
|
||||||
|
{.id = ASSET_PLAYER, .kind = ASSET_KIND_IMAGE, .filename = "player.png"}
|
||||||
|
};
|
|
@ -0,0 +1,21 @@
|
||||||
|
#pragma once
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint16_t id;
|
||||||
|
uint8_t kind;
|
||||||
|
char* filename;
|
||||||
|
} asset_info;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ASSET_KIND_IMAGE,
|
||||||
|
ASSET_KIND_SOUND,
|
||||||
|
ASSET_KIND_FORCE_8 = UINT8_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ASSET_PLAYER,
|
||||||
|
ASSET_FORCE_16 = UINT16_MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
extern asset_info assets[];
|
Loading…
Reference in New Issue