mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-08-20 09:57:10 +00:00
fix: make it build on windows
This commit is contained in:
parent
c58c1bd9d2
commit
c432e83d18
|
|
@ -10,7 +10,7 @@ project(
|
||||||
'warning_level=0',
|
'warning_level=0',
|
||||||
'unity=on', # merge source files per target
|
'unity=on', # merge source files per target
|
||||||
'unity_size=8', # TODO: mess around with this
|
'unity_size=8', # TODO: mess around with this
|
||||||
'buildtype=debugoptimized', # needed for _FORTIFY_SOURCE
|
# 'buildtype=debugoptimized', # needed for _FORTIFY_SOURCE
|
||||||
'b_pch=true', # precompiled headers
|
'b_pch=true', # precompiled headers
|
||||||
# 'b_lto=true', # link-time optimisation (ThinLTO under clang+lld)
|
# 'b_lto=true', # link-time optimisation (ThinLTO under clang+lld)
|
||||||
# 'b_ndebug=if-release', # drop assert() in --buildtype=release
|
# 'b_ndebug=if-release', # drop assert() in --buildtype=release
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
#include "platform/profile/profile.h"
|
#include "platform/profile/profile.h"
|
||||||
#include "platform/storage/storage.h"
|
#include "platform/storage/storage.h"
|
||||||
#include "util/StringHelpers.h"
|
#include "util/StringHelpers.h"
|
||||||
|
#include "strings.h"
|
||||||
|
|
||||||
void Game::HandleXuiActions(void) {
|
void Game::HandleXuiActions(void) {
|
||||||
eXuiAction eAction;
|
eXuiAction eAction;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
#define GDRAW_ASSERTS
|
#define GDRAW_ASSERTS
|
||||||
|
|
||||||
#include "gdraw.h"
|
#include "gdraw.h"
|
||||||
|
#if defined(_WIN32)
|
||||||
#include <GL/gl.h>
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#define NOMINMAX
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
#include <GL/glew.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -128,33 +132,33 @@ typedef gdraw_gl_resourcetype gdraw_resourcetype;
|
||||||
GDRAW_GL_EXTENSION_LIST
|
GDRAW_GL_EXTENSION_LIST
|
||||||
#undef GLE
|
#undef GLE
|
||||||
|
|
||||||
typedef const GLubyte*(APIENTRYP PFNGLGETSTRINGIPROC_)(GLenum name,
|
typedef const GLubyte*(APIENTRY* PFNGLGETSTRINGIPROC_)(GLenum name,
|
||||||
GLuint index);
|
GLuint index);
|
||||||
static PFNGLGETSTRINGIPROC_ gdraw_glGetStringi = NULL;
|
static PFNGLGETSTRINGIPROC_ gdraw_glGetStringi = NULL;
|
||||||
|
|
||||||
typedef void(APIENTRYP PFNGLGENVERTEXARRAYSPROC_)(GLsizei n, GLuint* arrays);
|
typedef void(APIENTRY* PFNGLGENVERTEXARRAYSPROC_)(GLsizei n, GLuint* arrays);
|
||||||
typedef void(APIENTRYP PFNGLBINDVERTEXARRAYPROC_)(GLuint array);
|
typedef void(APIENTRY* PFNGLBINDVERTEXARRAYPROC_)(GLuint array);
|
||||||
static PFNGLGENVERTEXARRAYSPROC_ gdraw_glGenVertexArrays = NULL;
|
static PFNGLGENVERTEXARRAYSPROC_ gdraw_glGenVertexArrays = NULL;
|
||||||
static PFNGLBINDVERTEXARRAYPROC_ gdraw_glBindVertexArray = NULL;
|
static PFNGLBINDVERTEXARRAYPROC_ gdraw_glBindVertexArray = NULL;
|
||||||
static GLuint gdraw_vao = 0;
|
static GLuint gdraw_vao = 0;
|
||||||
|
|
||||||
typedef void(APIENTRYP gdraw_vtxattrib_fn)(GLuint, GLint, GLenum, GLboolean,
|
typedef void(APIENTRY* gdraw_vtxattrib_fn)(GLuint, GLint, GLenum, GLboolean,
|
||||||
GLsizei, const void*);
|
GLsizei, const void*);
|
||||||
static gdraw_vtxattrib_fn gdraw_real_vtxattrib = NULL;
|
static gdraw_vtxattrib_fn gdraw_real_vtxattrib = NULL;
|
||||||
static GLuint gdraw_screenvbo = 0;
|
static GLuint gdraw_screenvbo = 0;
|
||||||
static const void* gdraw_screenvbo_base = NULL;
|
static const void* gdraw_screenvbo_base = NULL;
|
||||||
static size_t gdraw_expected_vbo_size = 0;
|
static size_t gdraw_expected_vbo_size = 0;
|
||||||
|
|
||||||
typedef void(APIENTRYP gdraw_drawelements_fn)(GLenum mode, GLsizei count,
|
typedef void(APIENTRY* gdraw_drawelements_fn)(GLenum mode, GLsizei count,
|
||||||
GLenum type, const void* indices);
|
GLenum type, const void* indices);
|
||||||
static gdraw_drawelements_fn gdraw_real_drawelements = NULL;
|
static gdraw_drawelements_fn gdraw_real_drawelements = NULL;
|
||||||
static GLuint gdraw_screenibo = 0;
|
static GLuint gdraw_screenibo = 0;
|
||||||
|
|
||||||
typedef GLuint(APIENTRYP gdraw_createshader_fn)(GLenum);
|
typedef GLuint(APIENTRY* gdraw_createshader_fn)(GLenum);
|
||||||
typedef void(APIENTRYP gdraw_shadersource_fn)(GLuint, GLsizei, const GLchar**,
|
typedef void(APIENTRY* gdraw_shadersource_fn)(GLuint, GLsizei, const GLchar**,
|
||||||
const GLint*);
|
const GLint*);
|
||||||
typedef void(APIENTRYP gdraw_compileshader_fn)(GLuint);
|
typedef void(APIENTRY* gdraw_compileshader_fn)(GLuint);
|
||||||
typedef void(APIENTRYP gdraw_linkprogram_fn)(GLuint);
|
typedef void(APIENTRY* gdraw_linkprogram_fn)(GLuint);
|
||||||
static gdraw_createshader_fn gdraw_real_createshader = NULL;
|
static gdraw_createshader_fn gdraw_real_createshader = NULL;
|
||||||
static gdraw_shadersource_fn gdraw_real_shadersource = NULL;
|
static gdraw_shadersource_fn gdraw_real_shadersource = NULL;
|
||||||
static gdraw_compileshader_fn gdraw_real_compileshader = NULL;
|
static gdraw_compileshader_fn gdraw_real_compileshader = NULL;
|
||||||
|
|
@ -162,24 +166,24 @@ static gdraw_linkprogram_fn gdraw_real_linkprogram = NULL;
|
||||||
|
|
||||||
// some core reject p0
|
// some core reject p0
|
||||||
|
|
||||||
typedef void(APIENTRYP gdraw_useprogram_fn)(GLuint);
|
typedef void(APIENTRY* gdraw_useprogram_fn)(GLuint);
|
||||||
static gdraw_useprogram_fn gdraw_real_useprogram = NULL;
|
static gdraw_useprogram_fn gdraw_real_useprogram = NULL;
|
||||||
static GLuint gdraw_null_program = 0;
|
static GLuint gdraw_null_program = 0;
|
||||||
|
|
||||||
typedef void(APIENTRYP gdraw_teximage2d_fn)(GLenum, GLint, GLint, GLsizei,
|
typedef void(APIENTRY* gdraw_teximage2d_fn)(GLenum, GLint, GLint, GLsizei,
|
||||||
GLsizei, GLint, GLenum, GLenum,
|
GLsizei, GLint, GLenum, GLenum,
|
||||||
const void*);
|
const void*);
|
||||||
typedef void(APIENTRYP gdraw_texsubimage2d_fn)(GLenum, GLint, GLint, GLint,
|
typedef void(APIENTRY* gdraw_texsubimage2d_fn)(GLenum, GLint, GLint, GLint,
|
||||||
GLsizei, GLsizei, GLenum, GLenum,
|
GLsizei, GLsizei, GLenum, GLenum,
|
||||||
const void*);
|
const void*);
|
||||||
static gdraw_teximage2d_fn gdraw_real_teximage2d = NULL;
|
static gdraw_teximage2d_fn gdraw_real_teximage2d = NULL;
|
||||||
static gdraw_texsubimage2d_fn gdraw_real_texsubimage2d = NULL;
|
static gdraw_texsubimage2d_fn gdraw_real_texsubimage2d = NULL;
|
||||||
|
|
||||||
#define TRY(ptr, arb, core) \
|
#define TRY(ptr, arb, core) \
|
||||||
do { \
|
do { \
|
||||||
void* _p = SDL_GL_GetProcAddress(core); \
|
void* _p = SDL_GL_GetProcAddress(core); \
|
||||||
if (!_p) _p = SDL_GL_GetProcAddress(arb); \
|
if (!_p) _p = SDL_GL_GetProcAddress(arb); \
|
||||||
*(void**)&(ptr) = _p; \
|
*(void**)&(ptr) = _p; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
static void load_extensions(void) {
|
static void load_extensions(void) {
|
||||||
|
|
@ -254,15 +258,19 @@ static void load_extensions(void) {
|
||||||
(gdraw_shadersource_fn)SDL_GL_GetProcAddress("glShaderSource");
|
(gdraw_shadersource_fn)SDL_GL_GetProcAddress("glShaderSource");
|
||||||
gdraw_real_compileshader =
|
gdraw_real_compileshader =
|
||||||
(gdraw_compileshader_fn)SDL_GL_GetProcAddress("glCompileShader");
|
(gdraw_compileshader_fn)SDL_GL_GetProcAddress("glCompileShader");
|
||||||
gdraw_real_linkprogram = (gdraw_linkprogram_fn)SDL_GL_GetProcAddress("glLinkProgram");
|
gdraw_real_linkprogram =
|
||||||
gdraw_real_teximage2d = (gdraw_teximage2d_fn)SDL_GL_GetProcAddress("glTexImage2D");
|
(gdraw_linkprogram_fn)SDL_GL_GetProcAddress("glLinkProgram");
|
||||||
|
gdraw_real_teximage2d =
|
||||||
|
(gdraw_teximage2d_fn)SDL_GL_GetProcAddress("glTexImage2D");
|
||||||
gdraw_real_texsubimage2d =
|
gdraw_real_texsubimage2d =
|
||||||
(gdraw_texsubimage2d_fn)SDL_GL_GetProcAddress("glTexSubImage2D");
|
(gdraw_texsubimage2d_fn)SDL_GL_GetProcAddress("glTexSubImage2D");
|
||||||
gdraw_real_useprogram = (gdraw_useprogram_fn)SDL_GL_GetProcAddress("glUseProgram");
|
gdraw_real_useprogram =
|
||||||
|
(gdraw_useprogram_fn)SDL_GL_GetProcAddress("glUseProgram");
|
||||||
gdraw_real_drawelements =
|
gdraw_real_drawelements =
|
||||||
(gdraw_drawelements_fn)SDL_GL_GetProcAddress("glDrawElements");
|
(gdraw_drawelements_fn)SDL_GL_GetProcAddress("glDrawElements");
|
||||||
|
|
||||||
gdraw_glGetStringi = (PFNGLGETSTRINGIPROC_)SDL_GL_GetProcAddress("glGetStringi");
|
gdraw_glGetStringi =
|
||||||
|
(PFNGLGETSTRINGIPROC_)SDL_GL_GetProcAddress("glGetStringi");
|
||||||
gdraw_glGenVertexArrays =
|
gdraw_glGenVertexArrays =
|
||||||
(PFNGLGENVERTEXARRAYSPROC_)SDL_GL_GetProcAddress("glGenVertexArrays");
|
(PFNGLGENVERTEXARRAYSPROC_)SDL_GL_GetProcAddress("glGenVertexArrays");
|
||||||
gdraw_glBindVertexArray =
|
gdraw_glBindVertexArray =
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,15 @@
|
||||||
|
|
||||||
#include "rrCore.h" // base data types, macros
|
#include "rrCore.h" // base data types, macros
|
||||||
|
|
||||||
|
// on windows, these will cause MSVC to shit itself due to thinking
|
||||||
|
// the stubbed iggy symbols are DLL-exported.
|
||||||
|
#ifndef _ENABLEIGGY
|
||||||
|
#undef RADEXPFUNC
|
||||||
|
#undef RADEXPLINK
|
||||||
|
#define RADEXPFUNC
|
||||||
|
#define RADEXPLINK
|
||||||
|
#endif
|
||||||
|
|
||||||
RADDEFSTART
|
RADDEFSTART
|
||||||
|
|
||||||
#ifndef IGGY_GDRAW_SHARED_TYPEDEF
|
#ifndef IGGY_GDRAW_SHARED_TYPEDEF
|
||||||
|
|
@ -123,8 +132,8 @@ typedef enum IggyDatatype {
|
||||||
/* Describes an AS3 datatype visible through iggy interface. */
|
/* Describes an AS3 datatype visible through iggy interface. */
|
||||||
|
|
||||||
#ifdef __RADWIN__
|
#ifdef __RADWIN__
|
||||||
#include <stddef.h>
|
#include <uchar.h>
|
||||||
IDOCN typedef char IggyUTF16;
|
IDOCN typedef char16_t IggyUTF16;
|
||||||
#else
|
#else
|
||||||
#include <uchar.h>
|
#include <uchar.h>
|
||||||
typedef const char16_t IggyUTF16;
|
typedef const char16_t IggyUTF16;
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
#include "platform/renderer/renderer.h"
|
#include "platform/renderer/renderer.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "util/StringHelpers.h"
|
#include "util/StringHelpers.h"
|
||||||
|
#include "app/common/ui/ConsoleUIController.h"
|
||||||
|
|
||||||
int LocalizationManager::s_iHTMLFontSizesA[eHTMLSize_COUNT] = {20, 13, 20, 26};
|
int LocalizationManager::s_iHTMLFontSizesA[eHTMLSize_COUNT] = {20, 13, 20, 26};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
#include "minecraft/world/level/tile/entity/HopperTileEntity.h"
|
#include "minecraft/world/level/tile/entity/HopperTileEntity.h"
|
||||||
#include "platform/profile/profile.h"
|
#include "platform/profile/profile.h"
|
||||||
#include "platform/storage/storage.h"
|
#include "platform/storage/storage.h"
|
||||||
|
#include "strings.h"
|
||||||
|
|
||||||
unsigned char MenuController::m_szPNG[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
unsigned char MenuController::m_szPNG[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
#include "platform/input/input.h"
|
#include "platform/input/input.h"
|
||||||
#include "platform/profile/profile.h"
|
#include "platform/profile/profile.h"
|
||||||
#include "platform/storage/storage.h"
|
#include "platform/storage/storage.h"
|
||||||
|
#include "strings.h"
|
||||||
|
|
||||||
unsigned int NetworkController::m_uiLastSignInData = 0;
|
unsigned int NetworkController::m_uiLastSignInData = 0;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,21 +176,22 @@ void UIScene_MainMenu::handleGainFocus(bool navBack) {
|
||||||
random->nextInt((int)m_splashes.size() - (eSplashRandomStart + 1));
|
random->nextInt((int)m_splashes.size() - (eSplashRandomStart + 1));
|
||||||
|
|
||||||
// Override splash text on certain dates
|
// Override splash text on certain dates
|
||||||
const std::time_t now =
|
auto now = std::chrono::system_clock::now();
|
||||||
std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
|
auto dp = std::chrono::floor<std::chrono::days>(now);
|
||||||
std::tm localTime;
|
std::chrono::year_month_day ymd{dp};
|
||||||
localtime_r(&now, &localTime);
|
const auto month = ymd.month();
|
||||||
const int month = localTime.tm_mon + 1; // tm_mon is 0-based
|
const uint32_t day = static_cast<uint32_t>(ymd.day());
|
||||||
const int day = localTime.tm_mday;
|
|
||||||
if (month == 11 && day == 9) {
|
if (month == std::chrono::November && day == 9) {
|
||||||
splashIndex = eSplashHappyBirthdayEx;
|
splashIndex = eSplashHappyBirthdayEx;
|
||||||
} else if (month == 6 && day == 1) {
|
} else if (month == std::chrono::June && day == 1) {
|
||||||
splashIndex = eSplashHappyBirthdayNotch;
|
splashIndex = eSplashHappyBirthdayNotch;
|
||||||
} else if (month == 12 && day == 24) // the Java game shows this on
|
} else if (month == std::chrono::December &&
|
||||||
// Christmas Eve, so we will too
|
day == 24) // the Java game shows this on
|
||||||
|
// Christmas Eve, so we will too
|
||||||
{
|
{
|
||||||
splashIndex = eSplashMerryXmas;
|
splashIndex = eSplashMerryXmas;
|
||||||
} else if (month == 1 && day == 1) {
|
} else if (month == std::chrono::January && day == 1) {
|
||||||
splashIndex = eSplashHappyNewYear;
|
splashIndex = eSplashHappyNewYear;
|
||||||
}
|
}
|
||||||
// splashIndex = 47; // Very short string
|
// splashIndex = 47; // Very short string
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class UIScene;
|
||||||
|
|
||||||
// 4jcraft, used to be D3D11_RECT.
|
// 4jcraft, used to be D3D11_RECT.
|
||||||
// This was the only class that used it, so it's here now.
|
// This was the only class that used it, so it's here now.
|
||||||
struct 4J_RECT {
|
struct RECT_4J {
|
||||||
long left;
|
long left;
|
||||||
long top;
|
long top;
|
||||||
long right;
|
long right;
|
||||||
|
|
@ -190,7 +190,7 @@ private:
|
||||||
int m_accumulatedTicks;
|
int m_accumulatedTicks;
|
||||||
uint64_t m_lastUiSfx; // Tracks time (ms) of last UI sound effect
|
uint64_t m_lastUiSfx; // Tracks time (ms) of last UI sound effect
|
||||||
|
|
||||||
4J_RECT m_customRenderingClearRect;
|
RECT_4J m_customRenderingClearRect;
|
||||||
|
|
||||||
std::unordered_map<size_t, UIScene*>
|
std::unordered_map<size_t, UIScene*>
|
||||||
m_registeredCallbackScenes; // A collection of scenes and unique id's
|
m_registeredCallbackScenes; // A collection of scenes and unique id's
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ static void sigsegv_handler(int sig) {
|
||||||
_exit(139);
|
_exit(139);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#include <features.h>
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ app_dependencies += [
|
||||||
dependency('miniaudio'), # todo: remove once PlatformSound is used
|
dependency('miniaudio'), # todo: remove once PlatformSound is used
|
||||||
dependency('stb'),
|
dependency('stb'),
|
||||||
dependency('simdutf'),
|
dependency('simdutf'),
|
||||||
|
dependency('glew'), # TODO remove
|
||||||
java_dep,
|
java_dep,
|
||||||
nbt_dep,
|
nbt_dep,
|
||||||
util_dep,
|
util_dep,
|
||||||
|
|
|
||||||
|
|
@ -279,8 +279,6 @@ void SelectWorldScreen::WorldSelectionList::renderItem(int i, int x, int y,
|
||||||
(unsigned)ymd.month(), (int)ymd.year(),
|
(unsigned)ymd.month(), (int)ymd.year(),
|
||||||
(int)hms.hours().count(), (int)hms.minutes().count());
|
(int)hms.hours().count(), (int)hms.minutes().count());
|
||||||
|
|
||||||
id = id + " (" + buffer;
|
|
||||||
|
|
||||||
int64_t size = levelSummary->getSizeOnDisk();
|
int64_t size = levelSummary->getSizeOnDisk();
|
||||||
id = id + ", " + toWString<float>(size / 1024 * 100 / 1024 / 100.0f) +
|
id = id + ", " + toWString<float>(size / 1024 * 100 / 1024 / 100.0f) +
|
||||||
" MB)";
|
" MB)";
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@
|
||||||
#include "minecraft/world/entity/player/Abilities.h"
|
#include "minecraft/world/entity/player/Abilities.h"
|
||||||
#include "minecraft/world/entity/player/Inventory.h"
|
#include "minecraft/world/entity/player/Inventory.h"
|
||||||
#include "minecraft/world/entity/player/Player.h"
|
#include "minecraft/world/entity/player/Player.h"
|
||||||
|
#include "minecraft/world/entity/item/MinecartHopper.h"
|
||||||
#include "minecraft/world/food/FoodConstants.h"
|
#include "minecraft/world/food/FoodConstants.h"
|
||||||
#include "minecraft/world/food/FoodData.h"
|
#include "minecraft/world/food/FoodData.h"
|
||||||
#include "minecraft/world/item/BowItem.h"
|
#include "minecraft/world/item/BowItem.h"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <numbers>
|
||||||
|
|
||||||
#include "java/InputOutputStream/BufferedReader.h"
|
#include "java/InputOutputStream/BufferedReader.h"
|
||||||
#include "java/InputOutputStream/ByteArrayInputStream.h"
|
#include "java/InputOutputStream/ByteArrayInputStream.h"
|
||||||
|
|
@ -68,20 +69,20 @@ TitleScreen::TitleScreen() {
|
||||||
random->nextInt((int)splashes.size() - (eSplashRandomStart + 1));
|
random->nextInt((int)splashes.size() - (eSplashRandomStart + 1));
|
||||||
|
|
||||||
// Override splash text on certain dates
|
// Override splash text on certain dates
|
||||||
const auto now = std::chrono::system_clock::now();
|
auto now = std::chrono::system_clock::now();
|
||||||
const auto t = std::chrono::system_clock::to_time_t(now);
|
auto dp = std::chrono::floor<std::chrono::days>(now);
|
||||||
std::tm localTime;
|
std::chrono::year_month_day ymd{dp};
|
||||||
localtime_r(&t, &localTime);
|
const auto month = ymd.month();
|
||||||
const int month = localTime.tm_mon + 1; // tm_mon is 0-based
|
const uint32_t day = static_cast<uint32_t>(ymd.day());
|
||||||
const int day = localTime.tm_mday;
|
|
||||||
if (month == 11 && day == 9) {
|
if (month == std::chrono::November && day == 9) {
|
||||||
splashIndex = eSplashHappyBirthdayEx;
|
splashIndex = eSplashHappyBirthdayEx;
|
||||||
} else if (month == 6 && day == 1) {
|
} else if (month == std::chrono::June && day == 1) {
|
||||||
splashIndex = eSplashHappyBirthdayNotch;
|
splashIndex = eSplashHappyBirthdayNotch;
|
||||||
} else if (month == 12 && day == 24) {
|
} else if (month == std::chrono::December && day == 24) {
|
||||||
// the Java game shows this on Christmas Eve, so we will too
|
// the Java game shows this on Christmas Eve, so we will too
|
||||||
splashIndex = eSplashMerryXmas;
|
splashIndex = eSplashMerryXmas;
|
||||||
} else if (month == 1 && day == 1) {
|
} else if (month == std::chrono::January && day == 1) {
|
||||||
splashIndex = eSplashHappyNewYear;
|
splashIndex = eSplashHappyNewYear;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ lib_minecraft = static_library('minecraft',
|
||||||
# dependency('libcrypto'), # for MD5 in Hasher.cpp on Linux
|
# dependency('libcrypto'), # for MD5 in Hasher.cpp on Linux
|
||||||
dependency('zlib'),
|
dependency('zlib'),
|
||||||
dependency('glm'),
|
dependency('glm'),
|
||||||
|
dependency('glew'), # TODO remove
|
||||||
nbt_dep,
|
nbt_dep,
|
||||||
java_dep,
|
java_dep,
|
||||||
util_dep,
|
util_dep,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
class ItemInstance;
|
class ItemInstance;
|
||||||
class Player;
|
class Player;
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,6 @@
|
||||||
#undef glNormalPointer
|
#undef glNormalPointer
|
||||||
#undef glColorPointer
|
#undef glColorPointer
|
||||||
#undef glVertexPointer
|
#undef glVertexPointer
|
||||||
#undef glGenQueriesARB
|
|
||||||
#undef glGetQueryObjectuARB
|
|
||||||
#undef glEnable
|
#undef glEnable
|
||||||
#undef glDisable
|
#undef glDisable
|
||||||
#undef glBlendFunc
|
#undef glBlendFunc
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
#include "gl3_loader.h"
|
#include "gl3_loader.h"
|
||||||
// NOTE: gl3_loader.h must be included before these two
|
// NOTE: gl3_loader.h must be included before these two
|
||||||
#include <GL/gl.h>
|
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
// #include "gl3_loader.h"
|
// #include "gl3_loader.h"
|
||||||
// NOTE: gl3_loader.h must be included before these two
|
// NOTE: gl3_loader.h must be included before these two
|
||||||
#include <GL/gl.h>
|
#include <GL/glew.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
@ -261,6 +261,16 @@
|
||||||
#define GL_RESCALE_NORMAL 0x803A
|
#define GL_RESCALE_NORMAL 0x803A
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_BGRA
|
||||||
|
#define GL_BGRA 0x80E1
|
||||||
|
#endif
|
||||||
|
#ifndef GL_RGBA
|
||||||
|
#define GL_RGBA 0x1908
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_CLAMP_TO_EDGE
|
||||||
|
#define GL_CLAMP_TO_EDGE 0x812F
|
||||||
|
#endif
|
||||||
|
|
||||||
// glCallList / display list macros
|
// glCallList / display list macros
|
||||||
#undef glNewList
|
#undef glNewList
|
||||||
|
|
@ -460,7 +470,6 @@
|
||||||
#define glActiveTexture(tex) \
|
#define glActiveTexture(tex) \
|
||||||
do { \
|
do { \
|
||||||
PlatformRenderer.StateSetActiveTexture(tex); \
|
PlatformRenderer.StateSetActiveTexture(tex); \
|
||||||
::glActiveTexture(tex); \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#undef glClientActiveTexture
|
#undef glClientActiveTexture
|
||||||
|
|
@ -478,11 +487,6 @@ void glTexImage2D_4J(int target, int level, int internalformat, int width,
|
||||||
int height, int border, int format, int type,
|
int height, int border, int format, int type,
|
||||||
void* pixels);
|
void* pixels);
|
||||||
|
|
||||||
// helprs
|
|
||||||
void glGenQueries_4J_Helper(unsigned int* id);
|
|
||||||
void glGetQueryObjectu_4J_Helper(unsigned int id, unsigned int pname,
|
|
||||||
unsigned int* val);
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline void glGenTextures_4J(T* buf) {
|
inline void glGenTextures_4J(T* buf) {
|
||||||
unsigned int id = 0;
|
unsigned int id = 0;
|
||||||
|
|
@ -523,20 +527,6 @@ inline void glCallLists_4J(T* lists) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline void glGenQueries_4J(T* buf) {
|
|
||||||
unsigned int id = 0;
|
|
||||||
glGenQueries_4J_Helper(&id);
|
|
||||||
buf->put((int)id);
|
|
||||||
buf->flip();
|
|
||||||
}
|
|
||||||
template <typename T>
|
|
||||||
inline void glGetQueryObjectu_4J(int id, int pname, T* params) {
|
|
||||||
unsigned int val = 0;
|
|
||||||
glGetQueryObjectu_4J_Helper((unsigned int)id, (unsigned int)pname, &val);
|
|
||||||
params->put((int)val);
|
|
||||||
params->flip();
|
|
||||||
}
|
|
||||||
template <typename T>
|
|
||||||
inline void glFog_4J(int pname, T* params) {
|
inline void glFog_4J(int pname, T* params) {
|
||||||
float* p = params->_getDataPointer();
|
float* p = params->_getDataPointer();
|
||||||
if (pname == 0x0B66 /* GL_FOG_COLOR */)
|
if (pname == 0x0B66 /* GL_FOG_COLOR */)
|
||||||
|
|
@ -589,8 +579,6 @@ inline void glReadPixels_4J(int x, int y, int width, int height, int format,
|
||||||
#define glTexImage2D(a, b, c, d, e, f, g, h, i) \
|
#define glTexImage2D(a, b, c, d, e, f, g, h, i) \
|
||||||
glTexImage2D_4J(a, b, c, d, e, f, g, h, i)
|
glTexImage2D_4J(a, b, c, d, e, f, g, h, i)
|
||||||
#define glCallLists(x) glCallLists_4J(x)
|
#define glCallLists(x) glCallLists_4J(x)
|
||||||
#define glGenQueriesARB(x) glGenQueries_4J(x)
|
|
||||||
#define glGetQueryObjectuARB(a, b, c) glGetQueryObjectu_4J(a, b, c)
|
|
||||||
#define glReadPixels(a, b, c, d, e, f, g) glReadPixels_4J(a, b, c, d, e, f, g)
|
#define glReadPixels(a, b, c, d, e, f, g) glReadPixels_4J(a, b, c, d, e, f, g)
|
||||||
#define glFog(a, b) glFog_4J(a, b)
|
#define glFog(a, b) glFog_4J(a, b)
|
||||||
#define glLight(a, b, c) glLight_4J(a, b, c)
|
#define glLight(a, b, c) glLight_4J(a, b, c)
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "java/File.h"
|
#include "java/File.h"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue