From 6f9bdcbeb6fd804e34aa21918dd0880a7e9afbf9 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Thu, 14 May 2026 13:17:46 +0200 Subject: [PATCH] fixes per a windows: CRLF en parsers de text i SPV de postfx --- source/core/locale/lang.cpp | 10 + source/core/rendering/animatedsprite.cpp | 11 +- .../rendering/sdl3gpu/spv/crtpi_frag_spv.h | 3 +- .../rendering/sdl3gpu/spv/postfx_frag_spv.h | 1024 +++++------------ source/core/resources/resource.cpp | 3 + source/game/ui/menu.cpp | 15 +- 6 files changed, 314 insertions(+), 752 deletions(-) diff --git a/source/core/locale/lang.cpp b/source/core/locale/lang.cpp index aa8339e..d834cbb 100644 --- a/source/core/locale/lang.cpp +++ b/source/core/locale/lang.cpp @@ -67,10 +67,20 @@ bool Lang::setLang(Uint8 lang) { std::string line; int index = 0; while (std::getline(ss, line)) { + // Normaliza CRLF: en Windows els fitxers es llegeixen en binari i + // getline només talla pel \n, deixant un \r residual que faria que les + // línies en blanc no semblen buides (i sobreescriguen més enllà de + // mTextStrings, corrompent el heap). + if (!line.empty() && line.back() == '\r') { + line.pop_back(); + } // Almacena solo las lineas que no empiezan por # o no esten vacias const bool test1 = line.substr(0, 1) != "#"; const bool test2 = !line.empty(); if (test1 && test2) { + if (index >= MAX_TEXT_STRINGS) { + break; + } mTextStrings[index] = line; index++; } diff --git a/source/core/rendering/animatedsprite.cpp b/source/core/rendering/animatedsprite.cpp index 86b7d61..7463df3 100644 --- a/source/core/rendering/animatedsprite.cpp +++ b/source/core/rendering/animatedsprite.cpp @@ -19,7 +19,15 @@ static animatedSprite_t parseAnimationStream(std::istream &file, Texture *textur if (verbose) { std::cout << "Animation loaded: " << filename << std::endl; } + // Normalitza CRLF: fitxers .ani amb terminadors de Windows fan que + // line == "[animation]" no faci match i el parser entri en bucle + // infinit / no carregui cap animació. + auto strip_cr = [](std::string &s) { + if (!s.empty() && s.back() == '\r') s.pop_back(); + }; + while (std::getline(file, line)) { + strip_cr(line); if (line == "[animation]") { animation_t buffer; buffer.speed = 0; @@ -29,7 +37,8 @@ static animatedSprite_t parseAnimationStream(std::istream &file, Texture *textur buffer.completed = false; do { - std::getline(file, line); + if (!std::getline(file, line)) break; + strip_cr(line); int pos = line.find("="); if (pos != (int)line.npos) { if (line.substr(0, pos) == "name") { diff --git a/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h b/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h index e3c1757..0f67335 100644 --- a/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h +++ b/source/core/rendering/sdl3gpu/spv/crtpi_frag_spv.h @@ -10357,6 +10357,5 @@ static const uint8_t kcrtpi_frag_spv[] = { 0x38, 0x00, 0x01, - 0x00, -}; + 0x00}; static const size_t kcrtpi_frag_spv_size = 10356; diff --git a/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h b/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h index 8811d52..a125677 100644 --- a/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h +++ b/source/core/rendering/sdl3gpu/spv/postfx_frag_spv.h @@ -14,7 +14,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x0d, 0x00, - 0xf2, + 0xdd, 0x01, 0x00, 0x00, @@ -102,7 +102,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb6, + 0xa1, 0x01, 0x00, 0x00, @@ -1104,29 +1104,9 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0x05, - 0x00, - 0x6b, - 0x01, - 0x00, - 0x00, - 0x62, - 0x72, - 0x69, - 0x67, - 0x68, - 0x74, - 0x5f, - 0x72, - 0x6f, - 0x77, - 0x73, - 0x00, - 0x05, - 0x00, 0x04, 0x00, - 0x80, + 0x6b, 0x01, 0x00, 0x00, @@ -1142,7 +1122,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x84, + 0x70, 0x01, 0x00, 0x00, @@ -1158,7 +1138,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x93, + 0x7e, 0x01, 0x00, 0x00, @@ -1170,7 +1150,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x9e, + 0x89, 0x01, 0x00, 0x00, @@ -1182,7 +1162,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0xa2, + 0x8d, 0x01, 0x00, 0x00, @@ -1202,7 +1182,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0xb4, + 0x9f, 0x01, 0x00, 0x00, @@ -1222,7 +1202,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x06, 0x00, - 0xb6, + 0xa1, 0x01, 0x00, 0x00, @@ -1246,7 +1226,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -1262,7 +1242,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x06, 0x00, - 0xdc, + 0xc7, 0x01, 0x00, 0x00, @@ -1634,7 +1614,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xb6, + 0xa1, 0x01, 0x00, 0x00, @@ -2770,55 +2750,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x74, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x40, - 0x40, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x7b, - 0x01, - 0x00, - 0x00, - 0x83, - 0xc0, - 0x2a, - 0x3f, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x85, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x0a, - 0xd7, - 0x3e, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x95, + 0x80, 0x01, 0x00, 0x00, @@ -2834,19 +2766,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x96, + 0x81, 0x01, 0x00, 0x00, - 0x95, + 0x80, 0x01, 0x00, 0x00, - 0x95, + 0x80, 0x01, 0x00, 0x00, - 0x95, + 0x80, 0x01, 0x00, 0x00, @@ -2858,7 +2790,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xae, + 0x99, 0x01, 0x00, 0x00, @@ -2870,7 +2802,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xb5, + 0xa0, 0x01, 0x00, 0x00, @@ -2886,11 +2818,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xb5, + 0xa0, 0x01, 0x00, 0x00, - 0xb6, + 0xa1, 0x01, 0x00, 0x00, @@ -2902,7 +2834,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xb7, + 0xa2, 0x01, 0x00, 0x00, @@ -2922,7 +2854,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xba, + 0xa5, 0x01, 0x00, 0x00, @@ -2938,7 +2870,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbe, + 0xa9, 0x01, 0x00, 0x00, @@ -2954,19 +2886,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbf, + 0xaa, 0x01, 0x00, 0x00, - 0xbe, + 0xa9, 0x01, 0x00, 0x00, - 0xbe, + 0xa9, 0x01, 0x00, 0x00, - 0xbe, + 0xa9, 0x01, 0x00, 0x00, @@ -2978,7 +2910,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc7, + 0xb2, 0x01, 0x00, 0x00, @@ -2994,7 +2926,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd6, + 0xc1, 0x01, 0x00, 0x00, @@ -3010,7 +2942,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xdf, + 0xca, 0x01, 0x00, 0x00, @@ -3026,7 +2958,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe6, + 0xd1, 0x01, 0x00, 0x00, @@ -3486,55 +3418,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x6e, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x76, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x80, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x84, + 0x70, 0x01, 0x00, 0x00, @@ -3550,7 +3434,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x93, + 0x7e, 0x01, 0x00, 0x00, @@ -3566,7 +3450,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9e, + 0x89, 0x01, 0x00, 0x00, @@ -3582,7 +3466,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa2, + 0x8d, 0x01, 0x00, 0x00, @@ -3598,7 +3482,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb4, + 0x9f, 0x01, 0x00, 0x00, @@ -3614,7 +3498,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -3630,7 +3514,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xdc, + 0xc7, 0x01, 0x00, 0x00, @@ -7858,11 +7742,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0xb8, + 0x83, 0x00, 0x05, 0x00, - 0x77, + 0x06, 0x00, 0x00, 0x00, @@ -7874,190 +7758,10 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0xd4, - 0x00, - 0x00, - 0x00, - 0xf7, - 0x00, - 0x03, - 0x00, - 0x70, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x04, - 0x00, - 0x6d, - 0x01, - 0x00, - 0x00, - 0x6f, - 0x01, - 0x00, - 0x00, - 0x72, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x6f, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x71, - 0x01, - 0x00, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x6e, - 0x01, - 0x00, - 0x00, - 0x71, - 0x01, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0x70, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x72, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x73, - 0x01, - 0x00, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0xb8, - 0x00, - 0x05, - 0x00, - 0x77, - 0x00, - 0x00, - 0x00, - 0x75, - 0x01, - 0x00, - 0x00, - 0x73, - 0x01, - 0x00, - 0x00, - 0x74, - 0x01, - 0x00, - 0x00, - 0xf7, - 0x00, - 0x03, - 0x00, - 0x78, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x04, - 0x00, - 0x75, - 0x01, - 0x00, - 0x00, - 0x77, - 0x01, - 0x00, - 0x00, - 0x79, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x77, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x76, - 0x01, - 0x00, - 0x00, 0x63, 0x00, 0x00, 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0x78, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x79, - 0x01, - 0x00, - 0x00, 0x3d, 0x00, 0x04, @@ -8066,186 +7770,10 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7a, - 0x01, - 0x00, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x7c, - 0x01, - 0x00, - 0x00, - 0x7a, - 0x01, - 0x00, - 0x00, - 0x7b, - 0x01, - 0x00, - 0x00, - 0x0c, - 0x00, - 0x06, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x7d, - 0x01, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x08, - 0x00, - 0x00, - 0x00, - 0x7c, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x76, - 0x01, - 0x00, - 0x00, - 0x7d, - 0x01, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0x78, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x78, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x7e, - 0x01, - 0x00, - 0x00, - 0x76, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x6e, - 0x01, - 0x00, - 0x00, - 0x7e, - 0x01, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0x70, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x70, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x7f, - 0x01, - 0x00, - 0x00, 0x6e, 0x01, 0x00, 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x6b, - 0x01, - 0x00, - 0x00, - 0x7f, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x81, - 0x01, - 0x00, - 0x00, - 0x6b, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x82, - 0x01, - 0x00, - 0x00, 0x66, 0x01, 0x00, @@ -8258,7 +7786,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x83, + 0x6f, 0x01, 0x00, 0x00, @@ -8270,11 +7798,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x81, + 0x6d, 0x01, 0x00, 0x00, - 0x82, + 0x6e, 0x01, 0x00, 0x00, @@ -8282,11 +7810,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x80, + 0x6b, 0x01, 0x00, 0x00, - 0x83, + 0x6f, 0x01, 0x00, 0x00, @@ -8298,11 +7826,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x86, + 0x71, 0x01, 0x00, 0x00, - 0x80, + 0x6b, 0x01, 0x00, 0x00, @@ -8314,7 +7842,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x87, + 0x72, 0x01, 0x00, 0x00, @@ -8330,11 +7858,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x85, - 0x01, + 0x62, 0x00, 0x00, - 0x86, + 0x00, + 0x71, 0x01, 0x00, 0x00, @@ -8342,11 +7870,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x84, + 0x70, 0x01, 0x00, 0x00, - 0x87, + 0x72, 0x01, 0x00, 0x00, @@ -8358,11 +7886,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x88, + 0x73, 0x01, 0x00, 0x00, - 0x84, + 0x70, 0x01, 0x00, 0x00, @@ -8374,7 +7902,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x89, + 0x74, 0x01, 0x00, 0x00, @@ -8394,11 +7922,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8a, + 0x75, 0x01, 0x00, 0x00, - 0x89, + 0x74, 0x01, 0x00, 0x00, @@ -8410,7 +7938,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8b, + 0x76, 0x01, 0x00, 0x00, @@ -8426,11 +7954,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x88, + 0x73, 0x01, 0x00, 0x00, - 0x8a, + 0x75, 0x01, 0x00, 0x00, @@ -8442,7 +7970,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8c, + 0x77, 0x01, 0x00, 0x00, @@ -8458,15 +7986,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8d, + 0x78, 0x01, 0x00, 0x00, - 0x8c, + 0x77, 0x01, 0x00, 0x00, - 0x8b, + 0x76, 0x01, 0x00, 0x00, @@ -8478,7 +8006,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x8d, + 0x78, 0x01, 0x00, 0x00, @@ -8506,7 +8034,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8e, + 0x79, 0x01, 0x00, 0x00, @@ -8526,11 +8054,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8f, + 0x7a, 0x01, 0x00, 0x00, - 0x8e, + 0x79, 0x01, 0x00, 0x00, @@ -8542,11 +8070,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x90, + 0x7b, 0x01, 0x00, 0x00, - 0x8f, + 0x7a, 0x01, 0x00, 0x00, @@ -8558,7 +8086,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x92, + 0x7d, 0x01, 0x00, 0x00, @@ -8570,15 +8098,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x90, + 0x7b, 0x01, 0x00, 0x00, - 0x91, + 0x7c, 0x01, 0x00, 0x00, - 0x92, + 0x7d, 0x01, 0x00, 0x00, @@ -8586,7 +8114,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x91, + 0x7c, 0x01, 0x00, 0x00, @@ -8598,7 +8126,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x94, + 0x7f, 0x01, 0x00, 0x00, @@ -8614,7 +8142,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x97, + 0x82, 0x01, 0x00, 0x00, @@ -8626,11 +8154,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x94, + 0x7f, 0x01, 0x00, 0x00, - 0x96, + 0x81, 0x01, 0x00, 0x00, @@ -8638,11 +8166,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x93, + 0x7e, 0x01, 0x00, 0x00, - 0x97, + 0x82, 0x01, 0x00, 0x00, @@ -8654,7 +8182,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x98, + 0x83, 0x01, 0x00, 0x00, @@ -8670,11 +8198,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x99, + 0x84, 0x01, 0x00, 0x00, - 0x93, + 0x7e, 0x01, 0x00, 0x00, @@ -8686,7 +8214,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9a, + 0x85, 0x01, 0x00, 0x00, @@ -8706,11 +8234,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9b, + 0x86, 0x01, 0x00, 0x00, - 0x9a, + 0x85, 0x01, 0x00, 0x00, @@ -8722,19 +8250,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9c, + 0x87, 0x01, 0x00, 0x00, - 0x9b, + 0x86, 0x01, 0x00, 0x00, - 0x9b, + 0x86, 0x01, 0x00, 0x00, - 0x9b, + 0x86, 0x01, 0x00, 0x00, @@ -8746,7 +8274,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9d, + 0x88, 0x01, 0x00, 0x00, @@ -8758,15 +8286,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x98, + 0x83, 0x01, 0x00, 0x00, - 0x99, + 0x84, 0x01, 0x00, 0x00, - 0x9c, + 0x87, 0x01, 0x00, 0x00, @@ -8778,7 +8306,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x9d, + 0x88, 0x01, 0x00, 0x00, @@ -8786,7 +8314,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x92, + 0x7d, 0x01, 0x00, 0x00, @@ -8794,7 +8322,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x92, + 0x7d, 0x01, 0x00, 0x00, @@ -8806,7 +8334,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9f, + 0x8a, 0x01, 0x00, 0x00, @@ -8822,7 +8350,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa0, + 0x8b, 0x01, 0x00, 0x00, @@ -8842,15 +8370,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa1, + 0x8c, 0x01, 0x00, 0x00, - 0x9f, + 0x8a, 0x01, 0x00, 0x00, - 0xa0, + 0x8b, 0x01, 0x00, 0x00, @@ -8858,11 +8386,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x9e, + 0x89, 0x01, 0x00, 0x00, - 0xa1, + 0x8c, 0x01, 0x00, 0x00, @@ -8874,11 +8402,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa3, + 0x8e, 0x01, 0x00, 0x00, - 0x9e, + 0x89, 0x01, 0x00, 0x00, @@ -8890,11 +8418,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa4, + 0x8f, 0x01, 0x00, 0x00, - 0x9e, + 0x89, 0x01, 0x00, 0x00, @@ -8906,15 +8434,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa5, + 0x90, 0x01, 0x00, 0x00, - 0xa3, + 0x8e, 0x01, 0x00, 0x00, - 0xa4, + 0x8f, 0x01, 0x00, 0x00, @@ -8926,7 +8454,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa6, + 0x91, 0x01, 0x00, 0x00, @@ -8946,11 +8474,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa7, + 0x92, 0x01, 0x00, 0x00, - 0xa6, + 0x91, 0x01, 0x00, 0x00, @@ -8962,15 +8490,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa8, + 0x93, 0x01, 0x00, 0x00, - 0xa5, + 0x90, 0x01, 0x00, 0x00, - 0xa7, + 0x92, 0x01, 0x00, 0x00, @@ -8982,7 +8510,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa9, + 0x94, 0x01, 0x00, 0x00, @@ -8990,7 +8518,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa8, + 0x93, 0x01, 0x00, 0x00, @@ -8998,11 +8526,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xa2, + 0x8d, 0x01, 0x00, 0x00, - 0xa9, + 0x94, 0x01, 0x00, 0x00, @@ -9014,11 +8542,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xaa, + 0x95, 0x01, 0x00, 0x00, - 0xa2, + 0x8d, 0x01, 0x00, 0x00, @@ -9030,7 +8558,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xab, + 0x96, 0x01, 0x00, 0x00, @@ -9042,7 +8570,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xaa, + 0x95, 0x01, 0x00, 0x00, @@ -9062,7 +8590,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xac, + 0x97, 0x01, 0x00, 0x00, @@ -9078,15 +8606,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xad, + 0x98, 0x01, 0x00, 0x00, - 0xac, + 0x97, 0x01, 0x00, 0x00, - 0xab, + 0x96, 0x01, 0x00, 0x00, @@ -9098,7 +8626,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0xad, + 0x98, 0x01, 0x00, 0x00, @@ -9110,7 +8638,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xaf, + 0x9a, 0x01, 0x00, 0x00, @@ -9118,7 +8646,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xae, + 0x99, 0x01, 0x00, 0x00, @@ -9130,11 +8658,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb0, + 0x9b, 0x01, 0x00, 0x00, - 0xaf, + 0x9a, 0x01, 0x00, 0x00, @@ -9146,11 +8674,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb1, + 0x9c, 0x01, 0x00, 0x00, - 0xb0, + 0x9b, 0x01, 0x00, 0x00, @@ -9162,7 +8690,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xb3, + 0x9e, 0x01, 0x00, 0x00, @@ -9174,15 +8702,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xb1, + 0x9c, 0x01, 0x00, 0x00, - 0xb2, + 0x9d, 0x01, 0x00, 0x00, - 0xb3, + 0x9e, 0x01, 0x00, 0x00, @@ -9190,7 +8718,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xb2, + 0x9d, 0x01, 0x00, 0x00, @@ -9198,15 +8726,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0xb7, + 0xa2, 0x01, 0x00, 0x00, - 0xb8, + 0xa3, 0x01, 0x00, 0x00, - 0xb6, + 0xa1, 0x01, 0x00, 0x00, @@ -9222,11 +8750,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb9, + 0xa4, 0x01, 0x00, 0x00, - 0xb8, + 0xa3, 0x01, 0x00, 0x00, @@ -9238,15 +8766,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbb, + 0xa6, 0x01, 0x00, 0x00, - 0xb9, + 0xa4, 0x01, 0x00, 0x00, - 0xba, + 0xa5, 0x01, 0x00, 0x00, @@ -9258,7 +8786,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbc, + 0xa7, 0x01, 0x00, 0x00, @@ -9270,7 +8798,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbb, + 0xa6, 0x01, 0x00, 0x00, @@ -9278,11 +8806,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xb4, + 0x9f, 0x01, 0x00, 0x00, - 0xbc, + 0xa7, 0x01, 0x00, 0x00, @@ -9290,11 +8818,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, - 0xbf, + 0xaa, 0x01, 0x00, 0x00, @@ -9306,11 +8834,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc0, + 0xab, 0x01, 0x00, 0x00, - 0xb4, + 0x9f, 0x01, 0x00, 0x00, @@ -9322,15 +8850,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc1, + 0xac, 0x01, 0x00, 0x00, - 0xc0, + 0xab, 0x01, 0x00, 0x00, - 0xba, + 0xa5, 0x01, 0x00, 0x00, @@ -9338,7 +8866,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xc3, + 0xae, 0x01, 0x00, 0x00, @@ -9350,15 +8878,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xc1, + 0xac, 0x01, 0x00, 0x00, - 0xc2, + 0xad, 0x01, 0x00, 0x00, - 0xc5, + 0xb0, 0x01, 0x00, 0x00, @@ -9366,7 +8894,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc2, + 0xad, 0x01, 0x00, 0x00, @@ -9378,11 +8906,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc4, + 0xaf, 0x01, 0x00, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -9394,7 +8922,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xc4, + 0xaf, 0x01, 0x00, 0x00, @@ -9406,7 +8934,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc3, + 0xae, 0x01, 0x00, 0x00, @@ -9414,7 +8942,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc5, + 0xb0, 0x01, 0x00, 0x00, @@ -9426,11 +8954,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc6, + 0xb1, 0x01, 0x00, 0x00, - 0xb4, + 0x9f, 0x01, 0x00, 0x00, @@ -9442,15 +8970,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc8, + 0xb3, 0x01, 0x00, 0x00, - 0xc6, + 0xb1, 0x01, 0x00, 0x00, - 0xc7, + 0xb2, 0x01, 0x00, 0x00, @@ -9458,7 +8986,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xca, + 0xb5, 0x01, 0x00, 0x00, @@ -9470,15 +8998,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xc8, + 0xb3, 0x01, 0x00, 0x00, - 0xc9, + 0xb4, 0x01, 0x00, 0x00, - 0xcc, + 0xb7, 0x01, 0x00, 0x00, @@ -9486,7 +9014,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc9, + 0xb4, 0x01, 0x00, 0x00, @@ -9498,11 +9026,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xcb, + 0xb6, 0x01, 0x00, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -9514,7 +9042,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xcb, + 0xb6, 0x01, 0x00, 0x00, @@ -9526,7 +9054,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xca, + 0xb5, 0x01, 0x00, 0x00, @@ -9534,7 +9062,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xcc, + 0xb7, 0x01, 0x00, 0x00, @@ -9546,11 +9074,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xcd, + 0xb8, 0x01, 0x00, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -9562,7 +9090,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xcd, + 0xb8, 0x01, 0x00, 0x00, @@ -9574,7 +9102,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xca, + 0xb5, 0x01, 0x00, 0x00, @@ -9582,7 +9110,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xca, + 0xb5, 0x01, 0x00, 0x00, @@ -9590,7 +9118,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc3, + 0xae, 0x01, 0x00, 0x00, @@ -9598,7 +9126,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xc3, + 0xae, 0x01, 0x00, 0x00, @@ -9610,7 +9138,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xce, + 0xb9, 0x01, 0x00, 0x00, @@ -9626,7 +9154,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xcf, + 0xba, 0x01, 0x00, 0x00, @@ -9642,11 +9170,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd0, + 0xbb, 0x01, 0x00, 0x00, - 0xbd, + 0xa8, 0x01, 0x00, 0x00, @@ -9658,15 +9186,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd1, + 0xbc, 0x01, 0x00, 0x00, - 0xcf, + 0xba, 0x01, 0x00, 0x00, - 0xd0, + 0xbb, 0x01, 0x00, 0x00, @@ -9678,7 +9206,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd2, + 0xbd, 0x01, 0x00, 0x00, @@ -9686,7 +9214,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xae, + 0x99, 0x01, 0x00, 0x00, @@ -9698,11 +9226,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd3, + 0xbe, 0x01, 0x00, 0x00, - 0xd2, + 0xbd, 0x01, 0x00, 0x00, @@ -9714,19 +9242,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd4, + 0xbf, 0x01, 0x00, 0x00, - 0xd3, + 0xbe, 0x01, 0x00, 0x00, - 0xd3, + 0xbe, 0x01, 0x00, 0x00, - 0xd3, + 0xbe, 0x01, 0x00, 0x00, @@ -9738,7 +9266,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd5, + 0xc0, 0x01, 0x00, 0x00, @@ -9750,15 +9278,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xce, + 0xb9, 0x01, 0x00, 0x00, - 0xd1, + 0xbc, 0x01, 0x00, 0x00, - 0xd4, + 0xbf, 0x01, 0x00, 0x00, @@ -9770,7 +9298,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0xd5, + 0xc0, 0x01, 0x00, 0x00, @@ -9778,7 +9306,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xb3, + 0x9e, 0x01, 0x00, 0x00, @@ -9786,7 +9314,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xb3, + 0x9e, 0x01, 0x00, 0x00, @@ -9798,7 +9326,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd7, + 0xc2, 0x01, 0x00, 0x00, @@ -9806,7 +9334,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd6, + 0xc1, 0x01, 0x00, 0x00, @@ -9818,11 +9346,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd8, + 0xc3, 0x01, 0x00, 0x00, - 0xd7, + 0xc2, 0x01, 0x00, 0x00, @@ -9834,11 +9362,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd9, + 0xc4, 0x01, 0x00, 0x00, - 0xd8, + 0xc3, 0x01, 0x00, 0x00, @@ -9850,7 +9378,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xdb, + 0xc6, 0x01, 0x00, 0x00, @@ -9862,15 +9390,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xd9, + 0xc4, 0x01, 0x00, 0x00, - 0xda, + 0xc5, 0x01, 0x00, 0x00, - 0xdb, + 0xc6, 0x01, 0x00, 0x00, @@ -9878,7 +9406,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xda, + 0xc5, 0x01, 0x00, 0x00, @@ -9890,7 +9418,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xdd, + 0xc8, 0x01, 0x00, 0x00, @@ -9910,11 +9438,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xde, + 0xc9, 0x01, 0x00, 0x00, - 0xdd, + 0xc8, 0x01, 0x00, 0x00, @@ -9926,15 +9454,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe0, + 0xcb, 0x01, 0x00, 0x00, - 0xde, + 0xc9, 0x01, 0x00, 0x00, - 0xdf, + 0xca, 0x01, 0x00, 0x00, @@ -9946,7 +9474,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe1, + 0xcc, 0x01, 0x00, 0x00, @@ -9958,7 +9486,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe0, + 0xcb, 0x01, 0x00, 0x00, @@ -9970,11 +9498,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe2, + 0xcd, 0x01, 0x00, 0x00, - 0xe1, + 0xcc, 0x01, 0x00, 0x00, @@ -9990,11 +9518,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe3, + 0xce, 0x01, 0x00, 0x00, - 0xe2, + 0xcd, 0x01, 0x00, 0x00, @@ -10006,11 +9534,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xdc, + 0xc7, 0x01, 0x00, 0x00, - 0xe3, + 0xce, 0x01, 0x00, 0x00, @@ -10022,7 +9550,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe4, + 0xcf, 0x01, 0x00, 0x00, @@ -10030,7 +9558,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd6, + 0xc1, 0x01, 0x00, 0x00, @@ -10042,11 +9570,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe5, + 0xd0, 0x01, 0x00, 0x00, - 0xe4, + 0xcf, 0x01, 0x00, 0x00, @@ -10058,15 +9586,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe7, + 0xd2, 0x01, 0x00, 0x00, - 0xe5, + 0xd0, 0x01, 0x00, 0x00, - 0xe6, + 0xd1, 0x01, 0x00, 0x00, @@ -10078,11 +9606,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe8, + 0xd3, 0x01, 0x00, 0x00, - 0xdc, + 0xc7, 0x01, 0x00, 0x00, @@ -10094,15 +9622,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe9, + 0xd4, 0x01, 0x00, 0x00, - 0xe7, + 0xd2, 0x01, 0x00, 0x00, - 0xe8, + 0xd3, 0x01, 0x00, 0x00, @@ -10114,7 +9642,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xea, + 0xd5, 0x01, 0x00, 0x00, @@ -10122,7 +9650,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe9, + 0xd4, 0x01, 0x00, 0x00, @@ -10134,7 +9662,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xeb, + 0xd6, 0x01, 0x00, 0x00, @@ -10150,15 +9678,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xec, + 0xd7, 0x01, 0x00, 0x00, - 0xeb, + 0xd6, 0x01, 0x00, 0x00, - 0xea, + 0xd5, 0x01, 0x00, 0x00, @@ -10170,7 +9698,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0xec, + 0xd7, 0x01, 0x00, 0x00, @@ -10178,7 +9706,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xdb, + 0xc6, 0x01, 0x00, 0x00, @@ -10186,7 +9714,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0xdb, + 0xc6, 0x01, 0x00, 0x00, @@ -10198,7 +9726,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xed, + 0xd8, 0x01, 0x00, 0x00, @@ -10214,11 +9742,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xee, + 0xd9, 0x01, 0x00, 0x00, - 0xed, + 0xd8, 0x01, 0x00, 0x00, @@ -10234,11 +9762,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xef, + 0xda, 0x01, 0x00, 0x00, - 0xed, + 0xd8, 0x01, 0x00, 0x00, @@ -10254,11 +9782,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf0, + 0xdb, 0x01, 0x00, 0x00, - 0xed, + 0xd8, 0x01, 0x00, 0x00, @@ -10274,19 +9802,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf1, + 0xdc, 0x01, 0x00, 0x00, - 0xee, + 0xd9, 0x01, 0x00, 0x00, - 0xef, + 0xda, 0x01, 0x00, 0x00, - 0xf0, + 0xdb, 0x01, 0x00, 0x00, @@ -10302,7 +9830,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf1, + 0xdc, 0x01, 0x00, 0x00, @@ -11714,4 +11242,4 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x01, 0x00}; -static const size_t kpostfx_frag_spv_size = 11712; +static const size_t kpostfx_frag_spv_size = 11240; diff --git a/source/core/resources/resource.cpp b/source/core/resources/resource.cpp index ca2f4db..e4454aa 100644 --- a/source/core/resources/resource.cpp +++ b/source/core/resources/resource.cpp @@ -101,6 +101,9 @@ void Resource::preloadAll() { std::vector lines; std::string line; while (std::getline(ss, line)) { + // Normalitza CRLF perquè loadFromVector compari línies amb literals + // ("[animation]", "[/animation]") sense \r residual. + if (!line.empty() && line.back() == '\r') line.pop_back(); lines.push_back(line); } animationLines_[bname] = std::move(lines); diff --git a/source/game/ui/menu.cpp b/source/game/ui/menu.cpp index 1b8be6a..bbd6272 100644 --- a/source/game/ui/menu.cpp +++ b/source/game/ui/menu.cpp @@ -98,7 +98,16 @@ bool Menu::parseFromStream(std::istream &file, const std::string &filename) { std::string line; (void)filename; + // Normalitza CRLF: en Windows els .men es llegeixen en binari (resource + // pack o ifstream sense flag de text) i std::getline només talla pel \n, + // deixant un \r residual. Sense això, "[item]" no fa match i el vector + // d'items queda buit → reset() accedeix a item[0] i crasheja. + auto strip_cr = [](std::string &s) { + if (!s.empty() && s.back() == '\r') s.pop_back(); + }; + while (std::getline(file, line)) { + strip_cr(line); if (line == "[item]") { item_t newItem; newItem.label = ""; @@ -110,7 +119,8 @@ bool Menu::parseFromStream(std::istream &file, const std::string &filename) { newItem.line = false; do { - std::getline(file, line); + if (!std::getline(file, line)) break; + strip_cr(line); int pos = line.find("="); if (!setItem(&newItem, line.substr(0, pos), line.substr(pos + 1, line.length()))) { success = false; @@ -438,6 +448,9 @@ int Menu::getWidestItem() { void Menu::reset() { itemSelected = MENU_NO_OPTION; selector.index = 0; + if (item.empty()) { + return; + } selector.originY = selector.targetY = selector.y = item[0].rect.y; selector.originH = selector.targetH = item[0].rect.h; selector.moving = false;