the whole game

This commit is contained in:
Kolyah35
2026-03-02 22:04:18 +03:00
parent 816e9060b4
commit f0617a5d22
2069 changed files with 581500 additions and 0 deletions

View File

@@ -0,0 +1,177 @@
#if 0
#include "UploadPhotoScreen.h"
#include "../renderer/TileRenderer.h"
#include "../player/LocalPlayer.h"
#include "../../world/entity/player/Inventory.h"
UploadPhotoScreen::UploadPhotoScreen()
:
selectedItem(0)
{
}
void UploadPhotoScreen::init()
{
int currentSelection = minecraft->player->inventory->getSelectedItemId();
for (int i = 0; i < Inventory::INVENTORY_SIZE; i++)
{
if (currentSelection == minecraft->player->inventory->getSelectionSlotItemId(i + Inventory::SELECTION_SIZE))
{
selectedItem = i;
break;
}
}
}
void UploadPhotoScreen::renderSlots()
{
glColor4f2(1, 1, 1, 1);
blitOffset = -90;
minecraft->textures->loadAndBindTexture("gui/gui.png");
for (int r = 0; r < Inventory::INVENTORY_ROWS; r++)
{
blit(width / 2 - 182 / 2, height - 22 * 3 - 22 * r, 0, 0, 182, 22);
}
if (selectedItem >= 0)
{
int x = width / 2 - 182 / 2 - 1 + (selectedItem % Inventory::SELECTION_SIZE) * 20;
int y = height - 22 * 3 - 1 - (selectedItem / Inventory::SELECTION_SIZE) * 22;
blit(x, y, 0, 22, 24, 22);
}
for (int r = 0; r < Inventory::INVENTORY_ROWS; r++)
{
for (int i = 0; i < 9; i++) {
int x = width / 2 - 9 * 10 + i * 20 + 2;
int y = height - 16 - 3 - 22 * 2 - 22 * r;
renderSlot(r * 9 + i + Inventory::SELECTION_SIZE, x, y, 0);
}
}
}
void UploadPhotoScreen::renderSlot(int slot, int x, int y, float a)
{
int itemId = minecraft->player->inventory->getSelectionSlotItemId(slot);
if (itemId < 0) return;
const bool fancy = false;
if (fancy && itemId < 256 && TileRenderer::canRender(Tile::tiles[itemId]->getRenderShape())) {
} else {
if (itemId < 256) {
Tile* tile = Tile::tiles[itemId];
if (tile == NULL) return;
minecraft->textures->loadAndBindTexture("terrain.png");
int textureId = tile->getTexture(2, 0);
blit(x, y, textureId % 16 * 16, textureId / 16 * 16, 16, 16);
}
}
}
void UploadPhotoScreen::keyPressed(int eventKey)
{
int selX = selectedItem % Inventory::SELECTION_SIZE;
int selY = selectedItem / Inventory::SELECTION_SIZE;
Options& o = minecraft->options;
if (eventKey == o.keyLeft.key && selX > 0)
{
selectedItem -= 1;
}
else if (eventKey == o.keyRight.key && selX < (Inventory::SELECTION_SIZE - 1))
{
selectedItem += 1;
}
else if (eventKey == o.keyDown.key && selY > 0)
{
selectedItem -= Inventory::SELECTION_SIZE;
}
else if (eventKey == o.keyUp.key && selY < (Inventory::INVENTORY_ROWS - 1))
{
selectedItem += Inventory::SELECTION_SIZE;
}
if (eventKey == o.keyMenuOk.key)
{
selectSlotAndClose();
}
}
int UploadPhotoScreen::getSelectedSlot(int x, int y)
{
int left = 3 + width / 2 - Inventory::SELECTION_SIZE * 10;
int top = height - 16 - 3 - 22 * 2 - 22 * Inventory::INVENTORY_ROWS;
if (x >= left && y >= top)
{
int xSlot = (x - left) / 20;
if (xSlot < Inventory::SELECTION_SIZE)
{
// rows are rendered upsidedown
return xSlot + Inventory::INVENTORY_SIZE - ((y - top) / 22) * Inventory::SELECTION_SIZE;
}
}
return -1;
}
void UploadPhotoScreen::mouseClicked(int x, int y, int buttonNum) {
if (buttonNum == MouseAction::ACTION_LEFT) {
int slot = getSelectedSlot(x, y);
if (slot >= 0 && slot < Inventory::INVENTORY_SIZE)
{
selectedItem = slot;
//minecraft->soundEngine->playUI("random.click", 1, 1);
}
}
}
void UploadPhotoScreen::mouseReleased(int x, int y, int buttonNum)
{
if (buttonNum == MouseAction::ACTION_LEFT) {
int slot = getSelectedSlot(x, y);
if (slot >= 0 && slot < Inventory::INVENTORY_SIZE && slot == selectedItem)
{
selectSlotAndClose();
}
}
}
void UploadPhotoScreen::selectSlotAndClose()
{
Inventory* inventory = minecraft->player->inventory;
int itemId = inventory->getSelectionSlotItemId(selectedItem + Inventory::SELECTION_SIZE);
int i = 0;
for (; i < Inventory::SELECTION_SIZE - 2; i++)
{
if (itemId == inventory->getSelectionSlotItemId(i))
{
break;
}
}
// update selection list
for (; i >= 1; i--)
{
inventory->setSelectionSlotItemId(i, inventory->getSelectionSlotItemId(i - 1));
}
inventory->setSelectionSlotItemId(0, itemId);
inventory->selectSlot(0);
minecraft->soundEngine->playUI("random.click", 1, 1);
minecraft->setScreen(NULL);
}
#endif