This page:
Page history
Links to here

Last modified:
2007-07-29 at 00:45

Todos

These are the historical todolists, stored here because they're useful to have around. Current revisions have items taken off them as they're done, or if an expansion on them is available elsewhere on the Wiki/Trac. The originals are still available:


Angband 3.0.6 TODO

  • Open the file handles for score and savefiles at startup and then drop all permissions.
  • Rewrite the debug-mode object flag display so that it doesn't require manual changes for every new flag.
  • Make sure that signed integers aren't bit-shifted.
  • Add a compile-time option that prevents the player from saving pref-files, character dumps, and screenshots.
  • Mimics should be true objects until the player steps next to them.
  • Add race-specific starting equipment.
  • Improve the savefile handling of the monster recall.
  • Assign graphical tiles to the new monsters and objects.
  • Add new room types.

Ben's

Bugs in Angband 2.8.3 that should get fixed for Angband 2.8.4

  • Allow all user preferences (colors, visuals, keymaps, macros, etc) to be stored in a special user pref file, which is auto-loaded at game startup, and which is auto-dumped whenever the game is saved, replacing the original file. This file should live in the "user" directory, with a special name. Make sure to only load the basic user pref files before loading this one, and/or when appropriate options are changed by the user (i.e. "use_graphics"). This file should rarely be changed by humans, so comments should be minimal.

Bugs in Angband 2.8.3 that might not get fixed for Angband 2.8.4

  • Attacking invisible monsters while afraid needs a better message, perhaps two separate messages.
  • Consider a special command, bound to "tab", which would, without changing the screen, take control at the "inkey" prompt and allow the use of various special "sub-functions", including a special "enter direct keypress" interface, and a "take snap-shot" command, and maybe even a special "exit game immediately" command.
  • Every 'bell()' call should perhaps have a 'message_add()' call as well, especially for debugging problems. Perhaps certain "prompts" should also have "message_add()" calls. Perhaps a special function for displaying prompts should be created.
  • Perhaps a special screen which displays all keypresses and what actions they are bound to via keymaps, and allows changes to be made. This might require textual names for every "command". This might also require a new command keypress.
  • A standard "debug" flag would be useful (perhaps use "arg_fiddle") for analyzing problems in "visual modules".
  • Make sure all of the "flow" functions treat cost "zero" correctly.
  • The "teleport" spells should limit the "distance" argument to reasonable values, to assist with variants.
  • Spells like "sleep 3" cause the monster health bar to track each monster as it is affected, stopping on the final monster.
  • The "monster_swap()" function will break if monsters are ever allowed to move into the player's grid. It should use a "m1 < 0" comparison. It should perhaps be the nexus for the monster movement disturb code.
  • Move the silly "crown" picture into an external file.
  • Perhaps monster breath attack power should be based on their health.
  • Change "wizard" to a few "cheat" flags, such as "show_damage". Then use "wizard" only for preventing death and restoring dead characters. Perhaps the "cheat" options (and "noscore") should be cleaned up, perhaps including changing "wizard" into some "cheat_xxx" flags, and reserving eight full flags for the "Borg".
  • Add hints to the "identify symbol" prompt about special chars, or at least provide a special "?" sub-command.
  • The pictures need help. Either change the walls or the doors. The high level books all have different pictures. The flavored objects all have "random" pictures. Some traps (glyph, summon, teleport) look the same. Some traps (trap door, pit, spots) look the same. All veins (magma, quartz) look the same. Many of the "wall" pictures are not used for anything.
  • Perhaps we should have macros to get/set "cave flags", and/or the "marked" flag (etc) on objects/monsters.
  • Perhaps the "charge" on artifacts should be different from that on rods, for example, each artifact (or dragon scale mail) could have a "default timer" which is reset whenever the item is taken off (or put on), so it must be worn ahead of its desired use (instead of worn to recharge and then removed for later use).
  • Do something about "It moves quickly" applied to mushrooms.
  • Remove cycles from "main-gcu.c" via a special "Term_xtra_gcu_shape()" function, and placing it before "Term_xtra_gcu_alive()". Move the init/nuke functions down quite a bit. See "src-old" directory.
  • Macintosh version needs a better format for the preference file, perhaps borrowed from the Windows "angband.ini" file.
  • Should have a generic "change depth" procedure.
  • All "special" screens should actually save, clear, use, and load the screen. This should include "self knowledge" and "examine" (but not "recall monster" and "inventory"). Perhaps all of these screens should (optionally) appear on a non-primary window. This might require a special prompt on the main screen.
  • Add "object_mark()" and "object_mark_p()" interface functions to interface with the player specific object memorization flags.
  • Add "monster_mark()" and "monster_mark_p()" interface functions to interface with the player specific monster memorization flags.
  • For "main-x11.c", need a nice way to turn extra windows on and off.
  • Let monsters breathe when confused (in random directions?)
  • Some of the "p_ptr->depth" references really should be "d_ptr->depth", such as the dungeon generation code, especially for multi-player use.
  • Look at the earthquake functions (in terms of multiple players).
  • Try to come up with a spiral function to use in the "look" and "target" commands to remove the need for any static arrays. That is, a weird way to traverse all the dungeon grids in a spiral path around the player, for doing the "next/prev interesting grid" computation. This could be (and should be) restricted to the "current panel", which should always contain the player, though the ability to move the panel while targetting might be really convenient. Or we could simply remove the ability to do the "next/prev interesting grid" motion, and modify the "jump to next interesting grid in the given direction" code with dynamic computation.
  • High score list should actually save "living" characters and should allow some method for removing them at various times in some manner.
  • People are working on "obvious flags" patches, in which the player "knows" certain things about certain items, and "learned flags" patches, in which certain flags are learned during the use of an object.
  • Be more paranoid when loading savefiles, in particular, check sex/race/class indexes, and object/monster locations.
  • Various objects (monster, object, artifact, unique, race, etc) should split out the pieces (if any) which are "player specific", such as recall, preferred colors, visibility, etc, to facilitate multi-player code.
  • A new encoding is needed for the status of artifacts, so that the "preserve" code and the "list known artifacts" code can be simplified. Actually, both "uniques" and "artifacts" should both have special "state" array with values "Waiting", "Created", and "Finished".
  • Reduce the power of globe of invulnerability, perhaps by adding a total damage field.
  • Should weird mind only be learned when actually sensed?
  • Should a glyph under the player protect from attacks?
  • The standard help files need some work. The "attack.txt" file needs to be cleaned up. The "options.txt" needs information on the new window and stacking options. The "version.txt" file needs to have most of its contents moved to the web page. We need an introductory on-line help file explaining how to play the game, in very general terms, from start to finish.
  • The "hallucination" code is currently "silly" with "use_graphics", but then, "hallucincation" is pretty silly anyway, so who cares. Also, various "special effects" look bad with "use_graphics", because the "misc_to_attr/misc_to_char" arrays have not yet been used to encode a variety of "special pictures", including the spell attack symbols and ball explosions, various player pictures, the special "stack" picture, and the "darkness" picture. The use of entry zero in various "picture" arrays was probably a mistake.
  • Add a "known monster" sub-option to the "knowledge" command.
  • New "cheat" options are needed for granting the player full knowledge of artifacts/ego-items (including "hidden" flags).
  • Maybe all the "arg_xxx" options should simply "over-ride" the "savefile options", and then "use_sound" and "use_graphics" should all become normal options, and the "main-xxx.c" files would then have to keep a special flag for "reacting" to such changes.
  • Add interface to modify the names of windows, the names of sounds, and allow both to be encoded in pref files.
  • Certain functions (such as the steal code) should first make sure there is an available object, but should still handle failure gracefully.
  • Normal monster drops should have a message, if visible, and the "atmosphere" option is set.
  • Consider monster inventory pre-generation, and increase the size of the object array. Consider the possibility of monsters carrying artifacts. Consider the possibility of monsters using the objects they are carrying.
  • Certain window options should be allowed to work together, such as the "recall monster" and "recall object" options, since some window options are only needed temporarily, while others are only needed when nothing else is being displayed.
  • The "heal" prayer does not cure poison, maybe it should.
  • Making the player inventory part of the dungeon objects would be very nice for functions which pass around object indexes, and would allow expandable player inventory, but would require some work to make sure that player objects were protected from various functions, much like monster objects.
  • Perhaps the "feeling" from out-of-depth objects should be "capped" at some reasonable value, consider rings of speed.
  • Orc captains should perhaps have escorts.
  • Darkness breath looks weird (floors) when the player is blind.
  • Intelligent monsters should avoid certain spells, like useless summon spells, and grabbing the player when the monster is fleeing.
  • Perhaps the "my_fgets()" call should be converted into specialized functions working with the "fd_open()" command. Or maybe not.
  • New spoiler files are needed for the monsters, artifacts, etc.
  • Do some kind of "context help" for things like "recall messages".
  • Armor prices should be calculated relative to the assumed modifiers to hit and to damage, not to zero, and then all the armor prices should be readjusted to allow unknown armor to be worth at most as much as known armor. Verify this.
  • The Lucerne Hammer should be a bladed pole-arm and not a hafted/blunt weapon. I have been waiting on this until the object list is rearranged. Also, there is an artifact Lucerne Hammer designed for priests (add the "blessed" flag).
  • Perhaps a "map information centered around the player" window flag would be nice, though very expensive, perhaps it should display the "viewable" grid array, which might be slightly faster. This would be very useful if combined with the new detailed graphics.
  • The "monsters know player resistances" option should be modified to allow a monster to "weight" various attacks based on "predicted damage" (much as is done by the Borg), since currently, the option is actually counter-productive, and having a fire dragon never breathe fire is slightly silly.
  • Perhaps the "filename parser" should be used in all situations to convert between "canonical" filenames (leading tilde, slash divider) to "system" filenames (no tildes, system-specific separator). This would simplify some things and complicate others.
  • Using stairs takes a turn, perhaps this is bad, note that recall, for example, does not. Perhaps entering a new level should always start the player with zero, or perhaps full, energy. Remember that loading a saved game often acts like entering a new level.
  • Monsters attempt to open closed doors even when walking around the closed door would be a more reliable method.
  • A "bubble" sort is still used to select monsters in pits and during object spoiler file generation.
  • Various Monsters and Objects are perhaps "Excessively Capitalized".
  • Something needs to be done about monster distribution.
  • The standard "pluralization" rules are slightly incorrect, for example, "staff" should become "staves". But few people actually care.
  • The four "druj" monsters never get to use their melee attacks.
  • Some default color mappings are needed for the "pref-ibm.prf" file.
  • There is a new "TERM_XTRA_REACT" ability that various "main-xxx.c" files should probably support.
  • Various people have reported unexplainable "level feelings".
  • Some people have suggested a "backstab" or "theft" attack for rogues.
  • Some people have requested that feather falling resist trap doors, or gravity.
  • Some people have requested the ability to memorize "negative" info about monsters, for example, to be able to notice when a monster can not open doors, or is not invisible.
  • Some people have requested "quest" levels, and someone sent some code to implement the "dragon" quest, more or less, and perhaps a general method of encoding "hard-coded levels" should be introduced.
  • Some people want the "character dump" to include killed uniques, found artifacts, number of each monster killed, etc.
  • Some people have requested that more types of "monster status" (as in "unhurt" or "wounded") be used.
  • Some people have requested that "unused" blows not take energy, allowing multiple attacks to be spread among wimpy monsters.
  • Some people have requested the ability to have the color of the objects in the inventory match the color of the object on the ground, or to have pictures of the item appear next to the item description.
  • Some people have requested that the object_level in monster drops be calculated from a more interesting formula using the monster level and the dungeon level.
  • Some people have requested the use of a limit on the total number of "boosted" dice on ego-items, and of increased boosting odds.