nhmall
055caaffbf
revisit shop_keeper() readiness
...
During a restore from a savefiles is not the only
time that levels are processed by getlev() in NetHack.
They are read back in as the hero moves up and down
between levels and dungeons.
The previous fix checked for program_state.beyond_savefile_load,
but once set, that remains static through level changes.
It would be better to check the status of the level
being read, because those operations do placements as well.
Add the following:
struct levelstatus level_status;
level_status.making - in the midst of makelevel processing
level_status.loading - in the midst of loading a level via getlev()
level_status.ready - the level is fully ready
(all 3 of the above status settings are mutually exclusive)
level_status.shkready - the level processing is far enough
along to allow shop keeper tests and actions
This also relocates the find_lev_obj() call in getlev() down several
lines, so that it falls after any set_residency() calls, so that it
has a better chance of carrying out what it was intending to do with
the shop_keeper() checks made by its subfunctions.
2026-05-31 13:26:34 -04:00
..
2026-04-26 13:21:18 -04:00
2025-09-07 12:50:54 -04:00
2026-05-22 06:02:00 +01:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-30 11:32:37 -04:00
2026-05-16 16:51:34 +03:00
2026-04-26 09:25:42 -04:00
2026-05-22 06:02:00 +01:00
2026-05-02 00:19:08 -04:00
2026-04-28 17:34:03 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-31 13:26:34 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-30 17:09:02 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-22 12:25:13 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-24 15:37:35 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-26 22:00:12 -04:00
2026-05-02 00:19:08 -04:00
2026-05-11 15:06:13 -07:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-30 11:40:54 -04:00
2026-05-02 00:19:08 -04:00
2026-05-01 09:12:37 -04:00
2026-05-28 21:08:54 +02:00
2026-05-02 07:49:47 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 07:49:47 -04:00
2026-05-22 06:02:00 +01:00
2024-03-14 17:41:51 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 17:47:25 +01:00
2026-05-02 00:19:08 -04:00
2026-05-04 22:58:59 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 07:49:47 -04:00
2026-05-02 00:19:08 -04:00
2026-05-31 13:26:34 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-31 13:26:34 -04:00
2026-05-16 11:37:51 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-11 15:06:13 -07:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-24 02:55:57 +02:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-01 17:17:17 -04:00
2026-05-25 14:44:32 -04:00
2026-05-02 00:19:08 -04:00
2026-05-24 11:49:12 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 18:01:10 -04:00
2026-05-31 13:26:34 -04:00
2026-05-27 20:14:50 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 13:21:18 -04:00
2026-05-25 14:44:32 -04:00
2026-04-26 09:25:42 -04:00
2026-05-27 16:14:20 -04:00
2026-05-27 16:14:20 -04:00
2026-05-31 13:26:34 -04:00
2026-05-01 09:12:37 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-14 13:03:48 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-25 14:44:32 -04:00
2026-05-22 06:02:00 +01:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-04-26 09:25:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-30 11:32:37 -04:00
2026-05-01 08:11:42 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-01 09:12:37 -04:00
2026-04-26 12:34:02 -04:00
2026-05-25 14:44:32 -04:00
2026-04-26 12:34:02 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00
2026-05-02 00:19:08 -04:00