ADRIFT Forum


The place to discuss the ADRIFT Interactive Fiction toolkit

Updated StandardLibrary

This forum is the place to learn about and discuss ADRIFT 5. Feel free to mention any bugs you find here, but please also add these to the Bugs & Enhancements list.

Please also refer to the ADRIFT 5 Wiki for more information.

Re: Updated StandardLibrary

Postby Campbell » Fri Mar 06, 2020 9:44 am

Do you want me to put your library into the main distribution saabie?
ADRIFT Developer developer.
User avatar
Campbell
Site Admin
 
Posts: 4660
Joined: Sun Jun 23, 2002 11:05 am
Location: Edinburgh, Scotland

Re: Updated StandardLibrary

Postby Denk » Fri Mar 06, 2020 10:26 am

Campbell wrote:Do you want me to put your library into the main distribution saabie?
Before saabie and Campbell decide on anything, I just want to add that I found a small bug in saabie's Standard Library on Github (latest commit on 17 Dec 2019). You might want to fix it before including it. However, I hope you can wait publishing the new version until saabie's library is ready, since it solves a lot of problems and the rest of it seems to be very solid coding.

The bug is here:
In the task "Put objects on others" look at the very last restriction "Property'...and the surface can hold...". Open the restriction and look at the restriction message. It says:
adrift Code: Select all
%objects%.Name can't fit on top of %object2%.Name unless you clear sufficient space for it, or put it on or in something already on the desk.


I suppose that "the desk" should be replaced with "%object2%.Name", though I haven't tested it.
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Re: Updated StandardLibrary

Postby Ariel Schnee » Fri Mar 06, 2020 1:38 pm

A bug I've noticed is when you use the wallet, it completely crashes the thing.
User avatar
Ariel Schnee
 
Posts: 6
Joined: Mon Nov 04, 2019 11:38 am
Location: USA In The Northern Part Of Louisiana

Re: Updated StandardLibrary

Postby Denk » Fri Mar 06, 2020 3:41 pm

Ariel Schnee is right. The money system library doesn't work with saabie's library, only the old one. ADRIFT gives the error message:
Error loading Adventure: Property HeldByWho does not exist!
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Time system should be updated too

Postby Denk » Fri Mar 06, 2020 5:07 pm

I discovered and fixed a bug in the time system. This bugfix should also be included in the upcoming version of ADRIFT.

The bug is described here: viewtopic.php?f=14&t=12059&p=105896&hilit=time+system#p105896

The bugfixed Time System can be found here as an amf-file: http://www.adrift.co/game/1520

I haven't uploaded it to Github since I am not familiar with Github. But you can just download the amf-file above, rename it and include it in the upcoming version of ADRIFT.
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Re: Updated StandardLibrary

Postby Lazzah » Fri Mar 06, 2020 6:08 pm

I think I have found another bug in this library.

There is a new character property PLAYER MUST EXPLICITLY OPEN OBJECTS AFTER UNLOCKING THEM. I have NOT selected this property for the Player Character but when I run the macro for "The Spectre of Castle Coris" when I unlock the kennel doors, I also open them as well. (...and get killed by the staghound!)

However, if I DO select this property for the PC then when unlocking the kennel doors I do NOT open them as well.

Surely it should be the other way around?
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

Re: Updated StandardLibrary

Postby Denk » Sat Mar 07, 2020 1:09 am

Lazzah wrote:I think I have found another bug in this library.

There is a new character property PLAYER MUST EXPLICITLY OPEN OBJECTS AFTER UNLOCKING THEM. I have NOT selected this property for the Player Character but when I run the macro for "The Spectre of Castle Coris" when I unlock the kennel doors, I also open them as well. (...and get killed by the staghound!)

However, if I DO select this property for the PC then when unlocking the kennel doors I do NOT open them as well.

Surely it should be the other way around?


Though English is not my first language, I interpret the sentence "PLAYER MUST EXPLICITLY OPEN OBJECTS AFTER UNLOCKING THEM" to mean "The player must type OPEN 'object' in order to open objects after unlocking them.".

Since you did NOT tick this property, it means that the player does NOT need to type OPEN 'object' after unlocking them, i.e. the object will be opened automatically after unlocking it. This is exactly what happened, i.e. when you opened the kennel doors, the doors were automatically opened as well.

So to me, it seems as if the property is behaving correctly.
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Re: Updated StandardLibrary

Postby Lazzah » Sat Mar 07, 2020 7:43 am

Denk wrote:
Lazzah wrote:I think I have found another bug in this library.

There is a new character property PLAYER MUST EXPLICITLY OPEN OBJECTS AFTER UNLOCKING THEM. I have NOT selected this property for the Player Character but when I run the macro for "The Spectre of Castle Coris" when I unlock the kennel doors, I also open them as well. (...and get killed by the staghound!)

However, if I DO select this property for the PC then when unlocking the kennel doors I do NOT open them as well.

Surely it should be the other way around?


Though English is not my first language, I interpret the sentence "PLAYER MUST EXPLICITLY OPEN OBJECTS AFTER UNLOCKING THEM" to mean "The player must type OPEN 'object' in order to open objects after unlocking them.".

Since you did NOT tick this property, it means that the player does NOT need to type OPEN 'object' after unlocking them, i.e. the object will be opened automatically after unlocking it. This is exactly what happened, i.e. when you opened the kennel doors, the doors were automatically opened as well.

So to me, it seems as if the property is behaving correctly.

Yes, I see what you mean now, Denk, my mistake. :blush:
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

Re: Updated StandardLibrary

Postby Lazzah » Sat Mar 07, 2020 12:14 pm

Having embarrassed myself with the latter posts, I have now encountered a problem with conversation and would be grateful if someone can check it out for me please?

In the macro for my game Run, Bronwynn, Run! I have the command TELL HORSE TO RUN, which references the TELL CHARACTER TO SOMETHING task. Before changing to saabie's Standard Library this command worked fine. Now it doesn't and the macro fails.

There are several new General Tasks in the Conversation folder, two of which are TELL ABOUT SUBJECT and TELL ABOUT (Lazy). Both of these have the command line tell {about} %text%.

I believe these two tasks, as they both have the {about} in squiggly brackets making that word optional, are interfering with the TELL CHARACTER TO SOMETHING task. When I change the brackets around 'about' to square ones, i.e. [about], and run my macro, the command TELL HORSE TO RUN works as should do and the macro continues.

Could somebody please check this out for me, because if it is happening as I say it is then the brackets around the word 'about' in those two tasks needs to be changed to [about].

Many thanks in anticipation. :Thanks:
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

Re: Updated StandardLibrary

Postby Denk » Sat Mar 07, 2020 1:22 pm

Lazzah wrote:Having embarrassed myself with the latter posts, I have now encountered a problem with conversation and would be grateful if someone can check it out for me please?

In the macro for my game Run, Bronwynn, Run! I have the command TELL HORSE TO RUN, which references the TELL CHARACTER TO SOMETHING task. Before changing to saabie's Standard Library this command worked fine. Now it doesn't and the macro fails.

There are several new General Tasks in the Conversation folder, two of which are TELL ABOUT SUBJECT and TELL ABOUT (Lazy). Both of these have the command line tell {about} %text%.

I believe these two tasks, as they both have the {about} in squiggly brackets making that word optional, are interfering with the TELL CHARACTER TO SOMETHING task. When I change the brackets around 'about' to square ones, i.e. [about], and run my macro, the command TELL HORSE TO RUN works as should do and the macro continues.

Could somebody please check this out for me, because if it is happening as I say it is then the brackets around the word 'about' in those two tasks needs to be changed to [about].

Many thanks in anticipation. :Thanks:

I checked it, and you are absolutely right - it only works if {about} is changed to about or [about]. In theory, it may also work if the priorities of the two tasks you mentioned are changed, but I think it should be mandatory to type ABOUT in those two tasks. It doesn't make sense to type TELL FOREST, only TELL ABOUT FOREST for instance. Also, I don't think they should work with TO instead of ABOUT, since TELL TO RUN doesn't sound right, only TELL 'character' TO RUN sounds right.

One question: When you update the standard library in a game which has already been made, I suppose you cannot be certain that everything will work fine, even if the new library has no bugs?

I mean, there could be made some fundamental changes to the standard library so e.g. a task you are overriding doesn't exist in the new Standard Library.

In your case, it sounds like you have changed the Standard Library task "Tell character about %text%" to allow ABOUT to be replaced with TO (e.g. TELL HORSE TO RUN). When you then update the standard library in your game, I suppose you will have to modify the task once again to allow for "TO" instead of "ABOUT"?

I am asking since I have not tried to update the Standard Library in an existing game. I understand that it requires that you make a new user on your Windows machine in order to replace the Standard Library in an existing game with saabie's library.
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Re: Updated StandardLibrary

Postby Denk » Sat Mar 07, 2020 1:39 pm

Just an idea:

When giving commands to characters, many non-ADRIFT games understand the syntax: "%character%, %text%". For instance, "HORSE, RUN" would be equivalent to TELL HORSE TO RUN. It would be very simple to make the "TELL %character% TO %text%"-task also accept the command: %character%, %text%

Has anyone got an opinion about this?
----------------------------------------------------------------------
The Bash Saga:
1. The Dragon Diamond 2. The Way Home 3. Stone of Wisdom
----------------------------------------------------------------------
User avatar
Denk
 
Posts: 465
Joined: Mon Feb 22, 2016 6:21 pm
Location: Hjørring, Denmark
Points: 251

Re: Updated StandardLibrary

Postby Lazzah » Sat Mar 07, 2020 11:09 pm

Hi Campbell & saabie,

I have tested all my games on ADRIFT v.36 with saabie's updated Standard Library loaded. Of my 8 released games and one WIP, all but three load and run OK, a couple with some modifications to a few tasks as in previous messages.

The three that do not load and run are THE AXE OF KOLT, DIE FEUERFAUST and THE FORTRESS OF FEAR. When I attempt to load any of these three game files I get a "Error loading Adventure: Object reference not set to an instance of an object."

I have attached a zip file containing the text files containing the stack traces generated for each game. Hopefully one or both of you might be able to work out why the game files will not load and how I can fix them so that they run. I would not want to have to re-program these games from scratch so that they run on the new version with the updated library!

Many thanks in anticipation.
Attachments
AoK Stace Trace.zip
(2.49 KiB) Downloaded 54 times
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

Re: Updated StandardLibrary

Postby saabie » Sun Mar 08, 2020 3:47 am

Campbell wrote:Do you want me to put your library into the main distribution saabie?
I'm back working on it now. I'll let you know when its ready.
Denk wrote:In the task "Put objects on others" look at the very last restriction "Property'...and the surface can hold...". Open the restriction and look at the restriction message. It says:
adrift Code: Select all
%objects%.Name can't fit on top of %object2%.Name unless you clear sufficient space for it, or put it on or in something already on the desk.
I suppose that "the desk" should be replaced with "%object2%.Name", though I haven't tested it.
Ariel Schnee wrote:A bug I've noticed is when you use the wallet, it completely crashes the thing.
Denk wrote:The money system library doesn't work with saabie's library, only the old one. ADRIFT gives the error message:
Error loading Adventure: Property HeldByWho does not exist!
I am investigating the above problems now...
Lazzah wrote:I believe these two tasks, as they both have the {about} in squiggly brackets making that word optional, are interfering with the TELL CHARACTER TO SOMETHING task. When I change the brackets around 'about' to square ones, i.e. [about], and run my macro, the command TELL HORSE TO RUN works as should do and the macro continues.
I am looking at this now and will probably remove the braces (also known as "squiggly brackets").
Denk wrote:One question: When you update the standard library in a game which has already been made, I suppose you cannot be certain that everything will work fine, even if the new library has no bugs?
I mean, there could be made some fundamental changes to the standard library so e.g. a task you are overriding doesn't exist in the new Standard Library.
That is correct. You should not update the Standard Library for a completely finished game that you have finished working on, and probably not for a game containing multiple changes to the standard library unless you need the new features and are willing to fix whatever breaks.
The new standard library is mainly recommended for starting new games.
Denk wrote:I understand that it requires that you make a new user on your Windows machine in order to replace the Standard Library in an existing game with saabie's library.
If you want to use the old library in your existing games and the new one for new games then you do need separate user accounts (Until enhancement request #18928 is completed).
saabie
 
Posts: 1024
Joined: Fri Aug 12, 2011 2:07 am
Location: Adelaide, South Australia
Points: 50

Re: Updated StandardLibrary

Postby Lazzah » Sun Mar 08, 2020 7:43 am

Denk wrote:Just an idea:

When giving commands to characters, many non-ADRIFT games understand the syntax: "%character%, %text%". For instance, "HORSE, RUN" would be equivalent to TELL HORSE TO RUN. It would be very simple to make the "TELL %character% TO %text%"-task also accept the command: %character%, %text%

Has anyone got an opinion about this?

I never thought of that! I have now added that command line to the TELL character TO something task and it works like a charm!

:Thanks: :bravo: :claps: :yeah: :D
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

Re: Updated StandardLibrary

Postby Lazzah » Sun Mar 08, 2020 12:04 pm

Update on the updated (excuse the pun!) StandardLibrary problem I mentioned a couple of posts ago.

I have now deleted saabies' StandardLibrary and restored the three corrupted game files from backups, so now all game files work OK with ADRIFT v.36. :claps: :D :yeah:
The Axe of Kolt, The Spectre of Castle Coris, The Fortress of Fear, Die Feuerfaust, The Lost Children, Run, Bronwynn, Run, The Call of the Shaman, The Lost Labyrinth of Lazaitch, Magnetic Moon, Starship Quest, Revenge of the Space Pirates
User avatar
Lazzah
Moderator
 
Posts: 2362
Joined: Thu Mar 31, 2011 4:54 am
Location: Clacton-on-Sea, Essex
Points: 65

PreviousNext

Return to ADRIFT 5.0

Who is online

Users browsing this forum: No registered users and 9 guests

cron