diff --git a/REDALERT/WIN32LIB/GBUFFER.CPP b/REDALERT/WIN32LIB/GBUFFER.CPP index 86369c2..f9b9a4b 100644 --- a/REDALERT/WIN32LIB/GBUFFER.CPP +++ b/REDALERT/WIN32LIB/GBUFFER.CPP @@ -502,7 +502,7 @@ BOOL GraphicBufferClass::Lock(void) return(TRUE); } - Offset = (unsigned long)rawCpuBuffer; // 32bit to 64bit issue here. + Offset = (unsigned long)backbuffer_data_raw; // 32bit to 64bit issue here. //Pitch = Width; LockCount++; // increment count so we can track if @@ -528,7 +528,7 @@ BOOL GraphicBufferClass::Lock(void) BOOL GraphicBufferClass::Unlock(void) { - Video_Set_Data((unsigned char *)Get_Graphic_Buffer()->GetMemoryBuffer(), Width, Height); + //Video_Set_Data((unsigned char *)Get_Graphic_Buffer()->GetMemoryBuffer(), Width, Height); // // If there is no lock count or this is not a direct draw surface diff --git a/REDALERT/WIN32LIB/GBUFFER.H b/REDALERT/WIN32LIB/GBUFFER.H index 1114757..4faa102 100644 --- a/REDALERT/WIN32LIB/GBUFFER.H +++ b/REDALERT/WIN32LIB/GBUFFER.H @@ -137,6 +137,8 @@ #include #include "iconcach.h" +extern unsigned char* backbuffer_data_raw; + #ifndef FUNCTION_H __forceinline void Nearest_Fill(unsigned char source, unsigned char* dest, int destX, int destY, int destWidth, int width, int height, bool trans) @@ -414,13 +416,13 @@ class GraphicBufferClass : public GraphicViewPortClass, public BufferClass { if (!rawCpuBuffer) return (unsigned char* )Buffer; - return rawCpuBuffer; + return backbuffer_data_raw; } // jmarshall void* GetMemoryBuffer(void) { if (!rawCpuBuffer) return Buffer; - return rawCpuBuffer; + return backbuffer_data_raw; } // jmarshall end diff --git a/REDALERT/WIN32LIB/MISC.H b/REDALERT/WIN32LIB/MISC.H index 4d96c2d..8d4aafd 100644 --- a/REDALERT/WIN32LIB/MISC.H +++ b/REDALERT/WIN32LIB/MISC.H @@ -50,7 +50,6 @@ /*=========================================================================*/ void Process_DD_Result(HRESULT result, int display_ok_msg); BOOL Set_Video_Mode(HWND hwnd, int w, int h, int bits_per_pixel); -void Video_Set_Data(unsigned char* buffer, int width, int height); void Reset_Video_Mode(void); unsigned Get_Free_Video_Memory(void); void Wait_Blit(void); diff --git a/REDALERT/WINSTUB.CPP b/REDALERT/WINSTUB.CPP index 8b64913..8322237 100644 --- a/REDALERT/WINSTUB.CPP +++ b/REDALERT/WINSTUB.CPP @@ -62,7 +62,7 @@ GLuint backbuffer_texture = -1; byte* backbuffer_data; -byte* backbuffer_data_raw; +unsigned char* backbuffer_data_raw; byte backbuffer_palette[768]; HWND MainWindow; SurfaceMonitorClass AllSurfaces; @@ -70,10 +70,6 @@ SDL_Window* game_window; SDL_GLContext game_context; int OverlappedVideoBlits = 0; -void Video_Set_Data(unsigned char* buffer, int width, int height) { - memcpy(backbuffer_data_raw, buffer, width * height); -} - void (*Misc_Focus_Loss_Function)(void) = nullptr; void (*Misc_Focus_Restore_Function)(void) = nullptr;