API ReferenceGE Extensionsfreeroam
Freeroam Vue Big Map
M.dependencies = {'gameplay_missions_missions','freeroam_bigMapMode', 'gameplay_rawPois'}
Dependencies
M.dependencies = {'gameplay_missions_missions','freeroam_bigMapMode', 'gameplay_rawPois'}Vue-based big map backend that provides POI data, filter management, group structures, and action execution for the Vue big map UI. Alternative to the CEF-based bigmap POI provider.
Internal State
| Field | Type | Description |
|---|---|---|
M.actionFunctions | varies | Assigned as {} |
M.actionIdCounter | varies | Assigned as 0 |
Public API
| Function | Signature | Returns | Description |
|---|---|---|---|
M.enterBigMap | () | nil | Opens big map, generates cache, sets visible IDs |
M.exitBigMap | () | nil | Closes big map, clears caches |
M.getPoiData | () | table | Returns all POI data keyed by ID |
M.getFilters | () | table | Returns filter sections with group visibility |
M.getGroups | () | table | Returns group sections with visible POI IDs |
M.getGameStateInfo | () | table | Returns game mode, rules, level data |
M.toggleFiltersByIds | (filterIds) | nil | Toggles visibility of filter groups by key |
M.toggleFilterSectionById | (sectionId) | nil | Toggles all groups in a filter section |
M.selectPoiFromList | (poiId) | string | Selects a POI, delegates to bigMapMode |
M.hoverPoiFromList | (poiId, active) | string, boolean | Hovers a POI from the list |
M.executePoiAction | (actionId) | nil | Executes a registered action callback |
M.setVisibleIds | () | nil | Updates visible POI IDs based on filter state |
M.getFreeActionId | () | - |
Action System
| Function | Signature | Returns | Description |
|---|---|---|---|
M.addAction | (callback, meta?) | table | Registers an action with callback, returns meta with actionId |
M.executeAction | (actionId) | string | Executes a registered action |
M.clearActionFunctions | () | nil | Clears all registered actions |
How It Works
- Enter: Calls
bigMapMode.enterBigMap({instant=true}), generates POI/group/filter caches - POI Processing: Iterates
gameplay_rawPois, formats missions and non-missions with actions (Set Route, Quick Travel) - Group Structure: Organizes POIs into sections - freeroam POIs, missions by type, career domains
- Filters: Each group has a visibility toggle stored in
filterVisibilityState - Actions: POI actions (navigate, teleport) are registered with unique IDs for safe callback from Vue UI
Filter Structure
{
key = "freeroamPois",
icon = "mapPoint",
title = "bigMap.sideMenu.pois",
groups = {
{ key = "type_spawnPoint", label = "Quicktravel Points", icon = "fastTravel", elementCount = 5, visible = true },
{ key = "type_gasStation", label = "Gas Stations", icon = "fuelPump", elementCount = 3, visible = true },
}
}Hooks
| Hook | Purpose |
|---|---|
M.onPoiSelectedFromBigmap | Sends showPoiDetails to Vue UI when POI selected from map |
Notes
- Caches invalidated on each
enterBigMap()or when data changes - Career mode adds domain-based filter sections and delivery filters
toggleFilterSectionByIdimplements majority-rule toggle (turns all on if most are off, and vice versa)- Depends on
gameplay_missions_missions,freeroam_bigMapMode,gameplay_rawPois
See Also
- Freeroam Big Map Markers - Related reference
- Freeroam Big Map Mode - Related reference
- Freeroam Big Map POI Provider - Related reference
- Freeroam Guide - Guide
Freeroam Special Triggers
Event-driven system for toggling scene objects (statics, lights) when vehicles enter/exit BeamNGTriggers or site zones. Supports delayed activation, random ordering, nested SimGroups, and Lua command
Freeroam Configurator Options
Provides default freeroam configuration options for traffic and time-of-day settings. Responds to the freeroam configurator's option gathering and application hooks.