···77{
88 // 4J - original version used generics and thus had an input parameter of type Arrow rather than std::shared_ptr<Entity> we have here -
99 // do some casting around instead
1010- std::shared_ptr<Arrow> arrow = std::dynamic_pointer_cast<Arrow>(_arrow);
1010+ std::shared_ptr<Arrow> arrow = dynamic_pointer_cast<Arrow>(_arrow);
1111 bindTexture(TN_ITEM_ARROWS); // 4J - was L"/item/arrows.png"
12121313 glPushMatrix();
+1-1
Minecraft.Client/BlazeRenderer.cpp
···1212{
1313 // 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
1414 // do some casting around instead
1515- std::shared_ptr<Blaze> mob = std::dynamic_pointer_cast<Blaze>(_mob);
1515+ std::shared_ptr<Blaze> mob = dynamic_pointer_cast<Blaze>(_mob);
16161717 int modelVersion = ((BlazeModel *) model)->modelVersion();
1818 if (modelVersion != this->modelVersion)
+1-1
Minecraft.Client/BoatRenderer.cpp
···1414{
1515 // 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
1616 // do some casting around instead
1717- std::shared_ptr<Boat> boat = std::dynamic_pointer_cast<Boat>(_boat);
1717+ std::shared_ptr<Boat> boat = dynamic_pointer_cast<Boat>(_boat);
18181919 glPushMatrix();
2020
+1-1
Minecraft.Client/ChestRenderer.cpp
···2121void ChestRenderer::render(std::shared_ptr<TileEntity> _chest, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
2222{
2323 // 4J Convert as we aren't using a templated class
2424- std::shared_ptr<ChestTileEntity> chest = std::dynamic_pointer_cast<ChestTileEntity>(_chest);
2424+ std::shared_ptr<ChestTileEntity> chest = dynamic_pointer_cast<ChestTileEntity>(_chest);
25252626 int data;
2727
+1-1
Minecraft.Client/ChickenRenderer.cpp
···1515float ChickenRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
1616{
1717 // 4J - dynamic cast required because we aren't using templates/generics in our version
1818- std::shared_ptr<Chicken> mob = std::dynamic_pointer_cast<Chicken>(_mob);
1818+ std::shared_ptr<Chicken> mob = dynamic_pointer_cast<Chicken>(_mob);
19192020 float flap = mob->oFlap+(mob->flap-mob->oFlap)*a;
2121 float flapSpeed = mob->oFlapSpeed+(mob->flapSpeed-mob->oFlapSpeed)*a;
+27-27
Minecraft.Client/ClientConnection.cpp
···446446 }
447447 }
448448 }
449449- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
449449+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
450450 if (player != NULL)
451451 {
452452 std::shared_ptr<FishingHook> hook = std::shared_ptr<FishingHook>( new FishingHook(level, x, y, z, player) );
···547547 }
548548 }
549549 }
550550- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
550550+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
551551 if (player != NULL)
552552 {
553553 std::shared_ptr<FishingHook> hook = std::shared_ptr<FishingHook>( new FishingHook(level, x, y, z, player) );
···653653 }
654654 }
655655656656- if (std::dynamic_pointer_cast<Mob>(owner) != NULL)
656656+ if (dynamic_pointer_cast<Mob>(owner) != NULL)
657657 {
658658- std::dynamic_pointer_cast<Arrow>(e)->owner = std::dynamic_pointer_cast<Mob>(owner);
658658+ dynamic_pointer_cast<Arrow>(e)->owner = dynamic_pointer_cast<Mob>(owner);
659659 }
660660 }
661661···12071207void ClientConnection::handleTakeItemEntity(std::shared_ptr<TakeItemEntityPacket> packet)
12081208{
12091209 std::shared_ptr<Entity> from = getEntity(packet->itemId);
12101210- std::shared_ptr<Mob> to = std::dynamic_pointer_cast<Mob>(getEntity(packet->playerId));
12101210+ std::shared_ptr<Mob> to = dynamic_pointer_cast<Mob>(getEntity(packet->playerId));
1211121112121212 // 4J - the original game could assume that if getEntity didn't find the player, it must be the local player. We
12131213 // need to search all local players
···12401240 // "from" reference if we've already removed the item for an earlier processed connection
12411241 if( isLocalPlayer )
12421242 {
12431243- std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>(to);
12431243+ std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>(to);
1244124412451245 // 4J Stu - Fix for #10213 - UI: Local clients cannot progress through the tutorial normally.
12461246 // We only send this packet once if many local players can see the event, so make sure we update
···15711571 if (e == NULL) return;
15721572 if (packet->action == AnimatePacket::SWING)
15731573 {
15741574- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
15741574+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
15751575 if(player != NULL) player->swing();
15761576 }
15771577 else if (packet->action == AnimatePacket::HURT)
···15801580 }
15811581 else if (packet->action == AnimatePacket::WAKE_UP)
15821582 {
15831583- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
15831583+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
15841584 if(player != NULL) player->stopSleepInBed(false, false, false);
15851585 }
15861586 else if (packet->action == AnimatePacket::RESPAWN)
···15981598 critParticle->CritParticlePostConstructor();
15991599 minecraft->particleEngine->add(critParticle);
16001600 }
16011601- else if (packet->action == AnimatePacket::EAT && std::dynamic_pointer_cast<RemotePlayer>(e) != NULL)
16011601+ else if (packet->action == AnimatePacket::EAT && dynamic_pointer_cast<RemotePlayer>(e) != NULL)
16021602 {
16031603 }
16041604···16101610 if (e == NULL) return;
16111611 if (packet->action == EntityActionAtPositionPacket::START_SLEEP)
16121612 {
16131613- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
16131613+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
16141614 player->startSleepInBed(packet->x, packet->y, packet->z);
1615161516161616 if( player == minecraft->localplayers[m_userIndex] )
···21132113 float yRot = packet->yRot * 360 / 256.0f;
21142114 float xRot = packet->xRot * 360 / 256.0f;
2115211521162116- std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(EntityIO::newById(packet->type, level));
21162116+ std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(EntityIO::newById(packet->type, level));
21172117 mob->xp = packet->x;
21182118 mob->yp = packet->y;
21192119 mob->zp = packet->z;
···21532153 // 4J Stu - Slimes have a different BB depending on their size which is set in the entity data, so update the BB
21542154 if(mob->GetType() == eTYPE_SLIME || mob->GetType() == eTYPE_LAVASLIME)
21552155 {
21562156- std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(mob);
21562156+ std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(mob);
21572157 slime->setSize( slime->getSize() );
21582158 }
21592159}
···21762176 std::shared_ptr<Entity> rider = getEntity(packet->riderId);
21772177 std::shared_ptr<Entity> ridden = getEntity(packet->riddenId);
2178217821792179- std::shared_ptr<Boat> boat = std::dynamic_pointer_cast<Boat>(ridden);
21792179+ std::shared_ptr<Boat> boat = dynamic_pointer_cast<Boat>(ridden);
21802180 //if (packet->riderId == minecraft->player->entityId) rider = minecraft->player;
21812181 if (packet->riderId == minecraft->localplayers[m_userIndex]->entityId)
21822182 {
···23272327{
23282328 std::shared_ptr<Entity> e = getEntity(packet->id);
23292329 if (e == NULL) return;
23302330- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
23302330+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
23312331 if( e == NULL) return;
2332233223332333 bool isLocalPlayer = false;
···23822382{
23832383 std::shared_ptr<Entity> e = getEntity(packet->id);
23842384 if (e == NULL) return;
23852385- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
23852385+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
23862386 if( e == NULL) return;
2387238723882388 bool isLocalPlayer = false;
···27652765 std::shared_ptr<TileEntity> te = minecraft->level->getTileEntity(packet->x, packet->y, packet->z);
2766276627672767 // 4J-PB - on a client connecting, the line below fails
27682768- if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
27682768+ if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
27692769 {
27702770- std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
27702770+ std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
27712771 for (int i = 0; i < MAX_SIGN_LINES; i++)
27722772 {
27732773 ste->SetMessage(i,packet->lines[i]);
···27812781 }
27822782 else
27832783 {
27842784- app.DebugPrintf("std::dynamic_pointer_cast<SignTileEntity>(te) == NULL\n");
27842784+ app.DebugPrintf("dynamic_pointer_cast<SignTileEntity>(te) == NULL\n");
27852785 }
27862786 }
27872787 else
···2798279827992799 if (te != NULL)
28002800 {
28012801- if (packet->type == TileEntityDataPacket::TYPE_MOB_SPAWNER && std::dynamic_pointer_cast<MobSpawnerTileEntity>(te) != NULL)
28012801+ if (packet->type == TileEntityDataPacket::TYPE_MOB_SPAWNER && dynamic_pointer_cast<MobSpawnerTileEntity>(te) != NULL)
28022802 {
28032803- std::dynamic_pointer_cast<MobSpawnerTileEntity>(te)->load(packet->tag);
28032803+ dynamic_pointer_cast<MobSpawnerTileEntity>(te)->load(packet->tag);
28042804 }
28052805 //else if (packet.type == TileEntityDataPacket.TYPE_ADV_COMMAND && (te instanceof CommandBlockEntity))
28062806 //{
···28102810 //{
28112811 // ((BeaconTileEntity) te).load(packet.tag);
28122812 //}
28132813- else if (packet->type == TileEntityDataPacket::TYPE_SKULL && std::dynamic_pointer_cast<SkullTileEntity>(te) != NULL)
28132813+ else if (packet->type == TileEntityDataPacket::TYPE_SKULL && dynamic_pointer_cast<SkullTileEntity>(te) != NULL)
28142814 {
28152815- std::dynamic_pointer_cast<SkullTileEntity>(te)->load(packet->tag);
28152815+ dynamic_pointer_cast<SkullTileEntity>(te)->load(packet->tag);
28162816 }
28172817 }
28182818 }
···29712971void ClientConnection::handleUpdateMobEffect(std::shared_ptr<UpdateMobEffectPacket> packet)
29722972{
29732973 std::shared_ptr<Entity> e = getEntity(packet->entityId);
29742974- if (e == NULL || std::dynamic_pointer_cast<Mob>(e) == NULL) return;
29742974+ if (e == NULL || dynamic_pointer_cast<Mob>(e) == NULL) return;
2975297529762976- ( std::dynamic_pointer_cast<Mob>(e) )->addEffect(new MobEffectInstance(packet->effectId, packet->effectDurationTicks, packet->effectAmplifier));
29762976+ ( dynamic_pointer_cast<Mob>(e) )->addEffect(new MobEffectInstance(packet->effectId, packet->effectDurationTicks, packet->effectAmplifier));
29772977}
2978297829792979void ClientConnection::handleRemoveMobEffect(std::shared_ptr<RemoveMobEffectPacket> packet)
29802980{
29812981 std::shared_ptr<Entity> e = getEntity(packet->entityId);
29822982- if (e == NULL || std::dynamic_pointer_cast<Mob>(e) == NULL) return;
29822982+ if (e == NULL || dynamic_pointer_cast<Mob>(e) == NULL) return;
2983298329842984- ( std::dynamic_pointer_cast<Mob>(e) )->removeEffectNoUpdate(packet->effectId);
29842984+ ( dynamic_pointer_cast<Mob>(e) )->removeEffectNoUpdate(packet->effectId);
29852985}
2986298629872987bool ClientConnection::isServerPacketListener()
···30083008 std::shared_ptr<Entity> entity = getEntity(packet->m_entityId);
30093009 if(entity != NULL && entity->GetType() == eTYPE_PLAYER)
30103010 {
30113011- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(entity);
30113011+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(entity);
30123012 player->setPlayerGamePrivilege(Player::ePlayerGamePrivilege_All, packet->m_playerPrivileges);
30133013 }
30143014 if(networkPlayer != NULL && networkPlayer->IsLocal())
···6262 if(itemFound)
6363 {
6464 // It's also possible that we could hit TileEntities (eg falling sand) so don't want to give this hint then
6565- if( std::dynamic_pointer_cast<Mob>( entity ) != NULL )
6565+ if( dynamic_pointer_cast<Mob>( entity ) != NULL )
6666 {
6767 return IDS_TUTORIAL_HINT_ATTACK_WITH_TOOL;
6868 }
···258258259259 if(pRecipeIngredientsRequired[iRecipe].bCanMake[iPad])
260260 {
261261- pTempItemInst->onCraftedBy(m_pPlayer->level, std::dynamic_pointer_cast<Player>( m_pPlayer->shared_from_this() ), pTempItemInst->count );
261261+ pTempItemInst->onCraftedBy(m_pPlayer->level, dynamic_pointer_cast<Player>( m_pPlayer->shared_from_this() ), pTempItemInst->count );
262262 // TODO 4J Stu - handleCraftItem should do a lot more than what it does, loads of the "can we craft" code should also probably be
263263 // shifted to the GameMode
264264 pMinecraft->localgameModes[iPad]->handleCraftItem(iRecipe,m_pPlayer);
···5656 wchar_t temp[256];
5757 swprintf(temp, 256, costString, m_repairMenu->cost);
5858 m_costString = temp;
5959- if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(std::dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
5959+ if(!m_repairMenu->getSlot(RepairMenu::RESULT_SLOT)->mayPickup(dynamic_pointer_cast<Player>(m_inventory->player->shared_from_this())))
6060 {
6161 expensive = true;
6262 }
···395395 // another player destroyed the anvil, so shut down the keyboard if it is displayed
396396#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO)
397397 InputManager.DestroyKeyboard();
398398-#endif
398398+#endif
399399 UIScene_AbstractContainerMenu::handleDestroy();
400400}
···1717void EnchantTableRenderer::render(std::shared_ptr<TileEntity> _table, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
1818{
1919 // 4J Convert as we aren't using a templated class
2020- std::shared_ptr<EnchantmentTableEntity> table = std::dynamic_pointer_cast<EnchantmentTableEntity>(_table);
2020+ std::shared_ptr<EnchantmentTableEntity> table = dynamic_pointer_cast<EnchantmentTableEntity>(_table);
21212222#ifdef __PSVITA__
2323 // 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
+1-1
Minecraft.Client/EnderChestRenderer.cpp
···66void EnderChestRenderer::render(std::shared_ptr<TileEntity> _chest, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
77{
88 // 4J Convert as we aren't using a templated class
99- std::shared_ptr<EnderChestTileEntity> chest = std::dynamic_pointer_cast<EnderChestTileEntity>(_chest);
99+ std::shared_ptr<EnderChestTileEntity> chest = dynamic_pointer_cast<EnderChestTileEntity>(_chest);
10101111 int data = 0;
1212
+1-1
Minecraft.Client/EnderCrystalRenderer.cpp
···1313{
1414 // 4J - original version used generics and thus had an input parameter of type EnderCrystal rather than std::shared_ptr<Entity> we have here -
1515 // do some casting around instead
1616- std::shared_ptr<EnderCrystal> crystal = std::dynamic_pointer_cast<EnderCrystal>(_crystal);
1616+ std::shared_ptr<EnderCrystal> crystal = dynamic_pointer_cast<EnderCrystal>(_crystal);
1717 if (currentModel != EnderCrystalModel::MODEL_ID)
1818 {
1919 model = new EnderCrystalModel(0);
+5-5
Minecraft.Client/EnderDragonRenderer.cpp
···1818void EnderDragonRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
1919{
2020 // 4J - dynamic cast required because we aren't using templates/generics in our version
2121- std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
2121+ std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
22222323 // 4J - reorganised a bit so we can free allocations
2424 double lpComponents[3];
···4949void EnderDragonRenderer::renderModel(std::shared_ptr<Entity> _mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale)
5050{
5151 // 4J - dynamic cast required because we aren't using templates/generics in our version
5252- std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
5252+ std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
53535454 if (mob->dragonDeathTime > 0)
5555 {
···9090void EnderDragonRenderer::render(std::shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
9191{
9292 // 4J - dynamic cast required because we aren't using templates/generics in our version
9393- std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
9393+ std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
9494 EnderDragonRenderer::bossInstance = mob;
9595 if (currentModel != DragonModel::MODEL_ID)
9696 {
···170170void EnderDragonRenderer::additionalRendering(std::shared_ptr<Mob> _mob, float a)
171171{
172172 // 4J - dynamic cast required because we aren't using templates/generics in our version
173173- std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
173173+ std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
174174 MobRenderer::additionalRendering(mob, a);
175175 Tesselator *t = Tesselator::getInstance();
176176···230230int EnderDragonRenderer::prepareArmor(std::shared_ptr<Mob> _mob, int layer, float a)
231231{
232232 // 4J - dynamic cast required because we aren't using templates/generics in our version
233233- std::shared_ptr<EnderDragon> mob = std::dynamic_pointer_cast<EnderDragon>(_mob);
233233+ std::shared_ptr<EnderDragon> mob = dynamic_pointer_cast<EnderDragon>(_mob);
234234235235 if (layer == 1)
236236 {
+3-3
Minecraft.Client/EndermanRenderer.cpp
···1414{
1515 // 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
1616 // do some casting around instead
1717- std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
1717+ std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
18181919 model->carrying = mob->getCarryingTile() > 0;
2020 model->creepy = mob->isCreepy();
···3333{
3434 // 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
3535 // do some casting around instead
3636- std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
3636+ std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
37373838 MobRenderer::additionalRendering(_mob, a);
3939···7272{
7373 // 4J - original version used generics and thus had an input parameter of type Boat rather than std::shared_ptr<Entity> we have here -
7474 // do some casting around instead
7575- std::shared_ptr<EnderMan> mob = std::dynamic_pointer_cast<EnderMan>(_mob);
7575+ std::shared_ptr<EnderMan> mob = dynamic_pointer_cast<EnderMan>(_mob);
76767777 if (layer != 0) return -1;
7878
···1515void FallingTileRenderer::render(std::shared_ptr<Entity> _tile, double x, double y, double z, float rot, float a)
1616{
1717 // 4J - dynamic cast required because we aren't using templates/generics in our version
1818- std::shared_ptr<FallingTile> tile = std::dynamic_pointer_cast<FallingTile>(_tile);
1818+ std::shared_ptr<FallingTile> tile = dynamic_pointer_cast<FallingTile>(_tile);
1919 glPushMatrix();
2020 glTranslatef((float) x, (float) y, (float) z);
2121
+1-1
Minecraft.Client/FireballRenderer.cpp
···1515void FireballRenderer::render(std::shared_ptr<Entity> _fireball, double x, double y, double z, float rot, float a)
1616{
1717 // 4J - dynamic cast required because we aren't using templates/generics in our version
1818- std::shared_ptr<Fireball> fireball = std::dynamic_pointer_cast<Fireball>(_fireball);
1818+ std::shared_ptr<Fireball> fireball = dynamic_pointer_cast<Fireball>(_fireball);
19192020 glPushMatrix();
2121
+2-2
Minecraft.Client/FishingHookRenderer.cpp
···1111void FishingHookRenderer::render(std::shared_ptr<Entity> _hook, double x, double y, double z, float rot, float a)
1212{
1313 // 4J - dynamic cast required because we aren't using templates/generics in our version
1414- std::shared_ptr<FishingHook> hook = std::dynamic_pointer_cast<FishingHook>(_hook);
1414+ std::shared_ptr<FishingHook> hook = dynamic_pointer_cast<FishingHook>(_hook);
15151616 glPushMatrix();
1717···6262 double xp = hook->owner->xo + (hook->owner->x - hook->owner->xo) * a + vv->x;
6363 double yp = hook->owner->yo + (hook->owner->y - hook->owner->yo) * a + vv->y;
6464 double zp = hook->owner->zo + (hook->owner->z - hook->owner->zo) * a + vv->z;
6565- double yOffset = hook->owner != std::dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player) ? hook->owner->getHeadHeight() : 0;
6565+ double yOffset = hook->owner != dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player) ? hook->owner->getHeadHeight() : 0;
66666767 // 4J-PB - changing this to be per player
6868 //if (this->entityRenderDispatcher->options->thirdPersonView)
+14-14
Minecraft.Client/GameRenderer.cpp
···276276277277 if (mc->cameraTargetPlayer == NULL)
278278 {
279279- mc->cameraTargetPlayer = std::dynamic_pointer_cast<Mob>(mc->player);
279279+ mc->cameraTargetPlayer = dynamic_pointer_cast<Mob>(mc->player);
280280 }
281281282282 float brr = mc->level->getBrightness(Mth::floor(mc->cameraTargetPlayer->x), Mth::floor(mc->cameraTargetPlayer->y), Mth::floor(mc->cameraTargetPlayer->z));
···407407408408void GameRenderer::tickFov()
409409{
410410- std::shared_ptr<LocalPlayer>player = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
410410+ std::shared_ptr<LocalPlayer>player = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
411411412412 int playerIdx = player ? player->GetXboxPad() : 0;
413413 tFov[playerIdx] = player->getFieldOfViewModifier();
···420420{
421421 if (cameraFlip > 0 ) return 90;
422422423423- std::shared_ptr<LocalPlayer> player = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
423423+ std::shared_ptr<LocalPlayer> player = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
424424 int playerIdx = player ? player->GetXboxPad() : 0;
425425 float fov = m_fov;//70;
426426 if (applyEffects)
···470470471471void GameRenderer::bobView(float a)
472472{
473473- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
473473+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
474474 if(player==NULL)
475475 {
476476 return;
477477 }
478478- //std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
478478+ //std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(mc->cameraTargetPlayer);
479479480480 float wda = player->walkDist - player->walkDistO;
481481 float b = -(player->walkDist + wda * a);
···490490void GameRenderer::moveCameraToPlayer(float a)
491491{
492492 std::shared_ptr<Mob> player = mc->cameraTargetPlayer;
493493- std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
493493+ std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
494494 float heightOffset = player->heightOffset - 1.62f;
495495496496 double x = player->xo + (player->x - player->xo) * a;
···719719{
720720 if (cameraFlip > 0) return;
721721722722- std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
722722+ std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
723723724724 // 4J-PB - to turn off the hand for screenshots, but not when the item held is a map
725725 if ( localplayer!=NULL)
···13831383 PIXEndNamedEvent();
13841384 turnOffLightLayer(a); // 4J - brought forward from 1.8.2
1385138513861386- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
13861386+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
13871387 if (mc->hitResult != NULL && cameraEntity->isUnderLiquid(Material::water) && player!=NULL) //&& !mc->options.hideGui)
13881388 {
13891389- //std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
13891389+ //std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
13901390 glDisable(GL_ALPHA_TEST);
13911391 levelRenderer->renderHit(player, mc->hitResult, 0, player->inventory->getSelected(), a);
13921392 levelRenderer->renderHitOutline(player, mc->hitResult, 0, player->inventory->getSelected(), a);
···14411441 glEnable(GL_CULL_FACE);
14421442 glDisable(GL_BLEND);
1443144314441444- if (zoom == 1 && (std::dynamic_pointer_cast<Player>(cameraEntity)!=NULL)) //&& !mc->options.hideGui)
14441444+ if (zoom == 1 && (dynamic_pointer_cast<Player>(cameraEntity)!=NULL)) //&& !mc->options.hideGui)
14451445 {
14461446 if (mc->hitResult != NULL && !cameraEntity->isUnderLiquid(Material::water))
14471447 {
14481448- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(cameraEntity);
14481448+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(cameraEntity);
14491449 glDisable(GL_ALPHA_TEST);
14501450 levelRenderer->renderHit(player, mc->hitResult, 0, player->inventory->getSelected(), a);
14511451 levelRenderer->renderHitOutline(player, mc->hitResult, 0, player->inventory->getSelected(), a);
···1462146214631463 glEnable(GL_BLEND);
14641464 glBlendFunc(GL_SRC_ALPHA, GL_ONE);
14651465- levelRenderer->renderDestroyAnimation(Tesselator::getInstance(), std::dynamic_pointer_cast<Player>(cameraEntity), a);
14651465+ levelRenderer->renderDestroyAnimation(Tesselator::getInstance(), dynamic_pointer_cast<Player>(cameraEntity), a);
14661466 glDisable(GL_BLEND);
1467146714681468 if (mc->options->isCloudsOn())
···1957195719581958 // 4J - check for creative mode brought forward from 1.2.3
19591959 bool creative = false;
19601960- if (std::dynamic_pointer_cast<Player>(player) )
19601960+ if (dynamic_pointer_cast<Player>(player) )
19611961 {
19621962- creative = (std::dynamic_pointer_cast<Player>(player))->abilities.instabuild;
19621962+ creative = (dynamic_pointer_cast<Player>(player))->abilities.instabuild;
19631963 }
1964196419651965 if (i == 999)
+1-1
Minecraft.Client/GhastRenderer.cpp
···991010void GhastRenderer::scale(std::shared_ptr<Mob> mob, float a)
1111{
1212- std::shared_ptr<Ghast> ghast = std::dynamic_pointer_cast<Ghast>(mob);
1212+ std::shared_ptr<Ghast> ghast = dynamic_pointer_cast<Ghast>(mob);
13131414 float ss = (ghast->oCharge+(ghast->charge-ghast->oCharge)*a)/20.0f;
1515 if (ss<0) ss = 0;
+1-1
Minecraft.Client/ItemFrameRenderer.cpp
···2727{
2828 // 4J - original version used generics and thus had an input parameter of type EnderCrystal rather than std::shared_ptr<Entity> we have here -
2929 // do some casting around instead
3030- std::shared_ptr<ItemFrame> itemFrame = std::dynamic_pointer_cast<ItemFrame>(_itemframe);
3030+ std::shared_ptr<ItemFrame> itemFrame = dynamic_pointer_cast<ItemFrame>(_itemframe);
31313232 glPushMatrix();
3333 float xOffs = (float) (itemFrame->x - x) - 0.5f;
···1212{
1313 // 4J - original version used generics and thus had an input parameter of type LavaSlime rather than std::shared_ptr<Entity> we have here -
1414 // do some casting around instead
1515- std::shared_ptr<LavaSlime> mob = std::dynamic_pointer_cast<LavaSlime>(_mob);
1515+ std::shared_ptr<LavaSlime> mob = dynamic_pointer_cast<LavaSlime>(_mob);
1616 int modelVersion = ((LavaSlimeModel *) model)->getModelVersion();
1717 if (modelVersion != this->modelVersion)
1818 {
···2727{
2828 // 4J - original version used generics and thus had an input parameter of type LavaSlime rather than std::shared_ptr<Mob> we have here -
2929 // do some casting around instead
3030- std::shared_ptr<LavaSlime> slime = std::dynamic_pointer_cast<LavaSlime>(_slime);
3030+ std::shared_ptr<LavaSlime> slime = dynamic_pointer_cast<LavaSlime>(_slime);
3131 int size = slime->getSize();
3232 float ss = (slime->oSquish + (slime->squish - slime->oSquish) * a) / (size * 0.5f + 1);
3333 float w = 1 / (ss + 1);
+3-3
Minecraft.Client/LevelRenderer.cpp
···540540 {
541541 // 4J-PB - changing this to be per player
542542 //if (entity == mc->cameraTargetPlayer && !mc->options->thirdPersonView && !mc->cameraTargetPlayer->isSleeping()) continue;
543543- std::shared_ptr<LocalPlayer> localplayer = std::dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
543543+ std::shared_ptr<LocalPlayer> localplayer = dynamic_pointer_cast<LocalPlayer>(mc->cameraTargetPlayer);
544544545545 if (localplayer && entity == mc->cameraTargetPlayer && !localplayer->ThirdPersonView() && !mc->cameraTargetPlayer->isSleeping()) continue;
546546···27882788 break;
27892789 case eParticleType_instantSpell:
27902790 particle = std::shared_ptr<Particle>(new SpellParticle(lev, x, y, z, xa, ya, za));
27912791- std::dynamic_pointer_cast<SpellParticle>(particle)->setBaseTex(9 * 16);
27912791+ dynamic_pointer_cast<SpellParticle>(particle)->setBaseTex(9 * 16);
27922792 break;
27932793 case eParticleType_note:
27942794 particle = std::shared_ptr<Particle>( new NoteParticle(lev, x, y, z, xa, ya, za) );
···28632863 else if( ( eParticleType >= eParticleType_tilecrack_base ) && ( eParticleType <= eParticleType_tilecrack_last ) )
28642864 {
28652865 int id = PARTICLE_CRACK_ID(eParticleType), data = PARTICLE_CRACK_DATA(eParticleType);
28662866- 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) );
28662866+ 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) );
28672867 }
28682868 }
28692869
+1-1
Minecraft.Client/LightningBoltRenderer.cpp
···66void LightningBoltRenderer::render(std::shared_ptr<Entity> _bolt, double x, double y, double z, float rot, float a)
77{
88 // 4J - dynamic cast required because we aren't using templates/generics in our version
99- std::shared_ptr<LightningBolt> bolt = std::dynamic_pointer_cast<LightningBolt>(_bolt);
99+ std::shared_ptr<LightningBolt> bolt = dynamic_pointer_cast<LightningBolt>(_bolt);
10101111 Tesselator *t = Tesselator::getInstance();
1212
···1313{
1414 // 4J - original version used generics and thus had an input parameter of type MushroomCow rather than std::shared_ptr<Entity> we have here -
1515 // do some casting around instead
1616- //std::shared_ptr<MushroomCow> mob = std::dynamic_pointer_cast<MushroomCow>(_mob);
1616+ //std::shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
17171818 // 4J Stu - No need to do the cast, just pass through as-is
1919 MobRenderer::render(_mob, x, y, z, rot, a);
···2323{
2424 // 4J - original version used generics and thus had an input parameter of type MushroomCow rather than std::shared_ptr<Mob> we have here -
2525 // do some casting around instead
2626- std::shared_ptr<MushroomCow> mob = std::dynamic_pointer_cast<MushroomCow>(_mob);
2626+ std::shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
2727 MobRenderer::additionalRendering(mob, a);
2828 if (mob->isBaby()) return;
2929 bindTexture(TN_TERRAIN); // 4J was "/terrain.png"
···1515{
1616 // 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
1717 // do some casting around instead
1818- std::shared_ptr<Ozelot> mob = std::dynamic_pointer_cast<Ozelot>(_mob);
1818+ std::shared_ptr<Ozelot> mob = dynamic_pointer_cast<Ozelot>(_mob);
1919 MobRenderer::scale(mob, a);
2020 if (mob->isTame())
2121 {
···1010int PigRenderer::prepareArmor(std::shared_ptr<Mob> _pig, int layer, float a)
1111{
1212 // 4J - dynamic cast required because we aren't using templates/generics in our version
1313- std::shared_ptr<Pig> pig = std::dynamic_pointer_cast<Pig>(_pig);
1313+ std::shared_ptr<Pig> pig = dynamic_pointer_cast<Pig>(_pig);
14141515 MemSect(31);
1616 bindTexture(TN_MOB_SADDLE); // 4J was L"/mob/saddle.png"
+1-1
Minecraft.Client/PistonPieceRenderer.cpp
···1515void PistonPieceRenderer::render(std::shared_ptr<TileEntity> _entity, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
1616{
1717 // 4J - dynamic cast required because we aren't using templates/generics in our version
1818- std::shared_ptr<PistonPieceEntity> entity = std::dynamic_pointer_cast<PistonPieceEntity>(_entity);
1818+ std::shared_ptr<PistonPieceEntity> entity = dynamic_pointer_cast<PistonPieceEntity>(_entity);
19192020 Tile *tile = Tile::tiles[entity->getId()];
2121 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
+7-7
Minecraft.Client/PlayerConnection.cpp
···12731273 {
12741274 std::shared_ptr<TileEntity> te = level->getTileEntity(packet->x, packet->y, packet->z);
1275127512761276- if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
12761276+ if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
12771277 {
12781278- std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
12781278+ std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
12791279 if (!ste->isEditable())
12801280 {
12811281 server->warn(L"Player " + player->name + L" just tried to change non-editable sign");
···12841284 }
1285128512861286 // 4J-JEV: Changed to allow characters to display as a [].
12871287- if (std::dynamic_pointer_cast<SignTileEntity>(te) != NULL)
12871287+ if (dynamic_pointer_cast<SignTileEntity>(te) != NULL)
12881288 {
12891289 int x = packet->x;
12901290 int y = packet->y;
12911291 int z = packet->z;
12921292- std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>(te);
12921292+ std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>(te);
12931293 for (int i = 0; i < 4; i++)
12941294 {
12951295 wstring lineText = packet->lines[i].substr(0,15);
···1512151215131513void PlayerConnection::handleDebugOptions(std::shared_ptr<DebugOptionsPacket> packet)
15141514{
15151515- //Player player = std::dynamic_pointer_cast<Player>( player->shared_from_this() );
15151515+ //Player player = dynamic_pointer_cast<Player>( player->shared_from_this() );
15161516 player->SetDebugOptions(packet->m_uiVal);
15171517}
15181518···1528152815291529 if(app.DebugSettingsOn() && (player->GetDebugOptions()&(1L<<eDebugSetting_CraftAnything)))
15301530 {
15311531- pTempItemInst->onCraftedBy(player->level, std::dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
15311531+ pTempItemInst->onCraftedBy(player->level, dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
15321532 if(player->inventory->add(pTempItemInst)==false )
15331533 {
15341534 // no room in inventory, so throw it down
···15421542 // TODO 4J Stu - Assume at the moment that the client can work this out for us...
15431543 //if(pRecipeIngredientsRequired[iRecipe].bCanMake)
15441544 //{
15451545- pTempItemInst->onCraftedBy(player->level, std::dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
15451545+ pTempItemInst->onCraftedBy(player->level, dynamic_pointer_cast<Player>( player->shared_from_this() ), pTempItemInst->count );
1546154615471547 // and remove those resources from your inventory
15481548 for(int i=0;i<pRecipeIngredientsRequired[iRecipe].iIngC;i++)
···4848// 4J added
4949void ServerLevelListener::playerRemoved(std::shared_ptr<Entity> entity)
5050{
5151- std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(entity);
5151+ std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(entity);
5252 player->getLevel()->getTracker()->removePlayer(entity);
5353}
5454···7676 {
7777 // 4J-PB - I don't want to broadcast player sounds to my local machine, since we're already playing these in the LevelRenderer::playSound.
7878 // 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
7979- std::shared_ptr<Player> player= std::dynamic_pointer_cast<Player>(entity);
7979+ std::shared_ptr<Player> player= dynamic_pointer_cast<Player>(entity);
8080 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)));
8181 }
8282}
···1010int SlimeRenderer::prepareArmor(std::shared_ptr<Mob> _slime, int layer, float a)
1111{
1212 // 4J - dynamic cast required because we aren't using templates/generics in our version
1313- std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(_slime);
1313+ std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
14141515 if (slime->isInvisible()) return 0;
1616···3535void SlimeRenderer::scale(std::shared_ptr<Mob> _slime, float a)
3636{
3737 // 4J - dynamic cast required because we aren't using templates/generics in our version
3838- std::shared_ptr<Slime> slime = std::dynamic_pointer_cast<Slime>(_slime);
3838+ std::shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
39394040 float size = (float) slime->getSize();
4141 float ss = (slime->oSquish + (slime->squish - slime->oSquish) * a) / (size * 0.5f + 1);
+1-1
Minecraft.Client/SnowManRenderer.cpp
···1717{
1818 // 4J - original version used generics and thus had an input parameter of type SnowMan rather than std::shared_ptr<Mob> we have here -
1919 // do some casting around instead
2020- std::shared_ptr<SnowMan> mob = std::dynamic_pointer_cast<SnowMan>(_mob);
2020+ std::shared_ptr<SnowMan> mob = dynamic_pointer_cast<SnowMan>(_mob);
21212222 MobRenderer::additionalRendering(mob, a);
2323 std::shared_ptr<ItemInstance> headGear = std::shared_ptr<ItemInstance>( new ItemInstance(Tile::pumpkin, 1) );
+2-2
Minecraft.Client/SpiderRenderer.cpp
···1616int SpiderRenderer::prepareArmor(std::shared_ptr<Mob> _spider, int layer, float a)
1717{
1818 // 4J - dynamic cast required because we aren't using templates/generics in our version
1919- std::shared_ptr<Spider> spider = std::dynamic_pointer_cast<Spider>(_spider);
1919+ std::shared_ptr<Spider> spider = dynamic_pointer_cast<Spider>(_spider);
20202121 if (layer!=0) return -1;
2222 MemSect(31);
···5555void SpiderRenderer::scale(std::shared_ptr<Mob> _mob, float a)
5656{
5757 // 4J - dynamic cast required because we aren't using templates/generics in our version
5858- std::shared_ptr<Spider> mob = std::dynamic_pointer_cast<Spider>(_mob);
5858+ std::shared_ptr<Spider> mob = dynamic_pointer_cast<Spider>(_mob);
5959 float scale = mob->getModelScale();
6060 glScalef(scale, scale, scale);
6161}
+2-2
Minecraft.Client/SquidRenderer.cpp
···1414void SquidRenderer::setupRotations(std::shared_ptr<Mob> _mob, float bob, float bodyRot, float a)
1515{
1616 // 4J - dynamic cast required because we aren't using templates/generics in our version
1717- std::shared_ptr<Squid> mob = std::dynamic_pointer_cast<Squid>(_mob);
1717+ std::shared_ptr<Squid> mob = dynamic_pointer_cast<Squid>(_mob);
18181919 float bodyXRot = (mob->xBodyRotO + (mob->xBodyRot - mob->xBodyRotO) * a);
2020 float bodyZRot = (mob->zBodyRotO + (mob->zBodyRot - mob->zBodyRotO) * a);
···2929float SquidRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
3030{
3131 // 4J - dynamic cast required because we aren't using templates/generics in our version
3232- std::shared_ptr<Squid> mob = std::dynamic_pointer_cast<Squid>(_mob);
3232+ std::shared_ptr<Squid> mob = dynamic_pointer_cast<Squid>(_mob);
33333434 return mob->oldTentacleAngle + (mob->tentacleAngle - mob->oldTentacleAngle) * a;
3535}
···1010void TheEndPortalRenderer::render(std::shared_ptr<TileEntity> _table, double x, double y, double z, float a, bool setColor, float alpha, bool useCompiled)
1111{
1212 // 4J Convert as we aren't using a templated class
1313- std::shared_ptr<TheEndPortalTileEntity> table = std::dynamic_pointer_cast<TheEndPortalTileEntity>(_table);
1313+ std::shared_ptr<TheEndPortalTileEntity> table = dynamic_pointer_cast<TheEndPortalTileEntity>(_table);
1414 float xx = (float) (tileEntityRenderDispatcher->xPlayer);
1515 float yy = (float) (tileEntityRenderDispatcher->yPlayer);
1616 float zz = (float) (tileEntityRenderDispatcher->zPlayer);
+1-1
Minecraft.Client/TntRenderer.cpp
···1313void TntRenderer::render(std::shared_ptr<Entity> _tnt, double x, double y, double z, float rot, float a)
1414{
1515 // 4J - dynamic cast required because we aren't using templates/generics in our version
1616- std::shared_ptr<PrimedTnt> tnt = std::dynamic_pointer_cast<PrimedTnt>(_tnt);
1616+ std::shared_ptr<PrimedTnt> tnt = dynamic_pointer_cast<PrimedTnt>(_tnt);
17171818 glPushMatrix();
1919 glTranslatef((float) x, (float) y, (float) z);
+44-44
Minecraft.Client/TrackedEntity.cpp
···6868 // Moving forward special case for item frames
6969 if (e->GetType()== eTYPE_ITEM_FRAME && tickCount % 10 == 0)
7070 {
7171- std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame> (e);
7171+ std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame> (e);
7272 std::shared_ptr<ItemInstance> item = frame->getItem();
73737474 if (item != NULL && item->getItem()->id == Item::map_Id && !e->removed)
···7676 std::shared_ptr<MapItemSavedData> data = Item::map->getSavedData(item, e->level);
7777 for (AUTO_VAR(it,players->begin() ); it != players->end(); ++it)
7878 {
7979- std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(*it);
7979+ std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(*it);
8080 data->tickCarriedBy(player, item);
81818282 if (!player->removed && player->connection && player->connection->countDelayedPackets() <= 5)
···276276 xRotp = xRotn;
277277 }
278278279279- // if( std::dynamic_pointer_cast<ServerPlayer>(e) != NULL )
279279+ // if( dynamic_pointer_cast<ServerPlayer>(e) != NULL )
280280 // {
281281 // printf("%d: %d + %d = %d (%f)\n",e->entityId,xRotp,xRota,xRotn,e->xRot);
282282 // }
···335335 {
336336 dontSend = true;
337337 // #ifdef _DEBUG
338338- // std::shared_ptr<SetEntityMotionPacket> emp= std::dynamic_pointer_cast<SetEntityMotionPacket> (packet);
338338+ // std::shared_ptr<SetEntityMotionPacket> emp= dynamic_pointer_cast<SetEntityMotionPacket> (packet);
339339 // if(emp!=NULL)
340340 // {
341341 // app.DebugPrintf("Not sending this SetEntityMotionPacket to player - it's already been sent to a player on their console\n");
···370370{
371371 vector< std::shared_ptr<ServerPlayer> > sentTo;
372372 broadcast(packet);
373373- std::shared_ptr<ServerPlayer> sp = std::dynamic_pointer_cast<ServerPlayer>(e);
373373+ std::shared_ptr<ServerPlayer> sp = dynamic_pointer_cast<ServerPlayer>(e);
374374 if (sp != NULL && sp->connection)
375375 {
376376 sp->connection->send(packet);
···478478 yap = e->yd;
479479 zap = e->zd;
480480481481- std::shared_ptr<Player> plr = std::dynamic_pointer_cast<Player>(e);
481481+ std::shared_ptr<Player> plr = dynamic_pointer_cast<Player>(e);
482482 if (plr != NULL)
483483 {
484484 app.DebugPrintf( "TrackedEntity:: Player '%ls' is now visible to player '%ls', %s.\n",
···488488 }
489489490490 // 4J Stu brought forward to fix when Item Frames
491491- if (!e->getEntityData()->isEmpty() && !(std::dynamic_pointer_cast<AddMobPacket>(packet)))
491491+ if (!e->getEntityData()->isEmpty() && !(dynamic_pointer_cast<AddMobPacket>(packet)))
492492 {
493493 sp->connection->send(std::shared_ptr<SetEntityDataPacket>( new SetEntityDataPacket(e->entityId, e->getEntityData(), true)));
494494 }
···512512 }
513513 }
514514515515- if (std::dynamic_pointer_cast<Player>(e) != NULL)
515515+ if (dynamic_pointer_cast<Player>(e) != NULL)
516516 {
517517- std::shared_ptr<Player> spe = std::dynamic_pointer_cast<Player>(e);
517517+ std::shared_ptr<Player> spe = dynamic_pointer_cast<Player>(e);
518518 if (spe->isSleeping())
519519 {
520520 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)) ) );
521521 }
522522 }
523523524524- if (std::dynamic_pointer_cast<Mob>(e) != NULL)
524524+ if (dynamic_pointer_cast<Mob>(e) != NULL)
525525 {
526526- std::shared_ptr<Mob> mob = std::dynamic_pointer_cast<Mob>(e);
526526+ std::shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(e);
527527 vector<MobEffectInstance *> *activeEffects = mob->getActiveEffects();
528528 for(AUTO_VAR(it, activeEffects->begin()); it != activeEffects->end(); ++it)
529529 {
···560560{
561561 for (unsigned int i = 0; i < players->size(); i++)
562562 {
563563- updatePlayer(tracker, std::dynamic_pointer_cast<ServerPlayer>( players->at(i) ) );
563563+ updatePlayer(tracker, dynamic_pointer_cast<ServerPlayer>( players->at(i) ) );
564564 }
565565}
566566···572572 }
573573574574 // 4J-PB - replacing with a switch, rather than tons of ifs
575575- if (std::dynamic_pointer_cast<Creature>(e) != NULL)
575575+ if (dynamic_pointer_cast<Creature>(e) != NULL)
576576 {
577577 yHeadRotp = Mth::floor(e->getYHeadRot() * 256 / 360);
578578- return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp) );
578578+ return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp) );
579579 }
580580581581 switch(e->GetType())
···588588 break;
589589 case eTYPE_SERVERPLAYER:
590590 {
591591- std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
591591+ std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
592592 PlayerUID xuid = INVALID_XUID;
593593 PlayerUID OnlineXuid = INVALID_XUID;
594594 if( player != NULL )
···597597 OnlineXuid = player->getOnlineXuid();
598598 }
599599 // 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.
600600- return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(std::dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp, yHeadRotp ) );
600600+ return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp, yHeadRotp ) );
601601 }
602602 break;
603603 case eTYPE_MINECART:
604604 {
605605- std::shared_ptr<Minecart> minecart = std::dynamic_pointer_cast<Minecart>(e);
605605+ std::shared_ptr<Minecart> minecart = dynamic_pointer_cast<Minecart>(e);
606606 if (minecart->type == Minecart::RIDEABLE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_RIDEABLE, yRotp, xRotp, xp, yp, zp) );
607607 if (minecart->type == Minecart::CHEST) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_CHEST, yRotp, xRotp, xp, yp, zp) );
608608 if (minecart->type == Minecart::FURNACE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_FURNACE, yRotp, xRotp, xp, yp, zp) );
···616616 case eTYPE_ENDERDRAGON:
617617 {
618618 yHeadRotp = Mth::floor(e->getYHeadRot() * 256 / 360);
619619- return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp ) );
619619+ return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp, yHeadRotp ) );
620620 }
621621 break;
622622 case eTYPE_FISHINGHOOK:
623623 {
624624- std::shared_ptr<Entity> owner = std::dynamic_pointer_cast<FishingHook>(e)->owner;
624624+ std::shared_ptr<Entity> owner = dynamic_pointer_cast<FishingHook>(e)->owner;
625625 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FISH_HOOK, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
626626 }
627627 break;
628628 case eTYPE_ARROW:
629629 {
630630- std::shared_ptr<Entity> owner = (std::dynamic_pointer_cast<Arrow>(e))->owner;
630630+ std::shared_ptr<Entity> owner = (dynamic_pointer_cast<Arrow>(e))->owner;
631631 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::ARROW, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
632632 }
633633 break;
···638638 break;
639639 case eTYPE_THROWNPOTION:
640640 {
641641- return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((std::dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
641641+ return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
642642 }
643643 break;
644644 case eTYPE_THROWNEXPBOTTLE:
···658658 break;
659659 case eTYPE_SMALL_FIREBALL:
660660 {
661661- std::shared_ptr<SmallFireball> fb = std::dynamic_pointer_cast<SmallFireball>(e);
661661+ std::shared_ptr<SmallFireball> fb = dynamic_pointer_cast<SmallFireball>(e);
662662 std::shared_ptr<AddEntityPacket> aep = nullptr;
663663 if (fb->owner != NULL)
664664 {
···676676 break;
677677 case eTYPE_DRAGON_FIREBALL:
678678 {
679679- std::shared_ptr<DragonFireball> fb = std::dynamic_pointer_cast<DragonFireball>(e);
679679+ std::shared_ptr<DragonFireball> fb = dynamic_pointer_cast<DragonFireball>(e);
680680 std::shared_ptr<AddEntityPacket> aep = nullptr;
681681 if (fb->owner != NULL)
682682 {
···694694 break;
695695 case eTYPE_FIREBALL:
696696 {
697697- std::shared_ptr<Fireball> fb = std::dynamic_pointer_cast<Fireball>(e);
697697+ std::shared_ptr<Fireball> fb = dynamic_pointer_cast<Fireball>(e);
698698 std::shared_ptr<AddEntityPacket> aep = nullptr;
699699 if (fb->owner != NULL)
700700 {
···727727 break;
728728 case eTYPE_FALLINGTILE:
729729 {
730730- std::shared_ptr<FallingTile> ft = std::dynamic_pointer_cast<FallingTile>(e);
730730+ std::shared_ptr<FallingTile> ft = dynamic_pointer_cast<FallingTile>(e);
731731 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING, ft->tile | (ft->data << 16), yRotp, xRotp, xp, yp, zp) );
732732 }
733733 break;
734734 case eTYPE_PAINTING:
735735 {
736736- return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(std::dynamic_pointer_cast<Painting>(e)) );
736736+ return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(dynamic_pointer_cast<Painting>(e)) );
737737 }
738738 break;
739739 case eTYPE_ITEM_FRAME:
740740 {
741741- std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame>(e);
741741+ std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
742742 {
743743744744 int ix= (int)frame->xTile;
···756756 break;
757757 case eTYPE_EXPERIENCEORB:
758758 {
759759- return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(std::dynamic_pointer_cast<ExperienceOrb>(e)) );
759759+ return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(dynamic_pointer_cast<ExperienceOrb>(e)) );
760760 }
761761 break;
762762 default:
···766766/*
767767 if (e->GetType() == eTYPE_ITEMENTITY)
768768 {
769769- std::shared_ptr<ItemEntity> itemEntity = std::dynamic_pointer_cast<ItemEntity>(e);
769769+ std::shared_ptr<ItemEntity> itemEntity = dynamic_pointer_cast<ItemEntity>(e);
770770 std::shared_ptr<AddItemEntityPacket> packet = std::shared_ptr<AddItemEntityPacket>( new AddItemEntityPacket(itemEntity, xp, yp, zp) );
771771 itemEntity->x = packet->x / 32.0;
772772 itemEntity->y = packet->y / 32.0;
···776776777777 if (e->GetType() == eTYPE_SERVERPLAYER )
778778 {
779779- std::shared_ptr<ServerPlayer> player = std::dynamic_pointer_cast<ServerPlayer>(e);
779779+ std::shared_ptr<ServerPlayer> player = dynamic_pointer_cast<ServerPlayer>(e);
780780 XUID xuid = INVALID_XUID;
781781 XUID OnlineXuid = INVALID_XUID;
782782 if( player != NULL )
···784784 xuid = player->getXuid();
785785 OnlineXuid = player->getOnlineXuid();
786786 }
787787- return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(std::dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp ) );
787787+ return std::shared_ptr<AddPlayerPacket>( new AddPlayerPacket(dynamic_pointer_cast<Player>(e), xuid, OnlineXuid, xp, yp, zp, yRotp, xRotp ) );
788788 }
789789 if (e->GetType() == eTYPE_MINECART)
790790 {
791791- std::shared_ptr<Minecart> minecart = std::dynamic_pointer_cast<Minecart>(e);
791791+ std::shared_ptr<Minecart> minecart = dynamic_pointer_cast<Minecart>(e);
792792 if (minecart->type == Minecart::RIDEABLE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_RIDEABLE, yRotp, xRotp, xp, yp, zp) );
793793 if (minecart->type == Minecart::CHEST) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_CHEST, yRotp, xRotp, xp, yp, zp) );
794794 if (minecart->type == Minecart::FURNACE) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::MINECART_FURNACE, yRotp, xRotp, xp, yp, zp) );
···797797 {
798798 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::BOAT, yRotp, xRotp, xp, yp, zp) );
799799 }
800800- if (std::dynamic_pointer_cast<Creature>(e) != NULL)
800800+ if (dynamic_pointer_cast<Creature>(e) != NULL)
801801 {
802802- return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp) );
802802+ return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp) );
803803 }
804804 if (e->GetType() == eTYPE_ENDERDRAGON)
805805 {
806806- return std::shared_ptr<AddMobPacket>( new AddMobPacket(std::dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp ) );
806806+ return std::shared_ptr<AddMobPacket>( new AddMobPacket(dynamic_pointer_cast<Mob>(e), yRotp, xRotp, xp, yp, zp ) );
807807 }
808808 if (e->GetType() == eTYPE_FISHINGHOOK)
809809 {
810810- std::shared_ptr<Entity> owner = std::dynamic_pointer_cast<FishingHook>(e)->owner;
810810+ std::shared_ptr<Entity> owner = dynamic_pointer_cast<FishingHook>(e)->owner;
811811 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FISH_HOOK, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
812812 }
813813 if (e->GetType() == eTYPE_ARROW)
814814 {
815815- std::shared_ptr<Entity> owner = (std::dynamic_pointer_cast<Arrow>(e))->owner;
815815+ std::shared_ptr<Entity> owner = (dynamic_pointer_cast<Arrow>(e))->owner;
816816 return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::ARROW, owner != NULL ? owner->entityId : e->entityId, yRotp, xRotp, xp, yp, zp) );
817817 }
818818 if (e->GetType() == eTYPE_SNOWBALL)
···821821 }
822822 if (e->GetType() == eTYPE_THROWNPOTION)
823823 {
824824- return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((std::dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
824824+ return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::THROWN_POTION, ((dynamic_pointer_cast<ThrownPotion>(e))->getPotionValue()), yRotp, xRotp, xp, yp, zp));
825825 }
826826 if (e->GetType() == eTYPE_THROWNEXPBOTTLE)
827827 {
···837837 }
838838 if (e->GetType() == eTYPE_SMALL_FIREBALL)
839839 {
840840- std::shared_ptr<SmallFireball> fb = std::dynamic_pointer_cast<SmallFireball>(e);
840840+ std::shared_ptr<SmallFireball> fb = dynamic_pointer_cast<SmallFireball>(e);
841841 std::shared_ptr<AddEntityPacket> aep = NULL;
842842 if (fb->owner != NULL)
843843 {
···854854 }
855855 if (e->GetType() == eTYPE_FIREBALL)
856856 {
857857- std::shared_ptr<Fireball> fb = std::dynamic_pointer_cast<Fireball>(e);
857857+ std::shared_ptr<Fireball> fb = dynamic_pointer_cast<Fireball>(e);
858858 std::shared_ptr<AddEntityPacket> aep = NULL;
859859 if (fb->owner != NULL)
860860 {
···883883 }
884884 if (e->GetType() == eTYPE_FALLINGTILE)
885885 {
886886- std::shared_ptr<FallingTile> ft = std::dynamic_pointer_cast<FallingTile>(e);
886886+ std::shared_ptr<FallingTile> ft = dynamic_pointer_cast<FallingTile>(e);
887887 if (ft->tile == Tile::sand_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_SAND, yRotp, xRotp, xp, yp, zp) );
888888 if (ft->tile == Tile::gravel_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_GRAVEL, yRotp, xRotp, xp, yp, zp) );
889889 if (ft->tile == Tile::dragonEgg_Id) return std::shared_ptr<AddEntityPacket>( new AddEntityPacket(e, AddEntityPacket::FALLING_EGG, yRotp, xRotp, xp, yp, zp) );
890890 }
891891 if (e->GetType() == eTYPE_PAINTING)
892892 {
893893- return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(std::dynamic_pointer_cast<Painting>(e)) );
893893+ return std::shared_ptr<AddPaintingPacket>( new AddPaintingPacket(dynamic_pointer_cast<Painting>(e)) );
894894 }
895895 if (e->GetType() == eTYPE_ITEM_FRAME)
896896 {
897897- std::shared_ptr<ItemFrame> frame = std::dynamic_pointer_cast<ItemFrame>(e);
897897+ std::shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
898898 {
899899900900 int ix= (int)frame->xTile;
···911911 }
912912 if (e->GetType() == eTYPE_EXPERIENCEORB)
913913 {
914914- return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(std::dynamic_pointer_cast<ExperienceOrb>(e)) );
914914+ return std::shared_ptr<AddExperienceOrbPacket>( new AddExperienceOrbPacket(dynamic_pointer_cast<ExperienceOrb>(e)) );
915915 }
916916 assert(false);
917917 */
+1-1
Minecraft.Client/VillagerGolemModel.cpp
···61616262void VillagerGolemModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
6363{
6464- std::shared_ptr<VillagerGolem> vg = std::dynamic_pointer_cast<VillagerGolem>(mob);
6464+ std::shared_ptr<VillagerGolem> vg = dynamic_pointer_cast<VillagerGolem>(mob);
6565 int attackTick = vg->getAttackAnimationTick();
6666 if (attackTick > 0)
6767 {
+2-2
Minecraft.Client/VillagerGolemRenderer.cpp
···2424{
2525 // 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
2626 // do some casting around instead
2727- std::shared_ptr<VillagerGolem> mob = std::dynamic_pointer_cast<VillagerGolem>(_mob);
2727+ std::shared_ptr<VillagerGolem> mob = dynamic_pointer_cast<VillagerGolem>(_mob);
2828 MobRenderer::setupRotations(mob, bob, bodyRot, a);
2929 if (mob->walkAnimSpeed < 0.01) return;
3030···3838{
3939 // 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
4040 // do some casting around instead
4141- std::shared_ptr<VillagerGolem> mob = std::dynamic_pointer_cast<VillagerGolem>(_mob);
4141+ std::shared_ptr<VillagerGolem> mob = dynamic_pointer_cast<VillagerGolem>(_mob);
4242 MobRenderer::additionalRendering(mob, a);
4343 if (mob->getOfferFlowerTick() == 0) return;
4444
+1-1
Minecraft.Client/VillagerRenderer.cpp
···3131{
3232 // 4J - original version used generics and thus had an input parameter of type Blaze rather than std::shared_ptr<Entity> we have here -
3333 // do some casting around instead
3434- std::shared_ptr<Villager> mob = std::dynamic_pointer_cast<Villager>(_mob);
3434+ std::shared_ptr<Villager> mob = dynamic_pointer_cast<Villager>(_mob);
3535 float s = 15 / 16.0f;
3636 if (mob->getAge() < 0)
3737 {
+1-1
Minecraft.Client/WolfModel.cpp
···96969797void WolfModel::prepareMobModel(std::shared_ptr<Mob> mob, float time, float r, float a)
9898{
9999- std::shared_ptr<Wolf> wolf = std::dynamic_pointer_cast<Wolf>(mob);
9999+ std::shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(mob);
100100101101 if (wolf->isAngry())
102102 {
+2-2
Minecraft.Client/WolfRenderer.cpp
···1111float WolfRenderer::getBob(std::shared_ptr<Mob> _mob, float a)
1212{
1313 // 4J - dynamic cast required because we aren't using templates/generics in our version
1414- std::shared_ptr<Wolf> mob = std::dynamic_pointer_cast<Wolf>(_mob);
1414+ std::shared_ptr<Wolf> mob = dynamic_pointer_cast<Wolf>(_mob);
15151616 return mob->getTailAngle();
1717}
···2020{
2121 if (mob->isInvisibleTo(Minecraft::GetInstance()->player)) return -1; // 4J-JEV: Todo, merge with java fix in '1.7.5'.
22222323- std::shared_ptr<Wolf> wolf = std::dynamic_pointer_cast<Wolf>(mob);
2323+ std::shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(mob);
2424 if (layer == 0 && wolf->isWet())
2525 {
2626 float brightness = wolf->getBrightness(a) * wolf->getWetShade(a);
···123123 level->addEntity(std::shared_ptr<ItemEntity>(new ItemEntity(level, x + 0.5, y + 1.5, z + 0.5, potion)));
124124 }
125125 // 4J Stu - Brought forward change to update inventory when filling bottles with water
126126- else if (std::dynamic_pointer_cast<ServerPlayer>( player ) != NULL)
126126+ else if (dynamic_pointer_cast<ServerPlayer>( player ) != NULL)
127127 {
128128- std::dynamic_pointer_cast<ServerPlayer>( player )->refreshContainer(player->inventoryMenu);
128128+ dynamic_pointer_cast<ServerPlayer>( player )->refreshContainer(player->inventoryMenu);
129129 }
130130 // 4J-PB - don't lose the water in creative mode
131131 if (player->abilities.instabuild==false)
+2-2
Minecraft.World/CaveSpider.cpp
···3232{
3333 if (Spider::doHurtTarget(target))
3434 {
3535- if ( std::dynamic_pointer_cast<Mob>(target) != NULL)
3535+ if ( dynamic_pointer_cast<Mob>(target) != NULL)
3636 {
3737 int poisonTime = 0;
3838 if (level->difficulty <= Difficulty::EASY)
···4949 }
50505151 if (poisonTime > 0) {
5252- std::dynamic_pointer_cast<Mob>(target)->addEffect(new MobEffectInstance(MobEffect::poison->id, poisonTime * SharedConstants::TICKS_PER_SECOND, 0));
5252+ dynamic_pointer_cast<Mob>(target)->addEffect(new MobEffectInstance(MobEffect::poison->id, poisonTime * SharedConstants::TICKS_PER_SECOND, 0));
5353 }
5454 }
5555
+8-8
Minecraft.World/ChestTile.cpp
···200200void ChestTile::neighborChanged(Level *level, int x, int y, int z, int type)
201201{
202202 EntityTile::neighborChanged(level, x, y, z, type);
203203- std::shared_ptr<ChestTileEntity>(cte) = std::dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z));
203203+ std::shared_ptr<ChestTileEntity>(cte) = dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z));
204204 if (cte != NULL) cte->clearCache();
205205}
206206207207void ChestTile::onRemove(Level *level, int x, int y, int z, int id, int data)
208208{
209209- std::shared_ptr<Container> container = std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z) );
209209+ std::shared_ptr<Container> container = dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z) );
210210 if (container != NULL )
211211 {
212212 for (unsigned int i = 0; i < container->getContainerSize(); i++)
···263263 return true;
264264 }
265265266266- std::shared_ptr<Container> container = std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z) );
266266+ std::shared_ptr<Container> container = dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z) );
267267 if (container == NULL) return true;
268268269269 if (level->isSolidBlockingTile(x, y + 1, z)) return true;
···274274 if (level->getTile(x, y, z - 1) == id && (level->isSolidBlockingTile(x, y + 1, z - 1) || isCatSittingOnChest(level, x, y, z - 1))) return true;
275275 if (level->getTile(x, y, z + 1) == id && (level->isSolidBlockingTile(x, y + 1, z + 1) || isCatSittingOnChest(level, x, y, z + 1))) return true;
276276277277- if (level->getTile(x - 1, y, z) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x - 1, y, z) ), container) );
278278- if (level->getTile(x + 1, y, z) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, container, std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x + 1, y, z) )) );
279279- if (level->getTile(x, y, z - 1) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z - 1) ), container) );
280280- if (level->getTile(x, y, z + 1) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, container, std::dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z + 1) )) );
277277+ if (level->getTile(x - 1, y, z) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x - 1, y, z) ), container) );
278278+ if (level->getTile(x + 1, y, z) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, container, dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x + 1, y, z) )) );
279279+ if (level->getTile(x, y, z - 1) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z - 1) ), container) );
280280+ if (level->getTile(x, y, z + 1) == id) container = std::shared_ptr<Container>( new CompoundContainer(IDS_CHEST_LARGE, container, dynamic_pointer_cast<ChestTileEntity>( level->getTileEntity(x, y, z + 1) )) );
281281282282 player->openContainer(container);
283283···290290 vector<std::shared_ptr<Entity> > *entities = level->getEntitiesOfClass(typeid(Ozelot), AABB::newTemp(x, y + 1, z, x + 1, y + 2, z + 1));
291291 for(AUTO_VAR(it, entities->begin()); it != entities->end(); ++it)
292292 {
293293- std::shared_ptr<Ozelot> ocelot = std::dynamic_pointer_cast<Ozelot>(*it);
293293+ std::shared_ptr<Ozelot> ocelot = dynamic_pointer_cast<Ozelot>(*it);
294294 if(ocelot->isSitting())
295295 {
296296 return true;
+4-4
Minecraft.World/ChestTileEntity.cpp
···165165166166 if (level->getTile(x - 1, y, z) == Tile::chest_Id)
167167 {
168168- w = std::dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x - 1, y, z));
168168+ w = dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x - 1, y, z));
169169 }
170170 if (level->getTile(x + 1, y, z) == Tile::chest_Id)
171171 {
172172- e = std::dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x + 1, y, z));
172172+ e = dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x + 1, y, z));
173173 }
174174 if (level->getTile(x, y, z - 1) == Tile::chest_Id)
175175 {
176176- n = std::dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z - 1));
176176+ n = dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z - 1));
177177 }
178178 if (level->getTile(x, y, z + 1) == Tile::chest_Id)
179179 {
180180- s = std::dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z + 1));
180180+ s = dynamic_pointer_cast<ChestTileEntity>(level->getTileEntity(x, y, z + 1));
181181 }
182182183183 if (n.lock() != NULL) n.lock()->clearCache();
···149149 e->yd += ya * push;
150150 e->zd += za * push;
151151152152- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
152152+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
153153 if (player != NULL)
154154 {
155155 //app.DebugPrintf("Adding player knockback (%f,%f,%f)\n", xa * pow, ya * pow, za * pow);
+1-1
Minecraft.World/FarmTile.cpp
···8181 if (!level->isClientSide && level->random->nextFloat() < (fallDistance - .5f))
8282 {
8383 // Fix for #60547 - TU7: Content: Gameplay: Players joining a game can destroy crops even with Trust Players option disabled.
8484- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(entity);
8484+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(entity);
8585 if(player == NULL || player->isAllowedToMine()) level->setTile(x, y, z, Tile::dirt_Id);
8686 }
8787}
···216216 return;
217217 }
218218219219- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
219219+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
220220 if (i > 0 && player != NULL)
221221 {
222222 int enchanted = EnchantmentHelper::getDigDurability(player->inventory);
+1-1
Minecraft.World/KillCommand.cpp
···11111212void KillCommand::execute(std::shared_ptr<CommandSender> source, byteArray commandData)
1313{
1414- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(source);
1414+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(source);
15151616 player->hurt(DamageSource::outOfWorld, 1000);
1717
+11-11
Minecraft.World/Level.cpp
···568568 if( !this->levelData->useNewSeaLevel() ) seaLevel = Level::genDepth / 2; // 4J added - sea level is one unit lower since 1.8.2, maintain older height for old levels
569569 this->savedDataStorage = new SavedDataStorage(levelStorage.get());
570570571571- std::shared_ptr<Villages> savedVillages = std::dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
571571+ std::shared_ptr<Villages> savedVillages = dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
572572 if (savedVillages == NULL)
573573 {
574574 villages = std::shared_ptr<Villages>(new Villages(this));
···597597 if( !this->levelData->useNewSeaLevel() ) seaLevel = Level::genDepth / 2; // 4J added - sea level is one unit lower since 1.8.2, maintain older height for old levels
598598 this->savedDataStorage = new SavedDataStorage( levelStorage.get() );
599599600600- std::shared_ptr<Villages> savedVillages = std::dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
600600+ std::shared_ptr<Villages> savedVillages = dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
601601 if (savedVillages == NULL)
602602 {
603603 villages = std::shared_ptr<Villages>(new Villages(this));
···636636 this->levelStorage = levelStorage;//std::shared_ptr<LevelStorage>(levelStorage);
637637 this->savedDataStorage = new SavedDataStorage(levelStorage.get());
638638639639- std::shared_ptr<Villages> savedVillages = std::dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
639639+ std::shared_ptr<Villages> savedVillages = dynamic_pointer_cast<Villages>(savedDataStorage->get(typeid(Villages), Villages::VILLAGE_FILE_ID));
640640 if (savedVillages == NULL)
641641 {
642642 villages = std::shared_ptr<Villages>(new Villages(this));
···16671667 }
1668166816691669 bool forced = false;
16701670- if (std::dynamic_pointer_cast<Player>( e ) != NULL)
16701670+ if (dynamic_pointer_cast<Player>( e ) != NULL)
16711671 {
16721672 forced = true;
16731673 }
1674167416751675 if (forced || hasChunk(xc, zc))
16761676 {
16771677- if (std::dynamic_pointer_cast<Player>( e ) != NULL)
16771677+ if (dynamic_pointer_cast<Player>( e ) != NULL)
16781678 {
16791679- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(e);
16791679+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(e);
1680168016811681 // 4J Stu - Added so we don't continually add the player to the players list while they are dead
16821682 if( find( players.begin(), players.end(), e ) == players.end() )
···17441744 e->ride(nullptr);
17451745 }
17461746 e->remove();
17471747- if (std::dynamic_pointer_cast<Player>( e ) != NULL)
17471747+ if (dynamic_pointer_cast<Player>( e ) != NULL)
17481748 {
17491749 vector<std::shared_ptr<Player> >::iterator it = players.begin();
17501750 vector<std::shared_ptr<Player> >::iterator itEnd = players.end();
17511751- while( it != itEnd && *it != std::dynamic_pointer_cast<Player>(e) )
17511751+ while( it != itEnd && *it != dynamic_pointer_cast<Player>(e) )
17521752 it++;
1753175317541754 if( it != itEnd )
···17661766{
17671767 e->remove();
1768176817691769- if (std::dynamic_pointer_cast<Player>( e ) != NULL)
17691769+ if (dynamic_pointer_cast<Player>( e ) != NULL)
17701770 {
17711771 vector<std::shared_ptr<Player> >::iterator it = players.begin();
17721772 vector<std::shared_ptr<Player> >::iterator itEnd = players.end();
17731773- while( it != itEnd && *it != std::dynamic_pointer_cast<Player>(e) )
17731773+ while( it != itEnd && *it != dynamic_pointer_cast<Player>(e) )
17741774 it++;
1775177517761776 if( it != itEnd )
···22862286 if (!e->removed)
22872287 {
22882288#ifndef _FINAL_BUILD
22892289- if(!( app.DebugSettingsOn() && app.GetMobsDontTickEnabled() && (std::dynamic_pointer_cast<Mob>(e) != NULL) && (std::dynamic_pointer_cast<Player>(e) == NULL)))
22892289+ if(!( app.DebugSettingsOn() && app.GetMobsDontTickEnabled() && (dynamic_pointer_cast<Mob>(e) != NULL) && (dynamic_pointer_cast<Player>(e) == NULL)))
22902290#endif
22912291 {
22922292 tick(e);
+4-4
Minecraft.World/LevelChunk.cpp
···1639163916401640 bool isAssignableFrom = false;
16411641 // Some special cases where the base class is a general type that our class may be derived from, otherwise do a direct comparison of type_info
16421642- if( ec == typeid(Player) ) { if( std::dynamic_pointer_cast<Player>(e) != NULL ) isAssignableFrom = true; }
16431643- else if ( ec == typeid(Mob) ) { if( std::dynamic_pointer_cast<Mob>(e) != NULL ) isAssignableFrom = true; }
16441644- else if ( ec == typeid(Monster) ) { if( std::dynamic_pointer_cast<Monster>(e) != NULL ) isAssignableFrom = true; }
16451645- else if ( ec == typeid(Zombie) ) { if( std::dynamic_pointer_cast<Zombie>(e) != NULL ) isAssignableFrom = true; }
16421642+ if( ec == typeid(Player) ) { if( dynamic_pointer_cast<Player>(e) != NULL ) isAssignableFrom = true; }
16431643+ else if ( ec == typeid(Mob) ) { if( dynamic_pointer_cast<Mob>(e) != NULL ) isAssignableFrom = true; }
16441644+ else if ( ec == typeid(Monster) ) { if( dynamic_pointer_cast<Monster>(e) != NULL ) isAssignableFrom = true; }
16451645+ else if ( ec == typeid(Zombie) ) { if( dynamic_pointer_cast<Zombie>(e) != NULL ) isAssignableFrom = true; }
16461646 else if(e != NULL && ec == typeid(*(e.get())) ) isAssignableFrom = true;
16471647 if (isAssignableFrom && e->bb->intersects(bb)) es.push_back(e);
16481648 // 4J - note needs to be equivalent to baseClass.isAssignableFrom(e.getClass())
···2222std::shared_ptr<MapItemSavedData> MapItem::getSavedData(short idNum, Level *level)
2323{
2424 std::wstring id = wstring( L"map_" ) + _toString(idNum);
2525- std::shared_ptr<MapItemSavedData> mapItemSavedData = std::dynamic_pointer_cast<MapItemSavedData>(level->getSavedData(typeid(MapItemSavedData), id));
2525+ std::shared_ptr<MapItemSavedData> mapItemSavedData = dynamic_pointer_cast<MapItemSavedData>(level->getSavedData(typeid(MapItemSavedData), id));
26262727 if (mapItemSavedData == NULL)
2828 {
···4545 MemSect(31);
4646 std::wstring id = wstring( L"map_" ) + _toString(itemInstance->getAuxValue() );
4747 MemSect(0);
4848- std::shared_ptr<MapItemSavedData> mapItemSavedData = std::dynamic_pointer_cast<MapItemSavedData>( level->getSavedData(typeid(MapItemSavedData), id ) );
4848+ std::shared_ptr<MapItemSavedData> mapItemSavedData = dynamic_pointer_cast<MapItemSavedData>( level->getSavedData(typeid(MapItemSavedData), id ) );
49495050 bool newData = false;
5151 if (mapItemSavedData == NULL)
···264264 if (level->isClientSide) return;
265265266266 std::shared_ptr<MapItemSavedData> data = getSavedData(itemInstance, level);
267267- if (std::dynamic_pointer_cast<Player>(owner) != NULL)
267267+ if (dynamic_pointer_cast<Player>(owner) != NULL)
268268 {
269269- std::shared_ptr<Player> player = std::dynamic_pointer_cast<Player>(owner);
269269+ std::shared_ptr<Player> player = dynamic_pointer_cast<Player>(owner);
270270271271 // 4J Stu - If the player has a map that belongs to another player, then merge the data over and change this map id to the owners id
272272 int ownersAuxValue = level->getAuxValueForMap(player->getXuid(), data->dimension, data->x, data->z, data->scale);
+1-1
Minecraft.World/MapItemSavedData.cpp
···125125 }
126126 delete data.data;
127127 }
128128- std::shared_ptr<ServerPlayer> servPlayer = std::dynamic_pointer_cast<ServerPlayer>(player);
128128+ std::shared_ptr<ServerPlayer> servPlayer = dynamic_pointer_cast<ServerPlayer>(player);
129129 for (int d = 0; d < 10; d++)
130130 {
131131 int column = (tick * 11) % (MapItem::IMAGE_WIDTH);
···277277 // 4J - added limit to number of animals that can be bred
278278 if( level->canCreateMore( GetType(), Level::eSpawnType_Breed) )
279279 {
280280- std::shared_ptr<Sheep> otherSheep = std::dynamic_pointer_cast<Sheep>( target );
280280+ std::shared_ptr<Sheep> otherSheep = dynamic_pointer_cast<Sheep>( target );
281281 std::shared_ptr<Sheep> sheep = std::shared_ptr<Sheep>( new Sheep(level) );
282282- int color = getOffspringColor(std::dynamic_pointer_cast<Animal>(shared_from_this()), otherSheep);
282282+ int color = getOffspringColor(dynamic_pointer_cast<Animal>(shared_from_this()), otherSheep);
283283 sheep->setColor(15 - color);
284284 return sheep;
285285 }
···333333334334int Sheep::getDyeColor(std::shared_ptr<Animal> animal)
335335{
336336- return 15 - std::dynamic_pointer_cast<Sheep>(animal)->getColor();
336336+ return 15 - dynamic_pointer_cast<Sheep>(animal)->getColor();
337337}
+1-1
Minecraft.World/SignItem.cpp
···4343 }
44444545 instance->count--;
4646- std::shared_ptr<SignTileEntity> ste = std::dynamic_pointer_cast<SignTileEntity>( level->getTileEntity(x, y, z) );
4646+ std::shared_ptr<SignTileEntity> ste = dynamic_pointer_cast<SignTileEntity>( level->getTileEntity(x, y, z) );
4747 if (ste != NULL) player->openTextEdit(ste);
48484949 // 4J-JEV: Hook for durango 'BlockPlaced' event.
+1-1
Minecraft.World/SignTile.cpp
···8080 //try {
8181 // 4J Stu - For some reason the newInstance wasn't working right, but doing it like the other TileEntities is fine
8282 return std::shared_ptr<TileEntity>( new SignTileEntity() );
8383- //return std::dynamic_pointer_cast<TileEntity>( clas->newInstance() );
8383+ //return dynamic_pointer_cast<TileEntity>( clas->newInstance() );
8484 //} catch (Exception e) {
8585 // TODO 4J Stu - Exception handling
8686 // throw new RuntimeException(e);
···4747 {
4848 // Fix for #67486 - TCR #001: BAS Game Stability: Customer Encountered: TU8: Code: Gameplay: The title crashes on Host's console when Client Player leaves the game before the Ender Pearl thrown by him touches the ground.
4949 // If the owner has been removed, then ignore
5050- std::shared_ptr<ServerPlayer> serverPlayer = std::dynamic_pointer_cast<ServerPlayer>(owner);
5050+ std::shared_ptr<ServerPlayer> serverPlayer = dynamic_pointer_cast<ServerPlayer>(owner);
5151 if (serverPlayer != NULL && !serverPlayer->removed)
5252 {
5353 if(!serverPlayer->connection->done && serverPlayer->level == this->level)
+1-1
Minecraft.World/ThrownPotion.cpp
···8282 for(AUTO_VAR(it, entitiesOfClass->begin()); it != entitiesOfClass->end(); ++it)
8383 {
8484 //std::shared_ptr<Entity> e = *it;
8585- std::shared_ptr<Mob> e = std::dynamic_pointer_cast<Mob>( *it );
8585+ std::shared_ptr<Mob> e = dynamic_pointer_cast<Mob>( *it );
8686 double dist = distanceToSqr(e);
8787 if (dist < SPLASH_RANGE_SQ)
8888 {
···9898 if (entity->GetType() == eTYPE_ARROW && !level->isClientSide)
9999 {
100100 // 4J Stu - Don't need to cast this
101101- //std::shared_ptr<Arrow> arrow = std::dynamic_pointer_cast<Arrow>(entity);
101101+ //std::shared_ptr<Arrow> arrow = dynamic_pointer_cast<Arrow>(entity);
102102 if (entity->isOnFire())
103103 {
104104 destroy(level, x, y, z, EXPLODE_BIT);
+1-1
Minecraft.World/TreeTile.cpp
···6363void TreeTile::setPlacedBy(Level *level, int x, int y, int z, std::shared_ptr<Mob> by)
6464{
6565 int type = level->getData(x, y, z) & MASK_TYPE;
6666- int dir = PistonBaseTile::getNewFacing(level, x, y, z, std::dynamic_pointer_cast<Player>(by));
6666+ int dir = PistonBaseTile::getNewFacing(level, x, y, z, dynamic_pointer_cast<Player>(by));
6767 int facing = 0;
68686969 switch (dir)