* Add CowRenderer

This commit is contained in:
iProgramInCpp
2023-12-05 21:12:05 +02:00
parent 5882d2dc7f
commit efebfdd122
8 changed files with 235 additions and 4 deletions

View File

@@ -0,0 +1,47 @@
/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "CowModel.hpp"
CowModel::CowModel() :
QuadrupedModel(12, 0.0f)
{
m_head = ModelPart(0, 0);
m_head.setModel(this);
// head
m_head.addBox(-4, -4, -6, 8, 8, 6);
m_head.setPos(0, 4, -8);
// horns
m_head.texOffs(22, 0);
m_head.addBox(-5, -5, -4, 1, 3, 1);
m_head.texOffs(22, 0);
m_head.addBox(4, -5, -4, 1, 3, 1);
m_body = ModelPart(18, 4);
m_body.setModel(this);
// torso
m_body.addBox(-6, -10, -7, 12, 18, 10);
m_body.setPos(0, 5, 2);
// udders
m_body.texOffs(52, 0);
m_body.addBox(-2, 2, -8, 4, 6, 1);
m_leg1.m_posX -= 1.0f;
m_leg2.m_posX += 1.0f;
m_leg3.m_posX -= 1.0f;
m_leg4.m_posX += 1.0f;
field_290 += 2.0f;
}
CowModel::~CowModel()
{
}

View File

@@ -0,0 +1,17 @@
/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#pragma once
#include "QuadrupedModel.hpp"
class CowModel : public QuadrupedModel
{
public:
CowModel();
~CowModel();
};

View File

@@ -0,0 +1,16 @@
/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#include "CowRenderer.hpp"
CowRenderer::CowRenderer(Model* pModel, float f) : MobRenderer(pModel, f)
{
}
CowRenderer::~CowRenderer()
{
}

View File

@@ -0,0 +1,17 @@
/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#pragma once
#include "MobRenderer.hpp"
class CowRenderer : public MobRenderer
{
public:
CowRenderer(Model*, float);
~CowRenderer();
};

View File

@@ -11,13 +11,15 @@
#include "../ItemInHandRenderer.hpp"
#include "client/model/PigModel.hpp"
#include "client/model/CowModel.hpp"
EntityRenderDispatcher* EntityRenderDispatcher::instance;
float EntityRenderDispatcher::xOff, EntityRenderDispatcher::yOff, EntityRenderDispatcher::zOff;
EntityRenderDispatcher::EntityRenderDispatcher() :
m_HumanoidMobRenderer(new HumanoidModel(0.0f, 0.0f), 0.0f),
m_PigRenderer(new PigModel(0.0f), 0.0f)
m_PigRenderer(new PigModel(0.0f), 0.0f),
m_CowRenderer(new CowModel, 0.0f)
{
m_pItemInHandRenderer = nullptr;
m_pTextures = nullptr;
@@ -31,6 +33,7 @@ EntityRenderDispatcher::EntityRenderDispatcher() :
m_HumanoidMobRenderer.init(this);
m_PigRenderer.init(this);
m_CowRenderer.init(this);
// TODO
@@ -71,12 +74,14 @@ EntityRenderer* EntityRenderDispatcher::getRenderer(int renderType)
{
case RENDER_TNT:
return &m_TntRenderer;
case RENDER_HUMANOID:
return &m_HumanoidMobRenderer;
case RENDER_ITEM:
return &m_ItemRenderer;
case RENDER_CAMERA:
return &m_CameraRenderer;
case RENDER_HUMANOID:
return &m_HumanoidMobRenderer;
case RENDER_COW:
return &m_CowRenderer;
case RENDER_PIG:
return &m_PigRenderer;
// TODO

View File

@@ -15,6 +15,7 @@
#include "ItemRenderer.hpp"
#include "FallingTileRenderer.hpp"
#include "PigRenderer.hpp"
#include "CowRenderer.hpp"
class Minecraft;
class Font;
@@ -44,7 +45,7 @@ public:
ItemInHandRenderer* m_pItemInHandRenderer;
HumanoidMobRenderer m_HumanoidMobRenderer;
PigRenderer m_PigRenderer;
//CowRenderer m_CowRenderer;
CowRenderer m_CowRenderer;
//ChickenRenderer m_ChickenRenderer;
TntRenderer m_TntRenderer;
//padding??