mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-14 01:55:19 -04:00
add dirty/BuildMesh to Screen, return 0 from Gfx_CreateDynamicVb if context is lost
This commit is contained in:
parent
b164d3c8d6
commit
e26b649b86
@ -583,16 +583,12 @@ void Gfx_SetFaceCulling(cc_bool enabled) {
|
|||||||
void Gfx_SetFog(cc_bool enabled) {
|
void Gfx_SetFog(cc_bool enabled) {
|
||||||
if (gfx_fogEnabled == enabled) return;
|
if (gfx_fogEnabled == enabled) return;
|
||||||
gfx_fogEnabled = enabled;
|
gfx_fogEnabled = enabled;
|
||||||
|
|
||||||
if (Gfx.LostContext) return;
|
|
||||||
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGENABLE, enabled);
|
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGENABLE, enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gfx_SetFogCol(PackedCol col) {
|
void Gfx_SetFogCol(PackedCol col) {
|
||||||
if (col == gfx_fogCol) return;
|
if (col == gfx_fogCol) return;
|
||||||
gfx_fogCol = col;
|
gfx_fogCol = col;
|
||||||
|
|
||||||
if (Gfx.LostContext) return;
|
|
||||||
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGCOLOR, gfx_fogCol);
|
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGCOLOR, gfx_fogCol);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,7 +597,6 @@ void Gfx_SetFogDensity(float value) {
|
|||||||
if (value == gfx_fogDensity) return;
|
if (value == gfx_fogDensity) return;
|
||||||
gfx_fogDensity = value;
|
gfx_fogDensity = value;
|
||||||
|
|
||||||
if (Gfx.LostContext) return;
|
|
||||||
raw.f = value;
|
raw.f = value;
|
||||||
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGDENSITY, raw.u);
|
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGDENSITY, raw.u);
|
||||||
}
|
}
|
||||||
@ -611,7 +606,6 @@ void Gfx_SetFogEnd(float value) {
|
|||||||
if (value == gfx_fogEnd) return;
|
if (value == gfx_fogEnd) return;
|
||||||
gfx_fogEnd = value;
|
gfx_fogEnd = value;
|
||||||
|
|
||||||
if (Gfx.LostContext) return;
|
|
||||||
raw.f = value;
|
raw.f = value;
|
||||||
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGEND, raw.u);
|
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGEND, raw.u);
|
||||||
}
|
}
|
||||||
@ -622,7 +616,6 @@ void Gfx_SetFogMode(FogFunc func) {
|
|||||||
if (mode == gfx_fogMode) return;
|
if (mode == gfx_fogMode) return;
|
||||||
|
|
||||||
gfx_fogMode = mode;
|
gfx_fogMode = mode;
|
||||||
if (Gfx.LostContext) return;
|
|
||||||
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGTABLEMODE, mode);
|
IDirect3DDevice9_SetRenderState(device, D3DRS_FOGTABLEMODE, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -683,7 +676,10 @@ static void D3D9_RestoreRenderStates(void) {
|
|||||||
GfxResourceID Gfx_CreateDynamicVb(VertexFormat fmt, int maxVertices) {
|
GfxResourceID Gfx_CreateDynamicVb(VertexFormat fmt, int maxVertices) {
|
||||||
int size = maxVertices * gfx_strideSizes[fmt];
|
int size = maxVertices * gfx_strideSizes[fmt];
|
||||||
IDirect3DVertexBuffer9* vbuffer;
|
IDirect3DVertexBuffer9* vbuffer;
|
||||||
cc_result res = IDirect3DDevice9_CreateVertexBuffer(device, size, D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY,
|
cc_result res;
|
||||||
|
if (Gfx.LostContext) return 0;
|
||||||
|
|
||||||
|
res = IDirect3DDevice9_CreateVertexBuffer(device, size, D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY,
|
||||||
d3d9_formatMappings[fmt], D3DPOOL_DEFAULT, &vbuffer, NULL);
|
d3d9_formatMappings[fmt], D3DPOOL_DEFAULT, &vbuffer, NULL);
|
||||||
if (res) Logger_Abort2(res, "D3D9_CreateDynamicVb");
|
if (res) Logger_Abort2(res, "D3D9_CreateDynamicVb");
|
||||||
|
|
||||||
@ -1165,6 +1161,7 @@ static GLuint GL_GenAndBind(GLenum target) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
GfxResourceID Gfx_CreateDynamicVb(VertexFormat fmt, int maxVertices) {
|
GfxResourceID Gfx_CreateDynamicVb(VertexFormat fmt, int maxVertices) {
|
||||||
|
if (Gfx.LostContext) return 0;
|
||||||
GLuint id = GL_GenAndBind(GL_ARRAY_BUFFER);
|
GLuint id = GL_GenAndBind(GL_ARRAY_BUFFER);
|
||||||
cc_uint32 size = maxVertices * gfx_strideSizes[fmt];
|
cc_uint32 size = maxVertices * gfx_strideSizes[fmt];
|
||||||
_glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
_glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
||||||
|
@ -158,6 +158,7 @@ static void Gui_AddCore(struct Screen* s, int priority) {
|
|||||||
priorities[i] = priority;
|
priorities[i] = priority;
|
||||||
Gui_ScreensCount++;
|
Gui_ScreensCount++;
|
||||||
|
|
||||||
|
s->dirty = true;
|
||||||
s->VTABLE->Init(s);
|
s->VTABLE->Init(s);
|
||||||
s->VTABLE->ContextRecreated(s);
|
s->VTABLE->ContextRecreated(s);
|
||||||
|
|
||||||
@ -240,6 +241,7 @@ void Gui_RenderGui(double delta) {
|
|||||||
/* Draw back to front so highest priority screen is on top */
|
/* Draw back to front so highest priority screen is on top */
|
||||||
for (i = Gui_ScreensCount - 1; i >= 0; i--) {
|
for (i = Gui_ScreensCount - 1; i >= 0; i--) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
|
if (s->dirty) { s->VTABLE->BuildMesh(s); s->dirty = false; }
|
||||||
s->VTABLE->Render(s, delta);
|
s->VTABLE->Render(s, delta);
|
||||||
}
|
}
|
||||||
Gfx_Mode3D();
|
Gfx_Mode3D();
|
||||||
|
@ -42,10 +42,12 @@ struct ScreenVTABLE {
|
|||||||
void (*Render)(void* elem, double delta);
|
void (*Render)(void* elem, double delta);
|
||||||
/* Frees/releases persistent state. */
|
/* Frees/releases persistent state. */
|
||||||
void (*Free)(void* elem);
|
void (*Free)(void* elem);
|
||||||
|
/* Builds the vertex mesh for all the widgets in the screen. */
|
||||||
|
void (*BuildMesh)(void* elem);
|
||||||
/* Returns non-zero if an input press is handled. */
|
/* Returns non-zero if an input press is handled. */
|
||||||
int (*HandlesKeyDown)(void* elem, int key);
|
int (*HandlesInputDown)(void* elem, int key);
|
||||||
/* Returns non-zero if an input release is handled. */
|
/* Returns non-zero if an input release is handled. */
|
||||||
int (*HandlesKeyUp)(void* elem, int key);
|
int (*HandlesInputUp)(void* elem, int key);
|
||||||
/* Returns non-zero if a key character press is handled. */
|
/* Returns non-zero if a key character press is handled. */
|
||||||
int (*HandlesKeyPress)(void* elem, char keyChar);
|
int (*HandlesKeyPress)(void* elem, char keyChar);
|
||||||
/* Returns non-zero if a key character press is handled. */
|
/* Returns non-zero if a key character press is handled. */
|
||||||
@ -70,6 +72,7 @@ struct ScreenVTABLE {
|
|||||||
cc_bool grabsInput; /* Whether this screen grabs input. Causes the cursor to become visible. */ \
|
cc_bool grabsInput; /* Whether this screen grabs input. Causes the cursor to become visible. */ \
|
||||||
cc_bool blocksWorld; /* Whether this screen completely and opaquely covers the game world behind it. */ \
|
cc_bool blocksWorld; /* Whether this screen completely and opaquely covers the game world behind it. */ \
|
||||||
cc_bool closable; /* Whether this screen is automatically closed when pressing Escape */ \
|
cc_bool closable; /* Whether this screen is automatically closed when pressing Escape */ \
|
||||||
|
cc_bool dirty; /* Whether this screens needs to have its mesh rebuilt. */ \
|
||||||
struct Widget** widgets; int numWidgets;
|
struct Widget** widgets; int numWidgets;
|
||||||
|
|
||||||
/* Represents a container of widgets and other 2D elements. May cover entire window. */
|
/* Represents a container of widgets and other 2D elements. May cover entire window. */
|
||||||
|
19
src/Input.c
19
src/Input.c
@ -747,7 +747,7 @@ static void InputHandler_Toggle(int key, cc_bool* target, const char* enableMsg,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InputHandler_CycleDistanceForwards(const short* viewDists, int count) {
|
static void CycleViewDistanceForwards(const short* viewDists, int count) {
|
||||||
int i, dist;
|
int i, dist;
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
dist = viewDists[i];
|
dist = viewDists[i];
|
||||||
@ -759,7 +759,7 @@ static void InputHandler_CycleDistanceForwards(const short* viewDists, int count
|
|||||||
Game_UserSetViewDistance(viewDists[0]);
|
Game_UserSetViewDistance(viewDists[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InputHandler_CycleDistanceBackwards(const short* viewDists, int count) {
|
static void CycleViewDistanceBackwards(const short* viewDists, int count) {
|
||||||
int i, dist;
|
int i, dist;
|
||||||
for (i = count - 1; i >= 0; i--) {
|
for (i = count - 1; i >= 0; i--) {
|
||||||
dist = viewDists[i];
|
dist = viewDists[i];
|
||||||
@ -873,9 +873,9 @@ static cc_bool HandleCoreKey(int key) {
|
|||||||
int count = Gui_ClassicMenu ? Array_Elems(classicDists) : Array_Elems(normDists);
|
int count = Gui_ClassicMenu ? Array_Elems(classicDists) : Array_Elems(normDists);
|
||||||
|
|
||||||
if (Key_IsShiftPressed()) {
|
if (Key_IsShiftPressed()) {
|
||||||
InputHandler_CycleDistanceBackwards(viewDists, count);
|
CycleViewDistanceBackwards(viewDists, count);
|
||||||
} else {
|
} else {
|
||||||
InputHandler_CycleDistanceForwards(viewDists, count);
|
CycleViewDistanceForwards(viewDists, count);
|
||||||
}
|
}
|
||||||
} else if (key == KEY_F5 && Game_ClassicMode) {
|
} else if (key == KEY_F5 && Game_ClassicMode) {
|
||||||
int weather = Env.Weather == WEATHER_SUNNY ? WEATHER_RAINY : WEATHER_SUNNY;
|
int weather = Env.Weather == WEATHER_SUNNY ? WEATHER_RAINY : WEATHER_SUNNY;
|
||||||
@ -915,6 +915,7 @@ static void HandleMouseWheel(void* obj, float delta) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
|
s->dirty = true;
|
||||||
if (s->VTABLE->HandlesMouseScroll(s, delta)) return;
|
if (s->VTABLE->HandlesMouseScroll(s, delta)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -924,6 +925,7 @@ static void HandleMouseWheel(void* obj, float delta) {
|
|||||||
|
|
||||||
widget = ChatScreen_GetHotbar();
|
widget = ChatScreen_GetHotbar();
|
||||||
Elem_HandlesMouseScroll(widget, delta);
|
Elem_HandlesMouseScroll(widget, delta);
|
||||||
|
((struct Screen*)Gui_Chat)->dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HandlePointerMove(void* obj, int idx, int xDelta, int yDelta) {
|
static void HandlePointerMove(void* obj, int idx, int xDelta, int yDelta) {
|
||||||
@ -932,6 +934,7 @@ static void HandlePointerMove(void* obj, int idx, int xDelta, int yDelta) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
|
s->dirty = true;
|
||||||
if (s->VTABLE->HandlesPointerMove(s, 1 << idx, x, y)) return;
|
if (s->VTABLE->HandlesPointerMove(s, 1 << idx, x, y)) return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -942,6 +945,7 @@ static void HandlePointerDown(void* obj, int idx) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
|
s->dirty = true;
|
||||||
#ifdef CC_BUILD_TOUCH
|
#ifdef CC_BUILD_TOUCH
|
||||||
if (s->VTABLE->HandlesPointerDown(s, 1 << idx, x, y)) {
|
if (s->VTABLE->HandlesPointerDown(s, 1 << idx, x, y)) {
|
||||||
touches[idx].type = TOUCH_TYPE_GUI; return;
|
touches[idx].type = TOUCH_TYPE_GUI; return;
|
||||||
@ -958,6 +962,7 @@ static void HandlePointerUp(void* obj, int idx) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
|
s->dirty = true;
|
||||||
if (s->VTABLE->HandlesPointerUp(s, 1 << idx, x, y)) return;
|
if (s->VTABLE->HandlesPointerUp(s, 1 << idx, x, y)) return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -983,7 +988,8 @@ static void HandleInputDown(void* obj, int key, cc_bool was) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
if (s->VTABLE->HandlesKeyDown(s, key)) return;
|
s->dirty = true;
|
||||||
|
if (s->VTABLE->HandlesInputDown(s, key)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((key == KEY_ESCAPE || key == KEY_PAUSE) && !Gui_GetInputGrab()) {
|
if ((key == KEY_ESCAPE || key == KEY_PAUSE) && !Gui_GetInputGrab()) {
|
||||||
@ -1023,7 +1029,8 @@ static void HandleInputUp(void* obj, int key) {
|
|||||||
|
|
||||||
for (i = 0; i < Gui_ScreensCount; i++) {
|
for (i = 0; i < Gui_ScreensCount; i++) {
|
||||||
s = Gui_Screens[i];
|
s = Gui_Screens[i];
|
||||||
if (s->VTABLE->HandlesKeyUp(s, key)) return;
|
s->dirty = true;
|
||||||
|
if (s->VTABLE->HandlesInputUp(s, key)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Gui_GetInputGrab()) return;
|
if (Gui_GetInputGrab()) return;
|
||||||
|
48
src/Menus.c
48
src/Menus.c
@ -446,8 +446,10 @@ static void ListScreen_ContextRecreated(void* screen) {
|
|||||||
ListScreen_UpdatePage(s);
|
ListScreen_UpdatePage(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ListScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static const struct ScreenVTABLE ListScreen_VTABLE = {
|
static const struct ScreenVTABLE ListScreen_VTABLE = {
|
||||||
ListScreen_Init, ListScreen_Render, ListScreen_Free,
|
ListScreen_Init, ListScreen_Render, ListScreen_Free, ListScreen_BuildMesh,
|
||||||
ListScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
ListScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, ListScreen_MouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, ListScreen_MouseScroll,
|
||||||
Menu_Layout, ListScreen_ContextLost, ListScreen_ContextRecreated
|
Menu_Layout, ListScreen_ContextLost, ListScreen_ContextRecreated
|
||||||
@ -510,6 +512,8 @@ static void PauseScreen_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void PauseScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void PauseScreen_Init(void* screen) {
|
static void PauseScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[8];
|
static struct Widget* widgets[8];
|
||||||
struct PauseScreen* s = (struct PauseScreen*)screen;
|
struct PauseScreen* s = (struct PauseScreen*)screen;
|
||||||
@ -558,7 +562,7 @@ static void PauseScreen_Free(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE PauseScreen_VTABLE = {
|
static const struct ScreenVTABLE PauseScreen_VTABLE = {
|
||||||
PauseScreen_Init, MenuScreen_Render, PauseScreen_Free,
|
PauseScreen_Init, MenuScreen_Render, PauseScreen_Free, PauseScreen_BuildMesh,
|
||||||
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, Menu_ContextLost, PauseScreen_ContextRecreated
|
Menu_Layout, Menu_ContextLost, PauseScreen_ContextRecreated
|
||||||
@ -632,6 +636,8 @@ static void OptionsGroupScreen_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void OptionsGroupScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void OptionsGroupScreen_Init(void* screen) {
|
static void OptionsGroupScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[9];
|
static struct Widget* widgets[9];
|
||||||
struct OptionsGroupScreen* s = (struct OptionsGroupScreen*)screen;
|
struct OptionsGroupScreen* s = (struct OptionsGroupScreen*)screen;
|
||||||
@ -663,7 +669,7 @@ static int OptionsGroupScreen_PointerMove(void* screen, int id, int x, int y) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE OptionsGroupScreen_VTABLE = {
|
static const struct ScreenVTABLE OptionsGroupScreen_VTABLE = {
|
||||||
OptionsGroupScreen_Init, MenuScreen_Render, OptionsGroupScreen_Free,
|
OptionsGroupScreen_Init, MenuScreen_Render, OptionsGroupScreen_Free, OptionsGroupScreen_BuildMesh,
|
||||||
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, OptionsGroupScreen_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, OptionsGroupScreen_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, OptionsGroupScreen_ContextLost, OptionsGroupScreen_ContextRecreated
|
Menu_Layout, OptionsGroupScreen_ContextLost, OptionsGroupScreen_ContextRecreated
|
||||||
@ -865,6 +871,8 @@ static void EditHotkeyScreen_ContextRecreated(void* screen) {
|
|||||||
ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont);
|
ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void EditHotkeyScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void EditHotkeyScreen_Init(void* screen) {
|
static void EditHotkeyScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[7];
|
static struct Widget* widgets[7];
|
||||||
struct EditHotkeyScreen* s = (struct EditHotkeyScreen*)screen;
|
struct EditHotkeyScreen* s = (struct EditHotkeyScreen*)screen;
|
||||||
@ -894,7 +902,7 @@ static void EditHotkeyScreen_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE EditHotkeyScreen_VTABLE = {
|
static const struct ScreenVTABLE EditHotkeyScreen_VTABLE = {
|
||||||
EditHotkeyScreen_Init, EditHotkeyScreen_Render, Menu_CloseKeyboard,
|
EditHotkeyScreen_Init, EditHotkeyScreen_Render, Menu_CloseKeyboard, EditHotkeyScreen_BuildMesh,
|
||||||
EditHotkeyScreen_KeyDown, Screen_TInput, EditHotkeyScreen_KeyPress, EditHotkeyScreen_TextChanged,
|
EditHotkeyScreen_KeyDown, Screen_TInput, EditHotkeyScreen_KeyPress, EditHotkeyScreen_TextChanged,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, EditHotkeyScreen_ContextLost, EditHotkeyScreen_ContextRecreated
|
Menu_Layout, EditHotkeyScreen_ContextLost, EditHotkeyScreen_ContextRecreated
|
||||||
@ -1050,6 +1058,8 @@ static void GenLevelScreen_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void GenLevelScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void GenLevelScreen_Init(void* screen) {
|
static void GenLevelScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[12];
|
static struct Widget* widgets[12];
|
||||||
struct GenLevelScreen* s = (struct GenLevelScreen*)screen;
|
struct GenLevelScreen* s = (struct GenLevelScreen*)screen;
|
||||||
@ -1073,7 +1083,7 @@ static void GenLevelScreen_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE GenLevelScreen_VTABLE = {
|
static const struct ScreenVTABLE GenLevelScreen_VTABLE = {
|
||||||
GenLevelScreen_Init, MenuScreen_Render, Menu_CloseKeyboard,
|
GenLevelScreen_Init, MenuScreen_Render, Menu_CloseKeyboard, GenLevelScreen_BuildMesh,
|
||||||
GenLevelScreen_KeyDown, Screen_TInput, GenLevelScreen_KeyPress, GenLevelScreen_TextChanged,
|
GenLevelScreen_KeyDown, Screen_TInput, GenLevelScreen_KeyPress, GenLevelScreen_TextChanged,
|
||||||
GenLevelScreen_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
GenLevelScreen_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, GenLevelScreen_ContextLost, GenLevelScreen_ContextRecreated
|
Menu_Layout, GenLevelScreen_ContextLost, GenLevelScreen_ContextRecreated
|
||||||
@ -1124,6 +1134,8 @@ static void ClassicGenScreen_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ClassicGenScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void ClassicGenScreen_Init(void* screen) {
|
static void ClassicGenScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[4];
|
static struct Widget* widgets[4];
|
||||||
struct ClassicGenScreen* s = (struct ClassicGenScreen*)screen;
|
struct ClassicGenScreen* s = (struct ClassicGenScreen*)screen;
|
||||||
@ -1138,7 +1150,7 @@ static void ClassicGenScreen_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE ClassicGenScreen_VTABLE = {
|
static const struct ScreenVTABLE ClassicGenScreen_VTABLE = {
|
||||||
ClassicGenScreen_Init, MenuScreen_Render, Menu_NullFunc,
|
ClassicGenScreen_Init, MenuScreen_Render, Menu_NullFunc, ClassicGenScreen_BuildMesh,
|
||||||
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
MenuScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, Menu_ContextLost, ClassicGenScreen_ContextRecreated
|
Menu_Layout, Menu_ContextLost, ClassicGenScreen_ContextRecreated
|
||||||
@ -1375,6 +1387,8 @@ static void SaveLevelScreen_ContextRecreated(void* screen) {
|
|||||||
ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont);
|
ButtonWidget_SetConst(&s->cancel, "Cancel", &s->titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void SaveLevelScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void SaveLevelScreen_Init(void* screen) {
|
static void SaveLevelScreen_Init(void* screen) {
|
||||||
static struct Widget* widgets[6];
|
static struct Widget* widgets[6];
|
||||||
struct SaveLevelScreen* s = (struct SaveLevelScreen*)screen;
|
struct SaveLevelScreen* s = (struct SaveLevelScreen*)screen;
|
||||||
@ -1410,7 +1424,7 @@ static void SaveLevelScreen_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE SaveLevelScreen_VTABLE = {
|
static const struct ScreenVTABLE SaveLevelScreen_VTABLE = {
|
||||||
SaveLevelScreen_Init, SaveLevelScreen_Render, Menu_CloseKeyboard,
|
SaveLevelScreen_Init, SaveLevelScreen_Render, Menu_CloseKeyboard, SaveLevelScreen_BuildMesh,
|
||||||
SaveLevelScreen_KeyDown, Screen_TInput, SaveLevelScreen_KeyPress, SaveLevelScreen_TextChanged,
|
SaveLevelScreen_KeyDown, Screen_TInput, SaveLevelScreen_KeyPress, SaveLevelScreen_TextChanged,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, SaveLevelScreen_ContextLost, SaveLevelScreen_ContextRecreated
|
Menu_Layout, SaveLevelScreen_ContextLost, SaveLevelScreen_ContextRecreated
|
||||||
@ -1717,6 +1731,8 @@ static void KeyBindingsScreen_ContextRecreated(void* screen) {
|
|||||||
ButtonWidget_SetConst(&s->right, ">", &s->titleFont);
|
ButtonWidget_SetConst(&s->right, ">", &s->titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void KeyBindingsScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void KeyBindingsScreen_InitWidgets(struct KeyBindingsScreen* s, int y, int arrowsY, int leftLength, int btnWidth, const char* title) {
|
static void KeyBindingsScreen_InitWidgets(struct KeyBindingsScreen* s, int y, int arrowsY, int leftLength, int btnWidth, const char* title) {
|
||||||
int origin, xOffset, i, xDir;
|
int origin, xOffset, i, xDir;
|
||||||
origin = y;
|
origin = y;
|
||||||
@ -1762,7 +1778,7 @@ static void KeyBindingsScreen_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE KeyBindingsScreen_VTABLE = {
|
static const struct ScreenVTABLE KeyBindingsScreen_VTABLE = {
|
||||||
KeyBindingsScreen_Init, MenuScreen_Render, Menu_NullFunc,
|
KeyBindingsScreen_Init, MenuScreen_Render, Menu_NullFunc, KeyBindingsScreen_BuildMesh,
|
||||||
KeyBindingsScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
KeyBindingsScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, KeyBindingsScreen_ContextLost, KeyBindingsScreen_ContextRecreated
|
Menu_Layout, KeyBindingsScreen_ContextLost, KeyBindingsScreen_ContextRecreated
|
||||||
@ -2216,8 +2232,10 @@ static void MenuOptionsScreen_ContextRecreated(void* screen) {
|
|||||||
MenuOptionsScreen_RedrawInput(s);
|
MenuOptionsScreen_RedrawInput(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void MenuOptionsScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static const struct ScreenVTABLE MenuOptionsScreen_VTABLE = {
|
static const struct ScreenVTABLE MenuOptionsScreen_VTABLE = {
|
||||||
MenuOptionsScreen_Init, MenuOptionsScreen_Render, MenuOptionsScreen_Free,
|
MenuOptionsScreen_Init, MenuOptionsScreen_Render, MenuOptionsScreen_Free, MenuOptionsScreen_BuildMesh,
|
||||||
MenuOptionsScreen_KeyDown, Screen_TInput, MenuOptionsScreen_KeyPress, MenuOptionsScreen_TextChanged,
|
MenuOptionsScreen_KeyDown, Screen_TInput, MenuOptionsScreen_KeyPress, MenuOptionsScreen_TextChanged,
|
||||||
Menu_PointerDown, Screen_TPointer, MenuOptionsScreen_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, MenuOptionsScreen_PointerMove, Screen_TMouseScroll,
|
||||||
MenuOptionsScreen_Layout, MenuOptionsScreen_ContextLost, MenuOptionsScreen_ContextRecreated
|
MenuOptionsScreen_Layout, MenuOptionsScreen_ContextLost, MenuOptionsScreen_ContextRecreated
|
||||||
@ -2955,6 +2973,8 @@ static void TexIdsOverlay_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void TexIdsOverlay_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void TexIdsOverlay_RenderTerrain(struct TexIdsOverlay* s) {
|
static void TexIdsOverlay_RenderTerrain(struct TexIdsOverlay* s) {
|
||||||
PackedCol col = PACKEDCOL_WHITE;
|
PackedCol col = PACKEDCOL_WHITE;
|
||||||
VertexP3fT2fC4b vertices[TEXID_OVERLAY_VERTICES_COUNT];
|
VertexP3fT2fC4b vertices[TEXID_OVERLAY_VERTICES_COUNT];
|
||||||
@ -3055,7 +3075,7 @@ static int TexIdsOverlay_KeyDown(void* screen, int key) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE TexIdsOverlay_VTABLE = {
|
static const struct ScreenVTABLE TexIdsOverlay_VTABLE = {
|
||||||
TexIdsOverlay_Init, TexIdsOverlay_Render, Menu_NullFunc,
|
TexIdsOverlay_Init, TexIdsOverlay_Render, Menu_NullFunc, TexIdsOverlay_BuildMesh,
|
||||||
TexIdsOverlay_KeyDown, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
TexIdsOverlay_KeyDown, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, TexIdsOverlay_ContextLost, TexIdsOverlay_ContextRecreated
|
Menu_Layout, TexIdsOverlay_ContextLost, TexIdsOverlay_ContextRecreated
|
||||||
@ -3109,6 +3129,8 @@ static void UrlWarningOverlay_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&textFont);
|
Font_Free(&textFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void UrlWarningOverlay_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void UrlWarningOverlay_Init(void* screen) {
|
static void UrlWarningOverlay_Init(void* screen) {
|
||||||
static struct Widget* widgets[6];
|
static struct Widget* widgets[6];
|
||||||
struct UrlWarningOverlay* s = (struct UrlWarningOverlay*)screen;
|
struct UrlWarningOverlay* s = (struct UrlWarningOverlay*)screen;
|
||||||
@ -3122,7 +3144,7 @@ static void UrlWarningOverlay_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE UrlWarningOverlay_VTABLE = {
|
static const struct ScreenVTABLE UrlWarningOverlay_VTABLE = {
|
||||||
UrlWarningOverlay_Init, MenuScreen_Render, Menu_NullFunc,
|
UrlWarningOverlay_Init, MenuScreen_Render, Menu_NullFunc, UrlWarningOverlay_BuildMesh,
|
||||||
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, Menu_ContextLost, UrlWarningOverlay_ContextRecreated
|
Menu_Layout, Menu_ContextLost, UrlWarningOverlay_ContextRecreated
|
||||||
@ -3257,6 +3279,8 @@ static void TexPackOverlay_ContextRecreated(void* screen) {
|
|||||||
Font_Free(&titleFont);
|
Font_Free(&titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void TexPackOverlay_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void TexPackOverlay_Init(void* screen) {
|
static void TexPackOverlay_Init(void* screen) {
|
||||||
static struct Widget* widgets[8];
|
static struct Widget* widgets[8];
|
||||||
struct TexPackOverlay* s = (struct TexPackOverlay*)screen;
|
struct TexPackOverlay* s = (struct TexPackOverlay*)screen;
|
||||||
@ -3271,7 +3295,7 @@ static void TexPackOverlay_Init(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE TexPackOverlay_VTABLE = {
|
static const struct ScreenVTABLE TexPackOverlay_VTABLE = {
|
||||||
TexPackOverlay_Init, TexPackOverlay_Render, Menu_NullFunc,
|
TexPackOverlay_Init, TexPackOverlay_Render, Menu_NullFunc, TexPackOverlay_BuildMesh,
|
||||||
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
Menu_PointerDown, Screen_TPointer, Menu_PointerMove, Screen_TMouseScroll,
|
||||||
Menu_Layout, TexPackOverlay_ContextLost, TexPackOverlay_ContextRecreated
|
Menu_Layout, TexPackOverlay_ContextLost, TexPackOverlay_ContextRecreated
|
||||||
|
@ -205,6 +205,8 @@ static void HUDScreen_ContextRecreated(void* screen) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void HUDScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void HUDScreen_Render(void* screen, double delta) {
|
static void HUDScreen_Render(void* screen, double delta) {
|
||||||
struct HUDScreen* s = (struct HUDScreen*)screen;
|
struct HUDScreen* s = (struct HUDScreen*)screen;
|
||||||
HUDScreen_Update(s, delta);
|
HUDScreen_Update(s, delta);
|
||||||
@ -225,7 +227,7 @@ static void HUDScreen_Render(void* screen, double delta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE HUDScreen_VTABLE = {
|
static const struct ScreenVTABLE HUDScreen_VTABLE = {
|
||||||
Screen_NullFunc, HUDScreen_Render, Screen_NullFunc,
|
Screen_NullFunc, HUDScreen_Render, Screen_NullFunc, HUDScreen_BuildMesh,
|
||||||
Screen_FInput, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
Screen_FInput, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
||||||
Screen_FPointer, Screen_FPointer, Screen_FPointer, Screen_FMouseScroll,
|
Screen_FPointer, Screen_FPointer, Screen_FPointer, Screen_FMouseScroll,
|
||||||
Screen_NullFunc, HUDScreen_ContextLost, HUDScreen_ContextRecreated
|
Screen_NullFunc, HUDScreen_ContextLost, HUDScreen_ContextRecreated
|
||||||
@ -603,6 +605,8 @@ static void ChatScreen_ContextRecreated(void* screen) {
|
|||||||
if (s->showingList) ChatScreen_RemakePlayerList(s);
|
if (s->showingList) ChatScreen_RemakePlayerList(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ChatScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void ChatScreen_Layout(void* screen) {
|
static void ChatScreen_Layout(void* screen) {
|
||||||
struct ChatScreen* s = (struct ChatScreen*)screen;
|
struct ChatScreen* s = (struct ChatScreen*)screen;
|
||||||
Widget_Layout(&s->hotbar);
|
Widget_Layout(&s->hotbar);
|
||||||
@ -825,7 +829,7 @@ static void ChatScreen_Free(void* screen) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE ChatScreen_VTABLE = {
|
static const struct ScreenVTABLE ChatScreen_VTABLE = {
|
||||||
ChatScreen_Init, ChatScreen_Render, ChatScreen_Free,
|
ChatScreen_Init, ChatScreen_Render, ChatScreen_Free, ChatScreen_BuildMesh,
|
||||||
ChatScreen_KeyDown, ChatScreen_KeyUp, ChatScreen_KeyPress, ChatScreen_TextChanged,
|
ChatScreen_KeyDown, ChatScreen_KeyUp, ChatScreen_KeyPress, ChatScreen_TextChanged,
|
||||||
ChatScreen_PointerDown, Screen_FPointer, Screen_FPointer, ChatScreen_MouseScroll,
|
ChatScreen_PointerDown, Screen_FPointer, Screen_FPointer, ChatScreen_MouseScroll,
|
||||||
ChatScreen_Layout, ChatScreen_ContextLost, ChatScreen_ContextRecreated
|
ChatScreen_Layout, ChatScreen_ContextLost, ChatScreen_ContextRecreated
|
||||||
@ -897,6 +901,8 @@ static void InventoryScreen_ContextRecreated(void* screen) {
|
|||||||
TableWidget_Recreate(&s->table);
|
TableWidget_Recreate(&s->table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void InventoryScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void InventoryScreen_MoveToSelected(struct InventoryScreen* s) {
|
static void InventoryScreen_MoveToSelected(struct InventoryScreen* s) {
|
||||||
struct TableWidget* table = &s->table;
|
struct TableWidget* table = &s->table;
|
||||||
TableWidget_SetBlockTo(table, Inventory_SelectedBlock);
|
TableWidget_SetBlockTo(table, Inventory_SelectedBlock);
|
||||||
@ -1008,7 +1014,7 @@ static int InventoryScreen_MouseScroll(void* screen, float delta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE InventoryScreen_VTABLE = {
|
static const struct ScreenVTABLE InventoryScreen_VTABLE = {
|
||||||
InventoryScreen_Init, InventoryScreen_Render, InventoryScreen_Free,
|
InventoryScreen_Init, InventoryScreen_Render, InventoryScreen_Free, InventoryScreen_BuildMesh,
|
||||||
InventoryScreen_KeyDown, InventoryScreen_KeyUp, Screen_TKeyPress, Screen_TText,
|
InventoryScreen_KeyDown, InventoryScreen_KeyUp, Screen_TKeyPress, Screen_TText,
|
||||||
InventoryScreen_PointerDown, InventoryScreen_PointerUp, InventoryScreen_PointerMove, InventoryScreen_MouseScroll,
|
InventoryScreen_PointerDown, InventoryScreen_PointerUp, InventoryScreen_PointerMove, InventoryScreen_MouseScroll,
|
||||||
InventoryScreen_Layout, InventoryScreen_ContextLost, InventoryScreen_ContextRecreated
|
InventoryScreen_Layout, InventoryScreen_ContextLost, InventoryScreen_ContextRecreated
|
||||||
@ -1074,6 +1080,8 @@ static void LoadingScreen_ContextRecreated(void* screen) {
|
|||||||
LoadingScreen_SetMessage(s);
|
LoadingScreen_SetMessage(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void LoadingScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void LoadingScreen_UpdateBackgroundVB(VertexP3fT2fC4b* vertices, int count, int atlasIndex, cc_bool* bound) {
|
static void LoadingScreen_UpdateBackgroundVB(VertexP3fT2fC4b* vertices, int count, int atlasIndex, cc_bool* bound) {
|
||||||
if (!(*bound)) {
|
if (!(*bound)) {
|
||||||
*bound = true;
|
*bound = true;
|
||||||
@ -1173,7 +1181,7 @@ CC_NOINLINE static void LoadingScreen_ShowCommon(const String* title, const Stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE LoadingScreen_VTABLE = {
|
static const struct ScreenVTABLE LoadingScreen_VTABLE = {
|
||||||
LoadingScreen_Init, LoadingScreen_Render, LoadingScreen_Free,
|
LoadingScreen_Init, LoadingScreen_Render, LoadingScreen_Free, LoadingScreen_BuildMesh,
|
||||||
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Screen_TPointer, Screen_TPointer, Screen_TPointer, Screen_TMouseScroll,
|
Screen_TPointer, Screen_TPointer, Screen_TPointer, Screen_TMouseScroll,
|
||||||
LoadingScreen_Layout, LoadingScreen_ContextLost, LoadingScreen_ContextRecreated
|
LoadingScreen_Layout, LoadingScreen_ContextLost, LoadingScreen_ContextRecreated
|
||||||
@ -1243,7 +1251,7 @@ static void GeneratingScreen_Render(void* screen, double delta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE GeneratingScreen_VTABLE = {
|
static const struct ScreenVTABLE GeneratingScreen_VTABLE = {
|
||||||
GeneratingScreen_Init, GeneratingScreen_Render, LoadingScreen_Free,
|
GeneratingScreen_Init, GeneratingScreen_Render, LoadingScreen_Free, LoadingScreen_BuildMesh,
|
||||||
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
Screen_TInput, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
Screen_TPointer, Screen_TPointer, Screen_FPointer, Screen_TMouseScroll,
|
Screen_TPointer, Screen_TPointer, Screen_FPointer, Screen_TMouseScroll,
|
||||||
LoadingScreen_Layout, LoadingScreen_ContextLost, LoadingScreen_ContextRecreated
|
LoadingScreen_Layout, LoadingScreen_ContextLost, LoadingScreen_ContextRecreated
|
||||||
@ -1330,6 +1338,8 @@ static void DisconnectScreen_ContextRecreated(void* screen) {
|
|||||||
ButtonWidget_Set(&s->reconnect, &msg, &s->titleFont);
|
ButtonWidget_Set(&s->reconnect, &msg, &s->titleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void DisconnectScreen_BuildMesh(void* screen) { }
|
||||||
|
|
||||||
static void DisconnectScreen_Init(void* screen) {
|
static void DisconnectScreen_Init(void* screen) {
|
||||||
struct DisconnectScreen* s = (struct DisconnectScreen*)screen;
|
struct DisconnectScreen* s = (struct DisconnectScreen*)screen;
|
||||||
TextWidget_Make(&s->title, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, -30);
|
TextWidget_Make(&s->title, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, -30);
|
||||||
@ -1395,7 +1405,7 @@ static int DisconnectScreen_PointerMove(void* screen, int idx, int x, int y) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE DisconnectScreen_VTABLE = {
|
static const struct ScreenVTABLE DisconnectScreen_VTABLE = {
|
||||||
DisconnectScreen_Init, DisconnectScreen_Render, DisconnectScreen_Free,
|
DisconnectScreen_Init, DisconnectScreen_Render, DisconnectScreen_Free, DisconnectScreen_BuildMesh,
|
||||||
DisconnectScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
DisconnectScreen_KeyDown, Screen_TInput, Screen_TKeyPress, Screen_TText,
|
||||||
DisconnectScreen_PointerDown, Screen_TPointer, DisconnectScreen_PointerMove, Screen_TMouseScroll,
|
DisconnectScreen_PointerDown, Screen_TPointer, DisconnectScreen_PointerMove, Screen_TMouseScroll,
|
||||||
DisconnectScreen_Layout, DisconnectScreen_ContextLost, DisconnectScreen_ContextRecreated
|
DisconnectScreen_Layout, DisconnectScreen_ContextLost, DisconnectScreen_ContextRecreated
|
||||||
|
Loading…
x
Reference in New Issue
Block a user