|
@@ -52,62 +52,170 @@ float BasicBlock::getEffectPercentage()
|
|
return 1 - hp / maxHP;
|
|
return 1 - hp / maxHP;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-DirtBlockType::DirtBlockType()
|
|
|
|
- : BlockType( ID )
|
|
|
|
|
|
+BasicBlockType::BasicBlockType( int id, const char* texturPath )
|
|
|
|
+ : BlockType( id ),
|
|
|
|
+ texturPath( texturPath ),
|
|
|
|
+ transparent( 0 ),
|
|
|
|
+ passable( 0 ),
|
|
|
|
+ maxHp( 100.f ),
|
|
|
|
+ hardness( 1.f ),
|
|
|
|
+ zTool( 0 ),
|
|
|
|
+ speedModifier( 1.f ),
|
|
|
|
+ interactable( 1 )
|
|
{}
|
|
{}
|
|
|
|
|
|
-void DirtBlockType::loadSuperBlock( Block* zBlock, Framework::StreamReader* zReader )
|
|
|
|
-{
|
|
|
|
- BlockType::loadSuperBlock( zBlock, zReader );
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-Block* DirtBlockType::createBlock( Framework::Vec3<int> position )
|
|
|
|
|
|
+Block* BasicBlockType::createBlock( Framework::Vec3<int> position )
|
|
{
|
|
{
|
|
- Block* b = new BasicBlock( DirtBlockType::INSTANCE, "blocks.ltdb/dirt.png", 0, position, 0 ); // TODO: add efective tool
|
|
|
|
|
|
+ Block* b = new BasicBlock( this, texturPath, 0, position, 0 ); // TODO: add efective tool
|
|
initializeSuperBlock( b );
|
|
initializeSuperBlock( b );
|
|
return b;
|
|
return b;
|
|
}
|
|
}
|
|
|
|
|
|
-void DirtBlockType::initializeSuperBlock( Block* zBlock )
|
|
|
|
|
|
+void BasicBlockType::initializeSuperBlock( Block* zBlock )
|
|
{
|
|
{
|
|
BasicBlock* block = dynamic_cast<BasicBlock*>(zBlock);
|
|
BasicBlock* block = dynamic_cast<BasicBlock*>(zBlock);
|
|
if( !block )
|
|
if( !block )
|
|
- throw "DirtBlockType::createSuperBlock was called with a block witch is not an instance of BasicBlock";
|
|
|
|
- block->transparent = 0;
|
|
|
|
- block->passable = 0;
|
|
|
|
- block->hp = 100;
|
|
|
|
- block->maxHP = 100;
|
|
|
|
- block->hardness = 1;
|
|
|
|
- block->zTool = 0;
|
|
|
|
- block->speedModifier = 1;
|
|
|
|
|
|
+ throw "BasicBlockType::initializeSuperBlock was called with a block witch is not an instance of BasicBlock";
|
|
|
|
+ block->transparent = transparent;
|
|
|
|
+ block->passable = passable;
|
|
|
|
+ block->hp = maxHp;
|
|
|
|
+ block->maxHP = maxHp;
|
|
|
|
+ block->hardness = hardness;
|
|
|
|
+ block->zTool = zTool;
|
|
|
|
+ block->speedModifier = speedModifier;
|
|
}
|
|
}
|
|
|
|
|
|
-bool DirtBlockType::needsInstance() const
|
|
|
|
|
|
+bool BasicBlockType::needsInstance() const
|
|
{
|
|
{
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+DirtBlockType::DirtBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/dirt.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
DirtBlockItemType::DirtBlockItemType()
|
|
DirtBlockItemType::DirtBlockItemType()
|
|
- : BasicBlockItemType( ID )
|
|
|
|
|
|
+ : BasicBlockItemType( ID, "Dirt", "blocks.ltdb/dirt.png" )
|
|
{}
|
|
{}
|
|
|
|
|
|
-Item* DirtBlockItemType::createItem() const
|
|
|
|
|
|
+
|
|
|
|
+StoneBlockType::StoneBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/stone.png" )
|
|
{
|
|
{
|
|
- BasicBlockItem* item = new BasicBlockItem( (ItemType*)this, "Dirt" );
|
|
|
|
- return item;
|
|
|
|
|
|
+ hardness = 2.f;
|
|
}
|
|
}
|
|
|
|
|
|
-Framework::Model3DTextur* DirtBlockItemType::getItemTextur() const
|
|
|
|
|
|
+
|
|
|
|
+StoneBlockItemType::StoneBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Stone", "blocks.ltdb/stone.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+SandBlockType::SandBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/sand.png" )
|
|
{
|
|
{
|
|
- Model3DTextur* textur = new Model3DTextur();
|
|
|
|
- Textur* tex = currentGame->zScreen()->zGraphicsApi()->createOrGetTextur( "blocks.ltdb/dirt.png", 0 );
|
|
|
|
- textur->setPolygonTextur( 0, dynamic_cast<Textur*>(tex->getThis()) );
|
|
|
|
- textur->setPolygonTextur( 1, dynamic_cast<Textur*>(tex->getThis()) );
|
|
|
|
- textur->setPolygonTextur( 2, dynamic_cast<Textur*>(tex->getThis()) );
|
|
|
|
- textur->setPolygonTextur( 3, dynamic_cast<Textur*>(tex->getThis()) );
|
|
|
|
- textur->setPolygonTextur( 4, dynamic_cast<Textur*>(tex->getThis()) );
|
|
|
|
- textur->setPolygonTextur( 5, tex );
|
|
|
|
- return textur;
|
|
|
|
-}
|
|
|
|
|
|
+ hardness = 0.5f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+SandBlockItemType::SandBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Sand", "blocks.ltdb/sand.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+OakBlockType::OakBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/oak.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 1.5f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+OakBlockItemType::OakBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Oak Wood", "blocks.ltdb/oak.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+LeavesBlockType::LeavesBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/leaves.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 0.1f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+LeavesBlockItemType::LeavesBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Leaves", "blocks.ltdb/leaves.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GravelBlockType::GravelBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/gravel.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 0.75f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GravelBlockItemType::GravelBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Gravel", "blocks.ltdb/gravel.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GraniteBlockType::GraniteBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/granite.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 3.f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+GraniteBlockItemType::GraniteBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Granite", "blocks.ltdb/granite.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+CobbleBlockType::CobbleBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/cobble.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 1.f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+CobbleBlockItemType::CobbleBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Cobble", "blocks.ltdb/cobble.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BirchBlockType::BirchBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/birch.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 1.5f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BirchBlockItemType::BirchBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Birch Wood", "blocks.ltdb/birch.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BeechBlockType::BeechBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/beech.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 1.5f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BeechBlockItemType::BeechBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Beech Wood", "blocks.ltdb/beech.png" )
|
|
|
|
+{}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BasaltBlockType::BasaltBlockType()
|
|
|
|
+ : BasicBlockType( ID, "blocks.ltdb/basalt.png" )
|
|
|
|
+{
|
|
|
|
+ hardness = 2.f;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+BasaltBlockItemType::BasaltBlockItemType()
|
|
|
|
+ : BasicBlockItemType( ID, "Basalt", "blocks.ltdb/basalt.png" )
|
|
|
|
+{}
|