* Update Dockerfile for CBT (#56175)
Follow-up to fix the failing Docker CI on master.
- Reorganize the entire Dockerfile to be more readable
- Inline the tgstation/byond Dockerfile into our own, so we can change the base distro at will
- Also allows us to trash the dependencies.sh<->Dockerfile hack
- Use 32-bit libs on a 64-bit distro so that we can download and run recent 64-bit Node binaries
- Call tools/build/build rather than DreamMaker directly
* Update Dockerfile for CBT
Co-authored-by: Tad Hardesty <tad@platymuus.com>
* Use portable Python for map merge hooks, other tools (#55658)
* Add .dmm merge driver (#55699)
This is kind of a prototype. It only fully handles a few situations,
and doesn't produce particularly easy-to-read conflict markers when it
fails. I hope that it can be useful at least some of the time, can be
improved over time, and that the lessons learned can influence a future
interactive GUI conflict resolver (integrated into StrongDMM?). In the
worst case, one can fall back to the tried and true "manually re-do one
side's changes" strategy.
**Automatic use**: In `tools/hooks/`, run `Install.bat`
**Manual use**, for Git GUIs that don't run merge drivers: while a
merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map
Conflicts.bat`
This PR also removes the error-prone "Prepare Maps.bat" /
"mapmerge.bat" workflow. Those who aren't using the hooks should
instead use `Run Before Committing.bat` before committing. First-time
contributors who opened a PR without map merging can be advised to run
`I Forgot To Map Merge.bat`.
* Fix loose double-quot in tradership_faction.dmm
Co-authored-by: Tad Hardesty <tad@platymuus.com>
* Upgrade extools version
* Fix merge conflict due to unmirrored PR
Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Avunia Takiya <git@takiya.cloud>
* Refactor the procedural generation of lavaland and turf/closed/mineral (#54915)
This replaces lavaland's old diagonal tunnel gen which was really
horrendously jammed into asteroid floor code (?????) with Cellular
Automata which runs in rust (PR for that here:
https://github.com/tgstation/rust-g/pull/57 ). The new code is a bit
cleaner, but also looks better.
VID: https://streamable.com/a45ke2
Things to do:
- Make an icemoon version
- Fix the roundstart atmos adjacency issues
I asked AnturK if this was an acceptable PR for this month; he said it
was okay as long as I didn't add new areas, which I don't plan to do.
But if anyone thinks this PR breaks the spirit of the month I'll open
it again in december.
* Refactors the procedural generation of lavaland and turf/closed/mineral
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Remove PHP_VERSION from dependencies.sh (#54833)
Remove PHP_VERSION from dependencies.sh
* Remove PHP_VERSION from dependencies.sh
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl
Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.
Also updates rust-g to v0.4.5:
Improved Linux .so detection
Perlin noise functions
Also updates Travis script to bionic.
* Build SpacemanDMM from source
* oops
* Fix new unreachables/dumb code
* ooops cache conflict
* bugfix
* oops
* lint
* ninjanomnom held me down and forced me to delete this
Restores canvases showing up their content on the map.
This only gets updated on finalizing/naming the painting.
Adds persistent paintings, set persistence_id on sign/painting on your map to use it.
Bumps rustg up to 4.3
* tgui-next: Low level stuff
- More robust cache reloader, support WSL pathing
- Add a way to only reload the cache once without launching a full dev server
Throw a warning when using lowecase onclick on Button
Improve logging, add loader to inline svgs
- Logger can now handle circular references;
- Logger will not truncate long objects.
Typo, rebase, rebuild
Support --debug flag on dev server, improve logging
Lots of cosmetic and other changes
- Add support for Babel macros
- Implement a "multiline" macro for creating long multiline strings
- Rename interfaces to better match the component naming convention
- LabeledList.Divider size is 2 by default
- Sort routes by name
- Remove package-lock.json files on --clean
- Catch weird JSON parsing errors for better debuggability
Ignore sourcemaps
Clarify what that multiline function is
Try this travis fix
Bump NodeJS version to 12.x
Add a stub to make multiline usable as a template tag
- Just in case we will need to remove macros and have it still working.
Document debug flag in README
Fix LabeledList.Divider, reduce expensive SCSS calls
Separate dev and production builds so that they never overwrite each other
Run linter as a part of the production build
Rebuild tgui
Add react eslint plugin, massive jsx cleanup
* Mint janitor
* Optimization of tgui initialization path
- Call browse with titlebar and resize flags disabled
* Fix backend reducer
* Rebuild, fix linter errors
Part one of some needful Travis cleanup.
Split the different tasks into their own .sh files rather than doing many things per .sh file
Use .travis.yml jobs list to select which tasks are run rather than setting environment variables which the shell scripts then check
Moves the grep lints from running in both "Maps" and "Tests" jobs, and runs them in "Lints" job (formerly "Tools") instead
Makes the check_filedirs.sh lint only run in the "Lints" job rather than in all three jobs.
Removes the check that dependencies.sh matches Dockerfile since the former now pulls from the latter
Uncache node_modules - npm ci is expected to trash this every time and warns when it already exists
Uncache and remove the unnecessary fake MariaDB folder used when building BSQL, give it the real path instead
Attempt to cache the BYOND-provided libmariadb (not sure if this works, will re-examine it in part two)
For part two I hope to switch to using rust_g and BSQL binaries from GitHub releases, and add SpacemanDMM's dreamchecker to the Lints job.
Adds a simple file to create a work tree with only what's needed to RUN the
game.
.dmb/.rsc, _maps, strings, and some icons and sounds.
Makes the Dockerfile use it.
Also adds dependencies.sh which can serve as a single version source used by
all CI and utils.
Enables appveyor and artifacts, you can now download a .dmb deployment straight
from a PR or master commit.