changes:
- rscadd: "BAPI - mapmanip multiz support."
needed for the current map freeze
before, multiz dmm maps were not handled at all, always assuming there's
one zlevel (reading and writing)
now with this PR, multiz dmm maps will be handled correctly, both
submaps and the maps they are inserted into
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
changes:
- rscadd: "BAPI - mapmanip submap performance improvements."
- rscadd: "BAPI - mapmanip script."
perf improv in the form of changing the map container from hashmap to a
flat grid
hashmap was only bad for big maps with lots of submaps - did not affect
horizon with its one small submap
the script:

---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
changes:
- rscadd: "BAPI - mapmanip submap noop handling."
- rscadd: "BAPI - mapmanip submap repeat setting."
both features are explained in forum thread
<https://forums.aurorastation.org/topic/20511-mapmanip-guide-submaps/>
but basically:
- "noop" areas and turfs has special meaning and determine whether the
submap manipulation is more like "replacing" or "appending"
- repeat setting controls whether extracted submaps should repeat on
insertion
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
More bapi work, docs, etc.
The actual changes seen from DM side, is that all maps are parsed and
checked by spacemandmm. It does not really add much safety for us, as
everyone uses strongdmm anyways (which uses spacemandmm), but I will
need to do that anyways in future work.
The bapi call is on every map in the maploader, so if it does not work,
if it crashes or panics or whatever, we'll see it immediately (cause the
maps don't load). It should work fine, though, unless the setup is
wrong. I wrote more about safety and other things in readme text file in
rust/bapi dir.
So, yeah. The point of this PR is to do something meaningful with bapi,
and see if the whole workflow and setup and everything works correctly,
before doing any further work in future PRs.
---------
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
# what and why:
byondapi stuff
byondapi is cool
implementation is very heavily inspired by
https://github.com/ParadiseSS13/Paradise/pull/25328
this PR adds a very minimal but usable rust project to the repo
this was test-merged to see if it actually works in game on the live
server
but as it is now the PR does not add any byondapi calls to dm code
---------
Co-authored-by: DreamySkrell <>