Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.59 KB

TODO.md

File metadata and controls

71 lines (52 loc) · 2.59 KB

TODO

Current goals:

  • (!) Fix bug: Saving the first map view when the editor opens does not work. It saves an empty map.
  • Use Settings::BRUSH_INSERTION_OFFSET when rendering a Raw Brush preview
  • Add right-click context menu items:
    • Select raw brush
    • Select ground brush
    • Select border brush
    • Select doodad brush
    • Select wall brush

Palettes

Crashes

  • [Not verified, unknown crash reason]: Select two creatures (and maybe something else) and click delete

Rendering

Map Rendering

  • Add possbility for a CreatureType to have the look of an item
  • Implement animation
  • Handle stackable appearances
  • Handle appearances with elevation
  • Feature?: When removing in area (Drag while Ctrl+Shift), show selection rectangle (red tinted?) with the selected item at mouse cursor ONLY.
  • Feature: Instant feedback for what items will be removed when removing in area (Drag while Ctrl+Shift).
  • Animations
    • Implementation:
      • When rendering map, store the lowest animation delay D for next animation for any rendered item.
      • If any animation was found, queue another render with delay D. Otherwise, no render queueing is necessary.
    • Only update visible animations.
    • Do not render animations when zoomed out further than a certain level.
  • Light effects (For example from torches)

Editing functionality

  • topItem selected: RELEASE deselects, but ONLY if mouse has been outside of this tile since the PRESS event.
  • Reorder items on a tile.
  • (Stretch): reorder an item group among selected tiles. For example, move grass borders one level up.
  • Move selected items
  • topItem not selected: PRESS selects.
  • BUG: A selection can be moved out of bounds. It should clamp to the map size, [and maybe to max/min floor?]

Optimization

GUI

  • Drag & Drop of item palettes
  • Snap to left/bottom/right
  • Snap to other itempalettes - Only if the itempalette is not already snapped to a side
  • Palette ComboBox
    • Render the palette names
    • Implement changing palette
    • Implement changing tileset

General

  • System for customizable keybindings

Scripting

Map

  • Investigate whether the map can be stored more efficiently. Place to start: quadtree.