diff --git a/LEGO1/omni/include/flic.h b/LEGO1/omni/include/flic.h index 8a8e9942..7e2d77d6 100644 --- a/LEGO1/omni/include/flic.h +++ b/LEGO1/omni/include/flic.h @@ -27,11 +27,12 @@ typedef struct { typedef struct : FLIC_CHUNK { WORD frames; /* Number of frames in first segment */ // 0x06 - short width; /* FLIC width in pixels */ // 0x08 - short height; /* FLIC height in pixels */ // 0x0a - WORD depth; /* Bits per pixel (usually 8) */ // 0x0c - WORD flags; /* Set to zero or to three */ // 0x0e - DWORD speed; /* Delay between frames */ // 0x10 + // TODO: See signed issue in MxFlcPresenter::CreateBitmap() + short width; /* FLIC width in pixels */ // 0x08 + short height; /* FLIC height in pixels */ // 0x0a + WORD depth; /* Bits per pixel (usually 8) */ // 0x0c + WORD flags; /* Set to zero or to three */ // 0x0e + DWORD speed; /* Delay between frames */ // 0x10 } FLIC_HEADER; #pragma pack(pop) diff --git a/LEGO1/omni/src/video/mxflcpresenter.cpp b/LEGO1/omni/src/video/mxflcpresenter.cpp index da7441a8..8970838c 100644 --- a/LEGO1/omni/src/video/mxflcpresenter.cpp +++ b/LEGO1/omni/src/video/mxflcpresenter.cpp @@ -40,7 +40,8 @@ void MxFlcPresenter::CreateBitmap() } m_bitmap = new MxBitmap; - m_bitmap->SetSize(m_flcHeader->width, m_flcHeader->height, NULL, FALSE); + // TODO: Unlikely that width/height are signed shorts + m_bitmap->SetSize((MxU16) m_flcHeader->width, (MxU16) m_flcHeader->height, NULL, FALSE); } // FUNCTION: LEGO1 0x100b3570