LDKProjectCreateDesc
typedef struct LDKProjectCreateDesc{
const char *project_name;
const char *project_root_path;
const char *cmake_generator;
const char *cmake_arch;
}LDKProjectCreateDesc;
Editor-side LDK project descriptor utilities.
LDKProject represents the development-time project manifest. It is not a runtime concept. Runtime code should consume only runtree/game.ini.
typedef struct LDKProjectCreateDesc{
const char *project_name;
const char *project_root_path;
const char *cmake_generator;
const char *cmake_arch;
}LDKProjectCreateDesc;
typedef struct LDKProjectBuildDesc{
const char *cmake_path;
const char *ldk_root_path;
const char *config;
bool new_console;
}LDKProjectBuildDesc;
typedef struct LDKProject{
bool loaded;
bool play_current_scene;
bool build_on_play;
XSmallstr name;
XSmallstr game_name;
XSmallstr build_config;
XSmallstr cmake_generator;
XSmallstr cmake_arch;
XFSPath icon_path;
XFSPath assets_path;
XFSPath cache_path;
XFSPath cmake_root_path;
XFSPath game_cmake_path;
XFSPath game_dll_path;
XFSPath project_file_path;
XFSPath project_root_path;
XFSPath run_root_path;
XFSPath runtime_ini_path;
XFSPath source_root_path;
i32 project_resolution_width;
i32 project_resolution_height;
u32 shadow_map_resolution;
float shadow_distance;
}LDKProject;
Callback for reporting a project diagnostic.
typedef void(*LDKProjectDiagnosticFn)(const char *message, void *user);
messageuserSet the project diagnostic handler.
LDK_API void ldk_project_diagnostic_handler_set(
LDKProjectDiagnosticFn handler,
void *user
);
LDKProjectDiagnosticFn handlervoid *userCreate the project.
LDK_API bool ldk_project_create(const LDKProjectCreateDesc *desc);
const LDKProjectCreateDesc *descTrue if the operation succeeds; false otherwise.
Load the project.
LDK_API bool ldk_project_load(
LDKProject *project,
const char *project_file_path
);
LDKProject *projectconst char *project_file_pathTrue if the operation succeeds; false otherwise.
Unload the project.
LDK_API void ldk_project_unload(LDKProject *project);
LDKProject *projectSave the project.
LDK_API bool ldk_project_save(LDKProject *project);
LDKProject *projectTrue if the operation succeeds; false otherwise.
Write project runtime INI.
LDK_API bool ldk_project_write_runtime_ini(const LDKProject *project);
const LDKProject *projectTrue if the operation succeeds; false otherwise.
Replace only [scenes] and export public sections. No ECS operations.
LDK_API bool ldk_project_scene_catalog_save(
const LDKProject *project,
const LDKScene *scenes,
u32 count,
LDKSceneResult *result
);
const LDKProject *projectconst LDKScene *scenesu32 countLDKSceneResult *resultTrue if the operation succeeds; false otherwise.
Generate build files for a game module.
LDK_API bool ldk_project_generate_game_module(
const LDKProject *project,
const LDKProjectBuildDesc *desc
);
const LDKProject *projectconst LDKProjectBuildDesc *descTrue if the operation succeeds; false otherwise.
Build the project game module.
LDK_API bool ldk_project_build_game_module(
const LDKProject *project,
const LDKProjectBuildDesc *desc
);
const LDKProject *projectconst LDKProjectBuildDesc *descTrue if the operation succeeds; false otherwise.
Generate build files for the standalone game launcher.
LDK_API bool ldk_project_generate_game_launcher(
const LDKProject *project,
const LDKProjectBuildDesc *desc
);
const LDKProject *projectconst LDKProjectBuildDesc *descTrue if the operation succeeds; false otherwise.
Build the standalone game launcher.
LDK_API bool ldk_project_build_game_launcher(
const LDKProject *project,
const LDKProjectBuildDesc *desc
);
const LDKProject *projectconst LDKProjectBuildDesc *descTrue if the operation succeeds; false otherwise.
Start the project generate game module.
LDK_API LDKOSProcess * ldk_project_generate_game_module_start(
const LDKProject *project,
const LDKProjectBuildDesc *desc,
LDKOSProcessResult *out_result
);
const LDKProject *projectconst LDKProjectBuildDesc *descLDKOSProcessResult *out_resultPointer to the requested object or data; NULL when unavailable.
Start the project build game module.
LDK_API LDKOSProcess * ldk_project_build_game_module_start(
const LDKProject *project,
const LDKProjectBuildDesc *desc,
LDKOSProcessResult *out_result
);
const LDKProject *projectconst LDKProjectBuildDesc *descLDKOSProcessResult *out_resultPointer to the requested object or data; NULL when unavailable.
Start the project clean game module.
LDK_API LDKOSProcess * ldk_project_clean_game_module_start(
const LDKProject *project,
const LDKProjectBuildDesc *desc,
LDKOSProcessResult *out_result
);
const LDKProject *projectconst LDKProjectBuildDesc *descLDKOSProcessResult *out_resultPointer to the requested object or data; NULL when unavailable.
Start the project generate game launcher.
LDK_API LDKOSProcess * ldk_project_generate_game_launcher_start(
const LDKProject *project,
const LDKProjectBuildDesc *desc,
LDKOSProcessResult *out_result
);
const LDKProject *projectconst LDKProjectBuildDesc *descLDKOSProcessResult *out_resultPointer to the requested object or data; NULL when unavailable.
Start the project build game launcher.
LDK_API LDKOSProcess * ldk_project_build_game_launcher_start(
const LDKProject *project,
const LDKProjectBuildDesc *desc,
LDKOSProcessResult *out_result
);
const LDKProject *projectconst LDKProjectBuildDesc *descLDKOSProcessResult *out_resultPointer to the requested object or data; NULL when unavailable.
Get the project game module output path.
LDK_API bool ldk_project_game_module_output_path_get(
const LDKProject *project,
const char *config,
XFSPath *out_path
);
const LDKProject *projectconst char *configXFSPath *out_pathTrue if the operation succeeds; false otherwise.
Get the project game launcher output path.
LDK_API bool ldk_project_game_launcher_output_path_get(
const LDKProject *project,
const char *config,
XFSPath *out_path
);
const LDKProject *projectconst char *configXFSPath *out_pathTrue if the operation succeeds; false otherwise.