Revert "dynamic_pointer_cast -> std::dynamic_pointer_cast"
This reverts commit 07ad68bc15.
This commit is contained in:
@@ -7,7 +7,7 @@ void ArrowRenderer::render(std::shared_ptr<Entity> _arrow, double x, double y, d
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Arrow rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<Arrow> arrow = std::dynamic_pointer_cast<Arrow>(_arrow);
|
||||
std::shared_ptr<Arrow> arrow = dynamic_pointer_cast<Arrow>(_arrow);
|
||||
bindTexture(TN_ITEM_ARROWS); // 4J - was L"/item/arrows.png"
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
@@ -12,7 +12,7 @@ void BlazeRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, dou
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<Blaze> mob = std::dynamic_pointer_cast<Blaze>(_mob);
|
||||
std::shared_ptr<Blaze> mob = dynamic_pointer_cast<Blaze>(_mob);
|
||||
|
||||
int modelVersion = ((BlazeModel *) model)->modelVersion();
|
||||
if (modelVersion != this->modelVersion)
|
||||
|
||||
@@ -14,7 +14,7 @@ void BoatRenderer::render(std::shared_ptr<Entity> _boat, double x, double y, dou
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<Boat> boat = std::dynamic_pointer_cast<Boat>(_boat);
|
||||
std::shared_ptr<Boat> boat = dynamic_pointer_cast<Boat>(_boat);
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ ChestRenderer::~ChestRenderer()
|
||||
void ChestRenderer::render(std::shared_ptr<TileEntity> _chest, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J Convert as we aren't using a templated class
|
||||
std::shared_ptr<ChestTileEntity> chest = std::dynamic_pointer_cast<ChestTileEntity>(_chest);
|
||||
std::shared_ptr<ChestTileEntity> chest = dynamic_pointer_cast<ChestTileEntity>(_chest);
|
||||
|
||||
int data;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ void ChickenRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, d
|
||||
float ChickenRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Chicken> mob = std::dynamic_pointer_cast<Chicken>(_mob);
|
||||
std::shared_ptr<Chicken> mob = dynamic_pointer_cast<Chicken>(_mob);
|
||||
|
||||
float flap = mob->oFlap+(mob->flap-mob->oFlap)*a;
|
||||
float flapSpeed = mob->oFlapSpeed+(mob->flapSpeed-mob->oFlapSpeed)*a;
|
||||
|
||||
@@ -446,7 +446,7 @@ void ClientConnection::handleAddEntity(std::shared_ptr<AddEntityPacket> packet)
|
||||
}
|
||||
}
|
||||
}
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
|
||||
if (player != NULL)
|
||||
{
|
||||
std::shared_ptr<FishingHook> hook = std::shared_ptr<FishingHook>( new FishingHook(level, x, y, z, player) );
|
||||
@@ -547,7 +547,7 @@ void ClientConnection::handleAddEntity(std::shared_ptr<AddEntityPacket> packet)
|
||||
}
|
||||
}
|
||||
}
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
|
||||
if (player != NULL)
|
||||
{
|
||||
std::shared_ptr<FishingHook> hook = std::shared_ptr<FishingHook>( new FishingHook(level, x, y, z, player) );
|
||||
@@ -653,9 +653,9 @@ void ClientConnection::handleAddEntity(std::shared_ptr<AddEntityPacket> packet)
|
||||
}
|
||||
}
|
||||
|
||||
if (std::dynamic_pointer_cast<Mob>(owner) != NULL)
|
||||
if (dynamic_pointer_cast<Mob>(owner) != NULL)
|
||||
{
|
||||
std::dynamic_pointer_cast<Arrow>(e)->owner = std::dynamic_pointer_cast<Mob>(owner);
|
||||
dynamic_pointer_cast<Arrow>(e)->owner = dynamic_pointer_cast<Mob>(owner);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1207,7 +1207,7 @@ void ClientConnection::send(std::shared_ptr<Packet> packet)
|
||||
void ClientConnection::handleTakeItemEntity(std::shared_ptr<TakeItemEntityPacket> packet)
|
||||
{
|
||||
std::shared_ptr<Entity> from = getEntity(packet->itemId);
|
||||
std::shared_ptr<Mob> to = std::dynamic_pointer_cast<Mob>(getEntity(packet->playerId));
|
||||
std::shared_ptr<Mob> to = dynamic_pointer_cast<Mob>(getEntity(packet->playerId));
|
||||
|
||||
// 4J - the original game could assume that if getEntity didn't find the player, it must be the local player. We
|
||||
// need to search all local players
|
||||
@@ -1240,7 +1240,7 @@ void ClientConnection::handleTakeItemEntity(std::shared_ptr<TakeItemEntityPacket
|
||||
// "from" reference if we've already removed the item for an earlier processed connection
|
||||
if( isLocalPlayer )
|
||||
{
|
||||
std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>(to);
|
||||
std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>(to);
|
||||
|
||||
// 4J Stu - Fix for #10213 - UI: Local clients cannot progress through the tutorial normally.
|
||||
// We only send this packet once if many local players can see the event, so make sure we update
|
||||
@@ -1571,7 +1571,7 @@ void ClientConnection::handleAnimate(std::shared_ptr<AnimatePacket> packet)
|
||||
if (e == NULL) return;
|
||||
if (packet->action == AnimatePacket::SWING)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
if(player != NULL) player->swing();
|
||||
}
|
||||
else if (packet->action == AnimatePacket::HURT)
|
||||
@@ -1580,7 +1580,7 @@ void ClientConnection::handleAnimate(std::shared_ptr<AnimatePacket> packet)
|
||||
}
|
||||
else if (packet->action == AnimatePacket::WAKE_UP)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
if(player != NULL) player->stopSleepInBed(false, false, false);
|
||||
}
|
||||
else if (packet->action == AnimatePacket::RESPAWN)
|
||||
@@ -1598,7 +1598,7 @@ void ClientConnection::handleAnimate(std::shared_ptr<AnimatePacket> packet)
|
||||
critParticle->CritParticlePostConstructor();
|
||||
minecraft->particleEngine->add(critParticle);
|
||||
}
|
||||
else if (packet->action == AnimatePacket::EAT && std::dynamic_pointer_cast<RemotePlayer>(e) != NULL)
|
||||
else if (packet->action == AnimatePacket::EAT && dynamic_pointer_cast<RemotePlayer>(e) != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1610,7 +1610,7 @@ void ClientConnection::handleEntityActionAtPosition(std::shared_ptr<EntityAction
|
||||
if (e == NULL) return;
|
||||
if (packet->action == EntityActionAtPositionPacket::START_SLEEP)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
player->startSleepInBed(packet->x, packet->y, packet->z);
|
||||
|
||||
if( player == minecraft->localplayers[m_userIndex] )
|
||||
@@ -2113,7 +2113,7 @@ void ClientConnection::handleAddMob(std::shared_ptr<AddMobPacket> packet)
|
||||
float yRot = packet->yRot * 360 / 256.0f;
|
||||
float xRot = packet->xRot * 360 / 256.0f;
|
||||
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(EntityIO::newById(packet->type, level));
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(EntityIO::newById(packet->type, level));
|
||||
mob->xp = packet->x;
|
||||
mob->yp = packet->y;
|
||||
mob->zp = packet->z;
|
||||
@@ -2153,7 +2153,7 @@ void ClientConnection::handleAddMob(std::shared_ptr<AddMobPacket> packet)
|
||||
// 4J Stu - Slimes have a different BB depending on their size which is set in the entity data, so update the BB
|
||||
if(mob->GetType() == eTYPE_SLIME || mob->GetType() == eTYPE_LAVASLIME)
|
||||
{
|
||||
std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(mob);
|
||||
std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(mob);
|
||||
slime->setSize( slime->getSize() );
|
||||
}
|
||||
}
|
||||
@@ -2176,7 +2176,7 @@ void ClientConnection::handleRidePacket(std::shared_ptr<SetRidingPacket> packet)
|
||||
std::shared_ptr<Entity> rider = getEntity(packet->riderId);
|
||||
std::shared_ptr<Entity> ridden = getEntity(packet->riddenId);
|
||||
|
||||
std::shared_ptr<Boat> boat = std::dynamic_pointer_cast<Boat>(ridden);
|
||||
std::shared_ptr<Boat> boat = dynamic_pointer_cast<Boat>(ridden);
|
||||
//if (packet->riderId == minecraft->player->entityId) rider = minecraft->player;
|
||||
if (packet->riderId == minecraft->localplayers[m_userIndex]->entityId)
|
||||
{
|
||||
@@ -2327,7 +2327,7 @@ void ClientConnection::handleTextureChange(std::shared_ptr<TextureChangePacket>
|
||||
{
|
||||
std::shared_ptr<Entity> e = getEntity(packet->id);
|
||||
if (e == NULL) return;
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
if( e == NULL) return;
|
||||
|
||||
bool isLocalPlayer = false;
|
||||
@@ -2382,7 +2382,7 @@ void ClientConnection::handleTextureAndGeometryChange(std::shared_ptr<TextureAnd
|
||||
{
|
||||
std::shared_ptr<Entity> e = getEntity(packet->id);
|
||||
if (e == NULL) return;
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
if( e == NULL) return;
|
||||
|
||||
bool isLocalPlayer = false;
|
||||
@@ -2765,9 +2765,9 @@ void ClientConnection::handleSignUpdate(std::shared_ptr<SignUpdatePacket> packet
|
||||
std::shared_ptr<TileEntity> te = minecraft->level->getTileEntity(packet->x, packet->y, packet->z);
|
||||
|
||||
// 4J-PB - on a client connecting, the line below fails
|
||||
if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
{
|
||||
std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
|
||||
std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
|
||||
for (int i = 0; i < MAX_SIGN_LINES; i++)
|
||||
{
|
||||
ste->SetMessage(i,packet->lines[i]);
|
||||
@@ -2781,7 +2781,7 @@ void ClientConnection::handleSignUpdate(std::shared_ptr<SignUpdatePacket> packet
|
||||
}
|
||||
else
|
||||
{
|
||||
app.DebugPrintf("std::dynamic_pointer_cast<SignTileEntity>(te) == NULL\n");
|
||||
app.DebugPrintf("dynamic_pointer_cast<SignTileEntity>(te) == NULL\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2798,9 +2798,9 @@ void ClientConnection::handleTileEntityData(std::shared_ptr<TileEntityDataPacket
|
||||
|
||||
if (te != NULL)
|
||||
{
|
||||
if (packet->type == TileEntityDataPacket::TYPE_MOB_SPAWNER && std::dynamic_pointer_cast<MobSpawnerTileEntity>(te) != NULL)
|
||||
if (packet->type == TileEntityDataPacket::TYPE_MOB_SPAWNER && dynamic_pointer_cast<MobSpawnerTileEntity>(te) != NULL)
|
||||
{
|
||||
std::dynamic_pointer_cast<MobSpawnerTileEntity>(te)->load(packet->tag);
|
||||
dynamic_pointer_cast<MobSpawnerTileEntity>(te)->load(packet->tag);
|
||||
}
|
||||
//else if (packet.type == TileEntityDataPacket.TYPE_ADV_COMMAND && (te instanceof CommandBlockEntity))
|
||||
//{
|
||||
@@ -2810,9 +2810,9 @@ void ClientConnection::handleTileEntityData(std::shared_ptr<TileEntityDataPacket
|
||||
//{
|
||||
// ((BeaconTileEntity) te).load(packet.tag);
|
||||
//}
|
||||
else if (packet->type == TileEntityDataPacket::TYPE_SKULL && std::dynamic_pointer_cast<SkullTileEntity>(te) != NULL)
|
||||
else if (packet->type == TileEntityDataPacket::TYPE_SKULL && dynamic_pointer_cast<SkullTileEntity>(te) != NULL)
|
||||
{
|
||||
std::dynamic_pointer_cast<SkullTileEntity>(te)->load(packet->tag);
|
||||
dynamic_pointer_cast<SkullTileEntity>(te)->load(packet->tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2971,17 +2971,17 @@ void ClientConnection::handleAwardStat(std::shared_ptr<AwardStatPacket> packet)
|
||||
void ClientConnection::handleUpdateMobEffect(std::shared_ptr<UpdateMobEffectPacket> packet)
|
||||
{
|
||||
std::shared_ptr<Entity> e = getEntity(packet->entityId);
|
||||
if (e == NULL || std::dynamic_pointer_cast<Mob>(e) == NULL) return;
|
||||
if (e == NULL || dynamic_pointer_cast<Mob>(e) == NULL) return;
|
||||
|
||||
( std::dynamic_pointer_cast<Mob>(e) )->addEffect(new MobEffectInstance(packet->effectId, packet->effectDurationTicks, packet->effectAmplifier));
|
||||
( dynamic_pointer_cast<Mob>(e) )->addEffect(new MobEffectInstance(packet->effectId, packet->effectDurationTicks, packet->effectAmplifier));
|
||||
}
|
||||
|
||||
void ClientConnection::handleRemoveMobEffect(std::shared_ptr<RemoveMobEffectPacket> packet)
|
||||
{
|
||||
std::shared_ptr<Entity> e = getEntity(packet->entityId);
|
||||
if (e == NULL || std::dynamic_pointer_cast<Mob>(e) == NULL) return;
|
||||
if (e == NULL || dynamic_pointer_cast<Mob>(e) == NULL) return;
|
||||
|
||||
( std::dynamic_pointer_cast<Mob>(e) )->removeEffectNoUpdate(packet->effectId);
|
||||
( dynamic_pointer_cast<Mob>(e) )->removeEffectNoUpdate(packet->effectId);
|
||||
}
|
||||
|
||||
bool ClientConnection::isServerPacketListener()
|
||||
@@ -3008,7 +3008,7 @@ void ClientConnection::handlePlayerInfo(std::shared_ptr<PlayerInfoPacket> packet
|
||||
std::shared_ptr<Entity> entity = getEntity(packet->m_entityId);
|
||||
if(entity != NULL && entity->GetType() == eTYPE_PLAYER)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(entity);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(entity);
|
||||
player->setPlayerGamePrivilege(Player::ePlayerGamePrivilege_All, packet->m_playerPrivileges);
|
||||
}
|
||||
if(networkPlayer != NULL && networkPlayer->IsLocal())
|
||||
|
||||
@@ -118,9 +118,9 @@ bool AddItemRuleDefinition::addItemToContainer(std::shared_ptr<Container> contai
|
||||
container->setItem( slotId, newItem );
|
||||
added = true;
|
||||
}
|
||||
else if(std::dynamic_pointer_cast<Inventory>(container) != NULL)
|
||||
else if(dynamic_pointer_cast<Inventory>(container) != NULL)
|
||||
{
|
||||
added = std::dynamic_pointer_cast<Inventory>(container)->add(newItem);
|
||||
added = dynamic_pointer_cast<Inventory>(container)->add(newItem);
|
||||
}
|
||||
}
|
||||
return added;
|
||||
|
||||
@@ -499,7 +499,7 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk *chunk, AABB *chunkBox,
|
||||
|
||||
if( e->GetType() == eTYPE_PAINTING )
|
||||
{
|
||||
std::shared_ptr<Painting> painting = std::dynamic_pointer_cast<Painting>(e);
|
||||
std::shared_ptr<Painting> painting = dynamic_pointer_cast<Painting>(e);
|
||||
|
||||
double tileX = painting->xTile;
|
||||
double tileZ = painting->zTile;
|
||||
@@ -512,7 +512,7 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk *chunk, AABB *chunkBox,
|
||||
}
|
||||
else if( e->GetType() == eTYPE_ITEM_FRAME )
|
||||
{
|
||||
std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame>(e);
|
||||
std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
|
||||
|
||||
double tileX = frame->xTile;
|
||||
double tileZ = frame->zTile;
|
||||
|
||||
@@ -78,7 +78,7 @@ bool XboxStructureActionPlaceContainer::placeContainerInLevel(StructurePiece *st
|
||||
}
|
||||
|
||||
level->setTile( worldX, worldY, worldZ, m_tile );
|
||||
std::shared_ptr<Container> container = std::dynamic_pointer_cast<Container>(level->getTileEntity( worldX, worldY, worldZ ));
|
||||
std::shared_ptr<Container> container = dynamic_pointer_cast<Container>(level->getTileEntity( worldX, worldY, worldZ ));
|
||||
|
||||
app.DebugPrintf("XboxStructureActionPlaceContainer - placing a container at (%d,%d,%d)\n", worldX, worldY, worldZ);
|
||||
if ( container != NULL )
|
||||
|
||||
@@ -54,7 +54,7 @@ bool XboxStructureActionPlaceSpawner::placeSpawnerInLevel(StructurePiece *struct
|
||||
}
|
||||
|
||||
level->setTile( worldX, worldY, worldZ, m_tile );
|
||||
std::shared_ptr<MobSpawnerTileEntity> entity = std::dynamic_pointer_cast<MobSpawnerTileEntity>(level->getTileEntity( worldX, worldY, worldZ ));
|
||||
std::shared_ptr<MobSpawnerTileEntity> entity = dynamic_pointer_cast<MobSpawnerTileEntity>(level->getTileEntity( worldX, worldY, worldZ ));
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
wprintf(L"XboxStructureActionPlaceSpawner - placing a %ls spawner at (%d,%d,%d)\n", m_entityId.c_str(), worldX, worldY, worldZ);
|
||||
|
||||
@@ -62,7 +62,7 @@ int DiggerItemHint::attack(std::shared_ptr<ItemInstance> item, std::shared_ptr<E
|
||||
if(itemFound)
|
||||
{
|
||||
// It's also possible that we could hit TileEntities (eg falling sand) so don't want to give this hint then
|
||||
if( std::dynamic_pointer_cast<Mob>( entity ) != NULL )
|
||||
if( dynamic_pointer_cast<Mob>( entity ) != NULL )
|
||||
{
|
||||
return IDS_TUTORIAL_HINT_ATTACK_WITH_TOOL;
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ void IUIScene_AnvilMenu::handleTick()
|
||||
wchar_t temp[256];
|
||||
swprintf(temp, 256, costString, m_repairMenu->cost);
|
||||
m_costString = temp;
|
||||
if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(std::dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
|
||||
if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
|
||||
{
|
||||
canAfford = false;
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
|
||||
if(pRecipeIngredientsRequired[iRecipe].bCanMake[iPad])
|
||||
{
|
||||
pTempItemInst->onCraftedBy(m_pPlayer->level, std::dynamic_pointer_cast<Player>( m_pPlayer->shared_from_this() ), pTempItemInst->count );
|
||||
pTempItemInst->onCraftedBy(m_pPlayer->level, dynamic_pointer_cast<Player>( m_pPlayer->shared_from_this() ), pTempItemInst->count );
|
||||
// TODO 4J Stu - handleCraftItem should do a lot more than what it does, loads of the "can we craft" code should also probably be
|
||||
// shifted to the GameMode
|
||||
pMinecraft->localgameModes[iPad]->handleCraftItem(iRecipe,m_pPlayer);
|
||||
|
||||
@@ -140,7 +140,7 @@ void IUIScene_EnchantingMenu::handleOtherClicked(int iPad, ESceneSection eSectio
|
||||
break;
|
||||
};
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
if (index >= 0 && m_menu->clickMenuButton(std::dynamic_pointer_cast<Player>(pMinecraft->localplayers[iPad]), index))
|
||||
if (index >= 0 && m_menu->clickMenuButton(dynamic_pointer_cast<Player>(pMinecraft->localplayers[iPad]), index))
|
||||
{
|
||||
pMinecraft->localgameModes[iPad]->handleInventoryButtonClick(m_menu->containerId, index);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ UIScene_AnvilMenu::UIScene_AnvilMenu(int iPad, void *_initData, UILayer *parentL
|
||||
wchar_t temp[256];
|
||||
swprintf(temp, 256, costString, m_repairMenu->cost);
|
||||
m_costString = temp;
|
||||
if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(std::dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
|
||||
if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
|
||||
{
|
||||
expensive = true;
|
||||
}
|
||||
@@ -395,6 +395,6 @@ void UIScene_AnvilMenu::handleDestroy()
|
||||
// another player destroyed the anvil, so shut down the keyboard if it is displayed
|
||||
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO)
|
||||
InputManager.DestroyKeyboard();
|
||||
#endif
|
||||
#endif
|
||||
UIScene_AbstractContainerMenu::handleDestroy();
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ void UIScene_DebugOverlay::handlePress(F64 controlId, F64 childId)
|
||||
int id = childId;
|
||||
//app.SetXuiServerAction(m_iPad, eXuiServerAction_DropItem, (void *)m_itemIds[id]);
|
||||
ClientConnection *conn = Minecraft::GetInstance()->getConnection(ProfileManager.GetPrimaryPad());
|
||||
conn->send( GiveItemCommand::preparePacket(std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_itemIds[id]) );
|
||||
conn->send( GiveItemCommand::preparePacket(dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_itemIds[id]) );
|
||||
}
|
||||
break;
|
||||
case eControl_Mobs:
|
||||
@@ -185,7 +185,7 @@ void UIScene_DebugOverlay::handlePress(F64 controlId, F64 childId)
|
||||
{
|
||||
int id = childId;
|
||||
ClientConnection *conn = Minecraft::GetInstance()->getConnection(ProfileManager.GetPrimaryPad());
|
||||
conn->send( EnchantItemCommand::preparePacket(std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_enchantmentIdAndLevels[id].first, m_enchantmentIdAndLevels[id].second) );
|
||||
conn->send( EnchantItemCommand::preparePacket(dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_enchantmentIdAndLevels[id].first, m_enchantmentIdAndLevels[id].second) );
|
||||
}
|
||||
break;
|
||||
case eControl_Schematic:
|
||||
|
||||
@@ -49,7 +49,7 @@ HRESULT CXuiCtrlSlotItemCtrlBase::OnCustomMessage_GetSlotItem(HXUIOBJ hObj, Cust
|
||||
}
|
||||
else if(pUserDataContainer->m_iPad >= 0 && pUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
if(player != NULL) item = player->inventory->getCarried();
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ bool CXuiCtrlSlotItemCtrlBase::isEmpty( HXUIOBJ hObj )
|
||||
}
|
||||
else if(pUserDataContainer->m_iPad >= 0 && pUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
if(player != NULL) return player->inventory->getCarried() == NULL;
|
||||
|
||||
}
|
||||
@@ -167,7 +167,7 @@ wstring CXuiCtrlSlotItemCtrlBase::GetItemDescription( HXUIOBJ hObj, vector<wstri
|
||||
}
|
||||
else if(pUserDataContainer->m_iPad >= 0 && pUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
if(player != NULL)
|
||||
{
|
||||
std::shared_ptr<ItemInstance> item = player->inventory->getCarried();
|
||||
@@ -190,7 +190,7 @@ std::shared_ptr<ItemInstance> CXuiCtrlSlotItemCtrlBase::getItemInstance( HXUIOBJ
|
||||
}
|
||||
else if(pUserDataContainer->m_iPad >= 0 && pUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
if(player != NULL) return player->inventory->getCarried();
|
||||
|
||||
}
|
||||
@@ -268,7 +268,7 @@ int CXuiCtrlSlotItemCtrlBase::GetObjectCount( HXUIOBJ hObj )
|
||||
}
|
||||
else if(pUserDataContainer->m_iPad >= 0 && pUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad] );
|
||||
if(player != NULL && player->inventory->getCarried() != NULL)
|
||||
{
|
||||
iCount = player->inventory->getCarried()->count;
|
||||
@@ -309,7 +309,7 @@ bool CXuiCtrlSlotItemCtrlBase::IsSameItemAs( HXUIOBJ hThisObj, HXUIOBJ hOtherObj
|
||||
}
|
||||
else if(pThisUserDataContainer->m_iPad >= 0 && pThisUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pThisUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pThisUserDataContainer->m_iPad] );
|
||||
if(player != NULL && player->inventory->getCarried() != NULL)
|
||||
{
|
||||
iThisID = player->inventory->getCarried()->id;
|
||||
@@ -336,7 +336,7 @@ bool CXuiCtrlSlotItemCtrlBase::IsSameItemAs( HXUIOBJ hThisObj, HXUIOBJ hOtherObj
|
||||
}
|
||||
else if(pOtherUserDataContainer->m_iPad >= 0 && pOtherUserDataContainer->m_iPad < XUSER_MAX_COUNT)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pOtherUserDataContainer->m_iPad] );
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>( Minecraft::GetInstance()->localplayers[pOtherUserDataContainer->m_iPad] );
|
||||
if(player != NULL && player->inventory->getCarried() != NULL)
|
||||
{
|
||||
iOtherID = player->inventory->getCarried()->id;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "..\..\..\Minecraft.World\net.minecraft.commands.common.h"
|
||||
#include "..\..\..\Minecraft.World\ConsoleSaveFileOriginal.h"
|
||||
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
{
|
||||
MapChildControls();
|
||||
@@ -53,7 +53,7 @@ HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
m_enchantmentIds.push_back(ench->id);
|
||||
m_enchantments.SetText( i, app.GetString( ench->getDescriptionId() ) );
|
||||
}
|
||||
|
||||
|
||||
m_mobs.InsertItems( 0, 21 );
|
||||
|
||||
m_mobs.SetText( m_mobFactories.size(), L"Chicken" );
|
||||
@@ -98,7 +98,7 @@ HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
m_mobFactories.push_back(eTYPE_BLAZE);
|
||||
m_mobs.SetText( m_mobFactories.size(), L"Magma Cube" );
|
||||
m_mobFactories.push_back(eTYPE_LAVASLIME);
|
||||
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
m_setTime.SetValue( pMinecraft->level->getLevelData()->getTime() % 24000 );
|
||||
@@ -128,14 +128,14 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
int id = m_itemIds[nIndex];
|
||||
//app.SetXuiServerAction(pNotifyPressData->UserIndex, eXuiServerAction_DropItem, (void *)id);
|
||||
ClientConnection *conn = Minecraft::GetInstance()->getConnection(ProfileManager.GetPrimaryPad());
|
||||
conn->send( GiveItemCommand::preparePacket(std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), id) );
|
||||
conn->send( GiveItemCommand::preparePacket(dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), id) );
|
||||
}
|
||||
}
|
||||
else if ( hObjPressed == m_mobs )
|
||||
{
|
||||
nIndex = m_mobs.GetCurSel();
|
||||
if(nIndex<m_mobFactories.size())
|
||||
{
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_SpawnMob,(void *)m_mobFactories[nIndex]);
|
||||
}
|
||||
}
|
||||
@@ -143,7 +143,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
{
|
||||
nIndex = m_enchantments.GetCurSel();
|
||||
ClientConnection *conn = Minecraft::GetInstance()->getConnection(ProfileManager.GetPrimaryPad());
|
||||
conn->send( EnchantItemCommand::preparePacket(std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_enchantmentIds[nIndex]) );
|
||||
conn->send( EnchantItemCommand::preparePacket(dynamic_pointer_cast<Player>(Minecraft::GetInstance()->localplayers[ProfileManager.GetPrimaryPad()]), m_enchantmentIds[nIndex]) );
|
||||
}
|
||||
/*else if( hObjPressed == m_saveToDisc ) // 4J-JEV: Doesn't look like we use this debug option anymore.
|
||||
{
|
||||
@@ -171,7 +171,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
HXUIOBJ hScene;
|
||||
HRESULT hr;
|
||||
//const WCHAR XZP_SEPARATOR = L'#';
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
|
||||
swprintf(szResourceLocator, LOCATOR_SIZE, L"section://%X,%ls#%ls",c_ModuleHandle,L"media", L"media/");
|
||||
@@ -189,7 +189,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
HXUIOBJ hScene;
|
||||
HRESULT hr;
|
||||
//const WCHAR XZP_SEPARATOR = L'#';
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
|
||||
swprintf(szResourceLocator, LOCATOR_SIZE, L"section://%X,%ls#%ls",c_ModuleHandle,L"media", L"media/");
|
||||
@@ -256,7 +256,7 @@ HRESULT CScene_DebugOverlay::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINotify
|
||||
if( hObjSource == m_setTime )
|
||||
{
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
|
||||
// Need to set the time on both levels to stop the flickering as the local level
|
||||
// tries to predict the time
|
||||
// Only works if we are on the host machine, but shouldn't break if not
|
||||
|
||||
@@ -11,7 +11,7 @@ CraftingScreen::CraftingScreen(std::shared_ptr<Inventory> inventory, Level *leve
|
||||
void CraftingScreen::removed()
|
||||
{
|
||||
AbstractContainerScreen::removed();
|
||||
menu->removed(std::dynamic_pointer_cast<Player>(minecraft->player));
|
||||
menu->removed(dynamic_pointer_cast<Player>(minecraft->player));
|
||||
}
|
||||
|
||||
void CraftingScreen::renderLabels()
|
||||
|
||||
@@ -11,7 +11,7 @@ CreeperRenderer::CreeperRenderer() : MobRenderer( new CreeperModel(), 0.5f )
|
||||
|
||||
void CreeperRenderer::scale(std::shared_ptr<Mob> mob, float a)
|
||||
{
|
||||
std::shared_ptr<Creeper> creeper = std::dynamic_pointer_cast<Creeper>(mob);
|
||||
std::shared_ptr<Creeper> creeper = dynamic_pointer_cast<Creeper>(mob);
|
||||
|
||||
float g = creeper->getSwelling(a);
|
||||
|
||||
@@ -27,7 +27,7 @@ void CreeperRenderer::scale(std::shared_ptr<Mob> mob, float a)
|
||||
|
||||
int CreeperRenderer::getOverlayColor(std::shared_ptr<Mob> mob, float br, float a)
|
||||
{
|
||||
std::shared_ptr<Creeper> creeper = std::dynamic_pointer_cast<Creeper>(mob);
|
||||
std::shared_ptr<Creeper> creeper = dynamic_pointer_cast<Creeper>(mob);
|
||||
|
||||
float step = creeper->getSwelling(a);
|
||||
|
||||
@@ -47,7 +47,7 @@ int CreeperRenderer::getOverlayColor(std::shared_ptr<Mob> mob, float br, float a
|
||||
int CreeperRenderer::prepareArmor(std::shared_ptr<Mob> _mob, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Creeper> mob = std::dynamic_pointer_cast<Creeper>(_mob);
|
||||
std::shared_ptr<Creeper> mob = dynamic_pointer_cast<Creeper>(_mob);
|
||||
if (mob->isPowered())
|
||||
{
|
||||
if (mob->isInvisible()) glDepthMask(false);
|
||||
|
||||
@@ -114,7 +114,7 @@ void DragonModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r,
|
||||
void DragonModel::render(std::shared_ptr<Entity> entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled)
|
||||
{
|
||||
glPushMatrix();
|
||||
std::shared_ptr<EnderDragon> dragon = std::dynamic_pointer_cast<EnderDragon>(entity);
|
||||
std::shared_ptr<EnderDragon> dragon = dynamic_pointer_cast<EnderDragon>(entity);
|
||||
|
||||
float ttt = dragon->oFlapTime + (dragon->flapTime - dragon->oFlapTime) * a;
|
||||
jaw->xRot = (float) (Mth::sin(ttt * PI * 2) + 1) * 0.2f;
|
||||
|
||||
@@ -17,7 +17,7 @@ EnchantTableRenderer::~EnchantTableRenderer()
|
||||
void EnchantTableRenderer::render(std::shared_ptr<TileEntity> _table, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J Convert as we aren't using a templated class
|
||||
std::shared_ptr<EnchantmentTableEntity> table = std::dynamic_pointer_cast<EnchantmentTableEntity>(_table);
|
||||
std::shared_ptr<EnchantmentTableEntity> table = dynamic_pointer_cast<EnchantmentTableEntity>(_table);
|
||||
|
||||
#ifdef __PSVITA__
|
||||
// AP - the book pages are made with 0 depth so the front and back polys are at the same location. This can cause z-fighting if culling is disabled which can sometimes happen
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
void EnderChestRenderer::render(std::shared_ptr<TileEntity> _chest, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J Convert as we aren't using a templated class
|
||||
std::shared_ptr<EnderChestTileEntity> chest = std::dynamic_pointer_cast<EnderChestTileEntity>(_chest);
|
||||
std::shared_ptr<EnderChestTileEntity> chest = dynamic_pointer_cast<EnderChestTileEntity>(_chest);
|
||||
|
||||
int data = 0;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ void EnderCrystalRenderer::render(std::shared_ptr<Entity> _crystal, double x, do
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type EnderCrystal rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<EnderCrystal> crystal = std::dynamic_pointer_cast<EnderCrystal>(_crystal);
|
||||
std::shared_ptr<EnderCrystal> crystal = dynamic_pointer_cast<EnderCrystal>(_crystal);
|
||||
if (currentModel != EnderCrystalModel::MODEL_ID)
|
||||
{
|
||||
model = new EnderCrystalModel(0);
|
||||
|
||||
@@ -18,7 +18,7 @@ EnderDragonRenderer::EnderDragonRenderer() : MobRenderer(new DragonModel(0), 0.5
|
||||
void EnderDragonRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
|
||||
// 4J - reorganised a bit so we can free allocations
|
||||
double lpComponents[3];
|
||||
@@ -49,7 +49,7 @@ void EnderDragonRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, f
|
||||
void EnderDragonRenderer::renderModel(std::shared_ptr<Entity> _mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
|
||||
if (mob->dragonDeathTime > 0)
|
||||
{
|
||||
@@ -90,7 +90,7 @@ void EnderDragonRenderer::renderModel(std::shared_ptr<Entity> _mob, float wp, fl
|
||||
void EnderDragonRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
EnderDragonRenderer::bossInstance = mob;
|
||||
if (currentModel != DragonModel::MODEL_ID)
|
||||
{
|
||||
@@ -170,7 +170,7 @@ void EnderDragonRenderer::render(std::shared_ptr<Entity> _mob, double x, double
|
||||
void EnderDragonRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
MobRenderer::additionalRendering(mob, a);
|
||||
Tesselator *t = Tesselator::getInstance();
|
||||
|
||||
@@ -230,7 +230,7 @@ void EnderDragonRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a
|
||||
int EnderDragonRenderer::prepareArmor(std::shared_ptr<Mob> _mob, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
|
||||
|
||||
if (layer == 1)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ void EndermanRenderer::render(std::shared_ptr<Entity> _mob, double x, double y,
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
|
||||
std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
|
||||
|
||||
model->carrying = mob->getCarryingTile() > 0;
|
||||
model->creepy = mob->isCreepy();
|
||||
@@ -33,7 +33,7 @@ void EndermanRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
|
||||
std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
|
||||
|
||||
MobRenderer::additionalRendering(_mob, a);
|
||||
|
||||
@@ -72,7 +72,7 @@ int EndermanRenderer::prepareArmor(std::shared_ptr<Mob> _mob, int layer, float a
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
|
||||
std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
|
||||
|
||||
if (layer != 0) return -1;
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ void EntityRenderDispatcher::prepare(Level *level, Textures *textures, Font *fon
|
||||
playerRotX = player->xRotO + (player->xRot - player->xRotO) * a;
|
||||
}
|
||||
|
||||
std::shared_ptr<Player> pl = std::dynamic_pointer_cast<Player>(player);
|
||||
std::shared_ptr<Player> pl = dynamic_pointer_cast<Player>(player);
|
||||
if (pl->ThirdPersonView() == 2)
|
||||
{
|
||||
playerRotY += 180;
|
||||
|
||||
@@ -160,17 +160,17 @@ void EntityRenderer::renderShadow(std::shared_ptr<Entity> e, double x, double y,
|
||||
|
||||
glDepthMask(false);
|
||||
float r = shadowRadius;
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(e);
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(e);
|
||||
bool isLocalPlayer = false;
|
||||
float fYLocalPlayerShadowOffset=0.0f;
|
||||
|
||||
//if (std::dynamic_pointer_cast<Mob>(e) != NULL)
|
||||
//if (dynamic_pointer_cast<Mob>(e) != NULL)
|
||||
if (mob != NULL)
|
||||
{
|
||||
//std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(e);
|
||||
//std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(e);
|
||||
r *= mob->getSizeScale();
|
||||
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(mob);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(mob);
|
||||
if (animal != NULL)
|
||||
{
|
||||
if (animal->isBaby())
|
||||
@@ -179,7 +179,7 @@ void EntityRenderer::renderShadow(std::shared_ptr<Entity> e, double x, double y,
|
||||
}
|
||||
}
|
||||
|
||||
if(std::dynamic_pointer_cast<LocalPlayer>(mob)!=NULL)
|
||||
if(dynamic_pointer_cast<LocalPlayer>(mob)!=NULL)
|
||||
{
|
||||
isLocalPlayer=true;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ void EntityTracker::addEntity(std::shared_ptr<Entity> e)
|
||||
if (e->GetType() == eTYPE_SERVERPLAYER)
|
||||
{
|
||||
addEntity(e, 32 * 16, 2);
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
|
||||
for( AUTO_VAR(it, entities.begin()); it != entities.end(); it++ )
|
||||
{
|
||||
if( (*it)->e != player )
|
||||
@@ -55,7 +55,7 @@ void EntityTracker::addEntity(std::shared_ptr<Entity> e)
|
||||
else if (e->GetType() == eTYPE_MINECART) addEntity(e, 16 * 5, 3, true);
|
||||
else if (e->GetType() == eTYPE_BOAT) addEntity(e, 16 * 5, 3, true);
|
||||
else if (e->GetType() == eTYPE_SQUID) addEntity(e, 16 * 4, 3, true);
|
||||
else if (std::dynamic_pointer_cast<Creature>(e)!=NULL) addEntity(e, 16 * 5, 3, true);
|
||||
else if (dynamic_pointer_cast<Creature>(e)!=NULL) addEntity(e, 16 * 5, 3, true);
|
||||
else if (e->GetType() == eTYPE_ENDERDRAGON ) addEntity(e, 16 * 10, 3, true);
|
||||
else if (e->GetType() == eTYPE_PRIMEDTNT) addEntity(e, 16 * 10, 10, true);
|
||||
else if (e->GetType() == eTYPE_FALLINGTILE) addEntity(e, 16 * 10, 20, true);
|
||||
@@ -105,7 +105,7 @@ void EntityTracker::removePlayer(std::shared_ptr<Entity> e)
|
||||
{
|
||||
if (e->GetType() == eTYPE_SERVERPLAYER)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
|
||||
for( AUTO_VAR(it, entities.begin()); it != entities.end(); it++ )
|
||||
{
|
||||
(*it)->removePlayer(player);
|
||||
@@ -115,14 +115,14 @@ void EntityTracker::removePlayer(std::shared_ptr<Entity> e)
|
||||
|
||||
void EntityTracker::tick()
|
||||
{
|
||||
std::vector<std::shared_ptr<ServerPlayer> > movedPlayers;
|
||||
vector<std::shared_ptr<ServerPlayer> > movedPlayers;
|
||||
for( AUTO_VAR(it, entities.begin()); it != entities.end(); it++ )
|
||||
{
|
||||
std::shared_ptr<TrackedEntity> te = *it;
|
||||
te->tick(this, &level->players);
|
||||
if (te->moved && te->e->GetType() == eTYPE_SERVERPLAYER)
|
||||
{
|
||||
movedPlayers.push_back(std::dynamic_pointer_cast<ServerPlayer>(te->e));
|
||||
movedPlayers.push_back(dynamic_pointer_cast<ServerPlayer>(te->e));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ void EntityTracker::tick()
|
||||
// 4J Stu - We want to do this for dead players as they don't tick normally
|
||||
for(AUTO_VAR(it, level->players.begin()); it != level->players.end(); ++it)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
if(!player->isAlive())
|
||||
{
|
||||
player->flushEntitiesToRemove();
|
||||
|
||||
@@ -21,7 +21,7 @@ ExperienceOrbRenderer::ExperienceOrbRenderer()
|
||||
|
||||
void ExperienceOrbRenderer::render(std::shared_ptr<Entity> _orb, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
std::shared_ptr<ExperienceOrb> orb = std::dynamic_pointer_cast<ExperienceOrb>(_orb);
|
||||
std::shared_ptr<ExperienceOrb> orb = dynamic_pointer_cast<ExperienceOrb>(_orb);
|
||||
glPushMatrix();
|
||||
glTranslatef((float) x, (float) y, (float) z);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ FallingTileRenderer::FallingTileRenderer() : EntityRenderer()
|
||||
void FallingTileRenderer::render(std::shared_ptr<Entity> _tile, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<FallingTile> tile = std::dynamic_pointer_cast<FallingTile>(_tile);
|
||||
std::shared_ptr<FallingTile> tile = dynamic_pointer_cast<FallingTile>(_tile);
|
||||
glPushMatrix();
|
||||
glTranslatef((float) x, (float) y, (float) z);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ FireballRenderer::FireballRenderer(float scale)
|
||||
void FireballRenderer::render(std::shared_ptr<Entity> _fireball, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Fireball> fireball = std::dynamic_pointer_cast<Fireball>(_fireball);
|
||||
std::shared_ptr<Fireball> fireball = dynamic_pointer_cast<Fireball>(_fireball);
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
void FishingHookRenderer::render(std::shared_ptr<Entity> _hook, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<FishingHook> hook = std::dynamic_pointer_cast<FishingHook>(_hook);
|
||||
std::shared_ptr<FishingHook> hook = dynamic_pointer_cast<FishingHook>(_hook);
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
@@ -62,7 +62,7 @@ void FishingHookRenderer::render(std::shared_ptr<Entity> _hook, double x, double
|
||||
double xp = hook->owner->xo + (hook->owner->x - hook->owner->xo) * a + vv->x;
|
||||
double yp = hook->owner->yo + (hook->owner->y - hook->owner->yo) * a + vv->y;
|
||||
double zp = hook->owner->zo + (hook->owner->z - hook->owner->zo) * a + vv->z;
|
||||
double yOffset = hook->owner != std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player) ? hook->owner->getHeadHeight() : 0;
|
||||
double yOffset = hook->owner != dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player) ? hook->owner->getHeadHeight() : 0;
|
||||
|
||||
// 4J-PB - changing this to be per player
|
||||
//if (this->entityRenderDispatcher->options->thirdPersonView)
|
||||
|
||||
@@ -276,7 +276,7 @@ void GameRenderer::tick(bool first) // 4J - add bFirst
|
||||
|
||||
if (mc->cameraTargetPlayer == NULL)
|
||||
{
|
||||
mc->cameraTargetPlayer = std::dynamic_pointer_cast<Mob>(mc->player);
|
||||
mc->cameraTargetPlayer = dynamic_pointer_cast<Mob>(mc->player);
|
||||
}
|
||||
|
||||
float brr = mc->level->getBrightness(Mth::floor(mc->cameraTargetPlayer->x), Mth::floor(mc->cameraTargetPlayer->y), Mth::floor(mc->cameraTargetPlayer->z));
|
||||
@@ -407,7 +407,7 @@ float GameRenderer::GetFovVal()
|
||||
|
||||
void GameRenderer::tickFov()
|
||||
{
|
||||
std::shared_ptr<LocalPlayer>player = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<LocalPlayer>player = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
|
||||
int playerIdx = player ? player->GetXboxPad() : 0;
|
||||
tFov[playerIdx] = player->getFieldOfViewModifier();
|
||||
@@ -420,7 +420,7 @@ float GameRenderer::getFov(float a, bool applyEffects)
|
||||
{
|
||||
if (cameraFlip > 0 ) return 90;
|
||||
|
||||
std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
int playerIdx = player ? player->GetXboxPad() : 0;
|
||||
float fov = m_fov;//70;
|
||||
if (applyEffects)
|
||||
@@ -470,12 +470,12 @@ void GameRenderer::bobHurt(float a)
|
||||
|
||||
void GameRenderer::bobView(float a)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
|
||||
if(player==NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
|
||||
//std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
|
||||
|
||||
float wda = player->walkDist - player->walkDistO;
|
||||
float b = -(player->walkDist + wda * a);
|
||||
@@ -490,7 +490,7 @@ void GameRenderer::bobView(float a)
|
||||
void GameRenderer::moveCameraToPlayer(float a)
|
||||
{
|
||||
std::shared_ptr<Mob> player = mc->cameraTargetPlayer;
|
||||
std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
float heightOffset = player->heightOffset - 1.62f;
|
||||
|
||||
double x = player->xo + (player->x - player->xo) * a;
|
||||
@@ -719,7 +719,7 @@ void GameRenderer::renderItemInHand(float a, int eye)
|
||||
{
|
||||
if (cameraFlip > 0) return;
|
||||
|
||||
std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
|
||||
// 4J-PB - to turn off the hand for screenshots, but not when the item held is a map
|
||||
if ( localplayer!=NULL)
|
||||
@@ -1383,10 +1383,10 @@ void GameRenderer::renderLevel(float a, int64_t until)
|
||||
PIXEndNamedEvent();
|
||||
turnOffLightLayer(a); // 4J - brought forward from 1.8.2
|
||||
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
|
||||
if (mc->hitResult != NULL && cameraEntity->isUnderLiquid(Material::water) && player!=NULL) //&& !mc->options.hideGui)
|
||||
{
|
||||
//std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
|
||||
//std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
levelRenderer->renderHit(player, mc->hitResult, 0, player->inventory->getSelected(), a);
|
||||
levelRenderer->renderHitOutline(player, mc->hitResult, 0, player->inventory->getSelected(), a);
|
||||
@@ -1441,11 +1441,11 @@ void GameRenderer::renderLevel(float a, int64_t until)
|
||||
glEnable(GL_CULL_FACE);
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
if (zoom == 1 && (std::dynamic_pointer_cast<Player>(cameraEntity)!=NULL)) //&& !mc->options.hideGui)
|
||||
if (zoom == 1 && (dynamic_pointer_cast<Player>(cameraEntity)!=NULL)) //&& !mc->options.hideGui)
|
||||
{
|
||||
if (mc->hitResult != NULL && !cameraEntity->isUnderLiquid(Material::water))
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
levelRenderer->renderHit(player, mc->hitResult, 0, player->inventory->getSelected(), a);
|
||||
levelRenderer->renderHitOutline(player, mc->hitResult, 0, player->inventory->getSelected(), a);
|
||||
@@ -1462,7 +1462,7 @@ void GameRenderer::renderLevel(float a, int64_t until)
|
||||
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
|
||||
levelRenderer->renderDestroyAnimation(Tesselator::getInstance(), std::dynamic_pointer_cast<Player>(cameraEntity), a);
|
||||
levelRenderer->renderDestroyAnimation(Tesselator::getInstance(), dynamic_pointer_cast<Player>(cameraEntity), a);
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
if (mc->options->isCloudsOn())
|
||||
@@ -1957,9 +1957,9 @@ void GameRenderer::setupFog(int i, float alpha)
|
||||
|
||||
// 4J - check for creative mode brought forward from 1.2.3
|
||||
bool creative = false;
|
||||
if (std::dynamic_pointer_cast<Player>(player) )
|
||||
if (dynamic_pointer_cast<Player>(player) )
|
||||
{
|
||||
creative = (std::dynamic_pointer_cast<Player>(player))->abilities.instabuild;
|
||||
creative = (dynamic_pointer_cast<Player>(player))->abilities.instabuild;
|
||||
}
|
||||
|
||||
if (i == 999)
|
||||
|
||||
@@ -9,7 +9,7 @@ GhastRenderer::GhastRenderer() : MobRenderer(new GhastModel(), 0.5f)
|
||||
|
||||
void GhastRenderer::scale(std::shared_ptr<Mob> mob, float a)
|
||||
{
|
||||
std::shared_ptr<Ghast> ghast = std::dynamic_pointer_cast<Ghast>(mob);
|
||||
std::shared_ptr<Ghast> ghast = dynamic_pointer_cast<Ghast>(mob);
|
||||
|
||||
float ss = (ghast->oCharge+(ghast->charge-ghast->oCharge)*a)/20.0f;
|
||||
if (ss<0) ss = 0;
|
||||
|
||||
@@ -27,7 +27,7 @@ void ItemFrameRenderer::render(std::shared_ptr<Entity> _itemframe, double x, do
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type EnderCrystal rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<ItemFrame> itemFrame = std::dynamic_pointer_cast<ItemFrame>(_itemframe);
|
||||
std::shared_ptr<ItemFrame> itemFrame = dynamic_pointer_cast<ItemFrame>(_itemframe);
|
||||
|
||||
glPushMatrix();
|
||||
float xOffs = (float) (itemFrame->x - x) - 0.5f;
|
||||
|
||||
@@ -319,7 +319,7 @@ void ItemInHandRenderer::render(float a)
|
||||
float fudgeY = 0.0f;
|
||||
float fudgeZ = 0.0f;
|
||||
bool splitHoriz = false;
|
||||
std::shared_ptr<LocalPlayer> localPlayer = std::dynamic_pointer_cast<LocalPlayer>(player);
|
||||
std::shared_ptr<LocalPlayer> localPlayer = dynamic_pointer_cast<LocalPlayer>(player);
|
||||
if( localPlayer )
|
||||
{
|
||||
if( localPlayer->m_iScreenSection == C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM ||
|
||||
|
||||
@@ -32,7 +32,7 @@ ItemRenderer::~ItemRenderer()
|
||||
void ItemRenderer::render(std::shared_ptr<Entity> _itemEntity, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<ItemEntity> itemEntity = std::dynamic_pointer_cast<ItemEntity>(_itemEntity);
|
||||
std::shared_ptr<ItemEntity> itemEntity = dynamic_pointer_cast<ItemEntity>(_itemEntity);
|
||||
|
||||
random->setSeed(187);
|
||||
std::shared_ptr<ItemInstance> item = itemEntity->getItem();
|
||||
|
||||
@@ -37,7 +37,7 @@ void ItemSpriteRenderer::render(std::shared_ptr<Entity> e, double x, double y, d
|
||||
if (icon == PotionItem::getTexture(PotionItem::THROWABLE_ICON) )
|
||||
{
|
||||
|
||||
int col = PotionBrewing::getColorValue((std::dynamic_pointer_cast<ThrownPotion>(e) )->getPotionValue(), false);
|
||||
int col = PotionBrewing::getColorValue((dynamic_pointer_cast<ThrownPotion>(e) )->getPotionValue(), false);
|
||||
float red = ((col >> 16) & 0xff) / 255.0f;
|
||||
float g = ((col >> 8) & 0xff) / 255.0f;
|
||||
float b = ((col) & 0xff) / 255.0f;
|
||||
|
||||
@@ -43,7 +43,7 @@ int LavaSlimeModel::getModelVersion()
|
||||
|
||||
void LavaSlimeModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
|
||||
{
|
||||
std::shared_ptr<LavaSlime> lavaSlime = std::dynamic_pointer_cast<LavaSlime>(mob);
|
||||
std::shared_ptr<LavaSlime> lavaSlime = dynamic_pointer_cast<LavaSlime>(mob);
|
||||
|
||||
float slimeSquish = (lavaSlime->oSquish + (lavaSlime->squish - lavaSlime->oSquish) * a);
|
||||
if (slimeSquish < 0)
|
||||
|
||||
@@ -12,7 +12,7 @@ void LavaSlimeRenderer::render(std::shared_ptr<Entity> _mob, double x, double y,
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type LavaSlime rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<LavaSlime> mob = std::dynamic_pointer_cast<LavaSlime>(_mob);
|
||||
std::shared_ptr<LavaSlime> mob = dynamic_pointer_cast<LavaSlime>(_mob);
|
||||
int modelVersion = ((LavaSlimeModel *) model)->getModelVersion();
|
||||
if (modelVersion != this->modelVersion)
|
||||
{
|
||||
@@ -27,7 +27,7 @@ void LavaSlimeRenderer::scale(std::shared_ptr<Mob> _slime, float a)
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type LavaSlime rather than std::shared_ptr<Mob> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<LavaSlime> slime = std::dynamic_pointer_cast<LavaSlime>(_slime);
|
||||
std::shared_ptr<LavaSlime> slime = dynamic_pointer_cast<LavaSlime>(_slime);
|
||||
int size = slime->getSize();
|
||||
float ss = (slime->oSquish + (slime->squish - slime->oSquish) * a) / (size * 0.5f + 1);
|
||||
float w = 1 / (ss + 1);
|
||||
|
||||
@@ -540,7 +540,7 @@ void LevelRenderer::renderEntities(Vec3 *cam, Culler *culler, float a)
|
||||
{
|
||||
// 4J-PB - changing this to be per player
|
||||
//if (entity == mc->cameraTargetPlayer && !mc->options->thirdPersonView && !mc->cameraTargetPlayer->isSleeping()) continue;
|
||||
std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
|
||||
|
||||
if (localplayer && entity == mc->cameraTargetPlayer && !localplayer->ThirdPersonView() && !mc->cameraTargetPlayer->isSleeping()) continue;
|
||||
|
||||
@@ -2788,7 +2788,7 @@ std::shared_ptr<Particle> LevelRenderer::addParticleInternal(ePARTICLE_TYPE ePar
|
||||
break;
|
||||
case eParticleType_instantSpell:
|
||||
particle = std::shared_ptr<Particle>(new SpellParticle(lev, x, y, z, xa, ya, za));
|
||||
std::dynamic_pointer_cast<SpellParticle>(particle)->setBaseTex(9 * 16);
|
||||
dynamic_pointer_cast<SpellParticle>(particle)->setBaseTex(9 * 16);
|
||||
break;
|
||||
case eParticleType_note:
|
||||
particle = std::shared_ptr<Particle>( new NoteParticle(lev, x, y, z, xa, ya, za) );
|
||||
@@ -2863,7 +2863,7 @@ std::shared_ptr<Particle> LevelRenderer::addParticleInternal(ePARTICLE_TYPE ePar
|
||||
else if( ( eParticleType >= eParticleType_tilecrack_base ) && ( eParticleType <= eParticleType_tilecrack_last ) )
|
||||
{
|
||||
int id = PARTICLE_CRACK_ID(eParticleType), data = PARTICLE_CRACK_DATA(eParticleType);
|
||||
particle = std::dynamic_pointer_cast<Particle>( std::shared_ptr<TerrainParticle>(new TerrainParticle(lev, x, y, z, xa, ya, za, Tile::tiles[id], 0, data, textures))->init(data) );
|
||||
particle = dynamic_pointer_cast<Particle>( std::shared_ptr<TerrainParticle>(new TerrainParticle(lev, x, y, z, xa, ya, za, Tile::tiles[id], 0, data, textures))->init(data) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
void LightningBoltRenderer::render(std::shared_ptr<Entity> _bolt, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<LightningBolt> bolt = std::dynamic_pointer_cast<LightningBolt>(_bolt);
|
||||
std::shared_ptr<LightningBolt> bolt = dynamic_pointer_cast<LightningBolt>(_bolt);
|
||||
|
||||
Tesselator *t = Tesselator::getInstance();
|
||||
|
||||
|
||||
@@ -277,7 +277,7 @@ void LocalPlayer::aiStep()
|
||||
float sprintForward = input->sprintForward;
|
||||
|
||||
bool wasRunning = sprintForward >= runTreshold;
|
||||
//input->tick( std::dynamic_pointer_cast<Player>( shared_from_this() ) );
|
||||
//input->tick( dynamic_pointer_cast<Player>( shared_from_this() ) );
|
||||
// 4J-PB - make it a localplayer
|
||||
input->tick( this );
|
||||
sprintForward = input->sprintForward;
|
||||
@@ -622,7 +622,7 @@ bool LocalPlayer::openContainer(std::shared_ptr<Container> container)
|
||||
|
||||
bool LocalPlayer::startCrafting(int x, int y, int z)
|
||||
{
|
||||
bool success = app.LoadCrafting3x3Menu(GetXboxPad(), std::dynamic_pointer_cast<LocalPlayer>( shared_from_this() ), x, y, z );
|
||||
bool success = app.LoadCrafting3x3Menu(GetXboxPad(), dynamic_pointer_cast<LocalPlayer>( shared_from_this() ), x, y, z );
|
||||
if( success ) ui.PlayUISFX(eSFX_Press);
|
||||
//app.LoadXuiCraftMenu(0,inventory, level, x, y, z);
|
||||
//minecraft->setScreen(new CraftingScreen(inventory, level, x, y, z));
|
||||
@@ -766,7 +766,7 @@ void LocalPlayer::awardStat(Stat *stat, byteArray param)
|
||||
&& ProfileManager.IsFullVersion()
|
||||
)
|
||||
{
|
||||
stat->handleParamBlob(std::dynamic_pointer_cast<LocalPlayer>(shared_from_this()), param);
|
||||
stat->handleParamBlob(dynamic_pointer_cast<LocalPlayer>(shared_from_this()), param);
|
||||
}
|
||||
delete [] param.data;
|
||||
#else
|
||||
@@ -1430,7 +1430,7 @@ bool LocalPlayer::handleMouseClick(int button)
|
||||
if(lastClickState == lastClick_oldRepeat) return false;
|
||||
|
||||
|
||||
std::shared_ptr<MultiplayerLocalPlayer> mplp = std::dynamic_pointer_cast<MultiplayerLocalPlayer>( shared_from_this() );
|
||||
std::shared_ptr<MultiplayerLocalPlayer> mplp = dynamic_pointer_cast<MultiplayerLocalPlayer>( shared_from_this() );
|
||||
|
||||
if(mplp && mplp->connection) mplp->StopSleeping();
|
||||
|
||||
@@ -1550,15 +1550,15 @@ void LocalPlayer::updateRichPresence()
|
||||
{
|
||||
app.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_MAP);
|
||||
}
|
||||
else if(riding != NULL && std::dynamic_pointer_cast<Minecart>(riding) != NULL)
|
||||
else if(riding != NULL && dynamic_pointer_cast<Minecart>(riding) != NULL)
|
||||
{
|
||||
app.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_RIDING_MINECART);
|
||||
}
|
||||
else if(riding != NULL && std::dynamic_pointer_cast<Boat>(riding) != NULL)
|
||||
else if(riding != NULL && dynamic_pointer_cast<Boat>(riding) != NULL)
|
||||
{
|
||||
app.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_BOATING);
|
||||
}
|
||||
else if(riding != NULL && std::dynamic_pointer_cast<Pig>(riding) != NULL)
|
||||
else if(riding != NULL && dynamic_pointer_cast<Pig>(riding) != NULL)
|
||||
{
|
||||
app.SetRichPresenceContext(m_iPad,CONTEXT_GAME_STATE_RIDING_PIG);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ MinecartRenderer::MinecartRenderer()
|
||||
void MinecartRenderer::render(std::shared_ptr<Entity> _cart, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Minecart> cart = std::dynamic_pointer_cast<Minecart>(_cart);
|
||||
std::shared_ptr<Minecart> cart = dynamic_pointer_cast<Minecart>(_cart);
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
|
||||
@@ -2810,7 +2810,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
{
|
||||
default:
|
||||
{
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
|
||||
if(!animal->isBaby() && !animal->isInLove() && (animal->getAge() == 0) && animal->isFood(heldItem))
|
||||
{
|
||||
@@ -2839,7 +2839,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
default:
|
||||
{
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
|
||||
if(!animal->isBaby() && !animal->isInLove() && (animal->getAge() == 0) && animal->isFood(heldItem))
|
||||
{
|
||||
@@ -2870,13 +2870,13 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
case Item::shears_Id:
|
||||
{
|
||||
if(player->isAllowedToAttackAnimals()) *piAction=IDS_TOOLTIPS_HIT;
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
if(!animal->isBaby()) *piUse=IDS_TOOLTIPS_SHEAR;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
|
||||
if(!animal->isBaby() && !animal->isInLove() && (animal->getAge() == 0) && animal->isFood(heldItem))
|
||||
{
|
||||
@@ -2898,7 +2898,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
*piAction=IDS_TOOLTIPS_MINE;
|
||||
|
||||
// are we in the boat already?
|
||||
if (std::dynamic_pointer_cast<Boat>( player->riding ) != NULL)
|
||||
if (dynamic_pointer_cast<Boat>( player->riding ) != NULL)
|
||||
{
|
||||
*piUse=IDS_TOOLTIPS_EXIT;
|
||||
}
|
||||
@@ -2910,13 +2910,13 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
case eTYPE_MINECART:
|
||||
*piAction=IDS_TOOLTIPS_MINE;
|
||||
// are we in the minecart already?
|
||||
if (std::dynamic_pointer_cast<Minecart>( player->riding ) != NULL)
|
||||
if (dynamic_pointer_cast<Minecart>( player->riding ) != NULL)
|
||||
{
|
||||
*piUse=IDS_TOOLTIPS_EXIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(std::dynamic_pointer_cast<Minecart>(hitResult->entity)->type)
|
||||
switch(dynamic_pointer_cast<Minecart>(hitResult->entity)->type)
|
||||
{
|
||||
case Minecart::RIDEABLE:
|
||||
*piUse=IDS_TOOLTIPS_RIDE;
|
||||
@@ -2958,7 +2958,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
{
|
||||
case Item::dye_powder_Id:
|
||||
{
|
||||
std::shared_ptr<Sheep> sheep = std::dynamic_pointer_cast<Sheep>(hitResult->entity);
|
||||
std::shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(hitResult->entity);
|
||||
// convert to tile-based color value (0 is white instead of black)
|
||||
int newColor = ClothTile::getTileDataForItemAuxValue(heldItem->getAuxValue());
|
||||
|
||||
@@ -2971,7 +2971,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
case Item::shears_Id:
|
||||
{
|
||||
std::shared_ptr<Sheep> sheep = std::dynamic_pointer_cast<Sheep>(hitResult->entity);
|
||||
std::shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(hitResult->entity);
|
||||
|
||||
// can only shear a sheep that hasn't been sheared
|
||||
if(!sheep->isSheared() )
|
||||
@@ -2983,7 +2983,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
default:
|
||||
{
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
|
||||
if(!animal->isBaby() && !animal->isInLove() && (animal->getAge() == 0) && animal->isFood(heldItem))
|
||||
{
|
||||
@@ -2998,18 +2998,18 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
case eTYPE_PIG:
|
||||
// can ride a pig
|
||||
if(player->isAllowedToAttackAnimals()) *piAction=IDS_TOOLTIPS_HIT;
|
||||
if (std::dynamic_pointer_cast<Pig>( player->riding ) != NULL)
|
||||
if (dynamic_pointer_cast<Pig>( player->riding ) != NULL)
|
||||
{
|
||||
*piUse=IDS_TOOLTIPS_EXIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
// does the pig have a saddle?
|
||||
if(std::dynamic_pointer_cast<Pig>(hitResult->entity)->hasSaddle())
|
||||
if(dynamic_pointer_cast<Pig>(hitResult->entity)->hasSaddle())
|
||||
{
|
||||
*piUse=IDS_TOOLTIPS_RIDE;
|
||||
}
|
||||
else if (!std::dynamic_pointer_cast<Pig>(hitResult->entity)->isBaby())
|
||||
else if (!dynamic_pointer_cast<Pig>(hitResult->entity)->isBaby())
|
||||
{
|
||||
if(player->inventory->IsHeldItem())
|
||||
{
|
||||
@@ -3023,7 +3023,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
default:
|
||||
{
|
||||
std::shared_ptr<Animal> animal = std::dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
std::shared_ptr<Animal> animal = dynamic_pointer_cast<Animal>(hitResult->entity);
|
||||
|
||||
if(!animal->isBaby() && !animal->isInLove() && (animal->getAge() == 0) && animal->isFood(heldItem))
|
||||
{
|
||||
@@ -3042,7 +3042,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
{
|
||||
int iID=-1;
|
||||
std::shared_ptr<ItemInstance> heldItem=nullptr;
|
||||
std::shared_ptr<Wolf> wolf = std::dynamic_pointer_cast<Wolf>(hitResult->entity);
|
||||
std::shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(hitResult->entity);
|
||||
|
||||
if(player->inventory->IsHeldItem())
|
||||
{
|
||||
@@ -3132,7 +3132,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
{
|
||||
int iID=-1;
|
||||
std::shared_ptr<ItemInstance> heldItem=nullptr;
|
||||
std::shared_ptr<Ozelot> ocelot = std::dynamic_pointer_cast<Ozelot>(hitResult->entity);
|
||||
std::shared_ptr<Ozelot> ocelot = dynamic_pointer_cast<Ozelot>(hitResult->entity);
|
||||
|
||||
if(player->inventory->IsHeldItem())
|
||||
{
|
||||
@@ -3193,7 +3193,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
case eTYPE_PLAYER:
|
||||
{
|
||||
// Fix for #58576 - TU6: Content: Gameplay: Hit button prompt is available when attacking a host who has "Invisible" option turned on
|
||||
std::shared_ptr<Player> TargetPlayer = std::dynamic_pointer_cast<Player>(hitResult->entity);
|
||||
std::shared_ptr<Player> TargetPlayer = dynamic_pointer_cast<Player>(hitResult->entity);
|
||||
|
||||
if(!TargetPlayer->hasInvisiblePrivilege()) // This means they are invisible, not just that they have the privilege
|
||||
{
|
||||
@@ -3206,7 +3206,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
case eTYPE_ITEM_FRAME:
|
||||
{
|
||||
std::shared_ptr<ItemFrame> itemFrame = std::dynamic_pointer_cast<ItemFrame>(hitResult->entity);
|
||||
std::shared_ptr<ItemFrame> itemFrame = dynamic_pointer_cast<ItemFrame>(hitResult->entity);
|
||||
|
||||
// is the frame occupied?
|
||||
if(itemFrame->getItem()!=NULL)
|
||||
@@ -3228,7 +3228,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
case eTYPE_VILLAGER:
|
||||
{
|
||||
std::shared_ptr<Villager> villager = std::dynamic_pointer_cast<Villager>(hitResult->entity);
|
||||
std::shared_ptr<Villager> villager = dynamic_pointer_cast<Villager>(hitResult->entity);
|
||||
if (!villager->isBaby())
|
||||
{
|
||||
*piUse=IDS_TOOLTIPS_TRADE;
|
||||
@@ -3238,7 +3238,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
break;
|
||||
case eTYPE_ZOMBIE:
|
||||
{
|
||||
std::shared_ptr<Zombie> zomb = std::dynamic_pointer_cast<Zombie>(hitResult->entity);
|
||||
std::shared_ptr<Zombie> zomb = dynamic_pointer_cast<Zombie>(hitResult->entity);
|
||||
std::shared_ptr<ItemInstance> heldItem=nullptr;
|
||||
|
||||
if(player->inventory->IsHeldItem())
|
||||
@@ -3475,9 +3475,9 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
|
||||
if((player->ullButtonsPressed&(1LL<<MINECRAFT_ACTION_SPAWN_CREEPER)) && app.GetMobsDontAttackEnabled())
|
||||
{
|
||||
//std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(Creeper::_class->newInstance( level ));
|
||||
//std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(Wolf::_class->newInstance( level ));
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(std::shared_ptr<Spider>(new Spider( level )));
|
||||
//std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(Creeper::_class->newInstance( level ));
|
||||
//std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(Wolf::_class->newInstance( level ));
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(std::shared_ptr<Spider>(new Spider( level )));
|
||||
mob->moveTo(player->x+1, player->y, player->z+1, level->random->nextFloat() * 360, 0);
|
||||
level->addEntity(mob);
|
||||
}
|
||||
@@ -3507,14 +3507,14 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures)
|
||||
|
||||
if((player->ullButtonsPressed&(1LL<<MINECRAFT_ACTION_INVENTORY)) && gameMode->isInputAllowed(MINECRAFT_ACTION_INVENTORY))
|
||||
{
|
||||
std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>( Minecraft::GetInstance()->player );
|
||||
std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>( Minecraft::GetInstance()->player );
|
||||
ui.PlayUISFX(eSFX_Press);
|
||||
app.LoadInventoryMenu(iPad,player);
|
||||
}
|
||||
|
||||
if((player->ullButtonsPressed&(1LL<<MINECRAFT_ACTION_CRAFTING)) && gameMode->isInputAllowed(MINECRAFT_ACTION_CRAFTING))
|
||||
{
|
||||
std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>( Minecraft::GetInstance()->player );
|
||||
std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>( Minecraft::GetInstance()->player );
|
||||
|
||||
// 4J-PB - reordered the if statement so creative mode doesn't bring up the crafting table
|
||||
// Fix for #39014 - TU5: Creative Mode: Pressing X to access the creative menu while looking at a crafting table causes the crafting menu to display
|
||||
@@ -4697,7 +4697,7 @@ bool mayUse = true;
|
||||
|
||||
if(button==1 && (player->isSleeping() && level != NULL && level->isClientSide))
|
||||
{
|
||||
std::shared_ptr<MultiplayerLocalPlayer> mplp = std::dynamic_pointer_cast<MultiplayerLocalPlayer>( player );
|
||||
std::shared_ptr<MultiplayerLocalPlayer> mplp = dynamic_pointer_cast<MultiplayerLocalPlayer>( player );
|
||||
|
||||
if(mplp) mplp->StopSleeping();
|
||||
|
||||
|
||||
@@ -1278,7 +1278,7 @@ void MinecraftServer::run(int64_t seed, void *lpParameter)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = players->players.at(0);
|
||||
eINSTANCEOF factory = (eINSTANCEOF)((size_t)param);
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(EntityIO::newByEnumType(factory,player->level ));
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(EntityIO::newByEnumType(factory,player->level ));
|
||||
mob->moveTo(player->x+1, player->y, player->z+1, player->level->random->nextFloat() * 360, 0);
|
||||
mob->setDespawnProtected(); // 4J added, default to being protected against despawning (has to be done after initial position is set)
|
||||
player->level->addEntity(mob);
|
||||
|
||||
@@ -35,7 +35,7 @@ void MobRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, doubl
|
||||
{
|
||||
// 4J - added - this used to use generics so the input parameter could be a mob (or derived type), but we aren't
|
||||
// able to do that so dynamically casting to get the more specific type here.
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(_mob);
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(_mob);
|
||||
glPushMatrix();
|
||||
glDisable(GL_CULL_FACE);
|
||||
|
||||
@@ -52,9 +52,9 @@ void MobRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, doubl
|
||||
float bodyRot = rotlerp(mob->yBodyRotO, mob->yBodyRot, a);
|
||||
float headRot = rotlerp(mob->yHeadRotO, mob->yHeadRot, a);
|
||||
|
||||
if (mob->isRiding() && std::dynamic_pointer_cast<Mob>(mob->riding))
|
||||
if (mob->isRiding() && dynamic_pointer_cast<Mob>(mob->riding))
|
||||
{
|
||||
std::shared_ptr<Mob> riding = std::dynamic_pointer_cast<Mob>(mob->riding);
|
||||
std::shared_ptr<Mob> riding = dynamic_pointer_cast<Mob>(mob->riding);
|
||||
bodyRot = rotlerp(riding->yBodyRotO, riding->yBodyRot, a);
|
||||
|
||||
float headDiff = Mth::wrapDegrees(headRot - bodyRot);
|
||||
@@ -235,7 +235,7 @@ void MobRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, doubl
|
||||
|
||||
void MobRenderer::renderModel(std::shared_ptr<Entity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player);
|
||||
|
||||
bindTexture(mob->customTextureUrl, mob->getTexture());
|
||||
if (!mob->isInvisible())
|
||||
@@ -396,7 +396,7 @@ void MobRenderer::renderNameTag(std::shared_ptr<Mob> mob, const wstring& Origina
|
||||
Tesselator *t = Tesselator::getInstance();
|
||||
|
||||
int offs = 0;
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(mob);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(mob);
|
||||
if (player != NULL && app.isXuidDeadmau5( player->getXuid() ) ) offs = -10;
|
||||
|
||||
wstring playerName;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
void MobSpawnerRenderer::render(std::shared_ptr<TileEntity> _spawner, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<MobSpawnerTileEntity> spawner = std::dynamic_pointer_cast<MobSpawnerTileEntity>(_spawner);
|
||||
std::shared_ptr<MobSpawnerTileEntity> spawner = dynamic_pointer_cast<MobSpawnerTileEntity>(_spawner);
|
||||
|
||||
glPushMatrix();
|
||||
glTranslatef((float) x + 0.5f, (float) y, (float) z + 0.5f);
|
||||
|
||||
@@ -334,9 +334,9 @@ void MultiplayerLocalPlayer::ride(std::shared_ptr<Entity> e)
|
||||
}
|
||||
else if (!wasRiding && isRiding)
|
||||
{
|
||||
if(std::dynamic_pointer_cast<Minecart>(e) != NULL)
|
||||
if(dynamic_pointer_cast<Minecart>(e) != NULL)
|
||||
gameMode->getTutorial()->changeTutorialState(e_Tutorial_State_Riding_Minecart);
|
||||
else if(std::dynamic_pointer_cast<Boat>(e) != NULL)
|
||||
else if(dynamic_pointer_cast<Boat>(e) != NULL)
|
||||
gameMode->getTutorial()->changeTutorialState(e_Tutorial_State_Riding_Boat);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ void MushroomCowRenderer::render(std::shared_ptr<Entity> _mob, double x, double
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type MushroomCow rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
//std::shared_ptr<MushroomCow> mob = std::dynamic_pointer_cast<MushroomCow>(_mob);
|
||||
//std::shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
|
||||
|
||||
// 4J Stu - No need to do the cast, just pass through as-is
|
||||
MobRenderer::render(_mob, x, y, z, rot, a);
|
||||
@@ -23,7 +23,7 @@ void MushroomCowRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type MushroomCow rather than std::shared_ptr<Mob> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<MushroomCow> mob = std::dynamic_pointer_cast<MushroomCow>(_mob);
|
||||
std::shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
|
||||
MobRenderer::additionalRendering(mob, a);
|
||||
if (mob->isBaby()) return;
|
||||
bindTexture(TN_TERRAIN); // 4J was "/terrain.png"
|
||||
|
||||
@@ -182,7 +182,7 @@ void OzelotModel::setupAnim(float time, float r, float bob, float yRot, float xR
|
||||
|
||||
void OzelotModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
|
||||
{
|
||||
std::shared_ptr<Ozelot> ozelot = std::dynamic_pointer_cast<Ozelot>(mob);
|
||||
std::shared_ptr<Ozelot> ozelot = dynamic_pointer_cast<Ozelot>(mob);
|
||||
|
||||
body->y = bodyWalkY;
|
||||
body->z = bodyWalkZ;
|
||||
|
||||
@@ -15,7 +15,7 @@ void OzelotRenderer::scale(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<Ozelot> mob = std::dynamic_pointer_cast<Ozelot>(_mob);
|
||||
std::shared_ptr<Ozelot> mob = dynamic_pointer_cast<Ozelot>(_mob);
|
||||
MobRenderer::scale(mob, a);
|
||||
if (mob->isTame())
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
using std::tr1::bad_weak_ptr;
|
||||
using std::tr1::const_pointer_cast;
|
||||
using std::tr1::std::dynamic_pointer_cast;
|
||||
using std::tr1::dynamic_pointer_cast;
|
||||
using std::tr1::enable_shared_from_this;
|
||||
using std::tr1::get_deleter;
|
||||
using std::tr1::std::shared_ptr;
|
||||
|
||||
@@ -14,7 +14,7 @@ PaintingRenderer::PaintingRenderer()
|
||||
void PaintingRenderer::render(std::shared_ptr<Entity> _painting, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Painting> painting = std::dynamic_pointer_cast<Painting>(_painting);
|
||||
std::shared_ptr<Painting> painting = dynamic_pointer_cast<Painting>(_painting);
|
||||
|
||||
random->setSeed(187);
|
||||
|
||||
|
||||
@@ -66,14 +66,14 @@ std::shared_ptr<Particle> Particle::setPower(float power)
|
||||
xd *= power;
|
||||
yd = (yd - 0.1f) * power + 0.1f;
|
||||
zd *= power;
|
||||
return std::dynamic_pointer_cast<Particle>( shared_from_this() );
|
||||
return dynamic_pointer_cast<Particle>( shared_from_this() );
|
||||
}
|
||||
|
||||
std::shared_ptr<Particle> Particle::scale(float scale)
|
||||
{
|
||||
setSize(0.2f * scale, 0.2f * scale);
|
||||
size *= scale;
|
||||
return std::dynamic_pointer_cast<Particle>( shared_from_this() );
|
||||
return dynamic_pointer_cast<Particle>( shared_from_this() );
|
||||
}
|
||||
|
||||
void Particle::setColor(float r, float g, float b)
|
||||
|
||||
@@ -10,7 +10,7 @@ PigRenderer::PigRenderer(Model *model, Model *armor, float shadow) : MobRenderer
|
||||
int PigRenderer::prepareArmor(std::shared_ptr<Mob> _pig, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Pig> pig = std::dynamic_pointer_cast<Pig>(_pig);
|
||||
std::shared_ptr<Pig> pig = dynamic_pointer_cast<Pig>(_pig);
|
||||
|
||||
MemSect(31);
|
||||
bindTexture(TN_MOB_SADDLE); // 4J was L"/mob/saddle.png"
|
||||
|
||||
@@ -15,7 +15,7 @@ PistonPieceRenderer::PistonPieceRenderer()
|
||||
void PistonPieceRenderer::render(std::shared_ptr<TileEntity> _entity, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<PistonPieceEntity> entity = std::dynamic_pointer_cast<PistonPieceEntity>(_entity);
|
||||
std::shared_ptr<PistonPieceEntity> entity = dynamic_pointer_cast<PistonPieceEntity>(_entity);
|
||||
|
||||
Tile *tile = Tile::tiles[entity->getId()];
|
||||
if (tile != NULL && entity->getProgress(a) <= 1) // 4J - changed condition from < to <= as our chunk update is async to main thread and so we can have to render these with progress of 1
|
||||
|
||||
@@ -1273,9 +1273,9 @@ void PlayerConnection::handleSignUpdate(std::shared_ptr<SignUpdatePacket> packet
|
||||
{
|
||||
std::shared_ptr<TileEntity> te = level->getTileEntity(packet->x, packet->y, packet->z);
|
||||
|
||||
if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
{
|
||||
std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
|
||||
std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
|
||||
if (!ste->isEditable())
|
||||
{
|
||||
server->warn(L"Player " + player->name + L" just tried to change non-editable sign");
|
||||
@@ -1284,12 +1284,12 @@ void PlayerConnection::handleSignUpdate(std::shared_ptr<SignUpdatePacket> packet
|
||||
}
|
||||
|
||||
// 4J-JEV: Changed to allow characters to display as a [].
|
||||
if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
|
||||
{
|
||||
int x = packet->x;
|
||||
int y = packet->y;
|
||||
int z = packet->z;
|
||||
std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
|
||||
std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
wstring lineText = packet->lines[i].substr(0,15);
|
||||
@@ -1512,7 +1512,7 @@ void PlayerConnection::handleCustomPayload(std::shared_ptr<CustomPayloadPacket>
|
||||
|
||||
void PlayerConnection::handleDebugOptions(std::shared_ptr<DebugOptionsPacket> packet)
|
||||
{
|
||||
//Player player = std::dynamic_pointer_cast<Player>( player->shared_from_this() );
|
||||
//Player player = dynamic_pointer_cast<Player>( player->shared_from_this() );
|
||||
player->SetDebugOptions(packet->m_uiVal);
|
||||
}
|
||||
|
||||
@@ -1528,7 +1528,7 @@ void PlayerConnection::handleCraftItem(std::shared_ptr<CraftItemPacket> packet)
|
||||
|
||||
if(app.DebugSettingsOn() && (player->GetDebugOptions()&(1L<<eDebugSetting_CraftAnything)))
|
||||
{
|
||||
pTempItemInst->onCraftedBy(player->level, std::dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
|
||||
pTempItemInst->onCraftedBy(player->level, dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
|
||||
if(player->inventory->add(pTempItemInst)==false )
|
||||
{
|
||||
// no room in inventory, so throw it down
|
||||
@@ -1542,7 +1542,7 @@ void PlayerConnection::handleCraftItem(std::shared_ptr<CraftItemPacket> packet)
|
||||
// TODO 4J Stu - Assume at the moment that the client can work this out for us...
|
||||
//if(pRecipeIngredientsRequired[iRecipe].bCanMake)
|
||||
//{
|
||||
pTempItemInst->onCraftedBy(player->level, std::dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
|
||||
pTempItemInst->onCraftedBy(player->level, dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
|
||||
|
||||
// and remove those resources from your inventory
|
||||
for(int i=0;i<pRecipeIngredientsRequired[iRecipe].iIngC;i++)
|
||||
|
||||
@@ -1037,7 +1037,7 @@ void PlayerList::broadcast(std::shared_ptr<Player> except, double x, double y, d
|
||||
vector< std::shared_ptr<ServerPlayer> > sentTo;
|
||||
if( except != NULL )
|
||||
{
|
||||
sentTo.push_back(std::dynamic_pointer_cast<ServerPlayer>(except));
|
||||
sentTo.push_back(dynamic_pointer_cast<ServerPlayer>(except));
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < players.size(); i++)
|
||||
@@ -1080,7 +1080,7 @@ void PlayerList::broadcast(std::shared_ptr<Player> except, double x, double y, d
|
||||
if (xd * xd + yd * yd + zd * zd < range * range)
|
||||
{
|
||||
#if 0 // _DEBUG
|
||||
std::shared_ptr<LevelSoundPacket> SoundPacket= std::dynamic_pointer_cast<LevelSoundPacket>(packet);
|
||||
std::shared_ptr<LevelSoundPacket> SoundPacket= dynamic_pointer_cast<LevelSoundPacket>(packet);
|
||||
|
||||
if(SoundPacket)
|
||||
{
|
||||
|
||||
@@ -49,7 +49,7 @@ unsigned int PlayerRenderer::getNametagColour(int index)
|
||||
int PlayerRenderer::prepareArmor(std::shared_ptr<Mob> _player, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(_player);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(_player);
|
||||
|
||||
// 4J-PB - need to disable rendering armour for some special skins (Daleks)
|
||||
unsigned int uiAnimOverrideBitmask=player->getAnimOverrideBitmask();
|
||||
@@ -111,7 +111,7 @@ int PlayerRenderer::prepareArmor(std::shared_ptr<Mob> _player, int layer, float
|
||||
void PlayerRenderer::prepareSecondPassArmor(std::shared_ptr<Mob> _player, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(_player);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(_player);
|
||||
std::shared_ptr<ItemInstance> itemInstance = player->inventory->getArmor(3 - layer);
|
||||
if (itemInstance != NULL)
|
||||
{
|
||||
@@ -130,7 +130,7 @@ void PlayerRenderer::prepareSecondPassArmor(std::shared_ptr<Mob> _player, int la
|
||||
void PlayerRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> mob = std::dynamic_pointer_cast<Player>(_mob);
|
||||
std::shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
|
||||
if(mob->hasInvisiblePrivilege()) return;
|
||||
|
||||
@@ -169,7 +169,7 @@ void PlayerRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, do
|
||||
armorParts1->sneaking = armorParts2->sneaking = humanoidModel->sneaking = mob->isSneaking();
|
||||
|
||||
double yp = y - mob->heightOffset;
|
||||
if (mob->isSneaking() && (std::dynamic_pointer_cast<LocalPlayer>(mob) == NULL))
|
||||
if (mob->isSneaking() && (dynamic_pointer_cast<LocalPlayer>(mob) == NULL))
|
||||
{
|
||||
yp -= 2 / 16.0f;
|
||||
}
|
||||
@@ -231,7 +231,7 @@ void PlayerRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, do
|
||||
void PlayerRenderer::renderName(std::shared_ptr<Mob> _mob, double x, double y, double z)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> mob = std::dynamic_pointer_cast<Player>(_mob);
|
||||
std::shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
|
||||
if (Minecraft::renderNames() && mob != entityRenderDispatcher->cameraEntity
|
||||
&& !mob->isInvisibleTo(Minecraft::GetInstance()->player) ) // 4J-JEV: Todo, move to LivingEntityRenderer.
|
||||
@@ -321,7 +321,7 @@ void PlayerRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
|
||||
MobRenderer::additionalRendering(_mob,a);
|
||||
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> mob = std::dynamic_pointer_cast<Player>(_mob);
|
||||
std::shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
|
||||
std::shared_ptr<ItemInstance> headGear = mob->inventory->getArmor(3);
|
||||
if (headGear != NULL)
|
||||
@@ -543,7 +543,7 @@ void PlayerRenderer::renderHand()
|
||||
void PlayerRenderer::setupPosition(std::shared_ptr<Mob> _mob, double x, double y, double z)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> mob = std::dynamic_pointer_cast<Player>(_mob);
|
||||
std::shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
|
||||
if (mob->isAlive() && mob->isSleeping())
|
||||
{
|
||||
@@ -559,7 +559,7 @@ void PlayerRenderer::setupPosition(std::shared_ptr<Mob> _mob, double x, double y
|
||||
void PlayerRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Player> mob = std::dynamic_pointer_cast<Player>(_mob);
|
||||
std::shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
|
||||
if (mob->isAlive() && mob->isSleeping())
|
||||
{
|
||||
@@ -578,7 +578,7 @@ void PlayerRenderer::renderShadow(std::shared_ptr<Entity> e, double x, double y,
|
||||
{
|
||||
if(app.GetGameHostOption(eGameHostOption_HostCanBeInvisible) > 0)
|
||||
{
|
||||
std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
|
||||
if(player != NULL && player->hasInvisiblePrivilege()) return;
|
||||
}
|
||||
EntityRenderer::renderShadow(e,x,y,z,pow,a);
|
||||
|
||||
@@ -671,11 +671,11 @@ void ServerLevel::tick(std::shared_ptr<Entity> e, bool actual)
|
||||
{
|
||||
e->remove();
|
||||
}
|
||||
if (!server->isNpcsEnabled() && (std::dynamic_pointer_cast<Npc>(e) != NULL))
|
||||
if (!server->isNpcsEnabled() && (dynamic_pointer_cast<Npc>(e) != NULL))
|
||||
{
|
||||
e->remove();
|
||||
}
|
||||
if (e->rider.lock() == NULL || (std::dynamic_pointer_cast<Player>(e->rider.lock())==NULL) ) // 4J - was !(e->rider instanceof Player)
|
||||
if (e->rider.lock() == NULL || (dynamic_pointer_cast<Player>(e->rider.lock())==NULL) ) // 4J - was !(e->rider instanceof Player)
|
||||
{
|
||||
Level::tick(e, actual);
|
||||
}
|
||||
@@ -814,7 +814,7 @@ void ServerLevel::generateBonusItemsNearSpawn()
|
||||
|
||||
if( getTile( x, y, z ) == Tile::chest_Id )
|
||||
{
|
||||
std::shared_ptr<ChestTileEntity> chest = std::dynamic_pointer_cast<ChestTileEntity>(getTileEntity(x, y, z));
|
||||
std::shared_ptr<ChestTileEntity> chest = dynamic_pointer_cast<ChestTileEntity>(getTileEntity(x, y, z));
|
||||
if (chest != NULL)
|
||||
{
|
||||
if( chest->isBonusChest )
|
||||
@@ -1019,7 +1019,7 @@ std::shared_ptr<Explosion> ServerLevel::explode(std::shared_ptr<Entity> source,
|
||||
vector<std::shared_ptr<ServerPlayer> > sentTo;
|
||||
for(AUTO_VAR(it, players.begin()); it != players.end(); ++it)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
if (player->dimension != dimension->id) continue;
|
||||
|
||||
bool knockbackOnly = false;
|
||||
@@ -1188,7 +1188,7 @@ void ServerLevel::runQueuedSendTileUpdates()
|
||||
bool ServerLevel::addEntity(std::shared_ptr<Entity> e)
|
||||
{
|
||||
// If its an item entity, and we've got to our capacity, delete the oldest
|
||||
if( std::dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
if( dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
{
|
||||
// printf("Adding item entity count %d\n",m_itemEntities.size());
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
@@ -1200,7 +1200,7 @@ bool ServerLevel::addEntity(std::shared_ptr<Entity> e)
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
// If its an hanging entity, and we've got to our capacity, delete the oldest
|
||||
else if( std::dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
{
|
||||
// printf("Adding item entity count %d\n",m_itemEntities.size());
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
@@ -1217,7 +1217,7 @@ bool ServerLevel::addEntity(std::shared_ptr<Entity> e)
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
// If its an arrow entity, and we've got to our capacity, delete the oldest
|
||||
else if( std::dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
{
|
||||
// printf("Adding arrow entity count %d\n",m_arrowEntities.size());
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
@@ -1229,7 +1229,7 @@ bool ServerLevel::addEntity(std::shared_ptr<Entity> e)
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
// If its an experience orb entity, and we've got to our capacity, delete the oldest
|
||||
else if( std::dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
// printf("Adding arrow entity count %d\n",m_arrowEntities.size());
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
@@ -1246,41 +1246,41 @@ bool ServerLevel::addEntity(std::shared_ptr<Entity> e)
|
||||
// Maintain a cound of primed tnt & falling tiles in this level
|
||||
void ServerLevel::entityAddedExtra(std::shared_ptr<Entity> e)
|
||||
{
|
||||
if( std::dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
if( dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_itemEntities.push_back(e);
|
||||
// printf("entity added: item entity count now %d\n",m_itemEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_hangingEntities.push_back(e);
|
||||
// printf("entity added: item entity count now %d\n",m_itemEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_arrowEntities.push_back(e);
|
||||
// printf("entity added: arrow entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_experienceOrbEntities.push_back(e);
|
||||
// printf("entity added: experience orb entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_primedTntCount++;
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<FallingTile>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<FallingTile>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_fallingTileCount++;
|
||||
@@ -1291,7 +1291,7 @@ void ServerLevel::entityAddedExtra(std::shared_ptr<Entity> e)
|
||||
// Maintain a cound of primed tnt & falling tiles in this level, and remove any item entities from our list
|
||||
void ServerLevel::entityRemovedExtra(std::shared_ptr<Entity> e)
|
||||
{
|
||||
if( std::dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
if( dynamic_pointer_cast<ItemEntity>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
// printf("entity removed: item entity count %d\n",m_itemEntities.size());
|
||||
@@ -1304,7 +1304,7 @@ void ServerLevel::entityRemovedExtra(std::shared_ptr<Entity> e)
|
||||
// printf("entity removed: item entity count now %d\n",m_itemEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<HangingEntity>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
// printf("entity removed: item entity count %d\n",m_itemEntities.size());
|
||||
@@ -1317,7 +1317,7 @@ void ServerLevel::entityRemovedExtra(std::shared_ptr<Entity> e)
|
||||
// printf("entity removed: item entity count now %d\n",m_itemEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<Arrow>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
// printf("entity removed: arrow entity count %d\n",m_arrowEntities.size());
|
||||
@@ -1330,7 +1330,7 @@ void ServerLevel::entityRemovedExtra(std::shared_ptr<Entity> e)
|
||||
// printf("entity removed: arrow entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<ExperienceOrb>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
// printf("entity removed: experience orb entity count %d\n",m_arrowEntities.size());
|
||||
@@ -1343,13 +1343,13 @@ void ServerLevel::entityRemovedExtra(std::shared_ptr<Entity> e)
|
||||
// printf("entity removed: experience orb entity count now %d\n",m_arrowEntities.size());
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<PrimedTnt>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_primedTntCount--;
|
||||
LeaveCriticalSection(&m_limiterCS);
|
||||
}
|
||||
else if( std::dynamic_pointer_cast<FallingTile>(e) != NULL )
|
||||
else if( dynamic_pointer_cast<FallingTile>(e) != NULL )
|
||||
{
|
||||
EnterCriticalSection(&m_limiterCS);
|
||||
m_fallingTileCount--;
|
||||
|
||||
@@ -48,7 +48,7 @@ void ServerLevelListener::entityRemoved(std::shared_ptr<Entity> entity)
|
||||
// 4J added
|
||||
void ServerLevelListener::playerRemoved(std::shared_ptr<Entity> entity)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(entity);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(entity);
|
||||
player->getLevel()->getTracker()->removePlayer(entity);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ void ServerLevelListener::playSound(std::shared_ptr<Entity> entity,int iSound, d
|
||||
{
|
||||
// 4J-PB - I don't want to broadcast player sounds to my local machine, since we're already playing these in the LevelRenderer::playSound.
|
||||
// The PC version does seem to do this and the result is I can stop walking , and then I'll hear my footstep sound with a delay
|
||||
std::shared_ptr<Player> player= std::dynamic_pointer_cast<Player>(entity);
|
||||
std::shared_ptr<Player> player= dynamic_pointer_cast<Player>(entity);
|
||||
server->getPlayers()->broadcast(player,x, y, z, volume > 1 ? 16 * volume : 16, level->dimension->id, std::shared_ptr<LevelSoundPacket>(new LevelSoundPacket(iSound, x, y, z, volume, pitch)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,7 +293,7 @@ void ServerPlayer::doTickA()
|
||||
// particularly at the start of a game. They don't typically seem to be massive and shouldn't be send when there isn't actually any updating to do.
|
||||
if (Item::items[ie->id]->isComplex() ) // && connection->countDelayedPackets() <= 2)
|
||||
{
|
||||
std::shared_ptr<Packet> packet = (dynamic_cast<ComplexItem *>(Item::items[ie->id])->getUpdatePacket(ie, level, std::dynamic_pointer_cast<Player>( shared_from_this() ) ) );
|
||||
std::shared_ptr<Packet> packet = (dynamic_cast<ComplexItem *>(Item::items[ie->id])->getUpdatePacket(ie, level, dynamic_pointer_cast<Player>( shared_from_this() ) ) );
|
||||
if (packet != NULL)
|
||||
{
|
||||
connection->send(packet);
|
||||
@@ -474,7 +474,7 @@ void ServerPlayer::doTickB(bool ignorePortal)
|
||||
// {
|
||||
// if(level->dimension->id == 0 )
|
||||
// {
|
||||
// server->players->toggleDimension( std::dynamic_pointer_cast<ServerPlayer>( shared_from_this() ), 1 );
|
||||
// server->players->toggleDimension( dynamic_pointer_cast<ServerPlayer>( shared_from_this() ), 1 );
|
||||
// }
|
||||
// unsigned int uiVal=app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad());
|
||||
// app.SetGameSettingsDebugMask(ProfileManager.GetPrimaryPad(),uiVal&~(1L<<eDebugSetting_GoToEnd));
|
||||
@@ -519,7 +519,7 @@ void ServerPlayer::doTickB(bool ignorePortal)
|
||||
if (dimension == -1) targetDimension = 0;
|
||||
else targetDimension = -1;
|
||||
|
||||
server->getPlayers()->toggleDimension( std::dynamic_pointer_cast<ServerPlayer>( shared_from_this() ), targetDimension );
|
||||
server->getPlayers()->toggleDimension( dynamic_pointer_cast<ServerPlayer>( shared_from_this() ), targetDimension );
|
||||
lastSentExp = -1;
|
||||
lastSentHealth = -1;
|
||||
lastSentFood = -1;
|
||||
@@ -563,7 +563,7 @@ std::shared_ptr<ItemInstance> ServerPlayer::getCarried(int slot)
|
||||
|
||||
void ServerPlayer::die(DamageSource *source)
|
||||
{
|
||||
server->getPlayers()->broadcastAll(source->getDeathMessagePacket(std::dynamic_pointer_cast<Player>(shared_from_this())));
|
||||
server->getPlayers()->broadcastAll(source->getDeathMessagePacket(dynamic_pointer_cast<Player>(shared_from_this())));
|
||||
inventory->dropAll();
|
||||
}
|
||||
|
||||
@@ -578,15 +578,15 @@ bool ServerPlayer::hurt(DamageSource *dmgSource, int dmg)
|
||||
std::shared_ptr<Entity> source = dmgSource->getDirectEntity();
|
||||
|
||||
|
||||
if (std::dynamic_pointer_cast<Player>(source) != NULL && (!server->pvp || !std::dynamic_pointer_cast<Player>(source)->isAllowedToAttackPlayers()) )
|
||||
if (dynamic_pointer_cast<Player>(source) != NULL && (!server->pvp || !dynamic_pointer_cast<Player>(source)->isAllowedToAttackPlayers()) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (source != NULL && source->GetType() == eTYPE_ARROW)
|
||||
{
|
||||
std::shared_ptr<Arrow> arrow = std::dynamic_pointer_cast<Arrow>(source);
|
||||
if (std::dynamic_pointer_cast<Player>(arrow->owner) != NULL && (!server->pvp || !std::dynamic_pointer_cast<Player>(arrow->owner)->isAllowedToAttackPlayers()) )
|
||||
std::shared_ptr<Arrow> arrow = dynamic_pointer_cast<Arrow>(source);
|
||||
if (dynamic_pointer_cast<Player>(arrow->owner) != NULL && (!server->pvp || !dynamic_pointer_cast<Player>(arrow->owner)->isAllowedToAttackPlayers()) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -645,9 +645,9 @@ bool ServerPlayer::hurt(DamageSource *dmgSource, int dmg)
|
||||
m_lastDamageSource = eTelemetryPlayerDeathSource_Explosion_Tnt;
|
||||
break;
|
||||
case eTYPE_ARROW:
|
||||
if ((std::dynamic_pointer_cast<Arrow>(source))->owner != NULL)
|
||||
if ((dynamic_pointer_cast<Arrow>(source))->owner != NULL)
|
||||
{
|
||||
std::shared_ptr<Entity> attacker = (std::dynamic_pointer_cast<Arrow>(source))->owner;
|
||||
std::shared_ptr<Entity> attacker = (dynamic_pointer_cast<Arrow>(source))->owner;
|
||||
if (attacker != NULL)
|
||||
{
|
||||
switch(attacker->GetType())
|
||||
@@ -725,7 +725,7 @@ void ServerPlayer::changeDimension(int i)
|
||||
connection->teleport(pos->x, pos->y, pos->z, 0, 0);
|
||||
delete pos;
|
||||
}
|
||||
server->getPlayers()->toggleDimension( std::dynamic_pointer_cast<ServerPlayer>(shared_from_this()), 1);
|
||||
server->getPlayers()->toggleDimension( dynamic_pointer_cast<ServerPlayer>(shared_from_this()), 1);
|
||||
lastSentExp = -1;
|
||||
lastSentHealth = -1;
|
||||
lastSentFood = -1;
|
||||
@@ -869,7 +869,7 @@ bool ServerPlayer::startRepairing(int x, int y, int z)
|
||||
{
|
||||
nextContainerCounter();
|
||||
connection->send(std::shared_ptr<ContainerOpenPacket> ( new ContainerOpenPacket(containerCounter, ContainerOpenPacket::REPAIR_TABLE, 0, 9)) );
|
||||
containerMenu = new RepairMenu(inventory, level, x, y, z, std::dynamic_pointer_cast<Player>(shared_from_this()));
|
||||
containerMenu = new RepairMenu(inventory, level, x, y, z, dynamic_pointer_cast<Player>(shared_from_this()));
|
||||
containerMenu->containerId = containerCounter;
|
||||
containerMenu->addSlotListener(this);
|
||||
}
|
||||
@@ -966,7 +966,7 @@ bool ServerPlayer::openTrading(std::shared_ptr<Merchant> traderTarget)
|
||||
|
||||
connection->send(std::shared_ptr<ContainerOpenPacket>(new ContainerOpenPacket(containerCounter, ContainerOpenPacket::TRADER_NPC, container->getName(), container->getContainerSize())));
|
||||
|
||||
MerchantRecipeList *offers = traderTarget->getOffers(std::dynamic_pointer_cast<Player>(shared_from_this()));
|
||||
MerchantRecipeList *offers = traderTarget->getOffers(dynamic_pointer_cast<Player>(shared_from_this()));
|
||||
if (offers != NULL)
|
||||
{
|
||||
ByteArrayOutputStream rawOutput;
|
||||
@@ -1057,7 +1057,7 @@ void ServerPlayer::broadcastCarriedItem()
|
||||
|
||||
void ServerPlayer::doCloseContainer()
|
||||
{
|
||||
containerMenu->removed( std::dynamic_pointer_cast<Player>( shared_from_this() ) );
|
||||
containerMenu->removed( dynamic_pointer_cast<Player>( shared_from_this() ) );
|
||||
containerMenu = inventoryMenu;
|
||||
}
|
||||
|
||||
@@ -1368,7 +1368,7 @@ void ServerPlayer::restoreFrom(std::shared_ptr<Player> oldPlayer, bool restoreAl
|
||||
lastSentExp = -1;
|
||||
lastSentHealth = -1;
|
||||
lastSentFood = -1;
|
||||
entitiesToRemove = std::dynamic_pointer_cast<ServerPlayer>(oldPlayer)->entitiesToRemove;
|
||||
entitiesToRemove = dynamic_pointer_cast<ServerPlayer>(oldPlayer)->entitiesToRemove;
|
||||
}
|
||||
|
||||
void ServerPlayer::onEffectAdded(MobEffectInstance *effect)
|
||||
@@ -1430,7 +1430,7 @@ void ServerPlayer::sendMessage(const wstring& message, ChatPacket::EChatPacketMe
|
||||
|
||||
bool ServerPlayer::hasPermission(EGameCommand command)
|
||||
{
|
||||
return server->getPlayers()->isOp(std::dynamic_pointer_cast<ServerPlayer>(shared_from_this()));
|
||||
return server->getPlayers()->isOp(dynamic_pointer_cast<ServerPlayer>(shared_from_this()));
|
||||
}
|
||||
|
||||
// 4J - Don't use
|
||||
|
||||
@@ -247,7 +247,7 @@ bool ServerPlayerGameMode::destroyBlock(int x, int y, int z)
|
||||
if( isCreative() )
|
||||
{
|
||||
clientToUpdateRenderer = true;
|
||||
if( std::dynamic_pointer_cast<ServerPlayer>(player)->connection->isLocal() )
|
||||
if( dynamic_pointer_cast<ServerPlayer>(player)->connection->isLocal() )
|
||||
{
|
||||
// Establish whether we are sharing this chunk between client & server
|
||||
MultiPlayerLevel *clientLevel = Minecraft::GetInstance()->getLevel(level->dimension->id);
|
||||
|
||||
@@ -45,7 +45,7 @@ void SheepFurModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float
|
||||
{
|
||||
QuadrupedModel::prepareMobModel(mob, time, r, a);
|
||||
|
||||
std::shared_ptr<Sheep> sheep = std::dynamic_pointer_cast<Sheep>(mob);
|
||||
std::shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(mob);
|
||||
head->y = 6 + sheep->getHeadEatPositionScale(a) * 9.0f;
|
||||
headXRot = sheep->getHeadEatAngleScale(a);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ void SheepModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r,
|
||||
{
|
||||
QuadrupedModel::prepareMobModel(mob, time, r, a);
|
||||
|
||||
std::shared_ptr<Sheep> sheep = std::dynamic_pointer_cast<Sheep>(mob);
|
||||
std::shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(mob);
|
||||
head->y = 6 + sheep->getHeadEatPositionScale(a) * 9.0f;
|
||||
headXRot = sheep->getHeadEatAngleScale(a);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ SheepRenderer::SheepRenderer(Model *model, Model *armor, float shadow) : MobRend
|
||||
int SheepRenderer::prepareArmor(std::shared_ptr<Mob> _sheep, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Sheep> sheep = std::dynamic_pointer_cast<Sheep>(_sheep);
|
||||
std::shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(_sheep);
|
||||
|
||||
if (layer == 0 && !sheep->isSheared() &&
|
||||
!sheep->isInvisibleTo(Minecraft::GetInstance()->player)) // 4J-JEV: Todo, merge with java fix (for invisible sheep armour) in '1.7.5'.
|
||||
|
||||
@@ -16,7 +16,7 @@ SignRenderer::SignRenderer()
|
||||
void SignRenderer::render(std::shared_ptr<TileEntity> _sign, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<SignTileEntity> sign = std::dynamic_pointer_cast<SignTileEntity>(_sign);
|
||||
std::shared_ptr<SignTileEntity> sign = dynamic_pointer_cast<SignTileEntity>(_sign);
|
||||
|
||||
Tile *tile = sign->getTile();
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ SkullTileRenderer::~SkullTileRenderer()
|
||||
|
||||
void SkullTileRenderer::render(std::shared_ptr<TileEntity> _skull, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
std::shared_ptr<SkullTileEntity> skull = std::dynamic_pointer_cast<SkullTileEntity>(_skull);
|
||||
std::shared_ptr<SkullTileEntity> skull = dynamic_pointer_cast<SkullTileEntity>(_skull);
|
||||
renderSkull((float) x, (float) y, (float) z, skull->getData() & SkullTile::PLACEMENT_MASK, skull->getRotation() * 360 / 16.0f, skull->getSkullType(), skull->getExtraType());
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ SlimeRenderer::SlimeRenderer(Model *model, Model *armor, float shadow) : MobRend
|
||||
int SlimeRenderer::prepareArmor(std::shared_ptr<Mob> _slime, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(_slime);
|
||||
std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
|
||||
|
||||
if (slime->isInvisible()) return 0;
|
||||
|
||||
@@ -35,7 +35,7 @@ int SlimeRenderer::prepareArmor(std::shared_ptr<Mob> _slime, int layer, float a)
|
||||
void SlimeRenderer::scale(std::shared_ptr<Mob> _slime, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(_slime);
|
||||
std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
|
||||
|
||||
float size = (float) slime->getSize();
|
||||
float ss = (slime->oSquish + (slime->squish - slime->oSquish) * a) / (size * 0.5f + 1);
|
||||
|
||||
@@ -17,7 +17,7 @@ void SnowManRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type SnowMan rather than std::shared_ptr<Mob> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<SnowMan> mob = std::dynamic_pointer_cast<SnowMan>(_mob);
|
||||
std::shared_ptr<SnowMan> mob = dynamic_pointer_cast<SnowMan>(_mob);
|
||||
|
||||
MobRenderer::additionalRendering(mob, a);
|
||||
std::shared_ptr<ItemInstance> headGear = std::shared_ptr<ItemInstance>( new ItemInstance(Tile::pumpkin, 1) );
|
||||
|
||||
@@ -16,7 +16,7 @@ float SpiderRenderer::getFlipDegrees(std::shared_ptr<Mob> spider)
|
||||
int SpiderRenderer::prepareArmor(std::shared_ptr<Mob> _spider, int layer, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Spider> spider = std::dynamic_pointer_cast<Spider>(_spider);
|
||||
std::shared_ptr<Spider> spider = dynamic_pointer_cast<Spider>(_spider);
|
||||
|
||||
if (layer!=0) return -1;
|
||||
MemSect(31);
|
||||
@@ -55,7 +55,7 @@ int SpiderRenderer::prepareArmor(std::shared_ptr<Mob> _spider, int layer, float
|
||||
void SpiderRenderer::scale(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Spider> mob = std::dynamic_pointer_cast<Spider>(_mob);
|
||||
std::shared_ptr<Spider> mob = dynamic_pointer_cast<Spider>(_mob);
|
||||
float scale = mob->getModelScale();
|
||||
glScalef(scale, scale, scale);
|
||||
}
|
||||
@@ -14,7 +14,7 @@ void SquidRenderer::render(std::shared_ptr<Entity> mob, double x, double y, doub
|
||||
void SquidRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Squid> mob = std::dynamic_pointer_cast<Squid>(_mob);
|
||||
std::shared_ptr<Squid> mob = dynamic_pointer_cast<Squid>(_mob);
|
||||
|
||||
float bodyXRot = (mob->xBodyRotO + (mob->xBodyRot - mob->xBodyRotO) * a);
|
||||
float bodyZRot = (mob->zBodyRotO + (mob->zBodyRot - mob->zBodyRotO) * a);
|
||||
@@ -29,7 +29,7 @@ void SquidRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float b
|
||||
float SquidRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Squid> mob = std::dynamic_pointer_cast<Squid>(_mob);
|
||||
std::shared_ptr<Squid> mob = dynamic_pointer_cast<Squid>(_mob);
|
||||
|
||||
return mob->oldTentacleAngle + (mob->tentacleAngle - mob->oldTentacleAngle) * a;
|
||||
}
|
||||
@@ -16,22 +16,22 @@ TerrainParticle::TerrainParticle(Level *level, double x, double y, double z, dou
|
||||
|
||||
std::shared_ptr<TerrainParticle> TerrainParticle::init(int x, int y, int z, int data) // 4J - added data parameter
|
||||
{
|
||||
if (tile == Tile::grass) return std::dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
if (tile == Tile::grass) return dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
int col = tile->getColor(level, x, y, z, data); // 4J - added data parameter
|
||||
rCol *= ((col >> 16) & 0xff) / 255.0f;
|
||||
gCol *= ((col >> 8) & 0xff) / 255.0f;
|
||||
bCol *= ((col) & 0xff) / 255.0f;
|
||||
return std::dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
return dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
}
|
||||
|
||||
std::shared_ptr<TerrainParticle> TerrainParticle::init(int data)
|
||||
{
|
||||
if (tile == Tile::grass) return std::dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
if (tile == Tile::grass) return dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
int col = tile->getColor(data);
|
||||
rCol *= ((col >> 16) & 0xff) / 255.0f;
|
||||
gCol *= ((col >> 8) & 0xff) / 255.0f;
|
||||
bCol *= ((col) & 0xff) / 255.0f;
|
||||
return std::dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
return dynamic_pointer_cast<TerrainParticle>( shared_from_this() );
|
||||
}
|
||||
|
||||
int TerrainParticle::getParticleTexture()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
void TheEndPortalRenderer::render(std::shared_ptr<TileEntity> _table, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
|
||||
{
|
||||
// 4J Convert as we aren't using a templated class
|
||||
std::shared_ptr<TheEndPortalTileEntity> table = std::dynamic_pointer_cast<TheEndPortalTileEntity>(_table);
|
||||
std::shared_ptr<TheEndPortalTileEntity> table = dynamic_pointer_cast<TheEndPortalTileEntity>(_table);
|
||||
float xx = (float) (tileEntityRenderDispatcher->xPlayer);
|
||||
float yy = (float) (tileEntityRenderDispatcher->yPlayer);
|
||||
float zz = (float) (tileEntityRenderDispatcher->zPlayer);
|
||||
|
||||
@@ -13,7 +13,7 @@ TntRenderer::TntRenderer()
|
||||
void TntRenderer::render(std::shared_ptr<Entity> _tnt, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<PrimedTnt> tnt = std::dynamic_pointer_cast<PrimedTnt>(_tnt);
|
||||
std::shared_ptr<PrimedTnt> tnt = dynamic_pointer_cast<PrimedTnt>(_tnt);
|
||||
|
||||
glPushMatrix();
|
||||
glTranslatef((float) x, (float) y, (float) z);
|
||||
|
||||
@@ -68,7 +68,7 @@ void TrackedEntity::tick(EntityTracker *tracker, vector<std::shared_ptr<Player>
|
||||
// Moving forward special case for item frames
|
||||
if (e->GetType()== eTYPE_ITEM_FRAME && tickCount % 10 == 0)
|
||||
{
|
||||
std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame> (e);
|
||||
std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame> (e);
|
||||
std::shared_ptr<ItemInstance> item = frame->getItem();
|
||||
|
||||
if (item != NULL && item->getItem()->id == Item::map_Id && !e->removed)
|
||||
@@ -76,7 +76,7 @@ void TrackedEntity::tick(EntityTracker *tracker, vector<std::shared_ptr<Player>
|
||||
std::shared_ptr<MapItemSavedData> data = Item::map->getSavedData(item, e->level);
|
||||
for (AUTO_VAR(it,players->begin() ); it != players->end(); ++it)
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(*it);
|
||||
data->tickCarriedBy(player, item);
|
||||
|
||||
if (!player->removed && player->connection && player->connection->countDelayedPackets() <= 5)
|
||||
@@ -276,7 +276,7 @@ void TrackedEntity::tick(EntityTracker *tracker, vector<std::shared_ptr<Player>
|
||||
xRotp = xRotn;
|
||||
}
|
||||
|
||||
// if( std::dynamic_pointer_cast<ServerPlayer>(e) != NULL )
|
||||
// if( dynamic_pointer_cast<ServerPlayer>(e) != NULL )
|
||||
// {
|
||||
// printf("%d: %d + %d = %d (%f)\n",e->entityId,xRotp,xRota,xRotn,e->xRot);
|
||||
// }
|
||||
@@ -335,7 +335,7 @@ void TrackedEntity::broadcast(std::shared_ptr<Packet> packet)
|
||||
{
|
||||
dontSend = true;
|
||||
// #ifdef _DEBUG
|
||||
// std::shared_ptr<SetEntityMotionPacket> emp= std::dynamic_pointer_cast<SetEntityMotionPacket> (packet);
|
||||
// std::shared_ptr<SetEntityMotionPacket> emp= dynamic_pointer_cast<SetEntityMotionPacket> (packet);
|
||||
// if(emp!=NULL)
|
||||
// {
|
||||
// app.DebugPrintf("Not sending this SetEntityMotionPacket to player - it's already been sent to a player on their console\n");
|
||||
@@ -370,7 +370,7 @@ void TrackedEntity::broadcastAndSend(std::shared_ptr<Packet> packet)
|
||||
{
|
||||
vector< std::shared_ptr<ServerPlayer> > sentTo;
|
||||
broadcast(packet);
|
||||
std::shared_ptr<ServerPlayer> sp = std::dynamic_pointer_cast<ServerPlayer>(e);
|
||||
std::shared_ptr<ServerPlayer> sp = dynamic_pointer_cast<ServerPlayer>(e);
|
||||
if (sp != NULL && sp->connection)
|
||||
{
|
||||
sp->connection->send(packet);
|
||||
@@ -478,7 +478,7 @@ void TrackedEntity::updatePlayer(EntityTracker *tracker, std::shared_ptr<ServerP
|
||||
yap = e->yd;
|
||||
zap = e->zd;
|
||||
|
||||
std::shared_ptr<Player> plr = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> plr = dynamic_pointer_cast<Player>(e);
|
||||
if (plr != NULL)
|
||||
{
|
||||
app.DebugPrintf( "TrackedEntity:: Player '%ls' is now visible to player '%ls', %s.\n",
|
||||
@@ -488,7 +488,7 @@ void TrackedEntity::updatePlayer(EntityTracker *tracker, std::shared_ptr<ServerP
|
||||
}
|
||||
|
||||
// 4J Stu brought forward to fix when Item Frames
|
||||
if (!e->getEntityData()->isEmpty() && !(std::dynamic_pointer_cast<AddMobPacket>(packet)))
|
||||
if (!e->getEntityData()->isEmpty() && !(dynamic_pointer_cast<AddMobPacket>(packet)))
|
||||
{
|
||||
sp->connection->send(std::shared_ptr<SetEntityDataPacket>( new SetEntityDataPacket(e->entityId, e->getEntityData(), true)));
|
||||
}
|
||||
@@ -512,18 +512,18 @@ void TrackedEntity::updatePlayer(EntityTracker *tracker, std::shared_ptr<ServerP
|
||||
}
|
||||
}
|
||||
|
||||
if (std::dynamic_pointer_cast<Player>(e) != NULL)
|
||||
if (dynamic_pointer_cast<Player>(e) != NULL)
|
||||
{
|
||||
std::shared_ptr<Player> spe = std::dynamic_pointer_cast<Player>(e);
|
||||
std::shared_ptr<Player> spe = dynamic_pointer_cast<Player>(e);
|
||||
if (spe->isSleeping())
|
||||
{
|
||||
sp->connection->send( std::shared_ptr<EntityActionAtPositionPacket>( new EntityActionAtPositionPacket(e, EntityActionAtPositionPacket::START_SLEEP, Mth::floor(e->x), Mth::floor(e->y), Mth::floor(e->z)) ) );
|
||||
}
|
||||
}
|
||||
|
||||
if (std::dynamic_pointer_cast<Mob>(e) != NULL)
|
||||
if (dynamic_pointer_cast<Mob>(e) != NULL)
|
||||
{
|
||||
std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(e);
|
||||
std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(e);
|
||||
vector<MobEffectInstance *> *activeEffects = mob->getActiveEffects();
|
||||
for(AUTO_VAR(it, activeEffects->begin()); it != activeEffects->end(); ++it)
|
||||
{
|
||||
@@ -560,7 +560,7 @@ void TrackedEntity::updatePlayers(EntityTracker *tracker, vector<std::shared_ptr
|
||||
{
|
||||
for (unsigned int i = 0; i < players->size(); i++)
|
||||
{
|
||||
updatePlayer(tracker, std::dynamic_pointer_cast<ServerPlayer>( players->at(i) ) );
|
||||
updatePlayer(tracker, dynamic_pointer_cast<ServerPlayer>( players->at(i) ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -572,10 +572,10 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
|
||||
// 4J-PB - replacing with a switch, rather than tons of ifs
|
||||
if (std::dynamic_pointer_cast<Creature>(e) != NULL)
|
||||
if (dynamic_pointer_cast<Creature>(e) != NULL)
|
||||
{
|
||||
yHeadRotp = Mth::floor(e->getYHeadRot() * 256 / 360);
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp) );
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp) );
|
||||
}
|
||||
|
||||
switch(e->GetType())
|
||||
@@ -588,7 +588,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_SERVERPLAYER:
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
|
||||
PlayerUID xuid = INVALID_XUID;
|
||||
PlayerUID OnlineXuid = INVALID_XUID;
|
||||
if( player != NULL )
|
||||
@@ -597,12 +597,12 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
OnlineXuid = player->getOnlineXuid();
|
||||
}
|
||||
// 4J Added yHeadRotp param to fix #102563 - TU12: Content: Gameplay: When one of the Players is idle for a few minutes his head turns 180 degrees.
|
||||
return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(std::dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp, yHeadRotp ) );
|
||||
return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp, yHeadRotp ) );
|
||||
}
|
||||
break;
|
||||
case eTYPE_MINECART:
|
||||
{
|
||||
std::shared_ptr<Minecart> minecart = std::dynamic_pointer_cast<Minecart>(e);
|
||||
std::shared_ptr<Minecart> minecart = dynamic_pointer_cast<Minecart>(e);
|
||||
if (minecart->type == Minecart::RIDEABLE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_RIDEABLE, yRotp, xRotp, xp, yp, zp) );
|
||||
if (minecart->type == Minecart::CHEST) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_CHEST, yRotp, xRotp, xp, yp, zp) );
|
||||
if (minecart->type == Minecart::FURNACE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_FURNACE, yRotp, xRotp, xp, yp, zp) );
|
||||
@@ -616,18 +616,18 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
case eTYPE_ENDERDRAGON:
|
||||
{
|
||||
yHeadRotp = Mth::floor(e->getYHeadRot() * 256 / 360);
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp ) );
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp ) );
|
||||
}
|
||||
break;
|
||||
case eTYPE_FISHINGHOOK:
|
||||
{
|
||||
std::shared_ptr<Entity> owner = std::dynamic_pointer_cast<FishingHook>(e)->owner;
|
||||
std::shared_ptr<Entity> owner = dynamic_pointer_cast<FishingHook>(e)->owner;
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FISH_HOOK, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
break;
|
||||
case eTYPE_ARROW:
|
||||
{
|
||||
std::shared_ptr<Entity> owner = (std::dynamic_pointer_cast<Arrow>(e))->owner;
|
||||
std::shared_ptr<Entity> owner = (dynamic_pointer_cast<Arrow>(e))->owner;
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::ARROW, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
break;
|
||||
@@ -638,7 +638,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_THROWNPOTION:
|
||||
{
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((std::dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
|
||||
}
|
||||
break;
|
||||
case eTYPE_THROWNEXPBOTTLE:
|
||||
@@ -658,7 +658,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_SMALL_FIREBALL:
|
||||
{
|
||||
std::shared_ptr<SmallFireball> fb = std::dynamic_pointer_cast<SmallFireball>(e);
|
||||
std::shared_ptr<SmallFireball> fb = dynamic_pointer_cast<SmallFireball>(e);
|
||||
std::shared_ptr<AddEntityPacket> aep = nullptr;
|
||||
if (fb->owner != NULL)
|
||||
{
|
||||
@@ -676,7 +676,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_DRAGON_FIREBALL:
|
||||
{
|
||||
std::shared_ptr<DragonFireball> fb = std::dynamic_pointer_cast<DragonFireball>(e);
|
||||
std::shared_ptr<DragonFireball> fb = dynamic_pointer_cast<DragonFireball>(e);
|
||||
std::shared_ptr<AddEntityPacket> aep = nullptr;
|
||||
if (fb->owner != NULL)
|
||||
{
|
||||
@@ -694,7 +694,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_FIREBALL:
|
||||
{
|
||||
std::shared_ptr<Fireball> fb = std::dynamic_pointer_cast<Fireball>(e);
|
||||
std::shared_ptr<Fireball> fb = dynamic_pointer_cast<Fireball>(e);
|
||||
std::shared_ptr<AddEntityPacket> aep = nullptr;
|
||||
if (fb->owner != NULL)
|
||||
{
|
||||
@@ -727,18 +727,18 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_FALLINGTILE:
|
||||
{
|
||||
std::shared_ptr<FallingTile> ft = std::dynamic_pointer_cast<FallingTile>(e);
|
||||
std::shared_ptr<FallingTile> ft = dynamic_pointer_cast<FallingTile>(e);
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING, ft->tile | (ft->data << 16), yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
break;
|
||||
case eTYPE_PAINTING:
|
||||
{
|
||||
return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(std::dynamic_pointer_cast<Painting>(e)) );
|
||||
return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(dynamic_pointer_cast<Painting>(e)) );
|
||||
}
|
||||
break;
|
||||
case eTYPE_ITEM_FRAME:
|
||||
{
|
||||
std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame>(e);
|
||||
std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
|
||||
{
|
||||
|
||||
int ix= (int)frame->xTile;
|
||||
@@ -756,7 +756,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
break;
|
||||
case eTYPE_EXPERIENCEORB:
|
||||
{
|
||||
return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(std::dynamic_pointer_cast<ExperienceOrb>(e)) );
|
||||
return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(dynamic_pointer_cast<ExperienceOrb>(e)) );
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -766,7 +766,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
/*
|
||||
if (e->GetType() == eTYPE_ITEMENTITY)
|
||||
{
|
||||
std::shared_ptr<ItemEntity> itemEntity = std::dynamic_pointer_cast<ItemEntity>(e);
|
||||
std::shared_ptr<ItemEntity> itemEntity = dynamic_pointer_cast<ItemEntity>(e);
|
||||
std::shared_ptr<AddItemEntityPacket> packet = std::shared_ptr<AddItemEntityPacket>( new AddItemEntityPacket(itemEntity, xp, yp, zp) );
|
||||
itemEntity->x = packet->x / 32.0;
|
||||
itemEntity->y = packet->y / 32.0;
|
||||
@@ -776,7 +776,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
|
||||
if (e->GetType() == eTYPE_SERVERPLAYER )
|
||||
{
|
||||
std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
|
||||
std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
|
||||
XUID xuid = INVALID_XUID;
|
||||
XUID OnlineXuid = INVALID_XUID;
|
||||
if( player != NULL )
|
||||
@@ -784,11 +784,11 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
xuid = player->getXuid();
|
||||
OnlineXuid = player->getOnlineXuid();
|
||||
}
|
||||
return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(std::dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp ) );
|
||||
return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp ) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_MINECART)
|
||||
{
|
||||
std::shared_ptr<Minecart> minecart = std::dynamic_pointer_cast<Minecart>(e);
|
||||
std::shared_ptr<Minecart> minecart = dynamic_pointer_cast<Minecart>(e);
|
||||
if (minecart->type == Minecart::RIDEABLE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_RIDEABLE, yRotp, xRotp, xp, yp, zp) );
|
||||
if (minecart->type == Minecart::CHEST) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_CHEST, yRotp, xRotp, xp, yp, zp) );
|
||||
if (minecart->type == Minecart::FURNACE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_FURNACE, yRotp, xRotp, xp, yp, zp) );
|
||||
@@ -797,22 +797,22 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
{
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::BOAT, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
if (std::dynamic_pointer_cast<Creature>(e) != NULL)
|
||||
if (dynamic_pointer_cast<Creature>(e) != NULL)
|
||||
{
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp) );
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_ENDERDRAGON)
|
||||
{
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp ) );
|
||||
return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp ) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_FISHINGHOOK)
|
||||
{
|
||||
std::shared_ptr<Entity> owner = std::dynamic_pointer_cast<FishingHook>(e)->owner;
|
||||
std::shared_ptr<Entity> owner = dynamic_pointer_cast<FishingHook>(e)->owner;
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FISH_HOOK, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_ARROW)
|
||||
{
|
||||
std::shared_ptr<Entity> owner = (std::dynamic_pointer_cast<Arrow>(e))->owner;
|
||||
std::shared_ptr<Entity> owner = (dynamic_pointer_cast<Arrow>(e))->owner;
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::ARROW, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_SNOWBALL)
|
||||
@@ -821,7 +821,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
if (e->GetType() == eTYPE_THROWNPOTION)
|
||||
{
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((std::dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
|
||||
return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
|
||||
}
|
||||
if (e->GetType() == eTYPE_THROWNEXPBOTTLE)
|
||||
{
|
||||
@@ -837,7 +837,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
if (e->GetType() == eTYPE_SMALL_FIREBALL)
|
||||
{
|
||||
std::shared_ptr<SmallFireball> fb = std::dynamic_pointer_cast<SmallFireball>(e);
|
||||
std::shared_ptr<SmallFireball> fb = dynamic_pointer_cast<SmallFireball>(e);
|
||||
std::shared_ptr<AddEntityPacket> aep = NULL;
|
||||
if (fb->owner != NULL)
|
||||
{
|
||||
@@ -854,7 +854,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
if (e->GetType() == eTYPE_FIREBALL)
|
||||
{
|
||||
std::shared_ptr<Fireball> fb = std::dynamic_pointer_cast<Fireball>(e);
|
||||
std::shared_ptr<Fireball> fb = dynamic_pointer_cast<Fireball>(e);
|
||||
std::shared_ptr<AddEntityPacket> aep = NULL;
|
||||
if (fb->owner != NULL)
|
||||
{
|
||||
@@ -883,18 +883,18 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
if (e->GetType() == eTYPE_FALLINGTILE)
|
||||
{
|
||||
std::shared_ptr<FallingTile> ft = std::dynamic_pointer_cast<FallingTile>(e);
|
||||
std::shared_ptr<FallingTile> ft = dynamic_pointer_cast<FallingTile>(e);
|
||||
if (ft->tile == Tile::sand_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_SAND, yRotp, xRotp, xp, yp, zp) );
|
||||
if (ft->tile == Tile::gravel_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_GRAVEL, yRotp, xRotp, xp, yp, zp) );
|
||||
if (ft->tile == Tile::dragonEgg_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_EGG, yRotp, xRotp, xp, yp, zp) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_PAINTING)
|
||||
{
|
||||
return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(std::dynamic_pointer_cast<Painting>(e)) );
|
||||
return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(dynamic_pointer_cast<Painting>(e)) );
|
||||
}
|
||||
if (e->GetType() == eTYPE_ITEM_FRAME)
|
||||
{
|
||||
std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame>(e);
|
||||
std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
|
||||
{
|
||||
|
||||
int ix= (int)frame->xTile;
|
||||
@@ -911,7 +911,7 @@ std::shared_ptr<Packet> TrackedEntity::getAddEntityPacket()
|
||||
}
|
||||
if (e->GetType() == eTYPE_EXPERIENCEORB)
|
||||
{
|
||||
return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(std::dynamic_pointer_cast<ExperienceOrb>(e)) );
|
||||
return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(dynamic_pointer_cast<ExperienceOrb>(e)) );
|
||||
}
|
||||
assert(false);
|
||||
*/
|
||||
|
||||
@@ -61,7 +61,7 @@ void VillagerGolemModel::setupAnim(float time, float r, float bob, float yRot, f
|
||||
|
||||
void VillagerGolemModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
|
||||
{
|
||||
std::shared_ptr<VillagerGolem> vg = std::dynamic_pointer_cast<VillagerGolem>(mob);
|
||||
std::shared_ptr<VillagerGolem> vg = dynamic_pointer_cast<VillagerGolem>(mob);
|
||||
int attackTick = vg->getAttackAnimationTick();
|
||||
if (attackTick > 0)
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@ void VillagerGolemRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob,
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<VillagerGolem> mob = std::dynamic_pointer_cast<VillagerGolem>(_mob);
|
||||
std::shared_ptr<VillagerGolem> mob = dynamic_pointer_cast<VillagerGolem>(_mob);
|
||||
MobRenderer::setupRotations(mob, bob, bodyRot, a);
|
||||
if (mob->walkAnimSpeed < 0.01) return;
|
||||
|
||||
@@ -38,7 +38,7 @@ void VillagerGolemRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<VillagerGolem> mob = std::dynamic_pointer_cast<VillagerGolem>(_mob);
|
||||
std::shared_ptr<VillagerGolem> mob = dynamic_pointer_cast<VillagerGolem>(_mob);
|
||||
MobRenderer::additionalRendering(mob, a);
|
||||
if (mob->getOfferFlowerTick() == 0) return;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ void VillagerRenderer::scale(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
|
||||
// do some casting around instead
|
||||
std::shared_ptr<Villager> mob = std::dynamic_pointer_cast<Villager>(_mob);
|
||||
std::shared_ptr<Villager> mob = dynamic_pointer_cast<Villager>(_mob);
|
||||
float s = 15 / 16.0f;
|
||||
if (mob->getAge() < 0)
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ void WolfModel::render(std::shared_ptr<Entity> entity, float time, float r, floa
|
||||
|
||||
void WolfModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
|
||||
{
|
||||
std::shared_ptr<Wolf> wolf = std::dynamic_pointer_cast<Wolf>(mob);
|
||||
std::shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(mob);
|
||||
|
||||
if (wolf->isAngry())
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ WolfRenderer::WolfRenderer(Model *model, Model *armor, float shadow) : MobRender
|
||||
float WolfRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
std::shared_ptr<Wolf> mob = std::dynamic_pointer_cast<Wolf>(_mob);
|
||||
std::shared_ptr<Wolf> mob = dynamic_pointer_cast<Wolf>(_mob);
|
||||
|
||||
return mob->getTailAngle();
|
||||
}
|
||||
@@ -20,7 +20,7 @@ int WolfRenderer::prepareArmor(std::shared_ptr<Mob> mob, int layer, float a)
|
||||
{
|
||||
if (mob->isInvisibleTo(Minecraft::GetInstance()->player)) return -1; // 4J-JEV: Todo, merge with java fix in '1.7.5'.
|
||||
|
||||
std::shared_ptr<Wolf> wolf = std::dynamic_pointer_cast<Wolf>(mob);
|
||||
std::shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(mob);
|
||||
if (layer == 0 && wolf->isWet())
|
||||
{
|
||||
float brightness = wolf->getBrightness(a) * wolf->getWetShade(a);
|
||||
|
||||
@@ -36,21 +36,21 @@ void ZombieRenderer::createArmorParts()
|
||||
|
||||
int ZombieRenderer::prepareArmor(std::shared_ptr<Mob> _mob, int layer, float a)
|
||||
{
|
||||
std::shared_ptr<Zombie> mob = std::dynamic_pointer_cast<Zombie>(_mob);
|
||||
std::shared_ptr<Zombie> mob = dynamic_pointer_cast<Zombie>(_mob);
|
||||
swapArmor(mob);
|
||||
return HumanoidMobRenderer::prepareArmor(_mob, layer, a);
|
||||
}
|
||||
|
||||
void ZombieRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
|
||||
{
|
||||
std::shared_ptr<Zombie> mob = std::dynamic_pointer_cast<Zombie>(_mob);
|
||||
std::shared_ptr<Zombie> mob = dynamic_pointer_cast<Zombie>(_mob);
|
||||
swapArmor(mob);
|
||||
HumanoidMobRenderer::render(_mob, x, y, z, rot, a);
|
||||
}
|
||||
|
||||
void ZombieRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
|
||||
{
|
||||
std::shared_ptr<Zombie> mob = std::dynamic_pointer_cast<Zombie>(_mob);
|
||||
std::shared_ptr<Zombie> mob = dynamic_pointer_cast<Zombie>(_mob);
|
||||
swapArmor(mob);
|
||||
HumanoidMobRenderer::additionalRendering(_mob, a);
|
||||
}
|
||||
@@ -82,7 +82,7 @@ void ZombieRenderer::swapArmor(std::shared_ptr<Zombie> mob)
|
||||
|
||||
void ZombieRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
|
||||
{
|
||||
std::shared_ptr<Zombie> mob = std::dynamic_pointer_cast<Zombie>(_mob);
|
||||
std::shared_ptr<Zombie> mob = dynamic_pointer_cast<Zombie>(_mob);
|
||||
if (mob->isConverting())
|
||||
{
|
||||
bodyRot += (float) (cos(mob->tickCount * 3.25) * PI * .25f);
|
||||
|
||||
Reference in New Issue
Block a user