Inform - Support - Source

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing verblibm.h

WriteAfterEntry (lines 555-656)

0555  [ WriteAfterEntry o depth stack_p
0556      p recurse_flag parenth_flag eldest_child child_count combo;
0557   
0558      inventory_stage = 2;
0559      if (c_style & PARTINV_BIT) {
0560          if (o.invent && RunRoutines(o, invent))                 ! These lines
0561              if (c_style & NEWLINE_BIT) ""; else rtrue;          ! added
0562   
0563          combo = 0;
0564          if (o has light && location hasnt light) combo=combo+1;
0565          if (o has container && o hasnt open)     combo=combo+2;
0566          if ((o has container && (o has open || o has transparent))
0567              && (child(o)==0))                    combo=combo+4;
0568          if (combo) L__M(##ListMiscellany, combo, o);
0569      }   ! end of PARTINV_BIT processing
0570   
0571      if (c_style & FULLINV_BIT) {
0572          if (o.invent && RunRoutines(o, invent))
0573              if (c_style & NEWLINE_BIT) ""; else rtrue;
0574   
0575          if (o has light && o has worn) { L__M(##ListMiscellany, 8);     parenth_flag = true; }
0576          else {
0577              if (o has light)           { L__M(##ListMiscellany, 9, o);  parenth_flag = true; }
0578              if (o has worn)            { L__M(##ListMiscellany, 10, o); parenth_flag = true; }
0579          }
0580   
0581          if (o has container)
0582              if (o has openable) {
0583                  if (parenth_flag) print (string) AND__TX;
0584                  else              L__M(##ListMiscellany, 11, o);
0585                  if (o has open)
0586                      if (child(o)) L__M(##ListMiscellany, 12, o);
0587                      else          L__M(##ListMiscellany, 13, o);
0588                  else
0589                      if (o has lockable && o has locked) L__M(##ListMiscellany, 15, o);
0590                      else                                L__M(##ListMiscellany, 14, o);
0591                  parenth_flag = true;
0592              }
0593              else
0594                  if (child(o)==0 && o has transparent)
0595                      if (parenth_flag) L__M(##ListMiscellany, 16, o);
0596                      else              L__M(##ListMiscellany, 17, o);
0597   
0598          if (parenth_flag) print ")";
0599      }   ! end of FULLINV_BIT processing
0600   
0601      if (c_style & CONCEAL_BIT) {
0602          child_count = 0;
0603          objectloop (p in o)
0604              if (p hasnt concealed && p hasnt scenery) { child_count++; eldest_child = p; }
0605      }
0606      else { child_count = children(o); eldest_child = child(o); }
0607   
0608      if (child_count && (c_style & ALWAYS_BIT)) {
0609          if (c_style & ENGLISH_BIT) L__M(##ListMiscellany, 18, o);
0610          recurse_flag = true;
0611      }
0612   
0613      if (child_count && (c_style & RECURSE_BIT)) {
0614          if (o has supporter) {
0615              if (c_style & ENGLISH_BIT) {
0616                  if (c_style & TERSE_BIT) L__M(##ListMiscellany, 19, o);
0617                  else                     L__M(##ListMiscellany, 20, o);
0618                  if (o has animate)       print (string) WHOM__TX;
0619                  else                     print (string) WHICH__TX;
0620              }
0621              recurse_flag = true;
0622          }
0623          if (o has container && (o has open || o has transparent)) {
0624              if (c_style & ENGLISH_BIT) {
0625                  if (c_style & TERSE_BIT) L__M(##ListMiscellany, 21, o);
0626                  else                     L__M(##ListMiscellany, 22, o);
0627                  if (o has animate)       print (string) WHOM__TX;
0628                  else                     print (string) WHICH__TX;
0629                  }
0630              recurse_flag = true;
0631          }
0632      }
0633   
0634      if (recurse_flag && (c_style & ENGLISH_BIT))
0635          if (child_count > 1 || eldest_child has pluralname) print (string) ARE2__TX;
0636          else                                                print (string) IS2__TX;
0637   
0638      if (c_style & NEWLINE_BIT) new_line;
0639   
0640      if (recurse_flag) {
0641          o = child(o);
0642          #Ifdef TARGET_ZCODE;
0643          @push lt_value; @push listing_together; @push listing_size;
0644          #Ifnot; ! TARGET_GLULX;
0645          @copy lt_value sp; @copy listing_together sp; @copy listing_size sp;
0646          #Endif;
0647          lt_value = 0;   listing_together = 0;   listing_size = 0;
0648          WriteListR(o, depth+1, stack_p);
0649          #Ifdef TARGET_ZCODE;
0650          @pull listing_size; @pull listing_together; @pull lt_value;
0651          #Ifnot; ! TARGET_GLULX;
0652          @copy sp listing_size; @copy sp listing_together; @copy sp lt_value;
0653          #Endif;
0654          if (c_style & TERSE_BIT) print ")";
0655      }
0656  ];


Last updated 27 February 2004. The librarian in charge of this page is Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight. Please email any comments, suggestions or corrections to cedenqs@inform-fiction.org.