mirror of https://github.com/AxioDL/metaforce.git
Merge branch 'master' of https://github.com/AxioDL/PathShagged
This commit is contained in:
commit
0f3159e3b7
|
@ -14,11 +14,58 @@ struct GPSM : BigYAML
|
||||||
static const char* DNAType() {return "Retro::GPSM";}
|
static const char* DNAType() {return "Retro::GPSM";}
|
||||||
const char* DNATypeV() const {return DNAType();}
|
const char* DNATypeV() const {return DNAType();}
|
||||||
|
|
||||||
RealElement x118_LFOR;
|
|
||||||
|
VectorElementFactory x18_POFS;
|
||||||
|
IntElementFactory x1c_PMED;
|
||||||
|
RealElementFactory x20_LENG;
|
||||||
|
RealElementFactory x24_WIDT;
|
||||||
|
IntElementFactory x28_MAXP;
|
||||||
|
RealElementFactory x2c_GRTE;
|
||||||
|
ColorElementFactory x30_COLR;
|
||||||
|
IntElementFactory x34_LTME;
|
||||||
|
VectorElementFactory x38_ILOC;
|
||||||
|
VectorElementFactory x3c_IVEC;
|
||||||
|
//EmitterElementFactory x40_EMTR;
|
||||||
|
bool x44_0_SORT : 1; bool x44_1_MBLR : 1; bool x44_2_LINE : 1; bool x44_3_LIT_ : 1;
|
||||||
|
bool x44_4_AAPH : 1; bool x44_5_ZBUF : 1; bool x44_6_FXLL : 1; bool x44_7_PMAB : 1;
|
||||||
|
bool x45_0_VMD4 : 1; bool x45_1_VMD3 : 1; bool x45_2_VMD2 : 1; bool x45_3_VMD1 : 1;
|
||||||
|
bool x45_4_OPTS : 1; bool x45_5_PMUS : 1; bool x45_6_PMOO : 1; // is the last bit unused?
|
||||||
|
IntElementFactory x48_MBSP;
|
||||||
|
RealElementFactory x4c_SIZE;
|
||||||
|
RealElementFactory x50_ROTA;
|
||||||
|
//TextureElementFactory x54_TEXR;
|
||||||
|
//TextureElementFactory x58_TIND;
|
||||||
|
// x5c_PMDL Model
|
||||||
|
VectorElementFactory x6c_PMOP;
|
||||||
|
VectorElementFactory x70_PMRT;
|
||||||
|
VectorElementFactory x74_PMSC;
|
||||||
|
ColorElementFactory x78_PMCL;
|
||||||
|
ChildGeneratorDesc<IDType> x8c_ICTS;
|
||||||
|
IntElementFactory x9c_NCSY;
|
||||||
|
IntElementFactory xb4_NDSY;
|
||||||
|
IntElementFactory xa0_CSSD;
|
||||||
ChildGeneratorDesc<IDType> xa4_IDTS;
|
ChildGeneratorDesc<IDType> xa4_IDTS;
|
||||||
|
IntElementFactory xc8_PISY;
|
||||||
|
IntElementFactory xcc_SISY;
|
||||||
|
IntElementFactory xe4_SSSD;
|
||||||
|
VectorElementFactory xe8_SSPO;
|
||||||
|
// xec_PMLC Electric Generator
|
||||||
|
IntElementFactory x100_LTYP;
|
||||||
|
ColorElementFactory x104_LCLR;
|
||||||
|
RealElementFactory x108_LINT;
|
||||||
|
VectorElementFactory x110_LDIR;
|
||||||
|
VectorElementFactory x10c_LOFF;
|
||||||
|
IntElementFactory x114_LFOT;
|
||||||
|
RealElementFactory x118_LFOR;
|
||||||
|
RealElementFactory x11c_LSLA;
|
||||||
|
|
||||||
void read(Athena::io::YAMLDocReader& r)
|
void read(Athena::io::YAMLDocReader& r)
|
||||||
{
|
{
|
||||||
|
if (r.enterSubRecord("PMCL"))
|
||||||
|
{
|
||||||
|
x78_PMCL.read(r);
|
||||||
|
r.leaveSubRecord();
|
||||||
|
}
|
||||||
if (r.enterSubRecord("LFOR"))
|
if (r.enterSubRecord("LFOR"))
|
||||||
{
|
{
|
||||||
x118_LFOR.read(r);
|
x118_LFOR.read(r);
|
||||||
|
@ -31,11 +78,12 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("EMTR"))
|
if (r.enterSubRecord("EMTR"))
|
||||||
{
|
{
|
||||||
|
//x40_EMTR.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("COLR"))
|
if (r.enterSubRecord("COLR"))
|
||||||
{
|
{
|
||||||
|
x30_COLR.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("CIND"))
|
if (r.enterSubRecord("CIND"))
|
||||||
|
@ -44,18 +92,17 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("AAPH"))
|
if (r.enterSubRecord("AAPH"))
|
||||||
{
|
{
|
||||||
|
x44_4_AAPH = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("CSSD"))
|
if (r.enterSubRecord("CSSD"))
|
||||||
{
|
{
|
||||||
|
xa0_CSSD.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("GRTE"))
|
if (r.enterSubRecord("GRTE"))
|
||||||
{
|
{
|
||||||
r.leaveSubRecord();
|
x2c_GRTE.read(r);
|
||||||
}
|
|
||||||
if (r.enterSubRecord("COLR"))
|
|
||||||
{
|
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("FXLL"))
|
if (r.enterSubRecord("FXLL"))
|
||||||
|
@ -64,6 +111,7 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("ICTS"))
|
if (r.enterSubRecord("ICTS"))
|
||||||
{
|
{
|
||||||
|
x8c_ICTS.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("KSSM"))
|
if (r.enterSubRecord("KSSM"))
|
||||||
|
@ -72,6 +120,7 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("ILOC"))
|
if (r.enterSubRecord("ILOC"))
|
||||||
{
|
{
|
||||||
|
x38_ILOC.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("IITS"))
|
if (r.enterSubRecord("IITS"))
|
||||||
|
@ -80,10 +129,12 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("IVEC"))
|
if (r.enterSubRecord("IVEC"))
|
||||||
{
|
{
|
||||||
|
x3c_IVEC.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LDIR"))
|
if (r.enterSubRecord("LDIR"))
|
||||||
{
|
{
|
||||||
|
x110_LDIR.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("COLR"))
|
if (r.enterSubRecord("COLR"))
|
||||||
|
@ -92,18 +143,22 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LCLR"))
|
if (r.enterSubRecord("LCLR"))
|
||||||
{
|
{
|
||||||
|
x104_LCLR.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LENG"))
|
if (r.enterSubRecord("LENG"))
|
||||||
{
|
{
|
||||||
|
x20_LENG.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("MAXP"))
|
if (r.enterSubRecord("MAXP"))
|
||||||
{
|
{
|
||||||
|
x28_MAXP.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LOFF"))
|
if (r.enterSubRecord("LOFF"))
|
||||||
{
|
{
|
||||||
|
x10c_LOFF.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LINT"))
|
if (r.enterSubRecord("LINT"))
|
||||||
|
@ -112,54 +167,67 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LINE"))
|
if (r.enterSubRecord("LINE"))
|
||||||
{
|
{
|
||||||
|
x44_2_LINE = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LFOT"))
|
if (r.enterSubRecord("LFOT"))
|
||||||
{
|
{
|
||||||
|
x114_LFOT.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LIT_"))
|
if (r.enterSubRecord("LIT_"))
|
||||||
{
|
{
|
||||||
|
x44_3_LIT_ = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LTME"))
|
if (r.enterSubRecord("LTME"))
|
||||||
{
|
{
|
||||||
|
x34_LTME.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LSLA"))
|
if (r.enterSubRecord("LSLA"))
|
||||||
{
|
{
|
||||||
|
x11c_LSLA.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("LTYP"))
|
if (r.enterSubRecord("LTYP"))
|
||||||
{
|
{
|
||||||
|
x100_LTYP.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("NDSY"))
|
if (r.enterSubRecord("NDSY"))
|
||||||
{
|
{
|
||||||
|
xb4_NDSY.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("MBSP"))
|
if (r.enterSubRecord("MBSP"))
|
||||||
{
|
{
|
||||||
|
x48_MBSP.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("MBLR"))
|
if (r.enterSubRecord("MBLR"))
|
||||||
{
|
{
|
||||||
|
x44_1_MBLR = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("NCSY"))
|
if (r.enterSubRecord("NCSY"))
|
||||||
{
|
{
|
||||||
|
x9c_NCSY.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PISY"))
|
if (r.enterSubRecord("PISY"))
|
||||||
{
|
{
|
||||||
|
xc8_PISY.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("OPTS"))
|
if (r.enterSubRecord("OPTS"))
|
||||||
{
|
{
|
||||||
|
x45_4_OPTS = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMAB"))
|
if (r.enterSubRecord("PMAB"))
|
||||||
{
|
{
|
||||||
|
x44_7_PMAB = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SESD"))
|
if (r.enterSubRecord("SESD"))
|
||||||
|
@ -172,10 +240,12 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMSC"))
|
if (r.enterSubRecord("PMSC"))
|
||||||
{
|
{
|
||||||
|
x74_PMSC.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMOP"))
|
if (r.enterSubRecord("PMOP"))
|
||||||
{
|
{
|
||||||
|
x6c_PMOP.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMDL"))
|
if (r.enterSubRecord("PMDL"))
|
||||||
|
@ -188,14 +258,17 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMRT"))
|
if (r.enterSubRecord("PMRT"))
|
||||||
{
|
{
|
||||||
|
x70_PMRT.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("POFS"))
|
if (r.enterSubRecord("POFS"))
|
||||||
{
|
{
|
||||||
|
x18_POFS.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMUS"))
|
if (r.enterSubRecord("PMUS"))
|
||||||
{
|
{
|
||||||
|
x45_5_PMUS = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PSIV"))
|
if (r.enterSubRecord("PSIV"))
|
||||||
|
@ -204,6 +277,7 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("ROTA"))
|
if (r.enterSubRecord("ROTA"))
|
||||||
{
|
{
|
||||||
|
x50_ROTA.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PSVM"))
|
if (r.enterSubRecord("PSVM"))
|
||||||
|
@ -228,38 +302,42 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMED"))
|
if (r.enterSubRecord("PMED"))
|
||||||
{
|
{
|
||||||
|
x1c_PMED.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("PMOO"))
|
if (r.enterSubRecord("PMOO"))
|
||||||
{
|
{
|
||||||
r.leaveSubRecord();
|
x45_6_PMOO = r.readBool(nullptr);
|
||||||
}
|
|
||||||
if (r.enterSubRecord("VEL1"))
|
|
||||||
{
|
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SSSD"))
|
if (r.enterSubRecord("SSSD"))
|
||||||
{
|
{
|
||||||
|
xe4_SSSD.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SORT"))
|
if (r.enterSubRecord("SORT"))
|
||||||
{
|
{
|
||||||
|
x44_0_SORT = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SIZE"))
|
if (r.enterSubRecord("SIZE"))
|
||||||
{
|
{
|
||||||
|
x4c_SIZE.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SISY"))
|
if (r.enterSubRecord("SISY"))
|
||||||
{
|
{
|
||||||
|
xcc_SISY.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SSPO"))
|
if (r.enterSubRecord("SSPO"))
|
||||||
{
|
{
|
||||||
|
xe8_SSPO.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("TEXR"))
|
if (r.enterSubRecord("TEXR"))
|
||||||
{
|
{
|
||||||
|
//x54_TEXR.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("SSWH"))
|
if (r.enterSubRecord("SSWH"))
|
||||||
|
@ -268,14 +346,27 @@ struct GPSM : BigYAML
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("TIND"))
|
if (r.enterSubRecord("TIND"))
|
||||||
{
|
{
|
||||||
|
//x58_TIND.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("VMD4"))
|
if (r.enterSubRecord("VMD4"))
|
||||||
{
|
{
|
||||||
|
x45_0_VMD4 = r.readBool(nullptr);
|
||||||
|
r.leaveSubRecord();
|
||||||
|
}
|
||||||
|
if (r.enterSubRecord("VMD3"))
|
||||||
|
{
|
||||||
|
x45_1_VMD3 = r.readBool(nullptr);
|
||||||
|
r.leaveSubRecord();
|
||||||
|
}
|
||||||
|
if (r.enterSubRecord("VMD2"))
|
||||||
|
{
|
||||||
|
x45_2_VMD2 = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("VMD1"))
|
if (r.enterSubRecord("VMD1"))
|
||||||
{
|
{
|
||||||
|
x45_3_VMD1 = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("VEL4"))
|
if (r.enterSubRecord("VEL4"))
|
||||||
|
@ -286,16 +377,22 @@ struct GPSM : BigYAML
|
||||||
{
|
{
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("VMD3"))
|
if (r.enterSubRecord("VEL2"))
|
||||||
|
{
|
||||||
|
r.leaveSubRecord();
|
||||||
|
}
|
||||||
|
if (r.enterSubRecord("VEL1"))
|
||||||
{
|
{
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("ZBUF"))
|
if (r.enterSubRecord("ZBUF"))
|
||||||
{
|
{
|
||||||
|
x44_5_ZBUF = r.readBool(nullptr);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
if (r.enterSubRecord("WIDT"))
|
if (r.enterSubRecord("WIDT"))
|
||||||
{
|
{
|
||||||
|
x24_WIDT.read(r);
|
||||||
r.leaveSubRecord();
|
r.leaveSubRecord();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ atdna(atdna_Space.cpp Space.hpp)
|
||||||
atdna(atdna_ResourceBrowser.cpp ResourceBrowser.hpp)
|
atdna(atdna_ResourceBrowser.cpp ResourceBrowser.hpp)
|
||||||
atdna(atdna_ModelViewer.cpp ModelViewer.hpp)
|
atdna(atdna_ModelViewer.cpp ModelViewer.hpp)
|
||||||
atdna(atdna_ParticleEditor.cpp ParticleEditor.hpp)
|
atdna(atdna_ParticleEditor.cpp ParticleEditor.hpp)
|
||||||
|
atdna(atdna_InformationCenter.cpp InformationCenter.hpp)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(PLAT_SRCS platforms/win/urde.rc)
|
set(PLAT_SRCS platforms/win/urde.rc)
|
||||||
|
@ -40,6 +41,7 @@ add_executable(urde WIN32 MACOSX_BUNDLE
|
||||||
ResourceBrowser.hpp ResourceBrowser.cpp atdna_ResourceBrowser.cpp
|
ResourceBrowser.hpp ResourceBrowser.cpp atdna_ResourceBrowser.cpp
|
||||||
ModelViewer.hpp ModelViewer.cpp atdna_ModelViewer.cpp
|
ModelViewer.hpp ModelViewer.cpp atdna_ModelViewer.cpp
|
||||||
ParticleEditor.hpp ParticleEditor.cpp atdna_ParticleEditor.cpp
|
ParticleEditor.hpp ParticleEditor.cpp atdna_ParticleEditor.cpp
|
||||||
|
InformationCenter.hpp InformationCenter.hpp atdna_InformationCenter.cpp
|
||||||
ProjectManager.hpp ProjectManager.cpp
|
ProjectManager.hpp ProjectManager.cpp
|
||||||
ViewManager.hpp ViewManager.cpp
|
ViewManager.hpp ViewManager.cpp
|
||||||
Resource.hpp Resource.cpp
|
Resource.hpp Resource.cpp
|
||||||
|
|
|
@ -16,19 +16,14 @@ class Camera
|
||||||
Zeus::CQuaternion m_orientation;
|
Zeus::CQuaternion m_orientation;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Camera(const Zeus::CVector3f& position, Zeus::EProjType projType=Zeus::EProjType::Perspective,
|
void setPosition(const Zeus::CVector3f& position) { m_position = position; }
|
||||||
const Zeus::CVector3f& up=Zeus::Math::kUpVec)
|
void setOrientation(const Zeus::CQuaternion& orientation) { m_orientation = orientation; }
|
||||||
: m_position(position)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
const Zeus::CMatrix4f& projectionMatrix() const { return m_projection.getCachedMatrix(); }
|
const Zeus::CMatrix4f& projectionMatrix() const { return m_projection.getCachedMatrix(); }
|
||||||
const Zeus::CProjection& projection() const { return m_projection; }
|
const Zeus::CProjection& projection() const { return m_projection; }
|
||||||
|
|
||||||
virtual void think()
|
virtual void think()
|
||||||
{
|
{}
|
||||||
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#include "InformationCenter.hpp"
|
||||||
|
|
||||||
|
namespace URDE
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
#ifndef INFORMATIONCENTER_HPP
|
||||||
|
#define INFORMATIONCENTER_HPP
|
||||||
|
|
||||||
|
#include "Space.hpp"
|
||||||
|
#include "ViewManager.hpp"
|
||||||
|
|
||||||
|
namespace URDE
|
||||||
|
{
|
||||||
|
class InformationCenter : public ViewerSpace
|
||||||
|
{
|
||||||
|
struct State : Space::State
|
||||||
|
{
|
||||||
|
DECL_YAML
|
||||||
|
Value<bool> showLog;
|
||||||
|
} m_state;
|
||||||
|
|
||||||
|
const Space::State& spaceState() const { return m_state; }
|
||||||
|
|
||||||
|
struct View : Specter::View
|
||||||
|
{
|
||||||
|
InformationCenter& m_ic;
|
||||||
|
std::vector<HECL::SystemString> m_log;
|
||||||
|
|
||||||
|
View(InformationCenter& ic, Specter::ViewResources& res)
|
||||||
|
: Specter::View(res, ic.m_vm.rootView()), m_ic(ic)
|
||||||
|
{
|
||||||
|
commitResources(res);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
std::unique_ptr<View> m_view;
|
||||||
|
|
||||||
|
public:
|
||||||
|
InformationCenter(ViewManager& vm, Space* parent)
|
||||||
|
: ViewerSpace(vm, Class::InformationCenter, parent)
|
||||||
|
{
|
||||||
|
reloadState();
|
||||||
|
}
|
||||||
|
|
||||||
|
InformationCenter(ViewManager& vm, Space* parent, const InformationCenter& other)
|
||||||
|
: InformationCenter(vm, parent)
|
||||||
|
{
|
||||||
|
m_state = other.m_state;
|
||||||
|
reloadState();
|
||||||
|
}
|
||||||
|
|
||||||
|
InformationCenter(ViewManager& vm, Space* parent, ConfigReader& r)
|
||||||
|
: InformationCenter(vm, parent)
|
||||||
|
{
|
||||||
|
m_state.read(r);
|
||||||
|
reloadState();
|
||||||
|
}
|
||||||
|
|
||||||
|
void reloadState()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual Specter::View* buildContentView(Specter::ViewResources& res)
|
||||||
|
{
|
||||||
|
m_view.reset(new View(*this, res));
|
||||||
|
return m_view.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
Space* copy(Space *parent) const
|
||||||
|
{
|
||||||
|
return new InformationCenter(m_vm, parent, *this);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool usesToolbar() const { return true; }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // INFORMATIONCENTER_HPP
|
|
@ -3,8 +3,7 @@
|
||||||
|
|
||||||
#include "Space.hpp"
|
#include "Space.hpp"
|
||||||
#include "ViewManager.hpp"
|
#include "ViewManager.hpp"
|
||||||
#include "CVector3f.hpp"
|
#include "Camera.hpp"
|
||||||
#include "CProjection.hpp"
|
|
||||||
|
|
||||||
namespace URDE
|
namespace URDE
|
||||||
{
|
{
|
||||||
|
@ -30,12 +29,14 @@ class ModelViewer : public ViewerSpace
|
||||||
|
|
||||||
struct View : Specter::View
|
struct View : Specter::View
|
||||||
{
|
{
|
||||||
|
ModelViewer& m_mv;
|
||||||
|
View(ModelViewer& mv, Specter::ViewResources& res)
|
||||||
|
: Specter::View(res, mv.m_vm.rootView()), m_mv(mv)
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual Specter::View* buildContentView(Specter::ViewResources& res)
|
Camera m_camera;
|
||||||
{
|
std::unique_ptr<View> m_view;
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ModelViewer(ViewManager& vm, Space* parent)
|
ModelViewer(ViewManager& vm, Space* parent)
|
||||||
|
@ -59,13 +60,22 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void reloadState()
|
void reloadState()
|
||||||
{}
|
{
|
||||||
|
m_camera.setPosition(m_state.cameraPosition);
|
||||||
|
m_camera.setOrientation(m_state.cameraOrientation);
|
||||||
|
}
|
||||||
|
|
||||||
Space* copy(Space *parent) const
|
Space* copy(Space *parent) const
|
||||||
{
|
{
|
||||||
return new ModelViewer(m_vm, parent, *this);
|
return new ModelViewer(m_vm, parent, *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual Specter::View* buildContentView(Specter::ViewResources& res)
|
||||||
|
{
|
||||||
|
m_view.reset(new View(*this, res));
|
||||||
|
return m_view.get();
|
||||||
|
}
|
||||||
|
|
||||||
bool usesToolbar() const { return true; }
|
bool usesToolbar() const { return true; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
#include "ViewManager.hpp"
|
#include "ViewManager.hpp"
|
||||||
#include "ResourceBrowser.hpp"
|
#include "ResourceBrowser.hpp"
|
||||||
#include "ParticleEditor.hpp"
|
#include "ParticleEditor.hpp"
|
||||||
|
#include "ModelViewer.hpp"
|
||||||
|
#include "InformationCenter.hpp"
|
||||||
#include "icons/icons.hpp"
|
#include "icons/icons.hpp"
|
||||||
|
|
||||||
namespace URDE
|
namespace URDE
|
||||||
|
@ -42,7 +44,9 @@ Specter::View* Space::buildSpaceView(Specter::ViewResources& res)
|
||||||
std::vector<Space::SpaceMenuNode::SubNodeData> Space::SpaceMenuNode::s_subNodeDats =
|
std::vector<Space::SpaceMenuNode::SubNodeData> Space::SpaceMenuNode::s_subNodeDats =
|
||||||
{
|
{
|
||||||
{Class::ResourceBrowser, "resource_browser", "Resource Browser", GetIcon(SpaceIcon::ResourceBrowser), {0.0,1.0,0.0,1.0}},
|
{Class::ResourceBrowser, "resource_browser", "Resource Browser", GetIcon(SpaceIcon::ResourceBrowser), {0.0,1.0,0.0,1.0}},
|
||||||
{Class::EffectEditor, "effect_editor", "Effect Editor", GetIcon(SpaceIcon::ParticleEditor), {1.0,0.5,0.0,1.0}}
|
{Class::EffectEditor, "effect_editor", "Effect Editor", GetIcon(SpaceIcon::ParticleEditor), {1.0,0.5,0.0,1.0}},
|
||||||
|
{Class::ModelViewer, "model_viewer", "Model Viewer", GetIcon(SpaceIcon::ModelViewer), {0.5, 0.5, 0.0, 1.0}},
|
||||||
|
{Class::InformationCenter, "information_center", "Information Center", GetIcon(SpaceIcon::InformationCenter), {0.0, 1.0, 1.0, 1.0}}
|
||||||
};
|
};
|
||||||
std::string Space::SpaceMenuNode::s_text = "Space Types";
|
std::string Space::SpaceMenuNode::s_text = "Space Types";
|
||||||
|
|
||||||
|
@ -199,6 +203,10 @@ static Space* BuildNewSpace(ViewManager& vm, Space::Class cls, Space* parent, Re
|
||||||
return new ResourceBrowser(vm, parent, r);
|
return new ResourceBrowser(vm, parent, r);
|
||||||
case Class::EffectEditor:
|
case Class::EffectEditor:
|
||||||
return new EffectEditor(vm, parent, r);
|
return new EffectEditor(vm, parent, r);
|
||||||
|
case Class::ModelViewer:
|
||||||
|
return new ModelViewer(vm, parent, r);
|
||||||
|
case Class::InformationCenter:
|
||||||
|
return new InformationCenter(vm, parent, r);
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -34,7 +34,8 @@ public:
|
||||||
TestSpace,
|
TestSpace,
|
||||||
ResourceBrowser,
|
ResourceBrowser,
|
||||||
ModelViewer,
|
ModelViewer,
|
||||||
EffectEditor
|
EffectEditor,
|
||||||
|
InformationCenter
|
||||||
};
|
};
|
||||||
|
|
||||||
struct State : Athena::io::DNAYaml<Athena::BigEndian> {Delete _d;};
|
struct State : Athena::io::DNAYaml<Athena::BigEndian> {Delete _d;};
|
||||||
|
|
|
@ -45,6 +45,8 @@ Specter::Icon& GetIcon(SpaceIcon icon)
|
||||||
return g_IconAtlas.getIcon(0, 2);
|
return g_IconAtlas.getIcon(0, 2);
|
||||||
case SpaceIcon::InformationCenter:
|
case SpaceIcon::InformationCenter:
|
||||||
return g_IconAtlas.getIcon(0, 3);
|
return g_IconAtlas.getIcon(0, 3);
|
||||||
|
case SpaceIcon::ModelViewer:
|
||||||
|
return g_IconAtlas.getIcon(0, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ enum class SpaceIcon
|
||||||
ResourceBrowser,
|
ResourceBrowser,
|
||||||
ParticleEditor,
|
ParticleEditor,
|
||||||
WorldEditor,
|
WorldEditor,
|
||||||
|
ModelViewer,
|
||||||
InformationCenter
|
InformationCenter
|
||||||
};
|
};
|
||||||
Specter::Icon& GetIcon(SpaceIcon icon);
|
Specter::Icon& GetIcon(SpaceIcon icon);
|
||||||
|
|
|
@ -25,17 +25,17 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0"
|
inkscape:pageopacity="0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="19.709914"
|
inkscape:zoom="39.419828"
|
||||||
inkscape:cx="39.011614"
|
inkscape:cx="8.6860061"
|
||||||
inkscape:cy="31.253837"
|
inkscape:cy="66.261622"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="true"
|
showgrid="true"
|
||||||
units="px"
|
units="px"
|
||||||
inkscape:window-width="2560"
|
inkscape:window-width="1366"
|
||||||
inkscape:window-height="1391"
|
inkscape:window-height="713"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="1"
|
inkscape:window-y="31"
|
||||||
inkscape:window-maximized="1">
|
inkscape:window-maximized="1">
|
||||||
<inkscape:grid
|
<inkscape:grid
|
||||||
type="xygrid"
|
type="xygrid"
|
||||||
|
@ -253,5 +253,32 @@
|
||||||
cx="8.0509853"
|
cx="8.0509853"
|
||||||
id="circle4280"
|
id="circle4280"
|
||||||
style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.94857585;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.94857585;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<g
|
||||||
|
id="g3516"
|
||||||
|
transform="matrix(0.32198959,0,0,0.32198959,-15.18449,670.22212)">
|
||||||
|
<path
|
||||||
|
style="fill:#dbdbdb;fill-opacity:1;stroke:none"
|
||||||
|
d="m 72,941.36217 -20,10 20,10 20,-10 z"
|
||||||
|
id="path2987"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path2989"
|
||||||
|
d="m 72,961.36217 0,25 20,-10 0,-25 z"
|
||||||
|
style="fill:#cbcbcb;fill-opacity:1;stroke:none" />
|
||||||
|
<path
|
||||||
|
style="fill:#818181;fill-opacity:1;stroke:none"
|
||||||
|
d="m 72,961.36217 0,25 -20,-10 0,-25 z"
|
||||||
|
id="path2991"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.90463042;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 72,941.37499 -20,10 0,25 20,10 20,-10 0,-25 -20,-10 z"
|
||||||
|
id="path2993"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 43 KiB |
|
@ -1 +1 @@
|
||||||
Subproject commit 2adc2f1c6c0b6770955fcf46ab1bba2ac091ac23
|
Subproject commit 8ab78bf19dcaa322700eb03a201942c43d38ac91
|
Loading…
Reference in New Issue