world code
parent
0712851e3e
commit
88fa3cbb71
|
@ -10,4 +10,4 @@
|
||||||
int32_t world_gen(int32_t seed, uint8_t width, uint8_t height);
|
int32_t world_gen(int32_t seed, uint8_t width, uint8_t height);
|
||||||
int32_t world_destroy(void);
|
int32_t world_destroy(void);
|
||||||
|
|
||||||
uint32_t world_buf(uint8_t const **ptr);
|
uint32_t world_buf(uint8_t const **ptr, uint32_t *width);
|
||||||
|
|
|
@ -3,18 +3,32 @@
|
||||||
|
|
||||||
static uint8_t *world = NULL;
|
static uint8_t *world = NULL;
|
||||||
static uint32_t world_size = 0;
|
static uint32_t world_size = 0;
|
||||||
|
static uint32_t world_width = 0;
|
||||||
|
|
||||||
int32_t world_gen(int32_t seed, uint8_t width, uint8_t height) {
|
int32_t world_gen(int32_t seed, uint8_t width, uint8_t height) {
|
||||||
|
if (world) {
|
||||||
|
world_destroy();
|
||||||
|
}
|
||||||
|
world_size = width*height;
|
||||||
|
world_width = width;
|
||||||
|
world = zpl_malloc(sizeof(uint8_t)*world_size);
|
||||||
|
|
||||||
|
if (!world) {
|
||||||
|
return WORLD_ERROR_OUTOFMEM;
|
||||||
|
}
|
||||||
return WORLD_ERROR_NONE;
|
return WORLD_ERROR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t world_destroy(void) {
|
int32_t world_destroy(void) {
|
||||||
|
zpl_mfree(world);
|
||||||
|
world = NULL;
|
||||||
return WORLD_ERROR_NONE;
|
return WORLD_ERROR_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t world_buf(uint8_t const **ptr) {
|
uint32_t world_buf(uint8_t const **ptr, uint32_t *width) {
|
||||||
ZPL_ASSERT_NOT_NULL(world);
|
ZPL_ASSERT_NOT_NULL(world);
|
||||||
ZPL_ASSERT_NOT_NULL(ptr);
|
ZPL_ASSERT_NOT_NULL(ptr);
|
||||||
*ptr = world;
|
*ptr = world;
|
||||||
|
if (width) *width = world_width;
|
||||||
return world_size;
|
return world_size;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue