TU43 Release 2

+ Added Magma Block, Nether Wart Block, Bone Block, End Stone Block
+ All Beetroot Items
+ Polar Bear (excluding audio)
+ / now opens chat for commands
This commit is contained in:
Tranqlmao
2026-07-07 12:54:31 -04:00
parent 47e5cba310
commit 558173cfd0
38 changed files with 561 additions and 15 deletions
+9
View File
@@ -33,6 +33,15 @@ ChatScreen::ChatScreen()
ChatScreen::s_chatIndex = 0;
}
ChatScreen::ChatScreen(const wstring &initialMessage)
{
frame = 0;
message = initialMessage;
cursorIndex = static_cast<int>(message.length());
s_historyIndex = -1;
ChatScreen::s_chatIndex = 0;
}
void ChatScreen::init()
{
Keyboard::enableRepeatEvents(true);
+1
View File
@@ -22,6 +22,7 @@ private:
public:
ChatScreen();
ChatScreen(const wstring &initialMessage);
virtual void init();
virtual void removed();
virtual void tick();
+3 -1
View File
@@ -469,7 +469,6 @@ enum eMinecraftColour
eMinecraftColour_Mob_Guardian_Colour2,
eMinecraftColour_Mob_ElderGuardian_Colour1,
eMinecraftColour_Mob_ElderGuardian_Colour2,
eMinecraftColour_Armour_Default_Leather_Colour,
eMinecraftColour_Under_Water_Clear_Colour,
@@ -568,6 +567,9 @@ enum eMinecraftColour
//eHTMLColor_e_dark = 0x3f3f15, //r:3f , g: 3f, b: 15, i: 1e
//eHTMLColor_f_dark = 0x3f3f3f, //r:3f , g: 3f, b: 3f, i: 1f
eMinecraftColour_Mob_PolarBear_Colour1,
eMinecraftColour_Mob_PolarBear_Colour2,
eMinecraftColour_COUNT,
};
+8 -1
View File
@@ -287,7 +287,14 @@ const WCHAR *ConsoleSoundEngine::wchSoundNames[eSoundType_MAX]=
L"mob.guardian.curse",
L"mob.guardian.elder_death",
L"mob.guardian.elder_hit",
L"mob.guardian.elder_idle"
L"mob.guardian.elder_idle",
L"mob.polarbear.babyidle",
L"mob.polarbear.idle",
L"mob.polarbear.hurt",
L"mob.polarbear.death",
L"mob.polarbear.step",
L"mob.polarbear.warning"
};
@@ -344,6 +344,8 @@ const wchar_t *ColourTable::ColourTableElements[eMinecraftColour_COUNT] =
L"Color_EnchantTextFocus",
L"Color_EnchantTextDisabled",
L"Color_RenamedItemTitle",
L"Mob_PolarBear_Colour1",
L"Mob_PolarBear_Colour2",
};
void ColourTable::staticCtor()
@@ -167,7 +167,12 @@ void IUIScene_CreativeMenu::staticCtor()
ITEM_AUX(Tile::dirt_Id, DirtTile::PODZOL)
ITEM(Tile::grass_path_Id)
ITEM(Tile::nether_brick_Id)
ITEM(Tile::red_nether_brick_Id)
ITEM(Tile::end_stone_Id)
ITEM(Tile::end_bricks_Id)
ITEM(Tile::magma_Id)
ITEM(Tile::nether_wart_block_Id)
ITEM(Tile::bone_block_Id)
ITEM_AUX(Tile::quartz_block_Id,QuartzBlockTile::TYPE_CHISELED)
ITEM_AUX(Tile::quartz_block_Id,QuartzBlockTile::TYPE_LINES_Y)
ITEM(Tile::trapdoor_Id)
@@ -499,6 +504,7 @@ void IUIScene_CreativeMenu::staticCtor()
ITEM_AUX(Item::spawn_egg_Id, 100 | ((EntityHorse::TYPE_MULE + 1) << 12)); // Mule
ITEM_AUX(Item::spawn_egg_Id, 120); // Villager
ITEM_AUX(Item::spawn_egg_Id, 101); // Rabbit Brown
ITEM_AUX(Item::spawn_egg_Id, 107); // Polar Bear
ITEM(Item::record_13_Id)
ITEM(Item::record_cat_Id)
ITEM(Item::record_blocks_Id)
@@ -668,15 +668,11 @@ void UIController::loadSkins()
}
if(m_iggyLibraries[eLibrary_Platform] == IGGY_INVALID_LIBRARY)
{
<<<<<<< Updated upstream
m_iggyLibraries[eLibrary_Platform] = loadSkin(L"skinHDWin.swf", L"platformskin.swf");
=======
m_iggyLibraries[eLibrary_Platform] = loadSkin(L"Graphics\\ControlType\\HD\\windowsHD.swf", L"platformskinHD.swf");
if(m_iggyLibraries[eLibrary_Platform] == IGGY_INVALID_LIBRARY)
{
m_iggyLibraries[eLibrary_Platform] = loadSkin(L"skinHDWin.swf", L"platformskinHD.swf");
}
>>>>>>> Stashed changes
}
// Non-HD skin set (720p/480p scenes import these)
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

@@ -291,6 +291,8 @@ if __name__=="__main__": notecolors()
<colour name="Mob_Guardian_Colour2" value="F17D30"/>
<colour name="Mob_ElderGuardian_Colour1" value="CECCBA"/>
<colour name="Mob_ElderGuardian_Colour2" value="747693"/>
<colour name="Mob_PolarBear_Colour1" value="F8F8F8"/>
<colour name="Mob_PolarBear_Colour2" value="8F9494"/>
<colour name="Armour_Default_Leather_Colour" value="A06540"/>
@@ -82,6 +82,8 @@
#include "BatRenderer.h"
#include "CaveSpiderRenderer.h"
#include "RabbitRenderer.h"
#include "PolarBearRenderer.h"
#include "PolarBearModel.h"
#include "ArmorStandRenderer.h"
#include "EndermiteRenderer.h"
@@ -142,6 +144,7 @@ EntityRenderDispatcher::EntityRenderDispatcher()
renderers[eTYPE_WITHERBOSS] = new WitherBossRenderer();
renderers[eTYPE_RABBIT] = new RabbitRenderer();
renderers[eTYPE_POLARBEAR] = new PolarBearRenderer(new PolarBearModel(), 0.7f);
renderers[eTYPE_ENTITY] = new DefaultRenderer();
+78
View File
@@ -0,0 +1,78 @@
#include "stdafx.h"
#include "PolarBearModel.h"
#include "ModelPart.h"
PolarBearModel::PolarBearModel() : QuadrupedModel(10, 0)
{
texWidth = 128;
texHeight = 64;
float g = 0;
head = new ModelPart(this, 0, 0);
head->addBox(-3.5f, -3, -3, 7, 7, 7, g);
head->setPos(0, 10, -16);
head->texOffs(0, 44)->addBox(-2.5f, 1, -6, 5, 3, 3, g);
head->texOffs(26, 0)->addBox(-4.5f, -4, -1, 2, 2, 1, g);
head->texOffs(26, 0)->addBox(2.5f, -4, -1, 2, 2, 1, g);
body = new ModelPart(this, 0, 19);
body->addBox(-5, -13, -7, 14, 14, 11, g);
body->texOffs(39, 0)->addBox(-4, -25, -7, 12, 12, 10, g);
body->setPos(-2, 9, 12);
leg0 = new ModelPart(this, 50, 22);
leg0->addBox(-2, 0, -2, 4, 10, 8, g);
leg0->setPos(-4.5f, 14, 6);
leg1 = new ModelPart(this, 50, 22);
leg1->addBox(-2, 0, -2, 4, 10, 8, g);
leg1->setPos(4.5f, 14, 6);
leg2 = new ModelPart(this, 50, 40);
leg2->addBox(-2, 0, -2, 4, 10, 6, g);
leg2->setPos(-3.5f, 14, -8);
leg3 = new ModelPart(this, 50, 40);
leg3->addBox(-2, 0, -2, 4, 10, 6, g);
leg3->setPos(3.5f, 14, -8);
head->compile(1.0f / 16.0f);
body->compile(1.0f / 16.0f);
leg0->compile(1.0f / 16.0f);
leg1->compile(1.0f / 16.0f);
leg2->compile(1.0f / 16.0f);
leg3->compile(1.0f / 16.0f);
}
void PolarBearModel::render(shared_ptr<Entity> entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled)
{
setupAnim(time, r, bob, yRot, xRot, scale, entity);
if (young)
{
glPushMatrix();
glScalef(0.6666667f, 0.6666667f, 0.6666667f);
glTranslatef(0, scale * 16.0f, scale * 4.0f);
head->render(scale, usecompiled);
glPopMatrix();
glPushMatrix();
glScalef(0.5f, 0.5f, 0.5f);
glTranslatef(0, scale * 24.0f, 0);
body->render(scale, usecompiled);
leg0->render(scale, usecompiled);
leg1->render(scale, usecompiled);
leg2->render(scale, usecompiled);
leg3->render(scale, usecompiled);
glPopMatrix();
}
else
{
head->render(scale, usecompiled);
body->render(scale, usecompiled);
leg0->render(scale, usecompiled);
leg1->render(scale, usecompiled);
leg2->render(scale, usecompiled);
leg3->render(scale, usecompiled);
}
}
+9
View File
@@ -0,0 +1,9 @@
#pragma once
#include "QuadrupedModel.h"
class PolarBearModel : public QuadrupedModel
{
public:
PolarBearModel();
virtual void render(shared_ptr<Entity> entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled);
};
+18
View File
@@ -0,0 +1,18 @@
#include "stdafx.h"
#include "PolarBearRenderer.h"
ResourceLocation PolarBearRenderer::POLARBEAR_LOCATION = ResourceLocation(TN_MOB_POLARBEAR);
PolarBearRenderer::PolarBearRenderer(Model *model, float shadow) : MobRenderer(model, shadow)
{
}
void PolarBearRenderer::render(shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
{
MobRenderer::render(_mob, x, y, z, rot, a);
}
ResourceLocation *PolarBearRenderer::getTextureLocation(shared_ptr<Entity> mob)
{
return &POLARBEAR_LOCATION;
}
+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include "MobRenderer.h"
class PolarBearRenderer : public MobRenderer
{
private:
static ResourceLocation POLARBEAR_LOCATION;
public:
PolarBearRenderer(Model *model, float shadow);
virtual void render(shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a);
virtual ResourceLocation *getTextureLocation(shared_ptr<Entity> mob);
};
+1
View File
@@ -194,6 +194,7 @@ const wchar_t *Textures::preLoaded[TN_COUNT] =
L"mob/guardian",
L"mob/guardian_elder",
L"mob/guardian_beam",
L"mob/bear/polarbear",
#ifdef _LARGE_WORLDS
L"misc/additionalmapicons",
+1 -1
View File
@@ -180,7 +180,7 @@ typedef enum _TEXTURE_NAME
TN_MOB_GUARDIAN,
TN_MOB_GUARDIAN_ELDER,
TN_MOB_GUARDIAN_BEAM,
TN_MOB_POLARBEAR,
#ifdef _LARGE_WORLDS
TN_MISC_ADDITIONALMAPICONS,
@@ -2191,6 +2191,12 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
pMinecraft->setScreen(new ChatScreen());
SetFocus(g_hWnd);
}
if (g_KBMInput.IsKeyPressed(VK_OEM_2) && app.GetGameStarted() && !ui.GetMenuDisplayed(0) && pMinecraft->screen == NULL)
{
g_KBMInput.ClearCharBuffer();
pMinecraft->setScreen(new ChatScreen(L"/"));
SetFocus(g_hWnd);
}
#if 0
// has the game defined profile data been changed (by a profile load)
@@ -9029,6 +9029,10 @@ All Ender Chests in a world are linked. Items placed into an Ender Chest are acc
<value>Rabbit</value>
</data>
<data name="IDS_POLAR_BEAR">
<value>Polar Bear</value>
</data>
<data name="IDS_DESC_RABBIT">
<value>A harmless creature. May drop a rabbit hide or a rabbit's foot when killed.</value>
</data>
@@ -9485,6 +9489,11 @@ All Ender Chests in a world are linked. Items placed into an Ender Chest are acc
<data name="IDS_TILE_GRASS_PATH"><value>Dirt Path</value></data>
<data name="IDS_TILE_BEETROOTS"><value>Beetroot</value></data>
<data name="IDS_TILE_END_BRICKS"><value>End Stone Bricks</value></data>
<data name="IDS_TILE_MAGMA"><value>Magma Block</value></data>
<data name="IDS_TILE_NETHER_WART_BLOCK"><value>Nether Wart Block</value></data>
<data name="IDS_TILE_RED_NETHER_BRICK"><value>Red Nether Bricks</value></data>
<data name="IDS_TILE_BONE_BLOCK"><value>Bone Block</value></data>
<data name="IDS_BEETROOT"><value>Beetroot</value></data>
<data name="IDS_BEETROOT_SEEDS"><value>Beetroot Seeds</value></data>
<data name="IDS_ITEM_BEETROOT_SOUP"><value>Beetroot Stew</value></data>
@@ -924,6 +924,10 @@ set(_MINECRAFT_CLIENT_COMMON_NET_MINECRAFT_CLIENT_RENDERER_ENTITY
"${CMAKE_CURRENT_SOURCE_DIR}/ZombieRenderer.h"
"${CMAKE_CURRENT_SOURCE_DIR}/RabbitRenderer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/RabbitRenderer.h"
"${CMAKE_CURRENT_SOURCE_DIR}/PolarBearModel.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/PolarBearModel.h"
"${CMAKE_CURRENT_SOURCE_DIR}/PolarBearRenderer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/PolarBearRenderer.h"
"${CMAKE_CURRENT_SOURCE_DIR}/ArmorStandRenderer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/EndermiteRenderer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/EndermiteRenderer.h"
+1
View File
@@ -60,6 +60,7 @@ static const int s_keyToVK[] = {
VK_SUBTRACT,// KEY_SUBTRACT = 53
VK_LEFT, // KEY_LEFT = 54
VK_RIGHT, // KEY_RIGHT = 55
VK_OEM_2, // KEY_SLASH = 56
};
static const int s_keyToVKCount = sizeof(s_keyToVK) / sizeof(s_keyToVK[0]);
+1
View File
@@ -250,6 +250,7 @@ public:
static const int KEY_SUBTRACT = 53;
static const int KEY_LEFT = 54;
static const int KEY_RIGHT = 55;
static const int KEY_SLASH = 56;
#ifdef _WINDOWS64
// Map LWJGL-style key constant to Windows VK code