mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-24 15:15:38 +00:00
Add version information, add window and file icon
Version information nowe resides in EmulationStation.h and is compiled into the EXE on Windows. An icon file is also included and on non-Windows systems the window icon is loaded from PNG data compiled into the EXE and set via SDL_WM_SetIcon().
This commit is contained in:
parent
8803266660
commit
42829b3b6d
|
@ -92,11 +92,13 @@ endif()
|
|||
#define basic sources and headers
|
||||
set(ES_HEADERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/AudioManager.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/EmulationStation.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FileData.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FolderData.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Font.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/GameData.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Gui.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/ImageIO.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/InputConfig.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/InputManager.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Log.h
|
||||
|
@ -119,6 +121,7 @@ set(ES_HEADERS
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/src/components/GuiTheme.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/pugiXML/pugiconfig.hpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/pugiXML/pugixml.hpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/data/Resources.h
|
||||
)
|
||||
set(ES_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/AudioManager.cpp
|
||||
|
@ -126,6 +129,7 @@ set(ES_SOURCES
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/src/Font.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/GameData.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Gui.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/ImageIO.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/InputConfig.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/InputManager.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Log.cpp
|
||||
|
@ -149,6 +153,8 @@ set(ES_SOURCES
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/src/components/GuiMenu.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/components/GuiTheme.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/pugiXML/pugixml.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/data/logo/ES_logo_16.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/data/logo/ES_logo_32.cpp
|
||||
)
|
||||
|
||||
#add open gl specific sources
|
||||
|
@ -162,6 +168,14 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#define OS specific sources and headers
|
||||
if(MSVC)
|
||||
LIST(APPEND ES_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/EmulationStation.rc
|
||||
)
|
||||
endif()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#define libraries and directories
|
||||
if(DEFINED BCMHOST)
|
||||
|
|
17
data/Resources.h
Normal file
17
data/Resources.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
#pragma once
|
||||
|
||||
//This is a shabby, sort of OS-independent resource "system"
|
||||
//Use bin2h: http://code.google.com/p/bin2h/
|
||||
//to convert the binary files to C code,
|
||||
//adjust this file with their declarations and
|
||||
//then compile the files into the project
|
||||
|
||||
//These point to the actual PNG file data:
|
||||
|
||||
//from ES_logo_16.cpp
|
||||
extern const size_t es_logo_16_data_len;
|
||||
extern const unsigned char es_logo_16_data[];
|
||||
|
||||
//from ES_logo_32.cpp
|
||||
extern const size_t es_logo_32_data_len;
|
||||
extern const unsigned char es_logo_32_data[];
|
94
data/logo/ES_logo_16.cpp
Normal file
94
data/logo/ES_logo_16.cpp
Normal file
|
@ -0,0 +1,94 @@
|
|||
#include "../Resources.h"
|
||||
|
||||
//file auto-generated from ES_logo_16.png by bin2h.exe
|
||||
const size_t es_logo_16_data_len = 954;
|
||||
const unsigned char es_logo_16_data[954]=
|
||||
{
|
||||
0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,
|
||||
0x0D,0x49,0x48,0x44,0x52,0x00,0x00,0x00,0x10,0x00,0x00,
|
||||
0x00,0x10,0x08,0x06,0x00,0x00,0x00,0x1F,0xF3,0xFF,0x61,
|
||||
0x00,0x00,0x00,0x04,0x73,0x42,0x49,0x54,0x08,0x08,0x08,
|
||||
0x08,0x7C,0x08,0x64,0x88,0x00,0x00,0x00,0x09,0x70,0x48,
|
||||
0x59,0x73,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x01,
|
||||
0x30,0x77,0xDF,0x5E,0x00,0x00,0x00,0x19,0x74,0x45,0x58,
|
||||
0x74,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x00,0x77,
|
||||
0x77,0x77,0x2E,0x69,0x6E,0x6B,0x73,0x63,0x61,0x70,0x65,
|
||||
0x2E,0x6F,0x72,0x67,0x9B,0xEE,0x3C,0x1A,0x00,0x00,0x03,
|
||||
0x37,0x49,0x44,0x41,0x54,0x38,0x8D,0x75,0x93,0x5D,0x68,
|
||||
0x9B,0x75,0x14,0xC6,0x9F,0xF3,0xCF,0x67,0xB3,0xB6,0xF2,
|
||||
0xE6,0xA3,0x1B,0xEF,0x3A,0xA9,0x59,0x43,0xDA,0x24,0x14,
|
||||
0xD2,0x37,0xE8,0xFC,0xA0,0x6E,0xDD,0x86,0x48,0xB7,0xC9,
|
||||
0x36,0x64,0xE2,0xC0,0x0E,0xA3,0xA0,0x5D,0xD7,0x8B,0x3A,
|
||||
0xE8,0xC5,0xAE,0xD4,0x5D,0x88,0x17,0xBB,0x08,0xF3,0xCA,
|
||||
0x4D,0xE8,0x6E,0x62,0xAF,0xF4,0xCA,0x0F,0xBA,0x6A,0x19,
|
||||
0x8C,0x81,0xEB,0x9A,0x20,0xCB,0xD6,0x60,0xA1,0x29,0x34,
|
||||
0x25,0xF6,0x6D,0xDF,0xB4,0x91,0x9A,0xBC,0x69,0xDE,0xFF,
|
||||
0xF1,0xC2,0xB5,0x9B,0x50,0x1F,0x38,0x70,0x2E,0xCE,0x81,
|
||||
0xE7,0x70,0x7E,0x0F,0x31,0x33,0x76,0x53,0xB2,0x7D,0x64,
|
||||
0xA2,0xBB,0x1A,0x8F,0x03,0xC0,0xE3,0xA6,0x4C,0xE6,0xE6,
|
||||
0x52,0xEA,0xDC,0x6E,0x73,0xF6,0xED,0x26,0x91,0x48,0x38,
|
||||
0x74,0x3D,0x96,0xB2,0xDB,0x97,0xAF,0x85,0x64,0xEB,0xD1,
|
||||
0x23,0xB5,0x37,0xA2,0xA7,0x8D,0x0B,0x21,0x00,0xB0,0x7C,
|
||||
0x8D,0xFA,0xC9,0x17,0x4E,0x7E,0x64,0x8A,0x47,0x53,0x6A,
|
||||
0xA3,0x31,0xFA,0x30,0x10,0x18,0x99,0x99,0x99,0xD9,0x02,
|
||||
0x00,0x30,0x33,0x34,0x4D,0x73,0xA8,0xEA,0xD8,0xA4,0x10,
|
||||
0x15,0x56,0x94,0x74,0x51,0x75,0x16,0xB2,0xF3,0x90,0x9C,
|
||||
0xB5,0xAD,0x73,0xD6,0xB6,0xCE,0xF3,0x90,0x9C,0x73,0x9E,
|
||||
0xCD,0xA6,0x15,0xA5,0x58,0x11,0x82,0xC7,0x54,0x75,0x52,
|
||||
0xD3,0x34,0x07,0x33,0xFF,0xEB,0x40,0xD7,0x63,0xA9,0x52,
|
||||
0xE9,0xCA,0x31,0x29,0x9B,0x51,0x2E,0xBF,0xAD,0x92,0x77,
|
||||
0xBC,0xFE,0xE9,0x9E,0x07,0xB7,0xCA,0x36,0x7D,0x16,0x00,
|
||||
0x7C,0x96,0xBF,0xB7,0x6F,0x73,0xBA,0x6F,0xD0,0x28,0xAB,
|
||||
0x02,0xC0,0x95,0x52,0xE9,0x58,0xC9,0x6E,0x4F,0x01,0xF8,
|
||||
0x18,0xCC,0x8C,0x60,0xF0,0x78,0x48,0x51,0xD2,0x45,0xA0,
|
||||
0xC1,0xAA,0x7A,0xF9,0x7E,0x67,0x67,0xFF,0x41,0x66,0xC6,
|
||||
0xB3,0xD5,0xDF,0xD9,0x79,0xF0,0xB2,0xAA,0xDE,0x6F,0x00,
|
||||
0x9C,0x56,0x94,0xE2,0xF1,0x60,0x30,0xC4,0xCC,0x10,0x00,
|
||||
0xC0,0xB1,0xD6,0xC3,0x9B,0x47,0x5E,0xD6,0xBD,0xBE,0xF1,
|
||||
0x42,0x6B,0xEB,0xDD,0xF7,0x85,0x58,0x72,0x84,0xC3,0xE1,
|
||||
0xAE,0x58,0x2C,0xB6,0x0F,0x00,0x22,0x91,0x48,0xE8,0x4F,
|
||||
0x97,0xCB,0xF5,0x9B,0xDB,0xFD,0xEE,0xB8,0xD7,0x5B,0xE8,
|
||||
0x61,0xE8,0xA6,0xDF,0xDF,0x0F,0x00,0xB4,0xFF,0xD2,0xA5,
|
||||
0x89,0x6A,0x4F,0x4F,0xD4,0x48,0x26,0xA3,0x07,0x2E,0x0E,
|
||||
0xDF,0xF2,0xFC,0x32,0xB5,0x48,0x44,0x9F,0x00,0xA8,0x02,
|
||||
0xC8,0x01,0xC8,0x03,0x38,0x01,0x80,0x88,0xE8,0xEA,0xFE,
|
||||
0x7D,0xEA,0x8B,0xAF,0xBD,0x72,0xF8,0xBD,0xC7,0xF9,0x47,
|
||||
0xB9,0x35,0x43,0xCF,0x89,0x6A,0x3C,0x1E,0x37,0x92,0xC9,
|
||||
0xA8,0xAD,0x52,0x81,0x6D,0x55,0x9F,0x15,0x42,0x88,0x27,
|
||||
0xCB,0xBF,0x12,0xD1,0x0F,0x00,0xC2,0x00,0x74,0x22,0xFA,
|
||||
0x5E,0x4A,0xF9,0x5D,0xAD,0x66,0xCE,0xD6,0xEB,0x75,0x74,
|
||||
0x87,0x23,0xD1,0x80,0xAF,0x2D,0xBE,0xF3,0xC6,0x67,0x45,
|
||||
0x44,0x0D,0x66,0x2E,0x49,0x29,0x8B,0x42,0x88,0xAB,0x00,
|
||||
0x4E,0x4B,0x29,0x4F,0x10,0x51,0x03,0xC0,0xFC,0x7F,0x38,
|
||||
0x68,0xCA,0x64,0x32,0x5E,0xCB,0xAA,0x1B,0xC9,0x64,0xD4,
|
||||
0x0A,0xF8,0x7B,0xA5,0x94,0x8B,0x44,0xD4,0x02,0xE0,0x1D,
|
||||
0x22,0x3A,0xC4,0xCC,0x2E,0x00,0x3E,0x22,0x22,0x66,0xCE,
|
||||
0xB8,0xDD,0xAE,0xD7,0x9D,0x4E,0x27,0xB6,0x4F,0x20,0x66,
|
||||
0x46,0xF0,0xDC,0x5B,0x1F,0x16,0xBF,0x34,0x2F,0x36,0x4F,
|
||||
0xAD,0x3C,0xD7,0x76,0xA3,0x71,0x4A,0xAE,0x99,0x5B,0x4F,
|
||||
0x9C,0x54,0x4C,0xD3,0x34,0x3C,0x1E,0x4F,0x37,0x11,0x2D,
|
||||
0xEE,0x75,0x9B,0xCA,0xF9,0x2E,0xE3,0xF6,0xA1,0x03,0xBC,
|
||||
0x31,0x74,0x27,0xFC,0xD5,0xF4,0xDD,0x7B,0x5F,0x0B,0x00,
|
||||
0xA0,0xF2,0x1F,0xD3,0x7B,0xEE,0xAD,0x04,0x8C,0x41,0x57,
|
||||
0x47,0xE5,0x55,0xFA,0x46,0xB6,0x3B,0xB7,0xF2,0xF9,0xFC,
|
||||
0xDC,0xDC,0xDC,0xDC,0xF2,0xC2,0xC2,0x42,0x2D,0x97,0xCB,
|
||||
0x65,0xF6,0xBA,0x4D,0xA5,0xB7,0xED,0xEF,0x6F,0x07,0xA3,
|
||||
0x46,0xC7,0xEF,0x25,0x04,0x9C,0xD6,0xCA,0xF4,0x0E,0xCA,
|
||||
0x0D,0xD5,0x36,0xBA,0x31,0xE0,0x54,0x21,0x80,0xE5,0x2F,
|
||||
0x3C,0x09,0xDF,0x78,0xED,0xF6,0xD0,0xD0,0xF3,0x77,0x56,
|
||||
0x57,0x6D,0xB3,0x00,0x10,0xF0,0x5B,0xBD,0xE7,0xBB,0x36,
|
||||
0xFB,0x06,0xA3,0x46,0x87,0x20,0x60,0x20,0xB8,0xA1,0xFE,
|
||||
0x54,0x68,0x19,0xDD,0x01,0x49,0xD3,0x34,0x87,0x3A,0xD6,
|
||||
0x33,0x29,0x2A,0x2F,0xB1,0x92,0x8E,0x17,0xCF,0x2C,0x84,
|
||||
0xB2,0xD2,0x02,0xAF,0x97,0x6D,0xBC,0x5E,0xB6,0xB1,0xB4,
|
||||
0xC0,0x85,0xCF,0x9D,0xD9,0xF4,0x05,0xA5,0x58,0xF9,0x4C,
|
||||
0xF0,0xD8,0xC0,0x53,0x94,0x69,0x3B,0x8D,0x89,0x44,0xC2,
|
||||
0xA1,0xC7,0xCC,0x94,0x7D,0xD9,0xBA,0x16,0x69,0x36,0x8F,
|
||||
0x9E,0x7A,0x73,0x63,0xF8,0x83,0xE4,0x5A,0x14,0x00,0x6E,
|
||||
0xDC,0xF4,0xE5,0x7E,0xFE,0xB1,0xE5,0x7A,0x65,0x59,0x4C,
|
||||
0xA9,0x4D,0x8D,0xD1,0x87,0x7F,0x3D,0x0D,0x13,0xFD,0x5F,
|
||||
0x9C,0x47,0x86,0xDB,0x27,0xE2,0x5A,0x35,0x0E,0x00,0x99,
|
||||
0x07,0x4D,0x99,0xD4,0xF5,0xA5,0x5D,0xE3,0xFC,0x0F,0x8E,
|
||||
0x59,0x81,0x6E,0x31,0xC1,0x05,0xE7,0x00,0x00,0x00,0x00,
|
||||
0x49,0x45,0x4E,0x44,0xAE,0x42,0x60,0x82,
|
||||
};
|
208
data/logo/ES_logo_32.cpp
Normal file
208
data/logo/ES_logo_32.cpp
Normal file
|
@ -0,0 +1,208 @@
|
|||
#include "../Resources.h"
|
||||
|
||||
//file auto-generated from ES_logo_32.png by bin2h.exe
|
||||
const size_t es_logo_32_data_len = 2205;
|
||||
const unsigned char es_logo_32_data[2205]=
|
||||
{
|
||||
0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A,0x00,0x00,0x00,
|
||||
0x0D,0x49,0x48,0x44,0x52,0x00,0x00,0x00,0x20,0x00,0x00,
|
||||
0x00,0x20,0x08,0x06,0x00,0x00,0x00,0x73,0x7A,0x7A,0xF4,
|
||||
0x00,0x00,0x00,0x04,0x73,0x42,0x49,0x54,0x08,0x08,0x08,
|
||||
0x08,0x7C,0x08,0x64,0x88,0x00,0x00,0x00,0x09,0x70,0x48,
|
||||
0x59,0x73,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x01,
|
||||
0x68,0xE3,0xFB,0xB4,0x00,0x00,0x00,0x19,0x74,0x45,0x58,
|
||||
0x74,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x00,0x77,
|
||||
0x77,0x77,0x2E,0x69,0x6E,0x6B,0x73,0x63,0x61,0x70,0x65,
|
||||
0x2E,0x6F,0x72,0x67,0x9B,0xEE,0x3C,0x1A,0x00,0x00,0x08,
|
||||
0x1A,0x49,0x44,0x41,0x54,0x58,0x85,0x95,0x57,0x59,0x6C,
|
||||
0x54,0xE7,0x15,0xFE,0xFE,0xBB,0xCC,0x9D,0xC5,0xCB,0x60,
|
||||
0x9C,0xC1,0xF6,0xD4,0x0D,0xC3,0x5C,0x8F,0xB9,0x37,0x21,
|
||||
0xE0,0xF1,0x40,0x6A,0x82,0x0D,0x08,0xCA,0xF2,0xC0,0x43,
|
||||
0xD5,0x56,0x95,0x9A,0x87,0x8A,0x96,0x2E,0xAA,0xE4,0xD0,
|
||||
0xA8,0x08,0x48,0x2A,0x11,0xC3,0x03,0x9B,0x50,0x5B,0x12,
|
||||
0xA5,0x45,0x4E,0x52,0x54,0x81,0xD4,0x87,0x06,0xB5,0x52,
|
||||
0xD5,0x84,0xA4,0x05,0x11,0xDA,0x82,0xC0,0xC6,0x66,0x69,
|
||||
0x66,0xC0,0xC6,0x9A,0x20,0xEF,0xC3,0xE0,0xB1,0xC7,0x9E,
|
||||
0xF5,0x2E,0xA7,0x0F,0x5E,0x34,0x8B,0x07,0xCA,0x91,0xCE,
|
||||
0xC3,0x3D,0xF7,0xFC,0xE7,0x3B,0xFF,0x39,0xDF,0x7F,0xFF,
|
||||
0x73,0x19,0x11,0xE1,0x79,0xA4,0xA5,0xA1,0x75,0x17,0x07,
|
||||
0xEE,0x04,0x07,0x56,0x26,0x98,0xA2,0x08,0x00,0x3A,0xA7,
|
||||
0x69,0x26,0x68,0xC6,0x84,0x79,0xE0,0x7A,0xFF,0xBF,0xFE,
|
||||
0xF6,0x3C,0xF1,0x84,0xE7,0x42,0x07,0x20,0x90,0xB0,0xE5,
|
||||
0xE7,0xE3,0x87,0x94,0x75,0x33,0x9B,0xF2,0xEC,0x37,0xCB,
|
||||
0xAE,0xE0,0x77,0xCB,0x8E,0x6C,0x01,0xF0,0x5C,0x09,0x70,
|
||||
0xA5,0x5E,0x04,0x02,0x01,0x51,0x55,0xD5,0xB6,0x42,0xBB,
|
||||
0x01,0xDD,0xCA,0x53,0x71,0xDE,0x3C,0x09,0x30,0xA0,0x5B,
|
||||
0x0B,0xED,0xAA,0xAA,0xB6,0x05,0x02,0x01,0xB1,0x14,0x0E,
|
||||
0x5B,0xAC,0x05,0xB2,0x2C,0xBB,0x38,0xAE,0xF6,0x73,0x4D,
|
||||
0xAB,0xF5,0x88,0xE2,0xF0,0x7B,0x15,0x15,0x99,0xA3,0x89,
|
||||
0x29,0xDB,0xFE,0xA5,0xE0,0x76,0x2F,0xCF,0xF8,0xEC,0x6F,
|
||||
0x8E,0x1C,0xAF,0x76,0x1A,0x55,0x79,0x6B,0x26,0xF9,0x09,
|
||||
0xFC,0xA6,0xEE,0x60,0xF4,0x2B,0xA9,0x2F,0x49,0x88,0x9C,
|
||||
0xCD,0x54,0x3A,0x4E,0x4A,0xF1,0xF8,0xDB,0x6E,0x4D,0x6B,
|
||||
0x1F,0x15,0x84,0xF0,0x28,0xD1,0xB6,0x87,0x0F,0x1F,0x46,
|
||||
0x8A,0xC0,0x88,0x28,0x4F,0x1B,0x1B,0x1B,0x5F,0x91,0xE5,
|
||||
0xB6,0x21,0xBB,0xBD,0xCB,0x00,0x74,0x72,0xBB,0xDB,0x63,
|
||||
0xB2,0xDC,0x1A,0x71,0x3A,0xCF,0xA5,0x7F,0xCF,0x52,0xA1,
|
||||
0x87,0x30,0xE9,0x69,0x1A,0x62,0x23,0xA1,0x73,0x4E,0x67,
|
||||
0xBA,0x55,0x96,0x23,0xED,0x6E,0x77,0x4C,0x07,0xE8,0x96,
|
||||
0xCD,0x66,0x6C,0x94,0xE5,0xC1,0xC6,0xC6,0xC6,0x57,0x0A,
|
||||
0xF1,0xF2,0x1E,0xBC,0x5E,0xAF,0x4B,0x96,0x5B,0x87,0x45,
|
||||
0xF1,0x11,0x01,0x66,0x8E,0x1A,0x04,0x98,0xB4,0x02,0xE6,
|
||||
0x8D,0x79,0xA0,0x3B,0xFC,0x14,0x5D,0xB0,0x5F,0xA7,0x0B,
|
||||
0xF6,0xEB,0x74,0x87,0x9F,0x5A,0x48,0xE0,0x09,0x0E,0xDC,
|
||||
0x30,0x01,0x32,0x00,0x32,0x73,0x74,0x48,0x14,0x69,0xA3,
|
||||
0x2C,0x0F,0x7A,0xBD,0x5E,0x57,0x2E,0xE6,0x42,0x0B,0x02,
|
||||
0x81,0x80,0x18,0x8F,0xDB,0xBA,0x86,0x87,0x7F,0xBD,0x2A,
|
||||
0x99,0x0C,0x2C,0xCA,0x0D,0x9B,0xAD,0x47,0xDF,0xB5,0xB4,
|
||||
0x73,0x62,0xC8,0x1A,0x12,0x75,0xA6,0x27,0x44,0x12,0x7B,
|
||||
0x01,0x40,0x63,0x5A,0x93,0x40,0x82,0x63,0x45,0xBA,0x51,
|
||||
0xDB,0xFB,0xE4,0xCF,0x55,0xCD,0xA9,0xA9,0x45,0xC9,0xDD,
|
||||
0x6B,0xB3,0x99,0x7B,0xDD,0xEE,0x7B,0xA9,0xCA,0xCA,0xB5,
|
||||
0xDD,0xDD,0xDD,0x1A,0x90,0x73,0x0A,0x12,0x89,0xC4,0x5A,
|
||||
0x4D,0x5B,0xE1,0x49,0x26,0xFD,0x45,0xE0,0x8C,0x65,0xE0,
|
||||
0x72,0x9D,0x4A,0x56,0x54,0x5C,0x1C,0xBC,0xCD,0x1E,0xEF,
|
||||
0xC9,0x66,0xB3,0xDD,0xE1,0x70,0x38,0x9D,0xEB,0xE3,0xF1,
|
||||
0x78,0xAC,0x51,0xFB,0x78,0xE0,0x17,0x36,0xD7,0x87,0x3B,
|
||||
0xE2,0xD6,0xFA,0x7D,0x91,0x88,0x5D,0x2A,0xE0,0xD7,0xEA,
|
||||
0x54,0x8A,0xAB,0xD3,0x75,0xCF,0xDD,0x44,0x62,0x2D,0x80,
|
||||
0x6B,0x45,0x1C,0x90,0xE5,0x0D,0x1D,0x6E,0x77,0x7B,0x2C,
|
||||
0xB7,0xFC,0x92,0xF4,0x80,0xBC,0xDE,0xAD,0x31,0x9F,0xAF,
|
||||
0xE5,0x30,0x00,0xBE,0xB0,0x87,0x45,0x3D,0x05,0xF8,0x16,
|
||||
0x9F,0xEF,0xF0,0x56,0xAF,0x37,0xF6,0x40,0x92,0xF2,0xDA,
|
||||
0xD0,0xEE,0x76,0xC7,0x36,0xC8,0x72,0x47,0x49,0x0E,0x34,
|
||||
0x37,0x37,0xDB,0x65,0xB9,0x6D,0x7C,0xBE,0xE7,0x8C,0xA5,
|
||||
0xC8,0xEB,0xDD,0x1A,0x53,0x14,0xC5,0xFF,0x2C,0xE0,0x42,
|
||||
0x55,0x14,0xC5,0xBF,0xD5,0xEB,0x8D,0xA5,0x18,0xA3,0x79,
|
||||
0x4E,0xB4,0xC9,0xF2,0x78,0x73,0x73,0xB3,0x3D,0xD7,0x2F,
|
||||
0xAF,0xDC,0x53,0x09,0xDB,0xFE,0x68,0xF4,0xC7,0x95,0x00,
|
||||
0x03,0x00,0xB8,0x5C,0xA7,0x92,0x3C,0x9F,0x78,0x37,0x18,
|
||||
0x0C,0xF6,0x2C,0xD6,0xD3,0xA7,0x49,0x30,0x18,0xEC,0x49,
|
||||
0xF0,0xFC,0xBB,0xA7,0x5C,0xAE,0x24,0x30,0x1B,0xF1,0x67,
|
||||
0xD1,0x68,0xA5,0x34,0x3D,0xBD,0x3F,0xD7,0x2F,0x9F,0x2C,
|
||||
0x2E,0x6E,0xF7,0xD4,0xE5,0xEF,0x84,0x71,0x1A,0x71,0xDB,
|
||||
0x99,0x1E,0x7F,0x45,0xC5,0xC5,0xC1,0xBE,0xBE,0xEB,0x47,
|
||||
0x54,0x55,0x7D,0x19,0x80,0x5C,0x08,0x22,0x49,0xD2,0x95,
|
||||
0xDE,0xDE,0xDE,0x49,0x00,0xF0,0xF9,0x7C,0x0A,0xCF,0xF3,
|
||||
0x5B,0x89,0x28,0xC9,0x71,0x5C,0xBF,0x28,0x8A,0xB7,0xEE,
|
||||
0xF6,0xF5,0x1D,0xE1,0x1A,0x1A,0xBE,0xB7,0x33,0x1E,0xF7,
|
||||
0xD6,0xDB,0x1D,0x3D,0xD9,0xCD,0xDB,0x2B,0x52,0x03,0xA1,
|
||||
0x1F,0x02,0xE8,0x58,0x48,0xA0,0xA1,0xB5,0x75,0x17,0x09,
|
||||
0xC2,0x16,0xE8,0xBA,0x35,0xBB,0x72,0xA5,0x9D,0x6A,0xA4,
|
||||
0xAF,0xE3,0x18,0xB0,0xF4,0x49,0x67,0x84,0x5D,0x7D,0xBC,
|
||||
0x87,0x88,0x0C,0x45,0x51,0xFE,0x02,0xA0,0xA6,0x00,0x5F,
|
||||
0x48,0xA5,0x52,0xEF,0x34,0x34,0x34,0x9C,0x11,0x04,0xE1,
|
||||
0x36,0xCF,0xF3,0x0E,0x22,0xAA,0x66,0x8C,0x31,0x22,0x8A,
|
||||
0x67,0xB3,0xD9,0x5E,0x22,0xDA,0xDC,0xD8,0xD8,0xB8,0xE7,
|
||||
0xAD,0xC0,0xDA,0x0B,0xAF,0xB5,0x7D,0x73,0x1D,0x00,0x38,
|
||||
0xA3,0xA3,0x51,0xBF,0xDF,0x7F,0x86,0x31,0x96,0x82,0x8E,
|
||||
0xCB,0x02,0x38,0xEE,0xC4,0xF8,0xA1,0x43,0x0A,0x09,0x02,
|
||||
0xD2,0xAA,0xBA,0x10,0xDD,0xFA,0x20,0x24,0x66,0xB3,0xD9,
|
||||
0xEE,0xB9,0x47,0x1E,0x40,0x19,0x80,0x09,0x00,0xFA,0x7C,
|
||||
0x01,0x00,0x44,0x45,0x51,0xFC,0x11,0x11,0xD5,0x12,0x51,
|
||||
0x9A,0x31,0x36,0x06,0xC0,0x04,0x60,0x03,0x50,0x0E,0x00,
|
||||
0xD9,0x6C,0xB6,0x3B,0x3A,0x3D,0xBD,0xF0,0x29,0x7E,0x35,
|
||||
0xD0,0x52,0x1D,0x9B,0x9C,0xF8,0x29,0x99,0x84,0xAE,0xDE,
|
||||
0x1B,0xDB,0x05,0x00,0x8E,0x99,0x4D,0x9B,0xF2,0xB6,0xC6,
|
||||
0x4F,0x4F,0x83,0xE9,0x7A,0xA2,0xF0,0xA8,0x01,0x30,0x19,
|
||||
0x63,0xFB,0x00,0x68,0xA6,0x69,0xEA,0xB5,0xB5,0xB5,0x7F,
|
||||
0x1D,0x1B,0x1B,0xFB,0x07,0x00,0x2B,0x63,0x2C,0x41,0x44,
|
||||
0xBF,0x05,0xF0,0x99,0x28,0x8A,0x31,0x22,0x92,0x00,0x20,
|
||||
0x1C,0x0E,0xA7,0xD7,0xAC,0x5E,0x93,0xC8,0x6A,0xD9,0x25,
|
||||
0x16,0xD1,0x02,0xAB,0x64,0x45,0xED,0xB2,0x3A,0x00,0x00,
|
||||
0xEB,0x65,0x65,0x9C,0x69,0xB1,0x14,0x5D,0x14,0x52,0x30,
|
||||
0x08,0x12,0x67,0x3F,0x32,0x05,0xE2,0x24,0xA2,0x4E,0x22,
|
||||
0x3A,0xCB,0x18,0xFB,0xC3,0xD8,0xD8,0xD8,0x6B,0x00,0xFE,
|
||||
0x08,0x20,0x09,0x60,0x29,0x80,0x63,0x8C,0xB1,0x4B,0xBA,
|
||||
0xAE,0xFF,0x53,0xD7,0xF5,0x05,0xCE,0x70,0x3C,0xD7,0x1B,
|
||||
0x9B,0x9C,0x28,0x0A,0xC6,0x71,0x9C,0x58,0xF2,0x36,0x2C,
|
||||
0x21,0xD3,0x00,0x12,0x73,0xCA,0x88,0x28,0x56,0x53,0x53,
|
||||
0x73,0x9E,0x88,0x0E,0x03,0x18,0x61,0x8C,0x4D,0xCC,0x25,
|
||||
0xE2,0x63,0x8C,0x7D,0xC4,0x18,0x63,0xCF,0x0A,0x28,0x70,
|
||||
0xD9,0xAC,0x56,0x68,0xCC,0xA8,0x2A,0x98,0xA6,0x35,0x2D,
|
||||
0xE2,0x6F,0xA4,0xD3,0xE9,0xFA,0xDC,0xD6,0xA8,0xAA,0xFA,
|
||||
0x2D,0x00,0xF7,0x1D,0x0E,0xC7,0xF2,0xE9,0xE9,0xE9,0x35,
|
||||
0x1C,0xC7,0x9D,0x07,0xE0,0x03,0x60,0x91,0x65,0x79,0x05,
|
||||
0x80,0x01,0xD3,0x30,0x9B,0x96,0x38,0xAB,0x8A,0x82,0x99,
|
||||
0xA6,0xA9,0x09,0x00,0x12,0x65,0x57,0xAE,0x60,0x9E,0x84,
|
||||
0x46,0x55,0x15,0x8C,0xF2,0x72,0x90,0x20,0x38,0x3C,0x1E,
|
||||
0x8F,0x35,0x17,0x8C,0x31,0x26,0x58,0xAD,0xD6,0x41,0x45,
|
||||
0x51,0x40,0x44,0x02,0xC7,0x71,0x9D,0x44,0xD4,0xCA,0x18,
|
||||
0x7B,0x39,0x91,0x48,0xCC,0xF0,0x3C,0xAF,0x13,0x91,0x7D,
|
||||
0xCE,0x3D,0xDD,0xDF,0xDF,0x3F,0xE0,0xF1,0x78,0xAC,0x4B,
|
||||
0x9C,0x4B,0x1C,0x16,0xD1,0x32,0x6B,0xCC,0xA4,0x11,0x9B,
|
||||
0x9C,0x00,0x99,0x04,0x02,0xCD,0x08,0x30,0xCD,0x03,0xCB,
|
||||
0x8E,0x1C,0x99,0x3F,0x86,0xDF,0x1E,0xEC,0xEC,0xAC,0x06,
|
||||
0x80,0xB4,0xE2,0xD5,0xEC,0xE3,0xE3,0x01,0x00,0xFF,0x06,
|
||||
0x60,0x00,0x48,0x10,0x91,0x08,0x60,0x9E,0x33,0x1C,0x11,
|
||||
0xBD,0x00,0xA0,0x1F,0x80,0x97,0x88,0x9C,0x98,0x65,0x7F,
|
||||
0x0C,0x40,0x04,0xC0,0x09,0x00,0xB0,0x58,0x2C,0x81,0xEA,
|
||||
0x25,0xE5,0x0B,0x55,0xBE,0xD1,0x7D,0x3D,0x3A,0x19,0x8B,
|
||||
0x7D,0xCC,0x78,0x96,0x66,0x06,0xBB,0x9C,0x37,0x90,0x34,
|
||||
0x6C,0xDC,0xF8,0x68,0xE0,0xB3,0x8E,0x24,0x49,0x9D,0x71,
|
||||
0x5B,0xCF,0x80,0xFF,0x6B,0x7B,0x67,0x06,0xFA,0xFF,0x13,
|
||||
0x7A,0x49,0x51,0x14,0x05,0x8B,0x7C,0x88,0x00,0xDC,0x08,
|
||||
0x06,0x83,0xA3,0x2B,0x57,0xAE,0xF4,0x70,0x1C,0xF7,0x2A,
|
||||
0x80,0x5A,0xD3,0x34,0x6F,0x1B,0x86,0x71,0xAD,0xBF,0xBF,
|
||||
0x3F,0xC3,0x18,0xE3,0x5F,0x5B,0xD3,0xF0,0xE5,0xE9,0xCD,
|
||||
0x43,0xDE,0xFA,0x6A,0x47,0xCF,0xA7,0xC9,0xED,0x15,0xA7,
|
||||
0x3F,0x09,0xD9,0x7B,0x7A,0x6E,0xBD,0xB8,0xC0,0x81,0xFC,
|
||||
0xA6,0x4C,0x9C,0xAD,0xFC,0xF8,0x97,0x07,0x27,0x5F,0x97,
|
||||
0xA4,0x94,0x9F,0x47,0x7C,0x87,0xA5,0xDE,0x67,0xAA,0x87,
|
||||
0x82,0xD7,0xBE,0x7C,0x07,0xC0,0x7F,0x17,0x49,0x00,0x00,
|
||||
0x70,0xFF,0xFE,0xFD,0x30,0x80,0x70,0xA1,0xBD,0x65,0xB5,
|
||||
0xEF,0xD0,0x8E,0xE5,0x53,0xF5,0x7E,0x57,0x4A,0x00,0x52,
|
||||
0xEB,0xF8,0xA1,0xBF,0x67,0x6C,0xE4,0x3A,0x9E,0xEB,0x93,
|
||||
0x77,0x0A,0x2A,0x53,0xD2,0xC9,0xEA,0x0F,0x32,0x53,0x98,
|
||||
0x2B,0x4A,0x64,0x9F,0xD5,0x6E,0x38,0xF0,0x86,0xAA,0xAA,
|
||||
0xFE,0x52,0xE0,0xA5,0x44,0x55,0x55,0xBF,0x43,0x34,0xDE,
|
||||
0xD8,0x17,0x88,0xD8,0x01,0x80,0x00,0x7C,0x70,0xAF,0x7A,
|
||||
0x2A,0xC3,0x97,0x9F,0x2C,0x99,0xC0,0x94,0x2D,0xB5,0x3F,
|
||||
0xB5,0x9A,0xB7,0xCC,0xDD,0x45,0x20,0x89,0x61,0xE8,0x7D,
|
||||
0x87,0x33,0xEB,0x66,0x97,0x1A,0xD7,0xBF,0x74,0x98,0x31,
|
||||
0xC6,0x3F,0x0B,0x98,0x31,0xC6,0xAF,0x5F,0xD3,0x78,0xD8,
|
||||
0xED,0xC8,0x5E,0x7A,0x7F,0xCB,0x90,0x53,0xE2,0x67,0x77,
|
||||
0xC3,0x00,0xAC,0xAE,0x4E,0x59,0x6C,0x34,0x95,0x77,0x19,
|
||||
0x2D,0x70,0x40,0x51,0x94,0xF5,0xE9,0x55,0xFC,0xA7,0x5F,
|
||||
0xFD,0xA9,0xBC,0xA2,0x70,0x56,0x66,0x19,0x82,0xEB,0x54,
|
||||
0x3A,0x59,0x71,0x31,0x3B,0xC8,0x1E,0x1B,0x25,0x07,0x12,
|
||||
0x8B,0xC5,0x12,0x78,0xC1,0x4E,0x1F,0xEE,0x58,0x1E,0xAF,
|
||||
0xDF,0x17,0x88,0xD8,0xE7,0xC1,0xE7,0xC5,0x24,0xE0,0xFB,
|
||||
0x9F,0x2C,0x8F,0xDF,0x8D,0x5A,0x77,0x86,0x42,0xA1,0x6B,
|
||||
0x40,0x0E,0x07,0x1C,0x0E,0x47,0x97,0x31,0x9A,0x0A,0xDB,
|
||||
0x7B,0xF4,0x55,0xC9,0x80,0x90,0x97,0x02,0x49,0x0C,0xE3,
|
||||
0xBF,0xB2,0xD9,0xD3,0x3B,0x05,0xEF,0x77,0x3B,0xC7,0x2F,
|
||||
0x3C,0x08,0x59,0xC5,0xF5,0x2D,0xBE,0x84,0x68,0xA1,0xD9,
|
||||
0x91,0x2C,0xCB,0x9A,0xEA,0xEB,0x05,0x87,0xD2,0x90,0xD4,
|
||||
0x7E,0x52,0xF9,0xA4,0x6A,0xB6,0xE7,0xC5,0x72,0xE7,0xB1,
|
||||
0xCD,0x1C,0x49,0x08,0x61,0x87,0xC3,0xD1,0x55,0x54,0x01,
|
||||
0x60,0x76,0x1C,0x67,0x75,0x96,0xDE,0x47,0xE7,0xCB,0xEB,
|
||||
0xB4,0xFA,0x9C,0x1C,0x68,0xB6,0x86,0x07,0xCC,0xE1,0x9B,
|
||||
0xC7,0xD8,0xE0,0x3A,0x00,0x98,0x9E,0xE6,0x11,0x0C,0x4A,
|
||||
0x00,0x00,0x55,0xCD,0xA0,0xBC,0xDC,0x98,0xF5,0xFD,0x08,
|
||||
0x37,0xF1,0x04,0xEB,0xE6,0x96,0x2C,0xC8,0xC8,0x8C,0x88,
|
||||
0xD7,0x2F,0xBE,0x38,0x34,0x34,0x49,0xCD,0x79,0xE3,0xF9,
|
||||
0xA2,0x63,0x79,0x9B,0x32,0x64,0xEF,0x0A,0x18,0xD0,0xBF,
|
||||
0x41,0xEE,0xF6,0x55,0x31,0xB9,0x55,0x89,0x38,0xCF,0x35,
|
||||
0xA5,0x47,0x92,0x62,0xC8,0x34,0x40,0x4F,0xD3,0xD4,0x3D,
|
||||
0x16,0x3A,0xF7,0x03,0x67,0xBA,0xB5,0x49,0x8E,0xB4,0x6F,
|
||||
0x73,0xC7,0xF4,0xA3,0xA0,0x5B,0x6F,0xDA,0x8C,0x8D,0xCD,
|
||||
0x8B,0x8F,0xE5,0xA5,0x7F,0x4C,0x6A,0xA5,0xCF,0xB5,0x5A,
|
||||
0xE6,0x11,0x87,0xCD,0xF7,0x2A,0x32,0xF6,0xA3,0x09,0x5B,
|
||||
0x6A,0xBF,0x8B,0xCB,0xEE,0xF6,0xF9,0x32,0xF6,0xE3,0xC7,
|
||||
0x46,0xAA,0xAB,0xAA,0x8C,0xBC,0x35,0x13,0x13,0x3C,0x0E,
|
||||
0xBE,0x55,0x17,0xED,0xEB,0x93,0x92,0xE6,0x0C,0xCE,0xA6,
|
||||
0x58,0xE5,0x49,0xC9,0x88,0xBF,0xED,0x2E,0xD3,0xDA,0x47,
|
||||
0x13,0x42,0x78,0x34,0xFE,0x7F,0xFE,0x98,0xE4,0xCC,0x87,
|
||||
0xA2,0xA2,0x28,0x6D,0x85,0xF6,0x0D,0x1B,0xBC,0x67,0xAE,
|
||||
0x7E,0xE1,0x28,0xDA,0xF9,0xD5,0x2F,0x1C,0xB4,0x61,0x83,
|
||||
0xF7,0xCC,0x22,0xB3,0x61,0x5B,0x73,0x73,0xB3,0x58,0x0A,
|
||||
0xA7,0xE4,0xCF,0xE9,0xDC,0xDC,0x7E,0xB5,0xD0,0x2E,0x08,
|
||||
0x48,0xEB,0x46,0xF1,0x25,0xA7,0x1B,0x0C,0x82,0x80,0xC2,
|
||||
0xF9,0x01,0xC1,0x60,0xB0,0x28,0x46,0x5E,0xBC,0xA7,0xBD,
|
||||
0x5C,0x4C,0x74,0x9D,0x5D,0xEA,0xE8,0xA8,0xD9,0xC6,0x18,
|
||||
0xCA,0x44,0xD1,0x14,0x01,0x40,0xD3,0x38,0x8D,0x08,0x33,
|
||||
0xA6,0x89,0x4B,0xCF,0x1B,0xEF,0x7F,0x25,0x1D,0xC4,0x52,
|
||||
0xA8,0x9F,0x66,0x66,0x00,0x00,0x00,0x00,0x49,0x45,0x4E,
|
||||
0x44,0xAE,0x42,0x60,0x82,
|
||||
};
|
12
src/EmulationStation.h
Normal file
12
src/EmulationStation.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#pragma once
|
||||
|
||||
// These numbers and strings need to be manually updated for a new version.
|
||||
// Do this version number update as the very last commit for the new release version.
|
||||
#define PROGRAM_VERSION_MAJOR 1
|
||||
#define PROGRAM_VERSION_MINOR 0
|
||||
#define PROGRAM_VERSION_MAINTENANCE 0
|
||||
#define PROGRAM_VERSION_REVISION 0
|
||||
#define PROGRAM_VERSION_STRING "1.0.0.0 - built " __DATE__ " - " __TIME__
|
||||
#define RESOURCE_VERSION_STRING "1,0,0,0\0"
|
||||
|
||||
#define RESOURCE_VERSION PROGRAM_VERSION_MAJOR,PROGRAM_VERSION_MINOR,PROGRAM_VERSION_MAINTENANCE,PROGRAM_VERSION_REVISION
|
39
src/EmulationStation.rc
Normal file
39
src/EmulationStation.rc
Normal file
|
@ -0,0 +1,39 @@
|
|||
#include "EmulationStation.h"
|
||||
|
||||
#include "windows.h"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RESOURCE_VERSION
|
||||
PRODUCTVERSION RESOURCE_VERSION
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS VOS_NT_WINDOWS32
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE VFT2_UNKNOWN
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "Comments", "\0"
|
||||
VALUE "FileDescription", "EmulationStation multi-emulator frontend\0"
|
||||
VALUE "FileVersion", RESOURCE_VERSION_STRING
|
||||
VALUE "InternalName", "emulationstation.exe\0"
|
||||
VALUE "LegalCopyright", "\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "emulationstation.exe\0"
|
||||
VALUE "ProductName", "EmulationStation\0"
|
||||
VALUE "ProductVersion", RESOURCE_VERSION_STRING
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x407, 1200
|
||||
END
|
||||
END
|
||||
|
||||
IDI_ES_LOGO ICON DISCARDABLE "../data/logo/ES_logo.ico"
|
63
src/ImageIO.cpp
Normal file
63
src/ImageIO.cpp
Normal file
|
@ -0,0 +1,63 @@
|
|||
#include "ImageIO.h"
|
||||
|
||||
#include "Log.h"
|
||||
|
||||
|
||||
std::vector<unsigned char> ImageIO::loadFromMemoryRGBA32(const unsigned char * data, const size_t size, size_t & width, size_t & height)
|
||||
{
|
||||
std::vector<unsigned char> rawData;
|
||||
width = 0;
|
||||
height = 0;
|
||||
FIMEMORY * fiMemory = FreeImage_OpenMemory((BYTE *)data, size);
|
||||
if (fiMemory != nullptr) {
|
||||
//detect the filetype from data
|
||||
FREE_IMAGE_FORMAT format = FreeImage_GetFileTypeFromMemory(fiMemory);
|
||||
if (format != FIF_UNKNOWN && FreeImage_FIFSupportsReading(format))
|
||||
{
|
||||
//file type is supported. load image
|
||||
FIBITMAP * fiBitmap = FreeImage_LoadFromMemory(format, fiMemory);
|
||||
if (fiBitmap != nullptr)
|
||||
{
|
||||
//loaded. convert to 32bit
|
||||
FIBITMAP * fiConverted = FreeImage_ConvertTo32Bits(fiBitmap);
|
||||
if (fiConverted != nullptr)
|
||||
{
|
||||
width = FreeImage_GetWidth(fiConverted);
|
||||
height = FreeImage_GetHeight(fiConverted);
|
||||
unsigned int pitch = FreeImage_GetPitch(fiConverted);
|
||||
//loop through scanlines and add all pixel data to the return vector
|
||||
//this is necessary, because width*height*bpp might not be == pitch
|
||||
unsigned char * tempData = new unsigned char[width * height * 4];
|
||||
for (size_t i = 0; i < height; i++)
|
||||
{
|
||||
const BYTE * scanLine = FreeImage_GetScanLine(fiConverted, i);
|
||||
memcpy(tempData + (i * width * 4), scanLine, width * 4);
|
||||
}
|
||||
//convert from BGRA to RGBA
|
||||
for(size_t i = 0; i < width*height; i++)
|
||||
{
|
||||
RGBQUAD bgra = ((RGBQUAD *)tempData)[i];
|
||||
RGBQUAD rgba;
|
||||
rgba.rgbBlue = bgra.rgbRed;
|
||||
rgba.rgbGreen = bgra.rgbGreen;
|
||||
rgba.rgbRed = bgra.rgbBlue;
|
||||
rgba.rgbReserved = bgra.rgbReserved;
|
||||
((RGBQUAD *)tempData)[i] = rgba;
|
||||
}
|
||||
rawData = std::vector<unsigned char>(tempData, tempData + width * height * 4);
|
||||
//free converted data
|
||||
FreeImage_Unload(fiConverted);
|
||||
}
|
||||
//free bitmap data
|
||||
FreeImage_Unload(fiBitmap);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(LogError) << "Error - File type unknown/unsupported!";
|
||||
}
|
||||
//free FIMEMORY again
|
||||
FreeImage_CloseMemory(fiMemory);
|
||||
}
|
||||
return rawData;
|
||||
}
|
11
src/ImageIO.h
Normal file
11
src/ImageIO.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <FreeImage.h>
|
||||
|
||||
|
||||
class ImageIO
|
||||
{
|
||||
public:
|
||||
static std::vector<unsigned char> loadFromMemoryRGBA32(const unsigned char * data, const size_t size, size_t & width, size_t & height);
|
||||
};
|
|
@ -12,6 +12,9 @@
|
|||
#include <SDL.h>
|
||||
#include "InputManager.h"
|
||||
#include "Log.h"
|
||||
#include "ImageIO.h"
|
||||
#include "../data/Resources.h"
|
||||
#include "EmulationStation.h"
|
||||
|
||||
extern bool WINDOWED;
|
||||
|
||||
|
@ -35,6 +38,32 @@ namespace Renderer
|
|||
return false;
|
||||
}
|
||||
|
||||
//ATM it is best to just leave the window icon alone on windows.
|
||||
//When compiled as a Windows application, ES at least has an icon int the taskbar
|
||||
//The method below looks pretty shite as alpha isn't taken into account...
|
||||
#ifndef WIN32
|
||||
//try loading PNG from memory
|
||||
size_t width = 0;
|
||||
size_t height = 0;
|
||||
std::vector<unsigned char> rawData = ImageIO::loadFromMemoryRGBA32(es_logo_32_data, es_logo_32_data_len, width, height);
|
||||
if (!rawData.empty()) {
|
||||
//SDL interprets each pixel as a 32-bit number, so our masks must depend on the endianness (byte order) of the machine
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
Uint32 rmask = 0xff000000; Uint32 gmask = 0x00ff0000; Uint32 bmask = 0x0000ff00; Uint32 amask = 0x000000ff;
|
||||
#else
|
||||
Uint32 rmask = 0x000000ff; Uint32 gmask = 0x0000ff00; Uint32 bmask = 0x00ff0000;Uint32 amask = 0xff000000;
|
||||
#endif
|
||||
//try creating SDL surface from logo data
|
||||
SDL_Surface * logoSurface = SDL_CreateRGBSurfaceFrom((void *)rawData.data(), width, height, 32, width*4, rmask, gmask, bmask, amask);
|
||||
if (logoSurface != nullptr) {
|
||||
//change window icon. this sucks atm, but there's nothing better we can do. SDL 1.3 or 2.0 should sort this out...
|
||||
SDL_WM_SetIcon(logoSurface, nullptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
SDL_WM_SetCaption("EmulationStation", "EmulationStation");
|
||||
|
||||
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
|
||||
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
|
||||
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
|
||||
|
@ -48,8 +77,6 @@ namespace Renderer
|
|||
return false;
|
||||
}
|
||||
|
||||
SDL_WM_SetCaption("EmulationStation", NULL);
|
||||
|
||||
//usually display width/height are not specified, i.e. zero, which SDL automatically takes as "native resolution"
|
||||
//so, since other things rely on the size of the screen (damn currently unnormalized coordinate system), we set it here
|
||||
//even though the system was already initialized
|
||||
|
|
Loading…
Reference in a new issue