hello, i am a contracted coder working on a fork of space station 13 code. the auxilliary ui system for this "mod" i guess is broken upon direct translation to 515, displaying a message like "waiting for UI to load" when interacting with computers.
not being familiar with older versions of Dream Maker, i'm wondering if there is a clear picture somewhere about what changed about the coding requirements of a game between these versions, as the changelogs don't do it for me.
my current plan is to refactor the whole codebase to eliminate any instance of programming that seems in any way " hacky " , since my best guess is that coding requirements became stricter somehow. this also seems like sorting out an entire haystack to find a needle.
Copyright © 2025 BYOND Software.
All rights reserved.
good luck
"not being familiar with older versions of Dream Maker [...] coding requirements became stricter somehow"
Without detail it's hard to say. Mentioning 515, I assume you've been asked to upversion the codebase in question, or it's necessary for changes you want to make. Lacking familiarity with non-current SDK versions is going to hurt a bit. On to the top points!
511 or earlier is too old to be modernized without a good working knowledge.
512->513 introduced X_char versions of string-accepting functions (length, copytext, etc) alongside moving to utf-8, so you may need to review how user inputs are handled and enumerated.
513->514 had few pain points besides perhaps some new global procs being introduced that deprecated some user defined versions without necessarily matching their signatures.
514->515 included some major breaking changes like the behavior of call() (eg introducing call_ext) and some proc references requiring nameof alongside ".proc/blah" form being discouraged/unusable. I'd recommend looking at this tg source file for the "PROC_REF" stuff and the diffs of this tg pull request (plus search PRs for 515) for an idea of appropriate changes. It's a fairly involved process.
Similarly to 514, 515 introduced a number of global procs. I believe the bay version compat file at this commit is an exhaustive list at the moment.
515->516 includes a totally replaced web engine (trident to webview2) which means scrutiny is needed on documents and js (eg non-output chat logs, UI windows, etc) intended for any prior version, since depending on platform things were limited to at worst IE8 compatibility and at best IE11. You'll find some ongoing changes for 516 for tg in this pull request.