early arg support for older platforms
The startup had fallen behind NetHack 5.0 startup for other platforms, and lacked support for some of the early command line options. Following this, if PC_EARLY_OPTIONS is defined in pcconf.h, the port will support those options, such as --version, --showpaths, --dumpenums, etc.) Currently, MSDOS #defines's PC_EARLY_OPTIONS, but AMIGA, ATARI, and MAC68K do not.
This commit is contained in:
@@ -116,6 +116,10 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
startup();
|
||||
#endif
|
||||
|
||||
#if defined(PC_EARLY_OPTIONS)
|
||||
program_state.early_options = 1;
|
||||
#endif
|
||||
|
||||
#ifdef TOS
|
||||
if (*argv[0]) { /* only a CLI can give us argv[0] */
|
||||
gh.hname = argv[0];
|
||||
@@ -124,6 +128,9 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
#endif
|
||||
gh.hname = "NetHack"; /* used for syntax messages */
|
||||
|
||||
#if defined(PC_EARLY_OPTIONS)
|
||||
early_init(argc, argv);
|
||||
#endif
|
||||
choose_windows(DEFAULT_WINDOW_SYS);
|
||||
|
||||
|
||||
@@ -266,6 +273,12 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
#endif
|
||||
ami_wininit_data(WININIT);
|
||||
#endif
|
||||
|
||||
#if defined(PC_EARLY_OPTIONS)
|
||||
early_options(&argc, &argv, &dir);
|
||||
program_state.early_options = 0;
|
||||
#endif
|
||||
|
||||
initoptions();
|
||||
|
||||
#ifdef NOCWD_ASSUMPTIONS
|
||||
|
||||
+5
-2
@@ -155,8 +155,11 @@ getreturn(const char *str)
|
||||
msmsg("Hit <Enter> %s.", str);
|
||||
#endif
|
||||
#endif
|
||||
while (pgetchar() != '\n')
|
||||
;
|
||||
#if defined(PC_EARLY_OPTIONS)
|
||||
if (isatty(STDOUT_FILENO))
|
||||
#endif
|
||||
while (pgetchar() != '\n')
|
||||
;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user