ID:2416188
 
Version 512:
  • Display
    • Visual contents
    • Filters (blur, motion blur, outline, drop shadow, wave)
    • LEFT, RIGHT, TOP, BOTTOM screen_loc values, and also percentages and decimals
    • Transformed plane masters no longer clip objects that were out of the original bounds
  • Movement
    • step_x/y/size allow non-integers
    • Cross/Uncross/Crossed/Uncrossed now belong to all atoms, and are called by Enter/etc. in turfs' default procs
  • Language features
    • world.vars and global.vars
    • ~= and ~! equivalence operators
    • Operator overloading
    • world.byond_build, client.byond_build, and DM_BUILD macro
    • . and : operators can follow proc calls, list operations, etc.
    • ?. and ?: null-conditional operators
    • Raw strings
    • Bitwise operators use 24 bits instead of 16, except in older projects
    • Strings support [] operator for index access (read-only)
    • \ref macro no longer outputs tag when present, because that was annoying
    • mouse_over_pointer and its siblings changed to /tmp vars
  • Optimizations
    • VASTLY improved compile time for large projects
    • Improved proc scheduler
    • Var access optimization
    • Map pre-rendering optimization
    • Dream Seeker icon memory improvement (by not storing redundant frames)
    • while() and do-while() with constant conditons produce optimized code
    • Refactor under the hood for many string routines in hope of 513 features
  • Compiler
    • Const vars in stddef.dm also have #define macro equivalents now for faster compilation
    • Command-line option for dm.exe to change/remove the error cap
    • Command-line option for dm.exe to show full file paths
    • #define DEBUG is ignored in included libraries
    • Preprocessor switched from linear to binary search for faster compilation
    • Dream Maker "Compile and Run", "Host", and "Compile and Host" options
    • Find box in Dream Maker code editor made non-modal
    • Find Previous option in Dream Maker
    • Dream Maker saves last-used map zoom with the project
    • More informative compiler output
  • Icon editor
    • Icon list page replaced control with a new solution that won't flicker and stutter when handling huge icons.
    • Multi-level undo added to icon list page.
    • Reordering states within an icon is now much simpler.
    • Icon list page allows splitting and combining icons via right-click menu.
    • Pixmap and movie editing pages combined.
    • New movie control allows incredibly easy swapping of frames, copying frames, and changing of frame delays.
    • The size limit for editing pixmaps has been removed.
    • Pixmap editing canvas has a grid (toggleable) and draws much faster.
    • The pixmap editor supports tiled editing mode and tiled previews.
    • Antialiasing for sprite rotations in the editor has been improved, but it can also be toggled off.
    • Palettes can be loaded, saved, or made into quick presets via the Colors menu.
    • The icon editor can be made to use a light or dark background.
  • Debug/profiling
    • World status report added to Dream Daemon
    • Client profiler added to Dream Seeker
  • Input
    • New "drag" parameter in mouse operations
  • Skin
    • output.legacy-size skin parameter
    • winset() proc allows list as third parameter (calls list2params internally)
  • CSS features
    • [maptext] text-shadow, -dm-text-outline
    • [maptext,output] background color for portions of text
    • [maptext,output] line-height (limited in output)