Skip to content
Snippets Groups Projects
Commit abcb6b1e authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Make EchoCfg-Win32 a graphics/GDI app

The old default Win32 console mode is still available via '-iw' option.
parent e73c75dd
No related branches found
No related tags found
No related merge requests found
Pipeline #5143 passed
......@@ -36,6 +36,8 @@
#include "sockwrap.h"
#include "str_util.h"
#include "getctrl.h"
#include "git_branch.h"
#include "git_hash.h"
char **opt;
......@@ -692,6 +694,21 @@ void binkp_settings(nodecfg_t* node)
}
}
#ifdef _WIN32
#define printf cprintf
#endif
void banner()
{
char compiler[32];
DESCRIBE_COMPILER(compiler);
printf("\nSynchronet FidoNet Configuration Version %u.%02u " COPYRIGHT_NOTICE
"\n\n",SBBSECHO_VERSION_MAJOR, SBBSECHO_VERSION_MINOR);
printf("Compiled %s/%s %s %s with %s\n", GIT_BRANCH, GIT_HASH, __DATE__, __TIME__, compiler);
}
int main(int argc, char **argv)
{
char str[256],*p;
......@@ -712,8 +729,11 @@ int main(int argc, char **argv)
ZERO_VAR(savarcdef);
ZERO_VAR(savedomain);
fprintf(stderr,"\nSynchronet FidoNet Configuration Version %u.%02u " COPYRIGHT_NOTICE
"\n\n",SBBSECHO_VERSION_MAJOR, SBBSECHO_VERSION_MINOR);
#if defined(_WIN32)
cio_api.options |= CONIO_OPT_DISABLE_CLOSE;
#else
banner();
#endif
memset(&cfg,0,sizeof(cfg));
str[0]=0;
......@@ -740,6 +760,7 @@ int main(int argc, char **argv)
case 'A':
ciolib_mode=CIOLIB_MODE_ANSI;
break;
#if defined __unix__
case 'C':
ciolib_mode=CIOLIB_MODE_CURSES;
break;
......@@ -756,9 +777,22 @@ int main(int argc, char **argv)
case 'X':
ciolib_mode=CIOLIB_MODE_X;
break;
#elif defined _WIN32
case 'W':
ciolib_mode=CIOLIB_MODE_CONIO;
break;
case 'G':
switch (toupper(argv[i][3])) {
case 0:
case 'W':
ciolib_mode = CIOLIB_MODE_GDI;
break;
case 'F':
ciolib_mode = CIOLIB_MODE_GDI_FULLSCREEN;
break;
}
break;
#endif
case 'D':
door_mode=TRUE;
break;
......@@ -780,26 +814,42 @@ int main(int argc, char **argv)
break;
default:
USAGE:
printf("usage: echocfg [path/to/sbbsecho.ini] [options]"
#ifdef _WIN32
uifc.size=sizeof(uifc);
uifc.mode |= UIFC_NOMOUSE;
initciolib(CIOLIB_MODE_CONIO);
uifcini32(&uifc);
banner();
#endif
printf("\nusage: echocfg [path/to/sbbsecho.ini] [options]"
"\n\noptions:\n\n"
"-k = keyboard mode only (no mouse support)\n"
"-c = force color mode\n"
"-m = force monochrome mode\n"
"-e# = set escape delay to #msec\n"
"-iX = set interface mode to X (default=auto) where X is one of:\n"
"-k keyboard mode only (no mouse support)\n"
"-c force color mode\n"
"-m force monochrome mode\n"
"-e# set escape delay to #msec\n"
"-iX set interface mode to X (default=auto) where X is one of:\n"
#ifdef __unix__
" X = X11 mode\n"
" C = Curses mode\n"
" F = Curses mode with forced IBM charset\n"
" I = Curses mode with forced ASCII charset\n"
" X = X11 mode\n"
" C = Curses mode\n"
" F = Curses mode with forced IBM charset\n"
" I = Curses mode with forced ASCII charset\n"
#else
" W = Win32 console mode\n"
" W = Win32 console mode\n"
#if defined(WITH_GDI)
" G = Win32 graphics mode\n"
" GF = Win32 graphics mode, full screen\n"
#endif // WITH_GDI
#endif
" A = ANSI mode\n"
" D = standard input/output/door mode\n"
"-v# = set video mode to # (default=auto)\n"
"-l# = set screen lines to # (default=auto-detect)\n"
" A = ANSI mode\n"
" D = standard input/output/door mode\n"
"-v# set video mode to # (default=auto)\n"
"-l# set screen lines to # (default=auto-detect)\n"
);
#ifdef _WIN32
printf("\nHit a key to close...");
getch();
#undef printf
#endif
exit(0);
}
else
......
......@@ -35,11 +35,11 @@
<Import Project="..\xpdev\xpdev.props" />
<Import Project="..\smblib\smblib.props" />
<Import Project="..\uifc\uifc.props" />
<Import Project="..\conio\conio.props" />
<Import Project="..\build\undeprecate.props" />
<Import Project="..\build\target_ia32.props" />
<Import Project="..\hash\hash.props" />
<Import Project="..\encode\encode.props" />
<Import Project="..\conio\conio_gdi.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
......@@ -47,11 +47,11 @@
<Import Project="..\xpdev\xpdev.props" />
<Import Project="..\smblib\smblib.props" />
<Import Project="..\uifc\uifc.props" />
<Import Project="..\conio\conio.props" />
<Import Project="..\build\undeprecate.props" />
<Import Project="..\build\target_ia32.props" />
<Import Project="..\hash\hash.props" />
<Import Project="..\encode\encode.props" />
<Import Project="..\conio\conio_gdi.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
......@@ -92,7 +92,6 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\msvc.win32.exe.debug/echocfg.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
......@@ -133,7 +132,6 @@
<OutputFile>.\msvc.win32.exe.release/echocfg.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ProgramDatabaseFile>.\msvc.win32.exe.release/echocfg.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
......@@ -169,8 +167,8 @@
<ClCompile Include="str_util.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\conio\conio.vcxproj">
<Project>{84592e48-27ca-48a6-b9c6-243d2347a578}</Project>
<ProjectReference Include="..\conio\conio_gdi.vcxproj">
<Project>{fbcce03b-65ee-44a1-bbe1-b1f789d223a1}</Project>
</ProjectReference>
<ProjectReference Include="..\uifc\uifc.vcxproj">
<Project>{7bfb9820-0e57-4be4-9be9-e0a687874e19}</Project>
......@@ -186,4 +184,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment