mirror of
https://github.com/holub/mame
synced 2025-05-17 19:24:59 +03:00
Added two new Windows OSD options: -debugger_font and -debugger_font_size,
which control the font and size used in the debugger text Windows. These default to "Lucida Console" and 9pt, which is the same face as previously hard-coded but 1pt larger. Personally, I prefer "Consolas" 9pt, which is one of the new "C" fonts included with Windows Vista and later (also available for free download on older systems). Note that only fixed-width fonts really work here, for obvious reasons.
This commit is contained in:
parent
e0c6f269de
commit
06970c54a7
@ -26,6 +26,7 @@
|
||||
|
||||
// MAMEOS headers
|
||||
#include "debugwin.h"
|
||||
#include "winmain.h"
|
||||
#include "window.h"
|
||||
#include "video.h"
|
||||
#include "input.h"
|
||||
@ -390,17 +391,29 @@ void debugwin_init_windows(void)
|
||||
|
||||
if (temp_dc != NULL)
|
||||
{
|
||||
// create a standard Lucida Console 8 font
|
||||
int size = options_get_int(mame_options(), WINOPTION_DEBUGGER_FONT_SIZE);
|
||||
TCHAR *t_face;
|
||||
|
||||
// create a standard font
|
||||
t_face = tstring_from_utf8(options_get_string(mame_options(), WINOPTION_DEBUGGER_FONT));
|
||||
debug_font = CreateFont(-MulDiv(size, GetDeviceCaps(temp_dc, LOGPIXELSY), 72), 0, 0, 0, FW_MEDIUM, FALSE, FALSE, FALSE,
|
||||
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, t_face);
|
||||
free(t_face);
|
||||
|
||||
// fall back to Lucida Console 8
|
||||
if (debug_font == NULL)
|
||||
{
|
||||
debug_font = CreateFont(-MulDiv(8, GetDeviceCaps(temp_dc, LOGPIXELSY), 72), 0, 0, 0, FW_MEDIUM, FALSE, FALSE, FALSE,
|
||||
ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, TEXT("Lucida Console"));
|
||||
if (debug_font == NULL)
|
||||
fatalerror("Unable to create debug font");
|
||||
}
|
||||
|
||||
// get the metrics
|
||||
old_font = SelectObject(temp_dc, debug_font);
|
||||
if (GetTextMetrics(temp_dc, &metrics))
|
||||
{
|
||||
debug_font_width = metrics.tmMaxCharWidth;
|
||||
debug_font_width = metrics.tmAveCharWidth;
|
||||
debug_font_height = metrics.tmHeight;
|
||||
debug_font_ascent = metrics.tmAscent + metrics.tmExternalLeading;
|
||||
}
|
||||
|
@ -126,6 +126,8 @@ const options_entry mame_win_options[] =
|
||||
{ NULL, NULL, OPTION_HEADER, "WINDOWS DEBUGGING OPTIONS" },
|
||||
{ "oslog", "0", OPTION_BOOLEAN, "output error.log data to the system debugger" },
|
||||
{ "watchdog;wdog", "0", 0, "force the program to terminate if no updates within specified number of seconds" },
|
||||
{ "debugger_font;dfont", "Lucida Console", 0, "specifies the font to use for debugging; defaults to Lucida Console" },
|
||||
{ "debugger_font_size;dfontsize", "9", 0, "specifies the font size to use for debugging; defaults to 9 pt" },
|
||||
|
||||
// performance options
|
||||
{ NULL, NULL, OPTION_HEADER, "WINDOWS PERFORMANCE OPTIONS" },
|
||||
|
@ -12,45 +12,73 @@
|
||||
// CONSTANTS
|
||||
//============================================================
|
||||
|
||||
// debugging options
|
||||
#define WINOPTION_OSLOG "oslog"
|
||||
#define WINOPTION_WATCHDOG "watchdog"
|
||||
#define WINOPTION_DEBUGGER_FONT "debugger_font"
|
||||
#define WINOPTION_DEBUGGER_FONT_SIZE "debugger_font_size"
|
||||
|
||||
// performance options
|
||||
#define WINOPTION_PRIORITY "priority"
|
||||
#define WINOPTION_MULTITHREADING "multithreading"
|
||||
|
||||
// video options
|
||||
#define WINOPTION_D3DVERSION "d3dversion"
|
||||
#define WINOPTION_VIDEO "video"
|
||||
#define WINOPTION_PRESCALE "prescale"
|
||||
#define WINOPTION_NUMSCREENS "numscreens"
|
||||
#define WINOPTION_WAITVSYNC "waitvsync"
|
||||
#define WINOPTION_TRIPLEBUFFER "triplebuffer"
|
||||
#define WINOPTION_HWSTRETCH "hwstretch"
|
||||
#define WINOPTION_SWITCHRES "switchres"
|
||||
#define WINOPTION_WINDOW "window"
|
||||
#define WINOPTION_MAXIMIZE "maximize"
|
||||
#define WINOPTION_KEEPASPECT "keepaspect"
|
||||
#define WINOPTION_SYNCREFRESH "syncrefresh"
|
||||
#define WINOPTION_FULLSCREENGAMMA "full_screen_gamma"
|
||||
#define WINOPTION_FULLSCREENBRIGHTNESS "full_screen_brightness"
|
||||
#define WINOPTION_FULLLSCREENCONTRAST "full_screen_contrast"
|
||||
#define WINOPTION_PRESCALE "prescale"
|
||||
#define WINOPTION_EFFECT "effect"
|
||||
#define WINOPTION_WAITVSYNC "waitvsync"
|
||||
#define WINOPTION_SYNCREFRESH "syncrefresh"
|
||||
|
||||
// DirectDraw-specific options
|
||||
#define WINOPTION_HWSTRETCH "hwstretch"
|
||||
|
||||
// Direct3D-specific options
|
||||
#define WINOPTION_D3DVERSION "d3dversion"
|
||||
#define WINOPTION_FILTER "filter"
|
||||
|
||||
// per-window options
|
||||
#define WINOPTION_SCREEN "screen"
|
||||
#define WINOPTION_ASPECT "aspect"
|
||||
#define WINOPTION_RESOLUTION "resolution"
|
||||
#define WINOPTION_RESOLUTION0 "resolution0"
|
||||
#define WINOPTION_RESOLUTION1 "resolution1"
|
||||
#define WINOPTION_RESOLUTION2 "resolution2"
|
||||
#define WINOPTION_RESOLUTION3 "resolution3"
|
||||
#define WINOPTION_FILTER "filter"
|
||||
#define WINOPTION_SCREEN "screen"
|
||||
|
||||
// window options
|
||||
#define WINOPTION_VIEW "view"
|
||||
#define WINOPTION_MAXIMIZE "maximize"
|
||||
#define WINOPTION_WINDOW "window"
|
||||
|
||||
#define WINOPTION_SCREEN0 "screen0"
|
||||
#define WINOPTION_ASPECT0 "aspect0"
|
||||
#define WINOPTION_RESOLUTION0 "resolution0"
|
||||
#define WINOPTION_VIEW0 "view0"
|
||||
|
||||
#define WINOPTION_SCREEN1 "screen1"
|
||||
#define WINOPTION_ASPECT1 "aspect1"
|
||||
#define WINOPTION_RESOLUTION1 "resolution1"
|
||||
#define WINOPTION_VIEW1 "view1"
|
||||
|
||||
#define WINOPTION_SCREEN2 "screen2"
|
||||
#define WINOPTION_ASPECT2 "aspect2"
|
||||
#define WINOPTION_RESOLUTION2 "resolution2"
|
||||
#define WINOPTION_VIEW2 "view2"
|
||||
|
||||
#define WINOPTION_SCREEN3 "screen3"
|
||||
#define WINOPTION_ASPECT3 "aspect3"
|
||||
#define WINOPTION_RESOLUTION3 "resolution3"
|
||||
#define WINOPTION_VIEW3 "view3"
|
||||
|
||||
// full screen options
|
||||
#define WINOPTION_TRIPLEBUFFER "triplebuffer"
|
||||
#define WINOPTION_SWITCHRES "switchres"
|
||||
#define WINOPTION_FULLSCREENBRIGHTNESS "full_screen_brightness"
|
||||
#define WINOPTION_FULLLSCREENCONTRAST "full_screen_contrast"
|
||||
#define WINOPTION_FULLSCREENGAMMA "full_screen_gamma"
|
||||
|
||||
// sound options
|
||||
#define WINOPTION_AUDIO_LATENCY "audio_latency"
|
||||
|
||||
// input options
|
||||
#define WINOPTION_DUAL_LIGHTGUN "dual_lightgun"
|
||||
|
||||
// misc options
|
||||
#define WINOPTION_AUDIO_LATENCY "audio_latency"
|
||||
#define WINOPTION_PRIORITY "priority"
|
||||
#define WINOPTION_MULTITHREADING "multithreading"
|
||||
#define WINOPTION_WATCHDOG "watchdog"
|
||||
#define WINOPTION_OSLOG "oslog"
|
||||
|
||||
|
||||
|
||||
//============================================================
|
||||
|
Loading…
Reference in New Issue
Block a user