File: mapgen_helpers.cpp

package info (click to toggle)
cataclysm-dda 0.H-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 710,808 kB
  • sloc: cpp: 524,019; python: 11,580; sh: 1,228; makefile: 1,169; xml: 507; javascript: 150; sql: 56; exp: 41; perl: 37
file content (33 lines) | stat: -rw-r--r-- 962 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "mapgen_helpers.h"
#include "map.h"
#include "mapgen.h"
#include "mapgen_functions.h"
#include "mapgendata.h"
#include "overmapbuffer.h"

static const oter_str_id oter_field( "field" );

void common_mapgen_prep( tripoint_abs_omt const &pos, fprep_t const &prep )
{
    if( prep ) {
        tinymap tm;
        tm.load( project_to<coords::sm>( pos ), true );
        prep( tm );
    }
}

void manual_update_mapgen( tripoint_abs_omt const &pos, update_mapgen_id const &id )
{
    // make sure we don't rotate the update
    overmap_buffer.ter_set( pos, oter_field.id() );
    run_mapgen_update_func( id, pos, {}, nullptr, false );
}

void manual_nested_mapgen( tripoint_abs_omt const &pos, nested_mapgen_id const &id )
{
    tinymap tm;
    tm.load( project_to<coords::sm>( pos ), true );
    mapgendata md( pos, tm, 0.0f, calendar::turn, nullptr );
    const auto &ptr = nested_mapgens[id].funcs().pick();
    ( *ptr )->nest( md, point_zero, "test" );
}