diff --git a/Sources/SeriousSam/GUI/Components/MGEdit.cpp b/Sources/SeriousSam/GUI/Components/MGEdit.cpp index 1b0d642..512d0bd 100644 --- a/Sources/SeriousSam/GUI/Components/MGEdit.cpp +++ b/Sources/SeriousSam/GUI/Components/MGEdit.cpp @@ -18,7 +18,6 @@ CMGEdit::CMGEdit(void) Clear(); } - void CMGEdit::Clear(void) { mg_iCursorPos = 0; @@ -26,7 +25,6 @@ void CMGEdit::Clear(void) _bEditingString = FALSE; } - void CMGEdit::OnActivate(void) { if (!mg_bEnabled) { @@ -112,7 +110,6 @@ BOOL CMGEdit::OnKeyDown(int iVKey) return TRUE; } - // char typed BOOL CMGEdit::OnChar(MSG msg) { @@ -134,7 +131,6 @@ BOOL CMGEdit::OnChar(MSG msg) return TRUE; } - void CMGEdit::Render(CDrawPort *pdp) { if (mg_bEditing) { @@ -160,9 +156,11 @@ void CMGEdit::Render(CDrawPort *pdp) CMGButton::Render(pdp); } } + void CMGEdit::OnStringChanged(void) { } + void CMGEdit::OnStringCanceled(void) { } \ No newline at end of file diff --git a/Sources/SeriousSam/GUI/Components/MGFileButton.cpp b/Sources/SeriousSam/GUI/Components/MGFileButton.cpp index 13c9a91..421f2c4 100644 --- a/Sources/SeriousSam/GUI/Components/MGFileButton.cpp +++ b/Sources/SeriousSam/GUI/Components/MGFileButton.cpp @@ -120,6 +120,7 @@ void CMGFileButton::OnActivate(void) mg_iState = FBS_SAVENAME; } } + BOOL CMGFileButton::OnKeyDown(int iVKey) { if (mg_iState == FBS_NORMAL) { diff --git a/Sources/SeriousSam/GUI/Components/MGKeyDefinition.cpp b/Sources/SeriousSam/GUI/Components/MGKeyDefinition.cpp index b06ffc2..0c3f0d0 100644 --- a/Sources/SeriousSam/GUI/Components/MGKeyDefinition.cpp +++ b/Sources/SeriousSam/GUI/Components/MGKeyDefinition.cpp @@ -17,7 +17,6 @@ CMGKeyDefinition::CMGKeyDefinition(void) mg_iState = DOING_NOTHING; } - void CMGKeyDefinition::OnActivate(void) { PlayMenuSound(_psdPress); @@ -26,7 +25,6 @@ void CMGKeyDefinition::OnActivate(void) mg_iState = RELEASE_RETURN_WAITING; } - BOOL CMGKeyDefinition::OnKeyDown(int iVKey) { // if waiting for a key definition diff --git a/Sources/SeriousSam/GUI/Components/MGLevelButton.cpp b/Sources/SeriousSam/GUI/Components/MGLevelButton.cpp index 4237435..0eeb0c1 100644 --- a/Sources/SeriousSam/GUI/Components/MGLevelButton.cpp +++ b/Sources/SeriousSam/GUI/Components/MGLevelButton.cpp @@ -18,7 +18,6 @@ void CMGLevelButton::OnActivate(void) _pAfterLevelChosen(); } - void CMGLevelButton::OnSetFocus(void) { SetThumbnail(mg_fnmLevel); diff --git a/Sources/SeriousSam/GUI/Components/MGServerList.cpp b/Sources/SeriousSam/GUI/Components/MGServerList.cpp index 279b2ec..a676913 100644 --- a/Sources/SeriousSam/GUI/Components/MGServerList.cpp +++ b/Sources/SeriousSam/GUI/Components/MGServerList.cpp @@ -31,7 +31,6 @@ void PrintInBox(CDrawPort *pdp, PIX pixI, PIX pixJ, PIX pixSizeI, CTString str, pdp->PutText(str, pixI, pixJ, col); } - CMGServerList::CMGServerList() { mg_iSelected = 0; @@ -285,7 +284,6 @@ static INDEX SliderPixToIndex(PIX pixOffset, INDEX iVisible, INDEX iTotal, PIXaa return (iTotal*pixOffset) / pixFull; } - static PIXaabbox2D GetSliderBox(INDEX iFirst, INDEX iVisible, INDEX iTotal, PIXaabbox2D boxFull) { @@ -306,6 +304,7 @@ PIXaabbox2D CMGServerList::GetScrollBarFullBox(void) { return PIXaabbox2D(PIX2D(mg_pixSBMinI, mg_pixSBMinJ), PIX2D(mg_pixSBMaxI, mg_pixSBMaxJ)); } + PIXaabbox2D CMGServerList::GetScrollBarHandleBox(void) { return GetSliderBox(mg_iFirstOnScreen, mg_ctOnScreen, _lhServers.Count(), GetScrollBarFullBox()); @@ -438,6 +437,7 @@ void CMGServerList::OnSetFocus(void) { mg_bFocused = TRUE; } + void CMGServerList::OnKillFocus(void) { mg_bFocused = FALSE; diff --git a/Sources/SeriousSam/GUI/Components/MGSlider.cpp b/Sources/SeriousSam/GUI/Components/MGSlider.cpp index a1e131a..0722e0f 100644 --- a/Sources/SeriousSam/GUI/Components/MGSlider.cpp +++ b/Sources/SeriousSam/GUI/Components/MGSlider.cpp @@ -72,7 +72,6 @@ BOOL CMGSlider::OnKeyDown(int iVKey) return CMenuGadget::OnKeyDown(iVKey); } - PIXaabbox2D CMGSlider::GetSliderBox(void) { extern CDrawPort *pdp; @@ -85,7 +84,6 @@ PIXaabbox2D CMGSlider::GetSliderBox(void) return PIXaabbox2D(PIX2D(pixIR + 1, pixJ + 1), PIX2D(pixIR + pixISizeR - 2, pixJ + pixJSize - 2)); } - void CMGSlider::Render(CDrawPort *pdp) { SetFontMedium(pdp); diff --git a/Sources/SeriousSam/GUI/Components/MGTrigger.cpp b/Sources/SeriousSam/GUI/Components/MGTrigger.cpp index 494e576..443619b 100644 --- a/Sources/SeriousSam/GUI/Components/MGTrigger.cpp +++ b/Sources/SeriousSam/GUI/Components/MGTrigger.cpp @@ -37,7 +37,6 @@ void CMGTrigger::ApplyCurrentSelection(void) mg_strValue = mg_astrTexts[mg_iSelected]; } - void CMGTrigger::OnSetNextInList(int iVKey) { if (mg_pPreTriggerChange != NULL) { @@ -52,7 +51,6 @@ void CMGTrigger::OnSetNextInList(int iVKey) } } - BOOL CMGTrigger::OnKeyDown(int iVKey) { if ((iVKey == VK_RETURN || iVKey == VK_LBUTTON) || @@ -68,7 +66,6 @@ BOOL CMGTrigger::OnKeyDown(int iVKey) return FALSE; } - void CMGTrigger::Render(CDrawPort *pdp) { SetFontMedium(pdp); diff --git a/Sources/SeriousSam/GUI/Components/MGVarButton.cpp b/Sources/SeriousSam/GUI/Components/MGVarButton.cpp index 0a2f899..b783847 100644 --- a/Sources/SeriousSam/GUI/Components/MGVarButton.cpp +++ b/Sources/SeriousSam/GUI/Components/MGVarButton.cpp @@ -17,7 +17,6 @@ BOOL CMGVarButton::IsSeparator(void) return mg_pvsVar->vs_bSeparator; } - BOOL CMGVarButton::IsEnabled(void) { return(_gmRunningGameMode == GM_NONE @@ -25,7 +24,6 @@ BOOL CMGVarButton::IsEnabled(void) || mg_pvsVar->vs_bCanChangeInGame); } - // return slider position on scren PIXaabbox2D CMGVarButton::GetSliderBox(void) { @@ -111,7 +109,6 @@ BOOL CMGVarButton::OnKeyDown(int iVKey) return CMenuGadget::OnKeyDown(iVKey); } - void CMGVarButton::Render(CDrawPort *pdp) { if (mg_pvsVar == NULL) { diff --git a/Sources/SeriousSam/GUI/Components/MenuGadget.cpp b/Sources/SeriousSam/GUI/Components/MenuGadget.cpp index 449ac78..18ef392 100644 --- a/Sources/SeriousSam/GUI/Components/MenuGadget.cpp +++ b/Sources/SeriousSam/GUI/Components/MenuGadget.cpp @@ -85,6 +85,7 @@ void CMenuGadget::Disappear(void) void CMenuGadget::Think(void) { } + void CMenuGadget::OnMouseOver(PIX pixI, PIX pixJ) { } diff --git a/Sources/SeriousSam/GUI/Menus/MCustomizeKeyboard.cpp b/Sources/SeriousSam/GUI/Menus/MCustomizeKeyboard.cpp index 589ba3d..b74bb6a 100644 --- a/Sources/SeriousSam/GUI/Menus/MCustomizeKeyboard.cpp +++ b/Sources/SeriousSam/GUI/Menus/MCustomizeKeyboard.cpp @@ -93,6 +93,7 @@ void CCustomizeKeyboardMenu::StartMenu(void) gm_iListWantedItem = 0; CGameMenu::StartMenu(); } + void CCustomizeKeyboardMenu::EndMenu(void) { ControlsMenuOff(); diff --git a/Sources/SeriousSam/GUI/Menus/MInGame.cpp b/Sources/SeriousSam/GUI/Menus/MInGame.cpp index 8368d19..93b4dbc 100644 --- a/Sources/SeriousSam/GUI/Menus/MInGame.cpp +++ b/Sources/SeriousSam/GUI/Menus/MInGame.cpp @@ -126,8 +126,7 @@ void CInGameMenu::StartMenu(void) gm_mgLabel1.mg_strText.PrintF(TRANS("Player: %s"), pc.GetNameForPrinting()); gm_mgLabel2.mg_strText = ""; - } - else { + } else { if (_pNetwork->IsServer()) { CTString strHost, strAddress; @@ -142,8 +141,8 @@ void CInGameMenu::StartMenu(void) gm_mgLabel1.mg_strText = TRANS("Address: ") + strHostName; gm_mgLabel2.mg_strText = ""; - } - else { + + } else { CTString strConfig; strConfig = TRANS(""); diff --git a/Sources/SeriousSam/GUI/Menus/MLevels.cpp b/Sources/SeriousSam/GUI/Menus/MLevels.cpp index 5fe5c6e..bf90414 100644 --- a/Sources/SeriousSam/GUI/Menus/MLevels.cpp +++ b/Sources/SeriousSam/GUI/Menus/MLevels.cpp @@ -77,8 +77,6 @@ void CLevelsMenu::FillListItems(void) gm_mgArrowDn.mg_bEnabled = !bHasLast && ctLabels>0; } - - void CLevelsMenu::StartMenu(void) { // set default parameters for the list diff --git a/Sources/SeriousSam/GUI/Menus/MLoadSave.cpp b/Sources/SeriousSam/GUI/Menus/MLoadSave.cpp index ccf834e..7d18238 100644 --- a/Sources/SeriousSam/GUI/Menus/MLoadSave.cpp +++ b/Sources/SeriousSam/GUI/Menus/MLoadSave.cpp @@ -130,6 +130,7 @@ void CLoadSaveMenu::StartMenu(void) CGameMenu::StartMenu(); } + void CLoadSaveMenu::EndMenu(void) { // delete all file infos @@ -196,11 +197,11 @@ BOOL CLoadSaveMenu::ParseFile(const CTFileName &fnm, CTString &strName) if (fnm.FileExt() != gm_fnmExt) { return FALSE; } + CTFileName fnSaveGameDescription = fnm.NoExt() + ".des"; try { strName.Load_t(fnSaveGameDescription); - } - catch (char *strError) { + } catch (char *strError) { (void)strError; strName = fnm.FileName(); diff --git a/Sources/SeriousSam/GUI/Menus/MMain.cpp b/Sources/SeriousSam/GUI/Menus/MMain.cpp index b7d9e08..5cb9edb 100644 --- a/Sources/SeriousSam/GUI/Menus/MMain.cpp +++ b/Sources/SeriousSam/GUI/Menus/MMain.cpp @@ -106,6 +106,7 @@ void CMainMenu::Initialize_t(void) gm_mgQuit.mg_pmgDown = &gm_mgSingle; gm_mgQuit.mg_pActivatedFunction = NULL; } + void CMainMenu::StartMenu(void) { gm_mgSingle.mg_bEnabled = IsMenuEnabled("Single Player"); diff --git a/Sources/SeriousSam/GUI/Menus/MNetworkStart.cpp b/Sources/SeriousSam/GUI/Menus/MNetworkStart.cpp index 3602efb..f84761f 100644 --- a/Sources/SeriousSam/GUI/Menus/MNetworkStart.cpp +++ b/Sources/SeriousSam/GUI/Menus/MNetworkStart.cpp @@ -88,9 +88,6 @@ void CNetworkStartMenu::Initialize_t(void) gm_mgStart.mg_strText = TRANS("START"); gm_lhGadgets.AddTail(gm_mgStart.mg_lnNode); gm_mgStart.mg_pActivatedFunction = NULL; - - - } void CNetworkStartMenu::StartMenu(void) diff --git a/Sources/SeriousSam/GUI/Menus/MPlayerProfile.cpp b/Sources/SeriousSam/GUI/Menus/MPlayerProfile.cpp index 5339ec8..24f5bff 100644 --- a/Sources/SeriousSam/GUI/Menus/MPlayerProfile.cpp +++ b/Sources/SeriousSam/GUI/Menus/MPlayerProfile.cpp @@ -178,8 +178,7 @@ void CPlayerProfileMenu::SelectPlayer(INDEX iPlayer) if (_iLocalPlayer >= 0 && _iLocalPlayer<4) { _pGame->gm_aiMenuLocalPlayers[_iLocalPlayer] = iPlayer; - } - else { + } else { _pGame->gm_iSinglePlayer = iPlayer; } gm_mgNameField.mg_pstrToChange = &pc.pc_strName; @@ -215,8 +214,7 @@ void CPlayerProfileMenu::SelectPlayer(INDEX iPlayer) // no model gm_mgModel.mg_moModel.SetData(NULL); // if there is some - } - else { + } else { // set the model BOOL(*pFunc)(CModelObject *, CPlayerCharacter *, CTString &, BOOL) = (BOOL(*)(CModelObject *, CPlayerCharacter *, CTString &, BOOL))pss->ss_pvValue; @@ -258,8 +256,7 @@ void CPlayerProfileMenu::StartMenu(void) for (INDEX i = 0; i<8; i++) { gm_mgNumber[i].mg_bEnabled = TRUE; } - } - else { + } else { for (INDEX i = 0; i<8; i++) { gm_mgNumber[i].mg_bEnabled = FALSE; } @@ -281,7 +278,6 @@ void CPlayerProfileMenu::StartMenu(void) CGameMenu::StartMenu(); } - void CPlayerProfileMenu::EndMenu(void) { _pGame->SavePlayersAndControls(); diff --git a/Sources/SeriousSam/GUI/Menus/MSinglePlayer.cpp b/Sources/SeriousSam/GUI/Menus/MSinglePlayer.cpp index 3edfba9..130b66d 100644 --- a/Sources/SeriousSam/GUI/Menus/MSinglePlayer.cpp +++ b/Sources/SeriousSam/GUI/Menus/MSinglePlayer.cpp @@ -119,8 +119,7 @@ void CSinglePlayerMenu::StartMenu(void) gm_mgPlayersAndControls.mg_boxOnScreen = BoxBigRow(6.0f); gm_mgOptions.mg_boxOnScreen = BoxBigRow(7.0f); - } - else { + } else { if (gm_mgTraining.mg_lnNode.IsLinked()) { gm_mgTraining.mg_lnNode.Remove(); } diff --git a/Sources/SeriousSam/GUI/Menus/MVideoOptions.cpp b/Sources/SeriousSam/GUI/Menus/MVideoOptions.cpp index b83a6bd..f7ddaaa 100644 --- a/Sources/SeriousSam/GUI/Menus/MVideoOptions.cpp +++ b/Sources/SeriousSam/GUI/Menus/MVideoOptions.cpp @@ -62,7 +62,6 @@ void CVideoOptionsMenu::Initialize_t(void) gm_mgApply.mg_pActivatedFunction = NULL; } - void CVideoOptionsMenu::StartMenu(void) { InitVideoOptionsButtons(); diff --git a/Sources/SeriousSam/GUI/Menus/MenuPrinting.cpp b/Sources/SeriousSam/GUI/Menus/MenuPrinting.cpp index f19fa39..b3cea39 100644 --- a/Sources/SeriousSam/GUI/Menus/MenuPrinting.cpp +++ b/Sources/SeriousSam/GUI/Menus/MenuPrinting.cpp @@ -22,18 +22,21 @@ FLOATaabbox2D BoxTitle(void) FLOAT2D(0, _fBigSizeJ), FLOAT2D(1, _fBigSizeJ)); } + FLOATaabbox2D BoxNoUp(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(_fNoStartI+fRow*(_fNoSizeI+_fNoSpaceI), _fNoUpStartJ), FLOAT2D(_fNoStartI+fRow*(_fNoSizeI+_fNoSpaceI)+_fNoSizeI, _fNoUpStartJ+_fNoSizeJ)); } + FLOATaabbox2D BoxNoDown(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(_fNoStartI+fRow*(_fNoSizeI+_fNoSpaceI), _fNoDownStartJ), FLOAT2D(_fNoStartI+fRow*(_fNoSizeI+_fNoSpaceI)+_fNoSizeI, _fNoDownStartJ+_fNoSizeJ)); } + FLOATaabbox2D BoxBigRow(FLOAT fRow) { return FLOATaabbox2D( @@ -46,6 +49,7 @@ FLOATaabbox2D BoxBigLeft(FLOAT fRow) FLOAT2D(0.1f, _fBigStartJ+fRow*_fBigSizeJ), FLOAT2D(0.45f, _fBigStartJ+(fRow+1)*_fBigSizeJ)); } + FLOATaabbox2D BoxBigRight(FLOAT fRow) { return FLOATaabbox2D( @@ -66,48 +70,56 @@ FLOATaabbox2D BoxVersion(void) FLOAT2D(0.05f, _fBigStartJ+-5.5f*_fMediumSizeJ), FLOAT2D(0.97f, _fBigStartJ+(-5.5f+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxMediumRow(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(0.05f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.95f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxKeyRow(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(0.15f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.85f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxMediumLeft(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(0.05f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.45f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxPlayerSwitch(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(0.05f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.65f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxMediumMiddle(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(_fNoStartI, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.95f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxPlayerEdit(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(_fNoStartI, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.65f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxMediumRight(FLOAT fRow) { return FLOATaabbox2D( FLOAT2D(0.55f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.95f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxPopup(void) { return FLOATaabbox2D(FLOAT2D(0.2f, 0.4f), FLOAT2D(0.8f, 0.6f)); @@ -119,30 +131,35 @@ FLOATaabbox2D BoxPopupLabel(void) FLOAT2D(0.22f, 0.43f), FLOAT2D(0.78f, 0.49f)); } + FLOATaabbox2D BoxPopupYesLarge(void) { return FLOATaabbox2D( FLOAT2D(0.30f, 0.51f), FLOAT2D(0.48f, 0.57f)); } + FLOATaabbox2D BoxPopupNoLarge(void) { return FLOATaabbox2D( FLOAT2D(0.52f, 0.51f), FLOAT2D(0.70f, 0.57f)); } + FLOATaabbox2D BoxPopupYesSmall(void) { return FLOATaabbox2D( FLOAT2D(0.30f, 0.54f), FLOAT2D(0.48f, 0.59f)); } + FLOATaabbox2D BoxPopupNoSmall(void) { return FLOATaabbox2D( FLOAT2D(0.52f, 0.54f), FLOAT2D(0.70f, 0.59f)); } + FLOATaabbox2D BoxChangePlayer(INDEX iTable, INDEX iButton) { return FLOATaabbox2D( @@ -205,6 +222,7 @@ FLOATaabbox2D BoxLeftColumn(FLOAT fRow) FLOAT2D(0.02f, _fBigStartJ+fRow*_fMediumSizeJ), FLOAT2D(0.15f, _fBigStartJ+(fRow+1)*_fMediumSizeJ)); } + FLOATaabbox2D BoxPlayerModel(void) { extern INDEX sam_bWideScreen; @@ -214,10 +232,12 @@ FLOATaabbox2D BoxPlayerModel(void) return FLOATaabbox2D(FLOAT2D(0.68f, 0.235f), FLOAT2D(0.68f+(0.965f-0.68f)*9.0f/12.0f, 0.78f)); } } + FLOATaabbox2D BoxPlayerModelName(void) { return FLOATaabbox2D(FLOAT2D(0.68f, 0.78f), FLOAT2D(0.965f, 0.82f)); } + PIXaabbox2D FloatBoxToPixBox(const CDrawPort *pdp, const FLOATaabbox2D &boxF) { PIX pixW = pdp->GetWidth(); @@ -243,6 +263,7 @@ void SetFontTitle(CDrawPort *pdp) pdp->SetTextScaling( 1.25f * pdp->GetWidth() /640 *pdp->dp_fWideAdjustment); pdp->SetTextAspect(1.0f); } + extern CFontData _fdBig; void SetFontBig(CDrawPort *pdp) { @@ -250,6 +271,7 @@ void SetFontBig(CDrawPort *pdp) pdp->SetTextScaling( 1.0f * pdp->GetWidth() /640 *pdp->dp_fWideAdjustment); pdp->SetTextAspect(1.0f); } + extern CFontData _fdMedium; void SetFontMedium(CDrawPort *pdp) { @@ -257,6 +279,7 @@ void SetFontMedium(CDrawPort *pdp) pdp->SetTextScaling( 1.0f * pdp->GetWidth() /640 *pdp->dp_fWideAdjustment); pdp->SetTextAspect(0.75f); } + void SetFontSmall(CDrawPort *pdp) { pdp->SetFont( _pfdConsoleFont); diff --git a/Sources/SeriousSam/GUI/Menus/MenuStuff.cpp b/Sources/SeriousSam/GUI/Menus/MenuStuff.cpp index ee2bb8f..b80758e 100644 --- a/Sources/SeriousSam/GUI/Menus/MenuStuff.cpp +++ b/Sources/SeriousSam/GUI/Menus/MenuStuff.cpp @@ -176,18 +176,21 @@ int qsort_CompareFileInfos_NameUp(const void *elem1, const void *elem2) const CFileInfo &fi2 = **(CFileInfo **)elem2; return strcmp(fi1.fi_strName, fi2.fi_strName); } + int qsort_CompareFileInfos_NameDn(const void *elem1, const void *elem2) { const CFileInfo &fi1 = **(CFileInfo **)elem1; const CFileInfo &fi2 = **(CFileInfo **)elem2; return -strcmp(fi1.fi_strName, fi2.fi_strName); } + int qsort_CompareFileInfos_FileUp(const void *elem1, const void *elem2) { const CFileInfo &fi1 = **(CFileInfo **)elem1; const CFileInfo &fi2 = **(CFileInfo **)elem2; return strcmp(fi1.fi_fnFile, fi2.fi_fnFile); } + int qsort_CompareFileInfos_FileDn(const void *elem1, const void *elem2) { const CFileInfo &fi1 = **(CFileInfo **)elem1;