4b0388a0e1
- Allow 2 chunks to be mid-load concurrently instead of 1 (MAP_CHUNK_LOAD_CONCURRENCY). - Fix entitySetChunk silently losing track of an entity when its target chunk's entity slots are full - it now stays detached (and retries later) instead of claiming a chunk that never actually registered it. - DCF format bumped to v5: chunks can now declare entity spawns (global/NPC via the existing entityglobal registry, or one-shot item pickups) and map area triggers, resolved via a new callback-ID registry (mapareagloballist.h) mirroring the entity one. rpg.c's hardcoded TEST entity/item/area spawns are gone - chunk_0_0_0.json now carries that data instead. The player is still bootstrapped in code since it isn't map-authored content.
18 lines
369 B
C
18 lines
369 B
C
/**
|
|
* Copyright (c) 2026 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include "rpg/overworld/maparea.h"
|
|
|
|
#define MAP_AREA_CALLBACK(id) \
|
|
static void MAP_AREA_CALLBACK_##id(entity_t *entity, const uint8_t trigger)
|
|
|
|
#define MAP_AREA_CALLBACK_REF(id) \
|
|
MAP_AREA_CALLBACK_##id
|
|
|
|
//EOF
|