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.