Mercurial > hg > early-roguelike
view urogue/TODO @ 296:000b1c5b8d63
UltraRogue: fix inventory collision after save and restore.
Inventory letters are based on "identifiers" stored in objects' o_ident
field. Identifiers are allocated by get_ident(), which keeps a list of
objects that have them, to avoid giving the same identifier to multiple
objects.
The list is not stored in the savefile, so after restore, get_ident()
was not aware of existing identifiers. This resulted in picked-up
objects having the same inventory letters as objects restored from the
file.
The restore code now adds all objects with identifiers to the list.
author | John "Elwin" Edwards |
---|---|
date | Mon, 15 Jan 2018 20:20:35 -0500 |
parents | c495a4f288c6 |
children |
line wrap: on
line source
UltraRogue: The Ultimate Adventure in the Dungeons of Doom Copyright (C) 1993, 1995 Herb Chong All rights reserved. %W% %G% add_pack() calls ur_free() on the linked list pointer passed to it. Need to go through code and look for cases where we use that pointer after calling add_pack(). Electric fence in guard-free() mode should help. Similary throw_away(), discard(), discard_pack() free items... there will be more like this... Bug in genocide scroll: don't request list, type letter, etc... Implement potion of true sight. Bug: apparently when creating a new familiar after a player level change, something isn't begin reset because ur SEGVs when running through the monster list in do_chase() right after the new familiar is created. It appears that the familiar isn't being removed from the monster list.