Removed some more unused Editor code and images
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
This commit is contained in:
@@ -24,7 +24,6 @@
|
||||
// Editor
|
||||
#include "SelectLightAnimationDialog.h"
|
||||
#include "SelectSequenceDialog.h"
|
||||
#include "SelectEAXPresetDlg.h"
|
||||
#include "QtViewPaneManager.h"
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//#ifdef _CRTDBG_MAP_ALLOC
|
||||
#ifdef CRTDBG_MAP_ALLOC
|
||||
#pragma pack (push,1)
|
||||
#define nNoMansLandSize 4
|
||||
typedef struct MyCrtMemBlockHeader
|
||||
{
|
||||
struct MyCrtMemBlockHeader* pBlockHeaderNext;
|
||||
struct MyCrtMemBlockHeader* pBlockHeaderPrev;
|
||||
char* szFileName;
|
||||
int nLine;
|
||||
size_t nDataSize;
|
||||
int nBlockUse;
|
||||
long lRequest;
|
||||
unsigned char gap[nNoMansLandSize];
|
||||
/* followed by:
|
||||
* unsigned char data[nDataSize];
|
||||
* unsigned char anotherGap[nNoMansLandSize];
|
||||
*/
|
||||
} MyCrtMemBlockHeader;
|
||||
#pragma pack (pop)
|
||||
|
||||
#define pbData(pblock) ((unsigned char*)((MyCrtMemBlockHeader*)pblock + 1))
|
||||
#define pHdr(pbData) (((MyCrtMemBlockHeader*)pbData) - 1)
|
||||
|
||||
|
||||
void crtdebug(const char* s, ...)
|
||||
{
|
||||
char str[32768];
|
||||
va_list arg_ptr;
|
||||
va_start(arg_ptr, s);
|
||||
vsprintf(str, s, arg_ptr);
|
||||
va_end(arg_ptr);
|
||||
|
||||
FILE* l = nullptr;
|
||||
azfopen(&l, "crtdump.txt", "a+t");
|
||||
if (l)
|
||||
{
|
||||
fprintf(l, "%s", str);
|
||||
fclose(l);
|
||||
}
|
||||
}
|
||||
|
||||
int crtAllocHook(int nAllocType, void* pvData,
|
||||
size_t nSize, int nBlockUse, long lRequest,
|
||||
const unsigned char* szFileName, int nLine)
|
||||
{
|
||||
if (nBlockUse == _CRT_BLOCK)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int total_cnt = 0;
|
||||
static int total_mem = 0;
|
||||
if (nAllocType == _HOOK_ALLOC)
|
||||
{
|
||||
//total_mem += nSize;
|
||||
//total_cnt++;
|
||||
//_CrtMemState mem_state;
|
||||
//_CrtMemCheckpoint( &mem_state );
|
||||
//total_cnt = mem_state.lCounts[_NORMAL_BLOCK];
|
||||
//total_mem = mem_state.lTotalCount;
|
||||
if ((total_cnt & 0xF) == 0)
|
||||
{
|
||||
//_CrtCheckMemory();
|
||||
}
|
||||
|
||||
total_cnt++;
|
||||
total_mem += nSize;
|
||||
|
||||
//crtdebug( "<CRT> Alloc %d,size=%d,in: %s %d (total size=%d,num=%d)\n",lRequest,nSize,szFileName,nLine,total_mem,total_cnt );
|
||||
crtdebug("Size=%d, [Total=%d,N=%d] [%s:%d]\n", nSize, total_mem, total_cnt, szFileName, nLine);
|
||||
}
|
||||
else if (nAllocType == _HOOK_FREE)
|
||||
{
|
||||
MyCrtMemBlockHeader* pHead;
|
||||
pHead = pHdr(pvData);
|
||||
|
||||
total_cnt--;
|
||||
total_mem -= pHead->nDataSize;
|
||||
|
||||
crtdebug("Size=%d, [Total=%d,N=%d] [%s:%d]\n", pHead->nDataSize, total_mem, total_cnt, pHead->szFileName, pHead->nLine);
|
||||
//crtdebug( "<CRT> Free size=%d,in: %s %d (total size=%d,num=%d)\n",pHead->nDataSize,pHead->szFileName,pHead->nLine,total_mem,total_cnt );
|
||||
//total_mem -= nSize;
|
||||
//total_cnt--;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int crtReportHook(int nRptType, char* szMsg, int* retVal)
|
||||
{
|
||||
static int gl_num_asserts = 0;
|
||||
if (gl_num_asserts != 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
gl_num_asserts++;
|
||||
switch (nRptType)
|
||||
{
|
||||
case _CRT_WARN:
|
||||
crtdebug("<CRT WARNING> %s\n", szMsg);
|
||||
break;
|
||||
case _CRT_ERROR:
|
||||
crtdebug("<CRT ERROR> %s\n", szMsg);
|
||||
break;
|
||||
case _CRT_ASSERT:
|
||||
crtdebug("<CRT ASSERT> %s\n", szMsg);
|
||||
break;
|
||||
}
|
||||
gl_num_asserts--;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void InitCrt()
|
||||
{
|
||||
FILE* l = nullptr;
|
||||
azfopen(&l, "crtdump.txt", "w");
|
||||
if (l)
|
||||
{
|
||||
fclose(l);
|
||||
}
|
||||
|
||||
//_CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_DEBUG );
|
||||
//_CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_DEBUG );
|
||||
//_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_DEBUG );
|
||||
|
||||
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_WNDW);
|
||||
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW);
|
||||
_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_WNDW);
|
||||
|
||||
//_CrtSetDbgFlag( _CRTDBG_CHECK_ALWAYS_DF|_CRTDBG_CHECK_CRT_DF|_CRTDBG_LEAK_CHECK_DF|_CRTDBG_DELAY_FREE_MEM_DF | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) );
|
||||
//_CrtSetDbgFlag( _CRTDBG_CHECK_CRT_DF|_CRTDBG_LEAK_CHECK_DF/*|_CRTDBG_DELAY_FREE_MEM_DF*/ | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) );
|
||||
int flags = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
|
||||
flags &= ~_CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_CRT_DF;
|
||||
|
||||
_CrtSetDbgFlag(flags);
|
||||
|
||||
_CrtSetAllocHook (crtAllocHook);
|
||||
_CrtSetReportHook(crtReportHook);
|
||||
}
|
||||
|
||||
void DoneCrt()
|
||||
{
|
||||
//_CrtCheckMemory();
|
||||
//_CrtDumpMemoryLeaks();
|
||||
}
|
||||
|
||||
// Autoinit CRT.
|
||||
//struct __autoinit_crt { __autoinit_crt() { InitCrt(); }; ~__autoinit_crt() { DoneCrt(); } } __autoinit_crt_var;
|
||||
#endif
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -124,9 +124,6 @@ AZ_POP_DISABLE_WARNING
|
||||
#include "ScopedVariableSetter.h"
|
||||
|
||||
#include "Util/3DConnexionDriver.h"
|
||||
|
||||
#include "DimensionsDialog.h"
|
||||
|
||||
#include "Util/AutoDirectoryRestoreFileDialog.h"
|
||||
#include "Util/EditorAutoLevelLoadTest.h"
|
||||
#include "AboutDialog.h"
|
||||
@@ -1806,12 +1803,6 @@ bool CCryEditApp::InitInstance()
|
||||
InitLevel(cmdInfo);
|
||||
});
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
// load the WIP features file
|
||||
CWipFeatureManager::Instance()->EnableManager(!cmdInfo.m_bDeveloperMode);
|
||||
CWipFeatureManager::Init();
|
||||
#endif
|
||||
|
||||
if (!m_bConsoleMode && !m_bPreviewMode)
|
||||
{
|
||||
GetIEditor()->UpdateViews();
|
||||
@@ -2142,13 +2133,6 @@ int CCryEditApp::ExitInstance(int exitCode)
|
||||
}
|
||||
qobject_cast<Editor::EditorQtApplication*>(qApp)->UnloadSettings();
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
//
|
||||
// close wip features manager
|
||||
//
|
||||
CWipFeatureManager::Shutdown();
|
||||
#endif
|
||||
|
||||
if (IsInRegularEditorMode())
|
||||
{
|
||||
if (GetIEditor())
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <AzCore/Outcome/Outcome.h>
|
||||
#include <AzFramework/Asset/AssetSystemBus.h>
|
||||
#include "WipFeatureManager.h"
|
||||
#include "CryEditDoc.h"
|
||||
#include "ViewPane.h"
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include "ActionManager.h"
|
||||
#include "Include/IObjectManager.h"
|
||||
#include "ErrorReportDialog.h"
|
||||
#include "SurfaceTypeValidator.h"
|
||||
#include "Util/AutoLogTime.h"
|
||||
#include "CheckOutDialog.h"
|
||||
#include "GameExporter.h"
|
||||
@@ -99,8 +98,7 @@ namespace Internal
|
||||
// CCryEditDoc construction/destruction
|
||||
|
||||
CCryEditDoc::CCryEditDoc()
|
||||
: doc_validate_surface_types(nullptr)
|
||||
, m_modifiedModuleFlags(eModifiedNothing)
|
||||
: m_modifiedModuleFlags(eModifiedNothing)
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Set member variables to initial values
|
||||
@@ -120,7 +118,6 @@ CCryEditDoc::CCryEditDoc()
|
||||
|
||||
GetIEditor()->SetDocument(this);
|
||||
CLogFile::WriteLine("Document created");
|
||||
RegisterConsoleVariables();
|
||||
|
||||
MainWindow::instance()->GetActionManager()->RegisterActionHandler(ID_FILE_SAVE_AS, this, &CCryEditDoc::OnFileSaveAs);
|
||||
bool isPrefabSystemEnabled = false;
|
||||
@@ -459,8 +456,6 @@ void CCryEditDoc::Load(TDocMultiArchive& arrXmlAr, const QString& szFilename)
|
||||
}
|
||||
}
|
||||
|
||||
CSurfaceTypeValidator().Validate();
|
||||
|
||||
LogLoadTime(GetTickCount() - t0);
|
||||
// Loaded with success, remove event from log file
|
||||
GetIEditor()->GetSettingsManager()->UnregisterEvent(loadEvent);
|
||||
@@ -1910,25 +1905,6 @@ void CCryEditDoc::SetDocumentReady(bool bReady)
|
||||
m_bDocumentReady = bReady;
|
||||
}
|
||||
|
||||
void CCryEditDoc::RegisterConsoleVariables()
|
||||
{
|
||||
doc_validate_surface_types = gEnv->pConsole->GetCVar("doc_validate_surface_types");
|
||||
|
||||
if (!doc_validate_surface_types)
|
||||
{
|
||||
doc_validate_surface_types = REGISTER_INT_CB("doc_validate_surface_types", 0, 0,
|
||||
"Flag indicating whether icons are displayed on the animation graph.\n"
|
||||
"Default is 1.\n",
|
||||
OnValidateSurfaceTypesChanged);
|
||||
}
|
||||
}
|
||||
|
||||
void CCryEditDoc::OnValidateSurfaceTypesChanged(ICVar*)
|
||||
{
|
||||
CErrorsRecorder errorsRecorder(GetIEditor());
|
||||
CSurfaceTypeValidator().Validate();
|
||||
}
|
||||
|
||||
void CCryEditDoc::OnStartLevelResourceList()
|
||||
{
|
||||
// after loading another level we clear the RFOM_Level list, the first time the list should be empty
|
||||
|
||||
@@ -176,9 +176,7 @@ protected:
|
||||
virtual void OnFileSaveAs();
|
||||
//! called immediately after saving the level.
|
||||
void AfterSave();
|
||||
void RegisterConsoleVariables();
|
||||
void OnStartLevelResourceList();
|
||||
static void OnValidateSurfaceTypesChanged(ICVar*);
|
||||
|
||||
QString GetCryIndexPath(const char* levelFilePath) const;
|
||||
|
||||
@@ -194,7 +192,6 @@ protected:
|
||||
XmlNodeRef m_environmentTemplate;
|
||||
std::list<IDocListener*> m_listeners;
|
||||
bool m_bDocumentReady = false;
|
||||
ICVar* doc_validate_surface_types = nullptr;
|
||||
int m_modifiedModuleFlags;
|
||||
// On construction, it assumes loaded levels have already been exported. Can be a big fat lie, though.
|
||||
// The right way would require us to save to the level folder the export status of the level.
|
||||
|
||||
@@ -1,213 +0,0 @@
|
||||
⼯䴠捩潲潳瑦嘠獩慵⭃敧敮慲整敲潳牵散猠牣灩
|
||||
⼯
|
||||
椣据畬敤∠敲潳牵散栮�
|
||||
|
||||
搣晥湩偁呓䑕佉剟䅅佄䱎彙奓䉍䱏�
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯䜠湥牥瑡摥映潲桴䕔员义䱃䑕⁅′敲潳牵散�
|
||||
⼯
|
||||
椣据畬敤∠楷牮獥栮�
|
||||
椣据畬敤∠敲潳牵散栮�
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
産摮晥䄠卐啔䥄彏䕒䑁乏奌卟䵙佂卌
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯䔠杮楬桳⠠湕瑩摥匠慴整⥳爠獥畯捲獥
|
||||
|
||||
椣搡晥湩摥䄨塆剟卅問䍒彅䱄⥌簠⁼敤楦敮⡤䙁彘䅔䝒䕟啎�
|
||||
䅌䝎䅕䕇䰠乁彇久䱇卉ⱈ匠䉕䅌䝎䕟䝎䥌䡓啟�
|
||||
|
||||
椣摦晥䄠卐啔䥄彏义佖䕋�
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯吠塅䥔䍎啌䕄
|
||||
⼯
|
||||
|
||||
′䕔员义䱃䑕⁅
|
||||
䕂䥇�
|
||||
††⌢湩汣摵∢楷牮獥栮∢牜湜�
|
||||
††⌢湩汣摵∢敲潳牵散栮∢牜湜�
|
||||
††尢∰
|
||||
久�
|
||||
|
||||
″䕔员义䱃䑕⁅
|
||||
䕂䥇�
|
||||
††尢屲≮
|
||||
††尢∰
|
||||
久�
|
||||
|
||||
‱䕔员义䱃䑕⁅
|
||||
䕂䥇�
|
||||
††爢獥畯捲屨∰
|
||||
久�
|
||||
|
||||
攣摮晩††⼯䄠卐啔䥄彏义佖䕋�
|
||||
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯䴠湥�
|
||||
⼯
|
||||
|
||||
䑉归䕍啎䱟噉䍅䕒呁⁅䕍啎
|
||||
䕂䥇�
|
||||
††佐啐⁐☢楆敬�
|
||||
††䕂䥇�
|
||||
††††䕍啎呉䵅∠慓敶猠瑥楴杮≳†††††††䑉䙟䱉彅䅓䕖䕓呔义升
|
||||
††††䕍啎呉䵅∠汃獯≥†††††††††††䑉䙟䱉彅䱃协彅䥌䕖剃䅅䕔噟䕉�
|
||||
††久�
|
||||
††佐啐⁐☢楖睥�
|
||||
††䕂䥇�
|
||||
††††䕍啎呉䵅∠楌敶牃慥整䰠杯敧≲†††††䑉噟䕉彗䥌䕖剃䅅䕔佌䝇剅䡃䍅䕋�
|
||||
††††䕍啎呉䵅∠楌敶牃慥整倠潲楦敬䔠楤潴≲†䑉噟䕉彗䥌䕖剃䅅䕔剐䙏䱉䕅䥄佔ⱒ䌠䕈䭃䑅
|
||||
††††䕍啎呉䵅∠楌敶牃慥整䘠汩祓据匠瑥楴杮≳䑉噟䕉彗䥌䕖剃䅅䕔䥆䕌奓䍎䕓呔义升䡃䍅䕋�
|
||||
††久�
|
||||
久�
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯䐠慩潬�
|
||||
⼯
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔偟䍉䕋⁒䥄䱁䝏塅〠ⰰ㌠㘱㔲�
|
||||
呓䱙⁅卄卟呅但呎簠䐠当位䅄䙌䅒䕍簠䐠当䥆䕘卄卙簠圠当佐啐⁐⁼南䍟偁䥔乏簠圠当奓䵓久�
|
||||
䅃呐佉⁎匢汥捥⁴慧敭戠極摬搠物捥潴祲�
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††䕄偆单䉈呕佔⁎†伢≋䤬佄ⱋ〲ⰰ㌲ⰸ〵ㄬ�
|
||||
††啐䡓啂呔乏†††䌢湡散≬䤬䍄乁䕃ⱌ㔲ⰹ㌲ⰸ〵ㄬ�
|
||||
††佃呎佒⁌††††∢䤬䍄䑟剉䍅佔奒呟䕒ⱅ匢獹牔敥楖睥㈳Ⱒ噔当䅈䉓呕佔华簠吠卖䡟十䥌䕎⁓⁼噔当䥌䕎䅓剔住⁔⁼噔当䡓坏䕓䅌坌奁⁓⁼南䉟剏䕄⁒⁼南䡟䍓佒䱌簠圠当䅔卂佔ⱐⰷⰷ〳ⰲ㈲�
|
||||
久�
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔䅟䑄呟剁䕇協䐠䅉佌䕇⁘ⰰ〠〵ⰰ㐠〰
|
||||
呓䱙⁅卄卟呅但呎簠䐠当位䅄䙌䅒䕍簠䐠当䥆䕘卄卙簠䐠当䕃呎剅簠圠当佐啐⁐⁼南䍟偁䥔乏簠圠当奓䵓久�
|
||||
䅃呐佉⁎䐢獩潣敶楌敶牃慥整琠牡敧獴�
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††啐䡓啂呔乏†††刢晥敲桳Ⱒ䑉彃䕒剆卅ⱈⰸⰸ〷ㄬ�
|
||||
††啐䡓啂呔乏†††䄢摤挠獵潴⸮Ⱒ䑉彃啂呔乏䅟䑄偟䕅ⱒ㈸㠬㜬ⰰ㠱
|
||||
††佃呎佒⁌††††唢敳眠摩牥猠慥捲戨潲摡慣瑳∩䤬䍄䍟䕈䭃䕟䅎䱂䑅∬畂瑴湯Ⱒ卂䅟呕䍏䕈䭃佂⁘⁼南呟䉁呓偏㈬㌳ㄬⰲ〲ⰰ〱
|
||||
††佃呎佒⁌††††∢䤬䍄䱟卉彔䕐剅ⱓ堢偔敒潰瑲Ⱒ南呟䉁呓偏㠬㌬ⰲ㠴ⰴ㐳ⰲ南䕟彘呓呁䍉䑅䕇
|
||||
††䕄偆单䉈呕佔⁎†唢敳猠汥捥整≤䤬佄ⱋ㠱ⰰ㜳ⰹ〷ㄬ�
|
||||
††啐䡓啂呔乏†††䌢湡散≬䤬䍄乁䕃ⱌ㔲ⰹ㜳ⰹ〷ㄬ�
|
||||
††啐䡓啂呔乏†††䄢摤戠⁹偉⸮∮䤬䍄䉟呕佔彎䑁彄䅍䕔䥒䱁ㄬ㜵㠬㜬ⰰ㠱
|
||||
久�
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔偟䕅归䥌呓䐠䅉佌䕇⁘ⰰ〠㤳ⰵ㈠㌱
|
||||
呓䱙⁅卄卟呅但呎簠䐠当䥆䕘卄卙簠䐠当䕃呎剅簠圠当䡃䱉⁄⁼南噟卉䉉䕌簠圠当佂䑒剅簠圠当奓䵓久�
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††呌塅⁔†††††倢敥獲∺䤬䍄卟䅔䥔ⱃ㜱㈬ⰷ㈲㠬
|
||||
††啐䡓啂呔乏†††䄢摤⸮∮䤬䍄䉟呕佔彎䑁彄䕐剅㔬ⰶ㐲㔬ⰶ㘱
|
||||
††啐䡓啂呔乏†††䔢楤⸮Ⱒ䑉彃啂呔乏䕟䥄彔䕐剅ㄬ㘱㈬ⰴ㘵ㄬ�
|
||||
††啐䡓啂呔乏†††刢浥癯≥䤬䍄䉟呕佔彎䕄䕌䕔偟䕅ⱒ㜱ⰶ㐲㔬ⰲ㘱
|
||||
††䕄偆单䉈呕佔⁎†匢慴瑲䄠汬Ⱒ䑉彃啂呔乏卟䅔呒䅟䱌㐬㐬㐬ⰸ㘱
|
||||
††啐䡓啂呔乏†††刢獥瑥䄠汬Ⱒ䑉彃啂呔乏剟卅呅䅟䱌ㄬ㘷㐬㔬ⰲ㘱
|
||||
††啐䡓啂呔乏†††䘢牯散匠湹汁≬䤬䍄䉟呕佔彎但䍒彅奓䍎䅟䱌㔬ⰶⰴ㘵ㄬ�
|
||||
††啐䡓啂呔乏†††䌢敬湡䄠汬Ⱒ䑉彃啂呔乏䍟䕌乁䅟䱌㈬㈳㐬㔬ⰲ㘱
|
||||
††啐䡓啂呔乏†††匢牣敥獮潨⁴汁≬䤬䍄䉟呕佔彎䍓䕒久䡓呏䅟䱌ㄬ㘱㐬㔬ⰶ㘱
|
||||
††佃呎佒⁌††††∢䤬䍄䱟卉彔䕐剅ⱓ堢偔敒潰瑲Ⱒ南呟䉁呓偏㐬㐬ⰴ㠳ⰶ㘱ⰴ南䕟彘呓呁䍉䑅䕇
|
||||
††䡃䍅䉋塏††††䰢癩䍥敲瑡≥䤬䍄䉟呕佔彎久䉁䕌䱟噉䍅䕒呁ⱅ㠲ⰸⰴ㈵㌬ⰶ卂偟单䱈䭉⁅⁼卂䵟䱕䥔䥌䕎
|
||||
††䡃䍅䉋塏††††匢湹屣䍮浡牥≡䤬䍄䉟呕佔彎䅃䕍䅒卟乙ⱃ㐳ⰵⰴ㈵㌬ⰶ卂偟单䱈䭉⁅⁼卂䵟䱕䥔䥌䕎
|
||||
††啐䡓啂呔乏†††䐢獩潣敶≲䤬䍄䉟呕佔彎䥄䍓噏剅偟䕅卒㈬㈳㈬ⰴ㈵ㄬ�
|
||||
久�
|
||||
|
||||
䑉彄䑉彄䥌䕖剃䅅䕔卟呅䥔䝎当䅐䕎⁌䥄䱁䝏塅〠ⰰㄠ㘵〲�
|
||||
呓䱙⁅卄卟呅但呎簠圠当䡃䱉�
|
||||
但呎㠠䴢⁓桓汥汄∲〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††啐䡓啂呔乏†††䄢摤琠牡敧獴⸮∮䤬䍄䉟呕佔彎䥄䍓噏剅偟䕅卒㐬㐬㠬ⰰ㘱
|
||||
久�
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔䕟䥄彔佃乎䍅䥔乏䐠䅉佌䕇⁘ⰰ〠㠲ⰸㄠ㌸
|
||||
呓䱙⁅卄卟呅但呎簠䐠当位䅄䙌䅒䕍簠䐠当䥆䕘卄卙簠圠当佐啐⁐⁼南䍟偁䥔乏簠圠当奓䵓久�
|
||||
䅃呐佉⁎䰢癩䍥敲瑡潨瑳猠瑥楴杮≳
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††䕄偆单䉈呕佔⁎†伢≋䤬佄ⱋ㔱ⰸ㔱ⰴ㠵㈬�
|
||||
††啐䡓啂呔乏†††䌢湡散≬䤬䍄乁䕃ⱌ㈲ⰱ㔱ⰴ㠵㈬�
|
||||
††呌塅⁔†††††丢浡㩥Ⱒ䑉彃呓呁䍉ㄬⰶ㘴㈬ⰲ�
|
||||
††䑅呉䕔员††††䑉彃䑅呉呟剁䕇彔䅎䕍㐬ⰴ㐴ㄬ〰ㄬⰴ卅䅟呕䡏䍓佒䱌
|
||||
††呌塅⁔†††††䤢㩐Ⱒ䑉彃呓呁䍉ㄬ㈵㐬ⰶ〱㠬
|
||||
††佃呎佒⁌††††∢䤬䍄呟剁䕇彔偉䑁剄卅ⱓ匢獹偉摁牤獥㍳∲圬当䅔卂佔ⱐ㘱ⰸ㐴ㄬ〰ㄬ�
|
||||
††呌塅⁔†††††倢慬晴牯㩭Ⱒ䑉彃呓呁䍉㠬㈬ⰶ〳㠬
|
||||
††呌塅⁔†††††䈢極摬瀠瑡愨瑵浯瑡捩㨩Ⱒ䑉彃呓呁䍉ㄬⰹ㈱ⰰ㐷㠬
|
||||
††啐䡓啂呔乏†††吢獥⁴偉Ⱒ䑉彃啂呔乏呟卅彔佃乎䍅䥔乏ㄬ㠶㘬ⰰ〱ⰰ㘱
|
||||
††佃䉍䉏塏††††䑉彃佃䉍彏䱐呁但䵒㐬ⰴ㐲ㄬ〰㠬ⰸ䉃当剄偏佄乗䥌呓簠圠当卖剃䱏⁌⁼南呟䉁呓偏
|
||||
††啐䡓啂呔乏†††刢獥癯敬渠浡潴䤠≐䤬䍄䉟呕佔彎䕒剆卅彈偉㐬ⰴ〶ㄬ〰ㄬ�
|
||||
††佃呎佒⁌††††䔢慮汢桴獩瀠敥≲䤬䍄䍟䕈䭃䕟䅎䱂䑅∬畂瑴湯Ⱒ卂䅟呕䍏䕈䭃佂⁘⁼南呟䉁呓偏㠬㠬㘬ⰷ〱
|
||||
††則問䉐塏††††䈢極摬猠瑥楴杮≳䤬䍄卟䅔䥔ⱃⰷ〸㈬㈷㜬�
|
||||
††呌塅⁔†††††䈢極摬攠數畣慴汢㩥Ⱒ䑉彃呓呁䍉ㄬⰹ㈹㔬ⰶ�
|
||||
††啐䡓啂呔乏†††⸢⸮Ⱒ䑉彃啂呔乏偟䍉彋䅇䕍䑟剉䍅佔奒㈬㤴ㄬ㐰㈬ⰲ㐱
|
||||
††䑅呉䕔员††††䑉彃䑅呉䉟䥕䑌剟住彔䅐䡔㈬ⰰ〱ⰴ㈲ⰶ㐱䔬当啁佔午剃䱏�
|
||||
††䑅呉䕔员††††䑉彃䑅呉䉟䥕䑌䕟䕘啃䅔䱂ⱅ〲ㄬㄳ㈬㤴ㄬⰴ卅䅟呕䡏䍓佒䱌
|
||||
久�
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔呟十彋䅗呉䐠䅉佌䕇⁘ⰰ〠㌲ⰸ㐠�
|
||||
呓䱙⁅卄卟呅但呎簠䐠当位䅄䙌䅒䕍簠䐠当䥆䕘卄卙簠圠当佐啐⁐⁼南䍟偁䥔乏簠圠当奓䵓久�
|
||||
䅃呐佉⁎䐢慩潬≧
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††啐䡓啂呔乏†††䌢湡散≬䤬䍄乁䕃ⱌ㐹㈬ⰰ〵ㄬ�
|
||||
††呌塅⁔†††††匢慴楴≣䤬䍄呟十彋剐䝏䕒卓呟塅ⱔⰷⰷ㈲ⰴ�
|
||||
久�
|
||||
|
||||
䑉彄䥌䕖剃䅅䕔䅟䑄䉟彙偉䐠䅉佌䕇⁘ⰰ〠㌱ⰷ㜠�
|
||||
呓䱙⁅卄卟呅但呎簠䐠当位䅄䙌䅒䕍簠䐠当䥆䕘卄卙簠圠当佐啐⁐⁼南䍟偁䥔乏簠圠当奓䵓久�
|
||||
䅃呐佉⁎䄢摤䰠癩䍥敲瑡祢䤠≐
|
||||
但呎㠠䴢⁓桓汥汄≧〴ⰰ〠砰�
|
||||
䕂䥇�
|
||||
††䕄偆单䉈呕佔⁎†伢≋䤬佄ⱋⰷ㠴㔬ⰸ〲
|
||||
††啐䡓啂呔乏†††䌢湡散≬䤬䍄乁䕃ⱌㄷ㐬ⰸ㠵㈬�
|
||||
††呌塅⁔†††††䤢㩐Ⱒㄭ㤬ㄬⰲ〱㠬
|
||||
††䑅呉䕔员††††䤠䍄呟剁䕇彔偉䑁剄卅ⱓ㔲ㄬⰰ〱ⰰ㔱圬当䅔卂佔�
|
||||
††啐䡓啂呔乏†††吢獥⁴偉Ⱒ䑉彃啂呔乏呟卅彔佃乎䍅䥔乏㈬ⰵ㜲ㄬ〰ㄬ�
|
||||
久�
|
||||
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯䐠卅䝉䥎䙎�
|
||||
⼯
|
||||
|
||||
椣摦晥䄠卐啔䥄彏义佖䕋�
|
||||
啇䑉䱅义卅䐠卅䝉䥎䙎�
|
||||
䕂䥇�
|
||||
††䑉彄䥌䕖剃䅅䕔䅟䑄呟剁䕇協䥄䱁䝏
|
||||
††䕂䥇�
|
||||
††久�
|
||||
|
||||
††䑉彄䥌䕖剃䅅䕔䕟䥄彔佃乎䍅䥔乏䥄䱁䝏
|
||||
††䕂䥇�
|
||||
††久�
|
||||
|
||||
††䑉彄䥌䕖剃䅅䕔呟十彋䅗呉䥄䱁䝏
|
||||
††䕂䥇�
|
||||
††††䕌呆䅍䝒义�
|
||||
††††䥒䡇䵔剁䥇ⱎ㈠ㄳ
|
||||
††††佔䵐剁䥇ⱎ㜠
|
||||
††††佂呔䵏䅍䝒义㐳
|
||||
††久�
|
||||
|
||||
††䑉彄䥌䕖剃䅅䕔䅟䑄䉟彙偉䥄䱁䝏
|
||||
††䕂䥇�
|
||||
††久�
|
||||
久�
|
||||
攣摮晩††⼯䄠卐啔䥄彏义佖䕋�
|
||||
|
||||
攣摮晩††⼯䔠杮楬桳⠠湕瑩摥匠慴整⥳爠獥畯捲獥
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
|
||||
|
||||
|
||||
椣湦敤偁呓䑕佉䥟噎䭏䑅
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
⼯
|
||||
⼯䜠湥牥瑡摥映潲桴䕔员义䱃䑕⁅″敲潳牵散�
|
||||
⼯
|
||||
|
||||
|
||||
⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯⼯�
|
||||
攣摮晩††⼯渠瑯䄠卐啔䥄彏义佖䕋�
|
||||
@@ -1,71 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "DimensionsDialog.h"
|
||||
|
||||
// Qt
|
||||
#include <QButtonGroup>
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include <ui_DimensionsDialog.h>
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
CDimensionsDialog::CDimensionsDialog(QWidget* pParent /*=nullptr*/)
|
||||
: QDialog(pParent)
|
||||
, m_group(new QButtonGroup(this))
|
||||
, ui(new Ui::CDimensionsDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(tr("Generate Terrain Texture"));
|
||||
|
||||
m_group->addButton(ui->Dim512, 512);
|
||||
m_group->addButton(ui->Dim1024, 1024);
|
||||
m_group->addButton(ui->Dim2048, 2048);
|
||||
m_group->addButton(ui->Dim4096, 4096);
|
||||
m_group->addButton(ui->Dim8192, 8192);
|
||||
m_group->addButton(ui->Dim16384, 16384);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CDimensionsDialog::~CDimensionsDialog()
|
||||
{
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CDimensionsDialog::SetDimensions(unsigned int iWidth)
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Select a dimension option button in the dialog
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
QAbstractButton* button = m_group->button(iWidth);
|
||||
assert(button);
|
||||
|
||||
button->setChecked(true);
|
||||
}
|
||||
|
||||
UINT CDimensionsDialog::GetDimensions()
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Get the currently selected dimension option button in the dialog
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
assert(m_group->checkedId() != -1);
|
||||
|
||||
return m_group->checkedId();
|
||||
}
|
||||
|
||||
#include <moc_DimensionsDialog.cpp>
|
||||
@@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
#ifndef CRYINCLUDE_EDITOR_DIMENSIONSDIALOG_H
|
||||
#define CRYINCLUDE_EDITOR_DIMENSIONSDIALOG_H
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QScopedPointer>
|
||||
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
class QButtonGroup;
|
||||
|
||||
namespace Ui {
|
||||
class CDimensionsDialog;
|
||||
}
|
||||
|
||||
class CDimensionsDialog
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CDimensionsDialog(QWidget* pParent = nullptr); // standard constructor
|
||||
~CDimensionsDialog();
|
||||
|
||||
UINT GetDimensions();
|
||||
void SetDimensions(unsigned int iWidth);
|
||||
|
||||
protected:
|
||||
void UpdateData(bool fromUi = true); // DDX/DDV support
|
||||
|
||||
private:
|
||||
QButtonGroup* m_group;
|
||||
|
||||
QScopedPointer<Ui::CDimensionsDialog> ui;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_DIMENSIONSDIALOG_H
|
||||
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CDimensionsDialog</class>
|
||||
<widget class="QDialog" name="CDimensionsDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>465</width>
|
||||
<height>237</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="STATIC2">
|
||||
<property name="title">
|
||||
<string>Texture Dimensions (Texture Dimensions divided by Terrain Size = Texels per meter)</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim512">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>512 x 512</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim1024">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>1024 x 1024</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim2048">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>2048 x 2048</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim4096">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>4096 x 4096</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim8192">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>8192 x 8192</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="Dim16384">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>16384 x 16384</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>CDimensionsDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>77</x>
|
||||
<y>294</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>7</x>
|
||||
<y>296</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -42,8 +42,6 @@
|
||||
|
||||
#include "ViewManager.h"
|
||||
#include "AnimationContext.h"
|
||||
#include "UndoViewPosition.h"
|
||||
#include "UndoViewRotation.h"
|
||||
#include "MainWindow.h"
|
||||
#include "Include/IObjectManager.h"
|
||||
#include "ActionManager.h"
|
||||
|
||||
@@ -154,36 +154,6 @@
|
||||
<file alias="error_report_warning.svg">res/error_report_warning.svg</file>
|
||||
<file alias="error_report_comment.svg">res/error_report_comment.svg</file>
|
||||
<file alias="error_report_helper.svg">res/error_report_helper.svg</file>
|
||||
<file>particles_tree_00.png</file>
|
||||
<file>particles_tree_01.png</file>
|
||||
<file>particles_tree_02.png</file>
|
||||
<file>particles_tree_03.png</file>
|
||||
<file>particles_tree_04.png</file>
|
||||
<file>particles_tree_05.png</file>
|
||||
<file>particles_tree_06.png</file>
|
||||
<file>particles_tree_07.png</file>
|
||||
<file>arhitype_tree_00.png</file>
|
||||
<file>arhitype_tree_01.png</file>
|
||||
<file>arhitype_tree_02.png</file>
|
||||
<file>arhitype_tree_03.png</file>
|
||||
<file>bmp00005_00.png</file>
|
||||
<file>bmp00005_01.png</file>
|
||||
<file>bmp00005_02.png</file>
|
||||
<file>bmp00005_03.png</file>
|
||||
<file>bmp00005_04.png</file>
|
||||
<file>bmp00005_05.png</file>
|
||||
<file>bmp00005_06.png</file>
|
||||
<file>bmp00005_07.png</file>
|
||||
<file>bmp00005_08.png</file>
|
||||
<file>bmp00005_09.png</file>
|
||||
<file>bmp00006_00.png</file>
|
||||
<file>bmp00006_01.png</file>
|
||||
<file>bmp00006_02.png</file>
|
||||
<file>bmp00006_03.png</file>
|
||||
<file>bmp00006_04.png</file>
|
||||
<file>bmp00006_05.png</file>
|
||||
<file>bmp00006_06.png</file>
|
||||
<file>bmp00006_07.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/cursors">
|
||||
<file>res/arr_addkey.cur</file>
|
||||
|
||||
@@ -18,9 +18,6 @@
|
||||
#include <QTimer>
|
||||
#include <QToolButton>
|
||||
|
||||
// Editor
|
||||
#include "NewTerrainDialog.h"
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include <ui_NewLevelDialog.h>
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
@@ -1,168 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
// NewTerrainDialog.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "NewTerrainDialog.h"
|
||||
|
||||
|
||||
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option")
|
||||
#include <ui_NewTerrainDialog.h>
|
||||
AZ_POP_DISABLE_WARNING
|
||||
|
||||
|
||||
|
||||
CNewTerrainDialog::CNewTerrainDialog(QWidget* pParent /*=nullptr*/)
|
||||
: QDialog(pParent)
|
||||
, m_terrainResolutionIndex(0)
|
||||
, m_terrainUnitsIndex(0)
|
||||
, m_bUpdate(false)
|
||||
, ui(new Ui::CNewTerrainDialog)
|
||||
, m_initialized(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle(tr("Terrain options"));
|
||||
|
||||
// Default is 1024x1024, and m_terrainResolution holds an index to the combo box
|
||||
m_terrainResolutionIndex = 3;
|
||||
|
||||
connect(ui->TERRAIN_RESOLUTION, SIGNAL(activated(int)), this, SLOT(OnComboBoxSelectionTerrainResolution()));
|
||||
connect(ui->TERRAIN_UNITS, SIGNAL(activated(int)), this, SLOT(OnComboBoxSelectionTerrainUnits()));
|
||||
}
|
||||
|
||||
|
||||
CNewTerrainDialog::~CNewTerrainDialog()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::UpdateData(bool fromUi)
|
||||
{
|
||||
if (fromUi)
|
||||
{
|
||||
m_terrainResolutionIndex = ui->TERRAIN_RESOLUTION->currentIndex();
|
||||
m_terrainUnitsIndex = ui->TERRAIN_UNITS->currentIndex();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->TERRAIN_RESOLUTION->setCurrentIndex(m_terrainResolutionIndex);
|
||||
ui->TERRAIN_UNITS->setCurrentIndex(m_terrainUnitsIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::OnInitDialog()
|
||||
{
|
||||
// Initialize terrain values.
|
||||
int resolution = Ui::START_TERRAIN_RESOLUTION;
|
||||
|
||||
// Fill terrain resolution combo box
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
ui->TERRAIN_RESOLUTION->addItem(QString("%1x%1").arg(resolution));
|
||||
resolution *= 2;
|
||||
}
|
||||
|
||||
UpdateTerrainUnits();
|
||||
UpdateTerrainInfo();
|
||||
|
||||
// Save data.
|
||||
UpdateData(false);
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::UpdateTerrainUnits()
|
||||
{
|
||||
uint32 terrainRes = GetTerrainResolution();
|
||||
int size = terrainRes * GetTerrainUnits();
|
||||
int maxUnit = IntegerLog2(Ui::MAXIMUM_TERRAIN_RESOLUTION / terrainRes);
|
||||
int units = Ui::START_TERRAIN_UNITS;
|
||||
|
||||
ui->TERRAIN_UNITS->clear();
|
||||
for (int i = 0; i <= maxUnit; i++)
|
||||
{
|
||||
ui->TERRAIN_UNITS->addItem(QString::number(units));
|
||||
units *= 2;
|
||||
}
|
||||
if (size > Ui::MAXIMUM_TERRAIN_RESOLUTION)
|
||||
{
|
||||
m_terrainUnitsIndex = 0;
|
||||
}
|
||||
ui->TERRAIN_UNITS->setCurrentText(QString::number(m_terrainUnitsIndex));
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::UpdateTerrainInfo()
|
||||
{
|
||||
int sizeX = GetTerrainResolution() * GetTerrainUnits();
|
||||
int sizeY = GetTerrainResolution() * GetTerrainUnits();
|
||||
|
||||
QString str;
|
||||
if (sizeX >= 1000)
|
||||
{
|
||||
str = tr("Terrain Size: %1 x %2 Kilometers").arg((float)sizeX / 1000.0f, 0, 'f', 3).arg((float)sizeY / 1000.0f, 0, 'f', 3);
|
||||
}
|
||||
else if (sizeX > 0)
|
||||
{
|
||||
str = tr("Terrain Size: %1 x %2 Meters").arg(sizeX).arg(sizeY);
|
||||
}
|
||||
else
|
||||
{
|
||||
str = tr("Level will have no terrain");
|
||||
}
|
||||
|
||||
ui->TERRAIN_INFO->setText(str);
|
||||
}
|
||||
|
||||
|
||||
int CNewTerrainDialog::GetTerrainResolution() const
|
||||
{
|
||||
// convert combo box index into resolution value
|
||||
return Ui::START_TERRAIN_RESOLUTION * (1 << m_terrainResolutionIndex);
|
||||
}
|
||||
|
||||
|
||||
int CNewTerrainDialog::GetTerrainUnits() const
|
||||
{
|
||||
// convert combo box index into units value
|
||||
return Ui::START_TERRAIN_UNITS * (1 << m_terrainUnitsIndex);
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::OnComboBoxSelectionTerrainResolution()
|
||||
{
|
||||
UpdateData();
|
||||
|
||||
UpdateTerrainUnits();
|
||||
|
||||
UpdateTerrainInfo();
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::OnComboBoxSelectionTerrainUnits()
|
||||
{
|
||||
UpdateData();
|
||||
|
||||
UpdateTerrainInfo();
|
||||
}
|
||||
|
||||
|
||||
void CNewTerrainDialog::showEvent(QShowEvent* event)
|
||||
{
|
||||
if (!m_initialized)
|
||||
{
|
||||
OnInitDialog();
|
||||
m_initialized = true;
|
||||
}
|
||||
QDialog::showEvent(event);
|
||||
}
|
||||
|
||||
#include <moc_NewTerrainDialog.cpp>
|
||||
@@ -1,71 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#ifndef CRYINCLUDE_EDITOR_NEWTERRAINDIALOG_H
|
||||
#define CRYINCLUDE_EDITOR_NEWTERRAINDIALOG_H
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QScopedPointer>
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class CNewTerrainDialog;
|
||||
|
||||
enum TerrainDialogConstants
|
||||
{
|
||||
START_TERRAIN_RESOLUTION_POWER_OF_TWO = 7,
|
||||
START_TERRAIN_RESOLUTION = 1 << START_TERRAIN_RESOLUTION_POWER_OF_TWO,
|
||||
MAXIMUM_TERRAIN_POWER_OF_TWO = 16,
|
||||
MAXIMUM_TERRAIN_RESOLUTION = 1 << MAXIMUM_TERRAIN_POWER_OF_TWO,
|
||||
POWER_OFFSET = (MAXIMUM_TERRAIN_POWER_OF_TWO - START_TERRAIN_RESOLUTION_POWER_OF_TWO),
|
||||
START_TERRAIN_UNITS = 1
|
||||
};
|
||||
}
|
||||
|
||||
class CNewTerrainDialog
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CNewTerrainDialog(QWidget* pParent = nullptr); // standard constructor
|
||||
~CNewTerrainDialog();
|
||||
|
||||
int GetTerrainResolution() const;
|
||||
int GetTerrainUnits() const;
|
||||
|
||||
void IsResize(bool bIsResize);
|
||||
|
||||
|
||||
protected:
|
||||
void UpdateData(bool fromUi = true);
|
||||
void OnInitDialog();
|
||||
|
||||
void UpdateTerrainUnits();
|
||||
void UpdateTerrainInfo();
|
||||
|
||||
void showEvent(QShowEvent* event) override;
|
||||
|
||||
protected slots:
|
||||
void OnComboBoxSelectionTerrainResolution();
|
||||
void OnComboBoxSelectionTerrainUnits();
|
||||
|
||||
public:
|
||||
int m_terrainResolutionIndex;
|
||||
int m_terrainUnitsIndex;
|
||||
bool m_bUpdate;
|
||||
|
||||
QScopedPointer<Ui::CNewTerrainDialog> ui;
|
||||
bool m_initialized;
|
||||
};
|
||||
#endif // CRYINCLUDE_EDITOR_NEWTERRAINDIALOG_H
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CNewTerrainDialog</class>
|
||||
<widget class="QDialog" name="CNewTerrainDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>292</width>
|
||||
<height>160</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QFrame" name="USE_TERRAIN">
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="STATIC3">
|
||||
<property name="text">
|
||||
<string>Heightmap Resolution:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>TERRAIN_RESOLUTION</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="TERRAIN_RESOLUTION"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="STATIC4">
|
||||
<property name="text">
|
||||
<string>Meters Per Texel:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>TERRAIN_UNITS</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="TERRAIN_UNITS"/>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<widget class="QLabel" name="TERRAIN_INFO">
|
||||
<property name="text">
|
||||
<string>Terrain Size: 32x32 Km</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>CNewTerrainDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>164</x>
|
||||
<y>176</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>169</x>
|
||||
<y>1</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>CNewTerrainDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>245</x>
|
||||
<y>172</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>247</x>
|
||||
<y>-1</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -1,6 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/dialog/PakManager">
|
||||
<file alias="file.png">res/pakmanager_file.png</file>
|
||||
<file alias="folder.png">res/pakmanager_folder.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -1,202 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CPakManagerDlg</class>
|
||||
<widget class="QDialog" name="CPakManagerDlg">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>661</width>
|
||||
<height>494</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_OPEN_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Open PAK...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_CREATE_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Create PAK...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_ADD_FILES_TO_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add files...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_ADD_FOLDERS_TO_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add folder...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_EXTRACT_FILES_FROM_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Extract...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_DELETE_FILES_FROM_PAK">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Delete entries</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="BUTTON_CLOSE">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>45</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="STATIC">
|
||||
<property name="text">
|
||||
<string>Path:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="STATIC_PATH">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><none></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="LIST_FILES">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Box</enum>
|
||||
</property>
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectItems</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>120</number>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Filename</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Size</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Modified</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="STATIC_PAK_STATUS">
|
||||
<property name="text">
|
||||
<string>Ready</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="PROGRESS">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="PakManagerDlg.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "SelectEAXPresetDlg.h"
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include "ui_SelectEAXPresetDlg.h"
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
|
||||
CSelectEAXPresetDlg::CSelectEAXPresetDlg(QWidget* pParent)
|
||||
: QDialog(pParent)
|
||||
, m_ui(new Ui_CSelectEAXPresetDlg)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
}
|
||||
|
||||
CSelectEAXPresetDlg::~CSelectEAXPresetDlg()
|
||||
{
|
||||
}
|
||||
|
||||
void CSelectEAXPresetDlg::SetCurrPreset(const QString& sPreset)
|
||||
{
|
||||
QAbstractListModel* model = Model();
|
||||
if (!model)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
QModelIndexList indexes = model->match(QModelIndex(), Qt::DisplayRole, sPreset, 1, Qt::MatchExactly);
|
||||
|
||||
if (!indexes.isEmpty())
|
||||
{
|
||||
m_ui->listView->setCurrentIndex(indexes.at(0));
|
||||
}
|
||||
}
|
||||
|
||||
QString CSelectEAXPresetDlg::GetCurrPreset() const
|
||||
{
|
||||
if (m_ui->listView->currentIndex().isValid())
|
||||
{
|
||||
return m_ui->listView->currentIndex().data().toString();
|
||||
}
|
||||
// EXCEPTION: OCX Property Pages should return false
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
void CSelectEAXPresetDlg::SetModel(QAbstractListModel* model)
|
||||
{
|
||||
m_ui->listView->setModel(model);
|
||||
}
|
||||
|
||||
QAbstractListModel* CSelectEAXPresetDlg::Model() const
|
||||
{
|
||||
return static_cast<QAbstractListModel*>(m_ui->listView->model());
|
||||
}
|
||||
|
||||
#include "moc_SelectEAXPresetDlg.cpp"
|
||||
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
// CSelectEAXPresetDlg dialog
|
||||
#ifndef CRYINCLUDE_EDITOR_SELECTEAXPRESETDLG_H
|
||||
#define CRYINCLUDE_EDITOR_SELECTEAXPRESETDLG_H
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
class QAbstractListModel;
|
||||
class Ui_CSelectEAXPresetDlg;
|
||||
|
||||
class CSelectEAXPresetDlg
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CSelectEAXPresetDlg(QWidget* pParent = nullptr); // standard constructor
|
||||
~CSelectEAXPresetDlg();
|
||||
|
||||
void SetCurrPreset(const QString& sPreset);
|
||||
QString GetCurrPreset() const;
|
||||
|
||||
protected:
|
||||
void SetModel(QAbstractListModel* model);
|
||||
QAbstractListModel* Model() const;
|
||||
|
||||
private:
|
||||
Ui_CSelectEAXPresetDlg* m_ui;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_SELECTEAXPRESETDLG_H
|
||||
@@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>CSelectEAXPresetDlg</class>
|
||||
<widget class="QDialog" name="CSelectEAXPresetDlg">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>197</width>
|
||||
<height>233</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Select Preset...</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QListView" name="listView"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>listView</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>CSelectEAXPresetDlg</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>51</x>
|
||||
<y>207</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>49</x>
|
||||
<y>199</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>CSelectEAXPresetDlg</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>148</x>
|
||||
<y>213</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>131</x>
|
||||
<y>199</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "SurfaceTypeValidator.h"
|
||||
|
||||
// Editor
|
||||
#include "Include/IObjectManager.h"
|
||||
#include "Objects/BaseObject.h"
|
||||
#include "ErrorReport.h"
|
||||
|
||||
|
||||
void CSurfaceTypeValidator::Validate()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_SURFACETYPEVALIDATOR_H
|
||||
#define CRYINCLUDE_EDITOR_SURFACETYPEVALIDATOR_H
|
||||
#pragma once
|
||||
|
||||
|
||||
|
||||
class CSurfaceTypeValidator
|
||||
{
|
||||
public:
|
||||
void Validate();
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_SURFACETYPEVALIDATOR_H
|
||||
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Description : Undo for Python function (PySetCurrentViewPosition)
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "UndoViewPosition.h"
|
||||
|
||||
// Editor
|
||||
#include "ViewManager.h"
|
||||
|
||||
CUndoViewPosition::CUndoViewPosition(const QString& pUndoDescription)
|
||||
{
|
||||
m_undoDescription = pUndoDescription;
|
||||
|
||||
CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport();
|
||||
if (pRenderViewport)
|
||||
{
|
||||
Matrix34 tm = pRenderViewport->GetViewTM();
|
||||
m_undo = tm.GetTranslation();
|
||||
}
|
||||
}
|
||||
|
||||
int CUndoViewPosition::GetSize()
|
||||
{
|
||||
return sizeof(*this);
|
||||
}
|
||||
|
||||
QString CUndoViewPosition::GetDescription()
|
||||
{
|
||||
return m_undoDescription;
|
||||
}
|
||||
|
||||
void CUndoViewPosition::Undo(bool bUndo)
|
||||
{
|
||||
CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport();
|
||||
if (pRenderViewport)
|
||||
{
|
||||
Matrix34 tm = pRenderViewport->GetViewTM();
|
||||
if (bUndo)
|
||||
{
|
||||
m_redo = tm.GetTranslation();
|
||||
}
|
||||
|
||||
tm.SetTranslation(m_undo);
|
||||
pRenderViewport->SetViewTM(tm);
|
||||
}
|
||||
}
|
||||
|
||||
void CUndoViewPosition::Redo()
|
||||
{
|
||||
CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport();
|
||||
if (pRenderViewport)
|
||||
{
|
||||
Matrix34 tm = pRenderViewport->GetViewTM();
|
||||
tm.SetTranslation(m_redo);
|
||||
pRenderViewport->SetViewTM(tm);
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Description : Undo for Python function (PySetCurrentViewPosition)
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_UNDOVIEWPOSITION_H
|
||||
#define CRYINCLUDE_EDITOR_UNDOVIEWPOSITION_H
|
||||
#pragma once
|
||||
|
||||
#include "Undo/IUndoObject.h"
|
||||
|
||||
class CUndoViewPosition
|
||||
: public IUndoObject
|
||||
{
|
||||
public:
|
||||
CUndoViewPosition(const QString& pUndoDescription = "Set Current View Position");
|
||||
|
||||
protected:
|
||||
int GetSize();
|
||||
QString GetDescription();
|
||||
void Undo(bool bUndo);
|
||||
void Redo();
|
||||
|
||||
private:
|
||||
Vec3 m_undo;
|
||||
Vec3 m_redo;
|
||||
QString m_undoDescription;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_UNDOVIEWPOSITION_H
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Description : Undo for Python function (PySetCurrentViewPosition)
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "UndoViewRotation.h"
|
||||
|
||||
// Editor
|
||||
#include "ViewManager.h"
|
||||
|
||||
#include <AzCore/Math/Matrix3x3.h>
|
||||
#include <AzCore/Math/Matrix3x4.h>
|
||||
#include <AzFramework/Components/CameraBus.h>
|
||||
#include <MathConversion.h>
|
||||
|
||||
Ang3 CUndoViewRotation::GetActiveCameraRotation()
|
||||
{
|
||||
AZ::Transform activeCameraTm = AZ::Transform::CreateIdentity();
|
||||
Camera::ActiveCameraRequestBus::BroadcastResult(
|
||||
activeCameraTm,
|
||||
&Camera::ActiveCameraRequestBus::Events::GetActiveCameraTransform
|
||||
);
|
||||
const AZ::Matrix3x4 cameraMatrix = AZ::Matrix3x4::CreateFromTransform(activeCameraTm);
|
||||
const Matrix33 cameraMatrixCry = AZMatrix3x3ToLYMatrix3x3(AZ::Matrix3x3::CreateFromMatrix3x4(cameraMatrix));
|
||||
return RAD2DEG(Ang3::GetAnglesXYZ(cameraMatrixCry));
|
||||
}
|
||||
|
||||
CUndoViewRotation::CUndoViewRotation(const QString& pUndoDescription)
|
||||
{
|
||||
m_undoDescription = pUndoDescription;
|
||||
m_undo = GetActiveCameraRotation();
|
||||
}
|
||||
|
||||
int CUndoViewRotation::GetSize()
|
||||
{
|
||||
return sizeof(*this);
|
||||
}
|
||||
|
||||
QString CUndoViewRotation::GetDescription()
|
||||
{
|
||||
return m_undoDescription;
|
||||
}
|
||||
|
||||
void CUndoViewRotation::Undo(bool bUndo)
|
||||
{
|
||||
CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport();
|
||||
if (pRenderViewport)
|
||||
{
|
||||
if (bUndo)
|
||||
{
|
||||
m_redo = GetActiveCameraRotation();
|
||||
}
|
||||
|
||||
Matrix34 tm = pRenderViewport->GetViewTM();
|
||||
tm.SetRotationXYZ(Ang3(DEG2RAD(m_undo.x), DEG2RAD(m_undo.y), DEG2RAD(m_undo.z)), tm.GetTranslation());
|
||||
pRenderViewport->SetViewTM(tm);
|
||||
}
|
||||
}
|
||||
|
||||
void CUndoViewRotation::Redo()
|
||||
{
|
||||
CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport();
|
||||
if (pRenderViewport)
|
||||
{
|
||||
Matrix34 tm = pRenderViewport->GetViewTM();
|
||||
tm.SetRotationXYZ(Ang3(DEG2RAD(m_redo.x), DEG2RAD(m_redo.y), DEG2RAD(m_redo.z)), tm.GetTranslation());
|
||||
pRenderViewport->SetViewTM(tm);
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Description : Undo for Python function (PySetCurrentViewRotation)
|
||||
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_UNDOVIEWROTATION_H
|
||||
#define CRYINCLUDE_EDITOR_UNDOVIEWROTATION_H
|
||||
#pragma once
|
||||
#include "Undo/IUndoObject.h"
|
||||
|
||||
|
||||
class CUndoViewRotation
|
||||
: public IUndoObject
|
||||
{
|
||||
public:
|
||||
CUndoViewRotation(const QString& pUndoDescription = "Set Current View Rotation");
|
||||
|
||||
protected:
|
||||
int GetSize();
|
||||
QString GetDescription();
|
||||
void Undo(bool bUndo);
|
||||
void Redo();
|
||||
|
||||
private:
|
||||
static Ang3 GetActiveCameraRotation();
|
||||
|
||||
Ang3 m_undo;
|
||||
Ang3 m_redo;
|
||||
QString m_undoDescription;
|
||||
};
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_UNDOVIEWROTATION_H
|
||||
@@ -1,60 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_USERMESSAGEDEFINES_H
|
||||
#define CRYINCLUDE_EDITOR_USERMESSAGEDEFINES_H
|
||||
#pragma once
|
||||
|
||||
|
||||
enum ESandboxUserMessages
|
||||
{
|
||||
// InPlaceComboBox
|
||||
WM_USER_ON_SELECTION_CANCEL = WM_USER + 1,
|
||||
WM_USER_ON_SELECTION_OK,
|
||||
WM_USER_ON_NEW_SELECTION,
|
||||
WM_USER_ON_EDITCHANGE,
|
||||
WM_USER_ON_OPENDROPDOWN,
|
||||
WM_USER_ON_EDITKEYDOWN,
|
||||
WM_USER_ON_EDITCLICK,
|
||||
// ACListWnd
|
||||
ENAC_UPDATE,
|
||||
// EditWithButton
|
||||
WM_USER_EDITWITHBUTTON_CLICKED,
|
||||
// FillSliderCtrl
|
||||
WMU_FS_CHANGED,
|
||||
WMU_FS_LBUTTONDOWN,
|
||||
WMU_FS_LBUTTONUP,
|
||||
FLM_EDITTEXTCHANGED,
|
||||
FLM_FILTERTEXTCHANGED,
|
||||
// NumberCtrlEdit
|
||||
WMU_LBUTTONDOWN,
|
||||
WMU_LBUTTONUP,
|
||||
WM_ONWINDOWFOCUSCHANGES,
|
||||
// SelectObjectDialog
|
||||
IDT_TIMER_0,
|
||||
IDT_TIMER_1,
|
||||
// LensFlareEditor
|
||||
WM_FLAREEDITOR_UPDATETREECONTROL,
|
||||
// EquipPackDialog
|
||||
UM_EQUIPLIST_CHECKSTATECHANGE,
|
||||
// MaterialSender/MatEditMainDlg
|
||||
WM_MATEDITPICK,
|
||||
// GridMapWindow
|
||||
WM_USER_ON_DBL_CLICK,
|
||||
// LMCompDialog
|
||||
WM_UPDATE_LIGHTMAP_GENERATION_PROGRESS,
|
||||
WM_UPDATE_LIGHTMAP_GENERATION_MEMUSAGE,
|
||||
WM_UPDATE_LIGHTMAP_GENERATION_MEMUSAGE_STATIC,
|
||||
WM_UPDATE_GLM_NAME_EDIT,
|
||||
// Viewport
|
||||
WM_VIEWPORT_ON_TITLE_CHANGE,
|
||||
// VisualLogControls
|
||||
UWM_BUTTON_CLICKED,
|
||||
};
|
||||
#endif // CRYINCLUDE_EDITOR_USERMESSAGEDEFINES_H
|
||||
@@ -38,7 +38,6 @@
|
||||
#include "Viewport.h"
|
||||
#include "LayoutConfigDialog.h"
|
||||
#include "TopRendererWnd.h"
|
||||
#include "UserMessageDefines.h"
|
||||
#include "MainWindow.h"
|
||||
#include "QtViewPaneManager.h"
|
||||
#include "EditorViewportWidget.h"
|
||||
|
||||
@@ -1,454 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "WipFeatureManager.h"
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
#include "WipFeaturesDlg.h"
|
||||
|
||||
#if defined(AZ_PLATFORM_WINDOWS)
|
||||
const char* CWipFeatureManager::kWipFeaturesFilename = "@user@\\Editor\\UI\\WipFeatures.xml";
|
||||
#else
|
||||
const char* CWipFeatureManager::kWipFeaturesFilename = "@user@/Editor/UI/WipFeatures.xml";
|
||||
#endif
|
||||
CWipFeatureManager* CWipFeatureManager::s_pInstance = nullptr;
|
||||
|
||||
static void WipFeatureVarChange(ICVar* pVar)
|
||||
{
|
||||
QString strParams = pVar->GetString();
|
||||
QStringList params;
|
||||
|
||||
SplitString(strParams, params, ' ');
|
||||
|
||||
if (strParams == "edit")
|
||||
{
|
||||
static CWipFeaturesDlg dlg;
|
||||
|
||||
dlg.show();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (params.size() >= 2)
|
||||
{
|
||||
QString featName = params[0].trimmed();
|
||||
QString attr = params[1].trimmed();
|
||||
|
||||
if (featName.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int id = featName.toInt();
|
||||
|
||||
// if all features
|
||||
if (featName == "*")
|
||||
{
|
||||
if (attr == "enable")
|
||||
{
|
||||
CWipFeatureManager::Instance()->EnableAllFeatures(true);
|
||||
}
|
||||
else
|
||||
if (attr == "disable")
|
||||
{
|
||||
CWipFeatureManager::Instance()->EnableAllFeatures(false);
|
||||
}
|
||||
else
|
||||
if (attr == "hide")
|
||||
{
|
||||
CWipFeatureManager::Instance()->ShowAllFeatures(false);
|
||||
}
|
||||
else
|
||||
if (attr == "show")
|
||||
{
|
||||
CWipFeatureManager::Instance()->ShowAllFeatures(true);
|
||||
}
|
||||
else
|
||||
if (attr == "safemode")
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetAllFeaturesSafeMode(true);
|
||||
}
|
||||
else
|
||||
if (attr == "fullmode")
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetAllFeaturesSafeMode(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetAllFeaturesParams(attr.toUtf8().data());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (attr == "enable")
|
||||
{
|
||||
CWipFeatureManager::Instance()->EnableFeature(id, true);
|
||||
}
|
||||
else
|
||||
if (attr == "disable")
|
||||
{
|
||||
CWipFeatureManager::Instance()->EnableFeature(id, false);
|
||||
}
|
||||
else
|
||||
if (attr == "hide")
|
||||
{
|
||||
CWipFeatureManager::Instance()->ShowFeature(id, false);
|
||||
}
|
||||
else
|
||||
if (attr == "show")
|
||||
{
|
||||
CWipFeatureManager::Instance()->ShowFeature(id, true);
|
||||
}
|
||||
else
|
||||
if (attr == "safemode")
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetFeatureSafeMode(id, true);
|
||||
}
|
||||
else
|
||||
if (attr == "fullmode")
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetFeatureSafeMode(id, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetFeatureParams(id, attr.toUtf8().data());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CWipFeatureManager::CWipFeatureManager()
|
||||
{
|
||||
m_bEnabled = true;
|
||||
}
|
||||
|
||||
CWipFeatureManager::~CWipFeatureManager()
|
||||
{
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::Init(bool bLoadXml)
|
||||
{
|
||||
if (!gEnv)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
IConsole* pConsole = gEnv->pConsole;
|
||||
|
||||
if (!pConsole)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
REGISTER_CVAR2_CB("e_wipfeature", (const char**)&CWipFeatureManager::Instance()->m_consoleCmdParams, "", VF_ALWAYSONCHANGE | VF_CHEAT, "wipfeature <featureName> enable|disable|hide|show|safemode|fullmode", WipFeatureVarChange);
|
||||
|
||||
if (bLoadXml)
|
||||
{
|
||||
CWipFeatureManager::Instance()->Load();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CWipFeatureManager::Shutdown()
|
||||
{
|
||||
CWipFeatureManager::Instance()->Save();
|
||||
delete s_pInstance;
|
||||
s_pInstance = nullptr;
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::Load(const char* pFilename, bool bClearExisting)
|
||||
{
|
||||
if (!GetISystem())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
XmlNodeRef root = GetISystem()->LoadXmlFromFile(pFilename);
|
||||
|
||||
if (!root)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (bClearExisting)
|
||||
{
|
||||
m_features.clear();
|
||||
}
|
||||
|
||||
Log("Loading WIP features file: '%s'...", pFilename);
|
||||
|
||||
for (size_t i = 0, iCount = root->getChildCount(); i < iCount; ++i)
|
||||
{
|
||||
SWipFeatureInfo wf;
|
||||
XmlNodeRef node = root->getChild(static_cast<int>(i));
|
||||
XmlString str;
|
||||
|
||||
node->getAttr("id", wf.m_id);
|
||||
node->getAttr("displayName", str);
|
||||
wf.m_displayName = str;
|
||||
node->getAttr("visible", wf.m_bVisible);
|
||||
node->getAttr("enabled", wf.m_bEnabled);
|
||||
node->getAttr("safeMode", wf.m_bSafeMode);
|
||||
node->getAttr("params", str);
|
||||
wf.m_params = str;
|
||||
wf.m_bLoadedFromXml = true;
|
||||
|
||||
TWipFeatures::iterator iter = m_features.find(wf.m_id);
|
||||
|
||||
if (iter == m_features.end())
|
||||
{
|
||||
m_features[wf.m_id] = wf;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_features[wf.m_id].m_bVisible = wf.m_bVisible;
|
||||
m_features[wf.m_id].m_bEnabled = wf.m_bEnabled;
|
||||
m_features[wf.m_id].m_bSafeMode = wf.m_bSafeMode;
|
||||
m_features[wf.m_id].m_params = wf.m_params;
|
||||
}
|
||||
}
|
||||
|
||||
Log("Loaded %d WIP features.", m_features.size());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::Save(const char* pFilename)
|
||||
{
|
||||
if (!gEnv)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!GetISystem())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ISystem* pISystem = GetISystem();
|
||||
|
||||
XmlNodeRef root = pISystem->CreateXmlNode("features");
|
||||
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
SWipFeatureInfo& wf = iter->second;
|
||||
XmlNodeRef node = root->createNode("feature");
|
||||
|
||||
node->setAttr("id", wf.m_id);
|
||||
node->setAttr("displayName", wf.m_displayName.c_str());
|
||||
node->setAttr("visible", wf.m_bVisible);
|
||||
node->setAttr("enabled", wf.m_bEnabled);
|
||||
node->setAttr("safeMode", wf.m_bSafeMode);
|
||||
node->setAttr("params", wf.m_params.c_str());
|
||||
|
||||
root->addChild(node);
|
||||
}
|
||||
|
||||
root->saveToFile(pFilename);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int CWipFeatureManager::RegisterFeature(const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams, bool bSaveToXml)
|
||||
{
|
||||
int aMaxId = -1;
|
||||
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
if (iter->first > aMaxId)
|
||||
{
|
||||
aMaxId = iter->first;
|
||||
}
|
||||
}
|
||||
|
||||
++aMaxId;
|
||||
SetFeature(aMaxId, pDisplayName, bVisible, bEnabled, bSafeMode, pParams, bSaveToXml);
|
||||
|
||||
return aMaxId;
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetFeature(int aFeatureId, const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams, bool bSaveToXml)
|
||||
{
|
||||
m_features[aFeatureId].m_id = aFeatureId;
|
||||
m_features[aFeatureId].m_displayName = pDisplayName;
|
||||
m_features[aFeatureId].m_bVisible = bVisible;
|
||||
m_features[aFeatureId].m_bEnabled = bEnabled;
|
||||
m_features[aFeatureId].m_bSafeMode = bSafeMode;
|
||||
m_features[aFeatureId].m_bSaveToXml = bSaveToXml;
|
||||
m_features[aFeatureId].m_params = pParams;
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, &bVisible, &bEnabled, &bSafeMode, pParams);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetDefaultFeatureStates(int aFeatureId, const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams)
|
||||
{
|
||||
TWipFeatures::iterator iter = m_features.find(aFeatureId);
|
||||
|
||||
// set feature if not existing
|
||||
if (iter == m_features.end() || (iter != m_features.end() && !iter->second.m_bLoadedFromXml))
|
||||
{
|
||||
m_features[aFeatureId].m_id = aFeatureId;
|
||||
m_features[aFeatureId].m_displayName = pDisplayName;
|
||||
m_features[aFeatureId].m_bVisible = bVisible;
|
||||
m_features[aFeatureId].m_bEnabled = bEnabled;
|
||||
m_features[aFeatureId].m_bSafeMode = bSafeMode;
|
||||
m_features[aFeatureId].m_params = pParams;
|
||||
}
|
||||
else
|
||||
if (iter != m_features.end() && iter->second.m_bLoadedFromXml)
|
||||
{
|
||||
m_features[aFeatureId].m_id = aFeatureId;
|
||||
m_features[aFeatureId].m_displayName = pDisplayName;
|
||||
}
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, &bVisible, &bEnabled, &bSafeMode, pParams);
|
||||
}
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::IsFeatureVisible(int aFeatureId)
|
||||
{
|
||||
return m_features[aFeatureId].m_bVisible || !m_bEnabled;
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::IsFeatureEnabled(int aFeatureId)
|
||||
{
|
||||
return m_features[aFeatureId].m_bEnabled || !m_bEnabled;
|
||||
}
|
||||
|
||||
bool CWipFeatureManager::IsFeatureInSafeMode(int aFeatureId)
|
||||
{
|
||||
if (!m_bEnabled)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return m_features[aFeatureId].m_bSafeMode;
|
||||
}
|
||||
|
||||
const char* CWipFeatureManager::GetFeatureParams(int aFeatureId)
|
||||
{
|
||||
return m_features[aFeatureId].m_params.c_str();
|
||||
}
|
||||
|
||||
void CWipFeatureManager::ShowFeature(int aFeatureId, bool bShow)
|
||||
{
|
||||
m_features[aFeatureId].m_bVisible = bShow;
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, &bShow, nullptr, nullptr, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::EnableFeature(int aFeatureId, bool bEnable)
|
||||
{
|
||||
m_features[aFeatureId].m_bEnabled = bEnable;
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, nullptr, &bEnable, nullptr, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetFeatureSafeMode(int aFeatureId, bool bSafeMode)
|
||||
{
|
||||
m_features[aFeatureId].m_bSafeMode = bSafeMode;
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, nullptr, nullptr, &bSafeMode, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetFeatureParams(int aFeatureId, const char* pParams)
|
||||
{
|
||||
m_features[aFeatureId].m_params = pParams;
|
||||
|
||||
if (m_features[aFeatureId].m_pfnUpdateFeature)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature(aFeatureId, nullptr, nullptr, nullptr, pParams);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::ShowAllFeatures(bool bShow)
|
||||
{
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
iter->second.m_bVisible = bShow;
|
||||
|
||||
if (iter->second.m_pfnUpdateFeature)
|
||||
{
|
||||
iter->second.m_pfnUpdateFeature(iter->first, &bShow, nullptr, nullptr, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::EnableAllFeatures(bool bEnable)
|
||||
{
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
iter->second.m_bEnabled = bEnable;
|
||||
|
||||
if (iter->second.m_pfnUpdateFeature)
|
||||
{
|
||||
iter->second.m_pfnUpdateFeature(iter->first, nullptr, &bEnable, nullptr, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetAllFeaturesSafeMode(bool bSafeMode)
|
||||
{
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
iter->second.m_bSafeMode = bSafeMode;
|
||||
|
||||
if (iter->second.m_pfnUpdateFeature)
|
||||
{
|
||||
iter->second.m_pfnUpdateFeature(iter->first, nullptr, nullptr, &bSafeMode, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetAllFeaturesParams(const char* pParams)
|
||||
{
|
||||
for (TWipFeatures::iterator iter = m_features.begin(), iterEnd = m_features.end(); iter != iterEnd; ++iter)
|
||||
{
|
||||
iter->second.m_params = pParams;
|
||||
|
||||
if (iter->second.m_pfnUpdateFeature)
|
||||
{
|
||||
iter->second.m_pfnUpdateFeature(iter->first, nullptr, nullptr, nullptr, pParams);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeatureManager::EnableManager(bool bEnable)
|
||||
{
|
||||
m_bEnabled = bEnable;
|
||||
}
|
||||
|
||||
void CWipFeatureManager::SetFeatureUpdateCallback(int aFeatureId, TWipFeatureUpdateCallback pfnUpdate)
|
||||
{
|
||||
m_features[aFeatureId].m_pfnUpdateFeature = pfnUpdate;
|
||||
}
|
||||
|
||||
AZStd::map<int, CWipFeatureManager::SWipFeatureInfo>& CWipFeatureManager::GetFeatures()
|
||||
{
|
||||
return m_features;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,162 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef CRYINCLUDE_EDITOR_WIPFEATUREMANAGER_H
|
||||
#define CRYINCLUDE_EDITOR_WIPFEATUREMANAGER_H
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/std/string/string.h>
|
||||
#include <AzCore/std/containers/map.h>
|
||||
|
||||
/*
|
||||
This class is used to control work in progress features at runtime, so QA can test even if the end user will not see those features
|
||||
You can use the console command: e_wipfeature <numeric featureId> enable|disable|hide|show|safemode|fullmode
|
||||
******************************************************************************************************************************************
|
||||
*** GOOD TO KNOW: "e_wipfeature edit" console command will display the WIP dialog and you can control the features from there
|
||||
******************************************************************************************************************************************
|
||||
*/
|
||||
|
||||
// undef this define to spot all wip feature usages within the editor at compile time
|
||||
#define USE_WIP_FEATURES_MANAGER
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
|
||||
// use this to register new wip features, usage from inside functions
|
||||
// @param id is the numeric unique id of the feature, its good to have all feature ids in an enum in one file
|
||||
// @param bVisible is the feature visible by default
|
||||
// @param bEnabled is the feature enabled (usually visual enable like non-grayed) by default
|
||||
// @param bSafeMode is the feature operating in some sort of safe mode (the safe mode behavior defined by the feature itself)
|
||||
// @param pTWipFeatureUpdateCallback callback of type TWipFeatureUpdateCallback for when a feature state (visible,enabled and so on) was modified
|
||||
#define REGISTER_WIP_FEATURE(id, bVisible, bEnabled, bSafeMode, pTWipFeatureUpdateCallback) \
|
||||
static CWipFeatureManager::CWipFeatureRegisterer s_wipFeatureRegisterer_##id(id, ""#id, bVisible, bEnabled, bSafeMode, pTWipFeatureUpdateCallback);
|
||||
|
||||
#define IS_WIP_FEATURE_VISIBLE(id) CWipFeatureManager::Instance()->IsFeatureVisible(id)
|
||||
#define IS_WIP_FEATURE_ENABLED(id) CWipFeatureManager::Instance()->IsFeatureEnabled(id)
|
||||
#define IS_WIP_FEATURE_SAFEMODE(id) CWipFeatureManager::Instance()->IsFeatureInSafeMode(id)
|
||||
|
||||
// The feature manager singleton itself
|
||||
class CWipFeatureManager
|
||||
{
|
||||
public:
|
||||
|
||||
static const char* kWipFeaturesFilename;
|
||||
|
||||
// Used to register a callback function to update the state of features whitin the editor
|
||||
// pbVisible, pbEnabled, pbSafeMode, pParams - if the pointer is nullptr, then that attribute was not changed
|
||||
typedef void (* TWipFeatureUpdateCallback)(int aFeatureId, const bool* const pbVisible, const bool* const pbEnabled, const bool* const pbSafeMode, const char* pParams);
|
||||
|
||||
// wip feature registerer auto create object, used for static auto feature creation with the REGISTER_WIP_FEATURE macro
|
||||
class CWipFeatureRegisterer
|
||||
{
|
||||
public:
|
||||
|
||||
CWipFeatureRegisterer(int id, const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, TWipFeatureUpdateCallback pTWipFeatureUpdateCallback)
|
||||
{
|
||||
CWipFeatureManager::Instance()->SetFeatureUpdateCallback(id, pTWipFeatureUpdateCallback);
|
||||
CWipFeatureManager::Instance()->SetDefaultFeatureStates(id, pDisplayName, bVisible, bEnabled, bSafeMode);
|
||||
}
|
||||
};
|
||||
|
||||
struct SWipFeatureInfo
|
||||
{
|
||||
SWipFeatureInfo()
|
||||
: m_id(0)
|
||||
, m_displayName("")
|
||||
, m_bVisible(true)
|
||||
, m_bEnabled(true)
|
||||
, m_bSafeMode(false)
|
||||
, m_pfnUpdateFeature(nullptr)
|
||||
, m_bLoadedFromXml(false)
|
||||
{}
|
||||
|
||||
int m_id;
|
||||
AZStd::string m_displayName, m_params;
|
||||
bool m_bVisible, m_bEnabled, m_bSafeMode,
|
||||
// if true, this feature will be saved into the xml file when Save(...) will be called
|
||||
m_bSaveToXml, m_bLoadedFromXml;
|
||||
TWipFeatureUpdateCallback m_pfnUpdateFeature;
|
||||
};
|
||||
|
||||
typedef AZStd::map<int, SWipFeatureInfo> TWipFeatures;
|
||||
|
||||
private:
|
||||
|
||||
CWipFeatureManager();
|
||||
~CWipFeatureManager();
|
||||
|
||||
static CWipFeatureManager* s_pInstance;
|
||||
|
||||
public:
|
||||
|
||||
static CWipFeatureManager* Instance()
|
||||
{
|
||||
if (!s_pInstance)
|
||||
{
|
||||
s_pInstance = new CWipFeatureManager();
|
||||
AZ_Assert(s_pInstance, "Could not construct CWipFeatureManager");
|
||||
}
|
||||
|
||||
return s_pInstance;
|
||||
}
|
||||
|
||||
static bool Init(bool bLoadXml = true);
|
||||
static void Shutdown();
|
||||
|
||||
bool Load(const char* pFilename = kWipFeaturesFilename, bool bClearExisting = true);
|
||||
bool Save(const char* pFilename = kWipFeaturesFilename);
|
||||
|
||||
// Register a new feature
|
||||
// @return a new feature ID
|
||||
int RegisterFeature(const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams = "", bool bSaveToXml = true);
|
||||
// Set an existing feature
|
||||
void SetFeature(int aFeatureId, const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams = "", bool bSaveToXml = true);
|
||||
// Create a new feature, but it will take into account the existing feature info from the loaded XML file, with persistent settings, if any
|
||||
void SetDefaultFeatureStates(int aFeatureId, const char* pDisplayName, bool bVisible, bool bEnabled, bool bSafeMode, const char* pParams = "");
|
||||
bool IsFeatureVisible(int aFeatureId);
|
||||
bool IsFeatureEnabled(int aFeatureId);
|
||||
bool IsFeatureInSafeMode(int aFeatureId);
|
||||
const char* GetFeatureParams(int aFeatureId);
|
||||
|
||||
void ShowFeature(int aFeatureId, bool bShow = true);
|
||||
void EnableFeature(int aFeatureId, bool bEnable = true);
|
||||
void SetFeatureSafeMode(int aFeatureId, bool bSafeMode);
|
||||
void SetFeatureParams(int aFeatureId, const char* pParams);
|
||||
|
||||
void ShowAllFeatures(bool bShow = true);
|
||||
void EnableAllFeatures(bool bEnable = true);
|
||||
void SetAllFeaturesSafeMode(bool bSafeMode);
|
||||
void SetAllFeaturesParams(const char* pParams);
|
||||
|
||||
// if manager is disabled, then all queries about feature enable/visible/fullmode states will return true always
|
||||
void EnableManager(bool bEnable = true);
|
||||
|
||||
void SetFeatureUpdateCallback(int aFeatureId, TWipFeatureUpdateCallback pfnUpdate);
|
||||
TWipFeatures& GetFeatures();
|
||||
|
||||
private:
|
||||
|
||||
static const int kMaxWipCmdSize = 200;
|
||||
|
||||
TWipFeatures m_features;
|
||||
char m_consoleCmdParams[kMaxWipCmdSize];
|
||||
bool m_bEnabled;
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// no WIP feature manager in production build
|
||||
//
|
||||
#define REGISTER_WIP_FEATURE
|
||||
#define IS_WIP_FEATURE_VISIBLE(id) true
|
||||
#define IS_WIP_FEATURE_ENABLED(id) true
|
||||
#define IS_WIP_FEATURE_SAFEMODE(id) true
|
||||
|
||||
#endif //USE_WIP_FEATURES_MANAGER
|
||||
#endif // CRYINCLUDE_EDITOR_WIPFEATUREMANAGER_H
|
||||
@@ -1,239 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "EditorDefs.h"
|
||||
|
||||
#include "WipFeatureManager.h"
|
||||
|
||||
#include "WipFeaturesDlg.h"
|
||||
|
||||
// Qt
|
||||
#include <QDialog>
|
||||
|
||||
AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
#include "ui_WipFeaturesDlg.h"
|
||||
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
|
||||
// CWipFeaturesDlg dialog
|
||||
|
||||
class WipFeaturesModel
|
||||
: public QAbstractTableModel
|
||||
{
|
||||
public:
|
||||
WipFeaturesModel(QObject* parent = nullptr)
|
||||
: QAbstractTableModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
int rowCount(const QModelIndex& parent = QModelIndex()) const override
|
||||
{
|
||||
return parent.isValid() ? 0 : static_cast<int>(CWipFeatureManager::Instance()->GetFeatures().size());
|
||||
}
|
||||
|
||||
int columnCount(const QModelIndex& parent = QModelIndex()) const override
|
||||
{
|
||||
return parent.isValid() ? 0 : 5;
|
||||
}
|
||||
|
||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
|
||||
{
|
||||
if (orientation != Qt::Horizontal || section >= columnCount())
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
||||
switch (role)
|
||||
{
|
||||
case Qt::TextAlignmentRole:
|
||||
return section == 0 ? Qt::AlignLeft : Qt::AlignCenter;
|
||||
case Qt::DisplayRole:
|
||||
switch (section)
|
||||
{
|
||||
case 0:
|
||||
return tr("Name");
|
||||
case 1:
|
||||
return tr("Id");
|
||||
case 2:
|
||||
return tr("Visible");
|
||||
case 3:
|
||||
return tr("Enabled");
|
||||
case 4:
|
||||
return tr("SafeMode");
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override
|
||||
{
|
||||
if (!index.isValid() || index.column() >= columnCount(index.parent()) || index.row() >= rowCount(index.parent()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (role != Qt::EditRole || !value.canConvert<bool>())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
auto it = CWipFeatureManager::Instance()->GetFeatures().begin();
|
||||
std::advance(it, index.row());
|
||||
|
||||
auto id = it->first;
|
||||
|
||||
switch (index.column())
|
||||
{
|
||||
case 2:
|
||||
CWipFeatureManager::Instance()->ShowFeature(id, value.toBool());
|
||||
break;
|
||||
case 3:
|
||||
CWipFeatureManager::Instance()->EnableFeature(id, value.toBool());
|
||||
break;
|
||||
case 4:
|
||||
CWipFeatureManager::Instance()->SetFeatureSafeMode(id, value.toBool());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
emit dataChanged(index, index);
|
||||
return true;
|
||||
}
|
||||
|
||||
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override
|
||||
{
|
||||
if (!index.isValid() || index.column() >= columnCount(index.parent()) || index.row() >= rowCount(index.parent()))
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
if (role == Qt::TextAlignmentRole)
|
||||
{
|
||||
return headerData(index.column(), Qt::Horizontal, role);
|
||||
}
|
||||
|
||||
if (role != Qt::DisplayRole)
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
auto it = CWipFeatureManager::Instance()->GetFeatures().begin();
|
||||
std::advance(it, index.row());
|
||||
|
||||
auto feature = it->second;
|
||||
|
||||
switch (index.column())
|
||||
{
|
||||
case 0:
|
||||
return QString(feature.m_displayName.c_str());
|
||||
case 1:
|
||||
return feature.m_id;
|
||||
case 2:
|
||||
return feature.m_bVisible ? tr("X") : QString();
|
||||
case 3:
|
||||
return feature.m_bEnabled ? tr("X") : QString();
|
||||
case 4:
|
||||
return feature.m_bSafeMode ? tr("X") : QString();
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CWipFeaturesDlg::CWipFeaturesDlg(QWidget* pParent /*=nullptr*/)
|
||||
: QDialog(pParent)
|
||||
, m_ui(new Ui::WipFeaturesDlg)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
setFixedSize(size());
|
||||
|
||||
OnInitDialog();
|
||||
|
||||
connect(m_ui->buttonShow, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonShow);
|
||||
connect(m_ui->buttonHide, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonHide);
|
||||
connect(m_ui->buttonEnable, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonEnable);
|
||||
connect(m_ui->buttonDisable, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonDisable);
|
||||
connect(m_ui->buttonSafeMode, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonSafemode);
|
||||
connect(m_ui->buttonNormalMode, &QPushButton::clicked, this, &CWipFeaturesDlg::OnBnClickedButtonNormalmode);
|
||||
}
|
||||
|
||||
CWipFeaturesDlg::~CWipFeaturesDlg()
|
||||
{
|
||||
}
|
||||
|
||||
// CWipFeaturesDlg message handlers
|
||||
|
||||
void CWipFeaturesDlg::OnInitDialog()
|
||||
{
|
||||
m_ui->m_lstFeatures->setModel(new WipFeaturesModel(this));
|
||||
m_ui->m_lstFeatures->horizontalHeader()->resizeSection(0, 300);
|
||||
m_ui->m_lstFeatures->horizontalHeader()->resizeSection(1, 70);
|
||||
m_ui->m_lstFeatures->horizontalHeader()->resizeSection(2, 70);
|
||||
m_ui->m_lstFeatures->horizontalHeader()->resizeSection(3, 70);
|
||||
m_ui->m_lstFeatures->horizontalHeader()->resizeSection(4, 70);
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonShow()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 2), true);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonHide()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 2), false);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonEnable()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 3), true);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonDisable()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 3), false);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonSafemode()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 4), true);
|
||||
}
|
||||
}
|
||||
|
||||
void CWipFeaturesDlg::OnBnClickedButtonNormalmode()
|
||||
{
|
||||
for (auto index : m_ui->m_lstFeatures->selectionModel()->selectedRows())
|
||||
{
|
||||
m_ui->m_lstFeatures->model()->setData(index.sibling(index.row(), 4), false);
|
||||
}
|
||||
}
|
||||
|
||||
#include <moc_WipFeaturesDlg.cpp>
|
||||
|
||||
#endif // USE_WIP_FEATURES_MANAGER
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
#ifndef CRYINCLUDE_EDITOR_WIPFEATURESDLG_H
|
||||
#define CRYINCLUDE_EDITOR_WIPFEATURESDLG_H
|
||||
|
||||
#if !defined(Q_MOC_RUN)
|
||||
#include <QDialog>
|
||||
#endif
|
||||
|
||||
#ifdef USE_WIP_FEATURES_MANAGER
|
||||
|
||||
// CWipFeaturesDlg dialog
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class WipFeaturesDlg;
|
||||
}
|
||||
|
||||
class CWipFeaturesDlg
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CWipFeaturesDlg(QWidget* pParent = nullptr); // standard constructor
|
||||
virtual ~CWipFeaturesDlg();
|
||||
|
||||
private:
|
||||
void OnInitDialog();
|
||||
void OnBnClickedButtonShow();
|
||||
void OnBnClickedButtonHide();
|
||||
void OnBnClickedButtonEnable();
|
||||
void OnBnClickedButtonDisable();
|
||||
void OnBnClickedButtonSafemode();
|
||||
void OnBnClickedButtonNormalmode();
|
||||
|
||||
private:
|
||||
QScopedPointer<Ui::WipFeaturesDlg> m_ui;
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
class CWipFeaturesDlg
|
||||
: public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
};
|
||||
|
||||
#endif // USE_WIP_FEATURES_MANAGER
|
||||
|
||||
#endif // CRYINCLUDE_EDITOR_WIPFEATURESDLG_H
|
||||
@@ -1,5 +0,0 @@
|
||||
<RCC>
|
||||
<qresource>
|
||||
<file>res/work_in_progress_icon.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -1,184 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>WipFeaturesDlg</class>
|
||||
<widget class="QDialog" name="WipFeaturesDlg">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>620</width>
|
||||
<height>342</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Work in Progress Features</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1,0">
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Work in progress features:</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="8">
|
||||
<widget class="QTableView" name="m_lstFeatures">
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderStretchLastSection">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderDefaultSectionSize">
|
||||
<number>19</number>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="buttonShow">
|
||||
<property name="text">
|
||||
<string>Show</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="buttonHide">
|
||||
<property name="text">
|
||||
<string>Hide</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Ignored</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>74</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="buttonEnable">
|
||||
<property name="text">
|
||||
<string>Enable</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QPushButton" name="buttonDisable">
|
||||
<property name="text">
|
||||
<string>Disable</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Ignored</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>74</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QPushButton" name="buttonNormalMode">
|
||||
<property name="text">
|
||||
<string>Normal Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7">
|
||||
<widget class="QPushButton" name="buttonSafeMode">
|
||||
<property name="text">
|
||||
<string>Safe Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="WipFeaturesDlg.qrc">:/res/work_in_progress_icon.png</pixmap>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>NOTE:<br/>The states of the WIP features will be saved in the Editor/UI/WipFeatures.xml file when the editor exits successfuly</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="WipFeaturesDlg.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>WipFeaturesDlg</receiver>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>647</x>
|
||||
<y>339</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>674</x>
|
||||
<y>314</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b9cc3783ba8ccc940e89039455f2a8617a67520400ce74c9ce4c3d16d942ead8
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b9cc3783ba8ccc940e89039455f2a8617a67520400ce74c9ce4c3d16d942ead8
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f8b26d30e8c00514648cf72bb80fe8be3f665eb7473b6565b31a4b078816bfd
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f8b26d30e8c00514648cf72bb80fe8be3f665eb7473b6565b31a4b078816bfd
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5e4a0284f8d3b2625c3f27d6505b19a0babb7af0825f08b4e08f40e647d10873
|
||||
size 388
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:43f64ba8198c197f2dd91f00947df808fa41274411934d3d1f81e3eb44f78e7a
|
||||
size 532
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:556929870bb8c26fe8ebf4e94536e74c2eb1084e6f566007ec3a5f2e6303fa53
|
||||
size 392
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:239843fcd5a08e260106ee6eb3f69d3606321267e94df1e64ab25573d14980e1
|
||||
size 486
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98baf372c91fe63c423237a2a3ae5a043a4da41095698035ce86fd13f2051e44
|
||||
size 514
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a570ae986b5f0b7e573094a7e75a8cfcc42f88b4766c47785bab26a9e8b1c2bb
|
||||
size 239
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4c527f2b8c883c73aebba0b5f0df6215f73b7259db61b13fa5ff7aa7b96a7b9b
|
||||
size 779
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8f7f84cb48b2f9031b3a23abeddaed95d54601de33c58057d6677073b3e083aa
|
||||
size 501
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:804491b4251adfe017f8c52e00324dd74f00ebec445eedd947dea9356865cd56
|
||||
size 682
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ecf6333b6b402e1834f3047b13e58e4f80e17a8eed3750017219b5694d1b6f67
|
||||
size 625
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:70724fdada9cecd5a8d7ee5211ee713accc8f9642415e5dd93b6d621ed7273cf
|
||||
size 139
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3d12de5789fb345c5ffe4b76246ec0ba4d7972fb14d15db3f36886f3beaed3ff
|
||||
size 166
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fffdbe9b4e1630f4158c4a00985e713ddb6fae50bc71e8c100255bab04054c0a
|
||||
size 235
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d5e4092107dbc45863abe1cbecb30c48135e17155b5a85afa07a4a90b3eb1221
|
||||
size 274
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc454d6cf883b78ae4cc32bfe4a81a6d5ee64e5e1bade9f2069e7e1b405ad9b1
|
||||
size 373
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:359236f395259b21b75f8f3fa250dfeea9ef82b9d541c7344954cf93db5c9d47
|
||||
size 616
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc8e5dd88bb78f4f63ba8618e2bf0c1fd74d2dbdcf48261cfa57883c476619fe
|
||||
size 1101
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1fbfb749ecfec92f461979d15642dfb940cc7895db3d27c47d040b0a7e2a1ae4
|
||||
size 1288
|
||||
@@ -347,7 +347,6 @@ set(FILES
|
||||
MainStatusBar.cpp
|
||||
MainStatusBar.h
|
||||
MainStatusBarItems.h
|
||||
CrtDebug.cpp
|
||||
CryEdit.rc
|
||||
CryEditDoc.cpp
|
||||
CryEditDoc.h
|
||||
@@ -358,7 +357,6 @@ set(FILES
|
||||
LogFile.cpp
|
||||
LogFile.h
|
||||
Resource.h
|
||||
UserMessageDefines.h
|
||||
ActionManager.cpp
|
||||
ActionManager.h
|
||||
ShortcutDispatcher.cpp
|
||||
@@ -397,9 +395,6 @@ set(FILES
|
||||
ResizeResolutionDialog.cpp
|
||||
ResizeResolutionDialog.h
|
||||
ResizeResolutionDialog.ui
|
||||
SelectEAXPresetDlg.cpp
|
||||
SelectEAXPresetDlg.h
|
||||
SelectEAXPresetDlg.ui
|
||||
SelectLightAnimationDialog.cpp
|
||||
SelectLightAnimationDialog.h
|
||||
SelectSequenceDialog.cpp
|
||||
@@ -421,9 +416,6 @@ set(FILES
|
||||
IconListDialog.ui
|
||||
UndoDropDown.cpp
|
||||
UndoDropDown.h
|
||||
DimensionsDialog.cpp
|
||||
DimensionsDialog.h
|
||||
DimensionsDialog.ui
|
||||
NewLevelDialog.cpp
|
||||
NewLevelDialog.h
|
||||
NewLevelDialog.ui
|
||||
@@ -456,12 +448,7 @@ set(FILES
|
||||
ToolBox.h
|
||||
TrackViewNewSequenceDialog.h
|
||||
UndoConfigSpec.h
|
||||
UndoViewPosition.h
|
||||
UndoViewRotation.h
|
||||
Util/GeometryUtil.h
|
||||
WipFeaturesDlg.h
|
||||
WipFeaturesDlg.ui
|
||||
WipFeaturesDlg.qrc
|
||||
LevelIndependentFileMan.cpp
|
||||
LevelIndependentFileMan.h
|
||||
LogFileImpl.cpp
|
||||
@@ -550,11 +537,6 @@ set(FILES
|
||||
TrackViewNewSequenceDialog.cpp
|
||||
TrackViewNewSequenceDialog.ui
|
||||
UndoConfigSpec.cpp
|
||||
UndoViewPosition.cpp
|
||||
UndoViewRotation.cpp
|
||||
WipFeatureManager.cpp
|
||||
WipFeatureManager.h
|
||||
WipFeaturesDlg.cpp
|
||||
Dialogs/ErrorsDlg.cpp
|
||||
Dialogs/ErrorsDlg.h
|
||||
Dialogs/ErrorsDlg.ui
|
||||
@@ -571,8 +553,6 @@ set(FILES
|
||||
ProcessInfo.cpp
|
||||
ProcessInfo.h
|
||||
Report.h
|
||||
SurfaceTypeValidator.cpp
|
||||
SurfaceTypeValidator.h
|
||||
TrackView/AtomOutputFrameCapture.cpp
|
||||
TrackView/AtomOutputFrameCapture.h
|
||||
TrackView/TrackViewDialog.qrc
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b9cc3783ba8ccc940e89039455f2a8617a67520400ce74c9ce4c3d16d942ead8
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b9cc3783ba8ccc940e89039455f2a8617a67520400ce74c9ce4c3d16d942ead8
|
||||
size 208
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:19b1ee36ba28ede080ef34bd13d37a8b579ad8e106089cd1b800b15aef1b58df
|
||||
size 252
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9e6ef5e26d5d1566f51824c3bfa0ed3d2653cb49e38111aaf0572590b2fd15be
|
||||
size 261
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:acbeaa97474bd203ac35bf87fdea49d8b3d60f18db62d64dd47c3b1b50e54816
|
||||
size 303
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d92fc6ec4afc582ff5d019f5b26c48e3dbe6c5f3c753271d7918cd5ca95b8b32
|
||||
size 254
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:02066aed1d53c3ffc53c0f844a88ba8870b6c2c9c846c47ef6443c21ce4b7d0c
|
||||
size 224
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:67668cc830b553605d2f9ccad57f2fcd422da6a7515cfc4e9af0f43aa8591543
|
||||
size 213
|
||||
Reference in New Issue
Block a user