mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-05-28 18:21:20 +00:00
Added ability to edit the game name in opening.bnr; slightly reorganized world editor menu options
This commit is contained in:
parent
581d5f7267
commit
0ffbaefcde
@ -51,19 +51,14 @@ void IOutputStream::WriteFourCC(long Val)
|
|||||||
WriteBytes(&Val, 4);
|
WriteBytes(&Val, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IOutputStream::WriteString(const TString& rkVal)
|
void IOutputStream::WriteString(const TString& rkVal, int Count /*= -1*/, bool Terminate /*= true*/)
|
||||||
{
|
{
|
||||||
WriteBytes(rkVal.Data(), rkVal.Size());
|
if (Count < 0)
|
||||||
|
Count = rkVal.Size();
|
||||||
|
|
||||||
if (rkVal.IsEmpty() || rkVal.Back() != '\0')
|
|
||||||
WriteByte(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void IOutputStream::WriteString(const TString& rkVal, u32 Count, bool Terminate)
|
|
||||||
{
|
|
||||||
WriteBytes(rkVal.Data(), Count);
|
WriteBytes(rkVal.Data(), Count);
|
||||||
|
|
||||||
if (Terminate && (Count == 0 || rkVal.Back() != '\0'))
|
if (Terminate && (rkVal.IsEmpty() || rkVal[Count-1] != 0))
|
||||||
WriteByte(0);
|
WriteByte(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,26 +68,24 @@ void IOutputStream::WriteSizedString(const TString& rkVal)
|
|||||||
WriteBytes(rkVal.Data(), rkVal.Size());
|
WriteBytes(rkVal.Data(), rkVal.Size());
|
||||||
}
|
}
|
||||||
|
|
||||||
void IOutputStream::WriteWideString(const TWideString& rkVal)
|
void IOutputStream::WriteWString(const TWideString& rkVal, int Count /*= -1*/, bool Terminate /*= true*/)
|
||||||
{
|
{
|
||||||
WriteBytes(rkVal.Data(), rkVal.Size() * 2);
|
if (Count < 0)
|
||||||
|
Count = rkVal.Size();
|
||||||
|
|
||||||
if (rkVal.IsEmpty() || rkVal.Back() != '\0')
|
for (int ChrIdx = 0; ChrIdx < Count; ChrIdx++)
|
||||||
|
WriteShort(rkVal[ChrIdx]);
|
||||||
|
|
||||||
|
if (Terminate && (rkVal.IsEmpty() || rkVal[Count-1] != 0))
|
||||||
WriteShort(0);
|
WriteShort(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IOutputStream::WriteWideString(const TWideString& rkVal, u32 Count, bool Terminate)
|
void IOutputStream::WriteSizedWString(const TWideString& rkVal)
|
||||||
{
|
|
||||||
WriteBytes(rkVal.Data(), Count * 2);
|
|
||||||
|
|
||||||
if (Terminate && (Count == 0 || rkVal.Back() != 0))
|
|
||||||
WriteShort(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void IOutputStream::WriteSizedWideString(const TWideString& rkVal)
|
|
||||||
{
|
{
|
||||||
WriteLong(rkVal.Size());
|
WriteLong(rkVal.Size());
|
||||||
WriteBytes(rkVal.Data(), rkVal.Size() * 2);
|
|
||||||
|
for (u32 ChrIdx = 0; ChrIdx < rkVal.Size(); ChrIdx++)
|
||||||
|
WriteShort(rkVal[ChrIdx]);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IOutputStream::GoTo(u32 Address)
|
bool IOutputStream::GoTo(u32 Address)
|
||||||
|
@ -19,12 +19,10 @@ public:
|
|||||||
void WriteFloat(float Val);
|
void WriteFloat(float Val);
|
||||||
void WriteDouble(double Val);
|
void WriteDouble(double Val);
|
||||||
void WriteFourCC(long Val);
|
void WriteFourCC(long Val);
|
||||||
void WriteString(const TString& rkVal);
|
void WriteString(const TString& rkVal, int Count = -1, bool Terminate = true);
|
||||||
void WriteString(const TString& rkVal, u32 Count, bool Terminate = false);
|
|
||||||
void WriteSizedString(const TString& rkVal);
|
void WriteSizedString(const TString& rkVal);
|
||||||
void WriteWideString(const TWideString& rkVal);
|
void WriteWString(const TWideString& rkVal, int Count = -1, bool Terminate = true);
|
||||||
void WriteWideString(const TWideString& rkVal, u32 Count, bool Terminate = false);
|
void WriteSizedWString(const TWideString& rkVal);
|
||||||
void WriteSizedWideString(const TWideString& rkVal);
|
|
||||||
|
|
||||||
bool GoTo(u32 Address);
|
bool GoTo(u32 Address);
|
||||||
bool Skip(s32 SkipAmount);
|
bool Skip(s32 SkipAmount);
|
||||||
|
@ -80,7 +80,7 @@ public:
|
|||||||
virtual void SerializePrimitive(float& rValue) { mpStream->WriteFloat(rValue); }
|
virtual void SerializePrimitive(float& rValue) { mpStream->WriteFloat(rValue); }
|
||||||
virtual void SerializePrimitive(double& rValue) { mpStream->WriteDouble(rValue); }
|
virtual void SerializePrimitive(double& rValue) { mpStream->WriteDouble(rValue); }
|
||||||
virtual void SerializePrimitive(TString& rValue) { mpStream->WriteSizedString(rValue); }
|
virtual void SerializePrimitive(TString& rValue) { mpStream->WriteSizedString(rValue); }
|
||||||
virtual void SerializePrimitive(TWideString& rValue) { mpStream->WriteSizedWideString(rValue); }
|
virtual void SerializePrimitive(TWideString& rValue) { mpStream->WriteSizedWString(rValue); }
|
||||||
virtual void SerializePrimitive(CFourCC& rValue) { rValue.Write(*mpStream); }
|
virtual void SerializePrimitive(CFourCC& rValue) { rValue.Write(*mpStream); }
|
||||||
virtual void SerializePrimitive(CAssetID& rValue) { rValue.Write(*mpStream, CAssetID::GameIDLength(Game())); }
|
virtual void SerializePrimitive(CAssetID& rValue) { rValue.Write(*mpStream, CAssetID::GameIDLength(Game())); }
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ public:
|
|||||||
virtual void SerializePrimitive(float& rValue) { mpStream->WriteFloat(rValue); }
|
virtual void SerializePrimitive(float& rValue) { mpStream->WriteFloat(rValue); }
|
||||||
virtual void SerializePrimitive(double& rValue) { mpStream->WriteDouble(rValue); }
|
virtual void SerializePrimitive(double& rValue) { mpStream->WriteDouble(rValue); }
|
||||||
virtual void SerializePrimitive(TString& rValue) { mpStream->WriteSizedString(rValue); }
|
virtual void SerializePrimitive(TString& rValue) { mpStream->WriteSizedString(rValue); }
|
||||||
virtual void SerializePrimitive(TWideString& rValue) { mpStream->WriteSizedWideString(rValue); }
|
virtual void SerializePrimitive(TWideString& rValue) { mpStream->WriteSizedWString(rValue); }
|
||||||
virtual void SerializePrimitive(CFourCC& rValue) { rValue.Write(*mpStream); }
|
virtual void SerializePrimitive(CFourCC& rValue) { rValue.Write(*mpStream); }
|
||||||
virtual void SerializePrimitive(CAssetID& rValue) { rValue.Write(*mpStream, CAssetID::GameIDLength(Game())); }
|
virtual void SerializePrimitive(CAssetID& rValue) { rValue.Write(*mpStream, CAssetID::GameIDLength(Game())); }
|
||||||
|
|
||||||
|
@ -230,7 +230,8 @@ HEADERS += \
|
|||||||
Resource/CSavedStateID.h \
|
Resource/CSavedStateID.h \
|
||||||
IProgressNotifier.h \
|
IProgressNotifier.h \
|
||||||
IUIRelay.h \
|
IUIRelay.h \
|
||||||
Resource/CResTypeFilter.h
|
Resource/CResTypeFilter.h \
|
||||||
|
GameProject/COpeningBanner.h
|
||||||
|
|
||||||
# Source Files
|
# Source Files
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
@ -337,4 +338,5 @@ SOURCES += \
|
|||||||
GameProject/CGameInfo.cpp \
|
GameProject/CGameInfo.cpp \
|
||||||
Resource/CResTypeInfo.cpp \
|
Resource/CResTypeInfo.cpp \
|
||||||
CompressionUtil.cpp \
|
CompressionUtil.cpp \
|
||||||
IUIRelay.cpp
|
IUIRelay.cpp \
|
||||||
|
GameProject\COpeningBanner.cpp
|
||||||
|
71
src/Core/GameProject/COpeningBanner.cpp
Normal file
71
src/Core/GameProject/COpeningBanner.cpp
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#include "COpeningBanner.h"
|
||||||
|
#include "CGameProject.h"
|
||||||
|
|
||||||
|
COpeningBanner::COpeningBanner(CGameProject *pProj)
|
||||||
|
: mpProj(pProj)
|
||||||
|
{
|
||||||
|
mWii = mpProj->IsWiiBuild();
|
||||||
|
|
||||||
|
TString BannerPath = mpProj->DiscFilesystemRoot(false) + "opening.bnr";
|
||||||
|
CFileInStream Banner(BannerPath, IOUtil::eBigEndian);
|
||||||
|
|
||||||
|
if (Banner.IsValid())
|
||||||
|
{
|
||||||
|
mBannerData.resize(Banner.Size());
|
||||||
|
Banner.ReadBytes(mBannerData.data(), mBannerData.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TString COpeningBanner::EnglishGameName() const
|
||||||
|
{
|
||||||
|
// opening.bnr stores the game name in a fixed-length buffer. Need to account for
|
||||||
|
// this and prevent the string-reading function from overrunning the buffer
|
||||||
|
CMemoryInStream Banner(mBannerData.data(), mBannerData.size(), IOUtil::eBigEndian);
|
||||||
|
|
||||||
|
u32 CharSize = mWii ? 2 : 1;
|
||||||
|
u32 MaxLen = MaxGameNameLength();
|
||||||
|
|
||||||
|
std::vector<u8> NameBuffer((MaxLen + 1) * CharSize, 0);
|
||||||
|
Banner.GoTo( mWii ? 0xB0 : 0x1860 );
|
||||||
|
Banner.ReadBytes(NameBuffer.data(), MaxLen * CharSize);
|
||||||
|
|
||||||
|
Banner.SetData(NameBuffer.data(), NameBuffer.size(), IOUtil::eBigEndian);
|
||||||
|
return mWii ? Banner.ReadWString().ToUTF8() : Banner.ReadString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void COpeningBanner::SetEnglishGameName(const TString& rkName)
|
||||||
|
{
|
||||||
|
CMemoryOutStream Banner(mBannerData.data(), mBannerData.size(), IOUtil::eBigEndian);
|
||||||
|
u32 PadCount = 0;
|
||||||
|
|
||||||
|
u32 MaxLen = MaxGameNameLength();
|
||||||
|
ASSERT(rkName.Size() <= MaxLen);
|
||||||
|
|
||||||
|
if (mWii)
|
||||||
|
{
|
||||||
|
Banner.GoTo(0xB0);
|
||||||
|
Banner.WriteWString(rkName.ToUTF16(), -1, false);
|
||||||
|
PadCount = (MaxLen - rkName.Size()) * 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Banner.GoTo(0x1860);
|
||||||
|
Banner.WriteString(rkName, -1, false);
|
||||||
|
PadCount = MaxLen - rkName.Size();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (u32 Pad = 0; Pad < PadCount; Pad++)
|
||||||
|
Banner.WriteByte(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void COpeningBanner::Save()
|
||||||
|
{
|
||||||
|
TString BannerPath = mpProj->DiscFilesystemRoot(false) + "opening.bnr";
|
||||||
|
CFileOutStream Banner(BannerPath, IOUtil::eBigEndian);
|
||||||
|
Banner.WriteBytes(mBannerData.data(), mBannerData.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 COpeningBanner::MaxGameNameLength() const
|
||||||
|
{
|
||||||
|
return (mWii ? 21 : 64);
|
||||||
|
}
|
24
src/Core/GameProject/COpeningBanner.h
Normal file
24
src/Core/GameProject/COpeningBanner.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#ifndef COPENINGBANNER_H
|
||||||
|
#define COPENINGBANNER_H
|
||||||
|
|
||||||
|
#include <Common/Common.h>
|
||||||
|
class CGameProject;
|
||||||
|
|
||||||
|
// This class can be expanded later for better editing functionality.
|
||||||
|
// For the moment, we're only worried about editing the long game name.
|
||||||
|
class COpeningBanner
|
||||||
|
{
|
||||||
|
CGameProject *mpProj;
|
||||||
|
std::vector<u8> mBannerData;
|
||||||
|
bool mWii;
|
||||||
|
|
||||||
|
public:
|
||||||
|
COpeningBanner(CGameProject *pProj);
|
||||||
|
TString EnglishGameName() const;
|
||||||
|
void SetEnglishGameName(const TString& rkName);
|
||||||
|
void Save();
|
||||||
|
|
||||||
|
u32 MaxGameNameLength() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // COPENINGBANNER_H
|
@ -187,7 +187,7 @@ bool CTexture::WriteDDS(IOutputStream& rOut)
|
|||||||
|
|
||||||
CopyGLBuffer();
|
CopyGLBuffer();
|
||||||
|
|
||||||
rOut.WriteString("DDS ", 4); // "DDS " fourCC
|
rOut.WriteFourCC(FOURCC('DDS')); // "DDS " fourCC
|
||||||
rOut.WriteLong(0x7C); // dwSize
|
rOut.WriteLong(0x7C); // dwSize
|
||||||
rOut.WriteLong(0x21007); // dwFlags
|
rOut.WriteLong(0x21007); // dwFlags
|
||||||
rOut.WriteLong(mHeight); // dwHeight
|
rOut.WriteLong(mHeight); // dwHeight
|
||||||
@ -245,7 +245,7 @@ bool CTexture::WriteDDS(IOutputStream& rOut)
|
|||||||
}
|
}
|
||||||
|
|
||||||
rOut.WriteLong(PFFlags); // DDS_PIXELFORMAT.dwFlags
|
rOut.WriteLong(PFFlags); // DDS_PIXELFORMAT.dwFlags
|
||||||
(mTexelFormat == eDXT1) ? rOut.WriteString("DXT1", 4) : rOut.WriteLong(0); // DDS_PIXELFORMAT.dwFourCC
|
(mTexelFormat == eDXT1) ? rOut.WriteFourCC(FOURCC('DXT1')) : rOut.WriteLong(0); // DDS_PIXELFORMAT.dwFourCC
|
||||||
rOut.WriteLong(PFBpp); // DDS_PIXELFORMAT.dwRGBBitCount
|
rOut.WriteLong(PFBpp); // DDS_PIXELFORMAT.dwRGBBitCount
|
||||||
rOut.WriteLong(PFRBitMask); // DDS_PIXELFORMAT.dwRBitMask
|
rOut.WriteLong(PFRBitMask); // DDS_PIXELFORMAT.dwRBitMask
|
||||||
rOut.WriteLong(PFGBitMask); // DDS_PIXELFORMAT.dwGBitMask
|
rOut.WriteLong(PFGBitMask); // DDS_PIXELFORMAT.dwGBitMask
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "Editor/ResourceBrowser/CResourceBrowser.h"
|
#include "Editor/ResourceBrowser/CResourceBrowser.h"
|
||||||
#include <Common/AssertMacro.h>
|
#include <Common/AssertMacro.h>
|
||||||
#include <Core/GameProject/CGameExporter.h>
|
#include <Core/GameProject/CGameExporter.h>
|
||||||
|
#include <Core/GameProject/COpeningBanner.h>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QFuture>
|
#include <QFuture>
|
||||||
#include <QFutureWatcher>
|
#include <QFutureWatcher>
|
||||||
@ -20,6 +21,7 @@ CProjectSettingsDialog::CProjectSettingsDialog(QWidget *pParent)
|
|||||||
{
|
{
|
||||||
mpUI->setupUi(this);
|
mpUI->setupUi(this);
|
||||||
|
|
||||||
|
connect(mpUI->GameNameLineEdit, SIGNAL(editingFinished()), this, SLOT(GameNameChanged()));
|
||||||
connect(mpUI->CookPackageButton, SIGNAL(clicked()), this, SLOT(CookPackage()));
|
connect(mpUI->CookPackageButton, SIGNAL(clicked()), this, SLOT(CookPackage()));
|
||||||
connect(mpUI->CookAllDirtyPackagesButton, SIGNAL(clicked(bool)), this, SLOT(CookAllDirtyPackages()));
|
connect(mpUI->CookAllDirtyPackagesButton, SIGNAL(clicked(bool)), this, SLOT(CookAllDirtyPackages()));
|
||||||
connect(mpUI->BuildIsoButton, SIGNAL(clicked(bool)), this, SLOT(BuildISO()));
|
connect(mpUI->BuildIsoButton, SIGNAL(clicked(bool)), this, SLOT(BuildISO()));
|
||||||
@ -57,6 +59,11 @@ void CProjectSettingsDialog::ActiveProjectChanged(CGameProject *pProj)
|
|||||||
TString BuildName = pProj->GameInfo()->GetBuildName(BuildVer, Region);
|
TString BuildName = pProj->GameInfo()->GetBuildName(BuildVer, Region);
|
||||||
mpUI->BuildLineEdit->setText( QString("%1 (%2)").arg(BuildVer).arg( TO_QSTRING(BuildName) ) );
|
mpUI->BuildLineEdit->setText( QString("%1 (%2)").arg(BuildVer).arg( TO_QSTRING(BuildName) ) );
|
||||||
mpUI->RegionLineEdit->setText( TO_QSTRING(GetRegionName(Region)) );
|
mpUI->RegionLineEdit->setText( TO_QSTRING(GetRegionName(Region)) );
|
||||||
|
|
||||||
|
// Banner info
|
||||||
|
COpeningBanner Banner(pProj);
|
||||||
|
mpUI->GameNameLineEdit->setText( TO_QSTRING(Banner.EnglishGameName()) );
|
||||||
|
mpUI->GameNameLineEdit->setMaxLength( Banner.MaxGameNameLength() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -66,12 +73,25 @@ void CProjectSettingsDialog::ActiveProjectChanged(CGameProject *pProj)
|
|||||||
mpUI->GameIdLineEdit->clear();
|
mpUI->GameIdLineEdit->clear();
|
||||||
mpUI->BuildLineEdit->clear();
|
mpUI->BuildLineEdit->clear();
|
||||||
mpUI->RegionLineEdit->clear();
|
mpUI->RegionLineEdit->clear();
|
||||||
|
mpUI->GameNameLineEdit->clear();
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
||||||
SetupPackagesList();
|
SetupPackagesList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CProjectSettingsDialog::GameNameChanged()
|
||||||
|
{
|
||||||
|
if (mpProject)
|
||||||
|
{
|
||||||
|
QString NewName = mpUI->GameNameLineEdit->text();
|
||||||
|
|
||||||
|
COpeningBanner Banner(mpProject);
|
||||||
|
Banner.SetEnglishGameName( TO_TSTRING(NewName) );
|
||||||
|
Banner.Save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CProjectSettingsDialog::SetupPackagesList()
|
void CProjectSettingsDialog::SetupPackagesList()
|
||||||
{
|
{
|
||||||
mpUI->PackagesList->clear();
|
mpUI->PackagesList->clear();
|
||||||
|
@ -26,6 +26,7 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void ActiveProjectChanged(CGameProject *pProj);
|
void ActiveProjectChanged(CGameProject *pProj);
|
||||||
|
void GameNameChanged();
|
||||||
void SetupPackagesList();
|
void SetupPackagesList();
|
||||||
void CookPackage();
|
void CookPackage();
|
||||||
void CookAllDirtyPackages();
|
void CookAllDirtyPackages();
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>290</width>
|
<width>269</width>
|
||||||
<height>558</height>
|
<height>552</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -15,97 +15,157 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="ProjectSettingsLabel">
|
<widget class="QGroupBox" name="ProjectSettingsGroupBox">
|
||||||
<property name="font">
|
<property name="title">
|
||||||
<font>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Project Settings</string>
|
<string>Project Settings</string>
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="ProjectNameLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Name:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="ProjectNameLineEdit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="GameLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Game:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="GameLineEdit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="GameIdLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Game ID:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="GameIdLineEdit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="BuildLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Build:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="BuildLineEdit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="RegionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Region:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLineEdit" name="RegionLineEdit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<widget class="QGroupBox" name="OpeningBannerGroupBox">
|
||||||
<item row="0" column="0">
|
<property name="title">
|
||||||
<widget class="QLabel" name="ProjectNameLabel">
|
<string>Opening Banner</string>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>Name:</string>
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
</property>
|
<property name="leftMargin">
|
||||||
</widget>
|
<number>3</number>
|
||||||
</item>
|
</property>
|
||||||
<item row="0" column="1">
|
<property name="topMargin">
|
||||||
<widget class="QLineEdit" name="ProjectNameLineEdit">
|
<number>3</number>
|
||||||
<property name="enabled">
|
</property>
|
||||||
<bool>false</bool>
|
<property name="rightMargin">
|
||||||
</property>
|
<number>3</number>
|
||||||
</widget>
|
</property>
|
||||||
</item>
|
<property name="bottomMargin">
|
||||||
<item row="1" column="0">
|
<number>3</number>
|
||||||
<widget class="QLabel" name="GameLabel">
|
</property>
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Game:</string>
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
</property>
|
<item>
|
||||||
</widget>
|
<widget class="QLabel" name="GameNameLabel">
|
||||||
</item>
|
<property name="text">
|
||||||
<item row="1" column="1">
|
<string>Game Name:</string>
|
||||||
<widget class="QLineEdit" name="GameLineEdit">
|
</property>
|
||||||
<property name="enabled">
|
</widget>
|
||||||
<bool>false</bool>
|
</item>
|
||||||
</property>
|
<item>
|
||||||
</widget>
|
<widget class="QLineEdit" name="GameNameLineEdit">
|
||||||
</item>
|
<property name="focusPolicy">
|
||||||
<item row="2" column="0">
|
<enum>Qt::ClickFocus</enum>
|
||||||
<widget class="QLabel" name="GameIdLabel">
|
</property>
|
||||||
<property name="text">
|
</widget>
|
||||||
<string>Game ID:</string>
|
</item>
|
||||||
</property>
|
</layout>
|
||||||
</widget>
|
</item>
|
||||||
</item>
|
</layout>
|
||||||
<item row="2" column="1">
|
</widget>
|
||||||
<widget class="QLineEdit" name="GameIdLineEdit">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="BuildLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Build:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLineEdit" name="BuildLineEdit">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="RegionLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Region:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QLineEdit" name="RegionLineEdit">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="PackagesGroupBox">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Packages</string>
|
<string>Packages</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QListWidget" name="PackagesList">
|
<widget class="QListWidget" name="PackagesList">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
@ -149,12 +209,18 @@
|
|||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Build ISO</string>
|
<string> Build ISO</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="Icons.qrc">
|
||||||
|
<normaloff>:/icons/Disc_16px.png</normaloff>:/icons/Disc_16px.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources>
|
||||||
|
<include location="Icons.qrc"/>
|
||||||
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
@ -276,16 +276,16 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>File</string>
|
<string>File</string>
|
||||||
</property>
|
</property>
|
||||||
|
<addaction name="ActionExportGame"/>
|
||||||
<addaction name="ActionOpenProject"/>
|
<addaction name="ActionOpenProject"/>
|
||||||
<addaction name="ActionOpenRecent"/>
|
<addaction name="ActionOpenRecent"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="ActionSave"/>
|
<addaction name="ActionSave"/>
|
||||||
<addaction name="ActionSaveAndRepack"/>
|
<addaction name="ActionSaveAndRepack"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="ActionExportGame"/>
|
|
||||||
<addaction name="ActionProjectSettings"/>
|
<addaction name="ActionProjectSettings"/>
|
||||||
<addaction name="ActionCloseProject"/>
|
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
|
<addaction name="ActionCloseProject"/>
|
||||||
<addaction name="ActionExit"/>
|
<addaction name="ActionExit"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuEdit">
|
<widget class="QMenu" name="menuEdit">
|
||||||
@ -714,8 +714,12 @@
|
|||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="ActionExportGame">
|
<action name="ActionExportGame">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../Icons.qrc">
|
||||||
|
<normaloff>:/icons/New_16px.png</normaloff>:/icons/New_16px.png</iconset>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Export Game</string>
|
<string>Create Project</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="ActionExit">
|
<action name="ActionExit">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user