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 @@ ...@@ -36,6 +36,8 @@
#include "sockwrap.h" #include "sockwrap.h"
#include "str_util.h" #include "str_util.h"
#include "getctrl.h" #include "getctrl.h"
#include "git_branch.h"
#include "git_hash.h"
char **opt; char **opt;
...@@ -692,6 +694,21 @@ void binkp_settings(nodecfg_t* node) ...@@ -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) int main(int argc, char **argv)
{ {
char str[256],*p; char str[256],*p;
...@@ -712,8 +729,11 @@ int main(int argc, char **argv) ...@@ -712,8 +729,11 @@ int main(int argc, char **argv)
ZERO_VAR(savarcdef); ZERO_VAR(savarcdef);
ZERO_VAR(savedomain); ZERO_VAR(savedomain);
fprintf(stderr,"\nSynchronet FidoNet Configuration Version %u.%02u " COPYRIGHT_NOTICE #if defined(_WIN32)
"\n\n",SBBSECHO_VERSION_MAJOR, SBBSECHO_VERSION_MINOR); cio_api.options |= CONIO_OPT_DISABLE_CLOSE;
#else
banner();
#endif
memset(&cfg,0,sizeof(cfg)); memset(&cfg,0,sizeof(cfg));
str[0]=0; str[0]=0;
...@@ -740,6 +760,7 @@ int main(int argc, char **argv) ...@@ -740,6 +760,7 @@ int main(int argc, char **argv)
case 'A': case 'A':
ciolib_mode=CIOLIB_MODE_ANSI; ciolib_mode=CIOLIB_MODE_ANSI;
break; break;
#if defined __unix__
case 'C': case 'C':
ciolib_mode=CIOLIB_MODE_CURSES; ciolib_mode=CIOLIB_MODE_CURSES;
break; break;
...@@ -756,9 +777,22 @@ int main(int argc, char **argv) ...@@ -756,9 +777,22 @@ int main(int argc, char **argv)
case 'X': case 'X':
ciolib_mode=CIOLIB_MODE_X; ciolib_mode=CIOLIB_MODE_X;
break; break;
#elif defined _WIN32
case 'W': case 'W':
ciolib_mode=CIOLIB_MODE_CONIO; ciolib_mode=CIOLIB_MODE_CONIO;
break; 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': case 'D':
door_mode=TRUE; door_mode=TRUE;
break; break;
...@@ -780,26 +814,42 @@ int main(int argc, char **argv) ...@@ -780,26 +814,42 @@ int main(int argc, char **argv)
break; break;
default: default:
USAGE: 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" "\n\noptions:\n\n"
"-k = keyboard mode only (no mouse support)\n" "-k keyboard mode only (no mouse support)\n"
"-c = force color mode\n" "-c force color mode\n"
"-m = force monochrome mode\n" "-m force monochrome mode\n"
"-e# = set escape delay to #msec\n" "-e# set escape delay to #msec\n"
"-iX = set interface mode to X (default=auto) where X is one of:\n" "-iX set interface mode to X (default=auto) where X is one of:\n"
#ifdef __unix__ #ifdef __unix__
" X = X11 mode\n" " X = X11 mode\n"
" C = Curses mode\n" " C = Curses mode\n"
" F = Curses mode with forced IBM charset\n" " F = Curses mode with forced IBM charset\n"
" I = Curses mode with forced ASCII charset\n" " I = Curses mode with forced ASCII charset\n"
#else #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 #endif
" A = ANSI mode\n" " A = ANSI mode\n"
" D = standard input/output/door mode\n" " D = standard input/output/door mode\n"
"-v# = set video mode to # (default=auto)\n" "-v# set video mode to # (default=auto)\n"
"-l# = set screen lines to # (default=auto-detect)\n" "-l# set screen lines to # (default=auto-detect)\n"
); );
#ifdef _WIN32
printf("\nHit a key to close...");
getch();
#undef printf
#endif
exit(0); exit(0);
} }
else else
......
...@@ -35,11 +35,11 @@ ...@@ -35,11 +35,11 @@
<Import Project="..\xpdev\xpdev.props" /> <Import Project="..\xpdev\xpdev.props" />
<Import Project="..\smblib\smblib.props" /> <Import Project="..\smblib\smblib.props" />
<Import Project="..\uifc\uifc.props" /> <Import Project="..\uifc\uifc.props" />
<Import Project="..\conio\conio.props" />
<Import Project="..\build\undeprecate.props" /> <Import Project="..\build\undeprecate.props" />
<Import Project="..\build\target_ia32.props" /> <Import Project="..\build\target_ia32.props" />
<Import Project="..\hash\hash.props" /> <Import Project="..\hash\hash.props" />
<Import Project="..\encode\encode.props" /> <Import Project="..\encode\encode.props" />
<Import Project="..\conio\conio_gdi.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
...@@ -47,11 +47,11 @@ ...@@ -47,11 +47,11 @@
<Import Project="..\xpdev\xpdev.props" /> <Import Project="..\xpdev\xpdev.props" />
<Import Project="..\smblib\smblib.props" /> <Import Project="..\smblib\smblib.props" />
<Import Project="..\uifc\uifc.props" /> <Import Project="..\uifc\uifc.props" />
<Import Project="..\conio\conio.props" />
<Import Project="..\build\undeprecate.props" /> <Import Project="..\build\undeprecate.props" />
<Import Project="..\build\target_ia32.props" /> <Import Project="..\build\target_ia32.props" />
<Import Project="..\hash\hash.props" /> <Import Project="..\hash\hash.props" />
<Import Project="..\encode\encode.props" /> <Import Project="..\encode\encode.props" />
<Import Project="..\conio\conio_gdi.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
...@@ -92,7 +92,6 @@ ...@@ -92,7 +92,6 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\msvc.win32.exe.debug/echocfg.pdb</ProgramDatabaseFile> <ProgramDatabaseFile>.\msvc.win32.exe.debug/echocfg.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention> <DataExecutionPrevention>
</DataExecutionPrevention> </DataExecutionPrevention>
...@@ -133,7 +132,6 @@ ...@@ -133,7 +132,6 @@
<OutputFile>.\msvc.win32.exe.release/echocfg.exe</OutputFile> <OutputFile>.\msvc.win32.exe.release/echocfg.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<ProgramDatabaseFile>.\msvc.win32.exe.release/echocfg.pdb</ProgramDatabaseFile> <ProgramDatabaseFile>.\msvc.win32.exe.release/echocfg.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention> <DataExecutionPrevention>
</DataExecutionPrevention> </DataExecutionPrevention>
...@@ -169,8 +167,8 @@ ...@@ -169,8 +167,8 @@
<ClCompile Include="str_util.c" /> <ClCompile Include="str_util.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\conio\conio.vcxproj"> <ProjectReference Include="..\conio\conio_gdi.vcxproj">
<Project>{84592e48-27ca-48a6-b9c6-243d2347a578}</Project> <Project>{fbcce03b-65ee-44a1-bbe1-b1f789d223a1}</Project>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\uifc\uifc.vcxproj"> <ProjectReference Include="..\uifc\uifc.vcxproj">
<Project>{7bfb9820-0e57-4be4-9be9-e0a687874e19}</Project> <Project>{7bfb9820-0e57-4be4-9be9-e0a687874e19}</Project>
...@@ -186,4 +184,4 @@ ...@@ -186,4 +184,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </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