ScoreScreen works again, WSA animations are fullscreen, added loading screen.

This commit is contained in:
Justin Marshall
2020-06-22 12:21:13 -07:00
parent fd24e73e0f
commit e3c998fb16
12 changed files with 168 additions and 48 deletions
+7
View File
@@ -1638,6 +1638,13 @@ void Color_Cycle(void)
*=============================================================================================*/
void Call_Back(void)
{
if (g_loadingPlague) {
Hide_Mouse();
Load_Title_Screen("LOADING.PCX", &HidPage, NULL);
//Fancy_Text_Print(TXT_STAND_BY, (ScreenWidth / 2), (ScreenHeight / 2), &ColorRemaps[PCOLOR_DIALOG_BLUE], TBLACK, TPF_CENTER | TPF_TEXT | TPF_DROPSHADOW);
Show_Mouse();
}
Device_Present();
/*
+5
View File
@@ -1191,8 +1191,13 @@ const char* Buildings_FindHDTexture(const char* shapeFileName, int shapeNum, int
int Units_GetNumFramesForTile(const char* shapeFileName, int shapeNum);
const char* Units_FindHDTexture(const char* shapeFileName, int shapeNum, int frameNum);
struct Image_t;
void Sys_SetOverlayImage(Image_t* image);
extern bool g_inMainMenu;
extern KeyNumType g_globalKeyNumType;
extern int g_globalKeyFlags;
extern float animFrameNum;
extern bool g_loadingPlague;
#endif
+7 -8
View File
@@ -95,6 +95,8 @@ RemapControlType SidebarScheme;
extern bool bNoMovies;
#endif
bool g_loadingPlague = false;
/****************************************
** Function prototypes for this module **
*****************************************/
@@ -388,15 +390,12 @@ bool Init_Game(int , char * [])
** If not automatically launching into the intro, then display the title
** page while the bulk data is cached.
*/
if (!Special.IsFromInstall) {
Load_Title_Page(true);
Hide_Mouse();
Fancy_Text_Print(TXT_STAND_BY, 160*RESFACTOR, 120*RESFACTOR, &ColorRemaps[PCOLOR_DIALOG_BLUE], TBLACK, TPF_CENTER|TPF_TEXT|TPF_DROPSHADOW);
Show_Mouse();
CCPalette.Set(FADE_PALETTE_SLOW);
if (!Special.IsFromInstall) {
// jmarshall
g_loadingPlague = true;
//CCPalette.Set(FADE_PALETTE_SLOW);
Call_Back();
// jmarshall end
}
/*
+12 -1
View File
@@ -24,20 +24,31 @@ struct Image_t {
bool perFrameRenderDimen;
int numFrames;
void* IconMapPtr;
uint8_t* ScratchBuffer;
};
__forceinline Image_t::Image_t() {
IconMapPtr = NULL;
numAnimFrames = 0;
ScratchBuffer = NULL;
perFrameRenderDimen = false;
memset(HouseImages, 0, sizeof(HouseImages));
}
__forceinline Image_t::~Image_t() {
if (ScratchBuffer) {
delete ScratchBuffer;
ScratchBuffer = NULL;
}
}
Image_t* Image_LoadImage(const char* name, bool loadAnims = false, bool loadHouseColor = false);
Image_t* Image_CreateImageFrom8Bit(const char* name, int Width, int Height, unsigned char* data, unsigned char *remap = NULL);
Image_t* Find_Image(const char* name);
void Image_Add8BitImage(Image_t* image, int HouseId, int ShapeID, int Width, int Height, unsigned char* data, unsigned char* remap);
bool Image_Add32BitImage(const char* name, Image_t* image, int HouseId, int ShapeID, int frameId);
bool Image_Add32BitImage(const char* name, Image_t* image, int HouseId, int ShapeID, int frameId);
Image_t* Image_CreateBlankImage(const char* name, int width, int height);
void Image_UploadRaw(Image_t* image, uint8_t* data, bool paletteRebuild, uint8_t *palette);
void Sys_SetOverlayImage(Image_t* image);
+1
View File
@@ -282,6 +282,7 @@ char const * Map_Selection(void)
}
}
}
Sys_SetOverlayImage(NULL);
Hide_Mouse();
+2
View File
@@ -499,6 +499,8 @@ int Main_Menu(unsigned long )
static int max_buttons = 7;
g_loadingPlague = false;
/*
** Button enumerations:
*/
+3 -1
View File
@@ -45,7 +45,9 @@ void GL_FillRect(int color, int x, int y, int width, int height) {
void GL_DrawText(int color, int x, int y, char* text) {
ImVec2 pos(x, y);
color = g_ColorXlat[color % 15];
if (color == 0 || color == 160) { // This is a hack!
color = g_ColorXlat[color % 15];
}
float r = backbuffer_palette[(color * 3) + 0] / 255.0f;
float g = backbuffer_palette[(color * 3) + 1] / 255.0f;
float b = backbuffer_palette[(color * 3) + 2] / 255.0f;
+9 -1
View File
@@ -321,10 +321,13 @@ bool Start_Scenario(char * name, bool briefing)
{
//BG Theme.Queue_Song(THEME_QUIET);
Console_Printf("Start_Scenario: %s\n", name);
g_loadingPlague = true;
Call_Back();
Theme.Stop();
IsTanyaDead = SaveTanya;
if (!Read_Scenario(name)) {
g_loadingPlague = false;
Console_Printf("Failed to load scenario!\n");
return(false);
}
@@ -391,6 +394,8 @@ bool Start_Scenario(char * name, bool briefing)
Play_Movie(Scen.BriefMovie);
}
// jmarshall end
g_loadingPlague = false;
/*
** If there's no briefing movie, restate the mission at the beginning.
*/
@@ -949,8 +954,11 @@ void Do_Win(void)
};
Speak(VOX_ACCOMPLISHED);
while (CountDownTimer || Is_Speaking()) {
// jmarshall
Fancy_Text_Print(TXT_SCENARIO_WON, (SeenBuff.Get_Width() / 2), 90 * RESFACTOR, &ColorRemaps[PCOLOR_RED], TBLACK, TPF_CENTER | TPF_VCR | TPF_USE_GRAD_PAL | TPF_DROPSHADOW);
Call_Back();
Device_Present();
// Device_Present();
// jmarshall end
}
}
+22 -22
View File
@@ -243,10 +243,10 @@ void ScorePrintClass::Update(void)
Set_Font_Palette(PrimaryPalette);
localstr[0]=((char *)DataPtr)[Stage-1];
HidPage.Print(localstr, pos-6*RESFACTOR, YPos, TBLACK, TBLACK);
HidPage.Blit(SeenPage, pos-6*RESFACTOR, YPos-1*RESFACTOR, pos-6*RESFACTOR, YPos-1*RESFACTOR, 7*RESFACTOR, 8*RESFACTOR);
//HidPage.Blit(SeenPage, pos-6*RESFACTOR, YPos-1*RESFACTOR, pos-6*RESFACTOR, YPos-1*RESFACTOR, 7*RESFACTOR, 8*RESFACTOR);
#ifdef WIN32
HidPage.Blit(*PseudoSeenBuff, pos-6*RESFACTOR, YPos-1*RESFACTOR, pos-6*RESFACTOR, YPos-1*RESFACTOR, 7*RESFACTOR, 8*RESFACTOR);
PseudoSeenBuff->Print(localstr, pos-6*RESFACTOR, YPos, TBLACK, TBLACK);
//HidPage.Blit(*PseudoSeenBuff, pos-6*RESFACTOR, YPos-1*RESFACTOR, pos-6*RESFACTOR, YPos-1*RESFACTOR, 7*RESFACTOR, 8*RESFACTOR);
//PseudoSeenBuff->Print(localstr, pos-6*RESFACTOR, YPos, TBLACK, TBLACK);
#endif
}
if (((char *)DataPtr)[Stage]) {
@@ -307,9 +307,9 @@ void ScoreScaleClass::Update(void)
if (ScoreObjs[i]==this) ScoreObjs[i] = 0;
}
HidPage.Print((char *)DataPtr, XPos, YPos, TBLACK, TBLACK);
HidPage.Blit(SeenPage, XPos, YPos, XPos, YPos, 6*RESFACTOR, 6*RESFACTOR);
//HidPage.Blit(SeenPage, XPos, YPos, XPos, YPos, 6*RESFACTOR, 6*RESFACTOR);
#ifdef WIN32
HidPage.Blit(*PseudoSeenBuff, XPos, YPos, XPos, YPos, 6*RESFACTOR, 6*RESFACTOR);
//HidPage.Blit(*PseudoSeenBuff, XPos, YPos, XPos, YPos, 6*RESFACTOR, 6*RESFACTOR);
#endif
delete this;
return;
@@ -448,8 +448,8 @@ void ScoreClass::Presentation(void)
#ifdef WIN32
Load_Title_Screen(ScreenNames[house], &HidPage, (unsigned char *)ScorePalette.Get_Data());
Increase_Palette_Luminance ((unsigned char*)ScorePalette.Get_Data(), 30, 30, 30, 63);
HidPage.Blit(SeenPage);
HidPage.Blit(*PseudoSeenBuff);
//HidPage.Blit(SeenPage);
//HidPage.Blit(*PseudoSeenBuff);
#else
Animate_Frame(anim, HidPage, 1);
HidPage.Blit(SeenPage);
@@ -943,7 +943,7 @@ void ScoreClass::Do_Nod_Buildings_Graph(void)
/*
** Print the # of buildings on the hidpage so we only need to do it once
*/
SeenPage.Blit(HidPage);
//SeenPage.Blit(HidPage);
Set_Logic_Page(HidPage);
Call_Back_Delay(30);
Set_Font_Palette(_redpal);
@@ -956,7 +956,7 @@ void ScoreClass::Do_Nod_Buildings_Graph(void)
*/
int i;
for (i=0; i<98; i++) {
HidPage.Blit(HidPage, BUILDING_X, BUILDING_Y, 0, 0, 320-BUILDING_X, 48);
//HidPage.Blit(HidPage, BUILDING_X, BUILDING_Y, 0, 0, 320-BUILDING_X, 48);
shapenum = 0; // no damage
if (i >= 60) {
shapenum = Extract_Shape_Count(factptr) - 2; // some damage
@@ -1003,7 +1003,7 @@ void ScoreClass::Do_Nod_Buildings_Graph(void)
i+32, 40, WINDOW_MAIN,
SHAPE_FADING|SHAPE_CENTER|SHAPE_WIN_REL|SHAPE_GHOST,
ColorRemaps[PCOLOR_RED].RemapTable, DisplayClass::UnitShadow);
HidPage.Blit(SeenPage, 0, 0, BUILDING_X, BUILDING_Y, 320-BUILDING_X, 48);
//HidPage.Blit(SeenPage, 0, 0, BUILDING_X, BUILDING_Y, 320-BUILDING_X, 48);
/*BG if (!Keyboard->Check()) */ Call_Back_Delay(1);
}
@@ -1096,9 +1096,9 @@ void ScoreClass::Do_GDI_Graph(void const * yellowptr, void const * redptr, int g
#endif
CC_Draw_Shape(yellowptr, i, xpos*RESFACTOR, ypos*RESFACTOR, WINDOW_MAIN, SHAPE_WIN_REL, 0, 0);
} else {
HidPage.Blit(SeenPage, 0, 0, xpos*RESFACTOR, ypos*RESFACTOR, (3+gdikilled)*RESFACTOR, 8*RESFACTOR);
//HidPage.Blit(SeenPage, 0, 0, xpos*RESFACTOR, ypos*RESFACTOR, (3+gdikilled)*RESFACTOR, 8*RESFACTOR);
#ifdef WIN32
HidPage.Blit(*PseudoSeenBuff, 0, 0, xpos*RESFACTOR, ypos*RESFACTOR, (3+gdikilled)*RESFACTOR, 8*RESFACTOR);
//HidPage.Blit(*PseudoSeenBuff, 0, 0, xpos*RESFACTOR, ypos*RESFACTOR, (3+gdikilled)*RESFACTOR, 8*RESFACTOR);
#endif
}
@@ -1135,9 +1135,9 @@ void ScoreClass::Do_GDI_Graph(void const * yellowptr, void const * redptr, int g
#endif
CC_Draw_Shape(redptr, i, xpos*RESFACTOR, (ypos+12)*RESFACTOR, WINDOW_MAIN, SHAPE_WIN_REL, 0, 0);
} else {
HidPage.Blit(SeenPage, 0, 0, xpos*RESFACTOR, (ypos+12)*RESFACTOR, (3+nodkilled)*RESFACTOR, 8*RESFACTOR);
//HidPage.Blit(SeenPage, 0, 0, xpos*RESFACTOR, (ypos+12)*RESFACTOR, (3+nodkilled)*RESFACTOR, 8*RESFACTOR);
#ifdef WIN32
HidPage.Blit(*PseudoSeenBuff, 0, 0, xpos*RESFACTOR, (ypos+12)*RESFACTOR, (3+nodkilled)*RESFACTOR, 8*RESFACTOR);
//HidPage.Blit(*PseudoSeenBuff, 0, 0, xpos*RESFACTOR, (ypos+12)*RESFACTOR, (3+nodkilled)*RESFACTOR, 8*RESFACTOR);
#endif
}
@@ -1215,7 +1215,7 @@ void ScoreClass::Do_Nod_Casualties_Graph(void)
** Draw the infantrymen and pause briefly before running the graph
*/
Draw_InfantryMen();
HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
//HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
Call_Back_Delay(40);
for (i = 1; i <= maxval; i++) {
@@ -1223,7 +1223,7 @@ void ScoreClass::Do_Nod_Casualties_Graph(void)
for (int index = 0; index < 3; index++) {
Draw_InfantryMen();
Draw_Bar_Graphs(i, nodkilled, gdikilled);
HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
//HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
Set_Font_Palette(_redpal);
Count_Up_Print("%d", (i*NKilled) / maxval, NKilled, SCORETEXT_X+64, CASUALTY_Y + 2);
@@ -1261,7 +1261,7 @@ void ScoreClass::Do_Nod_Casualties_Graph(void)
Draw_InfantryMen();
}
Draw_Bar_Graphs(maxval, nodkilled, gdikilled);
HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
//HidPage.Blit(SeenPage, 0, 0, BARGRAPH_X, CASUALTY_Y, 320-BARGRAPH_X, 34);
Call_Back_Delay(1);
}
}
@@ -1416,14 +1416,14 @@ void ScoreClass::Input_Name(char str[], int xpos, int ypos, char const pal[])
/*
** Ready the hidpage so it can restore background under zoomed letters
*/
SeenPage.Blit(HidPage);
//SeenPage.Blit(HidPage);
/*
** Put a copy of the high score area on a spare area of the hidpage, so
** we can use it to restore the letter's background instead of filling
** with black.
*/
HidPage.Blit(HidPage, 0, 100*RESFACTOR, 0, 0, 100*RESFACTOR, 100*RESFACTOR);
//HidPage.Blit(HidPage, 0, 100*RESFACTOR, 0, 0, 100*RESFACTOR, 100*RESFACTOR);
// jmarshall - temp disable high school writing.
// do {
//// jmarshall
@@ -1504,9 +1504,9 @@ void Animate_Cursor(int pos, int ypos)
// If they moved the cursor, erase old one and force state=0, to make green draw right away
if (pos != _lastpos) {
HidPage.Blit(SeenPage, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos-100*RESFACTOR, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos, 6*RESFACTOR, 1*RESFACTOR);
//HidPage.Blit(SeenPage, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos-100*RESFACTOR, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos, 6*RESFACTOR, 1*RESFACTOR);
#ifdef WIN32
HidPage.Blit(*PseudoSeenBuff, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos-100*RESFACTOR, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos, 6*RESFACTOR, 1*RESFACTOR);
//HidPage.Blit(*PseudoSeenBuff, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos-100*RESFACTOR, (HALLFAME_X + (_lastpos*6))*RESFACTOR, ypos, 6*RESFACTOR, 1*RESFACTOR);
#endif
_lastpos = pos;
_state = 0;
@@ -1549,7 +1549,7 @@ void Draw_InfantryMen()
/*
** First restore the background
*/
HidPage.Blit(HidPage, BARGRAPH_X, CASUALTY_Y, 0, 0, 320-BARGRAPH_X, 34);
//HidPage.Blit(HidPage, BARGRAPH_X, CASUALTY_Y, 0, 0, 320-BARGRAPH_X, 34);
Set_Logic_Page(HidPage);
/*
+16 -4
View File
@@ -68,6 +68,7 @@
#include <iff.h>
//#include <mem.h>
#include <string.h>
#include "../Image.h"
//
// WSA animation header allocation type.
@@ -92,8 +93,9 @@
#define TO_VIEWPORT 0x0
#define TO_PAGE 0x02
static Image_t* wsa_hardware_image = NULL;
uint8_t* wsa_palette;
extern int ScreenWidth, ScreenHeight;
typedef struct {
unsigned short current_frame;
@@ -177,7 +179,7 @@ void * __cdecl Open_Animation(char const *file_name, char *user_buffer, long use
char *target_buffer;
char *delta_buffer, *delta_back;
SysAnimHeaderType *sys_header;
WSA_FileHeaderType file_header;
WSA_FileHeaderType file_header;
/*======================================================================*/
/* Open the file to get the header information */
@@ -248,6 +250,12 @@ void * __cdecl Open_Animation(char const *file_name, char *user_buffer, long use
target_buffer_size = (unsigned long) file_header.pixel_width * file_header.pixel_height;
}
if (wsa_hardware_image == NULL) {
wsa_hardware_image = Image_CreateBlankImage("wsa", file_header.pixel_width, file_header.pixel_height);
}
Sys_SetOverlayImage(wsa_hardware_image);
wsa_palette = palette;
// NOTE:"THIS IS A BAD THING. SINCE sizeof(SysAnimHeaderType) CHANGED, THE ANIMATE.EXE
// UTILITY DID NOT KNOW I UPDATED IT, IT ADDS IT TO largest_frame_size BEFORE SAVING
// IT TO THE FILE. THIS MEANS I HAVE TO ADD THESE charS ON NOW FOR IT TO WORK.
@@ -489,7 +497,9 @@ BOOL __cdecl Animate_Frame(void *handle, GraphicViewPortClass& view,
if (view.Lock()!=TRUE) return (FALSE);
// Decide if we are going to a page or a viewport (part of a buffer).
dest_width = view.Get_Width() + view.Get_XAdd() + view.Get_Pitch();
// jmarshall
dest_width = wsa_hardware_image->width;//view.Get_Width() + view.Get_XAdd() + view.Get_Pitch();
// jmarshall end
//
// adjust x_pixel and y_pixel by system pixel_x and pixel_y respectively.
@@ -636,6 +646,8 @@ BOOL __cdecl Animate_Frame(void *handle, GraphicViewPortClass& view,
#endif
}
Image_UploadRaw(wsa_hardware_image, (uint8_t *)view.Get_Offset(), true, wsa_palette);
view.Unlock();
return TRUE;
}
+84 -11
View File
@@ -94,6 +94,12 @@ void Show_OldFrameBuffer(bool show) {
memset(backbuffer_data_raw, 0, ScreenWidth * ScreenHeight * 4);
}
Image_t* overlay_image = NULL;
void Sys_SetOverlayImage(Image_t* image) {
overlay_image = image;
}
std::vector<Image_t *> loaded_images;
unsigned char* Draw_Dropsample(const unsigned char* in, int inwidth, int inheight, int outwidth, int outheight);
@@ -259,6 +265,69 @@ static bool Image_loadHDImage(Image_t *image, const char* name, int houseid, int
return true;
}
Image_t* Image_CreateBlankImage(const char* name, int width, int height) {
int64_t hash = generateHashValue(name, strlen(name));
int image_table_size = loaded_images.size();
if (image_table_size > 0)
{
Image_t** image_table = &loaded_images[0];
// Check to see if the image is already loaded.
for (int i = 0; i < image_table_size; i++) {
if (image_table[i]->namehash == hash) {
return image_table[i];
}
}
}
Image_t* image = new Image_t();
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
strcpy(image->name, name);
image->HouseImages[0].image[0][0] = texture;
image->namehash = hash;
image->renderwidth[0] = image->width = width;
image->renderheight[0] = image->height = height;
loaded_images.push_back(image);
return image;
}
void Image_UploadRaw(Image_t* image, uint8_t* data, bool paletteRebuild, uint8_t* palette) {
if (image->ScratchBuffer == NULL && paletteRebuild) {
image->ScratchBuffer = new uint8_t[image->width * image->height * 4];
}
if (paletteRebuild) {
for (int i = 0; i < image->width * image->height; i++) {
unsigned char c = data[i];
unsigned char r = palette[(c * 3) + 0] << 2;
unsigned char g = palette[(c * 3) + 1] << 2;
unsigned char b = palette[(c * 3) + 2] << 2;
image->ScratchBuffer[(i * 4) + 0] = r;
image->ScratchBuffer[(i * 4) + 1] = g;
image->ScratchBuffer[(i * 4) + 2] = b;
image->ScratchBuffer[(i * 4) + 3] = 255;
}
}
glBindTexture(GL_TEXTURE_2D, image->HouseImages[0].image[0][0]);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image->width, image->height, GL_RGBA, GL_UNSIGNED_BYTE, image->ScratchBuffer);
}
Image_t* Image_LoadImage(const char* name, bool loadAnims, bool loadHouseColor) {
int64_t hash = generateHashValue(name, strlen(name));
@@ -489,6 +558,9 @@ void ImGui_NewFrame(void) {
}
void Device_Present(void) {
if (overlay_image) {
GL_RenderImage(overlay_image, 0, 0, ScreenWidth, ScreenHeight);
}
// Rasterize the palette.
//for (int i = 0; i < ScreenWidth * ScreenHeight; i++) {
@@ -497,23 +569,24 @@ void Device_Present(void) {
// backbuffer_data[(i * 4) + 2] = backbuffer_palette[(backbuffer_data_raw[i] * 3) + 2];
// backbuffer_data[(i * 4) + 3] = 255;
//}
glBindTexture(GL_TEXTURE_2D, backbuffer_texture);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, ScreenWidth, ScreenHeight, GL_RGBA, GL_UNSIGNED_BYTE, backbuffer_data_raw);
//glBindTexture(GL_TEXTURE_2D, backbuffer_texture);
//glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, ScreenWidth, ScreenHeight, GL_RGBA, GL_UNSIGNED_BYTE, backbuffer_data_raw);
bool ScreenActive;
ImGuiStyle& style = ImGui::GetStyle();
style.FramePadding = ImVec2(0, 0);
ImGui::SetNextWindowSize(ImVec2(ScreenWidth, ScreenHeight));
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::Begin("RenderWindow", &ScreenActive, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoMouseInputs);
if (show_oldframebuffer)
{
ImVec2 desktopSize(ScreenWidth, ScreenHeight);
ImGui::Image((ImTextureID)backbuffer_texture, desktopSize);
}
ImGui::End();
// jmarshall - I'm removing this because we don't render the legacy buffer anymore.
//ImGui::Begin("RenderWindow", &ScreenActive, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoMouseInputs);
// if (show_oldframebuffer)
// {
// ImVec2 desktopSize(ScreenWidth, ScreenHeight);
// ImGui::Image((ImTextureID)backbuffer_texture, desktopSize);
// }
//
//ImGui::End();
// jmarshall end
if (Imgui_Dialog_Function) {
Imgui_Dialog_Function();
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB