From 8ff1073e4ab0e7386c2d67b1abad8fb0128feadf Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Wed, 25 Mar 2026 18:31:36 +0100 Subject: [PATCH] corregides les scanlines per a paletes amb fondo blanc --- CMakeLists.txt | 6 +- data/shaders/postfx.frag | 3 +- .../core/rendering/sdl3gpu/postfx_frag_spv.h | 5117 ++++++++++------- .../core/rendering/sdl3gpu/postfx_vert_spv.h | 3 +- .../core/rendering/sdl3gpu/sdl3gpu_shader.cpp | 8 +- tools/shaders/compile_spirv.cmake | 55 + 6 files changed, 3088 insertions(+), 2104 deletions(-) create mode 100644 tools/shaders/compile_spirv.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d26ab7..29ec911 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,7 +131,11 @@ if(NOT APPLE) if(GLSLC_EXE) add_custom_command( OUTPUT "${SHADER_VERT_H}" "${SHADER_FRAG_H}" - COMMAND "${CMAKE_SOURCE_DIR}/tools/shaders/compile_spirv.sh" + COMMAND ${CMAKE_COMMAND} + -D GLSLC=${GLSLC_EXE} + -D SHADERS_DIR=${CMAKE_SOURCE_DIR}/data/shaders + -D HEADERS_DIR=${CMAKE_SOURCE_DIR}/source/core/rendering/sdl3gpu + -P ${CMAKE_SOURCE_DIR}/tools/shaders/compile_spirv.cmake DEPENDS "${SHADER_VERT_SRC}" "${SHADER_FRAG_SRC}" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" COMMENT "Compilando shaders SPIR-V..." diff --git a/data/shaders/postfx.frag b/data/shaders/postfx.frag index 9a66a9f..e840fb0 100644 --- a/data/shaders/postfx.frag +++ b/data/shaders/postfx.frag @@ -101,12 +101,13 @@ void main() { // calcular la posición dentro de la fila en coordenadas físicas. // 3x: 1 dark + 2 bright. 4x: 1 dark + 3 bright. // bright=3.5×, dark floor=0.42 (mantiene aspecto CRT original). + // ** MOD ** bright=1.0×, dark floor=0.42 (mantiene aspecto CRT original). if (u.scanline_strength > 0.0) { float ps = max(1.0, round(u.pixel_scale)); float frac_in_row = fract(uv.y * u.screen_height); float row_pos = floor(frac_in_row * ps); float is_dark = step(ps - 1.0, row_pos); - float scan = mix(3.5, 0.42, is_dark); + float scan = mix(1.0, 0.42, is_dark); colour *= mix(1.0, scan, u.scanline_strength); } diff --git a/source/core/rendering/sdl3gpu/postfx_frag_spv.h b/source/core/rendering/sdl3gpu/postfx_frag_spv.h index dbd2688..4a50a60 100644 --- a/source/core/rendering/sdl3gpu/postfx_frag_spv.h +++ b/source/core/rendering/sdl3gpu/postfx_frag_spv.h @@ -14,7 +14,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x0d, 0x00, - 0xbc, + 0xde, 0x01, 0x00, 0x00, @@ -102,7 +102,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x97, + 0xa2, 0x01, 0x00, 0x00, @@ -602,6 +602,94 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x08, + 0x00, + 0x00, + 0x00, + 0x70, + 0x69, + 0x78, + 0x65, + 0x6c, + 0x5f, + 0x73, + 0x63, + 0x61, + 0x6c, + 0x65, + 0x00, + 0x06, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x09, + 0x00, + 0x00, + 0x00, + 0x74, + 0x69, + 0x6d, + 0x65, + 0x00, + 0x00, + 0x00, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x0a, + 0x00, + 0x00, + 0x00, + 0x6f, + 0x76, + 0x65, + 0x72, + 0x73, + 0x61, + 0x6d, + 0x70, + 0x6c, + 0x65, + 0x00, + 0x00, + 0x06, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x0b, + 0x00, + 0x00, + 0x00, + 0x66, + 0x6c, + 0x69, + 0x63, + 0x6b, + 0x65, + 0x72, + 0x00, 0x05, 0x00, 0x03, @@ -740,12 +828,28 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0x03, + 0x04, 0x00, 0xc7, 0x00, 0x00, 0x00, + 0x73, + 0x74, + 0x65, + 0x70, + 0x00, + 0x00, + 0x00, + 0x00, + 0x05, + 0x00, + 0x03, + 0x00, + 0xcd, + 0x00, + 0x00, + 0x00, 0x79, 0x63, 0x63, @@ -754,7 +858,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xc8, + 0xce, 0x00, 0x00, 0x00, @@ -770,7 +874,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xcb, + 0xd1, 0x00, 0x00, 0x00, @@ -786,7 +890,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xd4, + 0xda, 0x00, 0x00, 0x00, @@ -802,7 +906,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xd7, + 0xdd, 0x00, 0x00, 0x00, @@ -818,7 +922,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xdf, + 0xe5, 0x00, 0x00, 0x00, @@ -834,7 +938,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xe2, + 0xe8, 0x00, 0x00, 0x00, @@ -850,7 +954,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xea, + 0xf0, 0x00, 0x00, 0x00, @@ -866,7 +970,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xed, + 0xf3, 0x00, 0x00, 0x00, @@ -882,7 +986,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0xf5, + 0xfb, 0x00, 0x00, 0x00, @@ -898,7 +1002,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -914,7 +1018,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x12, + 0x18, 0x01, 0x00, 0x00, @@ -930,7 +1034,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x1b, + 0x21, 0x01, 0x00, 0x00, @@ -942,7 +1046,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x37, + 0x47, 0x01, 0x00, 0x00, @@ -952,101 +1056,73 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0x05, - 0x00, - 0x42, - 0x01, - 0x00, - 0x00, - 0x74, - 0x65, - 0x78, - 0x48, - 0x65, - 0x69, - 0x67, - 0x68, - 0x74, - 0x00, - 0x00, - 0x00, - 0x05, - 0x00, - 0x04, - 0x00, - 0x48, - 0x01, - 0x00, - 0x00, - 0x73, - 0x63, - 0x61, - 0x6c, - 0x65, - 0x59, - 0x00, - 0x00, - 0x05, - 0x00, - 0x04, - 0x00, - 0x4e, - 0x01, - 0x00, - 0x00, - 0x73, - 0x63, - 0x72, - 0x65, - 0x65, - 0x6e, - 0x59, - 0x00, - 0x05, - 0x00, - 0x05, - 0x00, - 0x54, - 0x01, - 0x00, - 0x00, - 0x70, - 0x6f, - 0x73, - 0x49, - 0x6e, - 0x52, - 0x6f, - 0x77, - 0x00, - 0x00, - 0x00, - 0x00, - 0x05, - 0x00, - 0x05, + 0x03, 0x00, 0x58, 0x01, 0x00, 0x00, + 0x70, 0x73, - 0x63, + 0x00, + 0x00, + 0x05, + 0x00, + 0x05, + 0x00, + 0x5e, + 0x01, + 0x00, + 0x00, + 0x66, + 0x72, 0x61, - 0x6e, - 0x4c, + 0x63, + 0x5f, 0x69, 0x6e, - 0x65, - 0x44, - 0x59, - 0x00, + 0x5f, + 0x72, + 0x6f, + 0x77, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x5d, + 0x66, + 0x01, + 0x00, + 0x00, + 0x72, + 0x6f, + 0x77, + 0x5f, + 0x70, + 0x6f, + 0x73, + 0x00, + 0x05, + 0x00, + 0x04, + 0x00, + 0x6b, + 0x01, + 0x00, + 0x00, + 0x69, + 0x73, + 0x5f, + 0x64, + 0x61, + 0x72, + 0x6b, + 0x00, + 0x05, + 0x00, + 0x04, + 0x00, + 0x70, 0x01, 0x00, 0x00, @@ -1062,22 +1138,22 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x74, - 0x01, - 0x00, - 0x00, - 0x65, - 0x6e, - 0x63, - 0x00, - 0x05, - 0x00, - 0x03, - 0x00, 0x7f, 0x01, 0x00, 0x00, + 0x65, + 0x6e, + 0x63, + 0x00, + 0x05, + 0x00, + 0x03, + 0x00, + 0x8a, + 0x01, + 0x00, + 0x00, 0x64, 0x00, 0x00, @@ -1086,7 +1162,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0x83, + 0x8e, 0x01, 0x00, 0x00, @@ -1106,7 +1182,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x05, 0x00, - 0x95, + 0xa0, 0x01, 0x00, 0x00, @@ -1126,7 +1202,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x06, 0x00, - 0x97, + 0xa2, 0x01, 0x00, 0x00, @@ -1150,7 +1226,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x9e, + 0xa9, 0x01, 0x00, 0x00, @@ -1162,6 +1238,30 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0xc8, + 0x01, + 0x00, + 0x00, + 0x66, + 0x6c, + 0x69, + 0x63, + 0x6b, + 0x65, + 0x72, + 0x5f, + 0x77, + 0x61, + 0x76, + 0x65, + 0x00, + 0x00, + 0x00, + 0x00, 0x47, 0x00, 0x04, @@ -1350,6 +1450,86 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x48, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x08, + 0x00, + 0x00, + 0x00, + 0x23, + 0x00, + 0x00, + 0x00, + 0x20, + 0x00, + 0x00, + 0x00, + 0x48, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x09, + 0x00, + 0x00, + 0x00, + 0x23, + 0x00, + 0x00, + 0x00, + 0x24, + 0x00, + 0x00, + 0x00, + 0x48, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x0a, + 0x00, + 0x00, + 0x00, + 0x23, + 0x00, + 0x00, + 0x00, + 0x28, + 0x00, + 0x00, + 0x00, + 0x48, + 0x00, + 0x05, + 0x00, + 0x6f, + 0x00, + 0x00, + 0x00, + 0x0b, + 0x00, + 0x00, + 0x00, + 0x23, + 0x00, + 0x00, + 0x00, + 0x2c, + 0x00, + 0x00, + 0x00, 0x47, 0x00, 0x04, @@ -1434,7 +1614,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x97, + 0xa2, 0x01, 0x00, 0x00, @@ -1896,7 +2076,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x1e, 0x00, - 0x0a, + 0x0e, 0x00, 0x6f, 0x00, @@ -1934,6 +2114,22 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, 0x20, 0x00, 0x04, @@ -2318,11 +2514,27 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, + 0x72, + 0x00, + 0x00, + 0x00, + 0xc8, + 0x00, + 0x00, + 0x00, + 0x0a, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x00, + 0x04, + 0x00, 0x06, 0x00, 0x00, 0x00, - 0xce, + 0xd4, 0x00, 0x00, 0x00, @@ -2338,7 +2550,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x09, + 0x0f, 0x01, 0x00, 0x00, @@ -2354,7 +2566,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1c, + 0x22, 0x01, 0x00, 0x00, @@ -2370,7 +2582,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1f, + 0x25, 0x01, 0x00, 0x00, @@ -2382,11 +2594,59 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x27, + 0x01, + 0x00, + 0x00, + 0x9a, + 0x99, + 0x19, + 0x3e, + 0x2b, + 0x00, + 0x04, + 0x00, 0x72, 0x00, 0x00, 0x00, - 0x31, + 0x28, + 0x01, + 0x00, + 0x00, + 0x09, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x01, + 0x00, + 0x00, + 0x9a, + 0x99, + 0xe9, + 0x40, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x72, + 0x00, + 0x00, + 0x00, + 0x41, 0x01, 0x00, 0x00, @@ -2402,7 +2662,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x39, + 0x49, 0x01, 0x00, 0x00, @@ -2418,19 +2678,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3a, + 0x4a, 0x01, 0x00, 0x00, - 0x39, + 0x49, 0x01, 0x00, 0x00, - 0x39, + 0x49, 0x01, 0x00, 0x00, - 0x39, + 0x49, 0x01, 0x00, 0x00, @@ -2442,7 +2702,39 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x49, + 0x52, + 0x01, + 0x00, + 0x00, + 0x02, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x72, + 0x00, + 0x00, + 0x00, + 0x59, + 0x01, + 0x00, + 0x00, + 0x08, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x72, + 0x00, + 0x00, + 0x00, + 0x61, 0x01, 0x00, 0x00, @@ -2458,30 +2750,14 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x61, + 0x71, 0x01, 0x00, 0x00, - 0x00, - 0x00, - 0xc0, - 0x40, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x64, - 0x01, - 0x00, - 0x00, - 0x8f, - 0xc2, - 0xf5, 0x3d, + 0x0a, + 0xd7, + 0x3e, 0x2b, 0x00, 0x04, @@ -2490,39 +2766,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x66, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x60, - 0x40, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x72, - 0x00, - 0x00, - 0x00, - 0x69, - 0x01, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x2b, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x76, + 0x81, 0x01, 0x00, 0x00, @@ -2538,19 +2782,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x77, + 0x82, 0x01, 0x00, 0x00, - 0x76, + 0x81, 0x01, 0x00, 0x00, - 0x76, + 0x81, 0x01, 0x00, 0x00, - 0x76, + 0x81, 0x01, 0x00, 0x00, @@ -2562,7 +2806,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8f, + 0x9a, 0x01, 0x00, 0x00, @@ -2574,7 +2818,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x96, + 0xa1, 0x01, 0x00, 0x00, @@ -2590,11 +2834,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x96, + 0xa1, 0x01, 0x00, 0x00, - 0x97, + 0xa2, 0x01, 0x00, 0x00, @@ -2606,7 +2850,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x98, + 0xa3, 0x01, 0x00, 0x00, @@ -2626,7 +2870,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9b, + 0xa6, 0x01, 0x00, 0x00, @@ -2642,7 +2886,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9f, + 0xaa, 0x01, 0x00, 0x00, @@ -2658,19 +2902,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa0, + 0xab, 0x01, 0x00, 0x00, - 0x9f, + 0xaa, 0x01, 0x00, 0x00, - 0x9f, + 0xaa, 0x01, 0x00, 0x00, - 0x9f, + 0xaa, 0x01, 0x00, 0x00, @@ -2682,7 +2926,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xa8, + 0xb3, 0x01, 0x00, 0x00, @@ -2690,6 +2934,54 @@ static const uint8_t kpostfx_frag_spv[] = { 0xaa, 0x2a, 0x3f, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x72, + 0x00, + 0x00, + 0x00, + 0xc2, + 0x01, + 0x00, + 0x00, + 0x0b, + 0x00, + 0x00, + 0x00, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcb, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0xc8, + 0x42, + 0x2b, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd2, + 0x01, + 0x00, + 0x00, + 0x0a, + 0xd7, + 0x23, + 0x3d, 0x36, 0x00, 0x05, @@ -2834,7 +3126,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x08, + 0x13, 0x00, 0x00, 0x00, @@ -2854,7 +3146,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc8, + 0xcd, 0x00, 0x00, 0x00, @@ -2870,7 +3162,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xcb, + 0xce, 0x00, 0x00, 0x00, @@ -2886,7 +3178,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd4, + 0xd1, 0x00, 0x00, 0x00, @@ -2902,7 +3194,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd7, + 0xda, 0x00, 0x00, 0x00, @@ -2918,7 +3210,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xdf, + 0xdd, 0x00, 0x00, 0x00, @@ -2934,7 +3226,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe2, + 0xe5, 0x00, 0x00, 0x00, @@ -2950,7 +3242,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xea, + 0xe8, 0x00, 0x00, 0x00, @@ -2966,7 +3258,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xed, + 0xf0, 0x00, 0x00, 0x00, @@ -2982,7 +3274,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf5, + 0xf3, 0x00, 0x00, 0x00, @@ -2998,7 +3290,23 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x10, + 0xfb, + 0x00, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x08, + 0x00, + 0x00, + 0x00, + 0x16, 0x01, 0x00, 0x00, @@ -3014,7 +3322,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x12, + 0x18, 0x01, 0x00, 0x00, @@ -3030,7 +3338,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1b, + 0x21, 0x01, 0x00, 0x00, @@ -3046,71 +3354,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x37, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x42, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x48, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x4e, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x54, + 0x47, 0x01, 0x00, 0x00, @@ -3142,7 +3386,55 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x5d, + 0x5e, + 0x01, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0x66, + 0x01, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0x6b, + 0x01, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0x70, 0x01, 0x00, 0x00, @@ -3158,22 +3450,6 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x74, - 0x01, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x3b, - 0x00, - 0x04, - 0x00, - 0x6a, - 0x00, - 0x00, - 0x00, 0x7f, 0x01, 0x00, @@ -3186,11 +3462,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x13, + 0x6a, 0x00, 0x00, 0x00, - 0x83, + 0x8a, 0x01, 0x00, 0x00, @@ -3206,7 +3482,23 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x95, + 0x8e, + 0x01, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0xa0, 0x01, 0x00, 0x00, @@ -3222,7 +3514,23 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x9e, + 0xa9, + 0x01, + 0x00, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x3b, + 0x00, + 0x04, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0xc8, 0x01, 0x00, 0x00, @@ -4394,7 +4702,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x19, + 0x1f, 0x01, 0x00, 0x00, @@ -4506,6 +4814,90 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0xc9, + 0x00, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0xc8, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xca, + 0x00, + 0x00, + 0x00, + 0xc9, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcb, + 0x00, + 0x00, + 0x00, + 0xbf, + 0x00, + 0x00, + 0x00, + 0x88, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcc, + 0x00, + 0x00, + 0x00, + 0xca, + 0x00, + 0x00, + 0x00, + 0xcb, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xc7, + 0x00, + 0x00, + 0x00, + 0xcc, + 0x00, + 0x00, + 0x00, 0x3d, 0x00, 0x04, @@ -4514,7 +4906,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc9, + 0xcf, 0x00, 0x00, 0x00, @@ -4526,11 +4918,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xc8, + 0xce, 0x00, 0x00, 0x00, - 0xc9, + 0xcf, 0x00, 0x00, 0x00, @@ -4542,7 +4934,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xca, + 0xd0, 0x00, 0x00, 0x00, @@ -4550,7 +4942,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc8, + 0xce, 0x00, 0x00, 0x00, @@ -4558,63 +4950,63 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, + 0xcd, + 0x00, + 0x00, + 0x00, + 0xd0, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0xb2, + 0x00, + 0x00, + 0x00, + 0xd2, + 0x00, + 0x00, + 0x00, + 0xb4, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0xd3, + 0x00, + 0x00, + 0x00, + 0x6b, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd5, + 0x00, + 0x00, + 0x00, 0xc7, 0x00, 0x00, 0x00, - 0xca, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0xb2, - 0x00, - 0x00, - 0x00, - 0xcc, - 0x00, - 0x00, - 0x00, - 0xb4, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xcd, - 0x00, - 0x00, - 0x00, - 0x6b, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0xcf, - 0x00, - 0x00, - 0x00, - 0xbf, - 0x00, - 0x00, - 0x00, - 0x88, + 0x85, 0x00, 0x05, 0x00, @@ -4622,15 +5014,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd0, + 0xd6, 0x00, 0x00, 0x00, - 0xce, + 0xd4, 0x00, 0x00, 0x00, - 0xcf, + 0xd5, 0x00, 0x00, 0x00, @@ -4642,335 +5034,131 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd1, - 0x00, - 0x00, - 0x00, - 0xd0, - 0x00, - 0x00, - 0x00, - 0x62, - 0x00, - 0x00, - 0x00, - 0x83, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xd2, - 0x00, - 0x00, - 0x00, - 0xcd, - 0x00, - 0x00, - 0x00, - 0xd1, - 0x00, - 0x00, - 0x00, - 0x57, - 0x00, - 0x05, - 0x00, - 0xa8, - 0x00, - 0x00, - 0x00, - 0xd3, - 0x00, - 0x00, - 0x00, - 0xcc, - 0x00, - 0x00, - 0x00, - 0xd2, - 0x00, - 0x00, - 0x00, - 0x4f, - 0x00, - 0x08, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xd5, - 0x00, - 0x00, - 0x00, - 0xd3, - 0x00, - 0x00, - 0x00, - 0xd3, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xd4, - 0x00, - 0x00, - 0x00, - 0xd5, - 0x00, - 0x00, - 0x00, - 0x39, - 0x00, - 0x05, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xd6, - 0x00, - 0x00, - 0x00, - 0x0b, - 0x00, - 0x00, - 0x00, - 0xd4, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xcb, - 0x00, - 0x00, - 0x00, - 0xd6, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0xb2, - 0x00, - 0x00, - 0x00, - 0xd8, - 0x00, - 0x00, - 0x00, - 0xb4, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xd9, - 0x00, - 0x00, - 0x00, - 0x6b, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0xda, - 0x00, - 0x00, - 0x00, - 0xbf, - 0x00, - 0x00, - 0x00, - 0x88, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0xdb, - 0x00, - 0x00, - 0x00, - 0x63, - 0x00, - 0x00, - 0x00, - 0xda, - 0x00, - 0x00, - 0x00, - 0x50, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xdc, - 0x00, - 0x00, - 0x00, - 0xdb, - 0x00, - 0x00, - 0x00, - 0x62, - 0x00, - 0x00, - 0x00, - 0x83, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xdd, - 0x00, - 0x00, - 0x00, - 0xd9, - 0x00, - 0x00, - 0x00, - 0xdc, - 0x00, - 0x00, - 0x00, - 0x57, - 0x00, - 0x05, - 0x00, - 0xa8, - 0x00, - 0x00, - 0x00, - 0xde, - 0x00, - 0x00, - 0x00, - 0xd8, - 0x00, - 0x00, - 0x00, - 0xdd, - 0x00, - 0x00, - 0x00, - 0x4f, - 0x00, - 0x08, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xe0, - 0x00, - 0x00, - 0x00, - 0xde, - 0x00, - 0x00, - 0x00, - 0xde, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xdf, - 0x00, - 0x00, - 0x00, - 0xe0, - 0x00, - 0x00, - 0x00, - 0x39, - 0x00, - 0x05, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xe1, - 0x00, - 0x00, - 0x00, - 0x0b, - 0x00, - 0x00, - 0x00, - 0xdf, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, 0xd7, 0x00, 0x00, 0x00, - 0xe1, + 0xd6, + 0x00, + 0x00, + 0x00, + 0x62, + 0x00, + 0x00, + 0x00, + 0x83, + 0x00, + 0x05, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0xd8, + 0x00, + 0x00, + 0x00, + 0xd3, + 0x00, + 0x00, + 0x00, + 0xd7, + 0x00, + 0x00, + 0x00, + 0x57, + 0x00, + 0x05, + 0x00, + 0xa8, + 0x00, + 0x00, + 0x00, + 0xd9, + 0x00, + 0x00, + 0x00, + 0xd2, + 0x00, + 0x00, + 0x00, + 0xd8, + 0x00, + 0x00, + 0x00, + 0x4f, + 0x00, + 0x08, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xdb, + 0x00, + 0x00, + 0x00, + 0xd9, + 0x00, + 0x00, + 0x00, + 0xd9, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x02, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xda, + 0x00, + 0x00, + 0x00, + 0xdb, + 0x00, + 0x00, + 0x00, + 0x39, + 0x00, + 0x05, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xdc, + 0x00, + 0x00, + 0x00, + 0x0b, + 0x00, + 0x00, + 0x00, + 0xda, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xd1, + 0x00, + 0x00, + 0x00, + 0xdc, 0x00, 0x00, 0x00, @@ -4982,7 +5170,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe3, + 0xde, 0x00, 0x00, 0x00, @@ -4998,7 +5186,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe4, + 0xdf, 0x00, 0x00, 0x00, @@ -5014,15 +5202,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe5, + 0xe0, 0x00, 0x00, 0x00, - 0xbf, + 0xc7, 0x00, 0x00, 0x00, - 0x88, + 0x85, 0x00, 0x05, 0x00, @@ -5030,7 +5218,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe6, + 0xe1, 0x00, 0x00, 0x00, @@ -5038,7 +5226,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe5, + 0xe0, 0x00, 0x00, 0x00, @@ -5050,11 +5238,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe7, + 0xe2, 0x00, 0x00, 0x00, - 0xe6, + 0xe1, 0x00, 0x00, 0x00, @@ -5062,7 +5250,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x81, + 0x83, 0x00, 0x05, 0x00, @@ -5070,15 +5258,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe8, + 0xe3, 0x00, 0x00, 0x00, - 0xe4, + 0xdf, 0x00, 0x00, 0x00, - 0xe7, + 0xe2, 0x00, 0x00, 0x00, @@ -5090,7 +5278,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe9, + 0xe4, + 0x00, + 0x00, + 0x00, + 0xde, 0x00, 0x00, 0x00, @@ -5098,10 +5290,6 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xe8, - 0x00, - 0x00, - 0x00, 0x4f, 0x00, 0x08, @@ -5110,15 +5298,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xeb, + 0xe6, 0x00, 0x00, 0x00, - 0xe9, + 0xe4, 0x00, 0x00, 0x00, - 0xe9, + 0xe4, 0x00, 0x00, 0x00, @@ -5138,11 +5326,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xea, + 0xe5, 0x00, 0x00, 0x00, - 0xeb, + 0xe6, 0x00, 0x00, 0x00, @@ -5154,7 +5342,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xec, + 0xe7, 0x00, 0x00, 0x00, @@ -5162,7 +5350,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xea, + 0xe5, 0x00, 0x00, 0x00, @@ -5170,11 +5358,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xe2, + 0xdd, 0x00, 0x00, 0x00, - 0xec, + 0xe7, 0x00, 0x00, 0x00, @@ -5186,7 +5374,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xee, + 0xe9, 0x00, 0x00, 0x00, @@ -5202,7 +5390,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xef, + 0xea, 0x00, 0x00, 0x00, @@ -5218,15 +5406,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf0, + 0xeb, 0x00, 0x00, 0x00, - 0xbf, + 0xc7, 0x00, 0x00, 0x00, - 0x88, + 0x85, 0x00, 0x05, 0x00, @@ -5234,15 +5422,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf1, + 0xec, 0x00, 0x00, 0x00, - 0xce, + 0x63, 0x00, 0x00, 0x00, - 0xf0, + 0xeb, 0x00, 0x00, 0x00, @@ -5254,11 +5442,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf2, + 0xed, 0x00, 0x00, 0x00, - 0xf1, + 0xec, 0x00, 0x00, 0x00, @@ -5274,15 +5462,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf3, + 0xee, 0x00, 0x00, 0x00, - 0xef, + 0xea, 0x00, 0x00, 0x00, - 0xf2, + 0xed, 0x00, 0x00, 0x00, @@ -5294,7 +5482,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf4, + 0xef, + 0x00, + 0x00, + 0x00, + 0xe9, 0x00, 0x00, 0x00, @@ -5302,10 +5494,6 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf3, - 0x00, - 0x00, - 0x00, 0x4f, 0x00, 0x08, @@ -5314,15 +5502,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf6, + 0xf1, 0x00, 0x00, 0x00, - 0xf4, + 0xef, 0x00, 0x00, 0x00, - 0xf4, + 0xef, 0x00, 0x00, 0x00, @@ -5342,11 +5530,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xf5, + 0xf0, 0x00, 0x00, 0x00, - 0xf6, + 0xf1, 0x00, 0x00, 0x00, @@ -5358,7 +5546,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf7, + 0xf2, 0x00, 0x00, 0x00, @@ -5366,7 +5554,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf5, + 0xf0, 0x00, 0x00, 0x00, @@ -5374,11 +5562,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0xed, + 0xe8, 0x00, 0x00, 0x00, - 0xf7, + 0xf2, 0x00, 0x00, 0x00, @@ -5386,7 +5574,75 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x07, + 0xb2, + 0x00, + 0x00, + 0x00, + 0xf4, + 0x00, + 0x00, + 0x00, + 0xb4, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0xf5, + 0x00, + 0x00, + 0x00, + 0x6b, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xf6, + 0x00, + 0x00, + 0x00, + 0xc7, + 0x00, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xf7, + 0x00, + 0x00, + 0x00, + 0xd4, + 0x00, + 0x00, + 0x00, + 0xf6, + 0x00, + 0x00, + 0x00, + 0x50, + 0x00, + 0x05, + 0x00, + 0x69, 0x00, 0x00, 0x00, @@ -5394,13 +5650,17 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xcb, + 0xf7, 0x00, 0x00, 0x00, - 0x4f, + 0x62, 0x00, - 0x07, + 0x00, + 0x00, + 0x81, + 0x00, + 0x05, 0x00, 0x69, 0x00, @@ -5410,7 +5670,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf8, + 0xf5, 0x00, 0x00, 0x00, @@ -5418,19 +5678,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x01, + 0x57, 0x00, + 0x05, 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x07, + 0xa8, 0x00, 0x00, 0x00, @@ -5438,63 +5690,63 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xd7, + 0xf4, + 0x00, + 0x00, + 0x00, + 0xf9, 0x00, 0x00, 0x00, 0x4f, 0x00, + 0x08, + 0x00, 0x07, 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0xfb, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x8e, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, + 0xfa, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x02, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, 0xfb, 0x00, 0x00, 0x00, - 0xce, + 0xfc, 0x00, 0x00, 0x00, - 0x81, + 0x39, 0x00, 0x05, 0x00, - 0x69, + 0x07, 0x00, 0x00, 0x00, @@ -5502,11 +5754,23 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xf9, + 0x0b, 0x00, 0x00, 0x00, - 0xfc, + 0xfb, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xf3, + 0x00, + 0x00, + 0x00, + 0xfd, 0x00, 0x00, 0x00, @@ -5522,7 +5786,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xc7, + 0xd1, 0x00, 0x00, 0x00, @@ -5554,6 +5818,50 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0xdd, + 0x00, + 0x00, + 0x00, + 0x4f, + 0x00, + 0x07, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x01, + 0x01, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x02, + 0x00, + 0x00, + 0x00, 0x8e, 0x00, 0x05, @@ -5562,7 +5870,27 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x02, + 0x01, 0x00, + 0x00, + 0x01, + 0x01, + 0x00, + 0x00, + 0xd4, + 0x00, + 0x00, + 0x00, + 0x81, + 0x00, + 0x05, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x03, 0x01, 0x00, 0x00, @@ -5570,27 +5898,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xce, - 0x00, - 0x00, - 0x00, - 0x81, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0x01, - 0x01, - 0x00, - 0x00, - 0xfd, - 0x00, - 0x00, - 0x00, - 0x00, + 0x02, 0x01, 0x00, 0x00, @@ -5602,11 +5910,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x02, + 0x04, 0x01, 0x00, 0x00, - 0xe2, + 0xcd, 0x00, 0x00, 0x00, @@ -5618,15 +5926,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x03, + 0x05, 0x01, 0x00, 0x00, - 0x02, + 0x04, 0x01, 0x00, 0x00, - 0x02, + 0x04, 0x01, 0x00, 0x00, @@ -5646,15 +5954,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x04, + 0x06, 0x01, 0x00, 0x00, - 0x03, + 0x05, 0x01, 0x00, 0x00, - 0xce, + 0xd4, 0x00, 0x00, 0x00, @@ -5666,15 +5974,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x05, + 0x07, 0x01, 0x00, 0x00, - 0x01, + 0x03, 0x01, 0x00, 0x00, - 0x04, + 0x06, 0x01, 0x00, 0x00, @@ -5686,11 +5994,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x06, + 0x08, 0x01, 0x00, 0x00, - 0xed, + 0xe8, 0x00, 0x00, 0x00, @@ -5702,15 +6010,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x07, + 0x09, 0x01, 0x00, 0x00, - 0x06, + 0x08, 0x01, 0x00, 0x00, - 0x06, + 0x08, 0x01, 0x00, 0x00, @@ -5722,27 +6030,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x81, - 0x00, - 0x05, - 0x00, - 0x69, - 0x00, - 0x00, - 0x00, - 0x08, - 0x01, - 0x00, - 0x00, - 0x05, - 0x01, - 0x00, - 0x00, - 0x07, - 0x01, - 0x00, - 0x00, - 0x50, + 0x8e, 0x00, 0x05, 0x00, @@ -5758,11 +6046,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x09, - 0x01, + 0xd4, 0x00, 0x00, - 0x88, + 0x00, + 0x81, 0x00, 0x05, 0x00, @@ -5774,7 +6062,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x08, + 0x07, 0x01, 0x00, 0x00, @@ -5782,6 +6070,110 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x0c, + 0x01, + 0x00, + 0x00, + 0xf3, + 0x00, + 0x00, + 0x00, + 0x4f, + 0x00, + 0x07, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x0d, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x02, + 0x00, + 0x00, + 0x00, + 0x81, + 0x00, + 0x05, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x0e, + 0x01, + 0x00, + 0x00, + 0x0b, + 0x01, + 0x00, + 0x00, + 0x0d, + 0x01, + 0x00, + 0x00, + 0x50, + 0x00, + 0x05, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x10, + 0x01, + 0x00, + 0x00, + 0x0f, + 0x01, + 0x00, + 0x00, + 0x0f, + 0x01, + 0x00, + 0x00, + 0x88, + 0x00, + 0x05, + 0x00, + 0x69, + 0x00, + 0x00, + 0x00, + 0x11, + 0x01, + 0x00, + 0x00, + 0x0e, + 0x01, + 0x00, + 0x00, + 0x10, + 0x01, + 0x00, + 0x00, 0x41, 0x00, 0x05, @@ -5790,11 +6182,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x0c, + 0x12, 0x01, 0x00, 0x00, - 0xc7, + 0xcd, 0x00, 0x00, 0x00, @@ -5810,11 +6202,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x0d, + 0x13, 0x01, 0x00, 0x00, - 0x0b, + 0x11, 0x01, 0x00, 0x00, @@ -5826,11 +6218,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x0c, + 0x12, 0x01, 0x00, 0x00, - 0x0d, + 0x13, 0x01, 0x00, 0x00, @@ -5842,11 +6234,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x0e, + 0x14, 0x01, 0x00, 0x00, - 0xc7, + 0xcd, 0x00, 0x00, 0x00, @@ -5862,11 +6254,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x0f, + 0x15, 0x01, 0x00, 0x00, - 0x0b, + 0x11, 0x01, 0x00, 0x00, @@ -5878,11 +6270,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x0e, + 0x14, 0x01, 0x00, 0x00, - 0x0f, + 0x15, 0x01, 0x00, 0x00, @@ -5894,7 +6286,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x11, + 0x17, 0x01, 0x00, 0x00, @@ -5910,11 +6302,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x13, + 0x19, 0x01, 0x00, 0x00, - 0xc7, + 0xcd, 0x00, 0x00, 0x00, @@ -5922,11 +6314,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x12, + 0x18, 0x01, 0x00, 0x00, - 0x13, + 0x19, 0x01, 0x00, 0x00, @@ -5938,7 +6330,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x14, + 0x1a, 0x01, 0x00, 0x00, @@ -5946,7 +6338,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x12, + 0x18, 0x01, 0x00, 0x00, @@ -5958,7 +6350,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x15, + 0x1b, 0x01, 0x00, 0x00, @@ -5978,11 +6370,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x16, + 0x1c, 0x01, 0x00, 0x00, - 0x15, + 0x1b, 0x01, 0x00, 0x00, @@ -5994,19 +6386,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x17, + 0x1d, 0x01, 0x00, 0x00, - 0x16, + 0x1c, 0x01, 0x00, 0x00, - 0x16, + 0x1c, 0x01, 0x00, 0x00, - 0x16, + 0x1c, 0x01, 0x00, 0x00, @@ -6018,7 +6410,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x18, + 0x1e, 0x01, 0x00, 0x00, @@ -6030,27 +6422,27 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x11, - 0x01, - 0x00, - 0x00, - 0x14, - 0x01, - 0x00, - 0x00, 0x17, 0x01, 0x00, 0x00, + 0x1a, + 0x01, + 0x00, + 0x00, + 0x1d, + 0x01, + 0x00, + 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0x18, + 0x1e, 0x01, 0x00, 0x00, @@ -6066,7 +6458,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x19, + 0x1f, 0x01, 0x00, 0x00, @@ -6078,7 +6470,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1a, + 0x20, 0x01, 0x00, 0x00, @@ -6090,11 +6482,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0x1a, + 0x20, 0x01, 0x00, 0x00, @@ -6122,7 +6514,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1d, + 0x23, 0x01, 0x00, 0x00, @@ -6130,7 +6522,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1c, + 0x22, 0x01, 0x00, 0x00, @@ -6142,11 +6534,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x1e, + 0x24, 0x01, 0x00, 0x00, - 0x1d, + 0x23, 0x01, 0x00, 0x00, @@ -6158,15 +6550,155 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x20, + 0x26, 0x01, 0x00, 0x00, - 0x1e, + 0x24, 0x01, 0x00, 0x00, - 0x1f, + 0x25, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0x29, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0x28, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2a, + 0x01, + 0x00, + 0x00, + 0x29, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2c, + 0x01, + 0x00, + 0x00, + 0x2a, + 0x01, + 0x00, + 0x00, + 0x2b, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2d, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x0d, + 0x00, + 0x00, + 0x00, + 0x2c, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2e, + 0x01, + 0x00, + 0x00, + 0x27, + 0x01, + 0x00, + 0x00, + 0x2d, + 0x01, + 0x00, + 0x00, + 0x81, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x2f, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0x2e, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x30, + 0x01, + 0x00, + 0x00, + 0x26, + 0x01, + 0x00, + 0x00, + 0x2f, 0x01, 0x00, 0x00, @@ -6174,11 +6706,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x1b, + 0x21, 0x01, 0x00, 0x00, - 0x20, + 0x30, 0x01, 0x00, 0x00, @@ -6190,7 +6722,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x21, + 0x31, 0x01, 0x00, 0x00, @@ -6206,7 +6738,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x22, + 0x32, 0x01, 0x00, 0x00, @@ -6222,11 +6754,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x23, + 0x33, 0x01, 0x00, 0x00, - 0x1b, + 0x21, 0x01, 0x00, 0x00, @@ -6238,11 +6770,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x24, + 0x34, 0x01, 0x00, 0x00, - 0x23, + 0x33, 0x01, 0x00, 0x00, @@ -6258,15 +6790,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x25, + 0x35, 0x01, 0x00, 0x00, - 0x22, + 0x32, 0x01, 0x00, 0x00, - 0x24, + 0x34, 0x01, 0x00, 0x00, @@ -6278,15 +6810,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x26, + 0x36, 0x01, 0x00, 0x00, - 0x21, + 0x31, 0x01, 0x00, 0x00, - 0x25, + 0x35, 0x01, 0x00, 0x00, @@ -6298,11 +6830,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x27, + 0x37, 0x01, 0x00, 0x00, - 0x26, + 0x36, 0x01, 0x00, 0x00, @@ -6318,11 +6850,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x28, + 0x38, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -6334,11 +6866,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x28, + 0x38, 0x01, 0x00, 0x00, - 0x27, + 0x37, 0x01, 0x00, 0x00, @@ -6350,7 +6882,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x29, + 0x39, 0x01, 0x00, 0x00, @@ -6366,7 +6898,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2a, + 0x3a, 0x01, 0x00, 0x00, @@ -6382,11 +6914,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2b, + 0x3b, 0x01, 0x00, 0x00, - 0x1b, + 0x21, 0x01, 0x00, 0x00, @@ -6398,11 +6930,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2c, + 0x3c, 0x01, 0x00, 0x00, - 0x2b, + 0x3b, 0x01, 0x00, 0x00, @@ -6418,15 +6950,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2d, + 0x3d, 0x01, 0x00, 0x00, - 0x2a, + 0x3a, 0x01, 0x00, 0x00, - 0x2c, + 0x3c, 0x01, 0x00, 0x00, @@ -6438,15 +6970,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2e, + 0x3e, 0x01, 0x00, 0x00, - 0x29, + 0x39, 0x01, 0x00, 0x00, - 0x2d, + 0x3d, 0x01, 0x00, 0x00, @@ -6458,11 +6990,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x2f, + 0x3f, 0x01, 0x00, 0x00, - 0x2e, + 0x3e, 0x01, 0x00, 0x00, @@ -6478,11 +7010,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x30, + 0x40, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -6494,11 +7026,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x30, + 0x40, 0x01, 0x00, 0x00, - 0x2f, + 0x3f, 0x01, 0x00, 0x00, @@ -6510,7 +7042,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x32, + 0x42, 0x01, 0x00, 0x00, @@ -6518,7 +7050,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x31, + 0x41, 0x01, 0x00, 0x00, @@ -6530,11 +7062,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x33, + 0x43, 0x01, 0x00, 0x00, - 0x32, + 0x42, 0x01, 0x00, 0x00, @@ -6546,11 +7078,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x34, + 0x44, 0x01, 0x00, 0x00, - 0x33, + 0x43, 0x01, 0x00, 0x00, @@ -6562,7 +7094,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x36, + 0x46, 0x01, 0x00, 0x00, @@ -6574,15 +7106,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x34, + 0x44, 0x01, 0x00, 0x00, - 0x35, + 0x45, 0x01, 0x00, 0x00, - 0x36, + 0x46, 0x01, 0x00, 0x00, @@ -6590,7 +7122,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x35, + 0x45, 0x01, 0x00, 0x00, @@ -6602,11 +7134,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x38, + 0x48, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -6618,7 +7150,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3b, + 0x4b, 0x01, 0x00, 0x00, @@ -6630,11 +7162,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x38, + 0x48, 0x01, 0x00, 0x00, - 0x3a, + 0x4a, 0x01, 0x00, 0x00, @@ -6642,11 +7174,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x37, + 0x47, 0x01, 0x00, 0x00, - 0x3b, + 0x4b, 0x01, 0x00, 0x00, @@ -6658,11 +7190,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3c, + 0x4c, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -6674,11 +7206,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3d, + 0x4d, 0x01, 0x00, 0x00, - 0x37, + 0x47, 0x01, 0x00, 0x00, @@ -6690,7 +7222,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3e, + 0x4e, 0x01, 0x00, 0x00, @@ -6698,7 +7230,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x31, + 0x41, 0x01, 0x00, 0x00, @@ -6710,11 +7242,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3f, + 0x4f, 0x01, 0x00, 0x00, - 0x3e, + 0x4e, 0x01, 0x00, 0x00, @@ -6726,19 +7258,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x40, + 0x50, 0x01, 0x00, 0x00, - 0x3f, + 0x4f, 0x01, 0x00, 0x00, - 0x3f, + 0x4f, 0x01, 0x00, 0x00, - 0x3f, + 0x4f, 0x01, 0x00, 0x00, @@ -6750,7 +7282,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x41, + 0x51, 0x01, 0x00, 0x00, @@ -6762,15 +7294,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x3c, + 0x4c, 0x01, 0x00, 0x00, - 0x3d, + 0x4d, 0x01, 0x00, 0x00, - 0x40, + 0x50, 0x01, 0x00, 0x00, @@ -6778,11 +7310,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0x41, + 0x51, 0x01, 0x00, 0x00, @@ -6790,7 +7322,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x36, + 0x46, 0x01, 0x00, 0x00, @@ -6798,110 +7330,10 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x36, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0xb2, - 0x00, - 0x00, - 0x00, - 0x43, - 0x01, - 0x00, - 0x00, - 0xb4, - 0x00, - 0x00, - 0x00, - 0x64, - 0x00, - 0x04, - 0x00, - 0xb1, - 0x00, - 0x00, - 0x00, - 0x44, - 0x01, - 0x00, - 0x00, - 0x43, - 0x01, - 0x00, - 0x00, - 0x67, - 0x00, - 0x05, - 0x00, - 0xc3, - 0x00, - 0x00, - 0x00, - 0x45, - 0x01, - 0x00, - 0x00, - 0x44, - 0x01, - 0x00, - 0x00, - 0xc1, - 0x00, - 0x00, - 0x00, - 0x51, - 0x00, - 0x05, - 0x00, - 0x72, - 0x00, - 0x00, - 0x00, 0x46, 0x01, 0x00, 0x00, - 0x45, - 0x01, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x6f, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x47, - 0x01, - 0x00, - 0x00, - 0x46, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x42, - 0x01, - 0x00, - 0x00, - 0x47, - 0x01, - 0x00, - 0x00, 0x41, 0x00, 0x05, @@ -6910,7 +7342,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x4a, + 0x53, 0x01, 0x00, 0x00, @@ -6918,7 +7350,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x49, + 0x52, 0x01, 0x00, 0x00, @@ -6930,47 +7362,155 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x4b, + 0x54, 0x01, 0x00, 0x00, - 0x4a, + 0x53, 0x01, 0x00, 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x4c, - 0x01, - 0x00, - 0x00, - 0x42, - 0x01, - 0x00, - 0x00, - 0x88, + 0xba, 0x00, 0x05, 0x00, + 0x77, + 0x00, + 0x00, + 0x00, + 0x55, + 0x01, + 0x00, + 0x00, + 0x54, + 0x01, + 0x00, + 0x00, + 0x62, + 0x00, + 0x00, + 0x00, + 0xf7, + 0x00, + 0x03, + 0x00, + 0x57, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x04, + 0x00, + 0x55, + 0x01, + 0x00, + 0x00, + 0x56, + 0x01, + 0x00, + 0x00, + 0x57, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0x56, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0x5a, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0x59, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4d, + 0x5b, 0x01, 0x00, 0x00, - 0x4b, + 0x5a, 0x01, 0x00, 0x00, - 0x4c, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x5c, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x5b, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x07, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x5d, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x28, + 0x00, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0x5c, 0x01, 0x00, 0x00, @@ -6978,11 +7518,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x48, + 0x58, 0x01, 0x00, 0x00, - 0x4d, + 0x5d, 0x01, 0x00, 0x00, @@ -6994,7 +7534,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x4f, + 0x5f, 0x01, 0x00, 0x00, @@ -7014,11 +7554,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x50, + 0x60, 0x01, 0x00, 0x00, - 0x4f, + 0x5f, 0x01, 0x00, 0x00, @@ -7030,7 +7570,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x51, + 0x62, 0x01, 0x00, 0x00, @@ -7038,281 +7578,13 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x49, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x52, - 0x01, - 0x00, - 0x00, - 0x51, - 0x01, - 0x00, - 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x53, - 0x01, - 0x00, - 0x00, - 0x50, - 0x01, - 0x00, - 0x00, - 0x52, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x4e, - 0x01, - 0x00, - 0x00, - 0x53, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x55, - 0x01, - 0x00, - 0x00, - 0x4e, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x56, - 0x01, - 0x00, - 0x00, - 0x48, - 0x01, - 0x00, - 0x00, - 0x8d, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x57, - 0x01, - 0x00, - 0x00, - 0x55, - 0x01, - 0x00, - 0x00, - 0x56, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x54, - 0x01, - 0x00, - 0x00, - 0x57, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x59, - 0x01, - 0x00, - 0x00, - 0x54, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x5a, - 0x01, - 0x00, - 0x00, - 0x48, - 0x01, - 0x00, - 0x00, - 0x88, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x5b, - 0x01, - 0x00, - 0x00, - 0x59, - 0x01, - 0x00, - 0x00, - 0x5a, - 0x01, - 0x00, - 0x00, - 0x83, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x5c, - 0x01, - 0x00, - 0x00, - 0x5b, - 0x01, - 0x00, - 0x00, - 0x2c, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0x5c, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x5e, - 0x01, - 0x00, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x5f, - 0x01, - 0x00, - 0x00, - 0x58, - 0x01, - 0x00, - 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x60, - 0x01, - 0x00, - 0x00, - 0x5e, - 0x01, - 0x00, - 0x00, - 0x5f, - 0x01, - 0x00, - 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x62, - 0x01, - 0x00, - 0x00, - 0x60, - 0x01, - 0x00, - 0x00, 0x61, 0x01, 0x00, 0x00, - 0x83, + 0x3d, 0x00, - 0x05, + 0x04, 0x00, 0x06, 0x00, @@ -7322,45 +7594,69 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x63, - 0x00, - 0x00, - 0x00, 0x62, 0x01, 0x00, 0x00, - 0x0c, + 0x85, 0x00, - 0x07, + 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x65, - 0x01, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x28, - 0x00, - 0x00, - 0x00, - 0x63, - 0x01, - 0x00, - 0x00, 0x64, 0x01, 0x00, 0x00, - 0x85, + 0x60, + 0x01, 0x00, - 0x05, + 0x00, + 0x63, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x65, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x0a, + 0x00, + 0x00, + 0x00, + 0x64, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0x5e, + 0x01, + 0x00, + 0x00, + 0x65, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, 0x00, 0x06, 0x00, @@ -7370,23 +7666,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x65, - 0x01, - 0x00, - 0x00, - 0x66, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x5d, - 0x01, - 0x00, - 0x00, - 0x67, + 0x5e, 0x01, 0x00, 0x00, @@ -7402,15 +7682,35 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x5d, + 0x58, 0x01, 0x00, 0x00, - 0x41, + 0x85, 0x00, 0x05, 0x00, - 0x74, + 0x06, + 0x00, + 0x00, + 0x00, + 0x69, + 0x01, + 0x00, + 0x00, + 0x67, + 0x01, + 0x00, + 0x00, + 0x68, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, 0x00, 0x00, 0x00, @@ -7418,7 +7718,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x71, + 0x01, + 0x00, + 0x00, + 0x00, + 0x08, 0x00, 0x00, 0x00, @@ -7426,6 +7730,18 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0x66, + 0x01, + 0x00, + 0x00, + 0x6a, + 0x01, + 0x00, + 0x00, 0x3d, 0x00, 0x04, @@ -7434,11 +7750,103 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x6c, + 0x01, + 0x00, + 0x00, + 0x58, + 0x01, + 0x00, + 0x00, + 0x83, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x6d, + 0x01, + 0x00, + 0x00, + 0x6c, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x6e, + 0x01, + 0x00, + 0x00, + 0x66, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x07, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x6f, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x30, + 0x00, + 0x00, + 0x00, + 0x6d, + 0x01, + 0x00, + 0x00, + 0x6e, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, 0x6b, 0x01, 0x00, 0x00, - 0x6a, + 0x6f, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x72, + 0x01, + 0x00, + 0x00, + 0x6b, 0x01, 0x00, 0x00, @@ -7450,7 +7858,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x6c, + 0x73, 0x01, 0x00, 0x00, @@ -7466,11 +7874,107 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x68, + 0x71, 0x01, 0x00, 0x00, - 0x6b, + 0x72, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0x70, + 0x01, + 0x00, + 0x00, + 0x73, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x74, + 0x01, + 0x00, + 0x00, + 0x70, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0x75, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0x52, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x76, + 0x01, + 0x00, + 0x00, + 0x75, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x08, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x77, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x2e, + 0x00, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0x74, + 0x01, + 0x00, + 0x00, + 0x76, 0x01, 0x00, 0x00, @@ -7482,11 +7986,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x6d, + 0x78, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -7498,15 +8002,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x6e, + 0x79, 0x01, 0x00, 0x00, - 0x6d, + 0x78, 0x01, 0x00, 0x00, - 0x6c, + 0x77, 0x01, 0x00, 0x00, @@ -7514,11 +8018,27 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0x6e, + 0x79, + 0x01, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0x57, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0x57, 0x01, 0x00, 0x00, @@ -7530,7 +8050,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x6f, + 0x7a, 0x01, 0x00, 0x00, @@ -7538,7 +8058,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x31, + 0x41, 0x01, 0x00, 0x00, @@ -7550,11 +8070,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x70, + 0x7b, 0x01, 0x00, 0x00, - 0x6f, + 0x7a, 0x01, 0x00, 0x00, @@ -7566,11 +8086,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x71, + 0x7c, 0x01, 0x00, 0x00, - 0x70, + 0x7b, 0x01, 0x00, 0x00, @@ -7582,7 +8102,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x73, + 0x7e, 0x01, 0x00, 0x00, @@ -7594,15 +8114,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x04, 0x00, - 0x71, + 0x7c, 0x01, 0x00, 0x00, - 0x72, + 0x7d, 0x01, 0x00, 0x00, - 0x73, + 0x7e, 0x01, 0x00, 0x00, @@ -7610,7 +8130,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x72, + 0x7d, 0x01, 0x00, 0x00, @@ -7622,11 +8142,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x75, + 0x80, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -7638,7 +8158,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x78, + 0x83, 0x01, 0x00, 0x00, @@ -7650,11 +8170,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x75, + 0x80, 0x01, 0x00, 0x00, - 0x77, + 0x82, 0x01, 0x00, 0x00, @@ -7662,11 +8182,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x74, + 0x7f, 0x01, 0x00, 0x00, - 0x78, + 0x83, 0x01, 0x00, 0x00, @@ -7678,11 +8198,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x79, + 0x84, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -7694,11 +8214,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7a, + 0x85, 0x01, 0x00, 0x00, - 0x74, + 0x7f, 0x01, 0x00, 0x00, @@ -7710,7 +8230,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7b, + 0x86, 0x01, 0x00, 0x00, @@ -7718,7 +8238,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x31, + 0x41, 0x01, 0x00, 0x00, @@ -7730,11 +8250,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7c, + 0x87, 0x01, 0x00, 0x00, - 0x7b, + 0x86, 0x01, 0x00, 0x00, @@ -7746,19 +8266,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7d, + 0x88, 0x01, 0x00, 0x00, - 0x7c, + 0x87, 0x01, 0x00, 0x00, - 0x7c, + 0x87, 0x01, 0x00, 0x00, - 0x7c, + 0x87, 0x01, 0x00, 0x00, @@ -7770,7 +8290,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x7e, + 0x89, 0x01, 0x00, 0x00, @@ -7782,15 +8302,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x79, + 0x84, 0x01, 0x00, 0x00, - 0x7a, + 0x85, 0x01, 0x00, 0x00, - 0x7d, + 0x88, 0x01, 0x00, 0x00, @@ -7798,11 +8318,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0x7e, + 0x89, 0x01, 0x00, 0x00, @@ -7810,7 +8330,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x73, + 0x7e, 0x01, 0x00, 0x00, @@ -7818,7 +8338,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x73, + 0x7e, 0x01, 0x00, 0x00, @@ -7830,7 +8350,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x80, + 0x8b, 0x01, 0x00, 0x00, @@ -7846,7 +8366,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x81, + 0x8c, 0x01, 0x00, 0x00, @@ -7866,15 +8386,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x82, + 0x8d, 0x01, 0x00, 0x00, - 0x80, + 0x8b, 0x01, 0x00, 0x00, - 0x81, + 0x8c, 0x01, 0x00, 0x00, @@ -7882,11 +8402,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x7f, + 0x8a, 0x01, 0x00, 0x00, - 0x82, + 0x8d, 0x01, 0x00, 0x00, @@ -7898,11 +8418,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x84, + 0x8f, 0x01, 0x00, 0x00, - 0x7f, + 0x8a, 0x01, 0x00, 0x00, @@ -7914,11 +8434,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x85, + 0x90, 0x01, 0x00, 0x00, - 0x7f, + 0x8a, 0x01, 0x00, 0x00, @@ -7930,15 +8450,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x86, + 0x91, 0x01, 0x00, 0x00, - 0x84, + 0x8f, 0x01, 0x00, 0x00, - 0x85, + 0x90, 0x01, 0x00, 0x00, @@ -7950,7 +8470,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x87, + 0x92, 0x01, 0x00, 0x00, @@ -7970,11 +8490,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x88, + 0x93, 0x01, 0x00, 0x00, - 0x87, + 0x92, 0x01, 0x00, 0x00, @@ -7986,15 +8506,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x89, + 0x94, 0x01, 0x00, 0x00, - 0x86, + 0x91, 0x01, 0x00, 0x00, - 0x88, + 0x93, 0x01, 0x00, 0x00, @@ -8006,7 +8526,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8a, + 0x95, 0x01, 0x00, 0x00, @@ -8014,7 +8534,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x89, + 0x94, 0x01, 0x00, 0x00, @@ -8022,11 +8542,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x83, + 0x8e, 0x01, 0x00, 0x00, - 0x8a, + 0x95, 0x01, 0x00, 0x00, @@ -8038,11 +8558,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8b, + 0x96, 0x01, 0x00, 0x00, - 0x83, + 0x8e, 0x01, 0x00, 0x00, @@ -8054,7 +8574,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8c, + 0x97, 0x01, 0x00, 0x00, @@ -8066,7 +8586,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8b, + 0x96, 0x01, 0x00, 0x00, @@ -8086,11 +8606,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8d, + 0x98, 0x01, 0x00, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, @@ -8102,151 +8622,23 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8e, + 0x99, 0x01, 0x00, 0x00, - 0x8d, - 0x01, - 0x00, - 0x00, - 0x8c, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x10, - 0x01, - 0x00, - 0x00, - 0x8e, - 0x01, - 0x00, - 0x00, - 0x41, - 0x00, - 0x05, - 0x00, - 0x74, - 0x00, - 0x00, - 0x00, - 0x90, - 0x01, - 0x00, - 0x00, - 0x71, - 0x00, - 0x00, - 0x00, - 0x8f, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x91, - 0x01, - 0x00, - 0x00, - 0x90, - 0x01, - 0x00, - 0x00, - 0xba, - 0x00, - 0x05, - 0x00, - 0x77, - 0x00, - 0x00, - 0x00, - 0x92, - 0x01, - 0x00, - 0x00, - 0x91, - 0x01, - 0x00, - 0x00, - 0x62, - 0x00, - 0x00, - 0x00, - 0xf7, - 0x00, - 0x03, - 0x00, - 0x94, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x04, - 0x00, - 0x92, - 0x01, - 0x00, - 0x00, - 0x93, - 0x01, - 0x00, - 0x00, - 0x94, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0x93, - 0x01, - 0x00, - 0x00, - 0x41, - 0x00, - 0x05, - 0x00, 0x98, 0x01, 0x00, 0x00, - 0x99, - 0x01, - 0x00, - 0x00, 0x97, 0x01, 0x00, 0x00, - 0x12, + 0x3e, 0x00, + 0x03, 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x9a, + 0x16, 0x01, 0x00, 0x00, @@ -8254,446 +8646,6 @@ static const uint8_t kpostfx_frag_spv[] = { 0x01, 0x00, 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x9c, - 0x01, - 0x00, - 0x00, - 0x9a, - 0x01, - 0x00, - 0x00, - 0x9b, - 0x01, - 0x00, - 0x00, - 0x0c, - 0x00, - 0x06, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x9d, - 0x01, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x0a, - 0x00, - 0x00, - 0x00, - 0x9c, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x95, - 0x01, - 0x00, - 0x00, - 0x9d, - 0x01, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0x9e, - 0x01, - 0x00, - 0x00, - 0xa0, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0xa1, - 0x01, - 0x00, - 0x00, - 0x95, - 0x01, - 0x00, - 0x00, - 0xb8, - 0x00, - 0x05, - 0x00, - 0x77, - 0x00, - 0x00, - 0x00, - 0xa2, - 0x01, - 0x00, - 0x00, - 0xa1, - 0x01, - 0x00, - 0x00, - 0x9b, - 0x01, - 0x00, - 0x00, - 0xf7, - 0x00, - 0x03, - 0x00, - 0xa4, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x04, - 0x00, - 0xa2, - 0x01, - 0x00, - 0x00, - 0xa3, - 0x01, - 0x00, - 0x00, - 0xa6, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xa3, - 0x01, - 0x00, - 0x00, - 0x41, - 0x00, - 0x05, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0xa5, - 0x01, - 0x00, - 0x00, - 0x9e, - 0x01, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xa5, - 0x01, - 0x00, - 0x00, - 0x63, - 0x00, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0xa4, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xa6, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0xa7, - 0x01, - 0x00, - 0x00, - 0x95, - 0x01, - 0x00, - 0x00, - 0xb8, - 0x00, - 0x05, - 0x00, - 0x77, - 0x00, - 0x00, - 0x00, - 0xa9, - 0x01, - 0x00, - 0x00, - 0xa7, - 0x01, - 0x00, - 0x00, - 0xa8, - 0x01, - 0x00, - 0x00, - 0xf7, - 0x00, - 0x03, - 0x00, - 0xab, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xfa, - 0x00, - 0x04, - 0x00, - 0xa9, - 0x01, - 0x00, - 0x00, - 0xaa, - 0x01, - 0x00, - 0x00, - 0xad, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xaa, - 0x01, - 0x00, - 0x00, - 0x41, - 0x00, - 0x05, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0xac, - 0x01, - 0x00, - 0x00, - 0x9e, - 0x01, - 0x00, - 0x00, - 0x18, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xac, - 0x01, - 0x00, - 0x00, - 0x63, - 0x00, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0xab, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xad, - 0x01, - 0x00, - 0x00, - 0x41, - 0x00, - 0x05, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0xae, - 0x01, - 0x00, - 0x00, - 0x9e, - 0x01, - 0x00, - 0x00, - 0x1e, - 0x00, - 0x00, - 0x00, - 0x3e, - 0x00, - 0x03, - 0x00, - 0xae, - 0x01, - 0x00, - 0x00, - 0x63, - 0x00, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0xab, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xab, - 0x01, - 0x00, - 0x00, - 0xf9, - 0x00, - 0x02, - 0x00, - 0xa4, - 0x01, - 0x00, - 0x00, - 0xf8, - 0x00, - 0x02, - 0x00, - 0xa4, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xaf, - 0x01, - 0x00, - 0x00, - 0x10, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xb0, - 0x01, - 0x00, - 0x00, - 0x10, - 0x01, - 0x00, - 0x00, - 0x3d, - 0x00, - 0x04, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xb1, - 0x01, - 0x00, - 0x00, - 0x9e, - 0x01, - 0x00, - 0x00, - 0x85, - 0x00, - 0x05, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0xb2, - 0x01, - 0x00, - 0x00, - 0xb0, - 0x01, - 0x00, - 0x00, - 0xb1, - 0x01, - 0x00, - 0x00, 0x41, 0x00, 0x05, @@ -8702,7 +8654,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb3, + 0x9b, 0x01, 0x00, 0x00, @@ -8710,7 +8662,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0x8f, + 0x9a, 0x01, 0x00, 0x00, @@ -8722,14 +8674,582 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, + 0x9c, + 0x01, + 0x00, + 0x00, + 0x9b, + 0x01, + 0x00, + 0x00, + 0xba, + 0x00, + 0x05, + 0x00, + 0x77, + 0x00, + 0x00, + 0x00, + 0x9d, + 0x01, + 0x00, + 0x00, + 0x9c, + 0x01, + 0x00, + 0x00, + 0x62, + 0x00, + 0x00, + 0x00, + 0xf7, + 0x00, + 0x03, + 0x00, + 0x9f, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x04, + 0x00, + 0x9d, + 0x01, + 0x00, + 0x00, + 0x9e, + 0x01, + 0x00, + 0x00, + 0x9f, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0x9e, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0xa3, + 0x01, + 0x00, + 0x00, + 0xa4, + 0x01, + 0x00, + 0x00, + 0xa2, + 0x01, + 0x00, + 0x00, + 0x12, + 0x00, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xa5, + 0x01, + 0x00, + 0x00, + 0xa4, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xa7, + 0x01, + 0x00, + 0x00, + 0xa5, + 0x01, + 0x00, + 0x00, + 0xa6, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xa8, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x0a, + 0x00, + 0x00, + 0x00, + 0xa7, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xa0, + 0x01, + 0x00, + 0x00, + 0xa8, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xa9, + 0x01, + 0x00, + 0x00, + 0xab, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xac, + 0x01, + 0x00, + 0x00, + 0xa0, + 0x01, + 0x00, + 0x00, + 0xb8, + 0x00, + 0x05, + 0x00, + 0x77, + 0x00, + 0x00, + 0x00, + 0xad, + 0x01, + 0x00, + 0x00, + 0xac, + 0x01, + 0x00, + 0x00, + 0xa6, + 0x01, + 0x00, + 0x00, + 0xf7, + 0x00, + 0x03, + 0x00, + 0xaf, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x04, + 0x00, + 0xad, + 0x01, + 0x00, + 0x00, + 0xae, + 0x01, + 0x00, + 0x00, + 0xb1, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xae, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0xb0, + 0x01, + 0x00, + 0x00, + 0xa9, + 0x01, + 0x00, + 0x00, + 0x12, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xb0, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0xaf, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xb1, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xb2, + 0x01, + 0x00, + 0x00, + 0xa0, + 0x01, + 0x00, + 0x00, + 0xb8, + 0x00, + 0x05, + 0x00, + 0x77, + 0x00, + 0x00, + 0x00, 0xb4, 0x01, 0x00, 0x00, + 0xb2, + 0x01, + 0x00, + 0x00, 0xb3, 0x01, 0x00, 0x00, + 0xf7, + 0x00, + 0x03, + 0x00, + 0xb6, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x04, + 0x00, + 0xb4, + 0x01, + 0x00, + 0x00, + 0xb5, + 0x01, + 0x00, + 0x00, + 0xb8, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xb5, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0xb7, + 0x01, + 0x00, + 0x00, + 0xa9, + 0x01, + 0x00, + 0x00, + 0x18, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xb7, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0xb6, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xb8, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x13, + 0x00, + 0x00, + 0x00, + 0xb9, + 0x01, + 0x00, + 0x00, + 0xa9, + 0x01, + 0x00, + 0x00, + 0x1e, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xb9, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0xb6, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xb6, + 0x01, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0xaf, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xaf, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xba, + 0x01, + 0x00, + 0x00, + 0x16, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xbb, + 0x01, + 0x00, + 0x00, + 0x16, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xbc, + 0x01, + 0x00, + 0x00, + 0xa9, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xbd, + 0x01, + 0x00, + 0x00, + 0xbb, + 0x01, + 0x00, + 0x00, + 0xbc, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0xbe, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0x9a, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xbf, + 0x01, + 0x00, + 0x00, + 0xbe, + 0x01, + 0x00, + 0x00, 0x50, 0x00, 0x06, @@ -8738,19 +9258,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb5, + 0xc0, 0x01, 0x00, 0x00, - 0xb4, + 0xbf, 0x01, 0x00, 0x00, - 0xb4, + 0xbf, 0x01, 0x00, 0x00, - 0xb4, + 0xbf, 0x01, 0x00, 0x00, @@ -8762,7 +9282,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb6, + 0xc1, 0x01, 0x00, 0x00, @@ -8774,15 +9294,15 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xaf, + 0xba, 0x01, 0x00, 0x00, - 0xb2, + 0xbd, 0x01, 0x00, 0x00, - 0xb5, + 0xc0, 0x01, 0x00, 0x00, @@ -8790,11 +9310,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x03, 0x00, - 0x10, + 0x16, 0x01, 0x00, 0x00, - 0xb6, + 0xc1, 0x01, 0x00, 0x00, @@ -8802,7 +9322,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x94, + 0x9f, 0x01, 0x00, 0x00, @@ -8810,7 +9330,343 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x02, 0x00, - 0x94, + 0x9f, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0xc3, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0xc2, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xc4, + 0x01, + 0x00, + 0x00, + 0xc3, + 0x01, + 0x00, + 0x00, + 0xba, + 0x00, + 0x05, + 0x00, + 0x77, + 0x00, + 0x00, + 0x00, + 0xc5, + 0x01, + 0x00, + 0x00, + 0xc4, + 0x01, + 0x00, + 0x00, + 0x62, + 0x00, + 0x00, + 0x00, + 0xf7, + 0x00, + 0x03, + 0x00, + 0xc7, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xfa, + 0x00, + 0x04, + 0x00, + 0xc5, + 0x01, + 0x00, + 0x00, + 0xc6, + 0x01, + 0x00, + 0x00, + 0xc7, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xc6, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0xc9, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0x28, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xca, + 0x01, + 0x00, + 0x00, + 0xc9, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcc, + 0x01, + 0x00, + 0x00, + 0xca, + 0x01, + 0x00, + 0x00, + 0xcb, + 0x01, + 0x00, + 0x00, + 0x0c, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcd, + 0x01, + 0x00, + 0x00, + 0x01, + 0x00, + 0x00, + 0x00, + 0x0d, + 0x00, + 0x00, + 0x00, + 0xcc, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xce, + 0x01, + 0x00, + 0x00, + 0xcd, + 0x01, + 0x00, + 0x00, + 0x2c, + 0x00, + 0x00, + 0x00, + 0x81, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xcf, + 0x01, + 0x00, + 0x00, + 0xce, + 0x01, + 0x00, + 0x00, + 0x2c, + 0x00, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0xc8, + 0x01, + 0x00, + 0x00, + 0xcf, + 0x01, + 0x00, + 0x00, + 0x41, + 0x00, + 0x05, + 0x00, + 0x74, + 0x00, + 0x00, + 0x00, + 0xd0, + 0x01, + 0x00, + 0x00, + 0x71, + 0x00, + 0x00, + 0x00, + 0xc2, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd1, + 0x01, + 0x00, + 0x00, + 0xd0, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd3, + 0x01, + 0x00, + 0x00, + 0xd1, + 0x01, + 0x00, + 0x00, + 0xd2, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd4, + 0x01, + 0x00, + 0x00, + 0xc8, + 0x01, + 0x00, + 0x00, + 0x85, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd5, + 0x01, + 0x00, + 0x00, + 0xd3, + 0x01, + 0x00, + 0x00, + 0xd4, + 0x01, + 0x00, + 0x00, + 0x83, + 0x00, + 0x05, + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0xd6, + 0x01, + 0x00, + 0x00, + 0x63, + 0x00, + 0x00, + 0x00, + 0xd5, 0x01, 0x00, 0x00, @@ -8822,11 +9678,75 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb7, + 0xd7, 0x01, 0x00, 0x00, - 0x10, + 0x16, + 0x01, + 0x00, + 0x00, + 0x8e, + 0x00, + 0x05, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xd8, + 0x01, + 0x00, + 0x00, + 0xd7, + 0x01, + 0x00, + 0x00, + 0xd6, + 0x01, + 0x00, + 0x00, + 0x3e, + 0x00, + 0x03, + 0x00, + 0x16, + 0x01, + 0x00, + 0x00, + 0xd8, + 0x01, + 0x00, + 0x00, + 0xf9, + 0x00, + 0x02, + 0x00, + 0xc7, + 0x01, + 0x00, + 0x00, + 0xf8, + 0x00, + 0x02, + 0x00, + 0xc7, + 0x01, + 0x00, + 0x00, + 0x3d, + 0x00, + 0x04, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0xd9, + 0x01, + 0x00, + 0x00, + 0x16, 0x01, 0x00, 0x00, @@ -8838,11 +9758,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb8, + 0xda, 0x01, 0x00, 0x00, - 0xb7, + 0xd9, 0x01, 0x00, 0x00, @@ -8858,11 +9778,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xb9, + 0xdb, 0x01, 0x00, 0x00, - 0xb7, + 0xd9, 0x01, 0x00, 0x00, @@ -8878,11 +9798,11 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xba, + 0xdc, 0x01, 0x00, 0x00, - 0xb7, + 0xd9, 0x01, 0x00, 0x00, @@ -8898,19 +9818,19 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbb, + 0xdd, 0x01, 0x00, 0x00, - 0xb8, + 0xda, 0x01, 0x00, 0x00, - 0xb9, + 0xdb, 0x01, 0x00, 0x00, - 0xba, + 0xdc, 0x01, 0x00, 0x00, @@ -8926,7 +9846,7 @@ static const uint8_t kpostfx_frag_spv[] = { 0x00, 0x00, 0x00, - 0xbb, + 0xdd, 0x01, 0x00, 0x00, @@ -10337,5 +11257,6 @@ static const uint8_t kpostfx_frag_spv[] = { 0x38, 0x00, 0x01, - 0x00}; -static const size_t kpostfx_frag_spv_size = 10336; + 0x00, +}; +static const size_t kpostfx_frag_spv_size = 11256; diff --git a/source/core/rendering/sdl3gpu/postfx_vert_spv.h b/source/core/rendering/sdl3gpu/postfx_vert_spv.h index 1be581e..b5c80f9 100644 --- a/source/core/rendering/sdl3gpu/postfx_vert_spv.h +++ b/source/core/rendering/sdl3gpu/postfx_vert_spv.h @@ -1445,5 +1445,6 @@ static const uint8_t kpostfx_vert_spv[] = { 0x38, 0x00, 0x01, - 0x00}; + 0x00, +}; static const size_t kpostfx_vert_spv_size = 1444; diff --git a/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp b/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp index 5d29ecd..710478b 100644 --- a/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp +++ b/source/core/rendering/sdl3gpu/sdl3gpu_shader.cpp @@ -135,12 +135,14 @@ fragment float4 postfx_fs(PostVOut in [[stage_in]], // calcular la posición dentro de la fila en coordenadas físicas. // 3x: 1 dark + 2 bright. 4x: 1 dark + 3 bright. // bright=3.5×, dark floor=0.42 (mantiene aspecto CRT original). + // ** MOD ** bright=1.0×, dark floor=0.42 (mantiene aspecto CRT original). if (u.scanline_strength > 0.0f) { float ps = max(1.0f, round(u.pixel_scale)); float frac_in_row = fract(uv.y * u.screen_height); float row_pos = floor(frac_in_row * ps); float is_dark = step(ps - 1.0f, row_pos); - float scan = mix(3.5f, 0.42f, is_dark); + //float scan = mix(3.5f, 0.42f, is_dark); + float scan = mix(1.0f, 0.42f, is_dark); colour *= mix(1.0f, scan, u.scanline_strength); } @@ -388,10 +390,10 @@ namespace Rendering { std::memcpy(mapped, pixels, static_cast(width * height * 4)); } else { // Path con supersampling: expande cada pixel a OS×OS, oscurece última fila. - // Replica la fórmula del shader: mix(3.5, 0.42, scanline_strength). + // Replica la fórmula del shader: mix(1.0, 0.42, scanline_strength). auto* out = static_cast(mapped); const int OS = oversample_; - const float BRIGHT_MUL = 1.0F + (baked_scanline_strength_ * 2.5F); // rows 0..OS-2 + const float BRIGHT_MUL = 1.0F; // rows 0..OS-2 (bright = 1.0×, sin amplificación) const float DARK_MUL = 1.0F - (baked_scanline_strength_ * 0.58F); // row OS-1 for (int y = 0; y < height; ++y) { diff --git a/tools/shaders/compile_spirv.cmake b/tools/shaders/compile_spirv.cmake new file mode 100644 index 0000000..8c7c9ef --- /dev/null +++ b/tools/shaders/compile_spirv.cmake @@ -0,0 +1,55 @@ +# compile_spirv.cmake +# Compila shaders GLSL a SPIR-V y genera headers C++ embebibles. +# Multiplataforma: Windows, macOS, Linux (no requiere bash, xxd ni /tmp/). +# +# Invocado por CMakeLists.txt con: +# cmake -D GLSLC= -D SHADERS_DIR= -D HEADERS_DIR= -P compile_spirv.cmake +# +# También puede ejecutarse manualmente desde la raíz del proyecto: +# cmake -D GLSLC=glslc -D SHADERS_DIR=data/shaders -D HEADERS_DIR=source/core/rendering/sdl3gpu -P tools/shaders/compile_spirv.cmake + +cmake_minimum_required(VERSION 3.10) + +foreach(SHADER vert frag) + set(SRC "${SHADERS_DIR}/postfx.${SHADER}") + set(SPV "${HEADERS_DIR}/postfx_${SHADER}.spv") + set(HDR "${HEADERS_DIR}/postfx_${SHADER}_spv.h") + set(VAR "kpostfx_${SHADER}_spv") + + message(STATUS "Compilando ${SRC} ...") + execute_process( + COMMAND "${GLSLC}" "${SRC}" -o "${SPV}" + RESULT_VARIABLE GLSLC_RESULT + ERROR_VARIABLE GLSLC_ERROR + ) + if(NOT GLSLC_RESULT EQUAL 0) + message(FATAL_ERROR "glslc falló para ${SRC}:\n${GLSLC_ERROR}") + endif() + + # Leer binario SPV como hex (sin separadores: "0302230700...") + file(READ "${SPV}" HEX_DATA HEX) + # Dividir en pares de caracteres hex → lista de bytes + string(REGEX MATCHALL ".." BYTES "${HEX_DATA}") + list(LENGTH BYTES NUM_BYTES) + + # Construir el cuerpo del array C++ con un byte por línea + set(ARRAY_BODY "") + foreach(BYTE ${BYTES}) + string(APPEND ARRAY_BODY " 0x${BYTE},\n") + endforeach() + + file(WRITE "${HDR}" + "#pragma once\n" + "#include \n" + "#include \n" + "static const uint8_t ${VAR}[] = {\n" + "${ARRAY_BODY}" + "};\n" + "static const size_t ${VAR}_size = ${NUM_BYTES};\n" + ) + + file(REMOVE "${SPV}") + message(STATUS " -> ${HDR} (${NUM_BYTES} bytes)") +endforeach() + +message(STATUS "Shaders SPIR-V compilados correctamente.")