I have encountered a limit in PunyInform 1.8 (perhaps all versions?), which may be well known, I don’t know… I wasn’t aware of it though.
I noticed, that if I close a box with an object inside, so only 30 objects are visible, the error goes away.
I don’t know where to look up these error codes. If this is a known limitation, could you please let me know where such limitations are described?
Thanks
My applied inf-file:
!% -~S
!% $OMIT_UNUSED_ROUTINES=1
! The very first lines of the main source code file for a game can contain compiler options, like the two lines above.
! -~S disables strict error checking. This is otherwise used in z5 and z8 games by default. While useful for debugging,
! it adds ~10 KB to the story file size and it makes the game slower.
! $OMIT_UNUSED_ROUTINES=1 makes the compiler remove all routines which aren’t used. This can save some space.
Constant Story “Minimal”;
Constant Headline “^A sample game which uses PunyInform.^”;
! Uncomment ONE of the two following lines, to show either time or score/turns
! Leaving both commented out makes the library bigger.
!Constant STATUSLINE_TIME; Statusline time;
Constant STATUSLINE_SCORE; Statusline score;
! Uncomment to add optional features to PunyLib
!Constant DEBUG;
!Constant CUSTOM_ABBREVIATIONS;
!Constant OPTIONAL_ALLOW_WRITTEN_NUMBERS;
!Constant OPTIONAL_EXTENDED_METAVERBS;
!Constant OPTIONAL_EXTENDED_VERBSET;
!Constant OPTIONAL_PRINT_SCENERY_CONTENTS;
!Constant OPTIONAL_FULL_SCORE;
!Constant OPTIONAL_FULL_DIRECTIONS;
!Constant OPTIONAL_SHIP_DIRECTIONS;
!Constant OPTIONAL_GUESS_MISSING_NOUN;
!Constant OPTIONAL_MANUAL_SCOPE;
!Constant RUNTIME_ERRORS = 0;
! Define any library constants you need here, like MAX_SCORE, AMUSING_PROVIDED,
! MAX_CARRIED, SACK_OBJECT, etc.
Constant INITIAL_LOCATION_VALUE = Library;
Include “globals.h”;
! Define your own global variables here, if any
! Define the entry point routines you need here, like Amusing, DarkToDark etc.
! Uncomment to add PunyLib extensions
!Include “ext_menu.h”;
!Include “ext_flags.h”;
!Include “ext_quote_box.h”;
!Include “ext_cheap_scenery.h”;
Include “puny.h”;
! Uncomment to add PunyLib extensions
!Include “ext_waittime.h”;
Object Library “The Library”
with
description “You are in a library.”,
has light;
Object -> Hammer “hammer”
with
name ‘hammer’; !1
Object -> dust “dust”
with
name ‘dust’; !2
Object -> chisel “chisel”
with
name ‘chisel’; !3
Object -> gold “gold”
with
name ‘gold’; !4
Object -> chest “chest”
with
name ‘chest’; !5
Object -> sword “sword”
with
name ‘sword’; !6
Object -> plate “plate”
with
name ‘plate’; !7
Object -> shaver “shaver”
with
name ‘shaver’; !8
Object -> pen “pen”
with
name ‘pen’; !9
Object -> paper “paper”
with
name ‘paper’; !10
Object -> table “table”
with
name ‘table’; !11
Object -> phone “phone”
with
name ‘phone’; !12
Object -> crab “crab”
with
name ‘crab’; !13
Object -> donkey “donkey”
with
name ‘donkey’; !14
Object -> mamba “mamba”
with
name ‘mamba’; !15
Object -> snake “snake”
with
name ‘snake’; !16
Object -> bottle “bottle”
with
name ‘bottle’; !17
Object -> cap “cap”
with
name ‘cap’; !18
Object -> hat “hat”
with
name ‘hat’; !19
Object -> monkey “monkey”
with
name ‘monkey’; !20
Object -> saw “saw”
with
name ‘saw’; !21
Object -> pin “pin”
with
name ‘pin’; !22
Object -> diamond “diamond”
with
name ‘diamond’; !23
Object -> sapphire “sapphire”
with
name ‘sapphire’; !24
Object -> shoe “shoe”
with
name ‘shoe’; !25
Object -> underwear “underwear”
with
name ‘underwear’; !26
Object -> bible “bible”
with
name ‘bible’; !27
Object -> pill “pill”
with
name ‘pill’; !28
Object -> pocket “pocket”
with
name ‘pocket’; !29
Object -> key “key”
with
name ‘key’; !30
Object -> Box “box” !31
with
name ‘box’,
inside_description “It feels so nice, standing in the box.”,
description “The box looks heavy.”,
has container open openable enterable;
[Initialise;
print “^^And so the story begins…^^”;
move Hammer to Box;
];