intfiction.org

The Interactive Fiction Community Forum
It is currently Fri Feb 22, 2019 10:43 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 39 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
PostPosted: Sat Dec 26, 2015 8:16 pm 
Offline

Joined: Sat Dec 26, 2015 7:34 pm
Posts: 517
I've been playing around with this release and, working through some of the examples in the DM4, I've noticed a couple of issues:

1. An issue with examining objects in closed transparent containers

Code:
Constant Story "CLOSED TRANSPARENT CONTAINERS";
Constant Headline "^An Interactive Bug Reproduction^";

Include "Parser";
Include "VerbLib";

Object Start_Room "Somewhere",
  with description "You're not sure where you are.",
  has light;

Object -> glass_cube "glass cube"
  with name 'glass' 'cube',
  has container transparent;

Object -> -> rock "rock"
  with name 'rock';
 
[ Initialise;
  location = Start_Room;
];

Include "Grammar";


Expected behavior: The rock can be seen inside the transparent container, but not interacted with since it's not open.
Actual behavior:

Quote:
Start of a transcript of

CLOSED TRANSPARENT CONTAINERS
An Interactive Bug Reproduction
Release 1 / Serial number 151226 / Inform v6.33 Library 6/12-beta1 S
Standard interpreter 1.0 (1F) / Library serial number 140724

>l

Somewhere
You're not sure where you are.

You can see a glass cube (which is closed) (in which is a rock) here.

>x cube
You can't see inside, since the glass cube is closed.

>look inside cube
In the glass cube is a rock.

>x rock
You see nothing special about the rock.

>take rock
The glass cube is not open.

>script off

End of transcript.


2. An issue with the after rule for Insert not being called.

(Noticed this when experimenting with Ruins and wondering why putting a treasure into the packing case didn't increase my score.)

Code:
Constant Story "INSERTION RULES";
Constant Headline "^An Interactive Bug Reproduction^";

Include "Parser";
Include "VerbLib";

Object Start_Room "Somewhere",
  with description "You're not sure where you are.",
  has light;

Object -> packing_case "packing case"
  with name 'packing' 'case',
       before [;
           Receive: print "[packing_case: before: Receive]^";
       ],
       after [;
           Receive: print "[packing_case: after: Receive]^";
       ],
  has static container openable open;

Object -> rock "rock"
  with name 'rock',
       before [;
           Insert: print "[rock: before: Insert]^";
       ],
       after [;
           Insert: print "[rock: after: Insert]^";
       ];
 
[ Initialise;
  location = Start_Room;
];

Include "Grammar";


Expected behavior: The rock's after rule for Insert is called since none of the other 3 rules returns true and since Insert is a substantive action that changes the game state.
Actual behavior:

Quote:
Start of a transcript of

INSERTION RULES
An Interactive Bug Reproduction
Release 1 / Serial number 151226 / Inform v6.33 Library 6/12-beta1 S
Standard interpreter 1.0 (1F) / Library serial number 140724

>take rock
Taken.

>put rock in case
[rock: before: Insert]
[packing_case: before: Receive]
[packing_case: after: Receive]
You put the rock into the packing case.

>script off

End of transcript.


It's been years since I've really messed around with Inform 6, so I'd like to get a sanity check on these in case I'm doing something wrong.

Thanks.

_________________
Vince Laviano


Top
 Profile Send private message  
Reply with quote  
PostPosted: Sun Dec 27, 2015 3:14 am 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 576
Location: Washington
They both look valid. I've created issues for them in Github at https://github.com/DavidGriffith/inform6lib/issues/20 and https://github.com/DavidGriffith/inform6lib/issues/21. For Mantis: http://inform7.com/mantis/view.php?id=1805 and http://inform7.com/mantis/view.php?id=1806.

I'll look at them tomorrow.

_________________
David Griffith


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Dec 29, 2015 9:08 am 
Offline

Joined: Sat Dec 26, 2015 7:34 pm
Posts: 517
Thanks.

I've run into a couple more issues. Would you prefer that I post them here for you to verify, file them on Mantis, file them on Github, or some combo of these?

_________________
Vince Laviano


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Dec 29, 2015 6:08 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 576
Location: Washington
Please post them here. Perhaps this will benefit from having several people go over the issues.

_________________
David Griffith


Top
 Profile Send private message  
Reply with quote  
PostPosted: Tue Dec 29, 2015 10:01 pm 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 576
Location: Washington
I've fixed the two bugs described. Waiting for your reports on new ones.

The latest git of Inform6unix has the fixes. If you don't want to do that, just grab the latest verlibm.h.

_________________
David Griffith


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Dec 30, 2015 12:34 am 
Offline

Joined: Sat Dec 26, 2015 7:34 pm
Posts: 517
Thanks for the fixes. I'll pull the latest and greatest from git.

DavidG wrote:
Waiting for your reports on new ones.


Ok, here we go.

1. Implicit action notification happens late.

Code:
Constant Story "IMPLICIT ACTION NOTIFICATION ORDERING";
Constant Headline "^An Interactive Bug Reproduction^";

Include "Parser";
Include "VerbLib";

Object Start_Room "Somewhere",
  with description "You're not sure where you are.",
  has light;

Object -> cage "cage"
  with name 'cage',
       after [;
           Open: "You hesitantly swing open the cage door.";
       ],
  has enterable container openable transparent static;

[ Initialise;
  location = Start_Room;
];

Include "Grammar";


Expected: When the player takes an action (such as entering the cage in the example program) that triggers an implicit action (opening the cage), a notification that the implicit action is being attempted (i.e. "(first opening the cage)") is reported to the player first, followed by a report about the results of the attempted action.

Actual: The results of the implicit action are reported first, followed by the report that the action is being attempted.

Quote:
Start of a transcript of

IMPLICIT ACTION NOTIFICATION ORDERING
An Interactive Bug Reproduction
Release 1 / Serial number 151229 / Inform v6.33 Library 6/12-beta1 S
Standard interpreter 1.0 (1F) / Library serial number 140724

>enter cage
You hesitantly swing open the cage door.
(first opening the cage)
You get into the cage.

>script off

End of transcript.


2. Orders fully parsed by an animate/talkable object's grammar routine are not being delivered to its orders routine.

This is a simplified version of exercise 30 in the DM4. See page 140 for an explanation of what the return values from grammar are supposed to indicate and a description of the exercise, and pages 449-450 for the official solution.

Code:
Constant Story "GRAMMAR AND ORDERS";
Constant Headline "^An Interactive Bug Reproduction^";

Include "Parser";
Include "VerbLib";

Object Start_Room "Somewhere"
  with description "You're not sure where you are.",
  has light;

Object -> girl "girl"
  with name 'girl',
       orders [;
           WaveHands: "The girl waves energetically.";
       ],
       grammar [;
           if (verb_word == 'xyzzy') {
               action = ##WaveHands;
               noun = 0;
               second = 0;
               rtrue;
           }
       ],
  has animate female;

[ Initialise;
  location = Start_Room;
];

Include "Grammar";


Expected: "girl, xyzzy" produces the "The girl waves energetically." message.

Actual: "girl, xyzzy" produces "Nothing to do!" from the parser. I took a look at the library code and see that both L__M(##Miscellany, 2) and L__M(##Miscellany, 43) are defined with this text.

Quote:
Start of a transcript of

GRAMMAR AND ORDERS
An Interactive Bug Reproduction
Release 1 / Serial number 151229 / Inform v6.33 Library 6/12-beta1 SX
Standard interpreter 1.0 (1F) / Library serial number 140724

>girl, wave
The girl waves energetically.

>girl, xyzzy
Nothing to do!

>script off

End of transcript.


3. Infix ;give command output missing a newline before new prompt

This is just a trivial cosmetic issue.

Same example program as 2. above. Compile it with the -X Infix debugging flag and we have:

Quote:
Start of a transcript of

GRAMMAR AND ORDERS
An Interactive Bug Reproduction
Release 1 / Serial number 151229 / Inform v6.33 Library 6/12-beta1 SX
Standard interpreter 1.0 (1F) / Library serial number 140724

>;give me light
(yourself (20))
; give (yourself) light
>script off

End of transcript.

_________________
Vince Laviano


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Dec 30, 2015 1:07 am 
Offline

Joined: Fri Jul 23, 2010 5:20 pm
Posts: 266
Thank you, Vince, for reporting those bugs ! It's really helpful, and thanks for the minimal source codes too!

_________________
http://hlabrande.fr/if


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Dec 30, 2015 1:07 am 
Offline

Joined: Sat Dec 26, 2015 7:34 pm
Posts: 517
Comment on git stuff.

Did a

Quote:


and got your top level repo and the lib submodule with no problem, but it gave me a permissions error on the src submodule:

Quote:
Cloning into 'inform6unix'...
remote: Counting objects: 1585, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 1585 (delta 1), reused 0 (delta 0), pack-reused 1581
Receiving objects: 100% (1585/1585), 4.95 MiB | 154.00 KiB/s, done.
Resolving deltas: 100% (989/989), done.
Checking connectivity... done.
Submodule 'lib' (git://github.com/DavidGriffith/inform6lib.git) registered for path 'lib'
Submodule 'src' (git@github.com:DavidKinder/Inform6.git) registered for path 'src'
Cloning into 'lib'...
remote: Counting objects: 1049, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 1049 (delta 3), reused 0 (delta 0), pack-reused 1040
Receiving objects: 100% (1049/1049), 663.57 KiB | 150.00 KiB/s, done.
Resolving deltas: 100% (710/710), done.
Checking connectivity... done.
Submodule path 'lib': checked out '66fe4e69129eaa1308b436e239d630631fba2a01'
Cloning into 'src'...
Warning: Permanently added the RSA host key for IP address '[redacted]' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@github.com:DavidKinder/Inform6.git' into submodule path 'src' failed


However, I can do a direct http clone of the Inform6 repo with no problems:

Quote:
$ git clone --recursive https://github.com/DavidKinder/Inform6.git
Cloning into 'Inform6'...
remote: Counting objects: 722, done.
remote: Total 722 (delta 0), reused 0 (delta 0), pack-reused 722
Receiving objects: 100% (722/722), 866.31 KiB | 151.00 KiB/s, done.
Resolving deltas: 100% (519/519), done.
Checking connectivity... done.


I notice in the clone output that the submodules are specified differently: "git://github.com/DavidGriffith/inform6lib.git" vs. "git@github.com:DavidKinder/Inform6.git". Looks like one is using the git protocol and the other is trying to log on as user git@github. Is this as it should be?

_________________
Vince Laviano


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Dec 30, 2015 4:09 am 
Offline
User avatar

Joined: Mon Dec 12, 2011 7:03 pm
Posts: 576
Location: Washington
vlaviano wrote:
Comment on git stuff.

Did a

Quote:


and got your top level repo and the lib submodule with no problem, but it gave me a permissions error on the src submodule:

I notice in the clone output that the submodules are specified differently: "git://github.com/DavidGriffith/inform6lib.git" vs. "git@github.com:DavidKinder/Inform6.git". Looks like one is using the git protocol and the other is trying to log on as user git@github. Is this as it should be?


Please give it a try again.

_________________
David Griffith


Top
 Profile Send private message  
Reply with quote  
PostPosted: Wed Dec 30, 2015 4:36 am 
Offline

Joined: Sat Dec 26, 2015 7:34 pm
Posts: 517
DavidG wrote:
Please give it a try again.


Problem solved. Thanks.

_________________
Vince Laviano


Top
 Profile Send private message  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 39 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group