Fix ugly formatted arrays

Found via: `rg --multiline "=\n\t*\{\n"`
This commit is contained in:
Desour 2024-03-21 15:22:20 +01:00 committed by sfan5
parent 7cf801244c
commit adc96072cd
24 changed files with 589 additions and 596 deletions

View File

@ -22,14 +22,14 @@ enum E_CULLING_TYPE
}; };
//! Names for culling type //! Names for culling type
const c8 *const AutomaticCullingNames[] = const c8 *const AutomaticCullingNames[] = {
{ "false",
"false", "box", // camera box against node box
"box", // camera box against node box "frustum_box", // camera frustum against node box
"frustum_box", // camera frustum against node box "frustum_sphere", // camera frustum against node sphere
"frustum_sphere", // camera frustum against node sphere "occ_query", // occlusion query
"occ_query", // occlusion query 0,
0}; };
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr

View File

@ -23,13 +23,13 @@ enum EGUI_ALIGNMENT
}; };
//! Names for alignments //! Names for alignments
const c8 *const GUIAlignmentNames[] = const c8 *const GUIAlignmentNames[] = {
{ "upperLeft",
"upperLeft", "lowerRight",
"lowerRight", "center",
"center", "scale",
"scale", 0,
0}; };
} // namespace gui } // namespace gui
} // namespace irr } // namespace irr

View File

@ -99,35 +99,35 @@ enum EGUI_ELEMENT_TYPE
}; };
//! Names for built-in element types //! Names for built-in element types
const c8 *const GUIElementTypeNames[] = const c8 *const GUIElementTypeNames[] = {
{ "button",
"button", "checkBox",
"checkBox", "comboBox",
"comboBox", "contextMenu",
"contextMenu", "menu",
"menu", "editBox",
"editBox", "fileOpenDialog",
"fileOpenDialog", "colorSelectDialog",
"colorSelectDialog", "inOutFader",
"inOutFader", "image",
"image", "listBox",
"listBox", "meshViewer",
"meshViewer", "messageBox",
"messageBox", "modalScreen",
"modalScreen", "scrollBar",
"scrollBar", "spinBox",
"spinBox", "staticText",
"staticText", "tab",
"tab", "tabControl",
"tabControl", "table",
"table", "toolBar",
"toolBar", "treeview",
"treeview", "window",
"window", "element",
"element", "root",
"root", "profiler",
"profiler", 0,
0}; };
} // end namespace gui } // end namespace gui
} // end namespace irr } // end namespace irr

View File

@ -58,14 +58,14 @@ enum E_MATERIAL_TYPE
}; };
//! Array holding the built in material type names //! Array holding the built in material type names
const char *const sBuiltInMaterialTypeNames[] = const char *const sBuiltInMaterialTypeNames[] = {
{ "solid",
"solid", "trans_alphach",
"trans_alphach", "trans_alphach_ref",
"trans_alphach_ref", "trans_vertex_alpha",
"trans_vertex_alpha", "onetexture_blend",
"onetexture_blend", 0,
0}; };
constexpr u32 numBuiltInMaterials = constexpr u32 numBuiltInMaterials =
sizeof(sBuiltInMaterialTypeNames) / sizeof(char *) - 1; sizeof(sBuiltInMaterialTypeNames) / sizeof(char *) - 1;

View File

@ -19,16 +19,16 @@ enum E_VERTEX_ATTRIBUTES
}; };
//! Array holding the built in vertex attribute names //! Array holding the built in vertex attribute names
const char *const sBuiltInVertexAttributeNames[] = const char *const sBuiltInVertexAttributeNames[] = {
{ "inVertexPosition",
"inVertexPosition", "inVertexNormal",
"inVertexNormal", "inVertexColor",
"inVertexColor", "inTexCoord0",
"inTexCoord0", "inTexCoord1",
"inTexCoord1", "inVertexTangent",
"inVertexTangent", "inVertexBinormal",
"inVertexBinormal", 0,
0}; };
} // end namespace video } // end namespace video
} // end namespace irr } // end namespace irr

View File

@ -40,13 +40,12 @@ enum E_BONE_SKINNING_SPACE
}; };
//! Names for bone animation modes //! Names for bone animation modes
const c8 *const BoneAnimationModeNames[] = const c8 *const BoneAnimationModeNames[] = {
{ "automatic",
"automatic", "animated",
"animated", "unanimated",
"unanimated", 0,
0, };
};
//! Interface for bones used for skeletal animation. //! Interface for bones used for skeletal animation.
/** Used with ISkinnedMesh and IAnimatedMeshSceneNode. */ /** Used with ISkinnedMesh and IAnimatedMeshSceneNode. */

View File

@ -41,22 +41,22 @@ enum ECURSOR_ICON
}; };
//! Names for ECURSOR_ICON //! Names for ECURSOR_ICON
const c8 *const GUICursorIconNames[ECI_COUNT + 1] = const c8 *const GUICursorIconNames[ECI_COUNT + 1] = {
{ "normal",
"normal", "cross",
"cross", "hand",
"hand", "help",
"help", "ibeam",
"ibeam", "no",
"no", "wait",
"wait", "sizeall",
"sizeall", "sizenesw",
"sizenesw", "sizenwse",
"sizenwse", "sizens",
"sizens", "sizewe",
"sizewe", "sizeup",
"sizeup", 0,
0}; };
//! structure used to set sprites as cursors. //! structure used to set sprites as cursors.
struct SCursorSprite struct SCursorSprite

View File

@ -45,17 +45,16 @@ enum EGUI_BUTTON_STATE
}; };
//! Names for gui button state icons //! Names for gui button state icons
const c8 *const GUIButtonStateNames[EGBS_COUNT + 1] = const c8 *const GUIButtonStateNames[EGBS_COUNT + 1] = {
{ "buttonUp",
"buttonUp", "buttonDown",
"buttonDown", "buttonMouseOver",
"buttonMouseOver", "buttonMouseOff",
"buttonMouseOff", "buttonFocused",
"buttonFocused", "buttonNotFocused",
"buttonNotFocused", "buttonDisabled",
"buttonDisabled", 0, // count
0 // count };
};
//! State of buttons used for drawing texture images. //! State of buttons used for drawing texture images.
//! Note that only a single state is active at a time //! Note that only a single state is active at a time
@ -87,19 +86,18 @@ enum EGUI_BUTTON_IMAGE_STATE
}; };
//! Names for gui button image states //! Names for gui button image states
const c8 *const GUIButtonImageStateNames[EGBIS_COUNT + 1] = const c8 *const GUIButtonImageStateNames[EGBIS_COUNT + 1] = {
{ "Image", // not "ImageUp" as it otherwise breaks serialization of old files
"Image", // not "ImageUp" as it otherwise breaks serialization of old files "ImageUpOver",
"ImageUpOver", "ImageUpFocused",
"ImageUpFocused", "ImageUpFocusedOver",
"ImageUpFocusedOver", "PressedImage", // not "ImageDown" as it otherwise breaks serialization of old files
"PressedImage", // not "ImageDown" as it otherwise breaks serialization of old files "ImageDownOver",
"ImageDownOver", "ImageDownFocused",
"ImageDownFocused", "ImageDownFocusedOver",
"ImageDownFocusedOver", "ImageDisabled",
"ImageDisabled", 0, // count
0 // count };
};
//! GUI Button interface. //! GUI Button interface.
/** \par This element can create the following events of type EGUI_EVENT_TYPE: /** \par This element can create the following events of type EGUI_EVENT_TYPE:

View File

@ -45,14 +45,13 @@ enum EGUI_SKIN_TYPE
}; };
//! Names for gui element types //! Names for gui element types
const c8 *const GUISkinTypeNames[EGST_COUNT + 1] = const c8 *const GUISkinTypeNames[EGST_COUNT + 1] = {
{ "windowsClassic",
"windowsClassic", "windowsMetallic",
"windowsMetallic", "burning",
"burning", "unknown",
"unknown", 0,
0, };
};
//! Enumeration for skin colors //! Enumeration for skin colors
enum EGUI_DEFAULT_COLOR enum EGUI_DEFAULT_COLOR
@ -114,35 +113,34 @@ enum EGUI_DEFAULT_COLOR
}; };
//! Names for default skin colors //! Names for default skin colors
const c8 *const GUISkinColorNames[EGDC_COUNT + 1] = const c8 *const GUISkinColorNames[EGDC_COUNT + 1] = {
{ "3DDarkShadow",
"3DDarkShadow", "3DShadow",
"3DShadow", "3DFace",
"3DFace", "3DHighlight",
"3DHighlight", "3DLight",
"3DLight", "ActiveBorder",
"ActiveBorder", "ActiveCaption",
"ActiveCaption", "AppWorkspace",
"AppWorkspace", "ButtonText",
"ButtonText", "GrayText",
"GrayText", "Highlight",
"Highlight", "HighlightText",
"HighlightText", "InactiveBorder",
"InactiveBorder", "InactiveCaption",
"InactiveCaption", "ToolTip",
"ToolTip", "ToolTipBackground",
"ToolTipBackground", "ScrollBar",
"ScrollBar", "Window",
"Window", "WindowSymbol",
"WindowSymbol", "Icon",
"Icon", "IconHighlight",
"IconHighlight", "GrayWindowSymbol",
"GrayWindowSymbol", "Editable",
"Editable", "GrayEditable",
"GrayEditable", "FocusedEditable",
"FocusedEditable", 0,
0, };
};
//! Enumeration for default sizes. //! Enumeration for default sizes.
enum EGUI_DEFAULT_SIZE enum EGUI_DEFAULT_SIZE
@ -200,32 +198,32 @@ enum EGUI_DEFAULT_SIZE
}; };
//! Names for default skin sizes //! Names for default skin sizes
const c8 *const GUISkinSizeNames[EGDS_COUNT + 1] = const c8 *const GUISkinSizeNames[EGDS_COUNT + 1] = {
{ "ScrollBarSize",
"ScrollBarSize", "MenuHeight",
"MenuHeight", "WindowButtonWidth",
"WindowButtonWidth", "CheckBoxWidth",
"CheckBoxWidth", "MessageBoxWidth",
"MessageBoxWidth", "MessageBoxHeight",
"MessageBoxHeight", "ButtonWidth",
"ButtonWidth", "ButtonHeight",
"ButtonHeight", "TextDistanceX",
"TextDistanceX", "TextDistanceY",
"TextDistanceY", "TitleBarTextX",
"TitleBarTextX", "TitleBarTextY",
"TitleBarTextY", "MessageBoxGapSpace",
"MessageBoxGapSpace", "MessageBoxMinTextWidth",
"MessageBoxMinTextWidth", "MessageBoxMaxTextWidth",
"MessageBoxMaxTextWidth", "MessageBoxMinTextHeight",
"MessageBoxMinTextHeight", "MessageBoxMaxTextHeight",
"MessageBoxMaxTextHeight", "ButtonPressedImageOffsetX",
"ButtonPressedImageOffsetX", "ButtonPressedImageOffsetY",
"ButtonPressedImageOffsetY", "ButtonPressedTextOffsetX",
"ButtonPressedTextOffsetX", "ButtonPressedTextOffsetY",
"ButtonPressedTextOffsetY", "ButtonPressedSpriteOffsetX",
"ButtonPressedSpriteOffsetX", "ButtonPressedSpriteOffsetY",
"ButtonPressedSpriteOffsetY", 0,
0}; };
enum EGUI_DEFAULT_TEXT enum EGUI_DEFAULT_TEXT
{ {
@ -251,17 +249,17 @@ enum EGUI_DEFAULT_TEXT
}; };
//! Names for default skin sizes //! Names for default skin sizes
const c8 *const GUISkinTextNames[EGDT_COUNT + 1] = const c8 *const GUISkinTextNames[EGDT_COUNT + 1] = {
{ "MessageBoxOkay",
"MessageBoxOkay", "MessageBoxCancel",
"MessageBoxCancel", "MessageBoxYes",
"MessageBoxYes", "MessageBoxNo",
"MessageBoxNo", "WindowButtonClose",
"WindowButtonClose", "WindowButtonMaximize",
"WindowButtonMaximize", "WindowButtonMinimize",
"WindowButtonMinimize", "WindowButtonRestore",
"WindowButtonRestore", 0,
0}; };
//! Customizable symbols for GUI //! Customizable symbols for GUI
enum EGUI_DEFAULT_ICON enum EGUI_DEFAULT_ICON
@ -318,32 +316,32 @@ enum EGUI_DEFAULT_ICON
EGDI_COUNT EGDI_COUNT
}; };
const c8 *const GUISkinIconNames[EGDI_COUNT + 1] = const c8 *const GUISkinIconNames[EGDI_COUNT + 1] = {
{ "windowMaximize",
"windowMaximize", "windowRestore",
"windowRestore", "windowClose",
"windowClose", "windowMinimize",
"windowMinimize", "windowResize",
"windowResize", "cursorUp",
"cursorUp", "cursorDown",
"cursorDown", "cursorLeft",
"cursorLeft", "cursorRight",
"cursorRight", "menuMore",
"menuMore", "checkBoxChecked",
"checkBoxChecked", "dropDown",
"dropDown", "smallCursorUp",
"smallCursorUp", "smallCursorDown",
"smallCursorDown", "radioButtonChecked",
"radioButtonChecked", "moreLeft",
"moreLeft", "moreRight",
"moreRight", "moreUp",
"moreUp", "moreDown",
"moreDown", "expand",
"expand", "collapse",
"collapse", "file",
"file", "directory",
"directory", 0,
0}; };
// Customizable fonts // Customizable fonts
enum EGUI_DEFAULT_FONT enum EGUI_DEFAULT_FONT
@ -363,14 +361,14 @@ enum EGUI_DEFAULT_FONT
EGDF_COUNT EGDF_COUNT
}; };
const c8 *const GUISkinFontNames[EGDF_COUNT + 1] = const c8 *const GUISkinFontNames[EGDF_COUNT + 1] = {
{ "defaultFont",
"defaultFont", "buttonFont",
"buttonFont", "windowFont",
"windowFont", "menuFont",
"menuFont", "tooltipFont",
"tooltipFont", 0,
0}; };
//! A skin modifies the look of the GUI elements. //! A skin modifies the look of the GUI elements.
class IGUISkin : virtual public IReferenceCounted class IGUISkin : virtual public IReferenceCounted

View File

@ -107,12 +107,12 @@ enum E_FOG_TYPE
EFT_FOG_EXP2 EFT_FOG_EXP2
}; };
const c8 *const FogTypeNames[] = const c8 *const FogTypeNames[] = {
{ "FogExp",
"FogExp", "FogLinear",
"FogLinear", "FogExp2",
"FogExp2", 0,
0}; };
//! Interface to driver which is able to perform 2d and 3d graphics functions. //! Interface to driver which is able to perform 2d and 3d graphics functions.
/** This interface is one of the most important interfaces of /** This interface is one of the most important interfaces of

View File

@ -31,12 +31,12 @@ enum E_VERTEX_TYPE
}; };
//! Array holding the built in vertex type names //! Array holding the built in vertex type names
const char *const sBuiltInVertexTypeNames[] = const char *const sBuiltInVertexTypeNames[] = {
{ "standard",
"standard", "2tcoords",
"2tcoords", "tangents",
"tangents", 0,
0}; };
//! standard vertex used by the Irrlicht engine. //! standard vertex used by the Irrlicht engine.
struct S3DVertex struct S3DVertex

View File

@ -88,27 +88,27 @@ enum ECOLOR_FORMAT
}; };
//! Names for ECOLOR_FORMAT types //! Names for ECOLOR_FORMAT types
const c8 *const ColorFormatNames[ECF_UNKNOWN + 2] = const c8 *const ColorFormatNames[ECF_UNKNOWN + 2] = {
{ "A1R5G5B5",
"A1R5G5B5", "R5G6B5",
"R5G6B5", "R8G8B8",
"R8G8B8", "A8R8G8B8",
"A8R8G8B8", "R16F",
"R16F", "G16R16F",
"G16R16F", "A16B16G16R16F",
"A16B16G16R16F", "R32F",
"R32F", "G32R32F",
"G32R32F", "A32B32G32R32F",
"A32B32G32R32F", "R8",
"R8", "R8G8",
"R8G8", "R16",
"R16", "R16G16",
"R16G16", "D16",
"D16", "D32",
"D32", "D24S8",
"D24S8", "UNKNOWN",
"UNKNOWN", 0,
0}; };
//! Creates a 16 bit A1R5G5B5 color //! Creates a 16 bit A1R5G5B5 color
inline u16 RGBA16(u32 r, u32 g, u32 b, u32 a = 0xFF) inline u16 RGBA16(u32 r, u32 g, u32 b, u32 a = 0xFF)

View File

@ -219,11 +219,11 @@ enum E_COLOR_MATERIAL
}; };
//! Names for polygon offset direction //! Names for polygon offset direction
const c8 *const PolygonOffsetDirectionNames[] = const c8 *const PolygonOffsetDirectionNames[] = {
{ "Back",
"Back", "Front",
"Front", 0,
0}; };
//! For SMaterial.ZWriteEnable //! For SMaterial.ZWriteEnable
enum E_ZWRITE enum E_ZWRITE
@ -243,12 +243,12 @@ enum E_ZWRITE
}; };
//! Names for E_ZWRITE //! Names for E_ZWRITE
const c8 *const ZWriteNames[] = const c8 *const ZWriteNames[] = {
{ "Off",
"Off", "Auto",
"Auto", "On",
"On", 0,
0}; };
//! Maximum number of texture an SMaterial can have. //! Maximum number of texture an SMaterial can have.
/** SMaterial might ignore some textures in most function, like assignment and comparison, /** SMaterial might ignore some textures in most function, like assignment and comparison,

View File

@ -11,124 +11,124 @@ namespace irr
{ {
namespace gui namespace gui
{ {
const u8 BuiltInFontData[] = const u8 BuiltInFontData[] = {
{ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x04, 0x03, 0x00, 0x00, 0x00, 0x31, 0x10, 0x7c, 0xf8, 0x00, 0x00, 0x00,
0x04, 0x03, 0x00, 0x00, 0x00, 0x31, 0x10, 0x7c, 0xf8, 0x00, 0x00, 0x00, 0x0f, 0x50, 0x4c, 0x54, 0x45, 0x18, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff,
0x0f, 0x50, 0x4c, 0x54, 0x45, 0x18, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xc8, 0xc8, 0xae,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xc8, 0xc8, 0xae, 0x00, 0x00, 0x05, 0x11, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x62, 0x50,
0x00, 0x00, 0x05, 0x11, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x62, 0x50, 0x06, 0xf0, 0x62, 0x06, 0xb6, 0xed, 0xf4, 0x3a, 0x0c, 0xff, 0xf1, 0xba,
0x06, 0xf0, 0x62, 0x06, 0xb6, 0xed, 0xf4, 0x3a, 0x0c, 0xff, 0xf1, 0xba, 0x00, 0xb9, 0x41, 0xde, 0x06, 0xd9, 0x7f, 0xba, 0x07, 0x98, 0x10, 0x6a,
0x00, 0xb9, 0x41, 0xde, 0x06, 0xd9, 0x7f, 0xba, 0x07, 0x98, 0x10, 0x6a, 0x1f, 0xd2, 0xe2, 0x9f, 0xa0, 0xf8, 0x74, 0xaa, 0x65, 0xc9, 0x32, 0x23,
0x1f, 0xd2, 0xe2, 0x9f, 0xa0, 0xf8, 0x74, 0xaa, 0x65, 0xc9, 0x32, 0x23, 0x39, 0xc4, 0xc1, 0xe9, 0xc5, 0x83, 0x0b, 0xd6, 0x58, 0x7d, 0xf4, 0xe9,
0x39, 0xc4, 0xc1, 0xe9, 0xc5, 0x83, 0x0b, 0xd6, 0x58, 0x7d, 0xf4, 0xe9, 0xec, 0x6a, 0xac, 0x6b, 0xd5, 0xc7, 0x9e, 0xfc, 0x17, 0x62, 0x09, 0x09,
0xec, 0x6a, 0xac, 0x6b, 0xd5, 0xc7, 0x9e, 0xfc, 0x17, 0x62, 0x09, 0x09, 0x4c, 0x60, 0x59, 0x0b, 0x99, 0x0a, 0x6b, 0xde, 0xc1, 0x60, 0x62, 0x82,
0x4c, 0x60, 0x59, 0x0b, 0x99, 0x0a, 0x6b, 0xde, 0xc1, 0x60, 0x62, 0x82, 0xd2, 0xc0, 0x00, 0x90, 0x58, 0x21, 0xc2, 0xc6, 0x02, 0xef, 0x00, 0x16,
0xd2, 0xc0, 0x00, 0x90, 0x58, 0x21, 0xc2, 0xc6, 0x02, 0xef, 0x00, 0x16, 0xc1, 0x2a, 0x2e, 0x46, 0x13, 0xb5, 0x0a, 0x00, 0x48, 0xc5, 0xef, 0x62,
0xc1, 0x2a, 0x2e, 0x46, 0x13, 0xb5, 0x0a, 0x00, 0x48, 0xc5, 0xef, 0x62, 0x63, 0xde, 0x00, 0xd4, 0x28, 0xea, 0xc7, 0x77, 0x8a, 0x82, 0x07, 0xa0,
0x63, 0xde, 0x00, 0xd4, 0x28, 0xea, 0xc7, 0x77, 0x8a, 0x82, 0x07, 0xa0, 0xcb, 0xe0, 0x0c, 0x80, 0x42, 0x41, 0x0b, 0x20, 0x83, 0xb0, 0xc1, 0xc2,
0xcb, 0xe0, 0x0c, 0x80, 0x42, 0x41, 0x0b, 0x20, 0x83, 0xb0, 0xc1, 0xc2, 0x8d, 0x22, 0x46, 0x12, 0x13, 0x1c, 0xec, 0x5b, 0x05, 0x03, 0xd0, 0x9d,
0x8d, 0x22, 0x46, 0x12, 0x13, 0x1c, 0xec, 0x5b, 0x05, 0x03, 0xd0, 0x9d, 0xc9, 0x00, 0xbc, 0x68, 0x21, 0x10, 0xa4, 0x01, 0xe8, 0x8a, 0x68, 0xb1,
0xc9, 0x00, 0xbc, 0x68, 0x21, 0x10, 0xa4, 0x01, 0xe8, 0x8a, 0x68, 0xb1, 0x24, 0x73, 0x88, 0x30, 0x2d, 0xc8, 0x98, 0x11, 0x66, 0x7e, 0x02, 0x7c,
0x24, 0x73, 0x88, 0x30, 0x2d, 0xc8, 0x98, 0x11, 0x66, 0x7e, 0x02, 0x7c, 0x26, 0x16, 0x6f, 0xc8, 0xf3, 0x0b, 0x9e, 0xd0, 0xf1, 0xb9, 0xfc, 0x3e,
0x26, 0x16, 0x6f, 0xc8, 0xf3, 0x0b, 0x9e, 0xd0, 0xf1, 0xb9, 0xfc, 0x3e, 0x9d, 0x3d, 0x79, 0xd2, 0x61, 0xf4, 0xeb, 0x4c, 0x7e, 0x2c, 0x6e, 0x0e,
0x9d, 0x3d, 0x79, 0xd2, 0x61, 0xf4, 0xeb, 0x4c, 0x7e, 0x2c, 0x6e, 0x0e, 0x41, 0x29, 0xab, 0x37, 0x53, 0xed, 0xf2, 0x46, 0xe3, 0x59, 0xfd, 0x53,
0x41, 0x29, 0xab, 0x37, 0x53, 0xed, 0xf2, 0x46, 0xe3, 0x59, 0xfd, 0x53, 0x09, 0x28, 0x80, 0x51, 0x8c, 0xb2, 0x4c, 0x42, 0xca, 0xdc, 0x32, 0xb4,
0x09, 0x28, 0x80, 0x51, 0x8c, 0xb2, 0x4c, 0x42, 0xca, 0xdc, 0x32, 0xb4, 0x26, 0xc8, 0xb2, 0x9a, 0x0f, 0xee, 0x2e, 0x8c, 0x29, 0x1d, 0xeb, 0xd4,
0x26, 0xc8, 0xb2, 0x9a, 0x0f, 0xee, 0x2e, 0x8c, 0x29, 0x1d, 0xeb, 0xd4, 0x54, 0x3d, 0x00, 0x62, 0x03, 0x70, 0x93, 0xfb, 0x01, 0xdd, 0xa6, 0x52,
0x54, 0x3d, 0x00, 0x62, 0x03, 0x70, 0x93, 0xfb, 0x01, 0xdd, 0xa6, 0x52, 0xc2, 0xb8, 0x81, 0x98, 0x3a, 0x4a, 0x01, 0xca, 0x57, 0xdb, 0x92, 0xf0,
0xc2, 0xb8, 0x81, 0x98, 0x3a, 0x4a, 0x01, 0xca, 0x57, 0xdb, 0x92, 0xf0, 0x37, 0xe3, 0x0a, 0x26, 0x15, 0x0d, 0x0d, 0x80, 0x59, 0x2a, 0x8b, 0x1f,
0x37, 0xe3, 0x0a, 0x26, 0x15, 0x0d, 0x0d, 0x80, 0x59, 0x2a, 0x8b, 0x1f, 0x01, 0xa6, 0x02, 0x50, 0x3f, 0xcd, 0x3f, 0xb6, 0xe0, 0xb6, 0x40, 0xbd,
0x01, 0xa6, 0x02, 0x50, 0x3f, 0xcd, 0x3f, 0xb6, 0xe0, 0xb6, 0x40, 0xbd, 0x60, 0x8a, 0x47, 0xb3, 0x66, 0xe6, 0xf3, 0x10, 0xa7, 0x7e, 0x8b, 0x9e,
0x60, 0x8a, 0x47, 0xb3, 0x66, 0xe6, 0xf3, 0x10, 0xa7, 0x7e, 0x8b, 0x9e, 0x65, 0x18, 0x4f, 0x01, 0xb1, 0x89, 0xc2, 0x7f, 0x2f, 0xe5, 0xe6, 0x10,
0x65, 0x18, 0x4f, 0x01, 0xb1, 0x89, 0xc2, 0x7f, 0x2f, 0xe5, 0xe6, 0x10, 0xb4, 0xac, 0xde, 0x4d, 0xb5, 0xcb, 0xdf, 0x34, 0xde, 0x92, 0x1e, 0x1b,
0xb4, 0xac, 0xde, 0x4d, 0xb5, 0xcb, 0xdf, 0x34, 0xde, 0x92, 0x1e, 0x1b, 0x73, 0x0f, 0xe7, 0xa0, 0x73, 0x9f, 0x26, 0x94, 0xcb, 0x75, 0x3e, 0x11,
0x73, 0x0f, 0xe7, 0xa0, 0x73, 0x9f, 0x26, 0x94, 0xcb, 0x75, 0x3e, 0x11, 0xdd, 0xfd, 0x40, 0x4f, 0x9b, 0x90, 0x7c, 0x7f, 0x85, 0x63, 0x45, 0x42,
0xdd, 0xfd, 0x40, 0x4f, 0x9b, 0x90, 0x7c, 0x7f, 0x85, 0x63, 0x45, 0x42, 0x30, 0x41, 0x1b, 0x71, 0x67, 0x8a, 0x98, 0x3d, 0x6b, 0x60, 0x07, 0x90,
0x30, 0x41, 0x1b, 0x71, 0x67, 0x8a, 0x98, 0x3d, 0x6b, 0x60, 0x07, 0x90, 0xc0, 0x86, 0x59, 0xb1, 0xa9, 0xbc, 0x06, 0x28, 0x11, 0xc4, 0x6c, 0x5c,
0xc0, 0x86, 0x59, 0xb1, 0xa9, 0xbc, 0x06, 0x28, 0x11, 0xc4, 0x6c, 0x5c, 0x2e, 0x02, 0x3c, 0x8c, 0xa9, 0xc8, 0xc4, 0x1d, 0xdb, 0x82, 0x24, 0x12,
0x2e, 0x02, 0x3c, 0x8c, 0xa9, 0xc8, 0xc4, 0x1d, 0xdb, 0x82, 0x24, 0x12, 0xd0, 0x4b, 0x80, 0x2d, 0x3e, 0x52, 0x56, 0x96, 0xa7, 0x4d, 0xf0, 0xd1,
0xd0, 0x4b, 0x80, 0x2d, 0x3e, 0x52, 0x56, 0x96, 0xa7, 0x4d, 0xf0, 0xd1, 0x42, 0x37, 0xaa, 0x7f, 0xf5, 0x0e, 0x00, 0xdd, 0x01, 0x48, 0xf7, 0x06,
0x42, 0x37, 0xaa, 0x7f, 0xf5, 0x0e, 0x00, 0xdd, 0x01, 0x48, 0xf7, 0x06, 0x0c, 0xf1, 0x00, 0x4c, 0xe1, 0xc9, 0x09, 0x40, 0xf6, 0x16, 0xfe, 0x4d,
0x0c, 0xf1, 0x00, 0x4c, 0xe1, 0xc9, 0x09, 0x40, 0xf6, 0x16, 0xfe, 0x4d, 0x32, 0x7f, 0x31, 0x7f, 0x2f, 0x43, 0xca, 0xd1, 0x3a, 0x27, 0x9d, 0xfb,
0x32, 0x7f, 0x31, 0x7f, 0x2f, 0x43, 0xca, 0xd1, 0x3a, 0x27, 0x9d, 0xfb, 0x34, 0xa1, 0x5c, 0xae, 0xd3, 0x7b, 0xc5, 0x30, 0xf3, 0x5a, 0xce, 0xa3,
0x34, 0xa1, 0x5c, 0xae, 0xd3, 0x7b, 0xc5, 0x30, 0xf3, 0x5a, 0xce, 0xa3, 0x0e, 0xa3, 0xcd, 0x68, 0x62, 0xc7, 0x46, 0xba, 0xc2, 0x9f, 0x88, 0x00,
0x0e, 0xa3, 0xcd, 0x68, 0x62, 0xc7, 0x46, 0xba, 0xc2, 0x9f, 0x88, 0x00, 0x3c, 0xef, 0x5d, 0xfe, 0x49, 0xe6, 0xf5, 0x69, 0x60, 0x1b, 0x7e, 0x02,
0x3c, 0xef, 0x5d, 0xfe, 0x49, 0xe6, 0xf5, 0x69, 0x60, 0x1b, 0x7e, 0x02, 0xf0, 0x6b, 0x00, 0x97, 0xbd, 0x04, 0x85, 0xac, 0x98, 0xb0, 0x62, 0x42,
0xf0, 0x6b, 0x00, 0x97, 0xbd, 0x04, 0x85, 0xac, 0x98, 0xb0, 0x62, 0x42, 0x83, 0xc4, 0x32, 0x21, 0x78, 0xad, 0xb9, 0xa3, 0x9a, 0x5c, 0x68, 0x09,
0x83, 0xc4, 0x32, 0x21, 0x78, 0xad, 0xb9, 0xa3, 0x9a, 0x5c, 0x68, 0x09, 0x17, 0x4d, 0x58, 0xc6, 0x52, 0x9d, 0xd1, 0x96, 0x35, 0x00, 0x6b, 0x3a,
0x17, 0x4d, 0x58, 0xc6, 0x52, 0x9d, 0xd1, 0x96, 0x35, 0x00, 0x6b, 0x3a, 0xdc, 0x2d, 0x00, 0x3b, 0x80, 0x5e, 0x00, 0x34, 0xdd, 0x18, 0x0d, 0x16,
0xdc, 0x2d, 0x00, 0x3b, 0x80, 0x5e, 0x00, 0x34, 0xdd, 0x18, 0x0d, 0x16, 0x5b, 0x05, 0x04, 0xa3, 0xdc, 0x01, 0x98, 0x16, 0xe6, 0x92, 0x56, 0x80,
0x5b, 0x05, 0x04, 0xa3, 0xdc, 0x01, 0x98, 0x16, 0xe6, 0x92, 0x56, 0x80, 0xa5, 0x1c, 0x2d, 0x54, 0xf4, 0xe2, 0xac, 0x8e, 0x84, 0x5b, 0x7c, 0x00,
0xa5, 0x1c, 0x2d, 0x54, 0xf4, 0xe2, 0xac, 0x8e, 0x84, 0x5b, 0x7c, 0x00, 0x46, 0xe4, 0x37, 0x00, 0xcc, 0x4d, 0x9e, 0xc3, 0xcc, 0x67, 0x2f, 0x15,
0x46, 0xe4, 0x37, 0x00, 0xcc, 0x4d, 0x9e, 0xc3, 0xcc, 0x67, 0x2f, 0x15, 0x75, 0x46, 0xcb, 0xdc, 0x67, 0x4d, 0xc7, 0x46, 0xd6, 0x4a, 0x2f, 0x18,
0x75, 0x46, 0xcb, 0xdc, 0x67, 0x4d, 0xc7, 0x46, 0xd6, 0x4a, 0x2f, 0x18, 0x6f, 0x6b, 0xb9, 0xff, 0x57, 0x4c, 0x16, 0x7e, 0x4b, 0xa9, 0x0c, 0x33,
0x6f, 0x6b, 0xb9, 0xff, 0x57, 0x4c, 0x16, 0x7e, 0x4b, 0xa9, 0x0c, 0x33, 0x3e, 0x01, 0x30, 0x42, 0xc3, 0xaf, 0xcf, 0x2a, 0x08, 0xa2, 0x8c, 0xfe,
0x3e, 0x01, 0x30, 0x42, 0xc3, 0xaf, 0xcf, 0x2a, 0x08, 0xa2, 0x8c, 0xfe, 0xac, 0x02, 0x41, 0xdc, 0x3e, 0xf8, 0x14, 0x40, 0x00, 0x9f, 0x56, 0x30,
0xac, 0x02, 0x41, 0xdc, 0x3e, 0xf8, 0x14, 0x40, 0x00, 0x9f, 0x56, 0x30, 0x34, 0x07, 0x63, 0xde, 0x95, 0x73, 0xdb, 0xa7, 0x00, 0xf7, 0xbb, 0xf2,
0x34, 0x07, 0x63, 0xde, 0x95, 0x73, 0xdb, 0xa7, 0x00, 0xf7, 0xbb, 0xf2, 0xdb, 0x3a, 0xdc, 0x5f, 0xf3, 0xbe, 0x61, 0xfb, 0xf6, 0x5d, 0x5a, 0xa7,
0xdb, 0x3a, 0xdc, 0x5f, 0xf3, 0xbe, 0x61, 0xfb, 0xf6, 0x5d, 0x5a, 0xa7, 0x84, 0x5d, 0xbc, 0xdd, 0x7f, 0x00, 0x36, 0x75, 0xcc, 0x25, 0x7e, 0x90,
0x84, 0x5d, 0xbc, 0xdd, 0x7f, 0x00, 0x36, 0x75, 0xcc, 0x25, 0x7e, 0x90, 0xe4, 0x8d, 0x76, 0x2c, 0xa1, 0x6c, 0xad, 0xcd, 0x09, 0xb3, 0x11, 0x07,
0xe4, 0x8d, 0x76, 0x2c, 0xa1, 0x6c, 0xad, 0xcd, 0x09, 0xb3, 0x11, 0x07, 0xd0, 0x18, 0x70, 0x43, 0x9d, 0xa9, 0x11, 0xcb, 0xf7, 0x53, 0x2e, 0x36,
0xd0, 0x18, 0x70, 0x43, 0x9d, 0xa9, 0x11, 0xcb, 0xf7, 0x53, 0x2e, 0x36, 0xa0, 0x13, 0xc0, 0xcc, 0x25, 0xb3, 0x00, 0x06, 0x6c, 0x33, 0x32, 0x4e,
0xa0, 0x13, 0xc0, 0xcc, 0x25, 0xb3, 0x00, 0x06, 0x6c, 0x33, 0x32, 0x4e, 0x13, 0x91, 0x86, 0x30, 0x54, 0x04, 0xe3, 0x22, 0x1d, 0x15, 0xd8, 0x8a,
0x13, 0x91, 0x86, 0x30, 0x54, 0x04, 0xe3, 0x22, 0x1d, 0x15, 0xd8, 0x8a, 0x35, 0x15, 0x28, 0x34, 0x67, 0x66, 0x04, 0x1b, 0xec, 0x62, 0x18, 0x77,
0x35, 0x15, 0x28, 0x34, 0x67, 0x66, 0x04, 0x1b, 0xec, 0x62, 0x18, 0x77, 0x73, 0x26, 0x59, 0x83, 0x3d, 0xfd, 0x0d, 0x00, 0x01, 0xc6, 0x91, 0x8c,
0x73, 0x26, 0x59, 0x83, 0x3d, 0xfd, 0x0d, 0x00, 0x01, 0xc6, 0x91, 0x8c, 0x53, 0x43, 0x52, 0x90, 0x0a, 0x36, 0x23, 0x5b, 0x05, 0x36, 0xd9, 0x32,
0x53, 0x43, 0x52, 0x90, 0x0a, 0x36, 0x23, 0x5b, 0x05, 0x36, 0xd9, 0x32, 0x7a, 0x02, 0x35, 0x73, 0x0e, 0xbf, 0x4a, 0x8b, 0x7c, 0x99, 0x96, 0x77,
0x7a, 0x02, 0x35, 0x73, 0x0e, 0xbf, 0x4a, 0x8b, 0x7c, 0x99, 0x96, 0x77, 0xee, 0x95, 0x32, 0x3f, 0xca, 0x93, 0x67, 0xdf, 0xbe, 0xd5, 0x27, 0x25,
0xee, 0x95, 0x32, 0x3f, 0xca, 0x93, 0x67, 0xdf, 0xbe, 0xd5, 0x27, 0x25, 0xe9, 0x90, 0xfc, 0xfc, 0x01, 0xd8, 0xd5, 0x9a, 0x8e, 0x0f, 0x7c, 0x61,
0xe9, 0x90, 0xfc, 0xfc, 0x01, 0xd8, 0xd5, 0x9a, 0x8e, 0x0f, 0x7c, 0x61, 0x1e, 0xd2, 0x25, 0xf1, 0x10, 0x17, 0x94, 0xd3, 0xe6, 0xb1, 0x02, 0xff,
0x1e, 0xd2, 0x25, 0xf1, 0x10, 0x17, 0x94, 0xd3, 0xe6, 0xb1, 0x02, 0xff, 0xc3, 0x8f, 0x4b, 0x97, 0x2f, 0x5d, 0xd0, 0x44, 0x66, 0x5b, 0x6b, 0x9c,
0xc3, 0x8f, 0x4b, 0x97, 0x2f, 0x5d, 0xd0, 0x44, 0x66, 0x5b, 0x6b, 0x9c, 0x1b, 0x29, 0x8c, 0x99, 0x05, 0x37, 0x80, 0x86, 0x53, 0x34, 0xe0, 0xd9,
0x1b, 0x29, 0x8c, 0x99, 0x05, 0x37, 0x80, 0x86, 0x53, 0x34, 0xe0, 0xd9, 0x76, 0x12, 0x63, 0x8c, 0x62, 0x82, 0xe2, 0xd1, 0x01, 0x25, 0x41, 0x68,
0x76, 0x12, 0x63, 0x8c, 0x62, 0x82, 0xe2, 0xd1, 0x01, 0x25, 0x41, 0x68, 0xee, 0xd7, 0xca, 0x0f, 0x00, 0xe9, 0x47, 0xc2, 0xa6, 0x9e, 0x47, 0xd6,
0xee, 0xd7, 0xca, 0x0f, 0x00, 0xe9, 0x47, 0xc2, 0xa6, 0x9e, 0x47, 0xd6, 0x32, 0x8d, 0x41, 0x99, 0xa5, 0xdd, 0x90, 0x58, 0x1c, 0x15, 0x34, 0xd9,
0x32, 0x8d, 0x41, 0x99, 0xa5, 0xdd, 0x90, 0x58, 0x1c, 0x15, 0x34, 0xd9, 0x0a, 0x96, 0x7e, 0x05, 0x18, 0x53, 0x7d, 0x59, 0x01, 0x39, 0x01, 0x94,
0x0a, 0x96, 0x7e, 0x05, 0x18, 0x53, 0x7d, 0x59, 0x01, 0x39, 0x01, 0x94, 0x90, 0xf8, 0x30, 0xbf, 0xb6, 0x80, 0x6e, 0x00, 0xe8, 0x1e, 0x57, 0x4c,
0x90, 0xf8, 0x30, 0xbf, 0xb6, 0x80, 0x6e, 0x00, 0xe8, 0x1e, 0x57, 0x4c, 0x5e, 0xb5, 0xf0, 0xf2, 0x10, 0x7f, 0x27, 0xe0, 0xe7, 0x12, 0xde, 0x90,
0x5e, 0xb5, 0xf0, 0xf2, 0x10, 0x7f, 0x27, 0xe0, 0xe7, 0x12, 0xde, 0x90, 0xa1, 0xe7, 0x98, 0x65, 0x4f, 0x7d, 0xf6, 0x69, 0xc6, 0x69, 0x86, 0xc3,
0xa1, 0xe7, 0x98, 0x65, 0x4f, 0x7d, 0xf6, 0x69, 0xc6, 0x69, 0x86, 0xc3, 0x7d, 0xd1, 0x9a, 0x8b, 0x12, 0x5a, 0x2a, 0x5d, 0xa9, 0x3e, 0x8e, 0x61,
0x7d, 0xd1, 0x9a, 0x8b, 0x12, 0x5a, 0x2a, 0x5d, 0xa9, 0x3e, 0x8e, 0x61, 0xa6, 0x77, 0xf2, 0x0e, 0x9d, 0x26, 0x26, 0x2a, 0x65, 0x98, 0xda, 0x98,
0xa6, 0x77, 0xf2, 0x0e, 0x9d, 0x26, 0x26, 0x2a, 0x65, 0x98, 0xda, 0x98, 0x26, 0x5f, 0x4b, 0xb7, 0xe3, 0x54, 0xfc, 0xe2, 0x2b, 0x99, 0x44, 0x63,
0x26, 0x5f, 0x4b, 0xb7, 0xe3, 0x54, 0xfc, 0xe2, 0x2b, 0x99, 0x44, 0x63, 0xab, 0x03, 0x95, 0xf3, 0x6b, 0x04, 0xac, 0x1b, 0x00, 0x36, 0x59, 0xe3,
0xab, 0x03, 0x95, 0xf3, 0x6b, 0x04, 0xac, 0x1b, 0x00, 0x36, 0x59, 0xe3, 0x6f, 0x32, 0x7b, 0x84, 0x7d, 0x07, 0x10, 0x58, 0x94, 0x15, 0xc7, 0xd0,
0x6f, 0x32, 0x7b, 0x84, 0x7d, 0x07, 0x10, 0x58, 0x94, 0x15, 0xc7, 0xd0, 0x09, 0x47, 0x05, 0xfe, 0x11, 0xc0, 0x02, 0x73, 0x0e, 0xee, 0xa0, 0xa3,
0x09, 0x47, 0x05, 0xfe, 0x11, 0xc0, 0x02, 0x73, 0x0e, 0xee, 0xa0, 0xa3, 0x82, 0xf0, 0x02, 0x20, 0x73, 0x91, 0x3e, 0x86, 0x0c, 0xd4, 0x71, 0x88,
0x82, 0xf0, 0x02, 0x20, 0x73, 0x91, 0x3e, 0x86, 0x0c, 0xd4, 0x71, 0x88, 0xc9, 0x38, 0x63, 0xe6, 0x95, 0x72, 0x6b, 0x80, 0x64, 0xa6, 0x7c, 0x24,
0xc9, 0x38, 0x63, 0xe6, 0x95, 0x72, 0x6b, 0x80, 0x64, 0xa6, 0x7c, 0x24, 0x7f, 0xcf, 0xf5, 0x72, 0xb2, 0xe3, 0xdd, 0x54, 0xf9, 0x3a, 0x87, 0x7d,
0x7f, 0xcf, 0xf5, 0x72, 0xb2, 0xe3, 0xdd, 0x54, 0xf9, 0x3a, 0x87, 0x7d, 0x5a, 0x4e, 0x5e, 0xf4, 0x59, 0xce, 0x5d, 0xef, 0x64, 0x9e, 0x2d, 0x70,
0x5a, 0x4e, 0x5e, 0xf4, 0x59, 0xce, 0x5d, 0xef, 0x64, 0x9e, 0x2d, 0x70, 0xfe, 0x23, 0xac, 0xae, 0x8c, 0x41, 0x55, 0x53, 0xa9, 0x77, 0xfe, 0xaa,
0xfe, 0x23, 0xac, 0xae, 0x8c, 0x41, 0x55, 0x53, 0xa9, 0x77, 0xfe, 0xaa, 0x50, 0x92, 0x00, 0xf3, 0x03, 0x47, 0x92, 0x00, 0xf6, 0xc3, 0xcf, 0x37,
0x50, 0x92, 0x00, 0xf3, 0x03, 0x47, 0x92, 0x00, 0xf6, 0xc3, 0xcf, 0x37, 0x2e, 0x65, 0x8a, 0x8a, 0x82, 0xad, 0x01, 0x38, 0x44, 0xfe, 0xe7, 0x2f,
0x2e, 0x65, 0x8a, 0x8a, 0x82, 0xad, 0x01, 0x38, 0x44, 0xfe, 0xe7, 0x2f, 0x40, 0x9a, 0x99, 0x37, 0x32, 0x62, 0xc2, 0x5d, 0x8d, 0x72, 0x52, 0xc9,
0x40, 0x9a, 0x99, 0x37, 0x32, 0x62, 0xc2, 0x5d, 0x8d, 0x72, 0x52, 0xc9, 0x0c, 0x0b, 0xa7, 0x85, 0x01, 0xe8, 0x12, 0xa7, 0x06, 0xdf, 0x00, 0x74,
0x0c, 0x0b, 0xa7, 0x85, 0x01, 0xe8, 0x12, 0xa7, 0x06, 0xdf, 0x00, 0x74, 0x00, 0x80, 0x19, 0x00, 0x17, 0xed, 0x50, 0x4c, 0xf4, 0x0b, 0x00, 0x41,
0x00, 0x80, 0x19, 0x00, 0x17, 0xed, 0x50, 0x4c, 0xf4, 0x0b, 0x00, 0x41, 0x67, 0x05, 0xf7, 0x16, 0x20, 0x07, 0x99, 0x91, 0x11, 0x03, 0xf0, 0xbe,
0x67, 0x05, 0xf7, 0x16, 0x20, 0x07, 0x99, 0x91, 0x11, 0x03, 0xf0, 0xbe, 0x08, 0x51, 0xfd, 0x10, 0xc0, 0xed, 0x7a, 0x78, 0x40, 0x39, 0xf9, 0xec,
0x08, 0x51, 0xfd, 0x10, 0xc0, 0xed, 0x7a, 0x78, 0x40, 0x39, 0xf9, 0xec, 0x53, 0xe7, 0xd4, 0x57, 0x64, 0xee, 0x16, 0x28, 0x95, 0xd9, 0xff, 0x4f,
0x53, 0xe7, 0xd4, 0x57, 0x64, 0xee, 0x16, 0x28, 0x95, 0xd9, 0xff, 0x4f, 0x3c, 0x7f, 0x8f, 0x99, 0xcc, 0x7c, 0x72, 0xb8, 0x46, 0x47, 0x92, 0xf0,
0x3c, 0x7f, 0x8f, 0x99, 0xcc, 0x7c, 0x72, 0xb8, 0x46, 0x47, 0x92, 0xf0, 0xb9, 0x14, 0x40, 0xbe, 0x73, 0xd0, 0x2e, 0xdb, 0x5e, 0x81, 0x6b, 0x3d,
0xb9, 0x14, 0x40, 0xbe, 0x73, 0xd0, 0x2e, 0xdb, 0x5e, 0x81, 0x6b, 0x3d, 0xe7, 0xa1, 0x84, 0x8c, 0xd3, 0x1c, 0x2f, 0x3f, 0xc4, 0x13, 0x40, 0x96,
0xe7, 0xa1, 0x84, 0x8c, 0xd3, 0x1c, 0x2f, 0x3f, 0xc4, 0x13, 0x40, 0x96, 0x43, 0x20, 0xee, 0x32, 0x62, 0x0a, 0x40, 0x4d, 0x44, 0x41, 0x49, 0x88,
0x43, 0x20, 0xee, 0x32, 0x62, 0x0a, 0x40, 0x4d, 0x44, 0x41, 0x49, 0x88, 0x63, 0x2d, 0x0f, 0x96, 0x4d, 0x48, 0x19, 0x53, 0x18, 0x17, 0x7f, 0x00,
0x63, 0x2d, 0x0f, 0x96, 0x4d, 0x48, 0x19, 0x53, 0x18, 0x17, 0x7f, 0x00, 0x66, 0x4e, 0x62, 0x12, 0x2b, 0x4e, 0xe4, 0x34, 0xcd, 0x98, 0x44, 0x96,
0x66, 0x4e, 0x62, 0x12, 0x2b, 0x4e, 0xe4, 0x34, 0xcd, 0x98, 0x44, 0x96, 0x21, 0x64, 0x3a, 0x98, 0xae, 0x8d, 0x32, 0x15, 0x28, 0x09, 0x0a, 0xad,
0x21, 0x64, 0x3a, 0x98, 0xae, 0x8d, 0x32, 0x15, 0x28, 0x09, 0x0a, 0xad, 0x60, 0xcd, 0xc3, 0xb4, 0x30, 0x15, 0x30, 0x08, 0x61, 0x00, 0x20, 0xe3,
0x60, 0xcd, 0xc3, 0xb4, 0x30, 0x15, 0x30, 0x08, 0x61, 0x00, 0x20, 0xe3, 0x35, 0xd2, 0x33, 0x88, 0xd9, 0xe5, 0x7e, 0x06, 0xb2, 0x06, 0xa0, 0x47,
0x35, 0xd2, 0x33, 0x88, 0xd9, 0xe5, 0x7e, 0x06, 0xb2, 0x06, 0xa0, 0x47, 0x94, 0xec, 0x20, 0xfe, 0x91, 0xa7, 0x73, 0x06, 0xf9, 0x3e, 0x83, 0xf7,
0x94, 0xec, 0x20, 0xfe, 0x91, 0xa7, 0x73, 0x06, 0xf9, 0x3e, 0x83, 0xf7, 0xf8, 0xd0, 0x0e, 0xda, 0x4d, 0x65, 0xff, 0x3f, 0xf1, 0xfc, 0x7d, 0xcd,
0xf8, 0xd0, 0x0e, 0xda, 0x4d, 0x65, 0xff, 0x3f, 0xf1, 0xfc, 0x7d, 0xcd, 0x64, 0xe6, 0x93, 0x33, 0xf3, 0x21, 0xf2, 0x76, 0x53, 0x78, 0xfc, 0x7f,
0x64, 0xe6, 0x93, 0x33, 0xf3, 0x21, 0xf2, 0x76, 0x53, 0x78, 0xfc, 0x7f, 0x94, 0xa4, 0x46, 0x17, 0x17, 0x06, 0xca, 0x80, 0xa3, 0x88, 0x03, 0xa5,
0x94, 0xa4, 0x46, 0x17, 0x17, 0x06, 0xca, 0x80, 0xa3, 0x88, 0x03, 0xa5, 0x06, 0x88, 0x30, 0xb0, 0xb8, 0x90, 0x69, 0x88, 0x00, 0xd8, 0x00, 0x17,
0x06, 0x88, 0x30, 0xb0, 0xb8, 0x90, 0x69, 0x88, 0x00, 0xd8, 0x00, 0x17, 0x07, 0x17, 0x41, 0xf2, 0x3c, 0xc2, 0x08, 0x8a, 0x55, 0x47, 0x41, 0x41,
0x07, 0x17, 0x41, 0xf2, 0x3c, 0xc2, 0x08, 0x8a, 0x55, 0x47, 0x41, 0x41, 0x07, 0x20, 0x16, 0x21, 0xdb, 0x05, 0x14, 0x19, 0xc0, 0x30, 0x28, 0x0c,
0x07, 0x20, 0x16, 0x21, 0xdb, 0x05, 0x14, 0x19, 0xc0, 0x30, 0x28, 0x0c, 0x70, 0x71, 0x01, 0x06, 0x22, 0x10, 0x90, 0x3d, 0x47, 0x82, 0x48, 0xa6,
0x70, 0x71, 0x01, 0x06, 0x22, 0x10, 0x90, 0x3d, 0x47, 0x82, 0x48, 0xa6, 0x23, 0x13, 0x8c, 0x02, 0x00, 0xe7, 0xfb, 0x84, 0x1b, 0xf9, 0x8e, 0xc0,
0x23, 0x13, 0x8c, 0x02, 0x00, 0xe7, 0xfb, 0x84, 0x1b, 0xf9, 0x8e, 0xc0, 0x23, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
0x23, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
0x82}; };
const u32 BuiltInFontDataSize = sizeof(BuiltInFontData); const u32 BuiltInFontDataSize = sizeof(BuiltInFontData);
} // end namespace gui } // end namespace gui

View File

@ -784,32 +784,32 @@ struct blitterTable
tExecuteBlit func; tExecuteBlit func;
}; };
static const blitterTable blitTable[] = static const blitterTable blitTable[] = {
{ {BLITTER_TEXTURE, -2, -2, executeBlit_TextureCopy_x_to_x},
{BLITTER_TEXTURE, -2, -2, executeBlit_TextureCopy_x_to_x}, {BLITTER_TEXTURE, video::ECF_A1R5G5B5, video::ECF_A8R8G8B8, executeBlit_TextureCopy_32_to_16},
{BLITTER_TEXTURE, video::ECF_A1R5G5B5, video::ECF_A8R8G8B8, executeBlit_TextureCopy_32_to_16}, {BLITTER_TEXTURE, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16},
{BLITTER_TEXTURE, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16}, {BLITTER_TEXTURE, video::ECF_A8R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCopy_16_to_32},
{BLITTER_TEXTURE, video::ECF_A8R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCopy_16_to_32}, {BLITTER_TEXTURE, video::ECF_A8R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_32},
{BLITTER_TEXTURE, video::ECF_A8R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_32}, {BLITTER_TEXTURE, video::ECF_R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCopy_16_to_24},
{BLITTER_TEXTURE, video::ECF_R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCopy_16_to_24}, {BLITTER_TEXTURE, video::ECF_R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCopy_32_to_24},
{BLITTER_TEXTURE, video::ECF_R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCopy_32_to_24}, {BLITTER_TEXTURE_ALPHA_BLEND, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureBlend_16_to_16},
{BLITTER_TEXTURE_ALPHA_BLEND, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureBlend_16_to_16}, {BLITTER_TEXTURE_ALPHA_BLEND, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureBlend_32_to_32},
{BLITTER_TEXTURE_ALPHA_BLEND, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureBlend_32_to_32}, {BLITTER_TEXTURE_ALPHA_COLOR_BLEND, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureBlendColor_16_to_16},
{BLITTER_TEXTURE_ALPHA_COLOR_BLEND, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureBlendColor_16_to_16}, {BLITTER_TEXTURE_ALPHA_COLOR_BLEND, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureBlendColor_32_to_32},
{BLITTER_TEXTURE_ALPHA_COLOR_BLEND, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureBlendColor_32_to_32}, {BLITTER_COLOR, video::ECF_A1R5G5B5, -1, executeBlit_Color_16_to_16},
{BLITTER_COLOR, video::ECF_A1R5G5B5, -1, executeBlit_Color_16_to_16}, {BLITTER_COLOR, video::ECF_A8R8G8B8, -1, executeBlit_Color_32_to_32},
{BLITTER_COLOR, video::ECF_A8R8G8B8, -1, executeBlit_Color_32_to_32}, {BLITTER_COLOR_ALPHA, video::ECF_A1R5G5B5, -1, executeBlit_ColorAlpha_16_to_16},
{BLITTER_COLOR_ALPHA, video::ECF_A1R5G5B5, -1, executeBlit_ColorAlpha_16_to_16}, {BLITTER_COLOR_ALPHA, video::ECF_A8R8G8B8, -1, executeBlit_ColorAlpha_32_to_32},
{BLITTER_COLOR_ALPHA, video::ECF_A8R8G8B8, -1, executeBlit_ColorAlpha_32_to_32}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCombineColor_32_to_32},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A8R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCombineColor_32_to_32}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A8R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_32},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A8R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_32}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCombineColor_32_to_24},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_A8R8G8B8, executeBlit_TextureCombineColor_32_to_24}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_x_to_x},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_R8G8B8, executeBlit_TextureCopy_x_to_x}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureCombineColor_16_to_16},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_A1R5G5B5, executeBlit_TextureCombineColor_16_to_16}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_A1R5G5B5, video::ECF_R8G8B8, executeBlit_TextureCopy_24_to_16}, {BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCombineColor_16_to_24},
{BLITTER_TEXTURE_COMBINE_ALPHA, video::ECF_R8G8B8, video::ECF_A1R5G5B5, executeBlit_TextureCombineColor_16_to_24}, {BLITTER_INVALID, -1, -1, 0},
{BLITTER_INVALID, -1, -1, 0}}; };
static inline tExecuteBlit getBlitter2(eBlitter operation, const video::IImage *dest, const video::IImage *source) static inline tExecuteBlit getBlitter2(eBlitter operation, const video::IImage *dest, const video::IImage *source)
{ {

View File

@ -182,22 +182,22 @@ EGLConfig CEGLManager::chooseConfig(EConfigStyle confStyle)
} }
if (confStyle == ECS_EGL_CHOOSE_FIRST_LOWER_EXPECTATIONS) { if (confStyle == ECS_EGL_CHOOSE_FIRST_LOWER_EXPECTATIONS) {
EGLint Attribs[] = EGLint Attribs[] = {
{ EGL_RED_SIZE, 8,
EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8,
EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8,
EGL_BLUE_SIZE, 8, EGL_ALPHA_SIZE, Params.WithAlphaChannel ? 1 : 0,
EGL_ALPHA_SIZE, Params.WithAlphaChannel ? 1 : 0, EGL_BUFFER_SIZE, Params.Bits,
EGL_BUFFER_SIZE, Params.Bits, EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_DEPTH_SIZE, Params.ZBufferBits,
EGL_DEPTH_SIZE, Params.ZBufferBits, EGL_STENCIL_SIZE, Params.Stencilbuffer,
EGL_STENCIL_SIZE, Params.Stencilbuffer, EGL_SAMPLE_BUFFERS, Params.AntiAlias ? 1 : 0,
EGL_SAMPLE_BUFFERS, Params.AntiAlias ? 1 : 0, EGL_SAMPLES, Params.AntiAlias,
EGL_SAMPLES, Params.AntiAlias,
#ifdef EGL_VERSION_1_3 #ifdef EGL_VERSION_1_3
EGL_RENDERABLE_TYPE, eglOpenGLBIT, EGL_RENDERABLE_TYPE, eglOpenGLBIT,
#endif #endif
EGL_NONE, 0}; EGL_NONE, 0,
};
EGLint numConfigs = 0; EGLint numConfigs = 0;
u32 steps = 5; u32 steps = 5;
@ -488,12 +488,12 @@ bool CEGLManager::generateContext()
break; break;
} }
EGLint ContextAttrib[] = EGLint ContextAttrib[] = {
{
#ifdef EGL_VERSION_1_3 #ifdef EGL_VERSION_1_3
EGL_CONTEXT_CLIENT_VERSION, OpenGLESVersion, EGL_CONTEXT_CLIENT_VERSION, OpenGLESVersion,
#endif #endif
EGL_NONE, 0}; EGL_NONE, 0,
};
EglContext = eglCreateContext(EglDisplay, EglConfig, EGL_NO_CONTEXT, ContextAttrib); EglContext = eglCreateContext(EglDisplay, EglConfig, EGL_NO_CONTEXT, ContextAttrib);

View File

@ -41,44 +41,43 @@ CGLXManager::CGLXManager(const SIrrlichtCreationParameters &params, const SExpos
if (major == 1 && minor > 2 && glxChooseFBConfig) { if (major == 1 && minor > 2 && glxChooseFBConfig) {
os::Printer::log("GLX >= 1.3", ELL_DEBUG); os::Printer::log("GLX >= 1.3", ELL_DEBUG);
// attribute array for the draw buffer // attribute array for the draw buffer
int visualAttrBuffer[] = int visualAttrBuffer[] = {
{ GLX_RENDER_TYPE,
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_RGBA_BIT, GLX_RED_SIZE,
GLX_RED_SIZE, 4,
4, GLX_GREEN_SIZE,
GLX_GREEN_SIZE, 4,
4, GLX_BLUE_SIZE,
GLX_BLUE_SIZE, 4,
4, GLX_ALPHA_SIZE,
GLX_ALPHA_SIZE, Params.WithAlphaChannel ? 1 : 0,
Params.WithAlphaChannel ? 1 : 0, GLX_DEPTH_SIZE,
GLX_DEPTH_SIZE, Params.ZBufferBits, // 10,11
Params.ZBufferBits, // 10,11 GLX_DOUBLEBUFFER,
GLX_DOUBLEBUFFER, Params.Doublebuffer ? True : False,
Params.Doublebuffer ? True : False, GLX_STENCIL_SIZE,
GLX_STENCIL_SIZE, Params.Stencilbuffer ? 1 : 0,
Params.Stencilbuffer ? 1 : 0,
#if defined(GLX_VERSION_1_4) && defined(GLX_SAMPLE_BUFFERS) // we need to check the extension string! #if defined(GLX_VERSION_1_4) && defined(GLX_SAMPLE_BUFFERS) // we need to check the extension string!
GLX_SAMPLE_BUFFERS, GLX_SAMPLE_BUFFERS,
1, 1,
GLX_SAMPLES, GLX_SAMPLES,
Params.AntiAlias, // 18,19 Params.AntiAlias, // 18,19
#elif defined(GLX_ARB_multisample) #elif defined(GLX_ARB_multisample)
GLX_SAMPLE_BUFFERS_ARB, GLX_SAMPLE_BUFFERS_ARB,
1, 1,
GLX_SAMPLES_ARB, GLX_SAMPLES_ARB,
Params.AntiAlias, // 18,19 Params.AntiAlias, // 18,19
#elif defined(GLX_SGIS_multisample) #elif defined(GLX_SGIS_multisample)
GLX_SAMPLE_BUFFERS_SGIS, GLX_SAMPLE_BUFFERS_SGIS,
1, 1,
GLX_SAMPLES_SGIS, GLX_SAMPLES_SGIS,
Params.AntiAlias, // 18,19 Params.AntiAlias, // 18,19
#endif #endif
GLX_STEREO, GLX_STEREO,
Params.Stereobuffer ? True : False, Params.Stereobuffer ? True : False,
None None,
}; };
GLXFBConfig *configList = 0; GLXFBConfig *configList = 0;
int nitems = 0; int nitems = 0;
@ -180,21 +179,21 @@ CGLXManager::CGLXManager(const SIrrlichtCreationParameters &params, const SExpos
#endif #endif
{ {
// attribute array for the draw buffer // attribute array for the draw buffer
int visualAttrBuffer[] = int visualAttrBuffer[] = {
{ GLX_RGBA, GLX_USE_GL,
GLX_RGBA, GLX_USE_GL, GLX_RED_SIZE, 4,
GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4,
GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE, 4,
GLX_BLUE_SIZE, 4, GLX_ALPHA_SIZE, Params.WithAlphaChannel ? 1 : 0,
GLX_ALPHA_SIZE, Params.WithAlphaChannel ? 1 : 0, GLX_DEPTH_SIZE, Params.ZBufferBits,
GLX_DEPTH_SIZE, Params.ZBufferBits, GLX_STENCIL_SIZE, Params.Stencilbuffer ? 1 : 0, // 12,13
GLX_STENCIL_SIZE, Params.Stencilbuffer ? 1 : 0, // 12,13 // The following attributes have no flags, but are
// The following attributes have no flags, but are // either present or not. As a no-op we use
// either present or not. As a no-op we use // GLX_USE_GL, which is silently ignored by glXChooseVisual
// GLX_USE_GL, which is silently ignored by glXChooseVisual Params.Doublebuffer ? GLX_DOUBLEBUFFER : GLX_USE_GL, // 14
Params.Doublebuffer ? GLX_DOUBLEBUFFER : GLX_USE_GL, // 14 Params.Stereobuffer ? GLX_STEREO : GLX_USE_GL, // 15
Params.Stereobuffer ? GLX_STEREO : GLX_USE_GL, // 15 None,
None}; };
VisualInfo = glXChooseVisual(display, screennr, visualAttrBuffer); VisualInfo = glXChooseVisual(display, screennr, visualAttrBuffer);
if (!VisualInfo) { if (!VisualInfo) {

View File

@ -533,17 +533,17 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
irr::s32 irrMessage; irr::s32 irrMessage;
}; };
static messageMap mouseMap[] = static messageMap mouseMap[] = {
{ {0, WM_LBUTTONDOWN, irr::EMIE_LMOUSE_PRESSED_DOWN},
{0, WM_LBUTTONDOWN, irr::EMIE_LMOUSE_PRESSED_DOWN}, {1, WM_LBUTTONUP, irr::EMIE_LMOUSE_LEFT_UP},
{1, WM_LBUTTONUP, irr::EMIE_LMOUSE_LEFT_UP}, {0, WM_RBUTTONDOWN, irr::EMIE_RMOUSE_PRESSED_DOWN},
{0, WM_RBUTTONDOWN, irr::EMIE_RMOUSE_PRESSED_DOWN}, {1, WM_RBUTTONUP, irr::EMIE_RMOUSE_LEFT_UP},
{1, WM_RBUTTONUP, irr::EMIE_RMOUSE_LEFT_UP}, {0, WM_MBUTTONDOWN, irr::EMIE_MMOUSE_PRESSED_DOWN},
{0, WM_MBUTTONDOWN, irr::EMIE_MMOUSE_PRESSED_DOWN}, {1, WM_MBUTTONUP, irr::EMIE_MMOUSE_LEFT_UP},
{1, WM_MBUTTONUP, irr::EMIE_MMOUSE_LEFT_UP}, {2, WM_MOUSEMOVE, irr::EMIE_MOUSE_MOVED},
{2, WM_MOUSEMOVE, irr::EMIE_MOUSE_MOVED}, {3, WM_MOUSEWHEEL, irr::EMIE_MOUSE_WHEEL},
{3, WM_MOUSEWHEEL, irr::EMIE_MOUSE_WHEEL}, {-1, 0, 0},
{-1, 0, 0}}; };
// handle grouped events // handle grouped events
messageMap *m = mouseMap; messageMap *m = mouseMap;

View File

@ -46,19 +46,19 @@ bool CNSOGLManager::generateSurface()
if (Params.WithAlphaChannel && Params.Bits == 32) if (Params.WithAlphaChannel && Params.Bits == 32)
alphaSize = 8; alphaSize = 8;
NSOpenGLPixelFormatAttribute Attribs[] = NSOpenGLPixelFormatAttribute Attribs[] = {
{ NSOpenGLPFANoRecovery,
NSOpenGLPFANoRecovery, NSOpenGLPFAAccelerated,
NSOpenGLPFAAccelerated, NSOpenGLPFADoubleBuffer,
NSOpenGLPFADoubleBuffer, NSOpenGLPFADepthSize, static_cast<NSOpenGLPixelFormatAttribute>(depthSize),
NSOpenGLPFADepthSize, static_cast<NSOpenGLPixelFormatAttribute>(depthSize), NSOpenGLPFAColorSize, Params.Bits,
NSOpenGLPFAColorSize, Params.Bits, NSOpenGLPFAAlphaSize, static_cast<NSOpenGLPixelFormatAttribute>(alphaSize),
NSOpenGLPFAAlphaSize, static_cast<NSOpenGLPixelFormatAttribute>(alphaSize), NSOpenGLPFASampleBuffers, 1,
NSOpenGLPFASampleBuffers, 1, NSOpenGLPFASamples, Params.AntiAlias,
NSOpenGLPFASamples, Params.AntiAlias, NSOpenGLPFAStencilSize, static_cast<NSOpenGLPixelFormatAttribute>(Params.Stencilbuffer ? 1 : 0),
NSOpenGLPFAStencilSize, static_cast<NSOpenGLPixelFormatAttribute>(Params.Stencilbuffer ? 1 : 0), // NSOpenGLPFAFullScreen,
// NSOpenGLPFAFullScreen, 0,
0}; };
u32 Steps = 6; u32 Steps = 6;

View File

@ -90,36 +90,35 @@ protected:
const char *getFeatureString(size_t index) const const char *getFeatureString(size_t index) const
{ {
// One for each EOGLESFeatures // One for each EOGLESFeatures
static const char *const OGLESFeatureStrings[IRR_OGLES_Feature_Count] = static const char *const OGLESFeatureStrings[IRR_OGLES_Feature_Count] = {
{ "GL_APPLE_texture_2D_limited_npot",
"GL_APPLE_texture_2D_limited_npot", "GL_APPLE_texture_format_BGRA8888",
"GL_APPLE_texture_format_BGRA8888", "GL_EXT_blend_minmax",
"GL_EXT_blend_minmax", "GL_EXT_read_format_bgra",
"GL_EXT_read_format_bgra", "GL_EXT_texture_filter_anisotropic",
"GL_EXT_texture_filter_anisotropic", "GL_EXT_texture_format_BGRA8888",
"GL_EXT_texture_format_BGRA8888", "GL_EXT_texture_lod_bias",
"GL_EXT_texture_lod_bias", "GL_EXT_texture_rg",
"GL_EXT_texture_rg", "GL_IMG_read_format",
"GL_IMG_read_format", "GL_IMG_texture_format_BGRA8888",
"GL_IMG_texture_format_BGRA8888", "GL_IMG_user_clip_plane",
"GL_IMG_user_clip_plane", "GL_OES_blend_func_separate",
"GL_OES_blend_func_separate", "GL_OES_blend_subtract",
"GL_OES_blend_subtract", "GL_OES_depth_texture",
"GL_OES_depth_texture", "GL_OES_depth24",
"GL_OES_depth24", "GL_OES_depth32",
"GL_OES_depth32", "GL_OES_element_index_uint",
"GL_OES_element_index_uint", "GL_OES_framebuffer_object",
"GL_OES_framebuffer_object", "GL_OES_packed_depth_stencil",
"GL_OES_packed_depth_stencil", "GL_OES_point_size_array",
"GL_OES_point_size_array", "GL_OES_point_sprite",
"GL_OES_point_sprite", "GL_OES_read_format",
"GL_OES_read_format", "GL_OES_stencil_wrap",
"GL_OES_stencil_wrap", "GL_OES_texture_float",
"GL_OES_texture_float", "GL_OES_texture_half_float",
"GL_OES_texture_half_float", "GL_OES_texture_mirrored_repeat",
"GL_OES_texture_mirrored_repeat", "GL_OES_texture_npot",
"GL_OES_texture_npot", };
};
return OGLESFeatureStrings[index]; return OGLESFeatureStrings[index];
} }

View File

@ -846,12 +846,12 @@ void COGLES1Driver::draw2DImage(const video::ITexture *texture, const core::rect
sourceRect.LowerRightCorner.X * invW, sourceRect.LowerRightCorner.X * invW,
(isRTT ? sourceRect.UpperLeftCorner.Y : sourceRect.LowerRightCorner.Y) * invH); (isRTT ? sourceRect.UpperLeftCorner.Y : sourceRect.LowerRightCorner.Y) * invH);
const video::SColor temp[4] = const video::SColor temp[4] = {
{ 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF}; };
const video::SColor *const useColor = colors ? colors : temp; const video::SColor *const useColor = colors ? colors : temp;
@ -2209,19 +2209,19 @@ core::dimension2du COGLES1Driver::getMaxTextureSize() const
GLenum COGLES1Driver::getGLBlend(E_BLEND_FACTOR factor) const GLenum COGLES1Driver::getGLBlend(E_BLEND_FACTOR factor) const
{ {
static GLenum const blendTable[] = static GLenum const blendTable[] = {
{ GL_ZERO,
GL_ZERO, GL_ONE,
GL_ONE, GL_DST_COLOR,
GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR,
GL_ONE_MINUS_DST_COLOR, GL_SRC_COLOR,
GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA,
GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA,
GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA,
GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA,
GL_ONE_MINUS_DST_ALPHA, GL_SRC_ALPHA_SATURATE,
GL_SRC_ALPHA_SATURATE}; };
return blendTable[factor]; return blendTable[factor];
} }

View File

@ -1133,12 +1133,12 @@ void COpenGLDriver::draw2DImage(const video::ITexture *texture, const core::rect
sourceRect.LowerRightCorner.X * invW, sourceRect.LowerRightCorner.X * invW,
sourceRect.LowerRightCorner.Y * invH); sourceRect.LowerRightCorner.Y * invH);
const video::SColor temp[4] = const video::SColor temp[4] = {
{ 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF}; };
const video::SColor *const useColor = colors ? colors : temp; const video::SColor *const useColor = colors ? colors : temp;

View File

@ -198,30 +198,30 @@ bool CWGLManager::initialize(const SIrrlichtCreationParameters &params, const SE
Params.AntiAlias = 32; Params.AntiAlias = 32;
f32 fAttributes[] = {0.0, 0.0}; f32 fAttributes[] = {0.0, 0.0};
s32 iAttributes[] = s32 iAttributes[] = {
{ WGL_DRAW_TO_WINDOW_ARB, 1,
WGL_DRAW_TO_WINDOW_ARB, 1, WGL_SUPPORT_OPENGL_ARB, 1,
WGL_SUPPORT_OPENGL_ARB, 1, WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, WGL_COLOR_BITS_ARB, (Params.Bits == 32) ? 24 : 15,
WGL_COLOR_BITS_ARB, (Params.Bits == 32) ? 24 : 15, WGL_ALPHA_BITS_ARB, (Params.Bits == 32) ? 8 : 1,
WGL_ALPHA_BITS_ARB, (Params.Bits == 32) ? 8 : 1, WGL_DEPTH_BITS_ARB, Params.ZBufferBits, // 10,11
WGL_DEPTH_BITS_ARB, Params.ZBufferBits, // 10,11 WGL_STENCIL_BITS_ARB, Params.Stencilbuffer ? 1 : 0,
WGL_STENCIL_BITS_ARB, Params.Stencilbuffer ? 1 : 0, WGL_DOUBLE_BUFFER_ARB, Params.Doublebuffer ? 1 : 0,
WGL_DOUBLE_BUFFER_ARB, Params.Doublebuffer ? 1 : 0, WGL_STEREO_ARB, Params.Stereobuffer ? 1 : 0,
WGL_STEREO_ARB, Params.Stereobuffer ? 1 : 0, WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB,
WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB,
#ifdef WGL_ARB_multisample #ifdef WGL_ARB_multisample
WGL_SAMPLES_ARB, Params.AntiAlias, // 20,21 WGL_SAMPLES_ARB, Params.AntiAlias, // 20,21
WGL_SAMPLE_BUFFERS_ARB, (Params.AntiAlias > 0) ? 1 : 0, WGL_SAMPLE_BUFFERS_ARB, (Params.AntiAlias > 0) ? 1 : 0,
#elif defined(WGL_EXT_multisample) #elif defined(WGL_EXT_multisample)
WGL_SAMPLES_EXT, AntiAlias, // 20,21 WGL_SAMPLES_EXT, AntiAlias, // 20,21
WGL_SAMPLE_BUFFERS_EXT, (Params.AntiAlias > 0) ? 1 : 0, WGL_SAMPLE_BUFFERS_EXT, (Params.AntiAlias > 0) ? 1 : 0,
#elif defined(WGL_3DFX_multisample) #elif defined(WGL_3DFX_multisample)
WGL_SAMPLES_3DFX, AntiAlias, // 20,21 WGL_SAMPLES_3DFX, AntiAlias, // 20,21
WGL_SAMPLE_BUFFERS_3DFX, (Params.AntiAlias > 0) ? 1 : 0, WGL_SAMPLE_BUFFERS_3DFX, (Params.AntiAlias > 0) ? 1 : 0,
#endif #endif
// WGL_DEPTH_FLOAT_EXT, 1, // WGL_DEPTH_FLOAT_EXT, 1,
0, 0, 0, 0}; 0, 0, 0, 0,
};
int iAttrSize = sizeof(iAttributes) / sizeof(int); int iAttrSize = sizeof(iAttributes) / sizeof(int);
if (!multi_sample_supported) { if (!multi_sample_supported) {
memmove(&iAttributes[20], &iAttributes[24], sizeof(int) * (iAttrSize - 24)); memmove(&iAttributes[20], &iAttributes[24], sizeof(int) * (iAttrSize - 24));
@ -349,12 +349,12 @@ bool CWGLManager::generateContext()
if (wglCreateContextAttribs_ARB) { if (wglCreateContextAttribs_ARB) {
// with 3.0 all available profiles should be usable, higher versions impose restrictions // with 3.0 all available profiles should be usable, higher versions impose restrictions
// we need at least 1.1 // we need at least 1.1
const int iAttribs[] = const int iAttribs[] = {
{ WGL_CONTEXT_MAJOR_VERSION_ARB, 1,
WGL_CONTEXT_MAJOR_VERSION_ARB, 1, WGL_CONTEXT_MINOR_VERSION_ARB, 1,
WGL_CONTEXT_MINOR_VERSION_ARB, 1, // WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_DEBUG_BIT_ARB, // enable to get a debug context (depends on driver if that does anything)
// WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_DEBUG_BIT_ARB, // enable to get a debug context (depends on driver if that does anything) 0,
0}; };
hrc = wglCreateContextAttribs_ARB(HDc, 0, iAttribs); hrc = wglCreateContextAttribs_ARB(HDc, 0, iAttribs);
} else } else
#endif #endif

View File

@ -802,12 +802,12 @@ void COpenGL3DriverBase::draw2DImage(const video::ITexture *texture, const core:
sourceRect.LowerRightCorner.X * invW, sourceRect.LowerRightCorner.X * invW,
(isRTT ? sourceRect.UpperLeftCorner.Y : sourceRect.LowerRightCorner.Y) * invH); (isRTT ? sourceRect.UpperLeftCorner.Y : sourceRect.LowerRightCorner.Y) * invH);
const video::SColor temp[4] = const video::SColor temp[4] = {
{ 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF}; };
const video::SColor *const useColor = colors ? colors : temp; const video::SColor *const useColor = colors ? colors : temp;
@ -1939,19 +1939,19 @@ core::dimension2du COpenGL3DriverBase::getMaxTextureSize() const
GLenum COpenGL3DriverBase::getGLBlend(E_BLEND_FACTOR factor) const GLenum COpenGL3DriverBase::getGLBlend(E_BLEND_FACTOR factor) const
{ {
static GLenum const blendTable[] = static GLenum const blendTable[] = {
{ GL_ZERO,
GL_ZERO, GL_ONE,
GL_ONE, GL_DST_COLOR,
GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR,
GL_ONE_MINUS_DST_COLOR, GL_SRC_COLOR,
GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA,
GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA,
GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA,
GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA,
GL_ONE_MINUS_DST_ALPHA, GL_SRC_ALPHA_SATURATE,
GL_SRC_ALPHA_SATURATE}; };
return blendTable[factor]; return blendTable[factor];
} }