MCPcopy Create free account
hub / github.com/REGoth-project/REGoth / initEngine

Method initEngine

src/engine/BaseEngine.cpp:66–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66void BaseEngine::initEngine(int argc, char** argv)
67{
68 m_Args.cmdline = bx::CommandLine(argc, (const char**)argv);
69 const char* value = nullptr;
70
71 LogInfo() << "Initializing...";
72
73 m_Args.gameBaseDirectory = ".";
74 //m_Args.startupZEN = "addonworld.zen";
75
76 if (Flags::startG1.isSet())
77 m_Args.gameBaseDirectory = Flags::g1Directory.getParam(0);
78 else if (Flags::startG2.isSet())
79 m_Args.gameBaseDirectory = Flags::g2Directory.getParam(0);
80 else if (Flags::gameDirectory.isSet())
81 m_Args.gameBaseDirectory = Flags::gameDirectory.getParam(0);
82 else
83 LogInfo() << "No game-root specified! Using the current working-directory as game root. Use the '-g' flag to specify this!";
84
85 if (Flags::modFile.isSet())
86 m_Args.modfile = Flags::modFile.getParam(0);
87
88 if (Flags::world.isSet())
89 m_Args.startupZEN = Flags::world.getParam(0);
90
91 loadArchives();
92
93 if (m_Args.startupZEN.empty() || !m_FileIndex.hasFile(m_Args.startupZEN))
94 {
95 // Try Gothic 1
96 if (m_FileIndex.hasFile("world.zen"))
97 m_Args.startupZEN = "world.zen";
98 else if (m_FileIndex.hasFile("newworld.zen"))
99 m_Args.startupZEN = "newworld.zen";
100 else
101 LogWarn() << "Unknown game files, could not find world.zen or newworld.zen!";
102 }
103
104 if (Flags::emptyWorld.isSet())
105 m_Args.startupZEN = "";
106
107 if (Flags::playerScriptname.isSet())
108 m_Args.playerScriptname = Flags::playerScriptname.getParam(0);
109
110 m_Args.startNewGame = Flags::startNewGame.isSet();
111
112 std::string snd_device;
113 if (Flags::sndDevice.isSet())
114 snd_device = Flags::sndDevice.getParam(0);
115
116 m_Args.noTextureFiltering = Flags::noTextureFiltering.isSet();
117
118 m_AudioEngine = new Audio::AudioEngine(snd_device);
119
120 // Init HUD
121 m_pFontCache = new UI::zFontCache(*this);
122 m_pHUD = new UI::Hud(*this);
123 getRootUIView().addChild(m_pHUD);

Callers

nothing calls this directly

Calls 3

isSetMethod · 0.80
addChildMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected