- core/: main entry, types, logging, I/O, RNG - asset/: ase loader, cart, save, embed - gfx/: graphics, animation, atlas, fonts, tilemap, transitions - sfx/: audio - script/: lua/fennel runtime, REPL - hal/: platform abstraction (SDL3) - world/: BSP, world, procedural gen - math/: math utilities - game/: GUI, replay - lua/: Lua API modules
45 lines
822 B
C
45 lines
822 B
C
#pragma once
|
|
|
|
#include "pxl8_bsp.h"
|
|
#include "pxl8_types.h"
|
|
|
|
typedef enum pxl8_procgen_type {
|
|
PXL8_PROCGEN_ROOMS,
|
|
PXL8_PROCGEN_TERRAIN
|
|
} pxl8_procgen_type;
|
|
|
|
typedef struct pxl8_procgen_params {
|
|
pxl8_procgen_type type;
|
|
|
|
i32 width;
|
|
i32 height;
|
|
i32 depth;
|
|
u32 seed;
|
|
|
|
i32 min_room_size;
|
|
i32 max_room_size;
|
|
i32 num_rooms;
|
|
} pxl8_procgen_params;
|
|
|
|
typedef struct pxl8_procgen_tex_params {
|
|
char name[16];
|
|
u32 seed;
|
|
i32 width;
|
|
i32 height;
|
|
f32 scale;
|
|
f32 roughness;
|
|
u8 base_color;
|
|
u8 variation;
|
|
u8 max_color;
|
|
} pxl8_procgen_tex_params;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
pxl8_result pxl8_procgen(pxl8_bsp* bsp, const pxl8_procgen_params* params);
|
|
void pxl8_procgen_tex(u8* buffer, const pxl8_procgen_tex_params* params);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|