INNER CODE UNIT · C
_a_layer_remove
tek256/astera · src/audio.c:232
static uint8_t _a_layer_remove(a_layer* layer, uint32_t id, uint8_t is_sfx) {
if (!layer) {
return 0;
}
uint8_t start = 0;
if (is_sfx) {
if (layer->sfx_count == 0) {
return 0;
}
for (uint16_t i = 0; i < layer->sfx_capacity - 1; ++i) {
if (layer->sfx[i] == id) {
start = 1;
}
if (start) {
layer->sfx[i] = layer->sfx[i + 1];