mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-04 19:36:43 +03:00
* * 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>
80 lines
1.8 KiB
C++
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;
|
|
};
|
|
|