inkcpp_rb 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +1 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +84 -0
- data/LICENSE +7 -0
- data/README.md +3 -0
- data/Rakefile +16 -0
- data/bin/console +15 -0
- data/bin/setup +10 -0
- data/bin/tapioca +29 -0
- data/ext/inkcpp_rb/extconf.rb +19 -0
- data/ext/inkcpp_rb/inkcpp/.clang-format +99 -0
- data/ext/inkcpp_rb/inkcpp/.github/FUNDING.yml +1 -0
- data/ext/inkcpp_rb/inkcpp/.github/workflows/build.yml +344 -0
- data/ext/inkcpp_rb/inkcpp/.github/workflows/release.yml +49 -0
- data/ext/inkcpp_rb/inkcpp/.gitignore +25 -0
- data/ext/inkcpp_rb/inkcpp/.gitmodules +9 -0
- data/ext/inkcpp_rb/inkcpp/CMakeLists.txt +170 -0
- data/ext/inkcpp_rb/inkcpp/CODE_OF_CONDUCT.md +76 -0
- data/ext/inkcpp_rb/inkcpp/CONTRIBUTING.md +55 -0
- data/ext/inkcpp_rb/inkcpp/Config.cmake.in +2 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/CMakeLists.txt +13 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.c +38 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.cpp +40 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink +8 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink.json +1 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example.zip +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/InkCPP_DEMO.zip +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/CreateThread.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/HandleChoice.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ListElementOf.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalRuntime.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalThread.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ObseverChange.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/TagListGetValue.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/YieldResume.png +0 -0
- data/ext/inkcpp_rb/inkcpp/Doxyfile +2825 -0
- data/ext/inkcpp_rb/inkcpp/LICENSE.txt +22 -0
- data/ext/inkcpp_rb/inkcpp/Minimal.runsettings +8 -0
- data/ext/inkcpp_rb/inkcpp/README.md +192 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/CMakeLists.txt +67 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/array.h +481 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/avl_array.h +833 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/casting.h +93 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/choice.cpp +54 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.cpp +124 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.h +406 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.cpp +52 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.h +34 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/executioner.h +179 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/functional.cpp +86 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/functions.cpp +54 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/functions.h +40 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.cpp +289 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.h +149 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/header.cpp +44 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/choice.h +106 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/functional.h +327 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/globals.h +196 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/list.h +187 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/runner.h +291 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/snapshot.h +61 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/story.h +219 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/story_ptr.h +233 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/traits.h +270 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/include/types.h +169 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.cpp +79 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.h +39 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.cpp +276 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.h +356 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.cpp +841 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.h +450 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.cpp +40 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.h +529 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/operation_bases.h +164 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/operations.h +100 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/output.cpp +528 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/output.h +153 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/platform.h +22 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/random.h +38 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.cpp +1396 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.h +336 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/simple_restorable_stack.h +335 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.cpp +182 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.h +91 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_interface.h +57 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/stack.cpp +618 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/stack.h +243 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.cpp +361 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.h +92 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/story_ptr.cpp +75 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.cpp +125 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.h +67 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.cpp +149 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.h +47 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/string_utils.h +207 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/system.cpp +39 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/tuple.hpp +151 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/value.cpp +279 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp/value.h +666 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/CMakeLists.txt +62 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/include/inkcpp.h +393 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp.cpp +344 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp_c.pc.in +10 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/ExternalFunction.c +56 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Globals.c +98 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Lists.c +73 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Observer.c +36 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Snapshot.c +65 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_cl/CMakeLists.txt +49 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_cl/inkcpp_cl.cpp +215 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.cpp +209 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.h +8 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/CMakeLists.txt +37 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.cpp +446 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.h +70 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.cpp +166 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.h +79 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/command.cpp +107 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/compiler.cpp +96 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.cpp +62 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.h +104 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compilation_results.h +22 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h +44 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json.hpp +24596 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.cpp +411 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.h +62 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.cpp +47 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.h +70 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.cpp +107 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.h +55 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/CMakeLists.txt +19 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/example.py +78 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/src/module.cpp +317 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py +53 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_ExternalFunctions.py +35 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Globals.py +40 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Lists.py +43 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py +27 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Snapshot.py +57 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_py/unreal_example.ink +71 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Array.cpp +115 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/CMakeLists.txt +117 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Callstack.cpp +392 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/EmptyStringForDivert.cpp +36 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ExternalFunctionsExecuteProperly.cpp +34 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/FallbackFunction.cpp +77 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Globals.cpp +73 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/InkyJson.cpp +34 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/LabelCondition.cpp +60 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Lists.cpp +144 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/LookaheadSafe.cpp +46 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Main.cpp +7 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/MoveTo.cpp +95 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/NewLines.cpp +76 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/NoEarlyTags.cpp +33 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Observer.cpp +245 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Pointer.cpp +191 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Restorable.cpp +294 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/SpaceAfterBracketChoice.cpp +45 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Stack.cpp +224 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Tags.cpp +131 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ThirdTierChoiceAfterBrackets.cpp +38 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/UTF8.cpp +56 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/Value.cpp +210 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/catch.hpp +17970 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/AHF.ink +7 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ChoiceBracketStory.ink +7 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/EmptyStringForDivert.ink +13 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ExternalFunctionsExecuteProperly.ink +11 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/FallBack.ink +15 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/GlobalStory.ink +9 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LabelConditionStory.ink +5 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LinesStory.ink +42 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListLogicStory.ink +40 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListStory.ink +8 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LookaheadSafe.ink +14 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/MoveTo.ink +36 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/NoEarlyTags.ink +19 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ObserverStory.ink +8 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/SimpleStoryFlow.ink +65 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TagsStory.ink +22 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TheIntercept.ink +1686 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ThirdTierChoiceAfterBracketsStory.ink +13 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF-8-demo.txt +212 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF8Story.ink +218 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inklecate.json +154 -0
- data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inky.json +160 -0
- data/ext/inkcpp_rb/inkcpp/notes/ArchitectureNotes.md +54 -0
- data/ext/inkcpp_rb/inkcpp/notes/ListNotes.md +69 -0
- data/ext/inkcpp_rb/inkcpp/notes/OperationNotes.md +35 -0
- data/ext/inkcpp_rb/inkcpp/notes/TagsNotes.md +24 -0
- data/ext/inkcpp_rb/inkcpp/notes/WhitespaceNotes.md +28 -0
- data/ext/inkcpp_rb/inkcpp/proofing/README.md +3 -0
- data/ext/inkcpp_rb/inkcpp/proofing/inkcpp_runtime_driver +12 -0
- data/ext/inkcpp_rb/inkcpp/pyproject.toml +63 -0
- data/ext/inkcpp_rb/inkcpp/setup.py +166 -0
- data/ext/inkcpp_rb/inkcpp/shared/CMakeLists.txt +14 -0
- data/ext/inkcpp_rb/inkcpp/shared/private/command.h +172 -0
- data/ext/inkcpp_rb/inkcpp/shared/private/header.h +46 -0
- data/ext/inkcpp_rb/inkcpp/shared/public/config.h +53 -0
- data/ext/inkcpp_rb/inkcpp/shared/public/system.h +307 -0
- data/ext/inkcpp_rb/inkcpp/shared/public/version.h +14 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestAllSequenceTypes.ink +59 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestArithmetic.ink +17 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestBasicStringLiterals.ink +8 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestBasicTunnel.ink +10 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestBlanksInInlineSequences.ink +51 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestCallStackEvaluation.ink +15 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestChoiceCount.ink +15 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestChoiceDivertsToDone.ink +6 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestChoiceWithBracketsOnly.ink +9 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestCompareDivertTargets.ink +26 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestComplexTunnels.ink +22 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestConditionalChoiceInWeave.ink +19 -0
- data/ext/inkcpp_rb/inkcpp/tests/TestTunnelOnwardsAfterTunnel.ink +17 -0
- data/ext/inkcpp_rb/inkcpp/unreal/CMakeLists.txt +51 -0
- data/ext/inkcpp_rb/inkcpp/unreal/UE_example.ink +92 -0
- data/ext/inkcpp_rb/inkcpp/unreal/blueprint_filter.js +377 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Resources/Icon128.png +0 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkAsset.cpp +47 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkChoice.cpp +40 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkList.cpp +86 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkRuntime.cpp +265 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkThread.cpp +239 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkVar.cpp +143 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/TagList.cpp +95 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/inkcpp.cpp +13 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkAsset.h +50 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkChoice.h +58 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkDelegates.h +139 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkList.h +102 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkRuntime.h +177 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkSnapshot.h +30 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkThread.h +215 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkVar.h +245 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/TagList.h +77 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/inkcpp.h +217 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/inkcpp.Build.cs +62 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.cpp +237 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.h +43 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inkcpp_editor.cpp +13 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inklecate_cmd.cpp.in +24 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Public/inkcpp_editor.h +9 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/inkcpp_editor.Build.cs +61 -0
- data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/inkcpp.uplugin +44 -0
- data/ext/inkcpp_rb/inkcpp/unreal/render.css +1 -0
- data/ext/inkcpp_rb/inkcpp_rb.cpp +321 -0
- data/inkcpp_rb.gemspec +54 -0
- data/rbi/inkcpp_rb.rbi +211 -0
- data/sorbet/config +4 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/minitest.rbi +119 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/minitest@5.25.4.rbi +1547 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
- data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
- data/sorbet/rbi/gems/prism@1.3.0.rbi +40040 -0
- data/sorbet/rbi/gems/rake-compiler@1.2.8.rbi +9 -0
- data/sorbet/rbi/gems/rake@13.2.1.rbi +3033 -0
- data/sorbet/rbi/gems/rbi@0.2.2.rbi +4527 -0
- data/sorbet/rbi/gems/rice@4.3.3.rbi +44 -0
- data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
- data/sorbet/rbi/gems/tapioca@0.16.7.rbi +3611 -0
- data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +4 -0
- metadata +400 -0
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
#ifndef _INKCPP_H
|
|
2
|
+
#define _INKCPP_H
|
|
3
|
+
|
|
4
|
+
#include <stdint.h>
|
|
5
|
+
|
|
6
|
+
#ifdef __cplusplus
|
|
7
|
+
extern "C" {
|
|
8
|
+
#else
|
|
9
|
+
typedef struct HInkSnapshot HInkSnapshot;
|
|
10
|
+
typedef struct HInkChoice HInkChoice;
|
|
11
|
+
typedef struct HInkList HInkList;
|
|
12
|
+
typedef struct InkListIter InkListIter;
|
|
13
|
+
typedef struct InkFlag InkFlag;
|
|
14
|
+
typedef struct InkValue InkValue;
|
|
15
|
+
typedef struct HInkRunner HInkRunner;
|
|
16
|
+
typedef struct HInkGlobals HInkGlobals;
|
|
17
|
+
typedef struct HInkSTory HInkStory;
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
/** @defgroup clib Clib Interface
|
|
21
|
+
* C bindings for inkcpp
|
|
22
|
+
*
|
|
23
|
+
* There are two different ways to get the C bindings.
|
|
24
|
+
* 1. Use the distributed `<os>-lib.zip` for a C++ and C lib combined, then use CMake for the
|
|
25
|
+
* linkadge (or do it manually)
|
|
26
|
+
* 2. Use the distrubuted `<os>-clib.zip` for a C only lib, then use CMake, or pkg-config.
|
|
27
|
+
*
|
|
28
|
+
* Please note that the included header is different between this two installation methods.
|
|
29
|
+
* 1. `#include <ink/c/inkcpp.h>`
|
|
30
|
+
* 2. `#include <ink/inkcpp.h>`
|
|
31
|
+
*
|
|
32
|
+
* @section example_c Example
|
|
33
|
+
*
|
|
34
|
+
* To setup an example for option `1.` and `2.` if you use cmake checkout @ref cmake and replace
|
|
35
|
+
* `target_link_libraries` with `target_link_libraries(main inkcpp_c)` The story and source file
|
|
36
|
+
* can be used as @ref src_main_c "noted down"
|
|
37
|
+
*
|
|
38
|
+
* For setup an example for option `2.` without cmake create a directory with the files below:
|
|
39
|
+
* + `main.c`: found below
|
|
40
|
+
* + `test.ink.json`: found at @ref src_story_json
|
|
41
|
+
*
|
|
42
|
+
* And extract `<os>-clib.zip` from the [release
|
|
43
|
+
* page](https://github.com/JBenda/inkcpp/releases/latest) to `/MY/INKCPP/EXAMPLE_INSTALL/PATH`.
|
|
44
|
+
* <br/> To run the example do the following:
|
|
45
|
+
*
|
|
46
|
+
* + change the `prefix=...` in `/MY/INKCPP/EXAMPLE_INSTALL/PATH/lib/pkgconfig/inkcpp.pc`
|
|
47
|
+
* to `prefix=/MY/INKCPP_EXAMPLE_INSTALL_PATH/`
|
|
48
|
+
* + `export PKG_CONFIG_PATH=/MY/INKCPP/EXAMPLE_INSTALL/PATH/lib/pkgconfig`
|
|
49
|
+
* + `gcc -c main.c $(pkg-config --cflags inkcpp)`
|
|
50
|
+
* + `g++ -o main main.o $(pkg-config --libs inkcpp)`
|
|
51
|
+
* + `./main`
|
|
52
|
+
*
|
|
53
|
+
* As a sideproduct a file named `test.bin` should be created coaining the binary format used by
|
|
54
|
+
* inkCPP.
|
|
55
|
+
*
|
|
56
|
+
* @subsection src_main_c main.c
|
|
57
|
+
* @include cmake_example/main.c
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
/** @class HInkSnapshot
|
|
61
|
+
* @ingroup clib
|
|
62
|
+
* @brief Handler for a @ref ink::runtime::snapshot "ink snapshot"
|
|
63
|
+
* @copydetails ink::runtime::snapshot
|
|
64
|
+
*/
|
|
65
|
+
struct HInkSnapshot;
|
|
66
|
+
/** @memberof HInkSnapshot
|
|
67
|
+
* @copydoc ink::runtime::snapshot::from_file()
|
|
68
|
+
*/
|
|
69
|
+
HInkSnapshot* ink_snapshot_from_file(const char* filename);
|
|
70
|
+
/** @memberof HInkSnapshot
|
|
71
|
+
* @copydoc ink::runtime::snapshot::num_runners()
|
|
72
|
+
* @param self
|
|
73
|
+
*/
|
|
74
|
+
int ink_snapshot_num_runners(const HInkSnapshot* self);
|
|
75
|
+
/** @memberof HInkSnapshot
|
|
76
|
+
* @copydoc ink::runtime::snapshot::write_to_file()
|
|
77
|
+
* @param self
|
|
78
|
+
*/
|
|
79
|
+
void ink_snapshot_write_to_file(const HInkSnapshot* self, const char* filename);
|
|
80
|
+
|
|
81
|
+
/** @class HInkChoice
|
|
82
|
+
* @ingroup clib
|
|
83
|
+
* @brief Handler for a @ref ink::runtime::choice "ink choice"
|
|
84
|
+
* @copydetails ink::runtime::choice
|
|
85
|
+
*/
|
|
86
|
+
struct HInkChoice;
|
|
87
|
+
/** @memberof HInkChoice
|
|
88
|
+
* @copydoc ink::runtime::choice::text
|
|
89
|
+
* @param self
|
|
90
|
+
*/
|
|
91
|
+
const char* ink_choice_text(const HInkChoice* self);
|
|
92
|
+
/** @memberof HInkChoice
|
|
93
|
+
* @copydoc ink::runtime::choice::num_tags
|
|
94
|
+
* @param self
|
|
95
|
+
*/
|
|
96
|
+
int ink_choice_num_tags(const HInkChoice* self);
|
|
97
|
+
/** @memberof HInkChoice
|
|
98
|
+
* @copydoc ink::runtime::choice::get_tag
|
|
99
|
+
* @param self
|
|
100
|
+
*/
|
|
101
|
+
const char* ink_choice_get_tag(const HInkChoice* self, int index);
|
|
102
|
+
|
|
103
|
+
/** @class HInkList
|
|
104
|
+
* @ingroup clib
|
|
105
|
+
* @brief Handler for a @ref ink::runtime::list_interface "ink list"
|
|
106
|
+
*/
|
|
107
|
+
struct HInkList;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Iterater used to iterate flags of a ::HInkList
|
|
111
|
+
* @see ink_list_flags() ink_list_flags_from()
|
|
112
|
+
* @ingroup clib
|
|
113
|
+
* @code
|
|
114
|
+
* const HInkList* list = ...;
|
|
115
|
+
* InkListIter iter;
|
|
116
|
+
* if (ink_list_flags(list, &iter)) {
|
|
117
|
+
* do {
|
|
118
|
+
* iter->flag_name;
|
|
119
|
+
* iter->list_name;
|
|
120
|
+
* // ...
|
|
121
|
+
* } while(ink_list_iter_next(&iter));
|
|
122
|
+
* }
|
|
123
|
+
* @endcode
|
|
124
|
+
*/
|
|
125
|
+
struct InkListIter {
|
|
126
|
+
const void* _data; ///< @private
|
|
127
|
+
int _i; ///< @private
|
|
128
|
+
int _single_list; ///< @private
|
|
129
|
+
const char* flag_name; ///< Name of the current flag
|
|
130
|
+
const char* list_name; ///< name of the list the flag corresponds to
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
void ink_list_add(HInkList* self, const char* flag_name);
|
|
134
|
+
void ink_list_remove(HInkList* self, const char* flag_name);
|
|
135
|
+
int ink_list_contains(const HInkList* self, const char* flag_name);
|
|
136
|
+
/**
|
|
137
|
+
* @memberof HInkList
|
|
138
|
+
* Creates an Iterator over all flags contained in a list.
|
|
139
|
+
* @see @ref InkListIter for a usage example
|
|
140
|
+
* @retval 0 if the list contains no flags and the iterator would be invalid
|
|
141
|
+
*/
|
|
142
|
+
int ink_list_flags(const HInkList* self, InkListIter* iter);
|
|
143
|
+
/**
|
|
144
|
+
* @memberof HInkList
|
|
145
|
+
* Creates an Iterator over all flags contained in a list assziated with a defined list.
|
|
146
|
+
* @see @ref InkListIter for a usage example
|
|
147
|
+
* @param self
|
|
148
|
+
* @param list_name name of defined list which elements should be filterd
|
|
149
|
+
* @param[out] iter constructed iterator
|
|
150
|
+
* @retval 0 if the list contains no flags and the iterator would be invalid
|
|
151
|
+
*/
|
|
152
|
+
int ink_list_flags_from(const HInkList* self, const char* list_name, InkListIter* iter);
|
|
153
|
+
/**
|
|
154
|
+
* @memberof InkListIter
|
|
155
|
+
* @retval 0 if the there is no next element
|
|
156
|
+
* @retval 1 if a new flag can be found in iter.flag_name
|
|
157
|
+
*/
|
|
158
|
+
int ink_list_iter_next(InkListIter* self);
|
|
159
|
+
|
|
160
|
+
/** Repserentation of a ink variable.
|
|
161
|
+
* @ingroup clib
|
|
162
|
+
* The concret type contained is noted in @ref InkValue::type "type", please use this information
|
|
163
|
+
* to access the corresponding field of the union
|
|
164
|
+
* @attention a InkValue of type @ref InkValue::Type::ValueTypeNone "ValueTypeNone" dose not
|
|
165
|
+
* contain any value! It is use e.g. at @ref HInkGlobals::ink_globals_get() "ink_globals_get()"
|
|
166
|
+
*/
|
|
167
|
+
struct InkValue {
|
|
168
|
+
union {
|
|
169
|
+
int bool_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeBool "ValueTypeBool"
|
|
170
|
+
uint32_t uint32_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeUint32
|
|
171
|
+
///< "ValueTypeUint32"
|
|
172
|
+
int32_t int32_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeInt32
|
|
173
|
+
///< "ValueTypeInt32"
|
|
174
|
+
const char* string_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeString
|
|
175
|
+
///< "ValueTypeString"
|
|
176
|
+
float float_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeFloat
|
|
177
|
+
///< "ValueTypeFloat"
|
|
178
|
+
HInkList*
|
|
179
|
+
list_v; ///< contains value if #type == @ref InkValue::Type::ValueTypeList "ValueTypeList"
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
/// indicates which type is contained in the value
|
|
183
|
+
enum Type {
|
|
184
|
+
ValueTypeNone, ///< the Value does not contain any value
|
|
185
|
+
ValueTypeBool, ///< a boolean
|
|
186
|
+
ValueTypeUint32, ///< a unsigned integer
|
|
187
|
+
ValueTypeInt32, ///< a signed integer
|
|
188
|
+
ValueTypeString, ///< a string
|
|
189
|
+
ValueTypeFloat, ///< a floating point number
|
|
190
|
+
ValueTypeList ///< a ink list
|
|
191
|
+
} type; ///< indicates type contained in value
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
// const char* ink_value_to_string(const InkValue* self);
|
|
195
|
+
|
|
196
|
+
/** @memberof HInkRunner
|
|
197
|
+
* Callback for a Ink external function which returns void
|
|
198
|
+
* @param argc number of arguments
|
|
199
|
+
* @param argv array containing the arguments
|
|
200
|
+
*/
|
|
201
|
+
typedef InkValue (*InkExternalFunction)(int argc, const InkValue argv[]);
|
|
202
|
+
/** @memberof HInkRunner
|
|
203
|
+
* Callback for a Ink external function wihich returns a value
|
|
204
|
+
* @param argc number of arguments
|
|
205
|
+
* @param argv array contaning the arguments
|
|
206
|
+
* @return value to be furthe process by the ink runtime
|
|
207
|
+
*/
|
|
208
|
+
typedef void (*InkExternalFunctionVoid)(int argc, const InkValue argv[]);
|
|
209
|
+
|
|
210
|
+
/** @class HInkRunner
|
|
211
|
+
* @ingroup clib
|
|
212
|
+
* A handle for an @ref ink::runtime::runner_interface "ink runner"
|
|
213
|
+
* @copydetails ink::runtime::runner_interface
|
|
214
|
+
*/
|
|
215
|
+
struct HInkRunner;
|
|
216
|
+
/** @memberof HInkRunner
|
|
217
|
+
* Deconstructs the Runner and all frees assoziated resources
|
|
218
|
+
*/
|
|
219
|
+
void ink_runner_delete(HInkRunner* self);
|
|
220
|
+
/** @memberof HInkRunner
|
|
221
|
+
* Creates a snapshot, for later reloading.
|
|
222
|
+
* @attention All runners assoziated with the same globals will create the same snapshot
|
|
223
|
+
* @ref ::HInkSnapshot
|
|
224
|
+
*/
|
|
225
|
+
HInkSnapshot* ink_runner_create_snapshot(const HInkRunner* self);
|
|
226
|
+
/** @memberof HInkRunner
|
|
227
|
+
* @copydoc ink::runtime::runner_interface::can_continue()
|
|
228
|
+
*/
|
|
229
|
+
int ink_runner_can_continue(const HInkRunner* self);
|
|
230
|
+
/** @memberof HInkRunner
|
|
231
|
+
* @copydoc ink::runtime::runner_interface::getline_alloc()
|
|
232
|
+
*/
|
|
233
|
+
const char* ink_runner_get_line(HInkRunner* self);
|
|
234
|
+
/** @memberof HInkRunner
|
|
235
|
+
* @copydoc ink::runtime::runner_interface::num_tags()
|
|
236
|
+
*/
|
|
237
|
+
int ink_runner_num_tags(const HInkRunner* self);
|
|
238
|
+
/** @memberof HInkRunner
|
|
239
|
+
* @copydoc ink::runtime::runner_interface::get_tag()
|
|
240
|
+
* @param self
|
|
241
|
+
*/
|
|
242
|
+
const char* ink_runner_tag(const HInkRunner* self, int index);
|
|
243
|
+
/** @memberof HInkRunner
|
|
244
|
+
* @copydoc ink::runtime::runner_interface::num_choices()
|
|
245
|
+
* @param self
|
|
246
|
+
*/
|
|
247
|
+
int ink_runner_num_choices(const HInkRunner* self);
|
|
248
|
+
/** @memberof HInkRunner
|
|
249
|
+
* @copydoc ink::runtime::runner_interface::get_choice()
|
|
250
|
+
* @param self
|
|
251
|
+
*/
|
|
252
|
+
const HInkChoice* ink_runner_get_choice(const HInkRunner* self, int index);
|
|
253
|
+
/** @memberof HInkRunner
|
|
254
|
+
* @copydoc ink::runtime::runner_interface::choose()
|
|
255
|
+
* @param self
|
|
256
|
+
*/
|
|
257
|
+
void ink_runner_choose(HInkRunner* self, int index);
|
|
258
|
+
|
|
259
|
+
/** @memberof HInkRunner
|
|
260
|
+
* Binds a external function which is called form the runtime, with no return value.
|
|
261
|
+
* @see ink_runner_bind()
|
|
262
|
+
* @param self
|
|
263
|
+
* @param function_name declared in ink script
|
|
264
|
+
* @param callback
|
|
265
|
+
* @param lookaheadSafe if false stop glue lookahead if encounter this function
|
|
266
|
+
* this prevents double execution of external functions but can lead to
|
|
267
|
+
* missing glues
|
|
268
|
+
*/
|
|
269
|
+
void ink_runner_bind_void(
|
|
270
|
+
HInkRunner* self, const char* function_name, InkExternalFunctionVoid callback,
|
|
271
|
+
int lookaheadSafe
|
|
272
|
+
);
|
|
273
|
+
/** @memberof HInkRunner
|
|
274
|
+
* Binds a external function which is called from the runtime, with a return vallue.
|
|
275
|
+
* @see ink_runner_bind_void()
|
|
276
|
+
* @param self
|
|
277
|
+
* @param function_name name of external function declared inside ink script
|
|
278
|
+
* @param callback
|
|
279
|
+
* @param lookaheadSafe if false stop glue lookahead if encounter this function
|
|
280
|
+
* this prevents double execution of external functions but can lead to
|
|
281
|
+
* missing glues
|
|
282
|
+
*/
|
|
283
|
+
void ink_runner_bind(
|
|
284
|
+
HInkRunner* self, const char* function_name, InkExternalFunction callback, int lookaheadSafe
|
|
285
|
+
);
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
/** @class HInkGlobals
|
|
289
|
+
* @ingroup clib
|
|
290
|
+
* Handle for the @ref ink::runtime::globals_interface "global variable store" shared among ink
|
|
291
|
+
* runners.
|
|
292
|
+
* @copydetails ink::runtime::globals_interface
|
|
293
|
+
*/
|
|
294
|
+
struct HInkGlobals;
|
|
295
|
+
/** @memberof HInkGlobals
|
|
296
|
+
* @param new_value contains the value newly assigned
|
|
297
|
+
* @param old_value contains the previous value or a @ref InkValue::Type::ValueTypeNone
|
|
298
|
+
* "ValueTypeNone" if the variable was previously unset.
|
|
299
|
+
*/
|
|
300
|
+
typedef void (*InkObserver)(InkValue new_value, InkValue old_value);
|
|
301
|
+
/** @memberof HInkGlobals
|
|
302
|
+
* Deconstructs the globals store and frees all assoziated memories.
|
|
303
|
+
* @attention invalidates all assoziated @ref HInkRunner
|
|
304
|
+
*/
|
|
305
|
+
void ink_globals_delete(HInkGlobals* self);
|
|
306
|
+
/** @memberof HInkGlobals
|
|
307
|
+
* Creates a snapshot for later reloading.
|
|
308
|
+
* @attention All runners assoziated with the same globals will create the same snapshot.
|
|
309
|
+
* @ref ::HInkSnapshot
|
|
310
|
+
*/
|
|
311
|
+
HInkSnapshot* ink_globals_create_snapshot(const HInkGlobals* self);
|
|
312
|
+
/** @memberof HInkGlobals
|
|
313
|
+
* assignes a observer to the variable with the corresponding name.
|
|
314
|
+
* The observer is called each time the value of the variable gets assigned.
|
|
315
|
+
* To monitor value changes compare the old with new value (see @ref InkObserver)
|
|
316
|
+
*/
|
|
317
|
+
void ink_globals_observe(HInkGlobals* self, const char* variable_name, InkObserver observer);
|
|
318
|
+
/** @memberof HInkGlobals
|
|
319
|
+
* Gets the value of a global variable
|
|
320
|
+
* @param variable_name name of variable (same as in ink script)
|
|
321
|
+
* @param self
|
|
322
|
+
* @retval InkValue::Type::ValueTypeNone iff the variable does not exist
|
|
323
|
+
*/
|
|
324
|
+
InkValue ink_globals_get(const HInkGlobals* self, const char* variable_name);
|
|
325
|
+
/** @memberof HInkGlobals
|
|
326
|
+
* Sets the value of a globals variable.
|
|
327
|
+
* @param variable_name name of variable (same as in ink script)
|
|
328
|
+
* @param self
|
|
329
|
+
* @param value
|
|
330
|
+
* @return false if the variable was not set, because the variable with this name does no exists
|
|
331
|
+
* or the value did not match.
|
|
332
|
+
*/
|
|
333
|
+
int ink_globals_set(HInkGlobals* self, const char* variable_name, InkValue value);
|
|
334
|
+
|
|
335
|
+
/** @class HInkStory
|
|
336
|
+
* @ingroup clib
|
|
337
|
+
* Handle for a loaded @ref ink::runtime::story "ink story"
|
|
338
|
+
* @copydetails ink::runtime::story
|
|
339
|
+
* @see HInkGlobals
|
|
340
|
+
* @see HInkRunner
|
|
341
|
+
*/
|
|
342
|
+
struct HInkStory;
|
|
343
|
+
/** @memberof HInkStory
|
|
344
|
+
* @copydoc ink::runtime::story::from_file
|
|
345
|
+
*/
|
|
346
|
+
HInkStory* ink_story_from_file(const char* filename);
|
|
347
|
+
/** @memberof HInkStory
|
|
348
|
+
* deletes a story and all assoziated resources
|
|
349
|
+
* @param self
|
|
350
|
+
* @attention this will invalidate all ::HInkRunner and ::HInkGlobals handles assoziated with this
|
|
351
|
+
* story
|
|
352
|
+
*/
|
|
353
|
+
void ink_story_delete(HInkStory* self);
|
|
354
|
+
/** @memberof HInkStory
|
|
355
|
+
* @copydoc ink::runtime::story::new_globals
|
|
356
|
+
* @param self
|
|
357
|
+
*/
|
|
358
|
+
HInkGlobals* ink_story_new_globals(HInkStory* self);
|
|
359
|
+
/** @memberof HInkStory
|
|
360
|
+
* @copydoc ink::runtime::story::new_runner
|
|
361
|
+
* @param self
|
|
362
|
+
*/
|
|
363
|
+
HInkRunner* ink_story_new_runner(HInkStory* self, HInkGlobals* store);
|
|
364
|
+
/** @memberof HInkStory
|
|
365
|
+
* @copydoc ink::runtime::story::new_globals_from_snapshot
|
|
366
|
+
* @param self
|
|
367
|
+
*/
|
|
368
|
+
HInkGlobals* ink_story_new_globals_from_snapshot(HInkStory* self, const HInkSnapshot* obj);
|
|
369
|
+
/** @memberof HInkStory
|
|
370
|
+
* @copydoc ink::runtime::story::new_runner_from_snapshot
|
|
371
|
+
* @param self
|
|
372
|
+
*/
|
|
373
|
+
HInkRunner* ink_story_new_runner_from_snapshot(
|
|
374
|
+
HInkStory* self, const HInkSnapshot* obj, HInkGlobals* store, int runner_id
|
|
375
|
+
);
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* @ingroup clib
|
|
379
|
+
* Compiles a .ink.json file to an inkCPP .bin file.
|
|
380
|
+
* @param input_filename path to file contaning input data (.ink.json)
|
|
381
|
+
* @param output_filename path to file output data will be written (.bin)
|
|
382
|
+
* @param error if not NULL will contain a error message if an error occures (else will be set to
|
|
383
|
+
* NULL)
|
|
384
|
+
*/
|
|
385
|
+
void
|
|
386
|
+
ink_compile_json(const char* input_filename, const char* output_filename, const char** error);
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
#ifdef __cplusplus
|
|
390
|
+
}
|
|
391
|
+
#endif
|
|
392
|
+
|
|
393
|
+
#endif
|