Ink EntryPoint picker & includes - bug

Announcements, support questions, and discussion for the Dialogue System.
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

Ink EntryPoint picker & includes - bug

Post by nehvaleem »

There is a problem with the ink integration package, specifically the EntryPoint picker.

For ink (and inky) it is perfectly fine to mix absolute and relative paths when it comes to the includes.

I for example have something like this:

Master Ink File

Code: Select all

Assets/Game/Story/Master.ink
which includes:

Code: Select all

INCLUDE Combat Chatter.ink
INCLUDE ../Levels/Singleplayer/001/001/Story/001.ink
INCLUDE ../Levels/Singleplayer/003/Story/Dialogues/003.ink
and for example, 001.ink includes some other files using INCLUDE:

Code: Select all

INCLUDE ../Levels/Singleplayer/003/Story/Dialogues/01_village.ink
INCLUDE ../Levels/Singleplayer/003/Story/Dialogues/02_crossroads.ink
all of this is fine for ink (and for inky), but it throws errors on EntryPoint picker. This is because of the fact that there is no Path.GetFullPath called anywhere (it can be useful to resolve absolute with relative path). It is worth noting that my case is really edge, since there are 2 levels of includes and for ink it is necessary to construct the included paths from the master file and it is different when it comes to the includes when they are relative to the file itself (and not the master file that includes it).
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

Hi,

I'll take a look at this and plan to support relative paths.
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

I'll try to get relative paths done by end of tomorrow.
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

Hi,

Maybe my test doesn't capture the issue you're seeing, but I think relative paths are working. (I updated the package on the Extras page.)

In Test/SampleContent.ink, I added:

Code: Select all

INCLUDE ../Test1/test1.ink
In test1.ink, I added:

Code: Select all

INCLUDE ../Test2/test2.ink
And I can see entrypoints in SampleContent, test1, and test2.
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink EntryPoint picker & includes - bug

Post by nehvaleem »

Hi Tony,

Unfortunately, the problem still persists (at least in my project). I've updated the package with ink integration also.

Image

If there is something that I can do to help with that - please let me know.
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

I must have missed something in the levels of indirection. I'll reproduce your relative paths exactly and test it out.
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

Hi,

I have a question about file paths.

You wrote that Master.ink includes:

Code: Select all

INCLUDE ../Levels/Singleplayer/001/001/Story/001.ink
This would make the full file path:

Code: Select all

Assets/Game/Levels/Singleplayer/001/001/Story/001.ink
And 001.ink includes:

Code: Select all

INCLUDE ../Levels/Singleplayer/003/Story/Dialogues/01_village.ink
Is that INCLUDE relative to 001.ink's path or Master.ink's path? I assume Master.ink's path, which would result in:

Code: Select all

Assets/Game/Levels/Singleplayer/003/Story/Dialogues/01_village.ink
If it were relative to 001.ink (where the INCLUDE line actually is), it would result in:

Code: Select all

Assets/Game/Levels/Singleplayer/001/001/Story/Levels/Singleplayer/003/Story/Dialogues/01_village.ink
I know this sounds like a silly question. I'm just checking to make sure I'm reproducing the correct issue. It seems a bit unusual to use Master.ink's path, since this is different behavior from the way INCLUDE directives are used in most programming languages.
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink EntryPoint picker & includes - bug

Post by Tony Li »

Never mind the post above. I tested it with Ink to confirm.

The updated DS Ink integration with the fix is on the Extras page. (direct download)
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink EntryPoint picker & includes - bug

Post by nehvaleem »

That's awesome! Thanks and sorry for the late reply. It is a bit counterintuitive, because of the way the ink works. I'll try the updated package and see if it solves the issue :)
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink EntryPoint picker & includes - bug

Post by nehvaleem »

The bug seems to be gone! Awesome as always (despite I need to tinker around a little bit more). Many thanks!

One note tho: maybe you would consider some customization for the ink picker? It is now fixed on 3 levels (if I am correct): story, knot & stitch. With a slightly bigger story, it will be a bit hard to use. I am facing the issue right now, and Inkle's official recommendation is to have a whole game story included from one master file (ie. to not to work with multiple stories in one game) which will make a lot of options in the entry point picker.

The idea that crossed my mind is something about an option for an attribute or manager that will nest the available choices based on the actual files instead of the logical structure of the story? Would that make sense?
Post Reply