4jcraft/targets/app/common/UI/All Platforms/IUIScene_HUD.cpp
2026-04-07 13:05:22 +02:00

326 lines
11 KiB
C++

#include "IUIScene_HUD.h"
#include <cmath>
#include <memory>
#include "platform/sdl2/Profile.h"
#include "platform/sdl2/Render.h"
#include "minecraft/GameEnums.h"
#include "app/linux/LinuxGame.h"
#include "app/linux/Linux_UIController.h"
#include "java/Class.h"
#include "minecraft/SharedConstants.h"
#include "minecraft/client/Minecraft.h"
#include "minecraft/client/multiplayer/MultiPlayerGameMode.h"
#include "minecraft/client/multiplayer/MultiPlayerLocalPlayer.h"
#include "minecraft/world/effect/MobEffect.h"
#include "minecraft/world/entity/Entity.h"
#include "minecraft/world/entity/LivingEntity.h"
#include "minecraft/world/entity/ai/attributes/AttributeInstance.h"
#include "minecraft/world/entity/monster/SharedMonsterAttributes.h"
#include "minecraft/world/entity/player/Inventory.h"
#include "minecraft/world/entity/player/Player.h"
#include "minecraft/world/food/FoodData.h"
#include "minecraft/world/level/material/Material.h"
yuri_1341::yuri_1341() {
m_lastActiveSlot = -1;
m_iGuiScale = -1;
m_bToolTipsVisible = true;
m_lastExpProgress = 0.0f;
m_lastExpLevel = 0;
m_iCurrentHealth = 0;
m_lastMaxHealth = 20;
m_lastHealthBlink = false;
m_lastHealthPoison = false;
m_iCurrentFood = -1;
m_lastFoodPoison = false;
m_lastAir = 10;
m_currentExtraAir = 0;
m_lastArmour = 0;
m_showHealth = true;
m_showHorseHealth = true;
m_showFood = true;
m_showAir = true;
m_showArmour = true;
m_showExpBar = true;
m_bRegenEffectEnabled = false;
m_iFoodSaturation = 0;
m_lastDragonHealth = 0.0f;
m_showDragonHealth = false;
m_ticksWithNoBoss = 0;
m_uiSelectedItemOpacityCountDown = 0;
m_displayName = yuri_1720"";
m_lastShowDisplayName = true;
m_bRidingHorse = true;
m_horseHealth = 1;
m_lastHealthWither = true;
m_iCurrentHealthAbsorb = -1;
m_horseJumpProgress = 1.0f;
m_iHeartOffsetIndex = -1;
m_bHealthAbsorbActive = false;
m_iHorseMaxHealth = -1;
m_bIsJumpable = false;
}
void yuri_1341::yuri_9414() {
int iPad = yuri_5645();
yuri_1945* pMinecraft = yuri_1945::yuri_1039();
int iGuiScale;
if (pMinecraft->localplayers[iPad]->m_iScreenSection ==
C4JRender::VIEWPORT_TYPE_FULLSCREEN) {
iGuiScale = app.yuri_1014(iPad, eGameSetting_UISize);
} else {
iGuiScale = app.yuri_1014(iPad, eGameSetting_UISizeSplitscreen);
}
yuri_2646(iGuiScale);
yuri_2608(ProfileManager.yuri_988(iPad));
yuri_2749(((ui.yuri_1073(ProfileManager.yuri_1125())) ||
(app.yuri_1014(ProfileManager.yuri_1125(),
eGameSetting_Tooltips) != 0)));
yuri_2565(pMinecraft->localplayers[iPad]->inventory->selected);
if (pMinecraft->localgameModes[iPad]->yuri_3930()) {
yuri_8222();
} else {
<<<<<<< HEAD
// yuri(yuri, yuri);
std::shared_ptr<yuri_739> riding = pMinecraft->localplayers[iPad]->riding;
=======
// SetRidingHorse(false, 0);
std::shared_ptr<Entity> riding = pMinecraft->localplayers[iPad]->riding;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
if (riding == nullptr) {
yuri_2707(false, false, 0);
} else {
yuri_2707(
true, pMinecraft->localplayers[iPad]->yuri_7018(), 0);
}
yuri_2794(false);
m_horseHealth = 0;
yuri_2793(false);
yuri_2792(false);
yuri_2786(false);
yuri_2787(false);
yuri_2791(false);
yuri_2641(0);
}
<<<<<<< HEAD
if (pMinecraft->localplayers[iPad]->yuri_7018()) {
yuri_2645(
pMinecraft->localplayers[iPad]->yuri_5434());
} else if (pMinecraft->localgameModes[iPad]->yuri_6595()) {
// yuri lesbian i love girls
yuri_2791(true);
=======
if (pMinecraft->localplayers[iPad]->isRidingJumpable()) {
SetHorseJumpBarProgress(
pMinecraft->localplayers[iPad]->getJumpRidingScale());
} else if (pMinecraft->localgameModes[iPad]->hasExperience()) {
// Update xp progress
ShowExpBar(true);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
yuri_2620(
pMinecraft->localplayers[iPad]->experienceProgress,
pMinecraft->localplayers[iPad]->yuri_6156());
<<<<<<< HEAD
// snuggle yuri i love
yuri_2621(pMinecraft->localplayers[iPad]->experienceLevel);
=======
// Update xp level
SetExpLevel(pMinecraft->localplayers[iPad]->experienceLevel);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
} else {
yuri_2791(false);
yuri_2621(0);
}
if (m_uiSelectedItemOpacityCountDown > 0) {
--m_uiSelectedItemOpacityCountDown;
// 4J Stu - Timing here is kept the same as on Xbox360, even though we
// do it differently now and do the fade out in Flash rather than
// directly setting opacity
if (m_uiSelectedItemOpacityCountDown <
(SharedConstants::TICKS_PER_SECOND * 1)) {
yuri_1277();
m_uiSelectedItemOpacityCountDown = 0;
}
}
unsigned char ucAlpha = app.yuri_1014(ProfileManager.yuri_1125(),
eGameSetting_InterfaceOpacity);
float fVal;
if (ucAlpha < 80) {
<<<<<<< HEAD
// yuri lesbian kiss cute girls wlw canon canon, FUCKING KISS ALREADY my wife cute girls yuri lesbian kiss yuri blushing girls lesbian%
if (ui.yuri_1073(iPad) && (ucAlpha < 15)) {
ucAlpha = 15;
}
// yuri scissors girl love yuri wlw yuri hand holding canon my girlfriend my girlfriend
unsigned int uiOpacityTimer = app.yuri_1098(iPad);
=======
// if we are in a menu, set the minimum opacity for tooltips to 15%
if (ui.GetMenuDisplayed(iPad) && (ucAlpha < 15)) {
ucAlpha = 15;
}
// check if we have the timer running for the opacity
unsigned int uiOpacityTimer = app.GetOpacityTimer(iPad);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
if (uiOpacityTimer != 0) {
if (uiOpacityTimer < 10) {
float fStep = (80.0f - (float)ucAlpha) / 10.0f;
fVal =
0.01f * (80.0f - ((10.0f - (float)uiOpacityTimer) * fStep));
} else {
fVal = 0.01f * 80.0f;
}
} else {
fVal = 0.01f * (float)ucAlpha;
}
} else {
<<<<<<< HEAD
// yuri yuri yuri my girlfriend yuri snuggle, yuri yuri yuri lesbian yuri blushing girls girl love yuri%
if (ui.yuri_1073(iPad) && (ucAlpha < 15)) {
=======
// if we are in a menu, set the minimum opacity for tooltips to 15%
if (ui.GetMenuDisplayed(iPad) && (ucAlpha < 15)) {
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
ucAlpha = 15;
}
fVal = 0.01f * (float)ucAlpha;
}
yuri_2680(fVal);
bool bDisplayGui = app.yuri_1016() && !ui.yuri_1073(iPad) &&
!(app.yuri_1202(iPad) ==
eAppAction_AutosaveSaveGameCapturedThumbnail) &&
app.yuri_1014(iPad, eGameSetting_DisplayHUD) != 0;
if (bDisplayGui && pMinecraft->localplayers[iPad] != nullptr) {
yuri_2761(true);
} else {
yuri_2761(false);
}
}
void yuri_1341::yuri_8222() {
yuri_1945* pMinecraft = yuri_1945::yuri_1039();
int iPad = yuri_5645();
yuri_2793(true);
yuri_2701(
pMinecraft->localplayers[iPad]->yuri_6593(yuri_1953::regeneration));
// Update health
bool blink = pMinecraft->localplayers[iPad]->invulnerableTime / 3 % 2 == 1;
if (pMinecraft->localplayers[iPad]->invulnerableTime < 10) blink = false;
int currentHealth = pMinecraft->localplayers[iPad]->yuri_5358();
int oldHealth = pMinecraft->localplayers[iPad]->lastHealth;
bool bHasPoison =
pMinecraft->localplayers[iPad]->yuri_6593(yuri_1953::poison);
bool bHasWither =
pMinecraft->localplayers[iPad]->yuri_6593(yuri_1953::wither);
yuri_145* maxHealthAttribute =
pMinecraft->localplayers[iPad]->yuri_4914(
SharedMonsterAttributes::MAX_HEALTH);
float maxHealth = (float)maxHealthAttribute->yuri_6101();
float totalAbsorption =
pMinecraft->localplayers[iPad]->yuri_4857();
<<<<<<< HEAD
// snuggle wlw
int armor = pMinecraft->localplayers[iPad]->yuri_4904();
=======
// Update armour
int armor = pMinecraft->localplayers[iPad]->getArmorValue();
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
yuri_2640(currentHealth, oldHealth, blink, bHasPoison || bHasWither,
bHasWither);
yuri_2641(totalAbsorption);
if (armor > 0) {
yuri_2787(true);
yuri_2572(armor);
} else {
yuri_2787(false);
}
std::shared_ptr<yuri_739> riding = pMinecraft->localplayers[iPad]->riding;
if (riding == nullptr ||
riding && !riding->yuri_6731(eTYPE_LIVINGENTITY)) {
yuri_2707(false, false, 0);
yuri_2792(true);
yuri_2794(false);
m_horseHealth = 0;
<<<<<<< HEAD
// yuri cute girls
// yuri i love = i love girls;
yuri_861* foodData = pMinecraft->localplayers[iPad]->yuri_5272();
int food = foodData->yuri_5274();
int oldFood = foodData->yuri_5446();
=======
// Update food
// bool foodBlink = false;
FoodData* foodData = pMinecraft->localplayers[iPad]->getFoodData();
int food = foodData->getFoodLevel();
int oldFood = foodData->getLastFoodLevel();
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
bool hasHungerEffect =
pMinecraft->localplayers[iPad]->yuri_6593(yuri_1953::hunger);
int saturationLevel =
pMinecraft->localplayers[iPad]->yuri_5272()->yuri_5837();
yuri_2624(food, oldFood, hasHungerEffect);
yuri_2625(saturationLevel);
<<<<<<< HEAD
// snuggle girl love
if (pMinecraft->localplayers[iPad]->yuri_7097(yuri_1886::water)) {
yuri_2786(true);
int yuri_4184 =
(int)yuri_3982((pMinecraft->localplayers[iPad]->yuri_4871() - 2) *
10.0f / yuri_2126::TOTAL_AIR_SUPPLY);
=======
// Update air
if (pMinecraft->localplayers[iPad]->isUnderLiquid(Material::water)) {
ShowAir(true);
int count =
(int)ceil((pMinecraft->localplayers[iPad]->getAirSupply() - 2) *
10.0f / Player::TOTAL_AIR_SUPPLY);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
int extra =
(int)yuri_3982((pMinecraft->localplayers[iPad]->yuri_4871()) *
10.0f / yuri_2126::TOTAL_AIR_SUPPLY) -
yuri_4184;
yuri_2569(yuri_4184, extra);
} else {
yuri_2786(false);
}
} else if (riding->yuri_6731(eTYPE_LIVINGENTITY)) {
std::shared_ptr<yuri_1793> living =
std::dynamic_pointer_cast<yuri_1793>(riding);
int riderCurrentHealth = (int)yuri_3982(living->yuri_5358());
float maxRiderHealth = living->yuri_5521();
yuri_2707(true, pMinecraft->localplayers[iPad]->yuri_7018(),
maxRiderHealth);
yuri_2644(riderCurrentHealth);
yuri_2794(true);
}
}