MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / OneTimeInitialization

Function OneTimeInitialization

source/Windows/AppleWin.cpp:626–671  ·  view source on GitHub ↗

DO ONE-TIME INITIALIZATION

Source from the content-addressed store, hash-verified

624
625// DO ONE-TIME INITIALIZATION
626static void OneTimeInitialization(HINSTANCE passinstance)
627{
628 // Currently only support one RIFF file
629 if (!g_cmdLine.wavFileSpeaker.empty())
630 {
631 if (RiffInitWriteFile(g_cmdLine.wavFileSpeaker.c_str(), SPKR_SAMPLE_RATE, Spkr_GetNumChannels()))
632 Spkr_OutputToRiff();
633 }
634 else if (!g_cmdLine.wavFileMockingboard.empty())
635 {
636 if (RiffInitWriteFile(g_cmdLine.wavFileMockingboard.c_str(), MockingboardCard::SAMPLE_RATE, MockingboardCard::NUM_MB_CHANNELS))
637 GetCardMgr().GetMockingboardCardMgr().OutputToRiff();
638 }
639
640 // Initialize COM - so we can use CoCreateInstance
641 // . DSInit() & DIMouse::DirectInputInit are done when g_hFrameWindow is created (WM_CREATE)
642 // . DDInit() is done in RepeatInitialization() by GetVideo().Initialize()
643 HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
644 LogFileOutput("Init: CoInitializeEx(), hr=0x%08X\n", hr);
645
646 g_bSysClkOK = SysClk_InitTimer();
647 LogFileOutput("Init: SysClk_InitTimer(), res=%d\n", g_bSysClkOK ? 1:0);
648#ifdef USE_SPEECH_API
649 if (g_bEnableSpeech)
650 {
651 const bool bSpeechOK = g_Speech.Init();
652 LogFileOutput("Init: SysClk_InitTimer(), res=%d\n", bSpeechOK ? 1:0);
653 }
654#endif
655
656 GetFrame().g_hInstance = passinstance;
657 GdiSetBatchLimit(512);
658 LogFileOutput("Init: GdiSetBatchLimit()\n");
659
660 GetProgramDirectory();
661 LogFileOutput("Init: GetProgramDirectory()\n");
662
663 if (g_bRegisterFileTypes)
664 {
665 RegisterExtensions();
666 LogFileOutput("Init: RegisterExtensions()\n");
667 }
668
669 Win32Frame::GetWin32Frame().FrameRegisterClass();
670 LogFileOutput("Init: FrameRegisterClass()\n");
671}
672
673// DO INITIALIZATION THAT MUST BE REPEATED FOR A RESTART
674static void RepeatInitialization(void)

Callers 1

WinMainFunction · 0.85

Calls 10

RiffInitWriteFileFunction · 0.85
Spkr_GetNumChannelsFunction · 0.85
Spkr_OutputToRiffFunction · 0.85
LogFileOutputFunction · 0.85
SysClk_InitTimerFunction · 0.85
GetProgramDirectoryFunction · 0.85
RegisterExtensionsFunction · 0.85
OutputToRiffMethod · 0.80
FrameRegisterClassMethod · 0.80
InitMethod · 0.45

Tested by

no test coverage detected