| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- /*
- ** Command & Conquer Renegade(tm)
- ** Copyright 2025 Electronic Arts Inc.
- **
- ** This program is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU General Public License as published by
- ** the Free Software Foundation, either version 3 of the License, or
- ** (at your option) any later version.
- **
- ** This program is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ** GNU General Public License for more details.
- **
- ** You should have received a copy of the GNU General Public License
- ** along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- /***********************************************************************************************
- *** Confidential - Westwood Studios ***
- ***********************************************************************************************
- * *
- * Project Name : LightMap *
- * *
- * $Archive:: /Commando/Code/Tool $*
- * *
- * $Author:: Ian_l $*
- * *
- * $Modtime:: 7/20/00 4:47p $*
- * *
- * $Revision:: 3 $*
- * *
- *---------------------------------------------------------------------------------------------*
- * Functions: *
- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
- // Includes.
- #include "StdAfx.h"
- #include "LightMap.h"
- #include "PackingDialog.h"
- // The following is maintained by MFC tools.
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /***********************************************************************************************
- * PackingDialog::OnInitDialog -- *
- * *
- * INPUT: *
- * *
- * OUTPUT: *
- * *
- * WARNINGS: *
- * *
- * HISTORY: *
- * 02/03/00 IML : Created. *
- *=============================================================================================*/
- BOOL PackingDialog::OnInitDialog()
- {
- static LV_COLUMN _column [2] = {
- {LVCF_FMT | LVCF_TEXT | LVCF_WIDTH, LVCFMT_LEFT, 0, "Statistic", 0, 0},
- {LVCF_FMT | LVCF_TEXT | LVCF_WIDTH, LVCFMT_RIGHT, 0, "Value", 0, 0}
- };
- static float _widthratio [2] = {0.55f, 0.45f};
- static char *_statisticlabels [LightmapPacker::STATISTICS_COUNT] = {
- "Page format",
- "No. of lightmaps processed",
- "Percentage adjacent faces blended", // No. adjacent faces edge blended / No. adjacent faces. NOTE: Some adjacent
- // faces cannot be edge blended because they do not have the same UV mapping
- // as the principal face.
- "Edge blend efficiency", // Percentage texel area not dedicated to edge blending.
- "Scaling efficiency", // Percentage texel area reduction due to low-pass filter scaling.
- "No. of pages created",
- "Packing efficiency", // Percentage texel area of page used (not padded).
- "Replica lightmap culling efficiency", // Percentage texel area saved due to lightmap reuse.
- "Estimated texture swapping efficiency", // Estimated likelihood that next face will not incur a texture swap.
- "No. of oversize lightmaps" // No. of lightmaps that exceeded the page size limit and had to be scaled.
- };
- CListCtrl *list;
- LVITEM item;
- RECT rect;
- float w;
- CDialog::OnInitDialog();
- list = (CListCtrl*) GetDlgItem (IDC_PACKING_LIST);
- list->GetClientRect (&rect);
- w = (float) rect.right;
- for (unsigned c = 0; c < sizeof (_widthratio) / sizeof (float); c++) {
-
- float columnwidth;
- columnwidth = w * _widthratio [c];
- _column [c].cx = columnwidth;
- if (columnwidth - _column [c].cx > 0.5f) _column [c].cx++;
- list->InsertColumn (c, &_column [c]);
- }
- item.mask = LVIF_TEXT;
- item.iSubItem = 0;
- for (unsigned i = 0; i < LightmapPacker::STATISTICS_COUNT; i++) {
- item.iItem = i;
- item.pszText = _statisticlabels [i];
- list->InsertItem (&item);
- list->SetItemText (i, 1, LightmapPacker::Get_Statistic (i));
- }
- return (TRUE);
- }
- // The following is maintained by MFC tools.
- PackingDialog::PackingDialog(CWnd* pParent /*=NULL*/)
- : CDialog(PackingDialog::IDD, pParent)
- {
- //{{AFX_DATA_INIT(PackingDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- }
- void PackingDialog::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(PackingDialog)
- // NOTE: the ClassWizard will add DDX and DDV calls here
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(PackingDialog, CDialog)
- //{{AFX_MSG_MAP(PackingDialog)
- ON_BN_CLICKED(IDCLOSE, OnClose)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- int PackingDialog::DoModal()
- {
- // TODO: Add your specialized code here and/or call the base class
-
- return CDialog::DoModal();
- }
|