mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-08-20 09:57:10 +00:00
fix: clean up sanitizer startup issues
This commit is contained in:
parent
fed9cf2d95
commit
cc24fc996a
|
|
@ -3,15 +3,16 @@
|
||||||
|
|
||||||
class IUIScene_CommandBlockMenu {
|
class IUIScene_CommandBlockMenu {
|
||||||
public:
|
public:
|
||||||
|
virtual ~IUIScene_CommandBlockMenu() = default;
|
||||||
void Initialise(CommandBlockEntity* commandBlock);
|
void Initialise(CommandBlockEntity* commandBlock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ConfirmButtonClicked();
|
void ConfirmButtonClicked();
|
||||||
|
|
||||||
virtual std::wstring GetCommand();
|
virtual std::wstring GetCommand() = 0;
|
||||||
virtual void SetCommand(std::wstring command);
|
virtual void SetCommand(std::wstring command) = 0;
|
||||||
virtual int GetPad();
|
virtual int GetPad() = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CommandBlockEntity* m_commandBlock;
|
CommandBlockEntity* m_commandBlock;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
Random* UIScene_MainMenu::random = new Random();
|
Random* UIScene_MainMenu::random = new Random();
|
||||||
|
|
||||||
EUIScene UIScene_MainMenu::eNavigateWhenReady = (EUIScene)-1;
|
int UIScene_MainMenu::eNavigateWhenReady = -1;
|
||||||
|
|
||||||
UIScene_MainMenu::UIScene_MainMenu(int iPad, void* initData,
|
UIScene_MainMenu::UIScene_MainMenu(int iPad, void* initData,
|
||||||
UILayer* parentLayer)
|
UILayer* parentLayer)
|
||||||
|
|
@ -1966,8 +1966,8 @@ void UIScene_MainMenu::tick() {
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
app.DebugPrintf("[MainMenu] Navigating away from MainMenu.\n");
|
app.DebugPrintf("[MainMenu] Navigating away from MainMenu.\n");
|
||||||
ui.NavigateToScene(lockedProfile, eNavigateWhenReady);
|
ui.NavigateToScene(lockedProfile, (EUIScene)eNavigateWhenReady);
|
||||||
eNavigateWhenReady = (EUIScene)-1;
|
eNavigateWhenReady = -1;
|
||||||
}
|
}
|
||||||
#ifdef _DURANGO
|
#ifdef _DURANGO
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
|
|
@ -90,10 +90,10 @@ private:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// 4J-JEV: Delay navigation until font changes.
|
// 4J-JEV: Delay navigation until font changes.
|
||||||
static EUIScene eNavigateWhenReady;
|
static int eNavigateWhenReady;
|
||||||
|
|
||||||
static void proceedToScene(int iPad, EUIScene eScene) {
|
static void proceedToScene(int iPad, EUIScene eScene) {
|
||||||
eNavigateWhenReady = eScene;
|
eNavigateWhenReady = (int)eScene;
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -1504,30 +1504,34 @@ static int set_render_state(GDrawRenderState *r, S32 vformat, const int **ovvars
|
||||||
|
|
||||||
static void set_vertex_format(S32 format, F32 *vertices)
|
static void set_vertex_format(S32 format, F32 *vertices)
|
||||||
{
|
{
|
||||||
|
const void *vertex_offset_0 = (const void *) (size_t) vertices;
|
||||||
|
const void *vertex_offset_8 = (const void *) ((size_t) vertices + (2 * sizeof(F32)));
|
||||||
|
const void *vertex_offset_16 = (const void *) ((size_t) vertices + (4 * sizeof(F32)));
|
||||||
|
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case GDRAW_vformat_v2:
|
case GDRAW_vformat_v2:
|
||||||
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, vertices);
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, vertex_offset_0);
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDRAW_vformat_v2aa:
|
case GDRAW_vformat_v2aa:
|
||||||
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 16, vertices);
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 16, vertex_offset_0);
|
||||||
glVertexAttribPointer(1, 4, GL_SHORT, GL_FALSE, 16, vertices+2);
|
glVertexAttribPointer(1, 4, GL_SHORT, GL_FALSE, 16, vertex_offset_8);
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
glEnableVertexAttribArray(1);
|
glEnableVertexAttribArray(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDRAW_vformat_v2tc2:
|
case GDRAW_vformat_v2tc2:
|
||||||
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 16, vertices);
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 16, vertex_offset_0);
|
||||||
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 16, vertices+2);
|
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 16, vertex_offset_8);
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
glEnableVertexAttribArray(1);
|
glEnableVertexAttribArray(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDRAW_vformat_ihud1:
|
case GDRAW_vformat_ihud1:
|
||||||
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 20, vertices);
|
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 20, vertex_offset_0);
|
||||||
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 20, vertices+2);
|
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 20, vertex_offset_8);
|
||||||
glVertexAttribPointer(2, 4, GL_UNSIGNED_BYTE, GL_TRUE, 20, vertices+4);
|
glVertexAttribPointer(2, 4, GL_UNSIGNED_BYTE, GL_TRUE, 20, vertex_offset_16);
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
glEnableVertexAttribArray(1);
|
glEnableVertexAttribArray(1);
|
||||||
glEnableVertexAttribArray(2);
|
glEnableVertexAttribArray(2);
|
||||||
|
|
@ -1943,10 +1947,13 @@ static void make_fragment_program(ProgramWithCachedVariableLocations *p, int num
|
||||||
p->program = 0;
|
p->program = 0;
|
||||||
} else {
|
} else {
|
||||||
S32 vert = GDRAW_vformat_v2tc2;
|
S32 vert = GDRAW_vformat_v2tc2;
|
||||||
if (p >= &gdraw->fprog[0][0][0] && p < &gdraw->fprog[GDRAW_TEXTURE__count][0][0]) {
|
ProgramWithCachedVariableLocations *basic_fprog_begin = &gdraw->fprog[0][0][0];
|
||||||
|
ProgramWithCachedVariableLocations *basic_fprog_end =
|
||||||
|
basic_fprog_begin + (sizeof(gdraw->fprog) / sizeof(gdraw->fprog[0][0][0]));
|
||||||
|
if (p >= basic_fprog_begin && p < basic_fprog_end) {
|
||||||
// for basic rendering shaders, we have three versions corresponding to the
|
// for basic rendering shaders, we have three versions corresponding to the
|
||||||
// three vertex formats we support.
|
// three vertex formats we support.
|
||||||
S32 n = (S32) (p - gdraw->fprog[0][0]);
|
S32 n = (S32) (p - basic_fprog_begin);
|
||||||
vert = n % 3;
|
vert = n % 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2032,8 +2039,12 @@ static void make_vertex_programs(void)
|
||||||
|
|
||||||
static void lazy_shader(ProgramWithCachedVariableLocations *ptr)
|
static void lazy_shader(ProgramWithCachedVariableLocations *ptr)
|
||||||
{
|
{
|
||||||
if (ptr >= &gdraw->fprog[0][0][0] && ptr < &gdraw->fprog[GDRAW_TEXTURE__count][0][0]) {
|
ProgramWithCachedVariableLocations *basic_fprog_begin = &gdraw->fprog[0][0][0];
|
||||||
S32 n = (S32) (ptr - gdraw->fprog[0][0]);
|
ProgramWithCachedVariableLocations *basic_fprog_end =
|
||||||
|
basic_fprog_begin + (sizeof(gdraw->fprog) / sizeof(gdraw->fprog[0][0][0]));
|
||||||
|
|
||||||
|
if (ptr >= basic_fprog_begin && ptr < basic_fprog_end) {
|
||||||
|
S32 n = (S32) (ptr - basic_fprog_begin);
|
||||||
n /= 3;
|
n /= 3;
|
||||||
|
|
||||||
make_fragment_program(ptr, NUMFRAGMENTS_pshader_basic, pshader_basic_arr[n], pshader_basic_vars);
|
make_fragment_program(ptr, NUMFRAGMENTS_pshader_basic, pshader_basic_arr[n], pshader_basic_vars);
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,11 @@ bool TickNextTickData::equals(const TickNextTickData* o) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
int TickNextTickData::hashCode() const {
|
int TickNextTickData::hashCode() const {
|
||||||
return (((x * 1024 * 1024) + (z * 1024) + y) * 256);
|
std::uint32_t hash =
|
||||||
|
(((std::uint32_t)x * 1024u * 1024u) + ((std::uint32_t)z * 1024u) +
|
||||||
|
(std::uint32_t)y) *
|
||||||
|
256u;
|
||||||
|
return (std::int32_t)hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
TickNextTickData* TickNextTickData::delay(int64_t l) {
|
TickNextTickData* TickNextTickData::delay(int64_t l) {
|
||||||
|
|
@ -72,4 +76,4 @@ int TickNextTickData::hash_fnct(const TickNextTickData& k) {
|
||||||
bool TickNextTickData::eq_test(const TickNextTickData& x,
|
bool TickNextTickData::eq_test(const TickNextTickData& x,
|
||||||
const TickNextTickData& y) {
|
const TickNextTickData& y) {
|
||||||
return x.equals(&y);
|
return x.equals(&y);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,6 @@
|
||||||
|
|
||||||
class DescFormatter {
|
class DescFormatter {
|
||||||
public:
|
public:
|
||||||
virtual std::wstring format(const std::wstring& i18nValue);
|
virtual ~DescFormatter() = default;
|
||||||
};
|
virtual std::wstring format(const std::wstring& i18nValue) = 0;
|
||||||
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue