fix #H7156 - perm_invent
Bug report #H7156 listed three items, all relating to perm_invent: 1) it shouldn't persist across save/restore since restore might be on a system which doesn't have enough room to display it (report actually complained that config file setting was ignored when restoring old games, which is an expected side-effect for options that persist across save/restore); 2) permanent inventory wasn't updated when using scroll of charging; 3) attempts to update permanent inventory during restore could lead to crash if it tries to access shop cost for unpaid items. Items (2) and (3) have already been fixed. This fixes (1). Replace 'flags.perm_invent' with a dummy flag, preserving save files while removing it from flags. Add 'iflags.perm_invent' to hold the value of the perm_invent option. The win32 files that are updated here haven't been tested. Whichever branch contains the curses interface needs to be updated; ditto for any other pending/potential interfaces which support perm_invent.
This commit is contained in:
@@ -40,7 +40,7 @@ struct flag {
|
||||
boolean lit_corridor; /* show a dark corr as lit if it is in sight */
|
||||
boolean nap; /* `timed_delay' option for display effects */
|
||||
boolean null; /* OK to send nulls to the terminal */
|
||||
boolean perm_invent; /* keep full inventories up until dismissed */
|
||||
boolean p__obsolete; /* [3.6.2: perm_invent moved to iflags] */
|
||||
boolean pickup; /* whether you pickup or move and look */
|
||||
boolean pickup_thrown; /* auto-pickup items you threw */
|
||||
boolean pushweapon; /* When wielding, push old weapon into second slot */
|
||||
@@ -292,6 +292,7 @@ struct instance_flags {
|
||||
boolean menu_tab_sep; /* Use tabs to separate option menu fields */
|
||||
boolean news; /* print news */
|
||||
boolean num_pad; /* use numbers for movement commands */
|
||||
boolean perm_invent; /* keep full inventories up until dismissed */
|
||||
boolean renameallowed; /* can change hero name during role selection */
|
||||
boolean renameinprogress; /* we are changing hero name */
|
||||
boolean status_updates; /* allow updates to bottom status lines;
|
||||
|
||||
Reference in New Issue
Block a user