#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