diff options
Diffstat (limited to '')
| -rw-r--r-- | LayoutStudio.pro | 11 | ||||
| -rw-r--r-- | README.markdown | 33 | ||||
| -rw-r--r-- | lyt/materials/material.cpp | 17 | ||||
| -rw-r--r-- | lyt/materials/material.h | 28 | ||||
| -rw-r--r-- | lyt/materials/texcoordgen.cpp | 27 | ||||
| -rw-r--r-- | lyt/materials/texcoordgen.h | 21 | ||||
| -rw-r--r-- | lyt/materials/texsrt.cpp | 31 | ||||
| -rw-r--r-- | lyt/materials/texsrt.h | 23 | 
8 files changed, 160 insertions, 31 deletions
| diff --git a/LayoutStudio.pro b/LayoutStudio.pro index 7a1c8c0..aac834e 100644 --- a/LayoutStudio.pro +++ b/LayoutStudio.pro @@ -20,7 +20,9 @@ SOURCES += main.cpp \      lyt/window.cpp \      lyt/bounding.cpp \      lyt/group.cpp \ -    lyt/materials/texmap.cpp +    lyt/materials/texmap.cpp \ +    lyt/materials/texsrt.cpp \ +    lyt/materials/texcoordgen.cpp  HEADERS += lsmainwindow.h \      lsglobals.h \      lyt/packagebase.h \ @@ -36,7 +38,9 @@ HEADERS += lsmainwindow.h \      lyt/window.h \      lyt/bounding.h \      lyt/group.h \ -    lyt/materials/texmap.h +    lyt/materials/texmap.h \ +    lyt/materials/texsrt.h \ +    lyt/materials/texcoordgen.h  FORMS += lsmainwindow.ui  RESOURCES += resources.qrc @@ -45,4 +49,5 @@ OTHER_FILES += \      icons/textbox.png \      icons/picture.png \      icons/pane.png \ -    icons/bounding.png +    icons/bounding.png \ +    README.markdown diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..68a6871 --- /dev/null +++ b/README.markdown @@ -0,0 +1,33 @@ +LayoutStudio Readme +------------------- + +LayoutStudio is a work-in-progress application written by Treeki which plans to +offer graphical editing of Wii NW4R layouts/banners (.brlyt/.brlan files) with +functional, real-time previews. + +The application is written in C++ (with heavy usage of Nokia's Qt toolkit). + +The graphical rendering will eventually use OpenGL, and build on the excellent +GX GPU emulation in the [Dolphin][dol] GameCube/Wii emulator. + +[dol]: http://code.google.com/p/dolphin-emu/ + + +### Implemented Features ### +- BRLYT reading (materials are not yet fully implemented) +- Simple API for manipulating layout files from other code + + +### Planned Features ### +- BRLYT writing (partially done) +- BRLAN reading/writing +- Graphical interface for editing layouts and animations +- Rendering of layouts using OpenGL and Dolphin's GX emulation + + + +Other Stuff +----------- + +Special thanks to megazig, trap15 and everyone else who worked on benzin. +Greets to #HACKERCHANNEL and the Newer team :p diff --git a/lyt/materials/material.cpp b/lyt/materials/material.cpp index a23534c..d09614a 100644 --- a/lyt/materials/material.cpp +++ b/lyt/materials/material.cpp @@ -44,7 +44,7 @@ void LYTMaterial::readFromDataStream(QDataStream &in) {  	}  	// TexSRT -	/*texSRTs.clear(); +	texSRTs.clear();  	for (int i = 0; i < resourceNum.getTexSRTNum(); i++) {  		this->readTexSRT(in); @@ -58,7 +58,7 @@ void LYTMaterial::readFromDataStream(QDataStream &in) {  	}  	// ChanCtrl -	if (resourceNum.hasChanCtrl()) { +	/*if (resourceNum.hasChanCtrl()) {  		this->hasChanCtrl = true;  		this->readChanCtrl(in);  	} else { @@ -124,4 +124,17 @@ void LYTMaterial::readFromDataStream(QDataStream &in) {  void LYTMaterial::readTexMap(QDataStream &in) {  	this->texMaps.append(LYTTexMap());  	this->texMaps.last().readFromDataStream(in, m_layout); +	this->texMaps.last().dumpToDebug(); +} + +void LYTMaterial::readTexSRT(QDataStream &in) { +	this->texSRTs.append(LYTTexSRT()); +	this->texSRTs.last().readFromDataStream(in); +	this->texSRTs.last().dumpToDebug(); +} + +void LYTMaterial::readTexCoordGen(QDataStream &in) { +	this->texCoordGens.append(LYTTexCoordGen()); +	this->texCoordGens.last().readFromDataStream(in); +	this->texCoordGens.last().dumpToDebug();  } diff --git a/lyt/materials/material.h b/lyt/materials/material.h index 73a0e57..643f656 100644 --- a/lyt/materials/material.h +++ b/lyt/materials/material.h @@ -8,6 +8,8 @@  #include "../common.h"  #include "texmap.h" +#include "texsrt.h" +#include "texcoordgen.h"  class LYTLayout; @@ -31,18 +33,6 @@ public: -class LYTTexCoordGen { -public: -	void writeToDataStream(QDataStream &out); -	void readFromDataStream(QDataStream &in); - -	void dumpToDebug(); - -	quint8 genType; -	quint8 src; -	quint8 mtx; -}; -  class LYTChanCtrl {  public:  	void writeToDataStream(QDataStream &out); @@ -67,20 +57,6 @@ public:  	int alpha;  }; -class LYTTexSRT { -public: -	void writeToDataStream(QDataStream &out); -	void readFromDataStream(QDataStream &in); - -	void dumpToDebug(); - -	float xTrans; -	float yTrans; -	float rotate; -	float xScale; -	float yScale; -}; -  class LYTIndirectStage {  public:  	void writeToDataStream(QDataStream &out); diff --git a/lyt/materials/texcoordgen.cpp b/lyt/materials/texcoordgen.cpp new file mode 100644 index 0000000..9a47479 --- /dev/null +++ b/lyt/materials/texcoordgen.cpp @@ -0,0 +1,27 @@ +#include "texcoordgen.h" +#include "../layout.h" + +LYTTexCoordGen::LYTTexCoordGen() { +} + +void LYTTexCoordGen::dumpToDebug() { +	qDebug() << "LYTTexCoordGen @" << (void*)this; +	qDebug() << "GenType:" << genType << "- Mtx:" << mtx << "- Src:" << src; +} + + +void LYTTexCoordGen::writeToDataStream(QDataStream &out) { +	out << (quint8)genType; +	out << (quint8)src; +	out << (quint8)mtx; +	out.skipRawData(1); // padding +} + + +void LYTTexCoordGen::readFromDataStream(QDataStream &in) { +	in >> (quint8&)genType; +	in >> (quint8&)src; +	in >> (quint8&)mtx; +	in.skipRawData(1); // padding +} + diff --git a/lyt/materials/texcoordgen.h b/lyt/materials/texcoordgen.h new file mode 100644 index 0000000..5e66b8e --- /dev/null +++ b/lyt/materials/texcoordgen.h @@ -0,0 +1,21 @@ +#ifndef LYTTEXCOORDGEN_H +#define LYTTEXCOORDGEN_H + +#include "../common.h" +#include <QtCore/QDataStream> + +class LYTTexCoordGen { +public: +	LYTTexCoordGen(); + +	void writeToDataStream(QDataStream &out); +	void readFromDataStream(QDataStream &in); + +	void dumpToDebug(); + +	quint8 genType; +	quint8 src; +	quint8 mtx; +}; + +#endif // LYTTEXCOORDGEN_H diff --git a/lyt/materials/texsrt.cpp b/lyt/materials/texsrt.cpp new file mode 100644 index 0000000..25e28ca --- /dev/null +++ b/lyt/materials/texsrt.cpp @@ -0,0 +1,31 @@ +#include "texsrt.h" +#include "../layout.h" + +LYTTexSRT::LYTTexSRT() { +} + +void LYTTexSRT::dumpToDebug() { +	qDebug() << "LYTTexSRT @" << (void*)this; +	qDebug() << "Scale:" << xScale << "," << yScale; +	qDebug() << "Rotation:" << rotate; +	qDebug() << "Translation:" << xTrans << "," << yTrans; +} + + +void LYTTexSRT::writeToDataStream(QDataStream &out) { +	out << (float)xTrans; +	out << (float)yTrans; +	out << (float)rotate; +	out << (float)xScale; +	out << (float)yScale; +} + + +void LYTTexSRT::readFromDataStream(QDataStream &in) { +	in >> (float&)xTrans; +	in >> (float&)yTrans; +	in >> (float&)rotate; +	in >> (float&)xScale; +	in >> (float&)yScale; +} + diff --git a/lyt/materials/texsrt.h b/lyt/materials/texsrt.h new file mode 100644 index 0000000..ad5e470 --- /dev/null +++ b/lyt/materials/texsrt.h @@ -0,0 +1,23 @@ +#ifndef LYTTEXSRT_H +#define LYTTEXSRT_H + +#include "../common.h" +#include <QtCore/QDataStream> + +class LYTTexSRT { +public: +	LYTTexSRT(); + +	void writeToDataStream(QDataStream &out); +	void readFromDataStream(QDataStream &in); + +	void dumpToDebug(); + +	float xTrans; +	float yTrans; +	float rotate; +	float xScale; +	float yScale; +}; + +#endif // LYTTEXSRT_H | 
