4jcraft/targets/minecraft/client/Camera.h
2026-04-01 13:27:58 -05:00

39 lines
941 B
C++

#pragma once
#include <memory>
#include "java/FloatBuffer.h"
#include "java/IntBuffer.h"
class TilePos;
class Vec3;
class Player;
class Mob;
class FloatBuffer;
class Level;
class LivingEntity;
class Camera {
public:
static float xPlayerOffs;
static float yPlayerOffs;
static float zPlayerOffs;
private:
// static IntBuffer *viewport;
static FloatBuffer* modelview;
static FloatBuffer* projection;
// static FloatBuffer *position;
public:
static float xa, ya, za, xa2, za2;
static void prepare(std::shared_ptr<Player> player, bool mirror);
static TilePos* getCameraTilePos(std::shared_ptr<LivingEntity> player,
double alpha);
static Vec3 getCameraPos(std::shared_ptr<LivingEntity> player,
double alpha);
static int getBlockAt(Level* level, std::shared_ptr<LivingEntity> player,
float alpha);
};