An open API service indexing awesome lists of open source software.

https://github.com/klightspeed/spaceengineersmap

Tool for creating maps from Space Engineers GPS points
https://github.com/klightspeed/spaceengineersmap

Last synced: 5 months ago
JSON representation

Tool for creating maps from Space Engineers GPS points

Awesome Lists containing this project

README

          

= Space Engineers Mapping Utilities

SEMapGPSMod
===========

This mod was created to assist in creating GPS markers while tracing
link:https://www.youtube.com/playlist?list=PLfMGCUepUcNwWdUdK2Df3i4AuK9Y7QBut[Splitsie's Wrong Way Down series]

It was further modified to assist in creating GPS markers while tracing
link:https://www.youtube.com/playlist?list=PLfMGCUepUcNwUTy6Aefz6I38iJtrGK7Ya[Splitsie's Wrong Way Up series]

Commands:

`/semapgps P01.02.03.04 {Description}`::
Creates a GPS marker specifying a point in time, with the format
`Ppp.hh.mm.ss`, optionally followed by one of the flags under
link:gps-markers[GPS Markers], with an optional description

`/semapgps [Player / NPC name] P01.02.03.04 {Description}`::
Creates a GPS marker specifying a point in time, with the format
`Ppp.hh.mm.ss`, optionally followed by one of the flags under
link:gps-markers[GPS Markers], with an optional description,
belonging to the specified player or NPC

`/semapgps delete P01.02.03.04`::
Deletes the specified GPS marker

`/semapgps delete [Player / NPC name] P01.02.03.04`::
Deletes the specified GPS marker belonging to the specified player
or NPC

`/semapgps +05 {Description}`::
Creates a GPS marker specifying a point in time the specified number
of seconds (00s - 99s) after the last created GPS marker, optionally
followed by one of the flags under link:gps-markers[GPS Markers],
with an optional description

`/semapgps [Player / NPC name] +05 {Description}`::
Creates a GPS marker specifying a point in time the specified number
of seconds (00s - 99s) after the last created GPS marker, optionally
followed by one of the flags under link:gps-markers[GPS Markers],
with an optional description, belonging to the specified player or
NPC

These GPS markers are used by the main SpaceEngineersMap program.

SpaceEngineersMap
=================

This program reads the Space Engineers save, and creates a set of map
images from the GPS points in the save. If there are no GPS points of
the format `Ppp.hh.mm.ss`, then the saved maps will be blank
topographic maps.

Originally this only supported cubemap projection, and limitations in how
the System.Drawing library handles transparency prevented supporting
splitting overlay from base map.

Mercator projection and splitting overlay from base map were added while tracing
link:https://www.youtube.com/playlist?list=PLfMGCUepUcNyM7OLECwBgR9LYpVl_SH_V[Splitsie's Wrong Way Out series],
making use of the link:https://github.com/SixLabors/ImageSharp.Drawing[SixLabors.ImageSharp.Drawing]
library.

Usage
-----

SpaceEngineersMap accepts the following options:

`--savedir `::
Saved Game Directory Path. +
Default: current working directory

`--contentdir `::
Path to Space Engineers content directory. +
Required +
e.g. `%PROGRAMFILES%\Steam\SteamApps\common\SpaceEngineers\Content`

`--workshopdir `::
Path to Space Engineers workshop directory. +
e.g. `%PROGRAMFILES%\Steam\SteamApps\workshop\content\244850`

`--planetname `::
Name of the planet for which the map should be made +
Default: EarthLike

`--outdir `::
Directory in which to output maps. +
Default: current working directory

`--rotate :`::
Rotate maps selected direction. +
Map names are the faces of a cube (up/down/left/right/front/back),
with up being south and down being north. +
Defaults: `up:90 down:270 left:180 front:180 right:180 back:180`;
Possible directions:

`0`;;
No rotation

`cw` / `90`;;
clockwise

`ccw` / `270`;;
counter-clockwise

`180`;;
180 degrees

`--tile `::
Tile map top-to-bottom, left-to-right. +
Tiles are specified as comma-delimited rows of colon-delimited
tile names. +
Tile names are the faces of a cube (up/down/left/right/front/back),
or `none` for a blank map in that tile.

`--rotate45`::
Rotate the cubemap 45 degrees around the planet's axis

`--crop`::
Crop the tile maps to the area with GPS markers

`--croptexture`::
Crop the tile maps to the area with GPS markers as 512x512 texture
tiles for episode maps and 1024x1024 texture tiles for the overall
map

`--nocontourlines`::
Disable contour lines in map

`--slopeshading`::
Enable slope-based shading

`--reliefshading`::
Enable relief shading

`--chapter P-`::
Adds a range of parts to include in a single map +
Can be specified multiple times

`--texturesize `::
Override the episode map texture size used by `--croptexture`

`--fullmaptexturesize `::
Override the overall map texture size used by `--croptexture`

`--onsave`::
Watch the save directory and re-generate the maps on save. Useful
for twitch streams.

`--cropend`::
Only generate a single map centred on the latest GPS marker
(i.e. the marker with the latest part number and time).
Used with `--onsave` to have a map that updates when the game is
saved.

`--endsize `::
Size of the area exported by `--cropend`

`--includeauxtravels`::
Include paths normally only included in the episode maps in the
overall map.

`--sealevel `::
Set sea level radius. +
Not used if WaterMod JWater2 data attached to planet.

`--minlon `::
Minimum longitude for Mercator projection. +
Default: -180

`--maxlon `::
Maximum longitude for Mercator projection. +
Default: 180

`--north `::
Override north face / direction. +
Default: `down`
Possible faces / directions:

`up` / `Y-`;;
`up` face / `Y-` direction +
Matches original compass mods
`down` / `Y+`;;
`down` face / `Y+` direction +
Sun sets in the west

GPS Markers
-----------

GPS markers are of the form `Ppp.hh.mm.ss`, with zero of the following
optional suffixes:

Nothing::
Point to draw in path

`^`::
Restart path at current waypoint

`%`::
Waypoint marker to draw on the map (drawn on path)

`$`::
POI marker to draw on the map (drawn separate to path)

`=`::
POI name without marker (drawn separate to path)

`@`::
Path only drawn for episode map. +
Starts at last normal path point, and does not affect normal path

`~`::
Segment not included in distance travelled (e.g. flying)

`>`::
Indicates this path belongs to a missile

`[Base]`:
Base POI (drawn as a triangle)

`[Empl]`:
Emplacement POI (drawn as small triangle)

Paths belonging to a player are drawn in alternating black / blue
lines.

Paths belonging to non-player identities are drawn in orange.

Missile paths are drawn as thin orange lines.

GPS Descriptions
----------------

GPS descriptions of the following form are drawn on the map:

* Optional `[Bot]` prefix, indicating bot note (from Wrong Way Up)
* Optional horizontal padding consisting of `|` characters followed
by a space
* Text attachment / alignment indicator followed by a space
* Text lines to be rendered, including optional vertical padding,
newlines, and horizontal rules

Unless the attachment / alignment is middle-centre (`xx`), a line
will be drawn from the POI to the description

Text attachment / alignment indicators
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`^>`::
Left-aligned, with bottom-left anchored above point

`_>`::
Left-aligned, with bottom-left anchored to right of point

`\->`::
Left-aligned, with middle-left anchored to right of point

`¯>`::
Left-aligned, with top-left anchored to right of point

`v>`::
Left-aligned, with top-left anchored below point

`^^`::
Centred, with bottom-centre anchored above point

`xx`::
Centred, with centre anchored on point

`vv`::
Centred, with top-centre anchored below point

`<^`::
Right-aligned, with bottom-right anchored above point

`<_`::
Right-aligned, with bottom-right anchored to left of point

`\<-`::
Right-aligned, with middle-right anchored to left of point

`<¯`::
Right-aligned, with top-right anchored to left of point

`