Repository navigation
doom
github-actions[bot] edited this page Nov 13, 2026
·
1 revision
O DOOM roda como processo separado e a janela nativa dele é reparentada para dentro do editor
(src/ui/window_embed.py + src/ui/doom_embed.py).
| Plataforma | Mecanismo |
|---|---|
| Windows |
EnumWindows (por PID) → WS_CHILD sem moldura → SetParent no HWND do frame |
| Linux/BSD (X11) |
_NET_WM_PID → XReparentWindow no XID do frame (força SDL_VIDEODRIVER=x11) |
| macOS / Wayland puro | janela externa (fallback automático, com aviso) |
-
Motor: gzdoom, uzdoom, crispy-doom, chocolate-doom, dsda-doom, woof ou prboom-plus (PATH,
~/.codis/doom/,<projeto>/doom/ou pastas de instalação comuns no Windows). -
IWAD: doom.wad, doom2.wad, freedoom1/2.wad, plutonia/tnt.wad ou doom1.wad (shareware). Procurado em
DOOMWADDIR,DOOMWADPATH, pasta do motor,~/.codis/doom/e pastas padrão do Steam.
doom_engine_path / CODIS_DOOM_ENGINE, doom_iwad_path / CODIS_DOOM_IWAD, doom_extra_args.
- ESC abre o menu do próprio DOOM.
- Ctrl+Shift+F12 (global, funciona mesmo com o foco dentro do jogo) ou o botão Voltar ao código encerram.
- Se o jogo capturar o mouse, o atalho libera (
ClipCursor(NULL)no Windows). - Log do motor:
~/.codis/doom/last_run.log(mostrado na mensagem se o motor falhar ao abrir).
- Linux/X11 real (Xvfb + xterm como motor falso):
tests/manual/embed_x11_integration.py. - Win32:
tests/test_doom_embed.pyusa umuser32falso que verifica a ordem exigida pela API (estiloWS_CHILDantes deSetParent, rollback em falha, restauração nodetach). O caminho Win32 real só pode ser validado num Windows com gzdoom.
Começando
Editando
- Editor
- Inteligência do Editor
- KDocs
- Linting & LSP
- Debug
- Git
- Terminal
- Workspace & Produtividade
- Utilitários de Desenvolvimento
Assistente e conectividade
Ferramentas e extras
- Recursos Avançados
- Recursos Exclusivos
- K-UI
- Sistema & Performance
- Backups, Lixeira & Arquivos
- Painel de Saída
- Acessibilidade
- Editor de Imagens (Paint)
- Utilitários Pessoais
- Incorporar Programas e Preview Web
- DOOM Embutido
Para quem desenvolve
Projeto