monster860 / fastdmm2 Goto Github PK
View Code? Open in Web Editor NEWA robust web-based BYOND map editor
Home Page: https://fastdmm2.ss13.io/
License: GNU General Public License v3.0
A robust web-based BYOND map editor
Home Page: https://fastdmm2.ss13.io/
License: GNU General Public License v3.0
Loading a file that contains following definition
/var/const/OPEN = 1
/var/const/CLOSED = 2
// ...
causes the loader to throw following exception:
Error: Unexpected NumberToken {1} at (<file>1:12)
So far a workaround would be replacing var/const
with #define
, but I've not tested it out yet.
Is your feature request related to a problem? Please describe.
When I tried to introduce an user to FastDMM2, which I later learned to have old hardware and still running Windows 7. They were just presented with this on both Firefox and Chrome:
This is because the WebGL cannot be initialized on the user's browser due to outdated AMD drivers, which apparently to which exists no updates or newer versions. As suggested by these cryptic console messages:
Which is not an issue that's either related or within control of FastDMM2, I thought a feature request for a warning prompt about errors like these would help. Rather than putting users off with only a blank screen.
Describe the solution you'd like
If the WebGL has failed to be initialized for any reason, like these. Show the user a prompt about the GL context failed to initialize due to e.g. outdated drivers or corrupted configuration.
Describe alternatives you've considered
Support threads and tickets related to this issue on Firefox's support site has suggested to use webgl.force-enabled
set to true
in about:config
. But in this user's particular case, it made no difference.
Additional context
None
I've tried to load a project that has files that explicitly include other files, and more often, the same file get included more than once. So the loader read them more than one time.
Before you ask, yes and no. - Yes, it does load in DM. - No, it doesn't complain about dupes.
A workaround is to use include guards (Lazy Wiki) like this
#ifndef SOME_FILE_INCLUDED
#define SOME_FILE_INCLUDED
// #includes
#endif
Or simply making away with these includes and let the .dme handle it.
But DM cannot handle sorting by precedence of code (specially definitions and preprocessors), instead it just "sorts" the files by alphabetical order on the path to the files to be included. Hence the filesystem of SS13 code.
Is your feature request related to a problem? Please describe.
fastdmm2 exports varedited lists in a slightly more readable format with leading spaces and spaces between the equals signs, but strongdmm doesn't do this. this makes it very annoying when a codebase mixes the two programs and you have 1 tile change PRs that change 25 lines each.
Describe the solution you'd like
make it less readable for humans by removing all the extra spaces so that they don't count as lines changed in mapping PRs.
Describe alternatives you've considered
Asking the makers of strongdmm to match fastdmm's superior formatting
Is your feature request related to a problem? Please describe.
I'm always frustrated when [...] i try to open several maps at once and i press ctl so the menu doesnt close but it still close
Describe the solution you'd like
A clear and concise description of how i want that if ctl is pressed down it shouldnt close menus on click
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've haven't bothered to think about because youre lazy
Is your feature request related to a problem? Please describe.
I love FastDMM but I wish it had some more concise features. I find myself making a "palette" off to the side in space when I'm designing maint spaces. If I'm zoomed in, of course I have to pan to my palette and select new ones, or if I have it in a separate file, have to switch to that one.
Describe the solution you'd like
A space where we can save chunks of a selection and quickly select between them for placing, showing a ghost of the placement. This could be used not only for maint rooms but also door configs, space shielding, external airlocks, and trim decals.
Describe alternatives you've considered
Just living with it :( It's mainly a QOL thing
Describe the bug
Frame Areas doesn't show area frames when FastDMM2 is is used via file:///
and not proper hosting of any kind.
What browser are you using?
Firefox and Chrome
Additional context
Frame Areas does not change anything regardless of if it's turned on or not. This also affects other icons used by FastDMM2. Chrome's console shows this error:
A quick workaround is to use the FastDMM2 hosted by Github, or a simple HTTP server of choice. Or change browser's CORS rules, which is not recommended from security standpoint.
Why am I doing it like this anyways? - I am using FastDMM2 locally because then I can use it offline and anywhere as I please.
As of today I just tried to use fastdmm2 and when I attempt to pull up yogstation it says 'TypeError:e.values(...)is not a function or its return value is not asynciterable'
This never happened before, and I haven't changed anything, so I don't know what happened.
Describe the bug
Third-party privacy plugins, such as DuckDuckGo Privacy Essentials, finds the Github repo downloading suspicious and blocks it after reaching usually at least 1/4 or 1/3 of codebase resources downloaded. Blocking them with "CORS request failed" in the case of Firefox.
What browser are you using?
Firefox 82.02 (64-bit)
Additional context
While this is not much an issue or critical. Because the easiest way around this is to disable the plugins themselves or add the website as an exclusion to the plugin's list or database. In the case of DuckDuckGo's plugin, I just reported it as "Content is Broken" and then the plugin stopped blocking the downloads since then.
But because the issue is oddly specific and the error messages themselves are extremely unhelpful to the point of useless. Most privacy plugins also work silently, reinforcing the belief that the error is at fault of the creator, hosts, or the services themselves.
I recommend to just slap on a "wontfix" tag and leave this up for the future user who suffers the same issue.
Describe the bug
Using this codebase
On this snippet of code, the offending line is at the end:
/obj/item/weapon/computer_hardware/hard_drive/portable/design/parttoolpack
name = "Artificer's PAK-103 Tool Mods"
icon_state = "technomancers"
license = 10
designs = list(
/datum/design/autolathe/part/laserguide,
/datum/design/autolathe/part/diamondblade,
/datum/design/autolathe/part/stick,
/datum/design/autolathe/part/plating,
/datum/design/autolathe/part/guard,
/datum/design/autolathe/part/heatsink,
/datum/design/autolathe/part/ergonomic_grip,
/datum/design/autolathe/part/ratchet,
/datum/design/autolathe/part/red_paint,
/datum/design/autolathe/part/whetstone,
/datum/design/autolathe/part/magbit,
/datum/design/autolathe/part/red_paint,
/datum/design/autolathe/part/stabilized_grip,
/datum/design/autolathe/part/ported_barrel,
/datum/design/autolathe/part/motor,
/datum/design/autolathe/part/cell_mout,
/datum/design/autolathe/part/fuel_tank,
/datum/design/autolathe/part/oxyjet,
/datum/design/autolathe/part/expansion,
/datum/design/autolathe/part/spikes,
/datum/design/autolathe/part/dampener,
)
..()
To answer the question you might have; yes and no.
Yes. It does compile under normal circumstances of Dream Maker, and I was using Byond 513.
No. I don't know what it does in this context or why it is there. I've asked in their developer channel for clarification.
What browser are you using?
Not applicable
Additional context
Link to offending file: https://github.com/sojourn-13/sojourn-station/blob/master/code/game/objects/items/weapons/autolathe_disks.dm#L261
Removing the ..()
at the end resolves the issue.
Whenever I try to save a map I get the message 'TypeError: handle.createWriter is not a function', I have tried restarting chrome, my computer, and validating maps and none work.
I am having an issue with FastDMM2 where typing in variable fields forces the input to the far left of the box. If I wanna type "-8" for a Pixel variable, I would need to do 8- so it goes in order and I don't need to reposition the cursor every time. Attached is an example of me just typing "D" in a camera name field.
Describe the bug
Objects like newscasters, extinguisher cabinets, fire alarms, lightswitchs, and request consoles act like directional objects now and ignore pixel edits when changed.
What browser are you using?
Edge
Additional context
This is what my objects looked like after saving
when for example the fire alarms were pixel edited to appear here
We haven't had any recent changes that can be attributed to our codebase for the objects themselves, Boomer, and it appears to be an issue when using Fast.
I've been using FastDMM2 to try out working on different maps, particulary some codebases with multi-z maps.
I've however found out that some of the maps have the topmost layer on z = 1, meanwhile the bottom-most layer is on a higher z. So the order of z-level is inversed. Meaning in FastDMM2, the level that's above one selected layer is shown as the layer below it. Which is wrong.
While a quick workaround about this is manually changing the contents of the map file such that the order is correct. It would be nice to have this feature to allow quickly previewing maps without the need of putting down time on correcting errors.
Whenever I attempt to use the Log Into Github button, it attempts to authorize and quickly redirects to a blank page, https://fastdmm2.ss13.io/gh_callback.html. I can provide more details if nessecary.
Describe the bug
Things like var-editing, deleting selections with the select tool and cutting selections with the select tool all stack with other undo actions.
You can also do 1 multiple times, and then it will undo all of them at once.
What browser are you using?
Chrome
Im on chrome and have native file system API on, but i still cant open local workspace no matter what and clicking on it just outlines the box
Describe the bug
If you have a file, or even a folder, that has a tilde (e.g. - ~define.dm
) in its name, it will error and say that the file is non-existent.
What browser are you using?
Chrome.
Additional context
It was working last week with the exact same files, and now refuses to run any local workspace, regardless of codebase. I was specifically using Baystation12, however.
Seems that https://fastdmm2.ss13.io/ can't load maps from the tgstation repo due to 514 being required now.
For some very strange reason, every time I save a map that has pixel shifted air alarms or APCs, they lose all pixel shift data. On next load, or in game, they appear unshifted, sometimes causing problems with overlap.
Sad.
On this code, which is valid and compiles in DM (514.1569). Note the commas at end of the list definitons.
var/static/image/radial_image_eject = image(icon = 'icons/screen/radial.dmi', icon_state = "radial_eject"),
var/static/image/radial_image_airtoggle = image(icon= 'icons/screen/radial.dmi', icon_state = "radial_airtank"),
var/static/image/radial_image_lighttoggle = image(icon = 'icons/screen/radial.dmi', icon_state = "radial_light"),
var/static/image/radial_image_statpanel = image(icon = 'icons/screen/radial.dmi', icon_state = "radial_examine2")
What browser are you using?
Firefox 94.0.1 (64-bit)
Additional context
https://github.com/UristMcStation/UristMcStation/blob/baymerge-testing/code/game/mecha/mecha.dm#L85-L88
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.