doodle/balance
Noah Petherbridge 0044b72943 Drag Doodads Onto Levels in Edit Mode
Add the ability to drag and drop Doodads onto the level. The Doodad
buttons on the palette now trigger a Drag/Drop behavior when clicked,
and a "blueprint colored" version of the Doodad follows your cursor,
centered on it.

Actors are assigned a random UUID ID when they are placed into a level.

The Canvas gained a MaskColor property that forces all pixels in the
drawing to render as the same color. This is a visual-only effect, and
is used when dragging Doodads in so they render as "blueprints" instead
of their actual colors until they are dropped.

Fix the chunk bitmap cache system so it saves in the $XDG_CACHE_FOLDER
instead of /tmp and has better names. They go into
`~/.config/doodle/chunks/` and have UUID file names -- but they
disappear quickly! As soon as they are cached into SDL2 they are removed
from disk.

Other changes:

- UI: Add Hovering() method that returns the widgets that are beneath
      a point (your cursor) and those that are not, for easy querying
      for event propagation.
- UI: Add ability to return an ErrStopPropagation to tell the master
      Scene (outside the UI) not to continue sending events to other
      parts of the code, so that you don't draw pixels during a drag
      event.
2018-10-20 16:03:59 -07:00
..
debug.go Draw Actors Embedded in Levels in Edit Mode 2018-10-19 13:32:25 -07:00
numbers.go Drag Doodads Onto Levels in Edit Mode 2018-10-20 16:03:59 -07:00
README.md Draw Actors Embedded in Levels in Edit Mode 2018-10-19 13:32:25 -07:00
shell.go Draw Actors Embedded in Levels in Edit Mode 2018-10-19 13:32:25 -07:00
theme.go Drag Doodads Onto Levels in Edit Mode 2018-10-20 16:03:59 -07:00

balance

Constants and settings for the Doodle app.

Environment Variables

Some runtime settings can be configured in the environment. Here they are with their default values.

Most colors work with alpha channels; just provide an 8 hex character code, like #FF00FF99 for 153 ($99) on the alpha channel.

  • Application Windw Size (ints):
    • DOODLE_W=1024
    • DOODLE_H=768
  • Shell settings:
    • D_SHELL_BG=#001428C8: shell background color.
    • D_SHELL_FG=#0099FF: shell text color.
    • D_SHELL_PC=#FFFFFF: shell prompt color.
    • D_SHELL_LN=8: shell history line count (how tall the shell is in lines)
    • D_SHELL_FS=16: font size for both the shell and on-screen flashed messages.
  • Debug Colors and Hitboxes (default invisible=off):
    • DOODLE_DEBUG_ALL=false: turn on all debug colors and hitboxes to their default colors and settings.
    • DEBUG_CHUNK_COLOR=#FFFFFF: background color when caching a chunk to bitmap. Helps visualize where the chunks and caching are happening.
    • DEBUG_CANVAS_BORDER: draw a border color around every uix.Canvas widget. This effectively draws the bounds of every Doodad drawn on top of a level or inside a button and the bounds of the level space itself.
    • DEBUG_CANVAS_LABEL=false: draw a label in the corner of every Canvas with details about the Canvas.
  • Tuning constants (may not be available in production builds):
    • D_SCROLL_SPEED=8: Canvas scroll speed when using the keyboard arrows in the Editor Mode, in pixels per tick.
    • D_DOODAD_SIZE=100: Default size when creating a new Doodad.