Files
mcpe/source/client/gui/components/ScrolledSelectionList.hpp
iProgramInCpp 9a24abc603 Improve Survival Mode + others (#56)
* * Undo some of the changes done in the "* Work on survival mode." commit.
* TEST_SURVIVAL_MODE is now on by default.

* * Dying no longer crashes the game.

* * Death seems to work ok.

* * Improve some of the damage code.

* x

* work

* Fixed the Makefile (#54)

* * Finally fix the crack texture appearing to flicker/restart

* * Add VS2010 as an optional target.

Fix build with VS2010 (both windows_vs and xenon_vs).

* * Disable survival mode. Getting ready to merge now!

---------

Co-authored-by: Alexander Argentakis <38327951+MFDGaming@users.noreply.github.com>
2023-08-16 22:32:09 +03:00

80 lines
1.8 KiB
C++

/********************************************************************
Minecraft: Pocket Edition - Decompilation Project
Copyright (C) 2023 iProgramInCpp
The following code is licensed under the BSD 1 clause license.
SPDX-License-Identifier: BSD-1-Clause
********************************************************************/
#pragma once
#include "../GuiComponent.hpp"
#include "Minecraft.hpp"
class ScrolledSelectionList : public GuiComponent
{
public:
ScrolledSelectionList(Minecraft*, int, int, int, int, int);
virtual void setRenderSelection(bool);
virtual int getNumberOfItems() = 0;
virtual void selectItem(int, bool) = 0;
virtual bool isSelectedItem(int) = 0;
virtual int getMaxPosition();
virtual void renderItem(int, int, int, int, Tesselator&) = 0;
virtual void renderHeader(int, int, Tesselator&);
virtual void renderBackground() = 0;
virtual void renderDecorations(int, int);
virtual void clickedHeader(int x, int y);
virtual int getItemAtPosition(int x, int y);
virtual void capYPosition();
virtual void render(int mouseX, int mouseY, float f);
virtual void renderHoleBackground(float, float, int, int);
void setRenderHeader(bool, int);
// @NOTE: This is inlined.
inline int getItemAtYPositionRaw(int y)
{
if (y < 0)
return -1;
// @NOTE: redundant check
int idx = y / m_itemHeight;
if (idx < 0)
return -1;
if (idx >= getNumberOfItems())
return -1;
return idx;
}
// @NOTE: This is also inlined.
inline int transformY(int y)
{
return int(y - field_C - field_48 + field_34 - 4.0f);
}
public:
Minecraft* m_pMinecraft;
float field_C;
float field_10;
int m_itemHeight;
int field_18;
int field_1C;
float field_20;
float field_24;
int field_28;
int field_2C;
float field_30;
float field_34;
float field_38;
int field_3C;
int field_40;
bool m_bRenderSelection;
bool field_45;
int field_48;
};