MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / DisplayNewUser

Method DisplayNewUser

engine/Poseidon/UI/DisplayUIMenus.cpp:293–346  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

291
292 GetHead()->SetFace(*GetHeadType(), _woman, GetHeadShape(), name);
293}
294
295void CHead::SetGlasses(RString name)
296{
297 GetHead()->SetGlasses(*GetHeadType(), GetHeadShape(), name);
298}
299
300void CHead::AttachWave(IWave* wave, float freq)
301{
302 GetHead()->AttachWave(wave, freq);
303}
304
305DisplayNewUser::DisplayNewUser(ControlsContainer* parent, RString name, bool edit) : Display(parent)
306{
307 _edit = edit;
308 if (edit)
309 {
310 _name = name;
311 _face = Glob.header.playerFace;
312 _glasses = Glob.header.playerGlasses;
313 _speaker = Glob.header.playerSpeaker;
314 _pitch = Glob.header.playerPitch;
315
316 RString filename =
317 ProfileManager::GetProfileCfgPath(GamePaths::Instance().UserDir(), std::string(name)).c_str();
318 if (QIFStream::FileExists(filename))
319 {
320 ParamFile cfg;
321 cfg.Parse(filename);
322 const ParamEntry* identity = cfg.FindEntry("Identity");
323 if (identity)
324 {
325 _face = (*identity) >> "face";
326 if (identity->FindEntry("glasses"))
327 {
328 _glasses = (*identity) >> "glasses";
329 }
330 _speaker = (*identity) >> "speaker";
331 _pitch = (*identity) >> "pitch";
332 if (identity->FindEntry("squad"))
333 {
334 _squad = (*identity) >> "squad";
335 }
336 }
337 }
338 }
339 else
340 {
341 _name = LocalizeString(kNewUserDefaultNameKey);
342 _face = "Default";
343 _glasses = "None";
344 _speaker = (Pars >> "CfgVoice" >> "voices")[0];
345 _pitch = 1.0;
346 }
347
348 _doPreview = false;
349

Callers

nothing calls this directly

Calls 10

GetProfileCfgPathFunction · 0.85
LocalizeStringFunction · 0.85
GetCtrlFunction · 0.85
ShowCtrlMethod · 0.80
FileExistsFunction · 0.50
ParseMethod · 0.45
FindEntryMethod · 0.45
SetFaceMethod · 0.45
SetGlassesMethod · 0.45

Tested by

no test coverage detected