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

https://github.com/gruppe-adler/grad_meh

An Arma 3 Modification built on intercept, which allows exporting data from Arma 3 maps.
https://github.com/gruppe-adler/grad_meh

arma3 grad-aff intercept maps mod

Last synced: 2 months ago
JSON representation

An Arma 3 Modification built on intercept, which allows exporting data from Arma 3 maps.

Awesome Lists containing this project

README

        

# Gruppe Adler Map Exporter

Gruppe Adler Map Exporter (grad_meh) is an Arma 3 modification built on [intercept](https://github.com/intercept/intercept), which allows exporting Arma 3 maps.
If you wonder what the `h` stands for you should check out [this pull request](https://github.com/gruppe-adler/grad_meh/pull/1).

The aim of this project is not to generate finished map tiles for a [WMTS](https://en.wikipedia.org/wiki/Web_Map_Tile_Service), but to export all data that might be needed to generate such tiles or basically anything else. So the goal is to export everything interesting about an Arma 3 map. What you do with that data is up to you. The use cases are only limited by your imagination (ノ◕ヮ◕)ノ*:・゚✧

The [output section](#Output) outlines what exactly is exported.

Check out our [FAQ](#FAQ) at the bottom of this README if you ask yourself "How?" or "Why?".

## Installation
Download the latest version of the mod from our [releases page](https://github.com/gruppe-adler/grad_meh/releases). The only dependency, **which has to be loaded as well** is [intercept](https://steamcommunity.com/sharedfiles/filedetails/?id=1645973522).

## Usage
Although we would say that using `grad_meh` is intuitive and mostly self-explanatory, we made this short video on how to use it.

## Troubleshooting
- Make sure that `@grad_meh`, `@intercept` and `@CBA_A3` are loaded.
- Make sure that BattlEye is disabled.
- If you're still having problems check the rpt and grad_meh log files located in `C:\Users\\AppData\Local\Arma 3` for any errors.
- If all else fails, open a new issue and make sure you include the rpt and grad_meh log files.

## Limitations
- To reduce complexity we only allow one export process at a time.
- To reduce complexity it is not possible to stop a running export reliably, except by killing the game.
- MEH cannot export maps included in `.ebo` files, because those are encrypted and therefore we cannot get to the map files.
- MEH will have some difficulties with older maps (e.g. Fallujah, Clafghan), where it fails to export roads and tile the sat image correctly.

## Output
We export the following from Arma 3 maps:
- Elevation model
- Preview picture
- Satellite image
- Vector data for all map objects / locations
- Any interesting metadata like display name, longitude, latitude, etc.

All exported files can be found in the `grad_meh` subdirectory of your Arma 3 installation directory. Each map has its own subdirectory, which structure is further explained [here](./docs/output_spec.md).

## Scripting API
Gruppe Adler Map Exporter adds two script commands, which are used by the UI. If you want to, you could leverage that scripting command for your own purposes.

### `gradMehExportMap`
|**Syntax**| |
|---|---|
|Description| Start export of given map. |
|||
|Syntax| **gradMehExportMap** [mapId, sat, geojson, previewImg, meta, dem]
|||
|Parameters|[mapId, sat, geojson, previewImg, meta, dem]: [Array](https://community.bistudio.com/wiki/Array)|
||mapId: [String](https://community.bistudio.com/wiki/String) - CfgWorlds class name of map|
||sat: [Boolean](https://community.bistudio.com/wiki/Boolean) - Export sat images|
||geojson: [Boolean](https://community.bistudio.com/wiki/Boolean) - Export GeoJSONs|
||previewImg: [Boolean](https://community.bistudio.com/wiki/Boolean) - Export preview image|
||meta: [Boolean](https://community.bistudio.com/wiki/Boolean) - Export meta.json|
||dem: [Boolean](https://community.bistudio.com/wiki/Boolean) - Export Digital Elevation Model|
|||
|Return Value| [Number](https://community.bistudio.com/wiki/Number) - Status code
`0` - Export process started nominally
`1` - Error: Invalid arguments given
`2` - Error: Another export is currently running
`3` - Error: Map wasn't found in config file
`4` - Error: Map invalid because `worldSize` field in config is missing
`5` - Error: PBO of map's WRP not found (Most likely because it is an EBO)
`6` - Error: PBO map still populating (MEH has to do this once upon game start, before it can export anything)
|||
|Examples|`gradMehExportMap ["Stratis", true, true, true, true, true];`|

### `gradMehExportRunning`
|**Syntax**| |
|---|---|
|Description| Check if an export is currently running. |
|||
|Syntax| **gradMehExportRunning**
|||
|Return Value| [Boolean](https://community.bistudio.com/wiki/Boolean) - `true` is export is currently running, `false` if none is running
|||
|Examples|`private _running = gradMehExportRunning;`|

## FAQ

### How long does an export take?
How long an export takes varies a lot depending on your machine and factors like map size, map object count and which data you want to export.
But for reference: It took us less than thirty seconds to export everything for Stratis on a normal gaming system ([email protected], NVIDIA GeForce GTX 1060 6GB, 16 GB RAM).

### Is there some exported data already available for download?
Yes, check out [this repository](https://github.com/gruppe-adler/meh-data). (We would appreciate if you contribute exported maps to this repository)

### Can I just tab out while the export process is running?
Yes you can tab out while the export is running, but we recommend starting with the [`-noPause` Arma 3 startup parameter](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters#Developer_Options). Otherwise, MEH will not initiate the export of pending maps.
Oh... and yeah and your CPU utilization will probably peak around 100% while MEH is running so have fun being productive.

### How does grad_meh work?
grad_meh utilizes [our Arma file formats C++ library](https://github.com/gruppe-adler/grad_aff) to parse all map relevant files. So most of the magic is outsourced.