diff --git a/src/gapi/gl.h b/src/gapi/gl.h index 8688200..01f811e 100644 --- a/src/gapi/gl.h +++ b/src/gapi/gl.h @@ -496,6 +496,8 @@ namespace GAPI { char GLSL_HEADER_VERT[512]; char GLSL_HEADER_FRAG[512]; + bool GL_VER_3 = false; + // Shader #ifndef FFP const char SHADER_COMPOSE[] = @@ -1424,14 +1426,32 @@ namespace GAPI { strcat(GLSL_HEADER_FRAG, "#define sampler2DShadow lowp sampler2DShadow\n"); } #else - // vertex - strcat(GLSL_HEADER_VERT, "#version 110\n" - "#define VERTEX\n"); - // fragment - strcat(GLSL_HEADER_FRAG, "#version 110\n"); - strcat(GLSL_HEADER_FRAG, extHeader); - strcat(GLSL_HEADER_FRAG, "#define FRAGMENT\n" - "#define fragColor gl_FragColor\n"); + if (GL_VER_3) { + strcat(GLSL_HEADER_VERT, "#version 150\n" + "#define VERTEX\n" + "#define varying out\n" + "#define attribute in\n" + "#define texture2D texture\n"); + // fragment + strcat(GLSL_HEADER_FRAG, "#version 150\n"); + strcat(GLSL_HEADER_FRAG, extHeader); + strcat(GLSL_HEADER_FRAG, "#define FRAGMENT\n" + "#define varying in\n" + "#define texture2D texture\n" + "#define texture3D texture\n" + "#define textureCube texture\n" + "#define shadow2D texture\n" + "out vec4 fragColor;\n"); + } else { + // vertex + strcat(GLSL_HEADER_VERT, "#version 110\n" + "#define VERTEX\n"); + // fragment + strcat(GLSL_HEADER_FRAG, "#version 110\n"); + strcat(GLSL_HEADER_FRAG, extHeader); + strcat(GLSL_HEADER_FRAG, "#define FRAGMENT\n" + "#define fragColor gl_FragColor\n"); + } #endif ASSERT(strlen(GLSL_HEADER_VERT) < COUNT(GLSL_HEADER_VERT)); ASSERT(strlen(GLSL_HEADER_FRAG) < COUNT(GLSL_HEADER_FRAG)); diff --git a/src/inventory.h b/src/inventory.h index 4cb4f34..310a844 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -190,7 +190,7 @@ static const OptionItem optSound[] = { OptionItem( OptionItem::TYPE_PARAM, STR_REVERBERATION, SETTINGS( audio.reverb ), STR_OFF, 0, 1 ), OptionItem( OptionItem::TYPE_PARAM, STR_OPT_SUBTITLES, SETTINGS( audio.subtitles ), STR_OFF, 0, 1 ), #ifndef FFP - OptionItem( OptionItem::TYPE_PARAM, STR_OPT_LANGUAGE, SETTINGS( audio.language ), STR_LANG_EN, 0, STR_LANG_HU - STR_LANG_EN ), + OptionItem( OptionItem::TYPE_PARAM, STR_OPT_LANGUAGE, SETTINGS( audio.language ), STR_LANG_EN, 0, STR_LANG_SV - STR_LANG_EN ), #endif }; diff --git a/src/lang.h b/src/lang.h index b57c9fc..9f813d8 100644 --- a/src/lang.h +++ b/src/lang.h @@ -39,6 +39,7 @@ enum StringID { , STR_LANG_CZ , STR_LANG_CN , STR_LANG_HU + , STR_LANG_SV , STR_APPLY , STR_GAMEPAD_1 , STR_GAMEPAD_2 @@ -273,9 +274,10 @@ enum StringID { , "Suomi" \ , "{Cesky" \ , "\x11\x02\x8A\x02\x6C\x01\x54\x03\x02\xFF\xFF" \ - , "Magyar" + , "Magyar" \ + , "Svenska" -#define LANG_PREFIXES "_EN", "_FR", "_DE", "_ES", "_IT", "_PL", "_PT", "_RU", "_JA", "_GR", "_FI", "_CZ", "_CN", "_HU" +#define LANG_PREFIXES "_EN", "_FR", "_DE", "_ES", "_IT", "_PL", "_PT", "_RU", "_JA", "_GR", "_FI", "_CZ", "_CN", "_HU", "_SV" #define STR_KEYS \ "NONE", "LEFT", "RIGHT", "UP", "DOWN", "SPACE", "TAB", "ENTER", "ESCAPE", "SHIFT", "CTRL", "ALT" \ @@ -323,6 +325,7 @@ const char *helpText = #include "lang/cz.h" #include "lang/cn.h" #include "lang/hu.h" +#include "lang/sv.h" char **STR = NULL; @@ -341,6 +344,7 @@ void ensureLanguage(int lang) { ASSERT(COUNT(STR_CZ) == STR_MAX); ASSERT(COUNT(STR_CN) == STR_MAX); ASSERT(COUNT(STR_HU) == STR_MAX); + ASSERT(COUNT(STR_SV) == STR_MAX); lang += STR_LANG_EN; @@ -358,6 +362,7 @@ void ensureLanguage(int lang) { case STR_LANG_CZ : STR = (char**)STR_CZ; break; case STR_LANG_CN : STR = (char**)STR_CN; break; case STR_LANG_HU : STR = (char**)STR_HU; break; + case STR_LANG_SV : STR = (char**)STR_SV; break; default : STR = (char**)STR_EN; break; } } diff --git a/src/lang/glyph_ru.h b/src/lang/glyph_ru.h index 64d1db2..8015f55 100644 --- a/src/lang/glyph_ru.h +++ b/src/lang/glyph_ru.h @@ -1,135 +1,136 @@ #ifndef __GLYPH_RU__ #define __GLYPH_RU__ -static unsigned int size_GLYPH_RU = 2018; +static unsigned int size_GLYPH_RU = 2035; static unsigned char GLYPH_RU[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x30, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc9, 0xa1, 0x54, 0x4d, 0x00, 0x00, 0x00, 0x3f, 0x50, 0x4c, 0x54, 0x45, 0x00, 0x00, 0x00, 0x5a, 0x42, 0x00, 0xef, 0xc6, 0x73, 0xde, 0xa5, 0x63, 0xa5, 0x6b, 0x39, 0xb5, 0x84, 0x52, 0xce, 0x94, 0x5a, 0x73, 0x5a, - 0x29, 0x31, 0x08, 0x00, 0x8c, 0x5a, 0x29, 0xff, 0xef, 0x8c, 0x70, 0x5c, 0x2c, 0xa5, 0x7b, 0x4a, - 0xdc, 0xa0, 0x64, 0xff, 0xff, 0x9c, 0xff, 0xd6, 0x7b, 0x30, 0x0c, 0x04, 0xe8, 0xc0, 0x70, 0x58, - 0x44, 0x00, 0xc8, 0x90, 0x58, 0xb0, 0x80, 0x50, 0xfb, 0xc4, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x07, 0x51, 0x49, 0x44, 0x41, - 0x54, 0x78, 0x5e, 0xed, 0x9a, 0xe9, 0x92, 0xdb, 0x38, 0x0c, 0x84, 0xdd, 0x00, 0x4f, 0xf9, 0x98, - 0x23, 0xfb, 0xfe, 0xcf, 0xba, 0x04, 0x2d, 0xa8, 0x49, 0x45, 0xae, 0x78, 0x6a, 0xfd, 0x63, 0x6a, - 0x33, 0xc8, 0xd0, 0x4a, 0x83, 0x00, 0x45, 0x7c, 0xa1, 0x1d, 0x43, 0xc9, 0xe9, 0x7b, 0xdb, 0x8f, - 0xfd, 0x58, 0x35, 0x43, 0x7f, 0x79, 0x36, 0x9e, 0xf6, 0x4c, 0x42, 0xde, 0x8c, 0x9a, 0x8e, 0xd1, - 0x45, 0x71, 0xea, 0xc3, 0x5d, 0x98, 0x36, 0xe7, 0x77, 0x1e, 0x36, 0xc0, 0xed, 0x50, 0x50, 0x33, - 0x6a, 0x0c, 0xa7, 0x5a, 0x16, 0x89, 0xe8, 0x2f, 0xd3, 0xfd, 0xf3, 0x71, 0xc1, 0x3d, 0x1e, 0x8b, - 0x2c, 0x6d, 0xa8, 0x69, 0x56, 0x32, 0xed, 0x8f, 0x80, 0xb2, 0x2e, 0x2d, 0xa5, 0x99, 0x29, 0xd7, - 0x74, 0x98, 0x67, 0x31, 0x53, 0x07, 0x60, 0xbf, 0xab, 0x52, 0x9b, 0x5b, 0xba, 0xab, 0x4a, 0x8b, - 0xd6, 0x8d, 0x40, 0xb0, 0xe0, 0x60, 0x6e, 0x89, 0x6b, 0x89, 0xf7, 0xf5, 0x62, 0xe0, 0xbc, 0xc8, - 0x38, 0x0b, 0x5e, 0xcd, 0xa1, 0x36, 0xbf, 0x2c, 0xea, 0x80, 0xac, 0x74, 0x7b, 0x59, 0x01, 0xdc, - 0x6e, 0x38, 0xe1, 0x76, 0x73, 0x00, 0xfb, 0x82, 0x4f, 0x90, 0x00, 0x08, 0xb0, 0x04, 0xf4, 0xf8, - 0xb6, 0xd4, 0x04, 0xe0, 0xbe, 0xbf, 0xca, 0x1d, 0x64, 0x5b, 0x1b, 0x50, 0xaf, 0x37, 0x74, 0x4d, - 0x47, 0x5e, 0x4c, 0x4b, 0x74, 0x8c, 0x51, 0x60, 0x00, 0x6c, 0xac, 0xf5, 0x2b, 0xb4, 0x13, 0x60, - 0xbe, 0xf9, 0x95, 0x15, 0xf6, 0xfc, 0x69, 0x7d, 0x6a, 0xe8, 0x0a, 0x60, 0x85, 0x18, 0x74, 0x11, - 0x48, 0x82, 0x88, 0xde, 0x89, 0x6d, 0x00, 0xd6, 0x78, 0x8b, 0x83, 0xc8, 0x2a, 0x77, 0x05, 0x53, - 0xdb, 0x85, 0x7f, 0x62, 0x6e, 0xdc, 0x5f, 0xbb, 0x78, 0x81, 0x77, 0x07, 0x9a, 0xe4, 0x0d, 0x07, - 0x07, 0x96, 0xa6, 0x07, 0x00, 0x88, 0x82, 0x2a, 0xd5, 0xc3, 0xaa, 0x5a, 0xed, 0x2b, 0x00, 0xe6, - 0x57, 0xd1, 0x08, 0x6a, 0x74, 0xe7, 0xb1, 0xee, 0x04, 0xaa, 0x24, 0x9c, 0xb6, 0xf5, 0x24, 0xf5, - 0x42, 0x09, 0x74, 0x0f, 0x40, 0x09, 0x60, 0x5f, 0x30, 0x24, 0x76, 0xed, 0x19, 0x58, 0x7c, 0xeb, - 0xac, 0xcf, 0x2f, 0x0e, 0x60, 0xfa, 0xbc, 0xe0, 0xde, 0x66, 0x00, 0x44, 0x1e, 0xa5, 0x4a, 0xbd, - 0xfa, 0xfa, 0x80, 0x43, 0x63, 0xbe, 0xd5, 0xef, 0x00, 0xf0, 0x08, 0x00, 0x8f, 0x4c, 0x07, 0x10, - 0x4c, 0xcc, 0x00, 0x18, 0x5f, 0x95, 0x00, 0x92, 0x01, 0x20, 0x70, 0x16, 0xfc, 0x18, 0x40, 0xb3, - 0xc7, 0x00, 0x20, 0x66, 0xb1, 0x3e, 0x01, 0x80, 0x04, 0xa4, 0xd7, 0x4f, 0xa8, 0x82, 0x09, 0x60, - 0x15, 0xc5, 0x23, 0x00, 0xd4, 0x9e, 0xad, 0x02, 0x2b, 0xcb, 0x95, 0x56, 0x03, 0x50, 0x1f, 0x01, - 0x48, 0x06, 0x20, 0x7d, 0x09, 0x80, 0x7d, 0xea, 0x8c, 0xf1, 0xb5, 0x56, 0x07, 0xe0, 0x09, 0x10, - 0x75, 0x02, 0xd0, 0xc7, 0x00, 0x58, 0xf0, 0x95, 0xd2, 0x52, 0xe6, 0x13, 0x60, 0xf5, 0x3f, 0x06, - 0xa0, 0x11, 0xf3, 0x4d, 0x82, 0xa4, 0x24, 0x61, 0xc3, 0xa1, 0x52, 0x25, 0x55, 0xd1, 0x87, 0x00, - 0x42, 0x08, 0x5f, 0x01, 0xa0, 0xbd, 0x3e, 0xe1, 0xfd, 0x55, 0x45, 0xa3, 0x03, 0xf0, 0x82, 0x9b, - 0xce, 0x7f, 0x06, 0xc0, 0xfa, 0xaf, 0xd7, 0xba, 0x27, 0x40, 0x00, 0xa2, 0x2c, 0x71, 0x2e, 0x78, - 0xd6, 0x3c, 0x02, 0x92, 0x40, 0xa5, 0x2a, 0x49, 0x15, 0xab, 0x87, 0x00, 0x9c, 0x40, 0xb7, 0x2f, - 0x01, 0x68, 0x49, 0x03, 0x80, 0x58, 0xab, 0x6a, 0xd4, 0xaf, 0x00, 0xc0, 0x74, 0x64, 0xe3, 0x52, - 0xaf, 0xf5, 0x1a, 0xc7, 0xbf, 0xc7, 0x31, 0x02, 0xb0, 0xfa, 0x9f, 0x02, 0x40, 0xa2, 0x29, 0x0c, - 0xaa, 0x36, 0x0d, 0xc0, 0xa5, 0x12, 0x40, 0x37, 0x00, 0x48, 0x17, 0x4a, 0x8d, 0xc0, 0x70, 0xe2, - 0xea, 0x4e, 0x43, 0x13, 0x8c, 0xda, 0x74, 0x7f, 0xa3, 0x4c, 0x00, 0xc1, 0x01, 0x50, 0xd3, 0x20, - 0xab, 0x79, 0x7c, 0x8d, 0x52, 0x1b, 0x00, 0x27, 0x00, 0x55, 0x10, 0x80, 0x3b, 0x26, 0x00, 0x01, - 0x5c, 0xf4, 0x00, 0x08, 0x0c, 0xc0, 0xc4, 0xdc, 0xb5, 0x03, 0xa8, 0xb5, 0x57, 0xc5, 0x00, 0x07, - 0x70, 0x54, 0x70, 0xd0, 0x18, 0x63, 0x1b, 0x9e, 0x01, 0x95, 0x1d, 0x80, 0xf0, 0x1b, 0x80, 0xc6, - 0xbc, 0xc5, 0x97, 0x07, 0x00, 0xb4, 0x98, 0x6d, 0xf1, 0x71, 0xfd, 0x0e, 0x50, 0x97, 0x68, 0xb2, - 0x44, 0x31, 0xe2, 0xd2, 0xd2, 0x99, 0x0f, 0x02, 0x80, 0xfc, 0x01, 0x40, 0x49, 0x60, 0xbd, 0x87, - 0x00, 0xba, 0x4d, 0x47, 0x06, 0x17, 0x02, 0x60, 0xc1, 0xd5, 0x24, 0xa2, 0xba, 0xf9, 0x06, 0xc4, - 0x8f, 0x0c, 0xeb, 0x4d, 0xa9, 0xf2, 0x84, 0x74, 0x63, 0xfd, 0xb6, 0x80, 0x07, 0xf3, 0x70, 0x6f, - 0x80, 0xb3, 0x5c, 0xd1, 0x01, 0x40, 0x24, 0xaf, 0x04, 0xc4, 0xd3, 0x99, 0x0f, 0x47, 0x6c, 0x3c, - 0x5c, 0xf9, 0x7c, 0x44, 0x64, 0x41, 0x85, 0x6f, 0x68, 0x32, 0x1f, 0xb6, 0x50, 0xba, 0x21, 0x6a, - 0x3d, 0x04, 0x30, 0x17, 0xec, 0xe1, 0xcc, 0xc0, 0x25, 0x99, 0x5d, 0x0a, 0x0f, 0xa8, 0x36, 0xcd, - 0x23, 0x70, 0x0f, 0x6e, 0xa3, 0x09, 0x6a, 0x13, 0xd4, 0x7e, 0x31, 0xcb, 0xa6, 0xd7, 0x91, 0x3d, - 0xc2, 0xf4, 0x9c, 0x8f, 0x6e, 0x77, 0xed, 0x4e, 0xce, 0x4f, 0x37, 0x61, 0x32, 0x1d, 0x87, 0x3e, - 0x2a, 0x50, 0xf9, 0xf6, 0x7f, 0xcb, 0x01, 0x50, 0x09, 0x64, 0xda, 0x1f, 0x77, 0xf0, 0x42, 0xfb, - 0xb1, 0x9f, 0xb6, 0xfd, 0xf9, 0xc8, 0xfa, 0x9d, 0x00, 0xb0, 0x5d, 0x9e, 0x3b, 0xe6, 0x49, 0xb1, - 0x3e, 0x06, 0xd0, 0x15, 0x9a, 0x10, 0xf9, 0x23, 0x00, 0xb6, 0xaf, 0x52, 0xc3, 0x37, 0x02, 0xc0, - 0xd6, 0xba, 0x99, 0xf7, 0xf7, 0xa2, 0x95, 0x1b, 0x5e, 0x6a, 0xf3, 0x29, 0x86, 0x12, 0xbc, 0x7d, - 0x60, 0x02, 0x80, 0xe7, 0x00, 0x40, 0x80, 0x96, 0x50, 0xbf, 0x0f, 0x00, 0xd1, 0xbc, 0xab, 0x5f, - 0x4b, 0x51, 0xd1, 0xb1, 0x7b, 0x6b, 0xbe, 0x0d, 0x49, 0x5d, 0x04, 0x00, 0xc6, 0xfa, 0x23, 0xf0, - 0x34, 0x70, 0x0b, 0x45, 0x24, 0x81, 0x6f, 0x08, 0xc0, 0x2a, 0x85, 0xca, 0x04, 0x40, 0xe9, 0xa8, - 0x0b, 0xd8, 0x33, 0x76, 0x1d, 0xf1, 0x45, 0xe8, 0x46, 0xe0, 0x5b, 0x01, 0x68, 0xb6, 0xff, 0x34, - 0xab, 0xa2, 0x6c, 0x46, 0x54, 0x71, 0x82, 0x68, 0x5d, 0xf5, 0x04, 0xa0, 0xaa, 0xc2, 0xec, 0xf0, - 0x01, 0x22, 0xf5, 0x00, 0x19, 0x66, 0xea, 0x07, 0xca, 0xa6, 0xce, 0xe7, 0xb3, 0x0d, 0x66, 0x4c, - 0xf9, 0x26, 0x42, 0x80, 0x09, 0xba, 0x00, 0x6c, 0x8a, 0x17, 0x93, 0x21, 0x84, 0xfe, 0xe2, 0xac, - 0x73, 0xf6, 0x78, 0x4f, 0xb6, 0x58, 0xd6, 0x9c, 0x45, 0x6e, 0xb7, 0x9b, 0xa0, 0x0b, 0x42, 0x20, - 0x00, 0xac, 0x00, 0x74, 0x03, 0x20, 0xb0, 0x79, 0x02, 0x80, 0x6a, 0x53, 0xfc, 0x4c, 0x99, 0xd6, - 0xcb, 0xd2, 0x6f, 0x40, 0x00, 0x58, 0xc4, 0x52, 0xfc, 0x1d, 0xf4, 0xbe, 0x7c, 0x9c, 0xcf, 0xed, - 0x67, 0xf9, 0x78, 0xf7, 0xf9, 0x66, 0x6f, 0xcc, 0xbf, 0x2d, 0x38, 0x85, 0x9b, 0x82, 0x48, 0x96, - 0x45, 0xdf, 0xde, 0x04, 0x9b, 0xca, 0xfd, 0x12, 0xb3, 0xdf, 0x1f, 0xf7, 0x97, 0x61, 0x39, 0x55, - 0x8b, 0x77, 0x9d, 0xfb, 0xcf, 0x96, 0x90, 0x12, 0xdb, 0x65, 0xf6, 0xbb, 0x32, 0x00, 0xd0, 0x15, - 0x00, 0x38, 0xcb, 0xe6, 0x08, 0xaa, 0x5a, 0x0a, 0x5b, 0x8b, 0x2c, 0x0a, 0x0c, 0xef, 0xa0, 0xac, - 0x7a, 0xc9, 0xe5, 0x92, 0x59, 0x3f, 0xe3, 0xef, 0x04, 0xae, 0x1f, 0xe7, 0xf6, 0xeb, 0xba, 0xd5, - 0x2f, 0xa5, 0x14, 0xf6, 0xfb, 0x10, 0x81, 0xd7, 0xef, 0x00, 0x80, 0xa2, 0x02, 0x02, 0xce, 0xcd, - 0xf7, 0x26, 0x79, 0x8b, 0xb7, 0x9b, 0x0e, 0xad, 0x47, 0x29, 0x85, 0xf1, 0x10, 0x89, 0xdd, 0xde, - 0x84, 0x00, 0x4e, 0x48, 0x33, 0x00, 0x00, 0x07, 0x27, 0x00, 0xec, 0xdf, 0x15, 0x03, 0x00, 0xfb, - 0xae, 0x4b, 0x00, 0x29, 0xa1, 0xcc, 0x00, 0x6c, 0xbe, 0x10, 0x40, 0xd7, 0xe6, 0x25, 0x81, 0x8f, - 0xad, 0xfe, 0x13, 0x5a, 0x28, 0xc6, 0xe6, 0x4d, 0x54, 0xac, 0x7e, 0x1a, 0x22, 0x5a, 0x3e, 0xb7, - 0x97, 0xa2, 0xe4, 0x25, 0x12, 0x80, 0x86, 0xb0, 0x03, 0x70, 0x9a, 0xe3, 0x81, 0x08, 0x60, 0x03, - 0xc0, 0x76, 0x79, 0xfc, 0x0c, 0x00, 0x33, 0x74, 0x0f, 0xc0, 0xe0, 0x6c, 0x00, 0x0a, 0xbb, 0xff, - 0x6d, 0xbd, 0xc0, 0xfa, 0x4d, 0xcf, 0x5f, 0xd1, 0x3d, 0x7e, 0xf3, 0x7e, 0x7e, 0x5c, 0x3f, 0xae, - 0xd7, 0x4f, 0x86, 0x40, 0xad, 0x7e, 0x8a, 0x20, 0x12, 0x46, 0x00, 0x69, 0x07, 0x00, 0x51, 0x22, - 0xde, 0x34, 0xfb, 0x89, 0x94, 0xdb, 0x6d, 0x04, 0x90, 0xf6, 0x00, 0x70, 0x12, 0x9c, 0xc6, 0x84, - 0x19, 0x80, 0x6a, 0xed, 0x5e, 0x22, 0xac, 0xcd, 0x37, 0x39, 0x2c, 0xdf, 0x00, 0xf8, 0xbc, 0x73, - 0x76, 0x72, 0x65, 0x38, 0x51, 0x39, 0x1d, 0x01, 0xa8, 0x0a, 0xd6, 0xff, 0xab, 0xbd, 0x05, 0x1a, - 0x01, 0x7e, 0x48, 0x95, 0x42, 0x02, 0xd0, 0x04, 0xa8, 0x6e, 0x04, 0x32, 0x3a, 0x80, 0x74, 0x21, - 0x80, 0x82, 0x88, 0xe2, 0x27, 0x16, 0x97, 0x54, 0x8a, 0xf3, 0xe1, 0x09, 0x9d, 0xe2, 0x0d, 0x00, - 0x13, 0x62, 0x02, 0x90, 0xd8, 0xae, 0x47, 0x51, 0x40, 0xe7, 0x67, 0x78, 0x51, 0xdc, 0xe1, 0xf5, - 0x13, 0x40, 0x81, 0x56, 0xf3, 0x39, 0x00, 0xae, 0x77, 0x0c, 0xc0, 0x08, 0x54, 0x85, 0x3b, 0x3f, - 0x97, 0x5f, 0xe7, 0xf3, 0xb5, 0xfd, 0x2c, 0x9f, 0x6b, 0x7e, 0x04, 0x10, 0xf9, 0xb8, 0xc0, 0xf2, - 0x0b, 0x09, 0xe4, 0x04, 0x19, 0x01, 0x14, 0x2b, 0x88, 0x47, 0xc2, 0x3a, 0xe5, 0x16, 0x9f, 0x86, - 0xed, 0x8b, 0x03, 0x60, 0xbc, 0x0c, 0x09, 0x25, 0xc4, 0x94, 0x58, 0x7f, 0xef, 0xef, 0x75, 0xd7, - 0xdf, 0xa3, 0xf9, 0xdc, 0x01, 0x35, 0x74, 0x10, 0x21, 0x01, 0x88, 0xb2, 0xa0, 0xfd, 0x7a, 0x25, - 0xa9, 0x4f, 0x6d, 0xc0, 0x88, 0xab, 0x01, 0xf8, 0xe7, 0x7c, 0x3a, 0x5f, 0x6d, 0x7c, 0x6e, 0x09, - 0xaa, 0x91, 0xf9, 0xf1, 0x7e, 0x84, 0x1d, 0x23, 0xfa, 0xe3, 0x83, 0x72, 0xd9, 0x00, 0xc4, 0x58, - 0xee, 0x17, 0xf0, 0x51, 0x01, 0x22, 0xf7, 0x6f, 0x00, 0xf7, 0xf1, 0x11, 0x4c, 0x98, 0xdb, 0x65, - 0x7a, 0x26, 0x65, 0xbe, 0xbd, 0x66, 0x3b, 0xcd, 0xf8, 0x83, 0xf5, 0x5c, 0xd0, 0xe6, 0xf9, 0xf7, - 0xf7, 0x77, 0x1f, 0x87, 0xf3, 0x7c, 0x1e, 0x41, 0xed, 0x5e, 0x6a, 0x3a, 0x4c, 0x53, 0x3d, 0x88, - 0x67, 0xc8, 0xff, 0xc4, 0x7e, 0xec, 0xe7, 0x59, 0x44, 0x6e, 0xc3, 0x2d, 0x03, 0x7d, 0xfc, 0x25, - 0x96, 0xeb, 0x2d, 0xa5, 0xdc, 0xc6, 0xf0, 0x55, 0x19, 0x36, 0xfe, 0x1a, 0x00, 0x22, 0x48, 0x6d, - 0x80, 0x00, 0x60, 0xe3, 0x3f, 0x3d, 0x14, 0xa2, 0x7d, 0x7f, 0x03, 0xd0, 0x07, 0x89, 0x5c, 0xd1, - 0xc7, 0xd3, 0x96, 0x71, 0xbb, 0x91, 0x00, 0xff, 0x0b, 0xca, 0xd3, 0xf4, 0x7c, 0x7c, 0x1b, 0x22, - 0x7d, 0x3c, 0x6d, 0x58, 0x52, 0x4a, 0x37, 0xd9, 0xfd, 0xeb, 0xb5, 0x38, 0x00, 0xf6, 0xd7, 0xc7, - 0x05, 0xe7, 0xb7, 0x58, 0xf2, 0x82, 0x22, 0x71, 0xd5, 0x84, 0xb7, 0x69, 0xbf, 0x50, 0xd3, 0x98, - 0x41, 0x35, 0xfb, 0xb2, 0x0b, 0x57, 0x78, 0x2d, 0xaf, 0x45, 0x4b, 0x0a, 0x45, 0x04, 0xae, 0x23, - 0xbf, 0x28, 0xcf, 0xfd, 0xf5, 0x61, 0xc1, 0x58, 0x9a, 0x56, 0xea, 0xcc, 0xe6, 0xdf, 0x75, 0xf6, - 0x65, 0xa8, 0x07, 0x0b, 0xec, 0xff, 0x79, 0x3f, 0x69, 0xbe, 0x4b, 0xe6, 0xfc, 0x4d, 0xb8, 0x1f, - 0x7d, 0x31, 0x00, 0x29, 0x25, 0x84, 0x02, 0x29, 0xd3, 0x09, 0x60, 0x33, 0xc2, 0xfe, 0x7a, 0x2c, - 0xf8, 0x31, 0x00, 0x88, 0x8e, 0x67, 0x60, 0x95, 0xd9, 0x91, 0x72, 0xfa, 0xb8, 0xff, 0xb7, 0xc0, - 0x9c, 0x04, 0x80, 0x5c, 0x70, 0x9f, 0xcf, 0xde, 0x1c, 0xf9, 0xfc, 0xeb, 0x01, 0xc4, 0x11, 0x40, - 0x22, 0x00, 0xf6, 0xd7, 0x4f, 0x00, 0xe0, 0xff, 0x60, 0xd8, 0x9e, 0x08, 0x51, 0x3a, 0x42, 0x4e, - 0x3f, 0xe8, 0xff, 0x2d, 0x10, 0x89, 0x7b, 0x80, 0xcc, 0x00, 0xa0, 0xf1, 0xc5, 0x00, 0x42, 0xb2, - 0x7e, 0x23, 0x85, 0x32, 0xdc, 0xa0, 0x2c, 0xa9, 0x6c, 0xf3, 0x53, 0x7f, 0x3d, 0x17, 0x4c, 0x3d, - 0x3e, 0x11, 0x09, 0xa5, 0x1f, 0x9b, 0x59, 0x3a, 0x00, 0x4e, 0x4f, 0xfd, 0x3f, 0x81, 0xab, 0x59, - 0x07, 0xa0, 0xe5, 0x4e, 0x2c, 0x66, 0x8c, 0xf3, 0x17, 0x9c, 0x5e, 0x6a, 0x25, 0xa4, 0x66, 0xa1, - 0x90, 0x30, 0x00, 0x89, 0x05, 0xee, 0x00, 0xbc, 0xbf, 0x3e, 0x2a, 0x18, 0x12, 0x01, 0x05, 0xd4, - 0x33, 0xa0, 0xa1, 0x94, 0xb4, 0x02, 0xa0, 0x54, 0xdd, 0x4d, 0x73, 0xf9, 0x5d, 0xff, 0xaf, 0xc0, - 0x1d, 0x40, 0x2a, 0xbe, 0xa3, 0x98, 0x52, 0x21, 0x80, 0x57, 0x37, 0x31, 0xc5, 0x36, 0x5f, 0x36, - 0xa5, 0x49, 0x55, 0xc4, 0x9a, 0x46, 0x1a, 0xfb, 0x6b, 0x16, 0xcc, 0x27, 0x42, 0xdd, 0xa2, 0x67, - 0x20, 0x86, 0xe2, 0xcf, 0x03, 0x28, 0x7d, 0x05, 0x4e, 0x4f, 0xc0, 0x23, 0xd7, 0x4f, 0xb1, 0x14, - 0x4d, 0x80, 0x57, 0x9a, 0x45, 0x61, 0x4e, 0xdf, 0xca, 0xeb, 0x01, 0xf0, 0x71, 0x0e, 0xdb, 0x59, - 0x60, 0x02, 0x00, 0xf2, 0x60, 0xc1, 0x85, 0xf1, 0x66, 0x70, 0x47, 0x88, 0xdb, 0x81, 0xa2, 0x44, - 0x3c, 0x9c, 0x66, 0xff, 0x3f, 0xdd, 0xaa, 0x68, 0x52, 0xaf, 0xdf, 0x0e, 0xc2, 0x00, 0xa8, 0x84, - 0xd7, 0x13, 0xc0, 0x41, 0x6b, 0x3c, 0xbb, 0x0a, 0x65, 0xa1, 0x1d, 0x67, 0x70, 0x6e, 0x94, 0xe5, - 0x68, 0xfa, 0x71, 0xff, 0x4f, 0x5f, 0xee, 0x12, 0x8c, 0x78, 0x71, 0x23, 0xff, 0x2f, 0x01, 0x2b, - 0x50, 0x97, 0xb3, 0xd9, 0x71, 0x34, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, - 0x60, 0x82, + 0x29, 0x31, 0x08, 0x00, 0x8c, 0x5a, 0x29, 0xff, 0xef, 0x8c, 0xa5, 0x7b, 0x4a, 0xdc, 0xa0, 0x64, + 0xff, 0xff, 0x9c, 0x70, 0x5c, 0x2c, 0xff, 0xd6, 0x7b, 0x30, 0x0c, 0x04, 0xe8, 0xc0, 0x70, 0x58, + 0x44, 0x00, 0xc8, 0x90, 0x58, 0xb0, 0x80, 0x50, 0x53, 0xa3, 0xe1, 0x5f, 0x00, 0x00, 0x00, 0x01, + 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x07, 0x62, 0x49, 0x44, 0x41, + 0x54, 0x78, 0x5e, 0xed, 0x9a, 0xeb, 0x72, 0x22, 0xbb, 0x0e, 0x85, 0x59, 0x92, 0xaf, 0x0d, 0xe4, + 0x32, 0xfb, 0xbc, 0xff, 0xb3, 0x1e, 0xc9, 0xa0, 0x5e, 0x36, 0x81, 0x9d, 0xa4, 0x8a, 0x1f, 0xd9, + 0x53, 0x51, 0xc5, 0xf4, 0x2c, 0x59, 0x72, 0x5b, 0xdf, 0x18, 0x06, 0x75, 0xe6, 0xf0, 0xb3, 0xed, + 0xd7, 0x7e, 0xad, 0xbb, 0x61, 0xbc, 0x7c, 0x35, 0x9e, 0xf6, 0x95, 0x84, 0xba, 0x1b, 0x35, 0x1d, + 0xb3, 0x8b, 0xe2, 0x30, 0x46, 0xb8, 0xb0, 0x6c, 0x2e, 0xee, 0x3c, 0x6d, 0x80, 0xdb, 0xa1, 0xa0, + 0x66, 0xd4, 0x1c, 0x4e, 0xb5, 0x6d, 0x92, 0x31, 0x5e, 0x96, 0xfb, 0xd7, 0x07, 0x05, 0x7b, 0x3c, + 0x36, 0xd9, 0x6c, 0xa8, 0x6b, 0x56, 0xb2, 0xec, 0x8f, 0x80, 0xaa, 0x6e, 0x96, 0x62, 0xe6, 0x2a, + 0x34, 0x1d, 0xee, 0xd9, 0xdc, 0x34, 0x00, 0xf8, 0x9f, 0xba, 0x74, 0x73, 0xcb, 0x70, 0x75, 0xb1, + 0x68, 0xdd, 0x09, 0x24, 0x0f, 0x4e, 0xee, 0x96, 0xdc, 0xa3, 0x04, 0x5f, 0x2f, 0x27, 0xce, 0x8b, + 0xcc, 0xb3, 0xe0, 0xd5, 0x1d, 0xea, 0xf3, 0x76, 0xc3, 0x00, 0xe4, 0xa5, 0xfb, 0xcb, 0x15, 0xc0, + 0xf9, 0x8c, 0x03, 0xce, 0xe7, 0x00, 0xb0, 0x16, 0x6c, 0x06, 0x49, 0x80, 0x00, 0x5b, 0xc2, 0x88, + 0xb7, 0xa5, 0x16, 0x00, 0x97, 0xfd, 0x75, 0xee, 0xa0, 0xfa, 0xda, 0x80, 0x46, 0xbd, 0x69, 0x68, + 0x3a, 0xea, 0xe6, 0x5a, 0x72, 0x60, 0xcc, 0x02, 0x07, 0xe0, 0xe3, 0x5a, 0xbf, 0x42, 0x07, 0x01, + 0xe6, 0xbb, 0x5f, 0x59, 0xe1, 0xc8, 0x5f, 0xd6, 0xa7, 0x86, 0x5e, 0x01, 0x5c, 0x21, 0x26, 0xdd, + 0x04, 0x52, 0x20, 0xa2, 0x17, 0x62, 0x3b, 0x80, 0x6b, 0xbc, 0xc7, 0x41, 0x64, 0xc8, 0x0f, 0x05, + 0x53, 0xfb, 0x85, 0x7f, 0x63, 0x61, 0xdc, 0x9f, 0x5d, 0xa2, 0xc0, 0x8b, 0x03, 0x26, 0x79, 0xc3, + 0xc9, 0x81, 0xcd, 0xf4, 0x04, 0x00, 0x59, 0x60, 0x00, 0x22, 0xac, 0xab, 0xd7, 0x1e, 0x00, 0x22, + 0xdf, 0xeb, 0xc9, 0xa0, 0xc6, 0x70, 0xde, 0xd7, 0x83, 0x40, 0x97, 0x62, 0x8e, 0x58, 0x4f, 0xca, + 0x28, 0x94, 0x40, 0x6f, 0x01, 0x28, 0x01, 0xdc, 0x16, 0x0c, 0xc9, 0x43, 0x47, 0x06, 0xb6, 0xd8, + 0x3a, 0xeb, 0x8b, 0x4b, 0x00, 0x58, 0x3e, 0x2f, 0xb8, 0xb7, 0x15, 0x00, 0x91, 0x67, 0x31, 0x00, + 0xa7, 0x58, 0x1f, 0x08, 0x68, 0xcc, 0xf7, 0xfa, 0x03, 0x00, 0x3e, 0x01, 0x60, 0x15, 0x0e, 0x00, + 0xc9, 0xc5, 0x0a, 0x80, 0xf1, 0x5d, 0x09, 0xa0, 0x38, 0x00, 0x02, 0x67, 0xc1, 0x8f, 0x01, 0x98, + 0x3d, 0x06, 0x00, 0xe1, 0x3b, 0xf2, 0x13, 0x00, 0x24, 0x20, 0xa3, 0x7e, 0x42, 0x15, 0x2c, 0x00, + 0xbb, 0x28, 0x1e, 0x01, 0xa0, 0x8e, 0x6c, 0x15, 0x78, 0x59, 0xa1, 0xb4, 0x3b, 0x80, 0xfe, 0x08, + 0x40, 0x71, 0x00, 0xe5, 0x5b, 0x00, 0xfc, 0x53, 0x67, 0x8e, 0xef, 0xbd, 0x07, 0x80, 0x48, 0x80, + 0x68, 0x10, 0x80, 0x3e, 0x06, 0xc0, 0x82, 0x4f, 0x94, 0x9e, 0xb2, 0x9e, 0x00, 0xaf, 0xff, 0x31, + 0x00, 0xcd, 0x58, 0x6f, 0x92, 0xa4, 0x14, 0x49, 0x3b, 0x0e, 0x95, 0x2e, 0xa5, 0x8b, 0x3e, 0x04, + 0x90, 0x52, 0xfa, 0x0e, 0x00, 0x1d, 0xf5, 0x09, 0xef, 0xaf, 0x2a, 0x9a, 0x03, 0x40, 0x14, 0x6c, + 0xba, 0x7e, 0x0e, 0x80, 0xf5, 0x9f, 0x4e, 0xfd, 0x96, 0x00, 0x01, 0x88, 0xb2, 0xc4, 0xb5, 0xe0, + 0x55, 0xf3, 0x08, 0x48, 0x01, 0x95, 0xaa, 0x14, 0x55, 0xb8, 0x67, 0x05, 0x10, 0x04, 0xdc, 0xbe, + 0x05, 0xc0, 0x92, 0x26, 0x00, 0xb9, 0x77, 0xd5, 0xac, 0xdf, 0x01, 0x80, 0xe5, 0xc8, 0xe6, 0xad, + 0x9f, 0xfa, 0x29, 0xcf, 0xff, 0x8e, 0x63, 0x06, 0xe0, 0xf5, 0x7f, 0x09, 0x00, 0x89, 0x96, 0x34, + 0xa9, 0x6e, 0x1a, 0x40, 0x48, 0x25, 0x80, 0x61, 0x30, 0x2b, 0x47, 0x4a, 0xcd, 0xc0, 0x74, 0xe2, + 0xfa, 0x8d, 0x86, 0x16, 0x38, 0xb5, 0xe5, 0xfe, 0x4e, 0x99, 0x00, 0x52, 0x00, 0xa0, 0xa6, 0x41, + 0xae, 0x16, 0xf1, 0x3d, 0x4b, 0x37, 0x00, 0x41, 0x00, 0xaa, 0x20, 0x80, 0x70, 0x2c, 0x00, 0x12, + 0xb8, 0xe8, 0x1d, 0x20, 0x70, 0x00, 0x0b, 0xf3, 0xd0, 0x01, 0xa0, 0xf7, 0x51, 0x15, 0x03, 0x08, + 0xe0, 0x63, 0xc1, 0x49, 0x73, 0xce, 0x36, 0x22, 0x03, 0x2a, 0x37, 0x00, 0xd2, 0x07, 0x00, 0xc6, + 0xdc, 0xe2, 0xdb, 0x03, 0x00, 0xda, 0xdc, 0xf6, 0xf8, 0x7c, 0xfd, 0x0e, 0xd0, 0xb7, 0xec, 0xb2, + 0x65, 0x71, 0xe2, 0x62, 0xe9, 0xcc, 0x07, 0x01, 0x40, 0x3e, 0x01, 0xd0, 0x0a, 0x58, 0xef, 0x5d, + 0x00, 0xc3, 0x96, 0x23, 0x83, 0x23, 0x01, 0xb0, 0xe0, 0xee, 0x12, 0x59, 0xc3, 0x62, 0x03, 0x12, + 0x47, 0x86, 0xf5, 0x96, 0xd2, 0x79, 0x42, 0x86, 0xb1, 0x7e, 0x5f, 0x20, 0x82, 0x79, 0xb8, 0x77, + 0xc0, 0x55, 0x4e, 0x18, 0x00, 0x20, 0x52, 0xaf, 0x04, 0x24, 0xd2, 0x99, 0x8f, 0x40, 0xec, 0x3c, + 0x42, 0xc5, 0x7c, 0x46, 0x66, 0x41, 0x8d, 0x6f, 0x68, 0x32, 0x9f, 0xb6, 0xd0, 0x86, 0x21, 0x6b, + 0xbf, 0x0b, 0x60, 0x2d, 0x38, 0xc2, 0x99, 0x81, 0x63, 0x71, 0x3b, 0x36, 0x1e, 0x50, 0x35, 0xcd, + 0x23, 0x70, 0x09, 0xb6, 0x61, 0x82, 0xda, 0x05, 0x35, 0x2f, 0x06, 0xc0, 0xf5, 0x75, 0xd4, 0x88, + 0x70, 0xbd, 0xe6, 0x63, 0xd8, 0x45, 0x87, 0x93, 0xf3, 0xd4, 0x66, 0x4c, 0xa6, 0xe3, 0xae, 0x8f, + 0x0a, 0x54, 0xb1, 0xfd, 0x0f, 0x39, 0x00, 0x3a, 0x81, 0x2c, 0xfb, 0xe3, 0x0e, 0x9e, 0x68, 0xbf, + 0xf6, 0xdb, 0xb6, 0x7f, 0x3d, 0xb2, 0xff, 0x24, 0x00, 0x6c, 0x97, 0xd7, 0x8e, 0x79, 0x51, 0xac, + 0x8f, 0x01, 0x74, 0x25, 0x13, 0x22, 0x9f, 0x02, 0x60, 0xfb, 0x2a, 0x3d, 0xfd, 0x20, 0x00, 0x6c, + 0xad, 0xcd, 0xa2, 0xbf, 0x17, 0xed, 0xdc, 0xf0, 0xd6, 0xcd, 0xa7, 0x98, 0x4a, 0x88, 0xf6, 0x81, + 0x09, 0x00, 0xbe, 0x06, 0x00, 0x02, 0x58, 0x42, 0xff, 0x39, 0x00, 0x44, 0xeb, 0x4d, 0xfd, 0xda, + 0x9a, 0x8a, 0xce, 0xdd, 0x9b, 0xf9, 0x76, 0x24, 0x7d, 0x13, 0x98, 0xcd, 0xf5, 0x67, 0xe0, 0xcb, + 0xc0, 0x3d, 0x14, 0x99, 0x04, 0x7e, 0x20, 0x00, 0xaf, 0x14, 0x2a, 0x0b, 0x00, 0xa5, 0xa3, 0x6f, + 0x60, 0xcf, 0x38, 0x74, 0xc6, 0x37, 0xa1, 0x3b, 0x81, 0x1f, 0x05, 0xc0, 0x6c, 0xfd, 0x34, 0x1b, + 0x1c, 0xd8, 0x8c, 0xa8, 0xe2, 0x80, 0x01, 0x66, 0xe8, 0x05, 0x40, 0x57, 0x85, 0xdb, 0xdd, 0x07, + 0x88, 0xd4, 0x13, 0x64, 0xb8, 0x69, 0x1c, 0x28, 0x9f, 0x7a, 0x79, 0x79, 0xf1, 0xc1, 0x8c, 0x25, + 0xdf, 0x45, 0x4a, 0x70, 0x41, 0x17, 0x80, 0x5d, 0xf1, 0xe2, 0x32, 0xa5, 0x34, 0x5e, 0x82, 0x75, + 0xad, 0x4b, 0xbc, 0x09, 0x8f, 0x65, 0xcd, 0x55, 0xe4, 0x7c, 0x3e, 0x0b, 0x86, 0x20, 0x04, 0x02, + 0xc0, 0x15, 0x80, 0xee, 0x00, 0x04, 0x3e, 0x4f, 0x00, 0x50, 0x35, 0xc5, 0xcf, 0x94, 0x65, 0xbd, + 0x2a, 0xe3, 0x06, 0x04, 0x80, 0x4d, 0x3c, 0x25, 0xde, 0x41, 0x6f, 0xdb, 0xfb, 0xcb, 0x8b, 0xfd, + 0x6c, 0xef, 0x6f, 0x31, 0x6f, 0xf6, 0xca, 0xfc, 0xf3, 0x86, 0x43, 0x3a, 0x2b, 0x88, 0x64, 0xdb, + 0xf4, 0xf5, 0x55, 0xb0, 0xab, 0x3a, 0x2e, 0xb9, 0xc6, 0xfd, 0x71, 0x79, 0x99, 0x96, 0x53, 0xf5, + 0xf8, 0xd0, 0x75, 0xfc, 0xec, 0x09, 0xa5, 0xb0, 0x5d, 0x66, 0xbf, 0x2b, 0x13, 0x00, 0xbd, 0x02, + 0x00, 0x67, 0xcd, 0xa6, 0xaf, 0xd2, 0xad, 0xb1, 0xb5, 0xa8, 0xa2, 0xc0, 0xf4, 0x0e, 0xaa, 0xaa, + 0xc7, 0xda, 0x8e, 0x95, 0xf5, 0x33, 0xfe, 0x42, 0xe0, 0xf4, 0x6e, 0x00, 0xde, 0x4f, 0x7b, 0xfd, + 0xd2, 0x5a, 0x63, 0xbf, 0x0f, 0x11, 0x44, 0xfd, 0x01, 0x00, 0x68, 0x2a, 0x20, 0xe0, 0x6a, 0xbe, + 0x57, 0xa9, 0x11, 0x6f, 0x00, 0x94, 0xf9, 0x9a, 0x6d, 0x3d, 0xc6, 0x43, 0x24, 0x0f, 0x7b, 0x15, + 0x02, 0x38, 0xa0, 0xac, 0x00, 0x00, 0xdc, 0x39, 0x01, 0x60, 0xff, 0xae, 0x98, 0x00, 0xf8, 0x77, + 0x5d, 0x02, 0x28, 0x05, 0x6d, 0x05, 0xe0, 0xf3, 0x8d, 0x00, 0x86, 0x76, 0x2f, 0x09, 0xbc, 0xef, + 0xf5, 0x1f, 0x60, 0xa1, 0x98, 0x9b, 0x37, 0x51, 0xf1, 0xfa, 0x69, 0xc8, 0xb0, 0x7c, 0x6e, 0xaf, + 0x64, 0xa9, 0x5b, 0x26, 0x00, 0x4d, 0xe9, 0x06, 0xc0, 0x61, 0x8d, 0x07, 0x32, 0x80, 0x1d, 0x00, + 0xdb, 0xe5, 0xf9, 0x33, 0x00, 0xcc, 0xd0, 0x5b, 0x00, 0x0e, 0x67, 0x07, 0xd0, 0xd8, 0xfd, 0xef, + 0xeb, 0x25, 0xd6, 0xef, 0xda, 0x00, 0xd0, 0x10, 0xf1, 0xbb, 0xf7, 0xcf, 0xfb, 0xe9, 0xfd, 0x74, + 0xfa, 0xc3, 0x10, 0xa8, 0xd7, 0x4f, 0x91, 0x44, 0xd2, 0x0c, 0xa0, 0xdc, 0x00, 0x40, 0x96, 0x8c, + 0x57, 0xad, 0x71, 0x22, 0xe5, 0x7c, 0x9e, 0x01, 0x94, 0x0f, 0x00, 0x0e, 0x82, 0xc3, 0x9c, 0xb0, + 0x02, 0x50, 0xed, 0xc3, 0x4b, 0x84, 0xdd, 0x7c, 0x8b, 0xc3, 0xf3, 0x1d, 0x40, 0xcc, 0x07, 0xe7, + 0x20, 0xd7, 0xa6, 0x13, 0x55, 0xcb, 0x3d, 0x00, 0x5d, 0xc1, 0xfa, 0xff, 0xb1, 0xb7, 0x80, 0x11, + 0xe0, 0x87, 0x54, 0x6b, 0x24, 0x00, 0x2d, 0x80, 0xea, 0x4e, 0xa0, 0x62, 0x00, 0x28, 0x47, 0x02, + 0x68, 0xc8, 0x68, 0x71, 0x62, 0x71, 0x2c, 0xad, 0x05, 0x1f, 0x9e, 0xd0, 0x25, 0xde, 0x01, 0x30, + 0x21, 0x17, 0x00, 0x85, 0xed, 0x7a, 0x16, 0x05, 0x74, 0x7d, 0x86, 0x97, 0x25, 0x1c, 0x51, 0x3f, + 0x01, 0x34, 0x68, 0x77, 0x5f, 0x00, 0xe0, 0x7a, 0xf7, 0x01, 0x38, 0x81, 0xae, 0x68, 0x51, 0xff, + 0xf6, 0xcf, 0xcb, 0xcb, 0xc9, 0x7e, 0xb6, 0x0b, 0x01, 0xe4, 0x0c, 0x20, 0xf3, 0x71, 0x81, 0xe7, + 0x37, 0x12, 0xa8, 0x05, 0x32, 0x03, 0x68, 0x5e, 0x10, 0x8f, 0x84, 0x77, 0xca, 0x16, 0x5f, 0xa6, + 0xed, 0x4b, 0x00, 0x60, 0xbc, 0x4c, 0x09, 0x2d, 0xe5, 0x52, 0x58, 0xff, 0xe8, 0xef, 0xf5, 0xa6, + 0xbf, 0x87, 0xf9, 0xc2, 0x01, 0x75, 0x74, 0x10, 0x21, 0x01, 0x88, 0xb2, 0x20, 0xae, 0x17, 0x05, + 0x68, 0x4c, 0xed, 0xc0, 0x88, 0xcb, 0x00, 0xfc, 0xef, 0xe5, 0x60, 0x00, 0x6c, 0xfc, 0xd9, 0x13, + 0x54, 0x33, 0xf3, 0xf3, 0xe5, 0x08, 0x07, 0x46, 0x8c, 0xc7, 0x07, 0xed, 0xb8, 0x03, 0xc8, 0xb9, + 0x5d, 0x2e, 0xe0, 0xa3, 0x02, 0x64, 0xee, 0xdf, 0x01, 0xde, 0xc6, 0x67, 0x30, 0x61, 0x6d, 0x97, + 0xe9, 0x59, 0x94, 0xfb, 0x56, 0xed, 0x86, 0xc5, 0x45, 0xb1, 0xac, 0x17, 0x82, 0xb6, 0xce, 0xbf, + 0xbd, 0xbd, 0xc5, 0xb8, 0x3b, 0xcf, 0xe7, 0x11, 0xd4, 0xe1, 0xa5, 0xa6, 0xc3, 0x35, 0xd5, 0x83, + 0x78, 0x86, 0xfc, 0xe5, 0xf6, 0x6b, 0x6c, 0x79, 0xff, 0xf6, 0x67, 0x11, 0xd5, 0x46, 0x58, 0x05, + 0xc6, 0xa0, 0x43, 0x36, 0xc1, 0x5f, 0x0b, 0xa0, 0xf6, 0x73, 0x29, 0xd5, 0xc6, 0xf4, 0x55, 0x19, + 0x3e, 0xa6, 0x90, 0xed, 0xa0, 0xed, 0xef, 0x05, 0x20, 0x82, 0x62, 0x03, 0x04, 0x00, 0x1f, 0x4b, + 0x88, 0x3e, 0x02, 0xc0, 0x86, 0xeb, 0x3f, 0x6b, 0x00, 0xc6, 0x20, 0x91, 0x13, 0xc6, 0x98, 0x0c, + 0xed, 0x5f, 0xeb, 0x87, 0x35, 0x6b, 0x75, 0xa6, 0xf1, 0x25, 0x24, 0x8c, 0x8f, 0xf1, 0x63, 0x88, + 0x8c, 0xf1, 0x65, 0xc3, 0x56, 0x4a, 0x39, 0xcb, 0xcd, 0x6f, 0xaf, 0x25, 0x00, 0xb0, 0xbf, 0xbe, + 0x5f, 0x70, 0x7d, 0xcd, 0xad, 0x6e, 0x68, 0x92, 0xaf, 0x9a, 0xf0, 0x76, 0x1d, 0x17, 0x6a, 0x1a, + 0x33, 0xa8, 0x56, 0x5f, 0x0d, 0x11, 0x0a, 0xcf, 0xe5, 0xb5, 0x69, 0x2b, 0xa9, 0x89, 0x20, 0x74, + 0xe6, 0x17, 0xe5, 0xb5, 0xbf, 0xbe, 0x5b, 0x30, 0x36, 0xd3, 0x4a, 0x5d, 0xd9, 0xfc, 0x87, 0xae, + 0xb1, 0x0c, 0xf5, 0x64, 0x89, 0xfd, 0x3f, 0xef, 0x27, 0xe6, 0x3b, 0x56, 0xce, 0x9f, 0x85, 0xfb, + 0xd1, 0x27, 0x03, 0x90, 0xd6, 0x52, 0x6a, 0x76, 0x59, 0x4e, 0x00, 0x9b, 0x11, 0xf6, 0xd7, 0x73, + 0xc1, 0x8f, 0x01, 0x40, 0x74, 0x3e, 0x03, 0x57, 0x59, 0x03, 0x29, 0xa7, 0xef, 0xf7, 0xff, 0x1e, + 0x58, 0x8b, 0x00, 0x90, 0x23, 0x2e, 0xf3, 0x35, 0x9a, 0xa3, 0x98, 0x7f, 0x3e, 0x80, 0x3c, 0x03, + 0x28, 0x04, 0xc0, 0xfe, 0xfa, 0x0b, 0x00, 0xf8, 0x3f, 0x18, 0xf6, 0x27, 0x42, 0x94, 0x81, 0x90, + 0xd3, 0x0f, 0xfa, 0x7f, 0x0f, 0x44, 0xe1, 0x1e, 0x20, 0x2b, 0x00, 0x68, 0x7e, 0x32, 0x80, 0x54, + 0xbc, 0xdf, 0x28, 0xa9, 0x4d, 0x37, 0x68, 0x5b, 0x69, 0xfb, 0x3c, 0xfb, 0xeb, 0x0f, 0x05, 0x53, + 0xcf, 0x4f, 0x44, 0x52, 0x1b, 0xc7, 0x66, 0x95, 0x01, 0x80, 0xd3, 0x4b, 0xff, 0x4f, 0xe0, 0xea, + 0x36, 0x00, 0x68, 0xbb, 0x10, 0xcb, 0x15, 0xf3, 0xfc, 0x11, 0x87, 0xa7, 0x5a, 0x4b, 0xc5, 0x2c, + 0x35, 0x12, 0x06, 0x20, 0xb9, 0x21, 0x1c, 0x00, 0xfb, 0xeb, 0x8f, 0x05, 0x43, 0x32, 0xa0, 0x80, + 0x46, 0x06, 0x34, 0xb5, 0x56, 0x64, 0x08, 0xca, 0x00, 0xc0, 0x69, 0x2e, 0x7f, 0xd3, 0xff, 0x2b, + 0x70, 0x01, 0x50, 0x5a, 0xec, 0x28, 0x97, 0xd2, 0x08, 0xe0, 0xd9, 0x4d, 0x4c, 0xf3, 0xcd, 0xb7, + 0x5d, 0x69, 0x51, 0x15, 0xf1, 0xa6, 0x91, 0xc6, 0xfe, 0x9a, 0x05, 0xf3, 0x89, 0xd0, 0xb0, 0x1c, + 0x19, 0xc8, 0xa9, 0xc5, 0xf3, 0x00, 0xca, 0x58, 0x81, 0xd3, 0x0b, 0xf0, 0xcc, 0xf5, 0x4b, 0x36, + 0xde, 0x05, 0x88, 0x4a, 0xab, 0x28, 0xdc, 0x19, 0x5b, 0x79, 0x3e, 0x00, 0x3e, 0xce, 0x61, 0x3b, + 0x0b, 0x2c, 0x00, 0x40, 0x1e, 0x2c, 0xb8, 0x31, 0xde, 0x0d, 0xe1, 0x48, 0x79, 0x3f, 0x50, 0x94, + 0xc8, 0x77, 0xa7, 0xd9, 0xff, 0x2f, 0xb7, 0x32, 0x02, 0x1a, 0xf5, 0xfb, 0x41, 0x20, 0x20, 0xcb, + 0x7f, 0x3e, 0x01, 0xdc, 0x69, 0x8d, 0x57, 0x57, 0xa3, 0x6c, 0xb4, 0xfb, 0x19, 0x9c, 0x9b, 0x65, + 0xbb, 0x37, 0xfd, 0xb8, 0xff, 0xa7, 0xaf, 0x0e, 0x09, 0x46, 0x3c, 0xb9, 0x91, 0xff, 0x3f, 0x00, + 0x75, 0x50, 0xd5, 0x0c, 0x7e, 0x2a, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82, }; #endif diff --git a/src/lang/glyph_ru.png b/src/lang/glyph_ru.png index ed27735..2af50a8 100644 Binary files a/src/lang/glyph_ru.png and b/src/lang/glyph_ru.png differ diff --git a/src/lang/it.h b/src/lang/it.h index 1c540ed..bfdb78e 100644 --- a/src/lang/it.h +++ b/src/lang/it.h @@ -5,7 +5,7 @@ const char *STR_IT[] = { "" // help - , "Caricamento..." + , "Caricamento in corso" , "Premi H per la lista dei comandi" , helpText , "%s@@@" @@ -13,17 +13,17 @@ const char *STR_IT[] = { "" "OGGETTI RACCOLTI %d@@" "SEGRETI %d di %d@@" "TEMPO IMPIEGATO %s" - , "Salvataggio in corso..." - , "Salvataggio completato!" - , "ERRORE DURANTE IL SALVATAGGIO!" + , "Salvataggio in corso" + , "Salvataggio completato" + , "ERRORE DURANTE IL SALVATAGGIO" , "S$I" , "NO" - , "Off" - , "On" - , "Off" + , "Spento" + , "Acceso" + , "Spento" , "Doppio schermo" , "Anaglifo" - , "Visione compressa" + , "Compressione" , "VR" , "Basso" , "Medio" @@ -65,30 +65,30 @@ const char *STR_IT[] = { "" , "Esci dal gioco" , "Selezione del livello" // detail options - , "Imposta i Dettagli" + , "Livello di Dettaglio" , "Textures" , "Illuminazione" , "Ombre" , "Acqua" , "VSync" , "Stereo" - , "Oggetti Semplificati" + , "Oggetti semplificati" , "Risoluzione" , STR_SCALE // sound options - , "Imposta il Volume" + , "Impostazioni audio" , "Riverbero" , "Sottotitoli" , "Lingua" // controls options - , "Controlli Personalizzati" + , "Personalizzazione comandi" , "Tastiera" , "Gamepad" , "Vibrazione" , "Retargeting" , "Mira multipla" // controls - , "Sinistra", "Destra", "Correre", "Indietro", "Saltare", "Camminare", "Azione", "Estrarre l'Arma", "Guardare", "Accovacciarsi", "Scattare", "Capriola", "Inventario", "Start" + , "Sinistra", "Destra", "Avanti", "Indietro", "Salto", "Camminata", "Azione", "Estrarre l'arma", "Osservare", "Accovacciarsi", "Scatto", "Capriola", "Inventario", "Start" , STR_KEYS // inventory items , "Sconosciuto" @@ -97,8 +97,8 @@ const char *STR_IT[] = { "" , "Fucile" , "Magnum" , "Uzi" - , "Munizioni Pistola" - , "Munizioni Fucile" + , "Munizioni pistola" + , "Munizioni fucile" , "Munizioni Magnum" , "Munizioni Uzi" , "Medikit piccolo" @@ -120,7 +120,7 @@ const char *STR_IT[] = { "" , "Puzzle" , "Idolo d'oro" , "Barra d'oro" - , "Ruota Dentata" + , "Ruota dentata" , "Fusibile" , "Ankh" , "Occhio di Horus" @@ -129,57 +129,57 @@ const char *STR_IT[] = { "" , "Chiave della piramide" // TR1 subtitles /* CAFE */ , - "[43500]Cosa deve fare un uomo per ottenere@da te questo tipo di attenzioni?" - "[47500]Difficile dirlo con precisione,@ma sembra che tu sia partito bene." - "[50000]Bene, magnifico. Ma la verit$a@$e che non sono io che ti sto cercando." + "[43500]Che cosa deve fare un uomo@per ricevere da te questo genere di attenzioni?" + "[47500]Difficile dirlo con certezza,@ma forse sei sulla buona strada." + "[50000]Ottimo allora. Anche se a dire il vero@non sono io che ti sto cercando." "[54500]No?" - "[55000]No. Sono qui per Miss Jacqueline Natla,@della Natla Technologies." - "[59000]Hai presente, creatrice di@cose brillanti e spettacolari?" - "[64500]Sta zitto, Larson." - "[66000]Mmm." + "[55000]No. Sono qui per conto di Miss Jacqueline Natla,@della Natla Technologies." + "[59000]Hai presente quella che crea@cose scintillanti e belle?" + "[64500]Sta' zitto, Larson." + "[66000]Mmm.." "[68000]Rifatti gli occhi, Lara." "[70500]Non senti gi$a il tintinnio del tuo portamonete?" - "[73500]Mi dispiace. Lavoro solo per sport." + "[73500]Mi spiace; Lavoro solo per divertirmi." "[76000]Allora non potrai non amare questo immenso parco giochi." - "[78000]Peru'. Vaste catene montuose da attraversare.@Muri di ghiaccio trasparente. Dirupi rocciosi. Venti selvaggi." - "[87500]E ci sarebbe questo gingillo:@un antichissimo artefatto dai poteri mistici" + "[78000]Peru'. Sterminate catene montuose da valicare.@Muri di ghiaccio trasparente. Dirupi rocciosi. Venti sferzanti." + "[87500]E poi ci sarebbe questo gingillo:@un antichissimo artefatto dai poteri mistici" "[92500]sepolto nella tomba perduta di Qualopec." - "[96000]E' ci$o che mi interessa." - "[98000]Potresti partire gi$a domani.@O hai gi$a altri impegni per domani?" + "[96000]E' tutto ci$o che mi interessa." + "[98000]Potresti partire gi$a domani.@O avevi in previsione altri programmi?" /* LIFT */ , - "[49000]Sono stato riassegnato alle rovine di St. Francis,@nuove tentazioni mi tormentano." + "[49000]Sono stato assegnato alle rovine di St. Francis,@nuove tentazioni mi tormentano." "[53500]Tra i fratelli gira voce che sepolto@sotto il nostro monastero riposi il corpo di Tihocan," "[60000]uno dei tre leggendari sovrani@del continente perduto, Atlantide," - "[64500]e che con lui si trovi il suo frammento@dello Scion di Atlantide." - "[68000]L'amuleto diviso e detenuto tra i tre sovrani" - "[72500]che controlla poteri inimmaginabili.@Poteri che superano quelli dello stesso Creatore." - "[79000]Mi tremano le gambe al solo pensiero@che giaccia cos$i vicino al mio corpo mortale." - "[85500]Ogni notte cerco di rifuggire certe fantasie,@ma $e una sfida ardua." + "[64500]e che con lui si trovi il suo frammento@dello Scion atlantideo." + "[68000]L'amuleto diviso e spartito tra i tre sovrani" + "[72500]capace di controllare poteri inimmaginabili.@Poteri che superano quelli dello stesso Iddio." + "[79000]Mi tremano le gambe al solo pensiero@che giaccia talmente vicino al mio corpo mortale!" + "[85500]Ogni notte provo a rifuggire certe fantasie,@ma $e una sfida estremamente ardua." "[92000]" - "[93500]Pierre. Tsss. Che idiota." + "[93500]Pierre. Tsss. Che idiota!" /* CANYON */ , - "[13500]Sei appena giunta al capolinea." + "[13500]Sei appena giunta al capolinea!" "[16500]Salve." "[17500]Buon pomeriggio." "[20000]E cos$i hai lasciato Larson a bocca asciutta?" "[22500]Se cos$i si pu$o dire." - "[24000]Bene, le tue scorribande sono giunte al termine." + "[24000]Bene, le tue scorribande finiscono qui." "[27000]E' tempo di restituirmi ci$o che mi hai sottratto." "[30000]Diamo un'occhiata nel suo sacchetto per il pranzo." "[32000]" - "[42500]Ottimo! Uccidila!" + "[42500]Ottimo. Sbarazzatene!" "[45000]Hey!" "[48000]" - "[50500]Cretini!" + "[50500]Idioti!" "[53000]" "[62500]Andiamo." "[65000]" - "[136000]Che cavolo era quello?" + "[136000]Che diamine era quello?" "[138000]Cosa?" - "[138500]Quella cosa." - "[140500]Probabilmente era solo un pesce." - "[142500]Deve essere stato un pesce bello grosso, genio." - "[145000]Ragazzo, devi imparare a calmarti.@Torno dentro. Vieni?" + "[138500]Quella cosa.." + "[140500]Sar$a stato solo un pesce." + "[142500]Allora deve essere stato un pesce bello grosso, genio!" + "[145000]Ragazzo, vedi di darti una calmata!@Torno dentro. Vieni con me?" "[152000]" "[158000]Piano..." "[160000]Eccola qui." @@ -187,127 +187,127 @@ const char *STR_IT[] = { "" /* PRISON */ , "[00001]Non puoi farlo!" "[01500]Noi ti condanniamo, Natla di Atlantide, per i tuoi crimini." - "[06000]Per l'abuso dei tuoi poteri@e per averci derubato del nostro..." + "[06000]Per l'uso spregiudicato dei tuoi poteri@e per averci derubato del nostro..." "[11500]Non ne avete il diritto! Io..." "[12500]Infrangendo le leggi che governano@e tutelano il nostro popolo" - "[18500]e sfidando Tihocan e me con il tuo esercito." - "[23500]I nostri guerrieri hanno lasciato la nostra piramide" - "[27000]cosicch)e tu potessi usare - il suo potere creativo -@per la tua dissennata brama di distruzione." + "[18500]e invadendo Tihocan e me con il nostro esercito." + "[23500]I nostri guerrieri hanno lasciato la piramide" + "[27000]cosicch)e tu potessi usare il suo potere creativo@per perseguire la tua dissennata brama di distruzione." "[33500]Dissennata!? Guardatevi!" - "[35500]Nessuno di voi possiede un briciolo@di inventiva nel suo cervello." + "[35500]Nessuno di voi possiede un briciolo di ambizione!" "[40500]Inetti!" "[41500]Facciamolo e basta." "[44000]Tihocan!" - "[45000]Hai usato il luogo sacro@come una fonte di piacere personale," + "[45000]Hai usato il nostro luogo sacro@come fonte di piacere personale," "[49500]come fosse una fabbrica di mostri." - "[51000]Sono dei sopravvissuti. Una nuova generazione." + "[51000]Sono dei sopravvissuti; una nuova generazione!" "[54000]Solo un mucchio di carcasse dilaniate ora." - "[56000]E tu. Verrai imprigionata nel limbo." + "[56000]E tu, tu verrai imprigionata nel limbo." "[60000]Render$a le tue vene, cuore, gambe," - "[64000]e quella tua mente disturbata un tutt'uno col sangue congelato." - "[70000]Goditi la tua eterna disperazione, Natla." + "[64000]e quella tua mente schizzata un tutt'uno con il sangue gelido." + "[70000]Saluta la tua eterna disperazione, Natla!" "[73000]Neppure tu riposerai bene, o tantomeno il tuo@dannato continente di Atlantide!" /* 22 */ , "[04000]Di nuovo qui?" - "[05500]Anche tu - per la grande riapertura, suppongo." - "[09500]L'evoluzione fluisce - la selezione naturale scorre pi$u lenta che mai..." - "[13500]un rifornimento di carne fresca risveglier$a il nostro orgoglio identitario" + "[05500]Anche tu - per assistere alla grande riapertura, suppongo." + "[09500]L'evoluzione fluisce ma la selezione naturale scorre pi$u lenta che mai..." + "[13500]Un rifornimento di carne fresca risveglier$a il nostro orgoglio identitario" "[17500] - ci rinforzer$a e ci avvantagger$a..." - "[20500]Dar$a persino origine a nuove razze" + "[20500]..dar$a persino origine a nuove razze." "[22500]Una specie di evoluzione sotto steroidi, quindi." - "[24500]Un calcio nel sedere...@quei poveretti di Qualopec e Tihocan non immaginano neppure" + "[24500]Una spintarella...quei buoni a nulla@di Qualopec e Tihocan non avevano la bench)e minima idea" "[29500] - il cataclisma che colp$i Atlantide ha spazzato via una razza di rammolliti..." "[33500]facendoli ripiombare alle basi della sopravvivenza..." - "[37000]Non doveva andare in quel modo." + "[37000]..ma non doveva andare in quel modo!" "[39000]O in questo." "[40000]La schiusura avr$a inizio tra 15 secondi." - "[43000]Troppo tardi per tirarsi indietro adesso!" + "[43000]Troppo tardi ormai per tirarsi indietro!" "[45000]Non senza la mente dell'operazione!" "[47000]Noooo!" - "[50000]DIECI" - "[54000]CINQUE..." + "[50000]10" + "[54000]5..." "[55500]4...3...2..." - "[60000]UNO..." + "[60000]1..." /* 23 */ , "[00001]Bene, adesso hai la mia attenzione" "[02500]- Tuttavia, non sono cos$i sicura di avere la tua." "[05000]Hey?" - "[06000]Ti accopper$o e ti sbatter$o dietro la porta di una stalla." + "[06000]Ti accopper$o e ti sbatter$o dentro una stalla." "[09000]Come no." "[10000]Tu e quel dannato pezzo di Scion." - "[13000]Se lo vuoi a tutti i costi, provveder$o immediatamente a..." + "[13000]Se vuoi tenerlo ad ogni costo, provveder$o immediatamente a..." "[17000]Aspetta... stiamo parlando di questo artefatto?" - "[20000]Siamo sulla buona strada ... te lo inf..." - "[22000]Fermo - Scusa un secondo" - "[24000]- hai detto questo pezzo, - dove sono gli altri?" - "[26500]Miss Natla ha messo Pierre Dupont sulle loro tracce." + "[20000]Siamo sulla buona strada ... te lo far$o ingoi..." + "[22000]Alt - Scusa un secondo" + "[24000]- hai detto questo pezzo - dove sono gli altri?" + "[26500]Miss Natla ha gi$a messo Pierre Dupont sulle loro tracce." "[29500]E lui dove si trova adesso?" "[30500]Hah. Non sei abbastanza veloce per raggiungerlo." - "[34000]Credi di trattenermi con tutto questo blaterare?" - "[37000]Non so dove lo stiano conducendo le sue gambette da leprotto." + "[34000]Hai forse intenzione di trattenermi blaterando?" + "[37000]Non so dove lo stiano conducendo ora le sue gambette da leprotto." "[42000]Dovresti chiederlo a Miss Natla." "[46000]" "[51000]Grazie. Provveder$o." /* 24 */ , "" /* 25 */ , "[03500]Qui giace Tihocan" - "[05000]...uno dei due indiscussi sovrani di Atlantide..." - "[10000]Che anche dopo la rovina del continente..." - "[13000]...tent$o di stabilire l'ordine in queste lande desolate..." + "[05000]...uno dei due onorati sovrani di Atlantide..." + "[10000]..che anche dopo la rovina del continente..." + "[13000]...tent$o di ristabilire l'ordine in queste lande desolate..." "[19000]Egli mor$i senza un erede e la sua conoscenza non fu tramandata..." "[25500]Veglia su di noi, Tihocan." - /* 26 */ , "Benvenuto nella mia casa." - /* 27 */ , "Usa i tasti di controllo per andare nella stanza della musica." - /* 28 */ , "Ok. Facciamo qualche acrobazia.@Premi il tasto Salto." - /* 29 */ , "Ora fallo di nuovo premendo in una@delle direzioni: salter$o da quella parte." - /* 30 */ , "Ecco l'atrio principale.@Scusa per quelle casse, ho imballato alcune cose@e il fattorino non $e ancora passato." - /* 31 */ , "Corri vicino a una cassa e, continuando a premere in Avanti,@premi Azione e io ci salter$o sopra." - /* 32 */ , "Una volta questa stanza era una sala da ballo,@ma io l'ho trasformata nella mia palestra personale.@Cosa ne pensi?@Ok, facciamo qualche esercizio." - /* 33 */ , "In effetti io non corro sempre.@Quando occorre essere cauta, cammino.@Tieni premuto il tasto Cammina e raggiungi la linea bianca." - /* 34 */ , "Con il tasto Cammina premuto, non cadr$o@nemmeno se mi spingi a farlo.@Avanti, prova pure." - /* 35 */ , "Se vuoi guardarti intorno, premi e tieni premuto il tasto Guarda.@Quindi premi nella direzione in cui vuoi guardare." - /* 36 */ , "Se un salto $e troppo lungo, posso aggrapparmi al@bordo per evitare una brutta caduta.@Cammina verso il bordo con la linea bianca@finch)e non posso pi$u andare avanti.@Quindi premi Salto, immediatamente seguito da Avanti,@e mentre sono in aria premi e tieni premuto il tasto Azione." - /* 37 */ , "Premi Avanti e mi arrampicher$o." - /* 38 */ , "Se faccio un salto con rincorsa, posso arrivare@a quella distanza, senza alcun problema." - /* 39 */ , "Cammina verso il bordo con la linea bianca finch)e non mi fermo.@Quindi rilascia il tasto Cammina e premi una@volta Avanti per farmi prendere la rincorsa.@Premi Avanti e subito dopo premi e tieni premuto il tasto Salto.@Non spiccher$o il salto fino all'ultimo secondo." - /* 40 */ , "Perfetto. Questo $e davvero grande.@Allora, fai un salto con rincorsa esattamente come prima,@ma questa volta, mentre sono in aria premi e tieni premuto@il tasto Azione per farmi aggrappare al bordo." - /* 41 */ , "Bene." - /* 42 */ , "Prova a saltare qui su.@Premi avanti e tieni premuto il tasto Azione." - /* 43 */ , "Non posso tirarmi su perch)e la fessura $e troppo stretta.@Per$o puoi premere verso destra: mi sposter$o@lateralmente finch)e c'$e spazio, poi premi avanti." - /* 44 */ , "Ottimo!@Se c'$e un grosso dislivello e non voglio farmi@male cadendo, posso calarmi gi$u lentamente." - /* 45 */ , "Premi una volta indietro e far$o un salto in quella direzione.@Poi, immediatamente, premi e tieni premuto il@tasto Azione: mi aggrapper$o al bordo per scendere." + /* 26 */ , "Benvenuto nella mia casa! Lascia che ti porti a dare un'occhiata in giro." + /* 27 */ , "Usa i tasti direzionali per spostarti nella sala della musica." + /* 28 */ , "Ok, facciamo qualche acrobazia!@Premi il tasto Salto." + /* 29 */ , "Ora fallo di nuovo premendo un tasto direzionale;@io salter$o da quella parte." + /* 30 */ , "Questo $e l'atrio principale!@Vorrai perdonare il disordine ma ho imballato alcune cose@e come immaginerai il fattorino non si $e ancora fatto vivo." + /* 31 */ , "Posizionami di fronte ad una cassa e continuando a premere Avanti@premi il tasto Azione: mi ci arrampicher$o sopra." + /* 32 */ , "Una volta questa era la sala da ballo@ma io l'ho trasformata nella mia palestra personale; Che te ne pare?@Bene, facciamo qualche esercizio!" + /* 33 */ , "Ovviamente io non corro sempre;@quando serve una certa prudenza cammino.@Tieni premuto il tasto Camminata e raggiungi la linea bianca." + /* 34 */ , "Con il tasto Camminata premuto non cadr$o@nemmeno se mi spingi a farlo.@Avanti, prova pure!" + /* 35 */ , "Se vuoi guardarti intorno premi e tieni premuto il tasto Osserva;@infine con i tasti direzionali muovi la visuale verso il punto che vuoi." + /* 36 */ , "Se un salto $e troppo lungo posso aggrapparmi al bordo@evitando una rovinosa caduta.@Cammina verso il bordo con la linea bianca finch)e non posso pi$u andare avanti;@quindi premi Salto, immediatamente seguito da Avanti@e mentre sono in aria premi e tieni premuto il tasto Azione." + /* 37 */ , "Adesso premi il tasto Avanti e mi arrampicher$o." + /* 38 */ , "Facendo un salto con rincorsa arrivare a quella distanza@sar$a sicuramente uno scherzo!" + /* 39 */ , "Cammina verso il bordo con la linea bianca finch)e non mi fermo.@Quindi rilascia il tasto Cammina e premi una volta Indietro@in modo da farmi prendere la rincorsa.@Premi Avanti e subito dopo premi e tieni premuto il tasto Salto:@non salter$o fino all'ultimo secondo." + /* 40 */ , "Perfetto; questo $e davvero un gran bel salto!@Allora: fai un salto con rincorsa esattamente come prima@ma questa volta mentre sono in aria premi e tieni premuto Azione@per farmi aggrappare al bordo." + /* 41 */ , "Bene!" + /* 42 */ , "Ora prova a sollevarti qui!@Premi Avanti e tieni premuto il tasto Azione." + /* 43 */ , "Come vedi non posso tirarmi su perch)e la fessura $e troppo stretta,@per$o puoi spingere verso destra: mi sposter$o@lateralmente finch)e c'$e spazio. Infine premi Avanti." + /* 44 */ , "Ottimo!@Se c'$e un grosso dislivello e non voglio farmi male cadendo@posso calarmi gi$u lentamente." + /* 45 */ , "Premi una volta Indietro e far$o uno scatto in quella direzione.@Poi, immediatamente, premi e tieni premuto il@tasto Azione: mi aggrapper$o al bordo per scendere." /* 46 */ , "Ora rilascia." - /* 47 */ , "Andiamo a farci una nuotata." - /* 48 */ , "Usa il tasto Salto ed i tasti di controllo@per muovermi sott'acqua." - /* 49 */ , "Ah! Aria!@Usa avanti, sinistra e destra per muoverti quando sei a galla.@Premi Salto per immergerti e fare un'altra nuotata.@Oppure raggiungi il bordo e premi Azione per uscire." - /* 50 */ , "Perfetto. Ora sar$a meglio che mi tolga@questi vestiti bagnati." + /* 47 */ , "Adesso andiamo a farci una bella nuotata!" + /* 48 */ , "Usa il tasto Salto insieme ai tasti direzionali@per farmi muovere quando sono sott'acqua." + /* 49 */ , "Ah! Aria!@Premi i tasti direzionali per muovermi quando sono a galla.@Premi Salto per farmi immergere di nuovo,@altrimenti raggiungi il bordo e premi Avanti e Azione per farmi uscire." + /* 50 */ , "Perfetto! Ora per$o sar$a meglio che mi tolga@questi vestiti bagnati.." /* 51 */ , "Sorridi!" /* 52 */ , "Niente di personale." - /* 53 */ , "Maledetto, mi fai ancora venire il mal di testa.@E mi fai venire in mente delle brutte idee@ad esempio spararti!" - /* 54 */ , "Non puoi liberarti di me e della mia@stirpe cos$i facilmente, Lara." - /* 55 */ , "Un po' in ritardo per la premiazione, no?@Ma l'importante $e partecipare, giusto?" + /* 53 */ , "Essere maledetto, mi fai sempre venire il mal di testa.@E mi provochi anche brutti pensieri,@ad esempio quello di spararti!" + /* 54 */ , "Non puoi liberarti di me e della mia stirpe@cos$i facilmente, Lara!" + /* 55 */ , "Un po' in ritardo per la premiazione, no?@Ma l'importante in fin dei conti $e partecipare, sbaglio?" /* 56 */ , "Mi stai sparando?@Ehi, stai sparando a me?@Eh s$i, non c'$e nessun altro, stai proprio sparando a me!" // TR1 levels , "Casa di Lara" , "Caverne" , "Citt$a di Vilcabamba" - , "Valle perduta" + , "La Valle Perduta" , "Tomba di Qualopec" , "Rovine di St. Francis" , "Colosseo" , "Palazzo di Mida" - , "La Cisterna" + , "Cisterna" , "Tomba di Tihocan" , "Citt$a di Khamoon" , "Obelisco di Khamoon" , "Santuario dello Scion" , "Miniere di Natla" , "Atlantide" - , "La grande piramide" + , "La Grande Piramide" , "Ritorno in Egitto" , "Tempio del Gatto" , "Fortezza atlantidea" - , "L'Alveare" + , "L'alveare" // TR2 levels , "Casa di Lara" , "La Grande Muraglia" @@ -323,10 +323,10 @@ const char *STR_IT[] = { "" , "Pendici tibetante" , "Monastero di Barkhang" , "Catacombe di Talion" - , "Palazzo del ghiaccio" + , "Palazzo di ghiaccio" , "Tempio dello Xian" , "Isole galleggianti" - , "La tana del Drago" + , "La tana del drago" , "Casa dolce casa" // TR3 levels , "Casa di Lara" @@ -347,9 +347,9 @@ const char *STR_IT[] = { "" , "Area 51" , "Antartico" , "Miniere RX-Tech" - , "CittГ  perduta di Tinnos" + , "Citt$a perduta di Tinnos" , "Caverna del meteorite" - , "All Hallows" + , "Hallows" }; #endif diff --git a/src/lang/sv.h b/src/lang/sv.h new file mode 100644 index 0000000..ff01cfc --- /dev/null +++ b/src/lang/sv.h @@ -0,0 +1,355 @@ +#ifndef H_LANG_SV +#define H_LANG_SV + +// Thanks: Carl Lindmark + +const char *STR_SV[] = { "" +// help + , "Laddar..." + , "Tryck H f~or hj~alp" + , helpText + , "%s@@@" + "D~ODADE %d@@" + "PLOCKAT %d@@" + "HEMLIGHETER %d av %d@@" + "TID TAGEN %s" + , "Sparar spel..." + , "Sparar klar!" + , "SPARA MISSLYCKATS!" + , "JA" + , "NEJ" + , "Av" + , "P^a" + , "Av" + , "Sida-vid-Sida" + , "Anaglyf" + , "Delad sk~arm" + , "VR" + , "L^ag" + , "Mellan" + , "H~og" + , STR_LANGUAGES + , "Till~ampa" + , "Handkontroll 1" + , "Handkontroll 2" + , "Handkontroll 3" + , "Handkontroll 4" + , "Ej Redo" + , "Spelare 1" + , "Spelare 2" + , "Tryck Valfri Knapp" + , "%s - V~alj" + , "%s - Tillbaka" +// inventory pages + , "ALTERNATIV" + , "LAGER" + , "OBJEKT" +// save game page + , "Spara Spel?" + , "Nuvarande Position" +// inventory option + , "Spel" + , "Karta" + , "Kompass" + , "Statistik" + , "Lara's Hem" + , "Detaljniv^aer" + , "Ljud" + , "Kontroller" + , "Gamma" +// passport menu + , "~Oppna Spel" + , "Nytt Spel" + , "Starta om Niv^a" + , "Avsluta till Titel" + , "Avsluta Spel" + , "V~alj Niv^a" +// detail options + , "V~alj detalj" + , "Filtrering" + , "Belysning" + , "Skuggor" + , "Vatten" + , "VSync" + , "Stereo" + , "Enkel Objekt" + , "Uppl~osning" + , STR_SCALE +// sound options + , "St~all in Volym" + , "Eko" + , "Undertexter" + , "Spr^ak" +// controls options + , "St~all in Kontroller" + , "Tangentbord" + , "Handkontroll" + , "Vibration" + , "Ominriktning" + , "Multi-riktning" + // controls + , "V~anster", "H~oger", "Spring", "Backa", "Hoppa", "G^a", "Action", "Dra Vapen", "Titta", "Ducka", "Rusa", "Rulla", "Lager", "Start" + , STR_KEYS +// inventory items + , "Ok~and" + , "Explosivt" + , "Pistoler" + , "Hagelgev~ar" + , "Magnum" + , "Uzis" + , "Pistol-Ammunition" + , "Hagelgev~ar-Ammunition" + , "Magnum-Ammunition" + , "Uzi-Ammunition" + , "Litet First-Aid" + , "Stort First-Aid" + , "Blytacka" + , "Scion" +// keys + , "Nyckel" + , "Nyckel av Silver" + , "Nyckel av Rustier" + , "Nyckel av Guld" + , "Nyckel av Safir" + , "Nyckel av Neptune" + , "Nyckel av Atlas" + , "Nyckel av Damokles" + , "Nyckel av Thor" + , "Nyckel av Ornate" +// puzzles + , "Pussel" + , "Guld-Idol" + , "Guld-Tacka" + , "Kugghjul" + , "Stubin" + , "Ankh" + , "Horus ~Oga" + , "Anubis Sigill" + , "Scarab" + , "Pyramid-Nyckeln" +// TR1 subtitles + /* CAFE */ , + "[43500]Vad m^aste en man g~ora f~or att@f^a er uppm~arskamhet?" + "[47500]Det ~ar sv^art att s~aga,@men du verkar klara det bra." + "[50000]N^a, bra. Men sanningen ~ar,@det ~ar inte jag som vill ha er." + "[54500]Inte?" + "[55000]Nej, men fr~oken Jacqueline Natla,@fr^an Natla Technologies." + "[59000]Du vet, skaparen av@alla ljusa och underbara ting?" + "[64500]Tysta ner dig, Larson." + "[66000]Ma'am." + "[68000]Titta in det h~ar, Lara." + "[70500]Var lite nyfiken?" + "[73500]Jag spelar bara f~or sport, tyv~arr." + "[76000]D^a kanske du kommer att gilla det h~ar." + "[78000]Peru. Majest~atiska bergskedjor, branta v~aggar av ren is,@vilda bergsluttningar, ylande vindar" + "[87500]och sedan finns det Scion:@en gammal artefakt med mystiska krafter," + "[92500]g~omd djupt i Qualopecs f~orlorade grav." + "[96000]Jag vill ha det smycket." + "[98000]Du kan ^aka i morgon.@Har du n^agra planer f~or morgondagen??" + /* LIFT */ , + "[49000]H~ar i den magnifika byggnaden S:t Francis,@pl^agar mig nya frestelser." + "[53500]Mina br~oder ryktar att Tihocans kropp@~ar begravd under v^art kloster," + "[60000]en av de tre mytiska h~arskarna@av den f~orlorade kontinenten Atlantis," + "[64500]och att en bit av Atlanten,@arvet ligger hos honom." + "[68000]en h~angiven som delades mellan de tre h~arskarna@p^a den neds~ankta kontinenten Atlantis," + "[72500]f~or att h^alla sina om~atbara krafter i schack,@krafter bortom den Allsm~aktiges, Skaparen." + "[79000]Jag blir yr av s^adana m~ojligheter som@ligger s^a n~ara mitt d~odliga jag.." + "[85500]Jag klandrar mig sj~alv varje kv~all f~or att leva ut id)en,@men det ~ar verkligen ett sv^art test." + "[92000]" + "[93500]Pierre. Din nerskr~apare." + /* CANYON */ , + "[13500]H~ar har vi ~antligen det lilla odjuret." + "[16500]Howdy." + "[17500]God eftermiddag." + "[20000]Bl^aste du ut ljuset f~or Larson?" + "[22500]Om du vill uttrycka det s^a." + "[24000]N^av~al, din lilla semesterresa ~ar ~over." + "[27000]Dags att ge tillbaka det du stal fr^an mig." + "[30000]L^at oss ta en titt i lunchl^adan." + "[32000]" + "[42500]N^a? D~oda dem!" + "[45000]Hej!" + "[48000]" + "[50500]Era idioter!" + "[53000]" + "[62500]L^at oss g^a." + "[65000]" + "[136000]Vad i helvete var det?" + "[138000]Vad?" + "[138500]D~ar borta." + "[140500]F~ormodligen bara en fisk." + "[142500]Men m^aste ha varit ganska stor." + "[145000]Mannen, du m^aste l~ara dig a det lugnt@Jag g^ar in igen, kommer du?" + "[152000]" + "[158000]H^all dig lugn..." + "[160000]H~ar kommer det." + "[161500]~Ar du redo?" + /* PRISON */ , + "[00001]Du kan inte g~ora det!" + "[01500]Vi d~ommer dig, Natla fr^an Atlantis, f~or dina brott," + "[06000]f~or grovt missbruk av dina befogenheter@och f~or att stj~ala v^ara befogenheter." + "[11500]Du kan inte! Jag..." + "[12500]Du har f~orst~ort den trippelallians som har@lett och skyddat v^art folk..." + "[18500]och utmanade Tihocan och mig med v^ar egen arm)e..." + "[23500]lockade v^ara krigare bort fr^an pyramiden..." + "[27000]s^a att du kan missbruka pyramidens kreativa@kraft f~or din trubbiga destruktivitet." + "[33500]Sj~all~os!? Titta p^a dig!" + "[35500]Ingen av er har en gnista av uppfinning i huvudet." + "[40500]Od^agor!" + "[41500]L^at oss bara g~ora det." + "[44000]Tihocan!" + "[45000]Du har vandaliserat ditt heliga offer av ren girighet," + "[49500]som ett freak show." + "[51000]En ny generation, f~odd f~or att ~overleva." + "[54000]Nu ~ar de k~ottf~ars." + "[56000]Och du, Natla, vi kommer att sm~ada..." + "[60000]dina vener och f~otter, ditt hj~arta..." + "[64000]och din sjuka hj~arna fryses ned till is med ditt blod," + "[70000]Se din eviga rastl~oshet i ~ogonen, Natla.." + "[73000]Du kommer aldrig finna frid,@f~orbannad m^a din kontinent Atlantis!" + /* 22 */ , + "[04000]Tillbaka igen?" + "[05500]Och du - F~or den ceremoniella ^ater~oppningen, antar jag." + "[09500]Evolutionen ~ar i en ^aterv~andsgr~and - n~astan inget naturligt urval..." + "[13500]spridningen av nya varelser" + "[17500] - kommer att stimulera nya regionala krafter..." + "[20500]~Aven skapa nya arter." + "[22500]som en evolution p^a steroider." + "[24500]Ja, med en spark i rumpan...@De d~ar Qualopec och Tihocan hade ingen aning." + "[29500] - Atlantis fall har drabbat ett lopp av tr~otta svagheter..." + "[33500]och kastade dem tillbaka till ursprunget f~or ~overlevnad...." + "[37000]Detta ~ar vad v~arlden beh~over." + "[39000]Inte s^a." + "[40000]Det b~orjar om 15 sekunder." + "[43000]F~or sent f~or att avbryta!" + "[45000]Inte utan hj~artat av operationen!" + "[47000]Neeeeej!" + "[50000]10" + "[54000]5..." + "[55500]4...3...2..." + "[60000]1..." + /* 23 */ , + "[00001]N^a, nu har du min fulla uppm~arksamhet," + "[02500]men har jag din ocks^a?" + "[05000]Hall^a?" + "[06000]V~anta lite. N~ar jag tar tag i dig." + "[09000]Naturligtvis." + "[10000]Du och den d~ar dumma saken av Scion." + "[13000]Om du verkligen vill beh^alla det, s^a ska jag trycka det i din j~avl..." + "[17000]V~anta... pratar vi om artifakten?" + "[20000]Det kan du ta dig p^a ... r~att upp i din ..." + "[22000]V~anta lite - Jag ~ar ledsen" + "[24000]- den h~ar, sa du - var ~ar resten?" + "[26500]Miss Natla satte Pierre Dupont p^a letandet." + "[29500]Vart d^a?" + "[30500]Ha! Du ~ar inte lika snabb som honom." + "[34000]S^a du menar att samtalet h~ar bara hindrar mig?" + "[37000]~Ah, ingen aning var de d~ar kr~okta@skurkbenen leder honom." + "[42000]Du f^ar fr^aga fr~oken Natla." + "[46000]" + "[51000]Det ska jag, tackar." + /* 24 */ , "" + /* 25 */ , + "[03500]H~ar ligger Tihocan" + "[05000]...en av de tv^a r~attf~ardiga h~arskarna i Atlantis..." + "[10000]som ~aven efter bes~oket av kontinenten..." + "[13000]...f~ors~okte h~arska v~al i detta karga, fr~ammande land..." + "[19000]Han dog utan barn och hans kunskap levde intevvidare..." + "[25500]Se v~al ~over oss, Tihocan." + /* 26 */ , "V~alkommen till mitt hem!@L^at oss ta en liten tur." + /* 27 */ , "Anv~and riktningsknappen f~or att g^a till musikrummet." + /* 28 */ , "OK, l^at oss springa lite d^a!@Tryck p^a hoppknappen." + /* 29 */ , "Tryck nu p^a den igen och tryck sedan snabbt p^a en av@riktningsknapparna, d^a hoppar jag i den riktningen." + /* 30 */ , "Ah, den stora salen. Urs~akta l^adorna.@Jag har lagrat n^agra saker och vet inte vad jag ska g~ora med dem." + /* 31 */ , "Spring mot en l^ada och medan du h^aller kontrollknappen upp^at,@tryck p^a actionknappen, d^a kl~attrar jag upp." + /* 32 */ , "Det var en g^ang balsalen, men jag anv~ander det som ett gym@Hur tycker du om det? @ L^at oss sedan g~ora n^agra ~ovningar." + /* 33 */ , "Sj~alvklart springer jag inte ~overallt. Om jag vill vara@s~arskilt f~orsiktig, g^ar jag. H^all ned g^a-knappen@och flytta till den vita linjen." + /* 34 */ , "Medan du h^aller ner g^a-knappen kan jag inte falla av@~aven om du f~ors~oker leda mig ~over kanten. Testa, veta jag." + /* 35 */ , "Om du vill se dig omkring h^aller du ner titta-knappen@och trycker p^a kontrollknappen i den riktning du vill se." + /* 36 */ , "Om ett hopp ~ar f~or l^angt f~or mig kan jag@h^alla fast vid kanten s^a att jag inte faller av. G^a till kanten med den@vita linjen tills jag stannar. Tryck sedan p^a hoppknappen@och omedelbart d~arefter upp kontrollpanelen. Nu, medan jag fortfarande ~ar i luften, tryck p^a ^atg~ardsknappen och h^all den intryckt." + /* 37 */ , "Tryck p^a kontrollknappen upp f~or att kl~attra upp" + /* 38 */ , "Om jag springer och hoppar kan jag g~ora stora hopp." + /* 39 */ , "G^a till kanten med den vita linjen tills jag stannar. Sl~app sedan@startknappen och tryck ner kontrollknappen kort. Nu k~or jag upp. Tryck kontrollknappen upp^at och omedelbart d~arefter hoppa-knappen@Press forward, and almost immediately press and hold the jump button@h^all ned hoppknappen. Jag hoppar i sista stund." + /* 40 */ , "S^a det ~ar riktigt stort! Starta hoppet precis som@f~orklarat, men n~ar jag ~ar i luften trycker du p^a actionknappen@och h^aller den nedtryck, d^a kan jag h^alla fast vid kanten." + /* 41 */ , "Bra." + /* 42 */ , "F~ors~ok att kl~attra upp hit.@Tryck kontrollknappen upp^at och sedan p^a actionknappen." + /* 43 */ , "Jag kan inte kl~attra upp h~ar eftersom gapet ~ar f~or smalt.@Men om du trycker p^a knappen f~or h~oger, h~anger jag@i sidled tills det finns tillr~ackligt med utrymme att dra sig upp." + /* 44 */ , "Om det ~ar en brant nedf~orsbacke och jag inte vill@skada mig sj~alv n~ar jag hoppar, kan jag kl~attra ner f~orsiktigt." + /* 45 */ , "Tryck ner backaknappen s^a att jag hoppar bak^at.@Tryck sedan omedelbart p^a actionknappen och h^all ned den s^a att jag@klamrar fast vid kanten n~ar jag faller." + /* 46 */ , "Sl~app nu." + /* 47 */ , "L^at oss ta en simtur." + /* 48 */ , "Hoppknappen och h~oger- samt v~ansterknappen anv~ands f~or@att styra mig under vatten." + /* 49 */ , "Ah! Luft!@Tryck bara p^a kontrollknappen fram^at, v~anster och h~oger,@f~or att r~ora dig runt ytan. Tryck p^a hoppknappen@om du vill att jag ska dyka igen. Eller g^a till avsatsen och@tryck p^a actionknappen f~or att f^a mig ur vattnet." + /* 50 */ , "S^a nu tar jag av mig de v^ata kl~aderna f~orst." + /* 51 */ , "Va god le!" + /* 52 */ , "Det ~ar inget personligt." + /* 53 */ , "Du ger mig fortfarande huvudv~ark.@En liten f^agel viskade att jag ska skicka dig till helvetet!" + /* 54 */ , "Jag och mina v~anner f~orsvinner inte s^a l~att, Lara." + /* 55 */ , "Inte lite sent f~or prisutdelningen?@Men att vara d~ar ~ar allt, ~aven om inte alla ser det p^a det s~attet." + /* 56 */ , "Du skjuter p^a mig?@Du skjuter p^a mig?@Det finns ingen annan h~ar, s^a du m^aste skjutit p^a mig!" +// TR1 levels + , "Lara's Hem" + , "Grottan" + , "Vilcabambas Stad" + , "F~orlorade Dalen" + , "Qualopec Gravkammare" + , "S:t Francis D^arskap" + , "Kolosseum" + , "Midas Palats" + , "Cisternen" + , "Tihocans Gravkammare" + , "Khamoon Stad" + , "Khamoons Obelisk" + , "Scion Fristad" + , "Natla's Gruvor" + , "Atlantis" + , "Den Stora Pyramid" + , "^Aterv~and till Egypten" + , "Kattens tempel" + , "Atlantiska F~astningen" + , "Kupan" +// TR2 levels + , "Lara's Hem" + , "Den Kinesiska Muren" + , "Venedig" + , "Bartolis G~omst~alle" + , "Operahus" + , "Kustriggen" + , "Dykomr^ade" + , "40 Fathoms" + , "Maria Doria Vrak" + , "Bostads-Kvarter" + , "D~acket" + , "Tibetanska H~ogl~anderna" + , "Barkhang-Klostret" + , "Talion-Katakomberna" + , "Ispalatset" + , "Xian-templet" + , "Den Flytande ~On" + , "Drakens Lya" + , "Hem K~ara Hem" +// TR3 levels + , "Lara's Hus" + , "Djungel" + , "Tempelruinerna" + , "Floden Ganges" + , "Kaliya-Grottorna" + , "Kustby" + , "Kraschplats" + , "Madubu Gorge" + , "Punatemplet" + , "Thames Wharf" + , "Aldwych" + , "Lud's Port" + , "Stad" + , "Nevada~oknen" + , "H~og s~akerhetsf~orening" + , "Area 51" + , "Antarktis" + , "RX-Tech Gruvor" + , "Tinnos F~orlorade Stad" + , "Meteoritgrotta" + , "All Hallows" +}; + +#endif diff --git a/src/platform/nix/main.cpp b/src/platform/nix/main.cpp index 164cafe..e36c1a0 100644 --- a/src/platform/nix/main.cpp +++ b/src/platform/nix/main.cpp @@ -275,7 +275,7 @@ void joyUpdate() { for (int i = 0; i < INPUT_JOY_COUNT; i++) { JoyDevice &joy = joyDevice[i]; - + if (joy.fd == -1) continue; @@ -388,6 +388,7 @@ int checkLanguage() { if (id == TWOCC("cs")) return STR_LANG_CZ - STR_LANG_EN; if (id == TWOCC("zh")) return STR_LANG_CN - STR_LANG_EN; if (id == TWOCC("hu")) return STR_LANG_HU - STR_LANG_EN; + if (id == TWOCC("sv")) return STR_LANG_SV - STR_LANG_EN; return 0; } @@ -459,11 +460,12 @@ int main(int argc, char **argv) { WndProc(event, dpy, wnd); } else { joyUpdate(); - bool updated = Game::update(); + bool updated = Game::update(); if (updated) { - Game::render(); - glXSwapBuffers(dpy, wnd); - } + Game::render(); + Core::waitVBlank(); + glXSwapBuffers(dpy, wnd); + } } }; diff --git a/src/platform/rpi/main.cpp b/src/platform/rpi/main.cpp index ce056bc..2f28dc6 100644 --- a/src/platform/rpi/main.cpp +++ b/src/platform/rpi/main.cpp @@ -492,6 +492,7 @@ int checkLanguage() { if (id == TWOCC("cs")) return STR_LANG_CZ - STR_LANG_EN; if (id == TWOCC("zh")) return STR_LANG_CN - STR_LANG_EN; if (id == TWOCC("hu")) return STR_LANG_HU - STR_LANG_EN; + if (id == TWOCC("sv")) return STR_LANG_SV - STR_LANG_EN; return 0; } @@ -545,6 +546,7 @@ int main(int argc, char **argv) { if (Game::update()) { Game::render(); + Core::waitVBlank(); eglSwapBuffers(display, surface); } }; diff --git a/src/platform/web/index.php b/src/platform/web/index.php index 591ade6..319012a 100644 --- a/src/platform/web/index.php +++ b/src/platform/web/index.php @@ -144,6 +144,8 @@ id = 12; } else if (lang == "hu") { id = 13; + } else if (lang == "sv") { + id = 14; } Module.ccall('set_def_lang', 'null', ['number'], [id]); } diff --git a/src/platform/win/OpenLara.vcxproj b/src/platform/win/OpenLara.vcxproj index 1735d65..d7ac0b5 100644 --- a/src/platform/win/OpenLara.vcxproj +++ b/src/platform/win/OpenLara.vcxproj @@ -67,6 +67,7 @@ Strict + MultiThreadedDebug Console @@ -155,6 +156,7 @@ + diff --git a/src/platform/win/OpenLara.vcxproj.filters b/src/platform/win/OpenLara.vcxproj.filters index bb27acf..ead0abb 100644 --- a/src/platform/win/OpenLara.vcxproj.filters +++ b/src/platform/win/OpenLara.vcxproj.filters @@ -134,6 +134,9 @@ lang + + lang + diff --git a/src/platform/win/OpenLara.vcxproj.user b/src/platform/win/OpenLara.vcxproj.user index 96911a8..4b35cfa 100644 --- a/src/platform/win/OpenLara.vcxproj.user +++ b/src/platform/win/OpenLara.vcxproj.user @@ -1,10 +1,9 @@  - ..\..\..\bin\TR1_PSX + C:\Projects\TR\TR2_ANDROID WindowsLocalDebugger - - + assault.tr2 ..\..\..\bin\TR1_PSX diff --git a/src/platform/win/main.cpp b/src/platform/win/main.cpp index fca7d8c..1b102f1 100644 --- a/src/platform/win/main.cpp +++ b/src/platform/win/main.cpp @@ -468,6 +468,7 @@ HWND hWnd; WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB, WGL_COLOR_BITS_ARB, 32, WGL_ALPHA_BITS_ARB, 8, + WGL_DEPTH_BITS_ARB, 24, 0 }; @@ -487,6 +488,8 @@ HWND hWnd; }; hRC = wglCreateContextAttribsARB(hDC, 0, contextAttribs); + + GAPI::GL_VER_3 = true; } else { int format = ChoosePixelFormat(hDC, &pfd); SetPixelFormat(hDC, format, &pfd); @@ -646,6 +649,7 @@ int checkLanguage() { case LANG_CZECH : str = STR_LANG_CZ; break; case LANG_CHINESE : str = STR_LANG_CN; break; case LANG_HUNGARIAN : str = STR_LANG_HU; break; + case LANG_SWEDISH : str = STR_LANG_SV; break; } return str - STR_LANG_EN; } diff --git a/src/platform/xb1/main.cpp b/src/platform/xb1/main.cpp index ac66ab9..bbe0764 100644 --- a/src/platform/xb1/main.cpp +++ b/src/platform/xb1/main.cpp @@ -382,6 +382,8 @@ public: str = STR_LANG_CN; } else if (CHECK("hu")) { str = STR_LANG_HU; + } else if (CHECK("sv")) { + str = STR_LANG_SV; } return str - STR_LANG_EN; diff --git a/src/ui.h b/src/ui.h index 48c8b39..6a24cf4 100644 --- a/src/ui.h +++ b/src/ui.h @@ -47,13 +47,14 @@ namespace UI { int advGlyphsStart; - #define RU_MAP "ÁÃÄÆÇÈËÏÓÔÖרÙÚÛÜÝÞßáâãäæçêëìíïòôö÷øùúûüýþÿ" "i~\"" + #define RU_MAP "ÁÃÄÆÇÈËÏÓÔÖרÙÚÛÜÝÞßáâãäæçêëìíïòôö÷øùúûüýþÿ" "i~\"^" #define RU_GLYPH_COUNT (COUNT(RU_MAP) - 1) #define RU_GLYPH_START 102 #define RU_GLYPH_UPPERCASE 20 - #define CHAR_SPR_TILDA (110 + RU_GLYPH_COUNT - 2) - #define CHAR_SPR_I (CHAR_SPR_TILDA - 1) - #define CHAR_SPR_QUOTE (CHAR_SPR_TILDA + 1) + #define CHAR_SPR_TILDA 154 + #define CHAR_SPR_I 153 + #define CHAR_SPR_QUOTE 155 + #define CHAR_SPR_AUH 156 const static uint8 char_width[110 + RU_GLYPH_COUNT] = { 14, 11, 11, 11, 11, 11, 11, 13, 8, 11, 12, 11, 13, 13, 12, 11, 12, 12, 11, 12, 13, 13, 13, 12, 12, 11, // A-Z @@ -66,7 +67,7 @@ namespace UI { 9, 11, 12, 11, 10, 9, 8, 10, 11, 9, 10, 10, 11, 9, 10, 12, // ÜÝÞßáâãäæçêëìíïò 10, 10, 9, 11, 12, 9, 11, 8, 9, 13, 9, // ôö÷øùúûüýþÿ // additional - 5, 10, 10 // i~" + 5, 10, 10, 10 // i~"^ }; static const uint8 char_map[102 + 33*2] = { @@ -95,7 +96,7 @@ namespace UI { } inline bool skipChar(char c) { - return c == '~' || c == '\"' || c == '$' || c == '(' || c == ')' || c == '|' || c == '}' || c == '*' || c == '{' || c == '+'; + return c == '~' || c == '\"' || c == '^' || c == '$' || c == '(' || c == ')' || c == '|' || c == '}' || c == '*' || c == '{' || c == '+'; } inline bool upperCase(int index) { @@ -120,6 +121,7 @@ namespace UI { char c = RU_MAP[i]; if (c == 'á' || c == 'ä' || c == '~' || c == '\"') h = 14; + if (c == '^') h = 16; if (c == 'Ö' || c == 'Ù' || c == 'ö' || c == 'ù') { o = 1; h++; } if (c == 'ô') { o = 2; h += 2; } @@ -423,6 +425,7 @@ namespace UI { if (c == '+' && *text && *text != '@') frame = CHAR_SPR_TILDA; if (c == 'i' && skipChar(lastChar)) frame = CHAR_SPR_I; if (c == '\"') frame = CHAR_SPR_QUOTE; + if (c == '^') frame = CHAR_SPR_AUH; lastChar = c; if (isShadow) {