BYOND 5.0 Version 511 Release Notes
Build 511.1385
Fixes (More Info)
Dream Seeker
- Maptext was cached incorrectly, causing it to apply atom.color to the cached text. (Reformist)
Webclient
- Animating between a degenerate matrix and any other matrix often failed. (Lummox JR)
- Multiple issues with plane masters were discovered. (Unwanted4Murder)
Features (More Info)
Webclient
- Downloaded fonts now function correctly. For best compatibility, it is wise to also include .woff or .woff2 conversions in your resource file, in case the user's browser has trouble with a .ttf or .otf you may be using.
Build 511.1384
Fixes (More Info)
Dream Daemon
- Crashes could occur in rare (but fairly consistent) cases when making changes to turf appearance, type, or area in large projects. (Myryan)
Dream Seeker
- Local macros that applied to all games were being deleted, not just gamepad-related ones. (The Super Saiyans)
Build 511.1383
Fixes (More Info)
Dream Maker
- The macro/mapping editor dialog in the skin editor was broken, causing wrong results when dealing with a mixture of macros and mappings in the same set. (Lummox JR)
Dream Seeker
- The handling of default gamepad mappings was poor. Now, default mappings will not be applied if the game skin contains a macro or mapping for any of the directional gamepad buttons. (Unwanted4Murder)
- Changes to gliding made mobs and client.eye move out of sync in some cases. (Mastergamerxxx)
Build 511.1382
Fixes (More Info)
Dream Maker
- Replacing a color in the used colors palette with one already used could crash Dream Maker. (Doughy One)
Dream Seeker
- Performance was subpar for cases where many KEEP_TOGETHER sprites were on screen at the same time, and maptext that did not necessarily need the implied KEEP_TOGETHER (e.g. no transforms or non-solid color applied) used it anyway. Several modifications have been made to improve performance across the board. (Kidpaddle45)
- Key repeats were frequently ignored in some cases. (MrStonedOne)
Standalone
- A needed file was not included in the byondexe tool. (Darker Emerald)
Features (More Info)
DM Language
- Bump() will now be called with areas as the argument, when an area has refused entry. Because of the potential for confusion in older code, this new behavior will only apply to projects compiled in version 511 or higher.
Dream Daemon
- Calling animate() with a nonzero time value and no actual appearance changes will insert a delay step.
Build 511.1381
Fixes (More Info)
Dream Daemon
- shell() did not complete correctly on Linux systems. (Hikato)
Dream Maker
- In large projects, var names with high index numbers could conflict with certain built-in var specifiers. This was partially fixed in an earlier version, but another case was found where this could occur. (Lummox JR)
Dream Seeker
- Transforms using translation coordinates confused the mouse hit routines. (Deviant Coder)
Build 511.1380
Fixes (More Info)
DM Language
- call() had a memory leak when calling an external library with an arglist. (FKI)
Dream Maker
- Mouse interaction with transformed objects, especially plane masters, was still incorrect in some cases. (Kidpaddle45)
Dream Seeker
- Character macros that had an ID were counted as being in use--which prevented default input controls from grabbing focus--even if there was no command associated with the macro. (Lummox JR)
- Input controls could sometimes steal control from a popup dialog (e.g. file selection). (Nadrew)
Webclient
- link-color and visited-color weren't respected for the output control. (Nadrew)
Features (More Info)
DM Language
- Using = instead of == in a condition like if(), while(), or the middle of for() will now generate a warning on compilation. To avoid this warning in cases where this is desired, enclose the expression in extra parentheses.
Build 511.1379
Fixes (More Info)
DM Language
- The group var of the /regex datum was not defined as a list, preventing access to vars like len and procs like Copy() without a type cast or the : operator. (Ease)
Dream Daemon
- Attempting list operations on some bad overlay lists could cause a crash. (Laser50)
Dream Seeker
- When certain system fonts were not installed properly, Dream Seeker could end up in an infinite loop while looking up which default font to use. (TheEnd44)
- Local/game macros were sometimes added as permanent macros, and not properly removed when deleted. (Higoten)
- When in macro mode, as used in many older games, Alt+key macros did not repeat. (Higoten)
Build 511.1378
Fixes (More Info)
Dream Daemon
- Animating client pixel offsets resulted in the client's pixel offsets reverting to 0 on the server after the animation ended. This resulted in bad behavior for turf visibility, as well as jerky animations the next time the pixel offsets were changed. (Kozuma3)
- Memory reporting for various types was incorrect for objects that can have user-defined vars but didn't change them. The report was artificially high for those objects, especially for images which typically don't have any non-appearance vars set at all. This gave projects the appearance of having a memory leak when they didn't. (Mav472)
Dream Maker & Dream Seeker
- "Find key" in the new macro dialog bailed out early when it detected a modifier key. (Higoten)
Dream Seeker
- Repeated arrow keys could cause undesirable effects (like scrolling through history when focused in an input control) when no repeat macro for them was in use. (Nadrew)
- Sync issues could cause movement animations to reset in some pixel gliding cases. (Anime HQ)
Build 511.1377
Fixes (More Info)
Dream Daemon
- Animating multiple client values such as pixel_x and pixel_y at the same time did not work as expected. (Oleic)
- A memory leak was found for color matrices in certain cases. (MrStonedOne)
Dream Seeker
- Regression: Input controls did not grab focus in some situations where they were expected to. (MrStonedOne)
- Maptext and some KEEP_TOGETHER cases did not scale up correctly, using either linear or point sampling without regard to PIXEL_SCALE. (Exentriks Gaming)
- oview() returned the reference object if the object had a null location. This is correct for view() but not for oview() which should never include the reference object. (Ter13)
Build 511.1376
Fixes (More Info)
Dream Maker
- PIXEL_SCALE was defined incorrectly in stddef.dm. (Ter13)
Dream Seeker
- Maptext bounds for mouse hit detection were incorrect in some cases. (Exentriks Gaming)
- When using a skin with arrow macros but no arrow+REP macros, and no Any macro, a repeated arrow could send focus to an input control. (Nadrew)
- The local joysticks.txt file was being corrupted with duplicate entries. (Ter13)
Build 511.1375
Fixes (More Info)
Dream Daemon
- json_encode() produced code that was valid for JavaScript but not for JSON in the case of certain special characters. (Wirewraith)
Dream Seeker
- Garbage collection didn't trigger often enough in some cases, and appearance IDs being reused before client-side deletion caused a memory leak. (Krausus)
Features (More Info)
DM Language
- A new appearance flag, PIXEL_SCALE, has been added that will allow you to upscale icons without the default bilinear sampling for a more pixelated look.
Build 511.1374
Fixes (More Info)
Dream Daemon
- Although the limit for unique map cells was increased in a previous version, a bug in the way that was handled caused errors to occur after crossing the 64K boundary. Additionally, map cells did not go through garbage collection often enough when the list grew rapidly, causing large and avoidable memory increases. (Krausus)
Dream Seeker
- Key-up macros were not caught in some specific cases like the Alt key in Alt+tab. (MrStonedOne)
- Some cases were identified where parallel animations didn't function properly. (Lummox JR)
- Output controls could disappear when cleared under certain conditions. (DevDuelist)
Features (More Info)
DM Language
- A new animation flag, ANIMATION_RELATIVE, has been added. With it most numeric vars, and also transform and color, can be specified as changes relative to the current value rather than as absolute changes. Additionally, animation of multiple vars has been changed to make better use of mutable appearances for faster operation and avoiding appearance churn.
Build 511.1373
Fixes (More Info)
DM Language
- Animations improperly reset (temporarily) the timestamp for when an atom last had an icon or icon_state change, causing loop-once icons to play again. Now this reset will only happen if the animate() call updates the icon or icon_state. (FKI)
Dream Seeker
- CSS didn't load correctly in some files in the browser control. (Tigercat2000)
Features (More Info)
BYOND Pager
- Making font size bigger in world.status or changing the font face will no longer appear on the pager.
Dream Daemon
- Exceptions re-thrown by a previous error or throw statement will stay intact now, preserving the original stack trace and not generating a new one.
Build 511.1372
Fixes (More Info)
Dream Seeker
- winset and winget links in the browser control stopped working correctly. (Somepotato)
Build 511.1371
Fixes (More Info)
Dream Daemon
- world.Export() did not send a list of clients, when available, in the correct way. (Somepotato)
Dream Seeker
- Certain controllers, notably the PS4 DualShock controller, did not function correctly due to having a mix of positive-and-negative and positive-only axes. (Unwanted4Murder)
- The Options & Messages window no longer appeared correctly, due to recent changes in the output control. (Kaiochao)
Features (More Info)
Webclient
- Multiple gamepads are now supported.
Build 511.1370
Fixes (More Info)
Dream Daemon
- An error in the way a structure was aligned caused the server to believe objs and mobs known to the client had changed even though they hadn't, resulting in increased network traffic in some games. (MrStonedOne)
Dream Seeker
- The gamepad mapping dialog was still broken, so that new mappings couldn't be created. (Yut Put)
- Maptext on a transformed object sometimes caused that object to appear in the wrong position, depending on maptext size and offsets. (D4RK3 54B3R)
- Client-side icon operations handled some icons improperly, causing unexpected behavior when a source icon was not already in the cache. (DevDuelist)
Build 511.1369
Fixes (More Info)
Dream Seeker
- The gamepad mapping dialog was broken in the last release, preventing new mappings from being created (except by manually editing a file). This has been fixed and now properly supports multiple pads. (Yut Put)
- Sending output to a hidden output control caused it to appear. (Zagros5000)
- Attempts to acquire gamepad info caused major periodic slowdowns on some systems. Now, Dream Seeker recognizes when gamepads are added or removed and only does a search for attached gamepads at those times (and at startup). (Reformist)
Features (More Info)
Dream Seeker
- A new map parameter, zoom-mode, has been introduced to allow better control over upscaling behavior. Values are "normal" (default), "distort", and "blur".
Normal mode is the default that was intended from around 509-510 onward, but did not appear correctly on some video cards. (See ID:2198553.) Distort mode is what was seen on many of those cards, where upscaling caused duplicated or dropped rows of pixels to compensate for non-integer zoom sizes. (Distortion upscaling looks best when the zoom is almost an integer, or when it is very high. At integer zoom sizes, distort and normal are identical.) Blur is the much older behavior caused by upscaling on many systems, using simple bilinear sampling.
Downscaling is always bilinear, regardless of this parameter.
Build 511.1368
Fixes (More Info)
Dream Seeker
- Regression: The default input controls did not grab focus when non-macro character keys were used. (MrStonedOne)
Features (More Info)
DM Language
- Multiple gamepad support (up to 4) has been added. The macros for the 2nd gamepad start with Gamepad2 instead of Gamepad, and so on.
Build 511.1367
Fixes (More Info)
Dream Daemon
- bounds_dist() now returns an infinite value if either object has a z coordinate of 0, or their z coordinates are not the same. (Ter13)
Dream Maker
- When "Nudge as Pixels" was selected in the map editor, Alt+click and Alt+drag still set step_x/y coordinates instead of pixel_x/y. (Super Saiyan X)
- When a skin file was saved, map controls with a text-color of black did not save that value. (This applied to any parameter that was different from the default for its control type, but matched the default for generic controls.) (Unwanted4Murder)
Dream Seeker
- The scaling done in Dream Seeker looked bad on some video cards, doing the final scaling pass with point sampling instead of linear sampling. This has been corrected with the use of a new pixel shader that can upscale with more consistent results, and forcing the use of linear sampling when downscaling. (Lummox JR)
- Setting up gamepad joystick axes did not work correctly for certain gamepads in the Gamepad Setup window. (Lummox JR)
- Macros behaved badly when command_text was set to ".alt" for old-style macro support. Specifically, they would treat macros as repeatable that were not, and they would stack their commands without limits. (Mastergamerxxx)
- pixel_w didn't work correctly with objs. (Ter13)
- Drawing too many icons (over 32K) on the same tile caused all of them not to render. Please note: There is still an absolute limit of 64K icons for an entire map. (Bandock)
FreeBSD
- Because newer FreeBSD versions are incompatible with the FreeBSD build, direct FreeBSD support has ended. Please see the BYOND forums for info on how to run the regular BYOND Linux build in FreeBSD. (Audeuro)
Build 511.1366
Fixes (More Info)
Dream Daemon
- Assignments to undefined vars always printed the error to world.log instead of sending the error message as in a normal exception. (Kamuna)
Dream Seeker
- Images did not properly obey the KEEP_TOGETHER behavior of their parent atom in some cases. (Kamuna)
Build 511.1365
Fixes (More Info)
Dream Daemon
- In some rare cases, screen objects did not update properly following a garbage collection on the client. The server mistakenly thought the objects' appearance was not changing. (Flick)
Dream Maker
- Chained assignments did not compile correctly when a list access was done in the middle (e.g., a = b[1] = c). A quick-fix change has been put in place that will handle most cases, but something like a = b[x++] = c will be incorrect because it is instead compiled as b[x++]=c followed by a=b[x++]. Those remaining cases will be addressed in a future version. (Kaiochao)
Dream Seeker
- Partially transparent pixels rendered incorrectly when paired with maptext, but only when maptext was reused from an internal cache. (Inuyashaisbest)
Build 511.1364
Fixes (More Info)
Dream Daemon
- The default stack size in Windows was lower than in Linux, and inadequate to prevent stack overflows in some cases. The stack size for Windows has been doubled to make up for this. (MrStonedOne)
Webclient
- Calling browse() with display=0 in the parameters didn't work as expected. (Lummox JR)
- The byond://winset?... and byond://winget?... link formats that allow JavaScript in a browser control to communicate with the client did not work correctly. (Lummox JR)
- Some objects with large-translation transforms did not appear due to visual bounds being calculated incorrectly. (Flick)
Features (More Info)
Dream Seeker
- Performance has been increased for hardware rendering mode, and across the board for games that use big HUD objects.
Build 511.1363
Fixes (More Info)
Dream Daemon
- Badly balanced string trees could cause problems on world reboot. (Somepotato)
Dream Maker
- Big icons didn't always appear in the map editor when using partially opaque pixels. (Zagros5000)
- Context menus in the map editor showed the wrong icon for most atoms. (Doohl)
- The map editor did not take planes into consideration. (PJB3005)
Dream Seeker
- When the number of objs or mobs on or near the screen (not combined) exceeded a certain amount, all objs or mobs respectively would glitch and seem to jitter back and forth. (GalionKnight)
Build 511.1362
Fixes (More Info)
Dream Seeker
- Regression: Transformed object bounds had some calculation errors, which resulted in mouse hits failing and in some cases could lead to objects being culled from the screen inappropriately. (Somepotato)
Build 511.1361
Fixes (More Info)
Dream Daemon
- The persist value in world.Export() had been disabled since version 487, but it has been reenabled now. Several issues with incorrect results from server-to-server Export() calls have been identified and fixed. (Somepotato)
- The filename listed in a runtime error was sometimes incorrect in very large projects, using a different string instead. (CarbonHell)
Dream Maker
- Saving a map with variables that were no longer valid resulted in a crash. This will no longer happen, and Dream Maker goes to greater lengths to warn users about bad vars in map files upon loading. (CorruptComputer)
Dream Seeker
- The visible bounds of a transformed icon were not set properly when maptext was present, which caused maptext to disappear when attached to a transformed icon that was out of bounds. (Exentriks Gaming)
Features (More Info)
Dream Maker
- Generating an object tree took a very long time on many large projects that used icons bigger than the default size used in the world. While it still may take a while, the time has been reduced thanks to an overhaul of how their icons are stored.
Webclient
- Gamepad functionality is now supported. Please note that results may vary depending on your browser.
Build 511.1360
Fixes (More Info)
Dream Daemon
- Inverting a transform matrix didn't work correctly for some matrices. (Kaiochao)
Dream Seeker
- Changing map size when maptext was present caused Dream Seeker to fail out of hardware rendering mode. (Zasif)
- Dream Seeker sometimes crashed in unusual cases when multiple map controls were present. (Mystery16)
Webclient
- HUD objects appeared in the wrong place when in isometric mode. (Crazah)
- The pop control did not handle pos and size correctly in winget(), and also there was an error in the getter/setter for the pos parameter. (AlexandraErin)
Features (More Info)
DM Language
- A new macro name, GamepadRaw, can be used to get raw input, not standardized via gamepad setup, from gamepads. In the command, [[id]] will be replaced with Button0 to Button15, Axis0 to Axis11 with no accounting for dead zones, and Dpad. [[value]] will be replaced with a value, which is 0 or 1 for buttons, -1 to 1 for axes, and a direction for Dpad.
Webclient
- SEE_PIXELS and SEE_BLACKNESS are now supported.
Build 511.1359
Fixes (More Info)
Dream Seeker
- If a PLANE_MASTER object previously had something to display, but became empty since then, it could display junk or leftover image data. (Lummox JR)
Standalone
- Byondexe distributables didn't work correctly with newer builds when displaying a splash screen. (Darker Emerald)
Webclient
- More missile misbehavior was identified. (AlexandraErin)
- browse() output didn't work correctly with files. (AlexandraErin)
Features (More Info)
DM Language
- A new SEE_BLACKNESS sight flag has been added, to render dark tiles to plane 0. (SEE_PIXELS does so also, but virtually turns on SEE_TURFS/OBJS/MOBS which may not be desirable.) This only applies to topdown map modes.
Dream Seeker
- Setting an object's appearance_flags to TILE_BOUND will prevent it from stretching HUD borders if it is applied to client.screen, regardless of its icon size.
Build 511.1358
Fixes (More Info)
Webclient
- Missiles did not behave correctly. (AlexandraErin)
- Several CSS style settings on map elements didn't work correctly in .dms skins (and sometimes translated skins too), preventing maptext from inheriting the correct values. This included vertical-align and color. (AlexandraErin)
- The pop control did not parse position or size winset values correctly. (AlexandraErin)
- Parallel animations still had a number of lingering issues. (Doohl)
- MouseWheel() had the Y direction wrong. (Ishuri)
- Infinite-looping animate() calls only looped once. (Ishuri)
Build 511.1357
Fixes (More Info)
Dream Seeker
- Certain topic links did not work correctly. (MrStonedOne)
- Parallel animations were broken in some cases, causing infinite loops or sometimes no effect at all. (FKI)
- Certain .gif animations didn't load correctly. (Note: This affected Dream Maker and Dream Daemon as well.) (Kidpaddle45)
Build 511.1356
Fixes (More Info)
Dream Maker
- Extending selection after a double-click didn't act as expected in several cases. (NullQuery)
Dream Seeker
- Pixel offsets set right after animation weren't respected. (Rotem12)
- A default beep sound was made when pressing or holding down a key with nothing to catch it (like an input control) except for the Any macro. Now the presence of the Any macro correctly prevents the default beep. (Kaiochao)
Dream Seeker & Webclient
- Parallel animations with pixel offsets often behaved wrongly. (Doohl)
Webclient
- Maptext offsets were broken. (Ishuri)
- Using "name" in a non-macro winset failed when the name didn't match any valid macro name. (Doohl)
Build 511.1355
Fixes (More Info)
Dream Daemon
- Using text-to-type lookups for /mob types caused subsequent lookups, often on unrelated types (/sound being a common one), to fail in bizarre ways. (CrimsonVision)
Dream Seeker
- Hotspots were placed incorrectly in cursors not matching world.icon_size. (Silk Games)
- Right-click menus could cause certain verbs to disappear from statpanels. (Kamuna)
Webclient
- The webclient improperly used [*] as the replacement expression in the Any macro, instead of [[*]]. (Lummox JR)
- 3D sounds didn't work correctly. (Doohl)
Features (More Info)
Webclient
- Pixel gliding is now supported for worlds where client.fps exceeds world.fps.
Build 511.1354
Fixes (More Info)
Dream Seeker
- In pixel movement mode, objects jumping across a large distance to the east or north still ended up doing a pixel glide instead of a jump. (Lummox JR)
- sound.frequency did nothing on its initial setting. (Bravo1)
- Some macros could not be bound properly via winset. (Doohl)
Features (More Info)
Dream Seeker
- Mouse cursors now use the size of their actual icon, and are not limited to world.icon_size.
Webclient
- The Any macro is now supported.
Build 511.1353
Fixes (More Info)
Dream Daemon
- locate() couldn't look up /image and its derived types by reference. (Multiverse7)
Dream Daemon & Dream Seeker
- When a very very large number of objects per turf was in play, updates caused by moving around the map could slow the client down at those times, causing stuttering. Optimizations made to the client and server, and additional info in the message format, will improve this behavior. (MrStonedOne)
Dream Seeker
- Changing step_size without actually moving triggered movement animation. (Zagros5000)
Webclient
- Setting category=null on a verb did not hide it from the statpanel. (Orange55)
Build 511.1352
Fixes (More Info)
Dream Seeker
- The bug in which gliding occurred when jumping more than 1 tile away was not confined to pixel gliding only, but to tile movement as well. (MrStonedOne)
- Pixel glides extended luminosity to neighboring tiles like normal glides, even though it looked terrible. (Kamuna)
Webclient
- Rendering of many map objects was broken. (Doohl)
Features (More Info)
Webclient
- client.fps is now supported. Pixel gliding is not in place yet, and will be added in a future release.
Build 511.1351
Fixes (More Info)
Dream Seeker
- Turfs did not handle play-once animations properly. (Ter13)
- When flicking a turf to a different icon rather than only flicking an icon_state, its underlays and overlays did not carry over into the flick. While this appears to have been deliberate, the reasons behind it are inscrutable, so this behavior has been changed to be consistent with objs and mobs. (Ter13)
- Certain large view sizes could cause tiles near a corner of the viewing area to disappear. (Ter13)
- Changing step_size for the eye did not always take effect immediately, and pixel gliding had several more problems. (Kamuna)
Webclient
- Flicks sometimes repeated the first animation frame. (Doohl)
Features (More Info)
Webclient
- Parallel animations are now supported.
- flick() for areas and images is now supported.
- SEE_THRU is now supported.
- pixel_w is now supported.
Build 511.1350
Fixes (More Info)
Dream Daemon
- Assigning a color matrix in short form failed to handle null values correctly. (Lummox JR)
- Certain keys were not properly handled by the Any macro. (Kaiochao)
- The dir value was not properly applied to movable atoms when assigning a mutable appearance to the atom's appearance var. (Kaiochao)
- Finalized mutable appearances were discarded too early, causing crashes in some cases. (CrimsonVision)
- Setting icon to null in a mutable appearance did not work correctly. (Kaiochao)
- The value of client.tick_lag was 100 times too high when read, returning milliseconds instead of standard ticks. (GinjaNinja32)
- The server did not properly send info to reset the client's "interesting" turfs when the map size changed. (Darker Emerald)
- client.bounds returned incorrect values when edge_limit was set smaller than the view. (Ter13)
Dream Seeker
- Parallel animations that began later did not work correctly. (This fix affects the server as well, and the message format, so all beta users should update.) In addition, fire-once parallel animations that did not loop were handled incorrectly. (Kaiochao)
- Pixel gliding was activated even when the change in loc and pixels was much greater than step_size. (MrStonedOne)
- Defining the Any macro did not act as if any of the regular character keys had macros defined, so a lone input control would steal focus. Now input controls will no longer steal focus if Any is defined as a macro. (Kaiochao)
- Text-mode rendering didn't work correctly. (Syxoul)
- Doing a SOUND_UPDATE with a frequency setting (e.g., 1.05) caused the frequency to multiply over and over each time the sound updated, instead of simply setting the frequency to the desired multiple. (Bravo1)
Features (More Info)
Dream Seeker
- Gamepads can now be setup so that an axis can be mapped to two different buttons depending on whether it's positive or negative in value. This allows Xbox 360 controllers to handle L2 and R2 more or less properly.
Build 511.1349
Fixes (More Info)
Dream Daemon
- client.vars didn't include fps or tick_lag. (MrStonedOne)
Dream Seeker
- The Any macro recorded keystrokes even when those keys were swallowed by a focused input control. (Lummox JR)
- New pixel gliding was broken in several cases. (Exentriks Gaming)
- Gamepad input didn't actually work right at all due to a different setting in release mode. (Kaiochao)
Build 511.1348
Fixes (More Info)
Dream Seeker
- Flags like KEEP_TOGETHER, and maptext, did not carry over during a flick(). (Exentriks Gaming)
- After removing multiple verbs from a client, statpanel updates and some other situations like right clicks saw a noticeable slowdown. Now this slowdown will only happen once, marking the missing verbs as inaccessible until something else appears that uses them. (MrStonedOne)
Features (More Info)
DM Language
- Since version 510, the webclient has been able to use fallback sounds, where sound.file is a list rather than a single file. Although this was added to the language already it was not documented, because there was no support in Dream Seeker. Now Dream Seeker also supports fallback sounds, for when a format isn't supported.
- A new macro, Any, can be used to detect key/button presses, and Any+UP will detect releases. (+REP is not supported.) In the command, [[*]] is replaced by the key/button name.
- SEE_THRU has been added as a mob sight flag, to ignore opacity.
- Gamepad support is here! Configure your gamepad by going to the Client | Gamepad Setup menu option in Dream Seeker, and then post on the forums with your cfg/joysticks.txt file contents (found in your BYOND user data folder) so we can build up a standard set of controllers. A DirectInput-compatible driver for your gamepad is required.
Gamepad buttons and analog sticks can be given verbs just like regular macros, or they can be mapped to keys and/or the mouse. See the Macros section of the skin reference for details.
- pixel_w has been added to all appearances, as a horizontal counterpart to pixel_z. It adjusts the horizontal position of an atom regardless of client.dir or world.map_format.
- It is now possible to animate different values in different ways for the same object. Call animate() with the new ANIMATION_PARALLEL flag to setup a parallel animation.
- You can now set client.fps or client.tick_lag (they're aliases for the same value) to give a client a tick speed separate from the server. For instance you can let the server have a default FPS of 10, but the client can have a higher FPS of 40.
For games that use pixel movement, a new concept called "pixel gliding" has been introduced to smooth out step_x/y changes when using a higher frame rate than the server.
- A new type, /mutable_appearance, can be used to modify multiple appearance values without creating a lot of temporary appearances, thus reducing churn and improving performance.
- Variadic #define macros are now supported. For example:
#define dostuff(a,b...) a.myproc(b)
Preceding the variadic argument with ## in the replacement expression will trim off any preceding commas if the argument is empty.
- Assignment operators can be chained, and have proper right-to-left evaluation order. This means a statement like a = b = 2 is now valid.
- flick() has been extended to images.
- flick() has been extended to areas.
Dream Daemon
- Experimental: Var access has been changed internally to use sorted arrays instead of linked lists, in the hopes of improving speed for some intensive calculations.
Dream Maker
- The map editor now has an option to nudge items using pixel offsets rather than step offsets, for games that don't use pixel movement.
- 200% and 400% zoom options have been added to the map editor.
510 Release Notes | View All