30 Menu & Config: Config Defaults & Utilities
This tour examines the m_misc
moduleβs utilities: file I/O, menu text drawing, configuration management, and screenshot capture.
30.0.1 π m_misc.h
Core utilities for file operations, configuration management, and menu display:
// linuxdoom-1.10/m_misc.h (lines 34β57)
30.0.2 ποΈ Text Rendering
M_DrawText renders text using bitmap font patches:
// linuxdoom-1.10/m_misc.c (lines 69β100)
30.0.3 βοΈ Configuration System
Configuration entries (default_t
):
// linuxdoom-1.10/m_misc.c (lines 225β232)
Mapping defaults (defaults[]
):
// linuxdoom-1.10/m_misc.c (lines 234β299)
Base default application:
// linuxdoom-1.10/m_misc.c (lines 349β355)
Token matching from .doomrc
:
// linuxdoom-1.10/m_misc.c (lines 389β393)
-config argument or fallback:
// linuxdoom-1.10/m_misc.c (lines 356β364)
Parsing .doomrc
:
// linuxdoom-1.10/m_misc.c (lines 366β403)
Saving defaults to file:
// linuxdoom-1.10/m_misc.c (lines 308β315 and 318β328)
30.0.4 πΌοΈ Screenshot Capture
WritePCXfile handles PCX encoding and writing:
// linuxdoom-1.10/m_misc.c (lines 441β497)
M_ScreenShot captures and saves the screen:
// linuxdoom-1.10/m_misc.c (lines 503β531)
30.0.5 π Notes on Loading
M_LoadDefaults
matches each defaults[i].name
and updates the variable through *defaults[i].location
.
30.0.6 π File I/O Utilities
M_ReadFile: loads entire file into zone memory:
// linuxdoom-1.10/m_misc.c (lines 139β163)
M_WriteFile: atomic file writing:
// linuxdoom-1.10/m_misc.c (lines 112β132)
And thatβs m_misc
β Doomβs utility layer for configs, menu text, screenshots, and file I/O.