Simcore is a C library that includes various common functions that are used across SimSolutions's X-Plane projects.
It also includes the X-Plane SDK and libacfutils redistributable, so they don't have to be included or linked separately.
Important
To be able to compile & use Simcore, you must provide your own copy of the libacfutils redistributable at /deps/libacfutils-redist.
The project currently consists of the following:
simcore/- draw_tools.h, helper functions to be used with XPLM440's panel graphics API
- manips.h, handler for switch manipulators and animation datarefs.
- persist.h, a continuation of the persistence system first introduced in the DA40.
- tools.h, misc helper functions
- win.h, support for X-Plane window creation using the panel graphics API for rendering
xpdraw/[DEPRECATED]
This project uses or includes the following open source projects:
- skiselkov/libacfutils, available under the CDDL 1.0 license.
- nothings/stb, available both under the MIT license.
While not necessarily open-source, the following are included in the project and are made available under their own licenses:
- The X-Plane SDK (using this mirror) available under this license.
To include SimCore, the X-Plane SDK, and the libacfutils redistributable in your project, you'll need to include it in your project's CMakeLists.txt:
add_subdirectory("simcore")
add_dependencies(MyProject simcore)
# If you're using xpdraw/fonts.h, you may need to include FreeType separately:
find_package(Freetype REQUIRED)
target_include_directories(MyProject
PRIVATE
${FREETYPE_INCLUDE_DIRS}
)
# Also, don't forget this:
target_link_libraries(MyProject simcore)