You are viewing a potentially older version of this package. View all versions.
HiarlyScripter-SurveyorMap-1.0.1 icon

SurveyorMap

Client-side configurable HUD minimap for R.E.P.O. with optional safe enemy markers.

Date uploaded a month ago
Version 1.0.1
Download link HiarlyScripter-SurveyorMap-1.0.1.zip
Downloads 2112
Dependency string HiarlyScripter-SurveyorMap-1.0.1

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

🗺️ SurveyorMap

Minimapa persistente e client-side no HUD inferior esquerdo — espelha o mapa nativo do R.E.P.O. sem overlays falsos. Persistent client-side minimap in the bottom-left HUD — mirrors the native R.E.P.O. map with full fidelity.


Português

O SurveyorMap lê a câmera de mapa real do jogo e exibe um minimapa persistente no canto inferior esquerdo da tela durante o gameplay. Mesma geometria, mesmas cores e mesma fidelidade que o TAB — sem overlays falsos.

🎯 Funcionalidades

  • 🗺️ Minimapa persistente — HUD inferior esquerdo, visível apenas durante o gameplay. Some nos menus e no lobby.
  • 📷 Fidelidade nativa — lê a câmera de mapa real do jogo (activeTexture). Mostra a geometria real das salas, marcadores nativos e fidelidade das paredes.
  • M — pressione para mostrar/ocultar o minimapa sem afetar o TAB nativo.
  • 🛡️ TAB seguro — ao abrir o TAB, o minimapa persistente some automaticamente. O TAB não é afetado.
  • 🎛️ Modo de edição F8 — cursor liberado e câmera suspensa automaticamente ao entrar no F8; você pode editar o minimapa sem mover a câmera do jogador. Config salva automaticamente ao sair.
  • 🔍 Scroll (no F8) — ajusta o tamanho do minimapa.
  • 🔎 + / - — ajustam o zoom dentro ou fora do F8.
  • 👁️ Marcadores de inimigos — mostra posições de inimigos no mapa. Inimigos mortos/despawnados são removidos em ~2s. Forma e cor indicam o nível de ameaça de forma redundante.
  • 🔇 Silencioso por padrãoDebugLogging=false; emite apenas uma linha no log em uso normal.
  • 🟢 Client-side — nenhum outro jogador precisa instalar. Sem RPCs. Sem alteração de rede.

🎮 Controles

Tecla Contexto Ação
M Qualquer Mostrar / ocultar o minimapa
F8 Qualquer Entrar / sair do modo de edição
Arrastar F8 ativo Mover o minimapa
Scroll F8 ativo Ajustar tamanho
+ / - F8 ativo Ajustar zoom
R F8 ativo Resetar para valores padrão
+ / - Gameplay normal Ajustar zoom (com EnableZoomHotkeysOutsideEdit=true)

👁️ Sistema visual dos marcadores de inimigos

Forma e cor comunicam o mesmo nível de ameaça do inimigo, de forma redundante. Isso maximiza a legibilidade no minimapa pequeno — você identifica o perigo pela forma ou pela cor.

Ameaça Forma Cor Hex
Baixa (Easy) Círculo Verde-gelo #DFFFE8
Média (Medium) Quadrado Azul escuro #1E6BFF
Alta (High) Triângulo Lilás #C084FC
Crítica (Elite) Estrela Vermelho/coral #FF3B30

O nível de ameaça é derivado do campo difficulty do inimigo. Palavras-chave no nome/tipo podem elevar o nível (nunca reduzir):

  • veryheavy → elevado para pelo menos Alta (triângulo/lilás)
  • trudge, slow walker, boss, elite → elevado para Crítica (estrela/vermelho)
  • hunt, huntsman, bang, rush, charge → elevado para pelo menos Alta (triângulo/lilás)

⚙️ Configuração

Seção Chave Padrão Efeito
Minimap EnableMinimap true Liga/desliga o HUD do minimapa.
Minimap ToggleKey M Tecla para alternar o minimapa.
Minimap Width 260 Largura do minimapa em pixels.
Minimap Height 260 Altura do minimapa em pixels.
Minimap PosX 24 Offset horizontal a partir da borda esquerda.
Minimap PosY 120 Offset vertical a partir da borda inferior.
Minimap Opacity 0.85 Opacidade (0 = invisível, 1 = opaco).
Minimap Zoom 2.25 Fator de zoom ortográfico da câmera de mapa.
Features RevealRoomsMode Vanilla Vanilla = padrão (TAB original). NativeGlobal = revela via SetExplored, também afeta TAB.
Features ShowEnemies true Mostrar marcadores de inimigos no mapa.
Features EnemyMarkerSize 0.95 Escala dos marcadores (0.30–2.00). Aplica em ~2s sem reiniciar.
EditMode EditModeEnabled true Liga o modo de edição in-game (F8).
EditMode EditModeKey F8 Tecla para entrar/sair do modo de edição.
EditMode UnlockCursorInEditMode true Libera o cursor automaticamente ao entrar no F8. Se o jogo ainda capturar o mouse, pressione ESC uma vez.
EditMode FreezeCameraInEditMode true Suspende o mouse-look da câmera ao entrar no F8. O controle é restaurado ao sair.
EditMode EnableZoomHotkeysOutsideEdit true Permite +/- ajustarem o zoom durante gameplay normal, sem entrar no F8. Só funciona com minimapa visível e TAB fechado.
Debug DebugLogging false Habilita logs verbosos no BepInEx/LogOutput.log. Ative somente para diagnóstico.

📋 Notas

  • O minimapa é puramente client-side e não afeta outros jogadores.
  • RevealRoomsMode = NativeGlobal chama RoomVolume.SetExplored(), o que também revela salas no TAB nativo — comportamento opt-in documentado, não é o padrão.
  • Filtro de marcadores por sala inexplorada: removido em v1.0 (a API nativa de exploração de salas em modo Vanilla não é confiável o suficiente para uso em produção).

English

SurveyorMap reads the game's own map camera and displays a persistent minimap in the bottom-left HUD during gameplay. Same geometry, same colours, and same fidelity as the TAB map — no fake overlays.

🎯 Features

  • 🗺️ Persistent minimap — bottom-left HUD, visible only during gameplay. Disappears in menus and lobby.
  • 📷 Native map fidelity — reads the game's own map camera (activeTexture). Shows real room geometry, native markers, and wall fidelity.
  • M — press to show/hide the minimap without affecting the native TAB map.
  • 🛡️ TAB-safe — when you open the TAB map, the persistent minimap hides automatically. TAB is unaffected.
  • 🎛️ F8 Edit Mode — cursor unlocked and camera suspended automatically on entry; edit the minimap without spinning the player's view. Config is saved on exit.
  • 🔍 Scroll (in F8) — adjusts minimap size.
  • 🔎 + / - — adjust zoom inside or outside F8.
  • 👁️ Enemy markers — shows enemy positions on the map. Dead/despawned enemies are cleaned up in ~2s. Shape and colour both indicate threat level, redundantly.
  • 🔇 Silent by defaultDebugLogging=false; emits only one line in normal use.
  • 🟢 Client-side — no other players need to install it. No RPCs. No network changes.

🎮 Controls

Key Context Action
M Any Show / hide the minimap
F8 Any Enter / exit edit mode
Drag F8 active Reposition the minimap
Scroll F8 active Adjust size
+ / - F8 active Adjust zoom
R F8 active Reset to defaults
+ / - Normal gameplay Adjust zoom (with EnableZoomHotkeysOutsideEdit=true)

👁️ Enemy marker visual system

Shape and colour both communicate the same threat level — redundantly. This maximises readability on a small minimap — you recognise the danger by glyph or colour at a glance.

Threat Shape Colour Hex
Low (Easy) Circle Ice-green #DFFFE8
Medium Square Dark blue #1E6BFF
High Triangle Lilac #C084FC
Critical (Elite) Star Red / coral #FF3B30

Threat level is derived from the enemy's difficulty field. Name/type keywords can only elevate the tier (never reduce it):

  • veryheavy → elevated to at least High (triangle / lilac)
  • trudge, slow walker, boss, elite → elevated to Critical (star / red)
  • hunt, huntsman, bang, rush, charge → elevated to at least High (triangle / lilac)

⚙️ Configuration

Section Key Default Effect
Minimap EnableMinimap true Enable/disable the minimap HUD.
Minimap ToggleKey M Key to toggle the minimap.
Minimap Width 260 Minimap width in pixels.
Minimap Height 260 Minimap height in pixels.
Minimap PosX 24 Horizontal offset from the left edge.
Minimap PosY 120 Vertical offset from the bottom edge.
Minimap Opacity 0.85 Minimap opacity (0 = invisible, 1 = fully opaque).
Minimap Zoom 2.25 Native map camera orthographic zoom.
Features RevealRoomsMode Vanilla Vanilla = default (TAB stays original). NativeGlobal = reveals via SetExplored, also affects TAB.
Features ShowEnemies true Show enemy markers on the map.
Features EnemyMarkerSize 0.95 Marker scale multiplier (0.30–2.00). Applies within ~2s without restart.
EditMode EditModeEnabled true Enable in-game edit mode (F8).
EditMode EditModeKey F8 Key to enter/exit edit mode.
EditMode UnlockCursorInEditMode true Unlocks the cursor automatically when F8 is active. If the game still captures the mouse, press ESC once.
EditMode FreezeCameraInEditMode true Suspends camera mouse-look when F8 is active. Control is restored on exit.
EditMode EnableZoomHotkeysOutsideEdit true Allows +/- to adjust minimap zoom during normal gameplay without entering F8. Only active when minimap is visible and TAB is not open.
Debug DebugLogging false Enable verbose logging to BepInEx/LogOutput.log. Enable only for diagnostics.

📋 Notes

  • The minimap is purely client-side and does not affect other players.
  • RevealRoomsMode = NativeGlobal calls RoomVolume.SetExplored() which also reveals rooms in the native TAB map — intentional opt-in, not the default.
  • Room-exploration-based marker filtering: removed in v1.0 (the native room exploration API in Vanilla mode is not reliable enough for production use).

CHANGELOG

Changelog — SurveyorMap

Este arquivo contém versão em Português e em Inglês. O Português vem primeiro; o English version is below.

This file includes Portuguese and English versions. Portuguese comes first; English version is below.

Português

v1.0.1 — 2026-06-04

Compatibilidade: R.E.P.O. Build 23250495 · BepInEx 5.4.2100

  • Sem alterações de código. Publicação com categorias corretas no Thunderstore (Mods, Client-side, Quality Of Life) e badge atualizado no README.

v1.0.0 — 2026-06-02 (patch 11 — log mínimo, controles F8 invertidos, zoom fora do F8)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Log mínimo com DebugLogging=false. Com a config padrão, o SurveyorMap emite exatamente uma linha: [SurveyorMap] v1.0.0 loaded. BuildTag md5=<hash>. Tudo o mais (caminho da DLL, resumo de config, Edit mode ON/OFF, Edit mode reset) foi movido para LogDbg, visível somente com DebugLogging=true.
  • Controles do F8 edit mode invertidos. Scroll do mouse agora controla o tamanho do minimapa (scroll para cima = maior, scroll para baixo = menor). +/- agora controlam o zoom (zoom in = visão mais próxima/detalhada, zoom out = visão mais ampla). Shift+scroll removido (redundante).
  • Nova config EnableZoomHotkeysOutsideEdit = true (seção [EditMode]). Com esta opção ativa, +/- (teclado principal e numpad) ajustam o zoom do minimapa durante gameplay normal, sem precisar entrar no modo F8. Só funciona quando o minimapa está visível, o modo de edição está desativado e o TAB não está aberto.
  • Nenhuma alteração em minimap nativo, TAB, M, F8 camera freeze, inimigos, cores/formas ou RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 10 — congelar câmera via InputManager.DisableAiming)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Correção definitiva do F8 edit mode. Diagnóstico completo do pipeline de mouse-look: CameraAim.Update()SemiFunc.InputMouseX/Y()InputManager.GetMouseX/Y(), que verifica internamente InputManager.disableAimingTimer. O patch anterior (CameraAimEditModePatch) nunca foi testado (o jogo rodou com DLL anterior). A correção real chama InputManager.instance.DisableAiming() a cada frame enquanto o edit mode está ativo. InputManager.FixedUpdate() decrementa o timer a cada physics step; chamando no Update() a cada frame, o timer nunca expira e GetMouseX/Y retorna 0 constantemente.
  • CameraAimEditModePatch mantido como segunda camada de proteção (suprime CameraAim.Update() inteiramente quando EditModeActive).
  • Nenhuma alteração em minimap, TAB, M, R reset, inimigos, cores/formas, cleanup ou RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 9 — câmera real congelada, logs silenciosos, config limpa, ícone premium)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Câmera realmente congelada no F8. A abordagem anterior (CameraAim.OverridePlayerAimDisable) não bloqueava o input de forma confiável. Substituída por patch Harmony em CameraAim.Update: enquanto o modo F8 está ativo, o método é suprimido inteiramente, impedindo que qualquer mouse delta chegue à câmera. Ao sair do F8, a supressão é removida e Input.ResetInputAxes() limpa qualquer delta acumulado.
  • ShowEnemiesInUnexploredRooms removida como config pública. A feature era instável e já estava marcada como no-op. A entrada foi removida do código e do arquivo de configuração. Nenhuma funcionalidade foi perdida — todos os marcadores ativos já eram exibidos.
  • DebugLogging=false agora realmente silencia o log. Chamadas Log.LogInfo() e Log.LogDebug() diretas em NativeMapMirror.cs (TAB open/close, câmera encontrada, activeTexture null) foram convertidas para LogDbg(). Com DebugLogging=false, o SurveyorMap emite apenas: BuildTag md5=, v1.0.0 loaded, config summary, Edit mode ON/OFF, Edit mode reset, warnings e erros reais. (O logging foi reduzido ainda mais no Patch 11: no estado final de release, apenas uma linha é emitida em condições normais.)
  • Novo ícone premium aplicado. package/icon.png substituído pelo arquivo surveyormap-v2-256.png (256×256). Master 1024px salvo em assets/icon/.
  • Nenhuma alteração em minimap, TAB, M, R reset, inimigos, cores/formas, cleanup ou RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 8 — suspensão de câmera no F8 edit mode)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Nova config FreezeCameraInEditMode = true (seção [EditMode]). Ao entrar no modo F8, a câmera do jogador é suspensa automaticamente usando a API nativa do jogo (CameraAim.OverridePlayerAimDisable). Mover o mouse edita o minimapa sem girar a câmera.
  • O controle da câmera é restaurado ao sair do modo F8, junto com o cursor.
  • Implementação via API pública do jogo — sem patches, sem Windows API, sem simulação de ESC.
  • Se CameraAim.Instance for nulo (fora de gameplay), o mod emite um aviso e continua sem travar.
  • Nenhuma alteração funcional: minimap, TAB, M, R reset, inimigos, cleanup, DebugLogging inalterados.

v1.0.0 — 2026-06-02 (patch 7 — cursor automático no F8 e revisão de documentação)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Nova config UnlockCursorInEditMode = true (seção [EditMode]). O cursor é liberado automaticamente ao pressionar F8 para entrar no modo de edição, sem precisar apertar ESC. O estado anterior do cursor é restaurado ao sair do modo de edição.
  • A liberação do cursor é reaplicada a cada frame enquanto o modo de edição estiver ativo, garantindo que o jogo não reloque o mouse durante a edição.
  • Ao alternar o modo de edição, Input.ResetInputAxes() é chamado para evitar movimento residual da câmera.
  • Se o jogo ainda capturar o mouse após F8, pressione ESC uma vez para liberar manualmente.
  • Revisão editorial da documentação: acentuação e pontuação em português corrigidas em README e CHANGELOG.
  • Nenhuma alteração funcional: minimap, TAB, M, R reset, inimigos, cleanup, DebugLogging inalterados.

v1.0.0 — 2026-06-02 (patch 6 — log cleanup: DebugLogging=false)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Nova config DebugLogging = false (seção [Debug]). Por padrão, o log fica silencioso em uso normal. Ative DebugLogging = true apenas para diagnóstico de classificação de inimigos, sweep e room tracking.
  • Logs movidos para debug condicional: Sweep: active=, Enemy marker: id=, Map.AddCustom OK, Room explored (new), AddMarker skipped, M toggle, Patched EnemyHealth.*.
  • Logs que continuam sempre visíveis (à época deste patch): BuildTag md5=, plugin carregado, resumo de config, Edit mode ON/OFF, Edit mode reset, warnings e erros reais. (O escopo foi reduzido nos patches 9 e 11; no estado final de release, apenas uma linha é emitida.)
  • Nenhuma alteração funcional: cores, formas, cleanup, scale, TAB/M/F8/R inalterados.

v1.0.0 — 2026-06-02 (patch 5 — alinhamento visual: cor = ameaça)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Forma e cor agora representam o mesmo nível de ameaça (redundantes). Círculo+verde-gelo = Easy; Quadrado+azul = Medium; Triângulo+lilás = High; Estrela+vermelho = Elite/Crítico.
  • Removido modelo Cor = Família: cor por tipo/comportamento (Common/Small/Special/Brute) removida. A cor agora deriva exclusivamente do threat tier, igual à forma.
  • Keywords de nome/tipo continuam servindo apenas para elevar o threat tier; nunca para escolher cor separada.
  • Log de classificação atualizado: campo family= removido; mantidos diff=, threat=, shape=, color=, elevated=, names=.

v1.0.0 — 2026-06-01 (patch 4 — sistema visual de inimigos v2)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Novo modelo visual: Forma = Ameaça, Cor = Família (substituído no patch 5).
  • Elevação de ameaça por palavra-chave: veryheavy, trudge, slow walker, boss, elite.
  • Quadrado substitui losango: forma Medium agora é quadrado.
  • ShowEnemiesInUnexploredRooms depreciado: filtro por sala removido da lógica ativa.
  • EnemyMarkerSize padrão 0.95 (era 0.65). Aplica em ~2s via REPOConfig sem reiniciar.

v1.0.0 — 2026-06-01 (patch 3 — UX inimigos + reset editmode)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Cor separada da forma: cor = nível de perigo/dificuldade; forma = tipo/família do inimigo.
  • Filtro pré-spawn em AddMarker: inimigos mortos, inativos ou com CurrentState=Despawn rejeitados.
  • Tecla R no modo de edição: reseta para os valores padrão (PosX=24, PosY=120, W=260, H=260, Zoom=2.25, Opacity=0.85). Funciona apenas com F8 ativo.

v1.0.0 — 2026-06-01 (patch 2 — marcadores e edit mode)

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Cleanup de marcadores por registry: sweep a cada 2s, ClearAll no carregamento do nível.
  • Marcadores com formas (círculo/losango/triângulo/estrela) e cores por dificuldade.
  • Modo de edição F8: mover, redimensionar pelo canto, zoom com scroll, Shift+wheel, +/-, salvar ao sair.
  • RevealRoomsMode = Vanilla como padrão seguro. NativeGlobal é opt-in e também afeta o TAB.

v1.0.0 — 2026-06-01

Compatibilidade: R.E.P.O. + BepInEx 5.4.2100

  • Rebuild v2 com arquitetura limpa baseada no espelho do mapa nativo.
  • Minimapa persistente via câmera nativa activeTexture.
  • Comportamento TAB-safe: o minimapa some enquanto o TAB nativo está aberto.
  • Toggle M para mostrar/esconder o minimapa.
  • Marcadores de inimigos via MapCustom, com cleanup por despawn.
  • RevealRoomsMode: Vanilla (padrão, sem SetExplored), NativeGlobal (afeta TAB), MinimapOnly bloqueado.

v1.0.0 — 2026-05-31

  • Rebuild inicial da arquitetura v2.
  • Remoção de RuntimeLoop, RuntimeProbeBehaviour, CenterOnPlayer, overlays falsos, RenderTexture próprio e proof HUD.
  • Baseline de minimapa nativo, M toggle, TAB-safe, RevealRooms global e ShowEnemies inicial.

English

v1.0.1 — 2026-06-04

Compatibility: R.E.P.O. Build 23250495 · BepInEx 5.4.2100

  • No code changes. Published with correct Thunderstore categories (Mods, Client-side, Quality Of Life) and updated README badge.

v1.0.0 — 2026-06-02 (patch 11 — minimal log, inverted F8 controls, zoom outside F8)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Minimal log with DebugLogging=false. With the default config, SurveyorMap emits exactly one line: [SurveyorMap] v1.0.0 loaded. BuildTag md5=<hash>. Everything else (DLL path, config summary, Edit mode ON/OFF, reset) has been moved to LogDbg, visible only when DebugLogging=true.
  • F8 edit mode controls inverted. Scroll wheel now controls minimap size (scroll up = bigger, scroll down = smaller). +/- now control zoom (zoom in = closer/more-detailed view, zoom out = wider view). Shift+scroll removed (redundant).
  • New config EnableZoomHotkeysOutsideEdit = true (section [EditMode]). When enabled, +/- (main keyboard and numpad) adjust minimap zoom during normal gameplay without entering F8 edit mode. Only active when the minimap is visible, edit mode is off, and the TAB map is not open.
  • No changes to native minimap, TAB, M, F8 camera freeze, enemy markers, colours/shapes, or RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 10 — camera freeze via InputManager.DisableAiming)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Definitive F8 edit mode camera fix. Full pipeline analysis: CameraAim.Update()SemiFunc.InputMouseX/Y()InputManager.GetMouseX/Y(), which checks InputManager.disableAimingTimer internally. The previous patch (CameraAimEditModePatch) was never tested (the game ran with an older DLL). The real fix calls InputManager.instance.DisableAiming() every frame while edit mode is active. InputManager.FixedUpdate() decrements the timer every physics step; by calling it in Update() every frame, the timer never expires and GetMouseX/Y always returns 0.
  • CameraAimEditModePatch retained as a second layer (suppresses CameraAim.Update() entirely when EditModeActive).
  • No changes to minimap, TAB, M, R reset, enemy markers, colours/shapes, cleanup, or RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 9 — real camera freeze, silent logs, config cleanup, premium icon)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Camera actually frozen during F8. The previous approach (CameraAim.OverridePlayerAimDisable) did not reliably block mouse-look input. Replaced with a Harmony prefix patch on CameraAim.Update: while F8 edit mode is active, the method is suppressed entirely, preventing any mouse delta from reaching the camera. On exit, suppression is removed and Input.ResetInputAxes() clears any accumulated delta.
  • ShowEnemiesInUnexploredRooms removed as a public config. The feature was unstable and already a no-op. The config entry has been removed from code and from the config file. No functionality lost — all live markers were already shown unconditionally.
  • DebugLogging=false now truly silences the log. Direct Log.LogInfo() and Log.LogDebug() calls in NativeMapMirror.cs (TAB open/close, camera found, activeTexture null) were converted to LogDbg(). With DebugLogging=false, SurveyorMap only emits: BuildTag md5=, v1.0.0 loaded, config summary, Edit mode ON/OFF, Edit mode reset, real warnings and errors. (Logging was reduced further in Patch 11: in the final release state, only one line is emitted under normal conditions.)
  • New premium icon applied. package/icon.png replaced with surveyormap-v2-256.png (256×256). 1024px master saved to assets/icon/.
  • No changes to minimap, TAB, M, R reset, enemy markers, colours/shapes, cleanup, or RevealRoomsMode.

v1.0.0 — 2026-06-02 (patch 8 — camera suspension during F8 edit mode)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • New config FreezeCameraInEditMode = true (section [EditMode]). When entering F8 edit mode, the player camera look is suspended automatically using the game's own API (CameraAim.OverridePlayerAimDisable). Moving the mouse edits the minimap without spinning the camera.
  • Camera control is restored when you exit F8 edit mode, together with cursor state.
  • Implemented via the game's public API — no patches, no Windows API, no ESC simulation.
  • If CameraAim.Instance is null (e.g. not in gameplay), the mod emits a warning and continues without crashing.
  • No functional changes: minimap, TAB, M, R reset, enemy markers, cleanup, DebugLogging unchanged.

v1.0.0 — 2026-06-02 (patch 7 — automatic cursor in F8 edit mode and documentation review)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • New config UnlockCursorInEditMode = true (section [EditMode]). The cursor is unlocked and made visible automatically when you press F8 to enter edit mode — no need to press ESC first. The previous cursor state is restored when you exit edit mode.
  • Cursor unlock is reapplied every frame while edit mode is active, ensuring the game cannot re-lock the cursor during editing.
  • Input.ResetInputAxes() is called when toggling edit mode to prevent residual camera movement.
  • If the game still captures the mouse after pressing F8, press ESC once to release it manually.
  • Editorial review of documentation: corrected accents and punctuation in the Portuguese README and CHANGELOG.
  • No functional changes: minimap, TAB, M, R reset, enemy markers, cleanup, DebugLogging unchanged.

v1.0.0 — 2026-06-02 (patch 6 — log cleanup: DebugLogging=false)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • New config DebugLogging = false (section [Debug]). Log is silent by default for end users. Set DebugLogging = true only for diagnostics (enemy classification, sweep, room tracking).
  • Moved to conditional debug: Sweep: active=, Enemy marker: id=, Map.AddCustom OK, Room explored (new), AddMarker skipped, M toggle, Patched EnemyHealth.*.
  • Always visible (at the time of this patch): BuildTag md5=, plugin loaded, config summary, Edit mode ON/OFF, Edit mode reset, real warnings and errors. (Scope was reduced further in patches 9 and 11; in the final release, only one line is emitted.)
  • No functional changes: colours, shapes, cleanup, scale, TAB/M/F8/R unchanged.

v1.0.0 — 2026-06-02 (patch 5 — visual alignment: colour = threat)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Shape and colour now represent the same threat level (redundant). Circle+ice-green = Easy; Square+blue = Medium; Triangle+lilac = High; Star+red = Elite/Critical.
  • Removed Colour = Family model: colour-by-behaviour-type (Common/Small/Special/Brute) removed. Colour is now derived exclusively from threat tier, same as shape.
  • Name/type keywords still serve only to elevate threat tier, never to choose a separate colour.
  • Classification log updated: family= field removed; diff=, threat=, shape=, color=, elevated=, names= retained.

v1.0.0 — 2026-06-01 (patch 4 — enemy visual system v2)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • New visual model: Shape = Threat, Colour = Family (superseded by patch 5).
  • Threat elevation by keyword: veryheavy, trudge, slow walker, boss, elite.
  • Square replaces diamond: Medium threat shape is now a square.
  • ShowEnemiesInUnexploredRooms deprecated: room-based filtering removed from active logic.
  • EnemyMarkerSize default 0.95 (was 0.65). Applies within ~2s via REPOConfig without restart.

v1.0.0 — 2026-06-01 (patch 3 — enemy UX + edit mode reset)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Colour separated from shape: colour = danger/difficulty level; shape = enemy type/family.
  • Pre-spawn filter in AddMarker: dead, inactive, or CurrentState=Despawn enemies rejected.
  • R key in edit mode resets to default values. Only works when F8 edit mode is active.

v1.0.0 — 2026-06-01 (patch 2 — markers and edit mode)

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • Registry-based marker cleanup: 2s sweep, ClearAll on level load.
  • Marker shapes (circle/diamond/triangle/star) and colours by difficulty.
  • F8 edit mode: move, resize from corner, scroll zoom, Shift+wheel, +/-, save on exit.
  • RevealRoomsMode = Vanilla as safe default. NativeGlobal is opt-in and also affects TAB.

v1.0.0 — 2026-06-01

Compatibility: R.E.P.O. + BepInEx 5.4.2100

  • v2 rebuild with a clean native-map mirror architecture.
  • Persistent minimap through the native map camera activeTexture.
  • TAB-safe behaviour: the minimap hides while the native TAB map is open.
  • M toggle to show/hide the minimap.
  • Enemy markers through MapCustom, with cleanup on despawn.
  • RevealRoomsMode: Vanilla (default, no SetExplored), NativeGlobal (also affects TAB), MinimapOnly blocked.

v1.0.0 — 2026-05-31

  • Initial v2 architecture rebuild.
  • Removed RuntimeLoop, RuntimeProbeBehaviour, CenterOnPlayer, fake overlays, owned RenderTexture, and proof HUD.
  • Baseline native minimap, M toggle, TAB-safe behaviour, global RevealRooms, and initial ShowEnemies.