# paul01784/meatyeftrelease architecture

> Architecture diagram of the GitHub repository paul01784/meatyeftrelease, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-08-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/paul01784/meatyeftrelease
- Repository: https://github.com/paul01784/meatyeftrelease

## Overview

#### Purpose and Build Entry
MeatyEFTRelease is a Windows C++ companion/radar for Escape from Tarkov. It runs outside the game process, reads game state through DMA/VMM facilities, and presents live radar and helper data. Build/open entry is `MeatyEFTRelease.slnx`; executable startup is expected in `MeatyEFTRelease/main.cpp`, with the Visual Studio project at `MeatyEFTRelease/MeatyEFTRelease.vcxproj`.

#### Application Orchestration
The top-level runtime coordinates configuration, global state, background work, and rendering. `MeatyEFTRelease/main.cpp` is the process entry point; `MeatyEFTRelease/globals.cpp` and `MeatyEFTRelease/app/globals.h` provide shared application state. `MeatyEFTRelease/taskManager.cpp` and `MeatyEFTRelease/app/taskManager.h` indicate a task-based control boundary for recurring work such as game-state updates and external queries.

#### Memory and Input Boundary
The memory layer isolates low-level interaction with the target environment and hardware/software DMA stack. `MeatyEFTRelease/memory/Memory.cpp` and `MeatyEFTRelease/memory/Memory.h` are the primary access abstraction; `MeatyEFTRelease/memory/Registry.cpp` and `MeatyEFTRelease/memory/InputManager.cpp` support environment discovery and input handling. Runtime dependencies include MemProcFS/VMM and LeechCore binaries/libraries represented by `MeatyEFTRelease/libs/vmm.lib`, `MeatyEFTRelease/libs/leechcore.lib`, and associated headers.

#### Game-State Extraction and Domain Model
Game modules translate raw memory into Tarkov-specific entities and world state. `MeatyEFTRelease/game/maingame.cpp` and `MeatyEFTRelease/game/game_world.cpp` appear to establish the active game/world context. Entity readers cover players, loot, camera, extracts, explosives, quests, and dogtags, including `MeatyEFTRelease/game/players.cpp`, `MeatyEFTRelease/game/loot.cpp`, and `MeatyEFTRelease/game/questManager.cpp`. Unity-facing types/helpers form the key boundary between raw reads and domain objects: `MeatyEFTRelease/game/headers/unitysdk.h` and `MeatyEFTRelease/game/headers/sdk.h`.

#### Radar Rendering and UI
The presentation pipeline converts extracted game state into an interactive DirectX9/ImGui view. Rendering is centered on `MeatyEFTRelease/render.cpp`, `MeatyEFTRelease/app/render.h`, and `MeatyEFTRelease/app/draw.h`; map data is managed through `MeatyEFTRelease/maps.cpp` and `MeatyEFTRelease/app/maps.h`. The desktop/window boundary is `MeatyEFTRelease/DxRenderWindow.cpp` with `MeatyEFTRelease/app/DxRenderWindow.h`. ImGui’s Win32/DX9 backends are vendored in `MeatyEFTRelease/external/imgui/backends/imgui_impl_win32.cpp` and `MeatyEFTRelease/external/imgui/backends/imgui_impl_dx9.cpp`.

#### Live Data, Persistence, and Updates
Network-backed enrichment is separated from local game reads. `MeatyEFTRelease/game/tarkovdevquery.cpp` suggests Tarkov.dev data retrieval, while `MeatyEFTRelease/DogTagAPI.cpp` handles dogtag-related API integration. `MeatyEFTRelease/FileUpdater.cpp` provides update/download behavior. libcurl is supplied through `MeatyEFTRelease/external/curl/curl.h` and `MeatyEFTRelease/libs/libcurl.lib`; JSON parsing/configuration uses `MeatyEFTRelease/external/nlohmann/json.hpp`, `MeatyEFTRelease/config.cpp`, and `MeatyEFTRelease/configs/config.json`. Proprietary authentication, APIs, and backend databases are explicitly outside this repository.

#### Supporting Runtime Options
An optional Fuser rendering/application path exists in `MeatyEFTRelease/fuserapp.cpp` and `MeatyEFTRelease/app/fuserRender.h`. Configuration and INI-based runtime settings are represented by `MeatyEFTRelease/app/config.h` and `MeatyEFTRelease/INImeatyEFT.ini`. The principal platform stack is Windows, Visual Studio/MSVC, DirectX9, ImGui, GLM (`MeatyEFTRelease/external/glm/glm.hpp`), and nlohmann JSON.

Main entry points: [`MeatyEFTRelease/render.cpp`](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/render.cpp) (Radar Renderer), [`MeatyEFTRelease/game/game_world.cpp`](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/game_world.cpp) (Active Game World), [`MeatyEFTRelease/main.cpp`](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/main.cpp) (Process Entry), [`MeatyEFTRelease/taskManager.cpp`](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/taskManager.cpp) (Task Manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Application Runtime"]
  node_entry["Process Entry<br/>C++ startup<br/>[main.cpp]"]
  node_globals["Shared App State<br/>global state<br/>[globals.cpp]"]
  node_tasks["Task Manager<br/>scheduler<br/>[taskManager.cpp]"]
  node_config["Runtime Configuration<br/>[config.cpp]"]
end

subgraph group_memory["DMA / Memory Boundary"]
  node_memory_api["Memory Access<br/>DMA/VMM abstraction<br/>[Memory.cpp]"]
  node_registry_input["Environment &amp; Input<br/>platform integration<br/>[Registry.cpp]"]
  node_vmm{{"MemProcFS / LeechCore<br/>native dependency<br/>[vmm.lib]"}}
end

subgraph group_game["Game-State Extraction"]
  node_world["Active Game World<br/>world reader<br/>[game_world.cpp]"]
  node_unity_sdk["Unity SDK Bridge<br/>memory type layer<br/>[unitysdk.h]"]
  node_entities["Entity Readers<br/>domain extractors<br/>[players.cpp]"]
  node_quests["Quest Manager<br/>domain extractor<br/>[questManager.cpp]"]
end

subgraph group_ui["Radar Presentation"]
  node_window["DX9 Window<br/>Windows desktop host<br/>[DxRenderWindow.cpp]"]
  node_renderer["Radar Renderer<br/>DirectX9 / ImGui renderer<br/>[render.cpp]"]
  node_maps["Map Data<br/>map manager<br/>[maps.cpp]"]
  node_imgui_dx9["ImGui DX9 Backend<br/>render backend<br/>[imgui_impl_dx9.cpp]"]
end

subgraph group_data["Live Data &amp; Persistence"]
  node_tarkovdev["Tarkov.dev Queries<br/>live-data client<br/>[tarkovdevquery.cpp]"]
  node_dogtag_api["Dogtag API<br/>live-data client<br/>[DogTagAPI.cpp]"]
  node_updater["File Updater<br/>download service<br/>[FileUpdater.cpp]"]
  node_curl{{"libcurl<br/>HTTP dependency<br/>[libcurl.lib]"}}
end

node_entry -->|"initializes"| node_globals
node_entry -->|"loads"| node_config
node_entry -->|"starts"| node_tasks
node_entry -->|"creates"| node_window
node_tasks -->|"updates"| node_world
node_tasks -->|"runs queries"| node_tarkovdev
node_memory_api -->|"uses"| node_vmm
node_registry_input -->|"supports"| node_memory_api
node_world -->|"reads through"| node_memory_api
node_world -->|"uses types"| node_unity_sdk
node_entities -->|"reads from"| node_world
node_entities -->|"uses types"| node_unity_sdk
node_quests -->|"reads from"| node_world
node_renderer -->|"renders state"| node_entities
node_renderer -->|"renders data"| node_quests
node_renderer -->|"uses"| node_maps
node_renderer -->|"draws in"| node_window
node_renderer -->|"uses"| node_imgui_dx9
node_tarkovdev -->|"uses HTTP"| node_curl
node_dogtag_api -->|"uses HTTP"| node_curl
node_updater -->|"downloads via"| node_curl
node_config -.->|"configures"| node_renderer

click node_entry "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/main.cpp"
click node_globals "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/globals.cpp"
click node_tasks "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/taskManager.cpp"
click node_config "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/config.cpp"
click node_memory_api "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/memory/Memory.cpp"
click node_registry_input "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/memory/Registry.cpp"
click node_vmm "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/libs/vmm.lib"
click node_world "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/game_world.cpp"
click node_unity_sdk "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/headers/unitysdk.h"
click node_entities "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/players.cpp"
click node_quests "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/questManager.cpp"
click node_window "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/DxRenderWindow.cpp"
click node_renderer "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/render.cpp"
click node_maps "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/maps.cpp"
click node_imgui_dx9 "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/external/imgui/backends/imgui_impl_dx9.cpp"
click node_tarkovdev "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/tarkovdevquery.cpp"
click node_dogtag_api "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/DogTagAPI.cpp"
click node_updater "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/FileUpdater.cpp"
click node_curl "https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/libs/libcurl.lib"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_globals,node_tasks,node_config toneBlue
class node_memory_api,node_registry_input,node_vmm toneAmber
class node_world,node_unity_sdk,node_entities,node_quests toneMint
class node_window,node_renderer,node_maps,node_imgui_dx9 toneRose
class node_tarkovdev,node_dogtag_api,node_updater,node_curl toneIndigo
```

## Components

### Application Runtime

- [Process Entry](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/main.cpp): C++ startup · Coordinates startup, background work, and rendering. · `MeatyEFTRelease/main.cpp`
- [Shared App State](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/globals.cpp): global state · `MeatyEFTRelease/globals.cpp`
- [Task Manager](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/taskManager.cpp): scheduler · Runs recurring game-state and external-query work. · `MeatyEFTRelease/taskManager.cpp`
- [Runtime Configuration](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/config.cpp): configuration · `MeatyEFTRelease/config.cpp`

### DMA / Memory Boundary

- [Memory Access](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/memory/Memory.cpp): DMA/VMM abstraction · Isolates target-process memory access. · `MeatyEFTRelease/memory/Memory.cpp`
- [Environment & Input](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/memory/Registry.cpp): platform integration · `MeatyEFTRelease/memory/Registry.cpp`
- [MemProcFS / LeechCore](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/libs/vmm.lib): native dependency · Supplies VMM and DMA facilities. · `MeatyEFTRelease/libs/vmm.lib`

### Game-State Extraction

- [Active Game World](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/game_world.cpp): world reader · Establishes the current Tarkov world context. · `MeatyEFTRelease/game/game_world.cpp`
- [Unity SDK Bridge](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/headers/unitysdk.h): memory type layer · Maps raw Unity memory to usable game types. · `MeatyEFTRelease/game/headers/unitysdk.h`
- [Entity Readers](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/players.cpp): domain extractors · Reads players, loot, camera, extracts, explosives, and dogtags. · `MeatyEFTRelease/game/players.cpp`
- [Quest Manager](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/questManager.cpp): domain extractor · `MeatyEFTRelease/game/questManager.cpp`

### Radar Presentation

- [DX9 Window](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/DxRenderWindow.cpp): Windows desktop host · `MeatyEFTRelease/DxRenderWindow.cpp`
- [Radar Renderer](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/render.cpp): DirectX9 / ImGui renderer · Draws the interactive radar and helper UI. · `MeatyEFTRelease/render.cpp`
- [Map Data](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/maps.cpp): map manager · `MeatyEFTRelease/maps.cpp`
- [ImGui DX9 Backend](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/external/imgui/backends/imgui_impl_dx9.cpp): render backend · `MeatyEFTRelease/external/imgui/backends/imgui_impl_dx9.cpp`

### Live Data & Persistence

- [Tarkov.dev Queries](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/game/tarkovdevquery.cpp): live-data client · `MeatyEFTRelease/game/tarkovdevquery.cpp`
- [Dogtag API](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/DogTagAPI.cpp): live-data client · `MeatyEFTRelease/DogTagAPI.cpp`
- [File Updater](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/FileUpdater.cpp): download service · `MeatyEFTRelease/FileUpdater.cpp`
- [libcurl](https://github.com/paul01784/meatyeftrelease/blob/master/MeatyEFTRelease/libs/libcurl.lib): HTTP dependency · `MeatyEFTRelease/libs/libcurl.lib`

## Connections

- Process Entry → Shared App State: initializes
- Process Entry → Runtime Configuration: loads
- Process Entry → Task Manager: starts
- Process Entry → DX9 Window: creates
- Task Manager → Active Game World: updates
- Task Manager → Tarkov.dev Queries: runs queries
- Memory Access → MemProcFS / LeechCore: uses
- Environment & Input → Memory Access: supports
- Active Game World → Memory Access: reads through
- Active Game World → Unity SDK Bridge: uses types
- Entity Readers → Active Game World: reads from
- Entity Readers → Unity SDK Bridge: uses types
- Quest Manager → Active Game World: reads from
- Radar Renderer → Entity Readers: renders state
- Radar Renderer → Quest Manager: renders data
- Radar Renderer → Map Data: uses
- Radar Renderer → DX9 Window: draws in
- Radar Renderer → ImGui DX9 Backend: uses
- Tarkov.dev Queries → libcurl: uses HTTP
- Dogtag API → libcurl: uses HTTP
- File Updater → libcurl: downloads via
- Runtime Configuration → Radar Renderer: configures
