mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-29 20:30:54 +00:00
Tile loading more or less works. TODO: investigate why displacement map lookup causes crashes.
This commit is contained in:
parent
1255cdb3e7
commit
cc12fb91b4
14 changed files with 342 additions and 82 deletions
|
@ -86,6 +86,11 @@ public:
|
|||
_BitmapName[bitmapType]=name;
|
||||
}
|
||||
|
||||
std::string getFileName (TBitmap bitmapType) const
|
||||
{
|
||||
return _BitmapName[bitmapType];
|
||||
}
|
||||
|
||||
/// Get the additional orientation (CCW) for alpha texture.
|
||||
uint8 getRotAlpha ()
|
||||
{
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
// Ryzom Core Studio - Tile Editor plugin
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
#ifndef LAND_H
|
||||
#define LAND_H
|
||||
|
||||
#include <QStringList>
|
||||
|
||||
struct Land
|
||||
{
|
||||
QString name;
|
||||
QStringList tilesets;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -229,6 +229,16 @@ void TileBank::renameTileSet( int idx, const QString &newName )
|
|||
|
||||
}
|
||||
|
||||
void TileBank::getTileSets( QStringList &l )
|
||||
{
|
||||
int c = m_pvt->m_bank.getTileSetCount();
|
||||
for( int i = 0; i < c; i++ )
|
||||
{
|
||||
NL3D::CTileSet *set = m_pvt->m_bank.getTileSet( i );
|
||||
l.push_back( set->getName().c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
void TileBank::addLand( const QString &name )
|
||||
{
|
||||
m_pvt->m_bank.addLand( name.toUtf8().constData() );
|
||||
|
@ -239,6 +249,18 @@ void TileBank::removeLand( int idx )
|
|||
m_pvt->m_bank.removeLand( idx );
|
||||
}
|
||||
|
||||
void TileBank::getLands( QStringList &l )
|
||||
{
|
||||
l.clear();
|
||||
|
||||
int c = m_pvt->m_bank.getLandCount();
|
||||
for( int i = 0; i < c; i++ )
|
||||
{
|
||||
NL3D::CTileLand *land = m_pvt->m_bank.getLand( i );
|
||||
l.push_back( land->getName().c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
void TileBank::setLandSets( int idx, const QStringList &l )
|
||||
{
|
||||
NL3D::CTileLand *land = m_pvt->m_bank.getLand( idx );
|
||||
|
@ -392,6 +414,126 @@ void TileBank::clearImage( int ts, int type, int tile, TileConstants::TTileChann
|
|||
|
||||
}
|
||||
|
||||
int TileBank::getTileCount( int tileSet, TileConstants::TNodeTileType type )
|
||||
{
|
||||
NL3D::CTileSet *set = m_pvt->m_bank.getTileSet( tileSet );
|
||||
if( set == NULL )
|
||||
return -1;
|
||||
|
||||
int c = 0;
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case TileConstants::Tile128:
|
||||
c = set->getNumTile128();
|
||||
break;
|
||||
|
||||
case TileConstants::Tile256:
|
||||
c = set->getNumTile256();
|
||||
break;
|
||||
|
||||
case TileConstants::TileTransition:
|
||||
c = NL3D::CTileSet::count;
|
||||
break;
|
||||
|
||||
case TileConstants::TileDisplacement:
|
||||
c = NL3D::CTileSet::CountDisplace;
|
||||
break;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
int TileBank::getRealTileId( int tileSet, TileConstants::TNodeTileType type, int tileIdInSet )
|
||||
{
|
||||
NL3D::CTileSet *set = m_pvt->m_bank.getTileSet( tileSet );
|
||||
if( set == NULL )
|
||||
return -1;
|
||||
|
||||
int tile = -1;
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case TileConstants::Tile128:
|
||||
tile = set->getTile128( tileIdInSet );
|
||||
break;
|
||||
|
||||
case TileConstants::Tile256:
|
||||
tile = set->getTile256( tileIdInSet );
|
||||
break;
|
||||
|
||||
case TileConstants::TileTransition:
|
||||
tile = set->getTransition( tileIdInSet )->getTile();
|
||||
break;
|
||||
|
||||
case TileConstants::TileDisplacement:
|
||||
tile = set->getDisplacementTile( NL3D::CTileSet::TDisplacement( tileIdInSet ) );
|
||||
break;
|
||||
}
|
||||
|
||||
return tile;
|
||||
}
|
||||
|
||||
void TileBank::getTileImages( int tileSet, TileConstants::TNodeTileType type, int tileId, TileImages &images )
|
||||
{
|
||||
NL3D::CTileSet *set = m_pvt->m_bank.getTileSet( tileSet );
|
||||
if( set == NULL )
|
||||
return;
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case TileConstants::Tile128:
|
||||
case TileConstants::Tile256:
|
||||
case TileConstants::TileTransition:
|
||||
{
|
||||
NL3D::CTile *t = m_pvt->m_bank.getTile( tileId );
|
||||
if( t == NULL )
|
||||
return;
|
||||
|
||||
images.diffuse = t->getFileName( channelToTBitmap( TileConstants::TileDiffuse ) ).c_str();
|
||||
images.additive = t->getFileName( channelToTBitmap( TileConstants::TileAdditive ) ).c_str();
|
||||
images.alpha = t->getFileName( channelToTBitmap( TileConstants::TileAlpha ) ).c_str();
|
||||
}
|
||||
break;
|
||||
|
||||
case TileConstants::TileDisplacement:
|
||||
{
|
||||
images.diffuse = m_pvt->m_bank.getDisplacementMap( tileId );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TileBank::getTileImages( int tileSet, TileConstants::TNodeTileType type, QList< TileImages > &l )
|
||||
{
|
||||
l.clear();
|
||||
|
||||
NL3D::CTileSet *set = m_pvt->m_bank.getTileSet( tileSet );
|
||||
if( set == NULL )
|
||||
return;
|
||||
|
||||
int c = getTileCount( tileSet, type );
|
||||
|
||||
TileImages images;
|
||||
|
||||
for( int i = 0; i < c; i++ )
|
||||
{
|
||||
images.clear();
|
||||
|
||||
int id = getRealTileId( tileSet, type, i );
|
||||
if( id < 0 )
|
||||
{
|
||||
l.push_back( images );
|
||||
continue;
|
||||
}
|
||||
|
||||
getTileImages( tileSet, type, id, images );
|
||||
|
||||
l.push_back( images );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TileBank::setVegetation( int tileSet, const QString &vegetation )
|
||||
{
|
||||
|
|
|
@ -4,8 +4,10 @@
|
|||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QVariant>
|
||||
#include <QList>
|
||||
|
||||
#include "tile_constants.h"
|
||||
#include "tile_images.h"
|
||||
|
||||
namespace NLMISC
|
||||
{
|
||||
|
@ -23,9 +25,11 @@ public:
|
|||
void addTileSet( const QString &name );
|
||||
void removeTileSet( int idx );
|
||||
void renameTileSet( int idx, const QString &newName );
|
||||
void getTileSets( QStringList &l );
|
||||
|
||||
void addLand( const QString &name );
|
||||
void removeLand( int idx );
|
||||
void getLands( QStringList &l );
|
||||
void setLandSets( int idx, const QStringList &l );
|
||||
void getLandSets( int idx, QStringList &l );
|
||||
|
||||
|
@ -35,6 +39,12 @@ public:
|
|||
void replaceImage( int ts, int type, int tile, TileConstants::TTileChannel channel, const QString &name, const QVariant &pixmap );
|
||||
void clearImage( int ts, int type, int tile, TileConstants::TTileChannel channel );
|
||||
|
||||
|
||||
int getTileCount( int tileSet, TileConstants::TNodeTileType type );
|
||||
int getRealTileId( int tileSet, TileConstants::TNodeTileType type, int tileIdInSet );
|
||||
void getTileImages( int tileSet, TileConstants::TNodeTileType type, int tileId, TileImages &images );
|
||||
void getTileImages( int tileSet, TileConstants::TNodeTileType type, QList< TileImages > &l );
|
||||
|
||||
void setVegetation( int tileSet, const QString &vegetation );
|
||||
QString getVegetation( int tileSet ) const;
|
||||
|
||||
|
|
|
@ -271,8 +271,7 @@ void TileEditorMainWindow::open()
|
|||
return;
|
||||
|
||||
TileBankLoader loader;
|
||||
bool b = true;
|
||||
//loader.load( fn.toUtf8().constData(), m_tileModel, m_lands );
|
||||
bool b = loader.load( fn.toUtf8().constData(), m_tileModel );
|
||||
|
||||
if( !b )
|
||||
{
|
||||
|
@ -374,7 +373,7 @@ void TileEditorMainWindow::onTileSetAdd()
|
|||
}
|
||||
|
||||
// Create and append the new tile set to the model.
|
||||
TileSetNode *tileSet = model->createTileSetNode(text);
|
||||
m_tileModel->addTileSet( text );
|
||||
|
||||
// Retrieve how many rows there currently are and set the current index using that.
|
||||
uint32 rows = model->rowCount();
|
||||
|
@ -684,8 +683,6 @@ void TileEditorMainWindow::onActionAddTile(int tabId)
|
|||
QString selectedFilter;
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames(this, "Choose Tile Texture", "." , "Images (*.png);;All Files (*.*)", &selectedFilter, options);
|
||||
|
||||
int c = n->childCount();
|
||||
|
||||
TileConstants::TNodeTileType type = tabToType( tabId );
|
||||
|
||||
QStringListIterator itr( fileNames );
|
||||
|
@ -693,8 +690,9 @@ void TileEditorMainWindow::onActionAddTile(int tabId)
|
|||
|
||||
while( itr.hasNext() )
|
||||
{
|
||||
TileItemNode *newNode = m_tileModel->createItemNode( setId, type, c, TileConstants::TileDiffuse, itr.next() );
|
||||
if( newNode == NULL )
|
||||
bool b = m_tileModel->addTile( setId, type, itr.next(), TileConstants::TileDiffuse );
|
||||
|
||||
if( !b )
|
||||
{
|
||||
if( m_tileModel->hasError() )
|
||||
error = m_tileModel->getLastError();
|
||||
|
@ -708,9 +706,7 @@ void TileEditorMainWindow::onActionAddTile(int tabId)
|
|||
else
|
||||
continue;
|
||||
}
|
||||
|
||||
n->appendRow( newNode );
|
||||
c++;
|
||||
|
||||
}
|
||||
|
||||
QModelIndex rootIdx = m_tileModel->index( tabId, 0, m_ui->tileSetLV->currentIndex());
|
||||
|
@ -809,7 +805,15 @@ void TileEditorMainWindow::onActionReplaceImage( int tabId )
|
|||
void TileEditorMainWindow::onTileBankLoaded()
|
||||
{
|
||||
m_ui->landLW->clear();
|
||||
// load lands
|
||||
QStringList lands;
|
||||
m_tileModel->getLands( lands );
|
||||
QStringListIterator itr( lands );
|
||||
while( itr.hasNext() )
|
||||
{
|
||||
m_ui->landLW->addItem( itr.next() );
|
||||
}
|
||||
|
||||
m_tileModel->onTBLoaded();
|
||||
|
||||
m_ui->listView128->reset();
|
||||
m_ui->listView256->reset();
|
||||
|
|
23
code/studio/src/plugins/tile_editor/tile_images.h
Normal file
23
code/studio/src/plugins/tile_editor/tile_images.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef TILE_IMAGES_H
|
||||
#define TILE_IMAGES_H
|
||||
|
||||
#include <QString>
|
||||
|
||||
struct TileImages
|
||||
{
|
||||
QString diffuse;
|
||||
QString additive;
|
||||
QString alpha;
|
||||
|
||||
void clear()
|
||||
{
|
||||
diffuse.clear();
|
||||
additive.clear();
|
||||
alpha.clear();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -312,6 +312,14 @@ TileItemNode::TileItemNode( TileConstants::TNodeTileType type, int tileId, TileC
|
|||
setTileFilename( channel, filename );
|
||||
}
|
||||
|
||||
TileItemNode::TileItemNode( TileConstants::TNodeTileType type, int tileId, Node *parent )
|
||||
{
|
||||
m_id = tileId;
|
||||
m_parentItem = parent;
|
||||
pvt = new TileItemNodePvt();
|
||||
m_hasError = false;
|
||||
}
|
||||
|
||||
TileItemNode::~TileItemNode()
|
||||
{
|
||||
delete pvt;
|
||||
|
|
|
@ -107,6 +107,7 @@ class TileItemNode : public Node
|
|||
{
|
||||
public:
|
||||
TileItemNode( TileConstants::TNodeTileType type, int tileId, TileConstants::TTileChannel channel, QString filename, Node *parent=0);
|
||||
TileItemNode( TileConstants::TNodeTileType type, int tileId, Node *parent=0);
|
||||
virtual ~TileItemNode();
|
||||
QVariant data(int column, int role) const;
|
||||
int columnCount() const;
|
||||
|
|
|
@ -218,16 +218,10 @@ TileSetNode *TileModel::createTileSetNode(QString tileSetName)
|
|||
|
||||
// Append them in the correct order to the tile set.
|
||||
this->appendRow(tileSet);
|
||||
m_tileBank->addTileSet(tileSetName);
|
||||
|
||||
|
||||
return tileSet;
|
||||
}
|
||||
|
||||
TileItemNode *TileModel::createItemNode( TileConstants::TNodeTileType type, int id, TileConstants::TTileChannel channel, const QString &fileName )
|
||||
{
|
||||
return new TileItemNode( type, id, channel, fileName );
|
||||
}
|
||||
|
||||
TileItemNode *TileModel::createItemNode( int idx, TileConstants::TNodeTileType type, int id, TileConstants::TTileChannel channel, const QString &fileName )
|
||||
{
|
||||
TileItemNode *n = new TileItemNode( type, id, channel, fileName );
|
||||
|
@ -305,6 +299,12 @@ void TileModel::clear()
|
|||
removeRows( 0, c );
|
||||
}
|
||||
|
||||
void TileModel::onTBLoaded()
|
||||
{
|
||||
loadTileSets();
|
||||
}
|
||||
|
||||
|
||||
void TileModel::addLand( const QString &name )
|
||||
{
|
||||
m_tileBank->addLand( name );
|
||||
|
@ -315,6 +315,11 @@ void TileModel::removeLand( int idx )
|
|||
m_tileBank->removeLand( idx );
|
||||
}
|
||||
|
||||
void TileModel::getLands( QStringList &l )
|
||||
{
|
||||
m_tileBank->getLands( l );
|
||||
}
|
||||
|
||||
void TileModel::setLandSets( int idx, const QStringList &l )
|
||||
{
|
||||
m_tileBank->setLandSets( idx, l );
|
||||
|
@ -325,6 +330,15 @@ void TileModel::getLandSets( int idx, QStringList &l )
|
|||
m_tileBank->getLandSets( idx, l );
|
||||
}
|
||||
|
||||
|
||||
bool TileModel::addTileSet( const QString &name )
|
||||
{
|
||||
m_tileBank->addTileSet( name );
|
||||
TileSetNode *tsn = createTileSetNode( name );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void TileModel::removeTileSet( int idx )
|
||||
{
|
||||
TileSetNode *set = static_cast< TileSetNode* >( rootItem->child( idx ) );
|
||||
|
@ -341,6 +355,35 @@ void TileModel::renameTileSet( int idx, const QString &newName )
|
|||
m_tileBank->renameTileSet( idx, newName );
|
||||
}
|
||||
|
||||
bool TileModel::addTile( int ts, int type, const QString &fileName, TileConstants::TTileChannel channel )
|
||||
{
|
||||
TileSetNode *tsn = static_cast< TileSetNode* >( rootItem->child( ts ) );
|
||||
if( tsn == NULL )
|
||||
return false;
|
||||
|
||||
TileTypeNode *ttn = static_cast< TileTypeNode* >( tsn->child( type ) );
|
||||
if( ttn == NULL )
|
||||
return false;
|
||||
|
||||
int tile = ttn->childCount();
|
||||
|
||||
TileConstants::TNodeTileType t = TileConstants::TNodeTileType( type );
|
||||
|
||||
TileItemNode *item = new TileItemNode( t, tile, channel, fileName );
|
||||
|
||||
bool b = m_tileBank->addTile( ts, fileName, item->pixmap( channel ), channel, t );
|
||||
if( !b )
|
||||
{
|
||||
delete item;
|
||||
return false;
|
||||
}
|
||||
|
||||
item->setParent( ttn );
|
||||
ttn->appendRow( item );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void TileModel::removeTile( int ts, int type, int tile )
|
||||
{
|
||||
TileSetNode *set = static_cast< TileSetNode* >( rootItem->child( ts ) );
|
||||
|
@ -458,4 +501,73 @@ void TileModel::selectFilenameDisplay(bool selected)
|
|||
void TileModel::selectIndexDisplay(bool selected)
|
||||
{
|
||||
m_indexDisplay = selected;
|
||||
}
|
||||
}
|
||||
|
||||
void TileModel::loadTileSets()
|
||||
{
|
||||
QStringList l;
|
||||
m_tileBank->getTileSets( l );
|
||||
|
||||
// Create tile sets
|
||||
QStringListIterator itr( l );
|
||||
while( itr.hasNext() )
|
||||
{
|
||||
createTileSetNode( itr.next() );
|
||||
}
|
||||
|
||||
// Loads sets
|
||||
int c = rootItem->childCount();
|
||||
for( int i = 0; i < c; i++ )
|
||||
{
|
||||
loadTileSet( i );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TileModel::loadTileSet( int tileSet )
|
||||
{
|
||||
TileSetNode *set = static_cast< TileSetNode* >( rootItem->child( tileSet ) );
|
||||
|
||||
QList< TileImages > l;
|
||||
//for( int i = TileConstants::Tile128; i < TileConstants::TileNodeTypeCount; i++ )
|
||||
//for( int i = TileConstants::Tile128; i < TileConstants::TileTransition; i++ )
|
||||
for( int i = TileConstants::Tile128; i < TileConstants::TileDisplacement; i++ )
|
||||
{
|
||||
TileConstants::TNodeTileType type = TileConstants::TNodeTileType( i );
|
||||
l.clear();
|
||||
m_tileBank->getTileImages( tileSet, type, l );
|
||||
|
||||
loadTileTypeNode( tileSet, type, l );
|
||||
}
|
||||
}
|
||||
|
||||
void TileModel::loadTileTypeNode( int tileSet, int type, const QList< TileImages > &l )
|
||||
{
|
||||
TileSetNode *set = static_cast< TileSetNode* >( rootItem->child( tileSet ) );
|
||||
TileTypeNode *ttn = static_cast< TileTypeNode* >( set->child( type ) );
|
||||
|
||||
int tile = 0;
|
||||
|
||||
QList< TileImages >::const_iterator itr = l.begin();
|
||||
while( itr != l.end() )
|
||||
{
|
||||
const TileImages &images = *itr;
|
||||
|
||||
TileItemNode *item = NULL;
|
||||
|
||||
if( ( type == TileConstants::Tile128 ) || ( type == TileConstants::Tile256 ) )
|
||||
item = new TileItemNode( TileConstants::TNodeTileType( type ), tile, ttn );
|
||||
else
|
||||
item = static_cast< TileItemNode* >( ttn->child( tile ) );
|
||||
|
||||
item->setTileFilename( TileConstants::TileDiffuse, images.diffuse );
|
||||
item->setTileFilename( TileConstants::TileAdditive, images.additive );
|
||||
item->setTileFilename( TileConstants::TileAlpha, images.alpha );
|
||||
|
||||
if( ( type == TileConstants::Tile128 ) || ( type == TileConstants::Tile256 ) )
|
||||
ttn->appendRow( item );
|
||||
|
||||
++itr;
|
||||
tile++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <QAbstractListModel>
|
||||
|
||||
#include "tile_constants.h"
|
||||
#include "tile_images.h"
|
||||
|
||||
namespace NLMISC
|
||||
{
|
||||
|
@ -32,6 +33,7 @@ class Node;
|
|||
class TileSetNode;
|
||||
class TileItemNode;
|
||||
class TileBank;
|
||||
class TileModelPvt;
|
||||
|
||||
class TileModel : public QAbstractItemModel
|
||||
{
|
||||
|
@ -77,8 +79,6 @@ public:
|
|||
|
||||
void swapRows( int a, int b );
|
||||
|
||||
TileSetNode *createTileSetNode(QString tileSetName);
|
||||
static TileItemNode *createItemNode( TileConstants::TNodeTileType type, int id, TileConstants::TTileChannel channel, const QString &fileName );
|
||||
TileItemNode *createItemNode( int idx, TileConstants::TNodeTileType type, int id, TileConstants::TTileChannel channel, const QString &fileName );
|
||||
|
||||
static const char *getTileTypeName(TileConstants::TNodeTileType type);
|
||||
|
@ -89,13 +89,20 @@ public:
|
|||
bool hasTileSet( const QString &name );
|
||||
|
||||
void clear();
|
||||
void onTBLoaded();
|
||||
|
||||
void addLand( const QString &name );
|
||||
void removeLand( int idx );
|
||||
void getLands( QStringList &l );
|
||||
|
||||
bool addTileSet( const QString &name );
|
||||
|
||||
void removeTileSet( int idx );
|
||||
void renameTileSet( int idx, const QString &newName );
|
||||
void setLandSets( int idx, const QStringList &l );
|
||||
void getLandSets( int idx, QStringList &l );
|
||||
|
||||
bool addTile( int ts, int type, const QString &fileName, TileConstants::TTileChannel channel );
|
||||
void removeTile( int ts, int type, int tile );
|
||||
bool replaceImage( int ts, int type, int tile, TileConstants::TTileChannel channel, const QString &name );
|
||||
void clearImage( int ts, int type, int tile, TileConstants::TTileChannel channel );
|
||||
|
@ -122,7 +129,11 @@ public Q_SLOTS:
|
|||
void selectIndexDisplay(bool selected);
|
||||
|
||||
private:
|
||||
TileSetNode *createTileSetNode(QString tileSetName);
|
||||
Node *getItem(const QModelIndex &index) const;
|
||||
void loadTileSets();
|
||||
void loadTileSet( int tileSet );
|
||||
void loadTileTypeNode( int tileSet, int type, const QList< TileImages > &l );
|
||||
|
||||
bool m_fileDisplay;
|
||||
bool m_indexDisplay;
|
||||
|
@ -133,6 +144,7 @@ private:
|
|||
Node *rootItem;
|
||||
|
||||
TileBank *m_tileBank;
|
||||
TileModelPvt *pvt;
|
||||
};
|
||||
|
||||
#endif // TILE_MODEL_H
|
||||
|
|
|
@ -18,35 +18,23 @@
|
|||
#include "tilebank_loader.h"
|
||||
|
||||
#include "tile_model.h"
|
||||
#include "tile_item.h"
|
||||
|
||||
#include "nel/3d/tile_bank.h"
|
||||
#include "nel/misc/file.h"
|
||||
|
||||
class TileBankLoaderPvt
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
|
||||
TileBankLoader::TileBankLoader()
|
||||
{
|
||||
p = new TileBankLoaderPvt;
|
||||
}
|
||||
|
||||
TileBankLoader::~TileBankLoader()
|
||||
{
|
||||
delete p;
|
||||
p = NULL;
|
||||
}
|
||||
|
||||
bool TileBankLoader::load( const char *filename, TileModel *model, QList< Land > &lands )
|
||||
bool TileBankLoader::load( const char *filename, TileModel *model )
|
||||
{
|
||||
NLMISC::CIFile file;
|
||||
if( !file.open( filename, false ) )
|
||||
return false;
|
||||
|
||||
//p->bank.serial( file );
|
||||
model->serial( file );
|
||||
|
||||
file.close();
|
||||
|
||||
|
|
|
@ -17,10 +17,7 @@
|
|||
#ifndef TILEBANK_LOADER_H
|
||||
#define TILEBANK_LOADER_H
|
||||
|
||||
#include "land.h"
|
||||
|
||||
class TileModel;
|
||||
class TileBankLoaderPvt;
|
||||
|
||||
class TileBankLoader
|
||||
{
|
||||
|
@ -28,10 +25,9 @@ public:
|
|||
TileBankLoader();
|
||||
~TileBankLoader();
|
||||
|
||||
bool load( const char *filename, TileModel *model, QList< Land > &lands );
|
||||
bool load( const char *filename, TileModel *model );
|
||||
|
||||
private:
|
||||
TileBankLoaderPvt *p;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -22,21 +22,12 @@
|
|||
#include "nel/3d/tile_bank.h"
|
||||
#include "nel/misc/file.h"
|
||||
|
||||
class TileBankSaverPvt
|
||||
{
|
||||
public:
|
||||
|
||||
};
|
||||
|
||||
TileBankSaver::TileBankSaver()
|
||||
{
|
||||
p = new TileBankSaverPvt();
|
||||
}
|
||||
|
||||
TileBankSaver::~TileBankSaver()
|
||||
{
|
||||
delete p;
|
||||
p = NULL;
|
||||
}
|
||||
|
||||
bool TileBankSaver::save( const char *fileName, TileModel* model )
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <QList>
|
||||
|
||||
class TileModel;
|
||||
class TileBankSaverPvt;
|
||||
|
||||
class TileBankSaver
|
||||
{
|
||||
|
@ -33,7 +32,7 @@ public:
|
|||
bool save( const char *filename, TileModel* model );
|
||||
|
||||
private:
|
||||
TileBankSaverPvt *p;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue