diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 25abd30f8..3ec7e2399 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" make -C torch type=release -j3 - torch/cmake-build-release/torch pack port spaghetti.o2r o2r + torch/cmake-build-release/torch pack assets spaghetti.o2r o2r - uses: actions/upload-artifact@v4 with: name: spaghetti.o2r @@ -65,7 +65,7 @@ jobs: mv build/x64/Release/Spaghettify.exe spaghetti-release/ mv build/x64/Release/spaghetti.o2r spaghetti-release/ mv config.yml spaghetti-release/ - mv assets spaghetti-release/ + mv yamls spaghetti-release/ Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "spaghetti-release/gamecontrollerdb.txt" - name: Upload build uses: actions/upload-artifact@v4 @@ -97,7 +97,7 @@ jobs: mv build-cmake/Spaghettify spaghetti-release/ mv build-cmake/spaghetti.o2r spaghetti-release/ mv config.yml spaghetti-release/ - mv assets spaghetti-release/ + mv yamls spaghetti-release/ wget -O spaghetti-release/gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt - name: Publish packaged artifacts uses: actions/upload-artifact@v4 @@ -191,7 +191,7 @@ jobs: path: | spaghetti.appimage config.yml - assets + yamls gamecontrollerdb.txt build-switch: diff --git a/CMakeLists.txt b/CMakeLists.txt index 847c9c16d..2638eaef4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -647,19 +647,23 @@ add_custom_target( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${TORCH_EXECUTABLE} header -o baserom.us.z64 COMMAND ${TORCH_EXECUTABLE} o2r baserom.us.z64 - COMMAND ${TORCH_EXECUTABLE} pack assets ship.o2r o2r + COMMAND ${TORCH_EXECUTABLE} pack assets spaghetti.o2r o2r + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/mk64.o2r" "${CMAKE_BINARY_DIR}/mk64.o2r" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/ship.o2r" "${CMAKE_BINARY_DIR}/ship.o2r" ) add_custom_target( GenerateO2R DEPENDS TorchExternal WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMAND ${TORCH_EXECUTABLE} pack port spaghetti.o2r o2r + COMMAND ${TORCH_EXECUTABLE} pack assets spaghetti.o2r o2r COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" ) +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + install(FILES "${CMAKE_BINARY_DIR}/spaghetti.o2r" DESTINATION . COMPONENT ${PROJECT_NAME}) +endif() + if(CMAKE_SYSTEM_NAME MATCHES "Darwin") add_custom_target(CreateOSXIcons COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset diff --git a/SpaghettiKart.desktop b/SpaghettiKart.desktop new file mode 100644 index 000000000..beadd39ad --- /dev/null +++ b/SpaghettiKart.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=SPAGHETTIKART +Exec=Spaghettify +Terminal=false +Icon=icon +Type=Application +Categories=Game; +X-AppImage-Integrate=false diff --git a/asm/non_matchings/code_80005FD0/func_80009B60.s b/asm/non_matchings/code_80005FD0/func_80009B60.s index 87bb29360..4d49918ae 100644 --- a/asm/non_matchings/code_80005FD0/func_80009B60.s +++ b/asm/non_matchings/code_80005FD0/func_80009B60.s @@ -374,7 +374,7 @@ glabel func_80009B60 /* 00AC6C 8000A06C 94A30000 */ lhu $v1, ($a1) /* 00AC70 8000A070 AFA5002C */ sw $a1, 0x2c($sp) /* 00AC74 8000A074 AFA60028 */ sw $a2, 0x28($sp) -/* 00AC78 8000A078 0C00B931 */ jal func_8002E4C4 +/* 00AC78 8000A078 0C00B931 */ jal set_player_height /* 00AC7C 8000A07C AFA70020 */ sw $a3, 0x20($sp) /* 00AC80 8000A080 8FA5002C */ lw $a1, 0x2c($sp) /* 00AC84 8000A084 8FA60028 */ lw $a2, 0x28($sp) diff --git a/asm/non_matchings/menu_items/func_800A1FB0.s b/asm/non_matchings/menu_items/func_800A1FB0.s index d4f1fa44d..c811913e3 100644 --- a/asm/non_matchings/menu_items/func_800A1FB0.s +++ b/asm/non_matchings/menu_items/func_800A1FB0.s @@ -970,7 +970,7 @@ glabel L800A2CBC /* 0A38D0 800A2CD0 A7AB00E2 */ sh $t3, 0xe2($sp) .L800A2CD4: /* 0A38D4 800A2CD4 8FA400E8 */ lw $a0, 0xe8($sp) -/* 0A38D8 800A2CD8 0C0299AA */ jal func_800A66A8 +/* 0A38D8 800A2CD8 0C0299AA */ jal pause_menu_item_box_cursor /* 0A38DC 800A2CDC 27A500E0 */ addiu $a1, $sp, 0xe0 /* 0A38E0 800A2CE0 8FBF006C */ lw $ra, 0x6c($sp) /* 0A38E4 800A2CE4 D7B40030 */ ldc1 $f20, 0x30($sp) diff --git a/asm/non_matchings/render_objects/func_8004F168.s b/asm/non_matchings/render_objects/func_8004F168.s index 8f51fc84e..c3a234557 100644 --- a/asm/non_matchings/render_objects/func_8004F168.s +++ b/asm/non_matchings/render_objects/func_8004F168.s @@ -15,13 +15,13 @@ glabel func_8004F168 /* 04FD9C 8004F19C 01CF1821 */ addu $v1, $t6, $t7 /* 04FDA0 8004F1A0 94780000 */ lhu $t8, ($v1) /* 04FDA4 8004F1A4 00A03825 */ move $a3, $a1 -/* 04FDA8 8004F1A8 3C018019 */ lui $at, %hi(D_8018D2A0) # $at, 0x8019 +/* 04FDA8 8004F1A8 3C018019 */ lui $at, %hi(gMinimapPlayerScale) # $at, 0x8019 /* 04FDAC 8004F1AC 33198000 */ andi $t9, $t8, 0x8000 /* 04FDB0 8004F1B0 13200088 */ beqz $t9, .L8004F3D4 /* 04FDB4 8004F1B4 00044040 */ sll $t0, $a0, 1 -/* 04FDB8 8004F1B8 C420D2A0 */ lwc1 $f0, %lo(D_8018D2A0)($at) +/* 04FDB8 8004F1B8 C420D2A0 */ lwc1 $f0, %lo(gMinimapPlayerScale)($at) /* 04FDBC 8004F1BC C4640014 */ lwc1 $f4, 0x14($v1) -/* 04FDC0 8004F1C0 3C098019 */ lui $t1, %hi(D_8018D2C0) # 0x8019 +/* 04FDC0 8004F1C0 3C098019 */ lui $t1, %hi(gMinimapX) # 0x8019 /* 04FDC4 8004F1C4 C466001C */ lwc1 $f6, 0x1c($v1) /* 04FDC8 8004F1C8 46002082 */ mul.s $f2, $f4, $f0 /* 04FDCC 8004F1CC 01284821 */ addu $t1, $t1, $t0 @@ -29,11 +29,11 @@ glabel func_8004F168 /* 04FDD4 8004F1D4 3C0C8019 */ lui $t4, %hi(gMinimapWidth) # $t4, 0x8019 /* 04FDD8 8004F1D8 858CD2B0 */ lh $t4, %lo(gMinimapWidth)($t4) /* 04FDDC 8004F1DC 854AD2F0 */ lh $t2, %lo(D_8018D2F0)($t2) -/* 04FDE0 8004F1E0 8529D2C0 */ lh $t1, %lo(D_8018D2C0)($t1) # -0x2d40($t1) +/* 04FDE0 8004F1E0 8529D2C0 */ lh $t1, %lo(gMinimapX)($t1) # -0x2d40($t1) /* 04FDE4 8004F1E4 4600120D */ trunc.w.s $f8, $f2 /* 04FDE8 8004F1E8 46003302 */ mul.s $f12, $f6, $f0 -/* 04FDEC 8004F1EC 3C0F8019 */ lui $t7, %hi(D_8018D2E0) # $t7, 0x8019 -/* 04FDF0 8004F1F0 85EFD2E0 */ lh $t7, %lo(D_8018D2E0)($t7) +/* 04FDEC 8004F1EC 3C0F8019 */ lui $t7, %hi(gMinimapPlayerX) # $t7, 0x8019 +/* 04FDF0 8004F1F0 85EFD2E0 */ lh $t7, %lo(gMinimapPlayerX)($t7) /* 04FDF4 8004F1F4 01001025 */ move $v0, $t0 /* 04FDF8 8004F1F8 012A5821 */ addu $t3, $t1, $t2 /* 04FDFC 8004F1FC 05810003 */ bgez $t4, .L8004F20C @@ -43,21 +43,21 @@ glabel func_8004F168 .L8004F20C: /* 04FE0C 8004F20C 44084000 */ mfc1 $t0, $f8 /* 04FE10 8004F210 016D7023 */ subu $t6, $t3, $t5 -/* 04FE14 8004F214 3C0D8019 */ lui $t5, %hi(D_8018D2D8) # 0x8019 +/* 04FE14 8004F214 3C0D8019 */ lui $t5, %hi(gMinimapY) # 0x8019 /* 04FE18 8004F218 01CFC021 */ addu $t8, $t6, $t7 /* 04FE1C 8004F21C 3C0E8019 */ lui $t6, %hi(D_8018D2F8) # $t6, 0x8019 /* 04FE20 8004F220 01A26821 */ addu $t5, $t5, $v0 /* 04FE24 8004F224 00084C00 */ sll $t1, $t0, 0x10 -/* 04FE28 8004F228 85ADD2D8 */ lh $t5, %lo(D_8018D2D8)($t5) # -0x2d28($t5) +/* 04FE28 8004F228 85ADD2D8 */ lh $t5, %lo(gMinimapY)($t5) # -0x2d28($t5) /* 04FE2C 8004F22C 85CED2F8 */ lh $t6, %lo(D_8018D2F8)($t6) /* 04FE30 8004F230 3C198019 */ lui $t9, %hi(gMinimapHeight) # $t9, 0x8019 /* 04FE34 8004F234 4600628D */ trunc.w.s $f10, $f12 /* 04FE38 8004F238 8739D2B8 */ lh $t9, %lo(gMinimapHeight)($t9) /* 04FE3C 8004F23C 00095403 */ sra $t2, $t1, 0x10 /* 04FE40 8004F240 030A2021 */ addu $a0, $t8, $t2 -/* 04FE44 8004F244 3C188019 */ lui $t8, %hi(D_8018D2E8) # $t8, 0x8019 +/* 04FE44 8004F244 3C188019 */ lui $t8, %hi(gMinimapPlayerY) # $t8, 0x8019 /* 04FE48 8004F248 01AE7821 */ addu $t7, $t5, $t6 -/* 04FE4C 8004F24C 8718D2E8 */ lh $t8, %lo(D_8018D2E8)($t8) +/* 04FE4C 8004F24C 8718D2E8 */ lh $t8, %lo(gMinimapPlayerY)($t8) /* 04FE50 8004F250 440E5000 */ mfc1 $t6, $f10 /* 04FE54 8004F254 00046400 */ sll $t4, $a0, 0x10 /* 04FE58 8004F258 000C5C03 */ sra $t3, $t4, 0x10 diff --git a/assets/editor/gizmo/center_handle b/assets/editor/gizmo/center_handle new file mode 100644 index 000000000..080033891 --- /dev/null +++ b/assets/editor/gizmo/center_handle @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/center_handle_tri_0 b/assets/editor/gizmo/center_handle_tri_0 new file mode 100644 index 000000000..fd87c8004 --- /dev/null +++ b/assets/editor/gizmo/center_handle_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/center_handle_vtx_0 b/assets/editor/gizmo/center_handle_vtx_0 new file mode 100644 index 000000000..311c7b760 --- /dev/null +++ b/assets/editor/gizmo/center_handle_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/center_handle_vtx_cull b/assets/editor/gizmo/center_handle_vtx_cull new file mode 100644 index 000000000..35d61ecf3 --- /dev/null +++ b/assets/editor/gizmo/center_handle_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_center_handle_f3dlite_material b/assets/editor/gizmo/mat_center_handle_f3dlite_material new file mode 100644 index 000000000..33b00834b --- /dev/null +++ b/assets/editor/gizmo/mat_center_handle_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_center_handle_f3dlite_material b/assets/editor/gizmo/mat_revert_center_handle_f3dlite_material new file mode 100644 index 000000000..9baded2ce --- /dev/null +++ b/assets/editor/gizmo/mat_revert_center_handle_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_rot_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_revert_rot_handle_blue_f3dlite_material new file mode 100644 index 000000000..9baded2ce --- /dev/null +++ b/assets/editor/gizmo/mat_revert_rot_handle_blue_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material b/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material new file mode 100644 index 000000000..9baded2ce --- /dev/null +++ b/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material_002 b/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material_002 new file mode 100644 index 000000000..27cba20ee --- /dev/null +++ b/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material_002 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_rot_handle_red_f3dlite_material b/assets/editor/gizmo/mat_revert_rot_handle_red_f3dlite_material new file mode 100644 index 000000000..9baded2ce --- /dev/null +++ b/assets/editor/gizmo/mat_revert_rot_handle_red_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_rotate_handle_red_f3dlite_material b/assets/editor/gizmo/mat_revert_rotate_handle_red_f3dlite_material new file mode 100644 index 000000000..14334454e --- /dev/null +++ b/assets/editor/gizmo/mat_revert_rotate_handle_red_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material new file mode 100644 index 000000000..32d31d43f --- /dev/null +++ b/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material_001 b/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material_001 new file mode 100644 index 000000000..45749efdc --- /dev/null +++ b/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material_001 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_scale_handle_green_f3dlite_material_001 b/assets/editor/gizmo/mat_revert_scale_handle_green_f3dlite_material_001 new file mode 100644 index 000000000..32d31d43f --- /dev/null +++ b/assets/editor/gizmo/mat_revert_scale_handle_green_f3dlite_material_001 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_scale_handle_red_f3dlite_material_001 b/assets/editor/gizmo/mat_revert_scale_handle_red_f3dlite_material_001 new file mode 100644 index 000000000..32d31d43f --- /dev/null +++ b/assets/editor/gizmo/mat_revert_scale_handle_red_f3dlite_material_001 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_translate_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_revert_translate_handle_blue_f3dlite_material new file mode 100644 index 000000000..379b23dda --- /dev/null +++ b/assets/editor/gizmo/mat_revert_translate_handle_blue_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_translate_handle_green_f3dlite_material b/assets/editor/gizmo/mat_revert_translate_handle_green_f3dlite_material new file mode 100644 index 000000000..379b23dda --- /dev/null +++ b/assets/editor/gizmo/mat_revert_translate_handle_green_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_revert_translate_handle_red_f3dlite_material b/assets/editor/gizmo/mat_revert_translate_handle_red_f3dlite_material new file mode 100644 index 000000000..379b23dda --- /dev/null +++ b/assets/editor/gizmo/mat_revert_translate_handle_red_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/gizmo/mat_rot_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_rot_handle_blue_f3dlite_material new file mode 100644 index 000000000..9caab9574 --- /dev/null +++ b/assets/editor/gizmo/mat_rot_handle_blue_f3dlite_material @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material b/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material new file mode 100644 index 000000000..56ec374bb --- /dev/null +++ b/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material_002 b/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material_002 new file mode 100644 index 000000000..132776ff4 --- /dev/null +++ b/assets/editor/gizmo/mat_rot_handle_green_f3dlite_material_002 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_rot_handle_red_f3dlite_material b/assets/editor/gizmo/mat_rot_handle_red_f3dlite_material new file mode 100644 index 000000000..82d41f424 --- /dev/null +++ b/assets/editor/gizmo/mat_rot_handle_red_f3dlite_material @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_rotate_handle_red_f3dlite_material b/assets/editor/gizmo/mat_rotate_handle_red_f3dlite_material new file mode 100644 index 000000000..b89e12bf5 --- /dev/null +++ b/assets/editor/gizmo/mat_rotate_handle_red_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material new file mode 100644 index 000000000..66f56e8b4 --- /dev/null +++ b/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material_001 b/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material_001 new file mode 100644 index 000000000..ba44337c6 --- /dev/null +++ b/assets/editor/gizmo/mat_scale_handle_blue_f3dlite_material_001 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_scale_handle_green_f3dlite_material_001 b/assets/editor/gizmo/mat_scale_handle_green_f3dlite_material_001 new file mode 100644 index 000000000..537cb662c --- /dev/null +++ b/assets/editor/gizmo/mat_scale_handle_green_f3dlite_material_001 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_scale_handle_red_f3dlite_material_001 b/assets/editor/gizmo/mat_scale_handle_red_f3dlite_material_001 new file mode 100644 index 000000000..4612ed823 --- /dev/null +++ b/assets/editor/gizmo/mat_scale_handle_red_f3dlite_material_001 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_translate_handle_blue_f3dlite_material b/assets/editor/gizmo/mat_translate_handle_blue_f3dlite_material new file mode 100644 index 000000000..57823e021 --- /dev/null +++ b/assets/editor/gizmo/mat_translate_handle_blue_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_translate_handle_green_f3dlite_material b/assets/editor/gizmo/mat_translate_handle_green_f3dlite_material new file mode 100644 index 000000000..c1f582413 --- /dev/null +++ b/assets/editor/gizmo/mat_translate_handle_green_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/mat_translate_handle_red_f3dlite_material b/assets/editor/gizmo/mat_translate_handle_red_f3dlite_material new file mode 100644 index 000000000..01cdfa34b --- /dev/null +++ b/assets/editor/gizmo/mat_translate_handle_red_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/gizmo/model.xml b/assets/editor/gizmo/model.xml new file mode 100644 index 000000000..f0b5d64c2 --- /dev/null +++ b/assets/editor/gizmo/model.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_blue b/assets/editor/gizmo/rot_handle_blue new file mode 100644 index 000000000..19ab2af77 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_blue @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_blue_tri_0 b/assets/editor/gizmo/rot_handle_blue_tri_0 new file mode 100644 index 000000000..ba9053f7d --- /dev/null +++ b/assets/editor/gizmo/rot_handle_blue_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_blue_vtx_0 b/assets/editor/gizmo/rot_handle_blue_vtx_0 new file mode 100644 index 000000000..c0865a3af --- /dev/null +++ b/assets/editor/gizmo/rot_handle_blue_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_blue_vtx_cull b/assets/editor/gizmo/rot_handle_blue_vtx_cull new file mode 100644 index 000000000..7f8d154aa --- /dev/null +++ b/assets/editor/gizmo/rot_handle_blue_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_green b/assets/editor/gizmo/rot_handle_green new file mode 100644 index 000000000..0c1f892e2 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_green @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_green_tri_0 b/assets/editor/gizmo/rot_handle_green_tri_0 new file mode 100644 index 000000000..cb6385350 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_green_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_green_vtx_0 b/assets/editor/gizmo/rot_handle_green_vtx_0 new file mode 100644 index 000000000..b89eede8e --- /dev/null +++ b/assets/editor/gizmo/rot_handle_green_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_green_vtx_cull b/assets/editor/gizmo/rot_handle_green_vtx_cull new file mode 100644 index 000000000..f0b5d64c2 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_green_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_red b/assets/editor/gizmo/rot_handle_red new file mode 100644 index 000000000..d07533eae --- /dev/null +++ b/assets/editor/gizmo/rot_handle_red @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_red_tri_0 b/assets/editor/gizmo/rot_handle_red_tri_0 new file mode 100644 index 000000000..007a08b47 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_red_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_red_vtx_0 b/assets/editor/gizmo/rot_handle_red_vtx_0 new file mode 100644 index 000000000..67db4777a --- /dev/null +++ b/assets/editor/gizmo/rot_handle_red_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rot_handle_red_vtx_cull b/assets/editor/gizmo/rot_handle_red_vtx_cull new file mode 100644 index 000000000..b69eebd18 --- /dev/null +++ b/assets/editor/gizmo/rot_handle_red_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/rotate_handle_red b/assets/editor/gizmo/rotate_handle_red new file mode 100644 index 000000000..88513071e --- /dev/null +++ b/assets/editor/gizmo/rotate_handle_red @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rotate_handle_red_tri_0 b/assets/editor/gizmo/rotate_handle_red_tri_0 new file mode 100644 index 000000000..27943e53d --- /dev/null +++ b/assets/editor/gizmo/rotate_handle_red_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rotate_handle_red_vtx_0 b/assets/editor/gizmo/rotate_handle_red_vtx_0 new file mode 100644 index 000000000..f8f03faec --- /dev/null +++ b/assets/editor/gizmo/rotate_handle_red_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/rotate_handle_red_vtx_cull b/assets/editor/gizmo/rotate_handle_red_vtx_cull new file mode 100644 index 000000000..9d1c921ea --- /dev/null +++ b/assets/editor/gizmo/rotate_handle_red_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_blue b/assets/editor/gizmo/scale_handle_blue new file mode 100644 index 000000000..747b4a306 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_blue @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_blue_tri_0 b/assets/editor/gizmo/scale_handle_blue_tri_0 new file mode 100644 index 000000000..ca82d42f3 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_blue_tri_0 @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_blue_vtx_0 b/assets/editor/gizmo/scale_handle_blue_vtx_0 new file mode 100644 index 000000000..ec613fef4 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_blue_vtx_0 @@ -0,0 +1,2188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_blue_vtx_cull b/assets/editor/gizmo/scale_handle_blue_vtx_cull new file mode 100644 index 000000000..46f8bcf67 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_blue_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_green b/assets/editor/gizmo/scale_handle_green new file mode 100644 index 000000000..98debcbd3 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_green @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_green_tri_0 b/assets/editor/gizmo/scale_handle_green_tri_0 new file mode 100644 index 000000000..73d23cb0e --- /dev/null +++ b/assets/editor/gizmo/scale_handle_green_tri_0 @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_green_vtx_0 b/assets/editor/gizmo/scale_handle_green_vtx_0 new file mode 100644 index 000000000..ec613fef4 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_green_vtx_0 @@ -0,0 +1,2188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_green_vtx_cull b/assets/editor/gizmo/scale_handle_green_vtx_cull new file mode 100644 index 000000000..46f8bcf67 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_green_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_red b/assets/editor/gizmo/scale_handle_red new file mode 100644 index 000000000..0a580a47c --- /dev/null +++ b/assets/editor/gizmo/scale_handle_red @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_red_tri_0 b/assets/editor/gizmo/scale_handle_red_tri_0 new file mode 100644 index 000000000..24dc05a57 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_red_tri_0 @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_red_vtx_0 b/assets/editor/gizmo/scale_handle_red_vtx_0 new file mode 100644 index 000000000..ec613fef4 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_red_vtx_0 @@ -0,0 +1,2188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/scale_handle_red_vtx_cull b/assets/editor/gizmo/scale_handle_red_vtx_cull new file mode 100644 index 000000000..46f8bcf67 --- /dev/null +++ b/assets/editor/gizmo/scale_handle_red_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_blue b/assets/editor/gizmo/translate_handle_blue new file mode 100644 index 000000000..88c829f14 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_blue @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_blue_tri_0 b/assets/editor/gizmo/translate_handle_blue_tri_0 new file mode 100644 index 000000000..2839b8aa5 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_blue_tri_0 @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_blue_vtx_0 b/assets/editor/gizmo/translate_handle_blue_vtx_0 new file mode 100644 index 000000000..4c6e5e6cc --- /dev/null +++ b/assets/editor/gizmo/translate_handle_blue_vtx_0 @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_blue_vtx_cull b/assets/editor/gizmo/translate_handle_blue_vtx_cull new file mode 100644 index 000000000..b8261c735 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_blue_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_green b/assets/editor/gizmo/translate_handle_green new file mode 100644 index 000000000..3b5108be0 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_green @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_green_tri_0 b/assets/editor/gizmo/translate_handle_green_tri_0 new file mode 100644 index 000000000..9d59067db --- /dev/null +++ b/assets/editor/gizmo/translate_handle_green_tri_0 @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_green_vtx_0 b/assets/editor/gizmo/translate_handle_green_vtx_0 new file mode 100644 index 000000000..4c6e5e6cc --- /dev/null +++ b/assets/editor/gizmo/translate_handle_green_vtx_0 @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_green_vtx_cull b/assets/editor/gizmo/translate_handle_green_vtx_cull new file mode 100644 index 000000000..b8261c735 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_green_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_red b/assets/editor/gizmo/translate_handle_red new file mode 100644 index 000000000..bb3617b50 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_red @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_red_tri_0 b/assets/editor/gizmo/translate_handle_red_tri_0 new file mode 100644 index 000000000..b00c5bdac --- /dev/null +++ b/assets/editor/gizmo/translate_handle_red_tri_0 @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_red_vtx_0 b/assets/editor/gizmo/translate_handle_red_vtx_0 new file mode 100644 index 000000000..4c6e5e6cc --- /dev/null +++ b/assets/editor/gizmo/translate_handle_red_vtx_0 @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/gizmo/translate_handle_red_vtx_cull b/assets/editor/gizmo/translate_handle_red_vtx_cull new file mode 100644 index 000000000..b8261c735 --- /dev/null +++ b/assets/editor/gizmo/translate_handle_red_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_001 b/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_001 new file mode 100644 index 000000000..3777d1ffd --- /dev/null +++ b/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_001 @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_002 b/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_002 new file mode 100644 index 000000000..c66f943e4 --- /dev/null +++ b/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_002 @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/light/mat_sun_arrow_f3dlite_material_001 b/assets/editor/light/mat_sun_arrow_f3dlite_material_001 new file mode 100644 index 000000000..34b4eb120 --- /dev/null +++ b/assets/editor/light/mat_sun_arrow_f3dlite_material_001 @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/light/mat_sun_arrow_f3dlite_material_002 b/assets/editor/light/mat_sun_arrow_f3dlite_material_002 new file mode 100644 index 000000000..17888e0f7 --- /dev/null +++ b/assets/editor/light/mat_sun_arrow_f3dlite_material_002 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/light/model.xml b/assets/editor/light/model.xml new file mode 100644 index 000000000..6d2552b13 --- /dev/null +++ b/assets/editor/light/model.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/light/sun_arrow b/assets/editor/light/sun_arrow new file mode 100644 index 000000000..f8c6f4464 --- /dev/null +++ b/assets/editor/light/sun_arrow @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/light/sun_arrow_tri_0 b/assets/editor/light/sun_arrow_tri_0 new file mode 100644 index 000000000..0ae24023f --- /dev/null +++ b/assets/editor/light/sun_arrow_tri_0 @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/light/sun_arrow_vtx_0 b/assets/editor/light/sun_arrow_vtx_0 new file mode 100644 index 000000000..be560a299 --- /dev/null +++ b/assets/editor/light/sun_arrow_vtx_0 @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/editor/light/sun_arrow_vtx_cull b/assets/editor/light/sun_arrow_vtx_cull new file mode 100644 index 000000000..6d2552b13 --- /dev/null +++ b/assets/editor/light/sun_arrow_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/water/mat_revert_water_plane_f3dlite_material b/assets/editor/water/mat_revert_water_plane_f3dlite_material new file mode 100644 index 000000000..1ef36f4d6 --- /dev/null +++ b/assets/editor/water/mat_revert_water_plane_f3dlite_material @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/editor/water/mat_water_plane_f3dlite_material b/assets/editor/water/mat_water_plane_f3dlite_material new file mode 100644 index 000000000..f7b6a3573 --- /dev/null +++ b/assets/editor/water/mat_water_plane_f3dlite_material @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/editor/water/model.xml b/assets/editor/water/model.xml new file mode 100644 index 000000000..2360521cf --- /dev/null +++ b/assets/editor/water/model.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/editor/water/water_plane b/assets/editor/water/water_plane new file mode 100644 index 000000000..9e9c96469 --- /dev/null +++ b/assets/editor/water/water_plane @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/editor/water/water_plane_tri_0 b/assets/editor/water/water_plane_tri_0 new file mode 100644 index 000000000..58d340d48 --- /dev/null +++ b/assets/editor/water/water_plane_tri_0 @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/editor/water/water_plane_vtx_0 b/assets/editor/water/water_plane_vtx_0 new file mode 100644 index 000000000..c5d07be32 --- /dev/null +++ b/assets/editor/water/water_plane_vtx_0 @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/editor/water/water_plane_vtx_cull b/assets/editor/water/water_plane_vtx_cull new file mode 100644 index 000000000..2360521cf --- /dev/null +++ b/assets/editor/water/water_plane_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/gizmo/gizmo_center_button b/assets/gizmo/gizmo_center_button new file mode 100644 index 000000000..4ca243c28 --- /dev/null +++ b/assets/gizmo/gizmo_center_button @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/gizmo/gizmo_center_button_tri_0 b/assets/gizmo/gizmo_center_button_tri_0 new file mode 100644 index 000000000..f7a3b43b8 --- /dev/null +++ b/assets/gizmo/gizmo_center_button_tri_0 @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/gizmo/gizmo_center_button_vtx_0 b/assets/gizmo/gizmo_center_button_vtx_0 new file mode 100644 index 000000000..0b8d6dd8e --- /dev/null +++ b/assets/gizmo/gizmo_center_button_vtx_0 @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/gizmo/gizmo_center_button_vtx_cull b/assets/gizmo/gizmo_center_button_vtx_cull new file mode 100644 index 000000000..d5f18ef74 --- /dev/null +++ b/assets/gizmo/gizmo_center_button_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/gizmo/mat_gizmo_center_button_gizmo_center_button b/assets/gizmo/mat_gizmo_center_button_gizmo_center_button new file mode 100644 index 000000000..1ea35f31f --- /dev/null +++ b/assets/gizmo/mat_gizmo_center_button_gizmo_center_button @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/gizmo/mat_scale_handle_f3dlite_material b/assets/gizmo/mat_scale_handle_f3dlite_material new file mode 100644 index 000000000..47b261432 --- /dev/null +++ b/assets/gizmo/mat_scale_handle_f3dlite_material @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/gizmo/model.xml b/assets/gizmo/model.xml new file mode 100644 index 000000000..d5f18ef74 --- /dev/null +++ b/assets/gizmo/model.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/gizmo/scale_handle b/assets/gizmo/scale_handle new file mode 100644 index 000000000..744fa12eb --- /dev/null +++ b/assets/gizmo/scale_handle @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/gizmo/scale_handle_tri_0 b/assets/gizmo/scale_handle_tri_0 new file mode 100644 index 000000000..5e455d62f --- /dev/null +++ b/assets/gizmo/scale_handle_tri_0 @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/gizmo/scale_handle_vtx_0 b/assets/gizmo/scale_handle_vtx_0 new file mode 100644 index 000000000..4feb40577 --- /dev/null +++ b/assets/gizmo/scale_handle_vtx_0 @@ -0,0 +1,2188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/gizmo/scale_handle_vtx_cull b/assets/gizmo/scale_handle_vtx_cull new file mode 100644 index 000000000..bb573d8df --- /dev/null +++ b/assets/gizmo/scale_handle_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/hmintro/gradientbottom.rgba16 b/assets/hmintro/gradientbottom.rgba16 new file mode 100644 index 000000000..b2c6f1480 Binary files /dev/null and b/assets/hmintro/gradientbottom.rgba16 differ diff --git a/assets/hmintro/lusgrade.rgba16 b/assets/hmintro/lusgrade.rgba16 new file mode 100644 index 000000000..246fcf90c Binary files /dev/null and b/assets/hmintro/lusgrade.rgba16 differ diff --git a/assets/hmintro/mat_poweredbylus_lus b/assets/hmintro/mat_poweredbylus_lus new file mode 100644 index 000000000..287b97013 --- /dev/null +++ b/assets/hmintro/mat_poweredbylus_lus @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/mat_poweredbylus_power b/assets/hmintro/mat_poweredbylus_power new file mode 100644 index 000000000..eb3fca30b --- /dev/null +++ b/assets/hmintro/mat_poweredbylus_power @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/mat_revert_poweredbylus_lus b/assets/hmintro/mat_revert_poweredbylus_lus new file mode 100644 index 000000000..1ef36f4d6 --- /dev/null +++ b/assets/hmintro/mat_revert_poweredbylus_lus @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/hmintro/mat_revert_poweredbylus_power b/assets/hmintro/mat_revert_poweredbylus_power new file mode 100644 index 000000000..14334454e --- /dev/null +++ b/assets/hmintro/mat_revert_poweredbylus_power @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/hmintro/poweredbylus b/assets/hmintro/poweredbylus new file mode 100644 index 000000000..3147c24de --- /dev/null +++ b/assets/hmintro/poweredbylus @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/poweredbylus_tri_0 b/assets/hmintro/poweredbylus_tri_0 new file mode 100644 index 000000000..b7b344620 --- /dev/null +++ b/assets/hmintro/poweredbylus_tri_0 @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/poweredbylus_tri_1 b/assets/hmintro/poweredbylus_tri_1 new file mode 100644 index 000000000..d10e73029 --- /dev/null +++ b/assets/hmintro/poweredbylus_tri_1 @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/poweredbylus_vtx_0 b/assets/hmintro/poweredbylus_vtx_0 new file mode 100644 index 000000000..c700fb5a3 --- /dev/null +++ b/assets/hmintro/poweredbylus_vtx_0 @@ -0,0 +1,689 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/poweredbylus_vtx_1 b/assets/hmintro/poweredbylus_vtx_1 new file mode 100644 index 000000000..346425109 --- /dev/null +++ b/assets/hmintro/poweredbylus_vtx_1 @@ -0,0 +1,751 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/hmintro/poweredbylus_vtx_cull b/assets/hmintro/poweredbylus_vtx_cull new file mode 100644 index 000000000..acbd4e9f6 --- /dev/null +++ b/assets/hmintro/poweredbylus_vtx_cull @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/shaders/directx/default.shader.hlsl b/assets/shaders/directx/default.shader.hlsl new file mode 100644 index 000000000..f36c2daed --- /dev/null +++ b/assets/shaders/directx/default.shader.hlsl @@ -0,0 +1,332 @@ +@prism(type='hlsl', name='Fast3D HLSL Shader', version='1.0.0', description='Ported shader to prism', author='Emill & Prism Team') + +@if(o_root_signature) + @if(o_textures[0]) + #define RS "RootFlags(ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT | DENY_VERTEX_SHADER_ROOT_ACCESS), CBV(b0, visibility = SHADER_VISIBILITY_PIXEL), DescriptorTable(SRV(t0), visibility = SHADER_VISIBILITY_PIXEL), DescriptorTable(Sampler(s0), visibility = SHADER_VISIBILITY_PIXEL)" + @end + @if(o_textures[1]) + #define RS "RootFlags(ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT | DENY_VERTEX_SHADER_ROOT_ACCESS), CBV(b0, visibility = SHADER_VISIBILITY_PIXEL), DescriptorTable(SRV(t1), visibility = SHADER_VISIBILITY_PIXEL), DescriptorTable(Sampler(s1), visibility = SHADER_VISIBILITY_PIXEL)" + @end +@end + +struct PSInput { + float4 position : SV_POSITION; +@for(i in 0..2) + @if(o_textures[i]) + float2 uv@{i} : TEXCOORD@{i}; + @{update_floats(2)} + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + float texClampS@{i} : TEXCLAMPS@{i}; + @else + float texClampT@{i} : TEXCLAMPT@{i}; + @end + @{update_floats(1)} + @end + @end + @end +@end + +@if(o_fog) +float4 fog : FOG; +@{update_floats(4)} +@end +@if(o_grayscale) +float4 grayscale : GRAYSCALE; +@{update_floats(4)} +@end + +@for(i in 0..o_inputs) + @if(o_alpha) + float4 input@{i + 1} : INPUT@{i}; + @{update_floats(4)} + @else + float3 input@{i + 1} : INPUT@{i}; + @{update_floats(3)} + @end +@end +}; + +@if(o_textures[0]) + Texture2D g_texture0 : register(t0); + SamplerState g_sampler0 : register(s0); +@end +@if(o_textures[1]) + Texture2D g_texture1 : register(t1); + SamplerState g_sampler1 : register(s1); +@end + +@if(o_masks[0]) Texture2D g_textureMask0 : register(t2); +@if(o_masks[1]) Texture2D g_textureMask1 : register(t3); + +@if(o_blend[0]) Texture2D g_textureBlend0 : register(t4); +@if(o_blend[1]) Texture2D g_textureBlend1 : register(t5); + +cbuffer PerFrameCB : register(b0) { + uint noise_frame; + float noise_scale; +} + +float random(in float3 value) { + float random = dot(value, float3(12.9898, 78.233, 37.719)); + return frac(sin(random) * 143758.5453); +} + +// 3 point texture filtering +// Original author: ArthurCarvalho +// Based on GLSL implementation by twinaphex, mupen64plus-libretro project. + +@if(o_three_point_filtering && o_textures[0] || o_textures[1]) +cbuffer PerDrawCB : register(b1) { + struct { + uint width; + uint height; + bool linear_filtering; + } textures[2]; +} + +#define TEX_OFFSET(tex, tSampler, texCoord, off, texSize) tex.Sample(tSampler, texCoord - off / texSize) + +float4 tex2D3PointFilter(in Texture2D tex, in SamplerState tSampler, in float2 texCoord, in float2 texSize) { + float2 offset = frac(texCoord * texSize - float2(0.5, 0.5)); + offset -= step(1.0, offset.x + offset.y); + float4 c0 = TEX_OFFSET(tex, tSampler, texCoord, offset, texSize); + float4 c1 = TEX_OFFSET(tex, tSampler, texCoord, float2(offset.x - sign(offset.x), offset.y), texSize); + float4 c2 = TEX_OFFSET(tex, tSampler, texCoord, float2(offset.x, offset.y - sign(offset.y)), texSize); + return c0 + abs(offset.x)*(c1-c0) + abs(offset.y)*(c2-c0); +} +@end + +PSInput VSMain( + float4 position : POSITION +@for(i in 0..2) + @if(o_textures[i]) + , float2 uv@{i} : TEXCOORD@{i} + @end + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + , float texClampS@{i} : TEXCLAMPS@{i} + @else + , float texClampT@{i} : TEXCLAMPT@{i} + @end + @end + @end +@end +@if(o_fog) + , float4 fog : FOG +@end +@if(o_grayscale) + , float4 grayscale : GRAYSCALE +@end +@for(i in 0..o_inputs) + @if(o_alpha) + , float4 input@{i + 1} : INPUT@{i} + @else + , float3 input@{i + 1} : INPUT@{i} + @end +@end +) { + PSInput result; + result.position = position; + @for(i in 0..2) + @if(o_textures[i]) + result.uv@{i} = uv@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + result.texClampS@{i} = texClampS@{i}; + @else + result.texClampT@{i} = texClampT@{i}; + @end + @end + @end + @end + @end + + @if(o_fog) + result.fog = fog; + @end + + @if(o_grayscale) + result.grayscale = grayscale; + @end + + @for(i in 0..o_inputs) + @if(o_alpha) + result.input@{i + 1} = input@{i + 1}; + @else + result.input@{i + 1} = float4(input@{i + 1}, 1.0); + @end + @end + + return result; +} + +@if(o_root_signature) + [RootSignature(RS)] +@end + +@if(srgb_mode) + float4 fromLinear(float4 linearRGB){ + bool3 cutoff = linearRGB.rgb < float3(0.0031308, 0.0031308, 0.0031308); + float3 higher = 1.055 * pow(linearRGB.rgb, float3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) - float3(0.055, 0.055, 0.055); + float3 lower = linearRGB.rgb * float3(12.92, 12.92, 12.92); + return float4(lerp(higher, lower, cutoff), linearRGB.a); + } +@end + +#define MOD(x, y) ((x) - (y) * floor((x)/(y))) +#define WRAP(x, low, high) MOD((x)-(low), (high)-(low)) + (low) + +float4 PSMain(PSInput input, float4 screenSpace : SV_Position) : SV_TARGET { + @for(i in 0..2) + @if(o_textures[i]) + float2 tc@{i} = input.uv@{i}; + @{s = o_clamp[i][0]} + @{t = o_clamp[i][1]} + @if(s && t) + int2 texSize@{i}; + g_texture@{i}.GetDimensions(texSize@{i}.x, texSize@{i}.y); + @if(s && t) + tc@{i} = clamp(tc@{i}, 0.5 / texSize@{i}, float2(input.texClampS@{i}, input.texClampT@{i})); + @elseif(s) + tc@{i} = float2(clamp(tc@{i}.x, 0.5 / texSize@{i}.x, input.texClampS@{i}), tc@{i}.y); + @else + tc@{i} = float2(tc@{i}.x, clamp(tc@{i}.y, 0.5 / texSize@{i}.y, input.texClampT@{i})); + @end + @end + + @if(o_three_point_filtering) + float4 texVal@{i}; + if (textures[@{i}].linear_filtering) { + @if(o_masks[i]) + texVal@{i} = tex2D3PointFilter(g_texture@{i}, g_sampler@{i}, tc@{i}, float2(textures[@{i}].width, textures[@{i}].height)); + float2 maskSize@{i}; + g_textureMask@{i}.GetDimensions(maskSize@{i}.x, maskSize@{i}.y); + float4 maskVal@{i} = tex2D3PointFilter(g_textureMask@{i}, g_sampler@{i}, tc@{i}, maskSize@{i}); + @if(o_blend[i]) + float4 blendVal@{i} = tex2D3PointFilter(g_textureBlend@{i}, g_sampler@{i}, tc@{i}, float2(textures[@{i}].width, textures[@{i}].height)); + @else + float4 blendVal@{i} = float4(0, 0, 0, 0); + @end + + texVal@{i} = lerp(texVal@{i}, blendVal@{i}, maskVal@{i}.a); + @else + texVal@{i} = tex2D3PointFilter(g_texture@{i}, g_sampler@{i}, tc@{i}, float2(textures[@{i}].width, textures[@{i}].height)); + @end + } else { + texVal@{i} = g_texture@{i}.Sample(g_sampler@{i}, tc@{i}); + @if(o_masks[i]) + @if(o_blend[i]) + float4 blendVal@{i} = g_textureBlend@{i}.Sample(g_sampler@{i}, tc@{i}); + @else + float4 blendVal@{i} = float4(0, 0, 0, 0); + @end + texval@{i} = lerp(texVal@{i}, blendVal@{i}, g_textureMask@{i}.Sample(g_sampler@{i}, tc@{i}).a); + @end + } + @else + float4 texVal@{i} = g_texture@{i}.Sample(g_sampler@{i}, tc@{i}); + @if(o_masks[i]) + @if(o_blend[i]) + float4 blendVal@{i} = g_textureBlend@{i}.Sample(g_sampler@{i}, tc@{i}); + @else + float4 blendVal@{i} = float4(0, 0, 0, 0); + @end + texVal@{i} = lerp(texVal@{i}, blendVal@{i}, g_textureMask@{i}.Sample(g_sampler@{i}, tc@{i}).a); + @end + @end + @end + @end + + @if(o_alpha) + float4 texel; + @else + float3 texel; + @end + + @if(o_2cyc) + @{f_range = 2} + @else + @{f_range = 1} + @end + + @for(c in 0..f_range) + @if(c == 1) + @if(o_alpha) + @if(o_c[c][1][2] == SHADER_COMBINED) + texel.a = WRAP(texel.a, -1.01, 1.01); + @else + texel.a = WRAP(texel.a, -0.51, 1.51); + @end + @end + + @if(o_c[c][0][2] == SHADER_COMBINED) + texel.rgb = WRAP(texel.rgb, -1.01, 1.01); + @else + texel.rgb = WRAP(texel.rgb, -0.51, 1.51); + @end + @end + + @if(!o_color_alpha_same[c] && o_alpha) + texel = float4(@{ + append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], false, false, true, c == 0) + }, @{append_formula(o_c[c], o_do_single[c][1], + o_do_multiply[c][1], o_do_mix[c][1], true, true, true, c == 0) + }); + @else + texel = @{append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], o_alpha, false, + o_alpha, c == 0)}; + @end + @end + + @if(o_texture_edge && o_alpha) + if (texel.a > 0.19) texel.a = 1.0; else discard; + @end + + texel = WRAP(texel, -0.51, 1.51); + texel = clamp(texel, 0.0, 1.0); + // TODO discard if alpha is 0? + @if(o_fog) + @if(o_alpha) + texel = float4(lerp(texel.rgb, input.fog.rgb, input.fog.a), texel.a); + @else + texel = lerp(texel, input.fog.rgb, input.fog.a); + @end + @end + + @if(o_grayscale) + float intensity = (texel.r + texel.g + texel.b) / 3.0; + float3 new_texel = input.grayscale.rgb * intensity; + texel.rgb = lerp(texel.rgb, new_texel, input.grayscale.a); + @end + + @if(o_alpha && o_noise) + float2 coords = screenSpace.xy * noise_scale; + texel.a *= round(saturate(random(float3(floor(coords), noise_frame)) + texel.a - 0.5)); + @end + + @if(o_alpha) + @if(o_alpha_threshold) + if (texel.a < 8.0 / 256.0) discard; + @end + @if(o_invisible) + texel.a = 0.0; + @end + @if(srgb_mode) + return fromLinear(texel); + @else + return texel; + @end + @else + @if(srgb_mode) + return fromLinear(float4(texel, 1.0)); + @else + return float4(texel, 1.0); + @end + @end +} \ No newline at end of file diff --git a/assets/shaders/metal/default.shader.metal b/assets/shaders/metal/default.shader.metal new file mode 100644 index 000000000..63d89fd39 --- /dev/null +++ b/assets/shaders/metal/default.shader.metal @@ -0,0 +1,295 @@ +@prism(type='metal', name='Fast3D Metal Shader', version='1.0.0', description='Ported shader to prism', author='Emill & Prism Team') + +#include +using namespace metal; + +// BEGIN VERTEX SHADER +struct FrameUniforms { + int frameCount; + float noiseScale; +}; + +struct Vertex { + float4 position [[attribute(@{get_vertex_index()})]]; + @{update_floats(4)} + @for(i in 0..2) + @if(o_textures[i]) + float2 texCoord@{i} [[attribute(@{get_vertex_index()})]]; + @{update_floats(2)} + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + float texClampS@{i} [[attribute(@{get_vertex_index()})]]; + @else + float texClampT@{i} [[attribute(@{get_vertex_index()})]]; + @end + @{update_floats(1)} + @end + @end + @end + @end + @if(o_fog) + float4 fog [[attribute(@{get_vertex_index()})]]; + @{update_floats(4)} + @end + @if(o_grayscale) + float4 grayscale [[attribute(@{get_vertex_index()})]]; + @{update_floats(4)} + @end + @for(i in 0..o_inputs) + @if(o_alpha) + float4 input@{i + 1} [[attribute(@{get_vertex_index()})]]; + @{update_floats(4)} + @else + float3 input@{i + 1} [[attribute(@{get_vertex_index()})]]; + @{update_floats(3)} + @end + @end +}; + +struct ProjectedVertex { + @for(i in 0..2) + @if(o_textures[i]) + float2 texCoord@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + float texClampS@{i}; + @else + float texClampT@{i}; + @end + @end + @end + @end + @end + @if(o_fog) + float4 fog; + @end + @if(o_grayscale) + float4 grayscale; + @end + @for(i in 0..o_inputs) + @if(o_alpha) + float4 input@{i + 1}; + @else + float3 input@{i + 1}; + @end + @end + float4 position [[position]]; +}; + +vertex ProjectedVertex vertexShader(Vertex in [[stage_in]]) { + ProjectedVertex out; + @for(i in 0..2) + @if(o_textures[i]) + out.texCoord@{i} = in.texCoord@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + out.texClampS@{i} = in.texClampS@{i}; + @else + out.texClampT@{i} = in.texClampT@{i}; + @end + @end + @end + @end + @end + @if(o_fog) + out.fog = in.fog; + @end + @if(o_grayscale) + out.grayscale = in.grayscale; + @end + @for(i in 0..o_inputs) + out.input@{i + 1} = in.input@{i + 1}; + @end + out.position = in.position; + return out; +} +// END - BEGIN FRAGMENT SHADER + +float mod(float x, float y) { + return float(x - y * floor(x / y)); +} + +float3 mod(float3 a, float3 b) { + return float3(a.x - b.x * floor(a.x / b.x), a.y - b.y * floor(a.y / b.y), a.z - b.z * floor(a.z / b.z)); +} + +float4 mod(float4 a, float4 b) { + return float4(a.x - b.x * floor(a.x / b.x), a.y - b.y * floor(a.y / b.y), a.z - b.z * floor(a.z / b.z), a.w - b.w * floor(a.w / b.w)); +} + +#define WRAP(x, low, high) mod((x)-(low), (high)-(low)) + (low) +#define TEX_OFFSET(tex, texSmplr, texCoord, off, texSize) tex.sample(texSmplr, texCoord - off / texSize) + +@if(o_three_point_filtering) + float4 filter3point(thread const texture2d tex, thread const sampler texSmplr, thread const float2& texCoord, thread const float2& texSize) { + float2 offset = fract((texCoord * texSize) - float2(0.5)); + offset -= float2(step(1.0, offset.x + offset.y)); + float4 c0 = TEX_OFFSET(tex, texSmplr, texCoord, offset, texSize); + float4 c1 = TEX_OFFSET(tex, texSmplr, texCoord, float2(offset.x - sign(offset.x), offset.y), texSize); + float4 c2 = TEX_OFFSET(tex, texSmplr, texCoord, float2(offset.x, offset.y - sign(offset.y)), texSize); + return c0 + abs(offset.x) * (c1 - c0) + abs(offset.y) * (c2 - c0); + } + + float4 hookTexture2D(thread const texture2d tex, thread const sampler texSmplr, thread const float2& uv, thread const float2& texSize) { + return filter3point(tex, texSmplr, uv, texSize); + } +@else + float4 hookTexture2D(thread const texture2d tex, thread const sampler texSmplr, thread const float2& uv, thread const float2& texSize) { + return tex.sample(texSmplr, uv); + } +@end + +float random(float3 value) { + float random = dot(sin(value), float3(12.9898, 78.233, 37.719)); + return fract(sin(random) * 143758.5453); +} + +float4 fromLinear(float4 linearRGB) { + float3 threshold = float3(0.0031308); + float3 gamma = float3(1.0 / 2.4); + float3 scale = float3(12.92); + float3 offset = float3(1.055); + float3 subtract = float3(0.055); + float3 higher = offset * fast::pow(linearRGB.xyz, gamma) - subtract; + float3 lower = linearRGB.xyz * scale; + return float4(select(higher, lower, linearRGB.xyz < threshold), linearRGB.w); +} + +fragment float4 fragmentShader(ProjectedVertex in [[stage_in]], constant FrameUniforms &frameUniforms [[buffer(0)]] +@if(o_textures[0]) + , texture2d uTex0 [[texture(0)]], sampler uTex0Smplr [[sampler(0)]] +@end +@if(o_textures[1]) + , texture2d uTex1 [[texture(1)]], sampler uTex1Smplr [[sampler(1)]] +@end +@if(o_masks[0]) + , texture2d uTexMask0 [[texture(2)]] +@end +@if(o_masks[1]) + , texture2d uTexMask1 [[texture(3)]] +@end +@if(o_blend[0]) + , texture2d uTexBlend0 [[texture(4)]] +@end +@if(o_blend[1]) + , texture2d uTexBlend1 [[texture(5)]] +@end +) { + @for(i in 0..2) + @if(o_textures[i]) + @{s = o_clamp[i][0]} + @{t = o_clamp[i][1]} + float2 texSize@{i} = float2(uTex@{i}.get_width(), uTex@{i}.get_height()); + @if(!s && !t) + float2 vTexCoordAdj@{i} = in.texCoord@{i}; + @else + @if(s && t) + float2 vTexCoordAdj@{i} = fast::clamp(in.texCoord@{i}, float2(0.5) / texSize@{i}, float2(in.texClampS@{i}, in.texClampT@{i})); + @elseif(s) + float2 vTexCoordAdj@{i} = float2(fast::clamp(in.texCoord@{i}.x, 0.5 / texSize@{i}.x, in.texClampS@{i}), in.texCoord@{i}.y); + @else + float2 vTexCoordAdj@{i} = float2(in.texCoord@{i}.x, fast::clamp(in.texCoord@{i}.y, 0.5 / texSize@{i}.y, in.texClampT@{i})); + @end + @end + + float4 texVal@{i} = hookTexture2D(uTex@{i}, uTex@{i}Smplr, vTexCoordAdj@{i}, texSize@{i}); + + @if(o_masks[i]) + float2 maskSize@{i} = float2(uTexMask@{i}.get_width(), uTexMask@{i}.get_height()); + float4 maskVal@{i} = hookTexture2D(uTexMask@{i}, uTex@{i}Smplr, vTexCoordAdj@{i}, maskSize@{i}); + @if(o_blend[i]) + float4 blendVal@{i} = hookTexture2D(uTexBlend@{i}, uTex@{i}Smplr, vTexCoordAdj@{i}, texSize@{i}); + @else + float4 blendVal@{i} = float4(0, 0, 0, 0); + @end + + texVal@{i} = mix(texVal@{i}, blendVal@{i}, maskVal@{i}.w); + @end + @end + @end + + @if(o_alpha) + float4 texel; + @else + float3 texel; + @end + + @if(o_2cyc) + @{f_range = 2} + @else + @{f_range = 1} + @end + + @for(c in 0..f_range) + @if(c == 1) + @if(o_alpha) + @if(o_c[c][1][2] == SHADER_COMBINED) + texel.w = WRAP(texel.w, -1.01, 1.01); + @else + texel.w = WRAP(texel.w, -0.51, 1.51); + @end + @end + + @if(o_c[c][0][2] == SHADER_COMBINED) + texel.xyz = WRAP(texel.xyz, -1.01, 1.01); + @else + texel.xyz = WRAP(texel.xyz, -0.51, 1.51); + @end + @end + + @if(!o_color_alpha_same[c] && o_alpha) + texel = float4(@{ + append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], false, false, true, c == 0) + }, @{append_formula(o_c[c], o_do_single[c][1], + o_do_multiply[c][1], o_do_mix[c][1], true, true, true, c == 0) + }); + @else + texel = @{append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], o_alpha, false, + o_alpha, c == 0)}; + @end + @end + + @if(o_texture_edge && o_alpha) + if (texel.w > 0.19) texel.w = 1.0; else discard_fragment(); + @end + + texel = WRAP(texel, -0.51, 1.51); + texel = clamp(texel, 0.0, 1.0); + // TODO discard if alpha is 0? + + @if(o_fog) + @if(o_alpha) + texel = float4(mix(texel.xyz, in.fog.xyz, in.fog.w), texel.w); + @else + texel = mix(texel, in.fog.xyz, in.fog.w); + @end + @end + + @if(o_grayscale) + float intensity = (texel.x + texel.y + texel.z) / 3.0; + float3 new_texel = in.grayscale.xyz * intensity; + texel.xyz = mix(texel.xyz, new_texel, in.grayscale.w); + @end + + @if(o_alpha && o_noise) + float2 coords = screenSpace.xy * noise_scale; + texel.w *= round(saturate(random(float3(floor(coords), noise_frame)) + texel.w - 0.5)); + @end + + @if(o_alpha) + @if(o_alpha_threshold) + if (texel.w < 8.0 / 256.0) discard_fragment(); + @end + @if(o_invisible) + texel.w = 0.0; + @end + return fromLinear(texel); + @else + return fromLinear(float4(texel, 1.0)); + @end +} \ No newline at end of file diff --git a/assets/shaders/opengl/default.shader.fs b/assets/shaders/opengl/default.shader.fs new file mode 100644 index 000000000..b15e1598c --- /dev/null +++ b/assets/shaders/opengl/default.shader.fs @@ -0,0 +1,210 @@ +@prism(type='fragment', name='Fast3D Fragment Shader', version='1.0.0', description='Ported shader to prism', author='Emill & Prism Team') + +@{GLSL_VERSION} + +@if(core_opengl || opengles) +out vec4 vOutColor; +@end + +@for(i in 0..2) + @if(o_textures[i]) + @{attr} vec2 vTexCoord@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + @{attr} float vTexClampS@{i}; + @else + @{attr} float vTexClampT@{i}; + @end + @end + @end + @end +@end + +@if(o_fog) @{attr} vec4 vFog; +@if(o_grayscale) @{attr} vec4 vGrayscaleColor; + +@for(i in 0..o_inputs) + @if(o_alpha) + @{attr} vec4 vInput@{i + 1}; + @else + @{attr} vec3 vInput@{i + 1}; + @end +@end + +@if(o_textures[0]) uniform sampler2D uTex0; +@if(o_textures[1]) uniform sampler2D uTex1; + +@if(o_masks[0]) uniform sampler2D uTexMask0; +@if(o_masks[1]) uniform sampler2D uTexMask1; + +@if(o_blend[0]) uniform sampler2D uTexBlend0; +@if(o_blend[1]) uniform sampler2D uTexBlend1; + +uniform int frame_count; +uniform float noise_scale; + +#define TEX_OFFSET(off) @{texture}(tex, texCoord - off / texSize) +#define WRAP(x, low, high) mod((x)-(low), (high)-(low)) + (low) + +float random(in vec3 value) { + float random = dot(sin(value), vec3(12.9898, 78.233, 37.719)); + return fract(sin(random) * 143758.5453); +} + +vec4 fromLinear(vec4 linearRGB){ + bvec3 cutoff = lessThan(linearRGB.rgb, vec3(0.0031308)); + vec3 higher = vec3(1.055)*pow(linearRGB.rgb, vec3(1.0/2.4)) - vec3(0.055); + vec3 lower = linearRGB.rgb * vec3(12.92); + return vec4(mix(higher, lower, cutoff), linearRGB.a); +} + +@if(o_current_filter == FILTER_THREE_POINT) +vec4 filter3point(in sampler2D tex, in vec2 texCoord, in vec2 texSize) { + vec2 offset = fract(texCoord*texSize - vec2(0.5)); + offset -= step(1.0, offset.x + offset.y); + vec4 c0 = TEX_OFFSET(offset); + vec4 c1 = TEX_OFFSET(vec2(offset.x - sign(offset.x), offset.y)); + vec4 c2 = TEX_OFFSET(vec2(offset.x, offset.y - sign(offset.y))); + return c0 + abs(offset.x)*(c1-c0) + abs(offset.y)*(c2-c0); +} + +vec4 hookTexture2D(in sampler2D tex, in vec2 uv, in vec2 texSize) { + return filter3point(tex, uv, texSize); +} +@else +vec4 hookTexture2D(in sampler2D tex, in vec2 uv, in vec2 texSize) { + return @{texture}(tex, uv); +} +@end + +void main() { + @for(i in 0..2) + @if(o_textures[i]) + @{s = o_clamp[i][0]} + @{t = o_clamp[i][1]} + + @if(opengles) + vec2 texSize@{i} = vec2(textureSize(uTex@{i}, 0)); + @else + vec2 texSize@{i} = textureSize(uTex@{i}, 0); + @end + + @if(!s && !t) + vec2 vTexCoordAdj@{i} = vTexCoord@{i}; + @else + @if(s && t) + vec2 vTexCoordAdj@{i} = clamp(vTexCoord@{i}, 0.5 / texSize@{i}, vec2(vTexClampS@{i}, vTexClampT@{i})); + @elseif(s) + vec2 vTexCoordAdj@{i} = vec2(clamp(vTexCoord@{i}.s, 0.5 / texSize@{i}.s, vTexClampS@{i}), vTexCoord@{i}.t); + @else + vec2 vTexCoordAdj@{i} = vec2(vTexCoord@{i}.s, clamp(vTexCoord@{i}.t, 0.5 / texSize@{i}.t, vTexClampT@{i})); + @end + @end + + vec4 texVal@{i} = hookTexture2D(uTex@{i}, vTexCoordAdj@{i}, texSize@{i}); + + @if(o_masks[i]) + @if(opengles) + vec2 maskSize@{i} = vec2(textureSize(uTexMask@{i}, 0)); + @else + vec2 maskSize@{i} = textureSize(uTexMask@{i}, 0); + @end + + vec4 maskVal@{i} = hookTexture2D(uTexMask@{i}, vTexCoordAdj@{i}, maskSize@{i}); + + @if(o_blend[i]) + vec4 blendVal@{i} = hookTexture2D(uTexBlend@{i}, vTexCoordAdj@{i}, texSize@{i}); + @else + vec4 blendVal@{i} = vec4(0, 0, 0, 0); + @end + + texVal@{i} = mix(texVal@{i}, blendVal@{i}, maskVal@{i}.a); + @end + @end + @end + + @if(o_alpha) + vec4 texel; + @else + vec3 texel; + @end + + @if(o_2cyc) + @{f_range = 2} + @else + @{f_range = 1} + @end + + @for(c in 0..f_range) + @if(c == 1) + @if(o_alpha) + @if(o_c[c][1][2] == SHADER_COMBINED) + texel.a = WRAP(texel.a, -1.01, 1.01); + @else + texel.a = WRAP(texel.a, -0.51, 1.51); + @end + @end + + @if(o_c[c][0][2] == SHADER_COMBINED) + texel.rgb = WRAP(texel.rgb, -1.01, 1.01); + @else + texel.rgb = WRAP(texel.rgb, -0.51, 1.51); + @end + @end + + @if(!o_color_alpha_same[c] && o_alpha) + texel = vec4(@{ + append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], false, false, true, c == 0) + }, @{append_formula(o_c[c], o_do_single[c][1], + o_do_multiply[c][1], o_do_mix[c][1], true, true, true, c == 0) + }); + @else + texel = @{append_formula(o_c[c], o_do_single[c][0], + o_do_multiply[c][0], o_do_mix[c][0], o_alpha, false, + o_alpha, c == 0)}; + @end + @end + + texel = WRAP(texel, -0.51, 1.51); + texel = clamp(texel, 0.0, 1.0); + // TODO discard if alpha is 0? + @if(o_fog) + @if(o_alpha) + texel = vec4(mix(texel.rgb, vFog.rgb, vFog.a), texel.a); + @else + texel = mix(texel, vFog.rgb, vFog.a); + @end + @end + + @if(o_texture_edge && o_alpha) + if (texel.a > 0.19) texel.a = 1.0; else discard; + @end + + @if(o_alpha && o_noise) + texel.a *= floor(clamp(random(vec3(floor(gl_FragCoord.xy * noise_scale), float(frame_count))) + texel.a, 0.0, 1.0)); + @end + + @if(o_grayscale) + float intensity = (texel.r + texel.g + texel.b) / 3.0; + vec3 new_texel = vGrayscaleColor.rgb * intensity; + texel.rgb = mix(texel.rgb, new_texel, vGrayscaleColor.a); + @end + + @if(o_alpha) + @if(o_alpha_threshold) + if (texel.a < 8.0 / 256.0) discard; + @end + @if(o_invisible) + texel.a = 0.0; + @end + @{vOutColor} = texel; + @else + @{vOutColor} = vec4(texel, 1.0); + @end + + @if(srgb_mode) + @{vOutColor} = fromLinear(@{vOutColor}); + @end +} \ No newline at end of file diff --git a/assets/shaders/opengl/default.shader.vs b/assets/shaders/opengl/default.shader.vs new file mode 100644 index 000000000..cf0f62765 --- /dev/null +++ b/assets/shaders/opengl/default.shader.vs @@ -0,0 +1,79 @@ +@prism(type='fragment', name='Fast3D Fragment Shader', version='1.0.0', description='Ported shader to prism', author='Emill & Prism Team') + +@{GLSL_VERSION} + +@{attr} vec4 aVtxPos; + +@for(i in 0..2) + @if(o_textures[i]) + @{attr} vec2 aTexCoord@{i}; + @{out} vec2 vTexCoord@{i}; + @{update_floats(2)} + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + @{attr} float aTexClampS@{i}; + @{out} float vTexClampS@{i}; + @else + @{attr} float aTexClampT@{i}; + @{out} float vTexClampT@{i}; + @end + @{update_floats(1)} + @end + @end + @end +@end + +@if(o_fog) + @{attr} vec4 aFog; + @{out} vec4 vFog; + @{update_floats(4)} +@end + +@if(o_grayscale) + @{attr} vec4 aGrayscaleColor; + @{out} vec4 vGrayscaleColor; + @{update_floats(4)} +@end + +@for(i in 0..o_inputs) + @if(o_alpha) + @{attr} vec4 aInput@{i + 1}; + @{out} vec4 vInput@{i + 1}; + @{update_floats(4)} + @else + @{attr} vec3 aInput@{i + 1}; + @{out} vec3 vInput@{i + 1}; + @{update_floats(3)} + @end +@end + +void main() { + @for(i in 0..2) + @if(o_textures[i]) + vTexCoord@{i} = aTexCoord@{i}; + @for(j in 0..2) + @if(o_clamp[i][j]) + @if(j == 0) + vTexClampS@{i} = aTexClampS@{i}; + @else + vTexClampT@{i} = aTexClampT@{i}; + @end + @end + @end + @end + @end + @if(o_fog) + vFog = aFog; + @end + @if(o_grayscale) + vGrayscaleColor = aGrayscaleColor; + @end + @for(i in 0..o_inputs) + vInput@{i + 1} = aInput@{i + 1}; + @end + gl_Position = aVtxPos; + @if(opengles) + gl_Position.z *= 0.3f; + @end +} \ No newline at end of file diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index bbd9a5903..d699d89e7 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -60,7 +60,7 @@ if (NOT LINUXDEPLOY_EXECUTABLE) message(STATUS "Downloading linuxdeploy") set(LINUXDEPLOY_EXECUTABLE ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/linuxdeploy) file(DOWNLOAD - https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage ${LINUXDEPLOY_EXECUTABLE} INACTIVITY_TIMEOUT 10 LOG ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/download.log diff --git a/config.yml b/config.yml index e94c939eb..8a95052c8 100644 --- a/config.yml +++ b/config.yml @@ -7,7 +7,7 @@ enums: - include/defines.h output: - binary: spaghetti.o2r + binary: mk64.o2r headers: include/assets code: assets/code segments: diff --git a/courses/harbour/powered.c b/courses/harbour/powered.c new file mode 100644 index 000000000..0f63a0a14 --- /dev/null +++ b/courses/harbour/powered.c @@ -0,0 +1,5839 @@ +#include +#include + +Gfx powered_heart1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 powered_heart1_rgba16[] = { + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, + 0x98, 0x01, 0xf8, 0x03, 0xfa, 0x95, 0xfa, 0x95, + 0xfa, 0x95, 0xf8, 0xc9, 0xf8, 0xc9, 0xf8, 0x03, + 0xc8, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0x98, 0x01, 0xe0, 0x03, 0xf8, 0xc9, 0xf8, 0xc9, + 0xf8, 0xc9, 0xf9, 0x8d, 0xfb, 0x9d, 0xfa, 0x95, + 0xf8, 0x03, 0xc8, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0xb0, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0xfa, 0x95, + 0xfa, 0x95, 0xe0, 0x03, 0xe0, 0x03, 0x68, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x98, 0x01, 0x98, 0x01, 0xb0, 0x01, 0xf8, 0xc9, + 0xf9, 0x8d, 0xfa, 0x95, 0xe0, 0x03, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x98, 0x01, 0xc8, 0x01, + 0xf9, 0x8d, 0xf8, 0x03, 0xb0, 0x01, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, 0xb0, 0x01, + 0xf8, 0x03, 0xf8, 0x03, 0xb0, 0x01, 0x80, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x50, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0xe0, 0x03, 0xc8, 0x01, 0x98, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x98, 0x01, + 0xc8, 0x01, 0xe0, 0x03, 0x98, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xf8, 0x03, 0xb0, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x50, 0x01, 0x38, 0x01, 0x68, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xe0, 0x03, 0xb0, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x40, 0x01, 0x28, 0x01, 0x40, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xb0, 0x01, 0xb0, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x38, 0x01, 0x40, 0x01, 0x38, 0x01, 0x28, 0x01, + 0x40, 0x01, 0x68, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x28, 0x01, 0x28, 0x01, 0x20, 0x01, 0x20, 0x01, + 0x20, 0x01, 0x20, 0x01, 0x40, 0x01, 0x50, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x40, 0x01, 0x28, 0x01, 0x20, 0x01, 0x28, 0x01, + 0x20, 0x01, 0x10, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x40, 0x01, 0x40, 0x01, 0x50, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x40, 0x01, 0x38, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x50, 0x01, 0x40, 0x01, + 0x38, 0x01, 0x40, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + +}; + +Vtx powered_Text_mesh_vtx_cull[8] = { + {{ {1798, 126, 498}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {1798, 126, 759}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {1798, 169, 759}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {1798, 169, 498}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {2015, 126, 498}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {2015, 126, 759}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {2015, 169, 759}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {2015, 169, 498}, 0, {0, 0}, {0, 0, 0, 0} }}, +}; + +Vtx powered_Text_mesh_vtx_0[2695] = { + {{ {1933, 143, 605}, 0, {-708, -580}, {98, 237, 79, 255} }}, + {{ {1938, 143, 599}, 0, {-747, -580}, {98, 237, 79, 255} }}, + {{ {1940, 150, 598}, 0, {-750, -580}, {98, 237, 79, 255} }}, + {{ {1927, 143, 612}, 0, {-670, -580}, {98, 237, 79, 255} }}, + {{ {1928, 150, 612}, 0, {-833, -580}, {98, 237, 79, 255} }}, + {{ {1936, 151, 603}, 0, {-756, -580}, {98, 237, 79, 255} }}, + {{ {1938, 153, 601}, 0, {-753, -580}, {98, 237, 79, 255} }}, + {{ {1923, 159, 620}, 0, {-1009, -580}, {98, 237, 79, 255} }}, + {{ {1927, 138, 611}, 0, {-667, -580}, {98, 237, 79, 255} }}, + {{ {1926, 130, 610}, 0, {-1019, -580}, {98, 237, 79, 255} }}, + {{ {1920, 129, 617}, 0, {-1012, -580}, {98, 237, 79, 255} }}, + {{ {1926, 129, 610}, 0, {-1015, -580}, {98, 237, 79, 255} }}, + {{ {1942, 138, 592}, 0, {-583, -580}, {98, 237, 79, 255} }}, + {{ {1935, 130, 599}, 0, {-1076, -580}, {98, 237, 79, 255} }}, + {{ {1939, 129, 594}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1938, 138, 598}, 0, {-590, -580}, {98, 237, 79, 255} }}, + {{ {1940, 141, 596}, 0, {-587, -580}, {98, 237, 79, 255} }}, + {{ {1925, 165, 620}, 0, {-1003, -580}, {98, 237, 79, 255} }}, + {{ {1922, 162, 623}, 0, {-1006, -580}, {98, 237, 79, 255} }}, + {{ {1930, 163, 613}, 0, {-999, -580}, {98, 237, 79, 255} }}, + {{ {1939, 163, 602}, 0, {-923, -580}, {98, 237, 79, 255} }}, + {{ {1944, 163, 596}, 0, {-916, -580}, {98, 237, 79, 255} }}, + {{ {1929, 155, 613}, 0, {-836, -580}, {98, 237, 79, 255} }}, + {{ {1936, 155, 604}, 0, {-884, -580}, {98, 237, 79, 255} }}, + {{ {1941, 155, 598}, 0, {-913, -580}, {98, 237, 79, 255} }}, + {{ {1942, 166, 600}, 0, {-919, -580}, {98, 237, 79, 255} }}, + {{ {1945, 146, 566}, 0, {-672, -580}, {158, 19, 177, 255} }}, + {{ {1945, 148, 565}, 0, {-666, -580}, {158, 19, 177, 255} }}, + {{ {1951, 147, 558}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1944, 145, 566}, 0, {-679, -580}, {158, 19, 177, 255} }}, + {{ {1944, 144, 566}, 0, {-685, -580}, {158, 19, 177, 255} }}, + {{ {1943, 143, 567}, 0, {-692, -580}, {158, 19, 177, 255} }}, + {{ {1942, 142, 567}, 0, {-698, -580}, {158, 19, 177, 255} }}, + {{ {1943, 143, 567}, 0, {-692, -580}, {158, 19, 177, 255} }}, + {{ {1951, 147, 558}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1942, 141, 568}, 0, {-705, -580}, {158, 19, 177, 255} }}, + {{ {1941, 141, 569}, 0, {-712, -580}, {158, 19, 177, 255} }}, + {{ {1929, 132, 582}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1942, 133, 565}, 0, {-849, -580}, {158, 19, 177, 255} }}, + {{ {1948, 138, 560}, 0, {-876, -580}, {158, 19, 177, 255} }}, + {{ {1949, 141, 558}, 0, {-889, -580}, {158, 19, 177, 255} }}, + {{ {1950, 144, 558}, 0, {-895, -580}, {158, 19, 177, 255} }}, + {{ {1949, 139, 559}, 0, {-882, -580}, {158, 19, 177, 255} }}, + {{ {1946, 136, 561}, 0, {-869, -580}, {158, 19, 177, 255} }}, + {{ {1945, 135, 562}, 0, {-863, -580}, {158, 19, 177, 255} }}, + {{ {1944, 134, 563}, 0, {-856, -580}, {158, 19, 177, 255} }}, + {{ {1941, 132, 567}, 0, {-843, -580}, {158, 19, 177, 255} }}, + {{ {1940, 132, 568}, 0, {-836, -580}, {158, 19, 177, 255} }}, + {{ {1932, 162, 585}, 0, {-1086, -580}, {158, 19, 177, 255} }}, + {{ {1930, 165, 588}, 0, {-1079, -580}, {158, 19, 177, 255} }}, + {{ {1933, 168, 585}, 0, {-1073, -580}, {158, 19, 177, 255} }}, + {{ {1937, 166, 580}, 0, {-1066, -580}, {158, 19, 177, 255} }}, + {{ {1937, 159, 577}, 0, {-751, -580}, {158, 19, 177, 255} }}, + {{ {1939, 160, 576}, 0, {-790, -580}, {158, 19, 177, 255} }}, + {{ {1941, 160, 574}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1941, 160, 573}, 0, {-587, -580}, {158, 19, 177, 255} }}, + {{ {1942, 159, 572}, 0, {-593, -580}, {158, 19, 177, 255} }}, + {{ {1943, 159, 571}, 0, {-600, -580}, {158, 19, 177, 255} }}, + {{ {1943, 159, 570}, 0, {-607, -580}, {158, 19, 177, 255} }}, + {{ {1950, 161, 562}, 0, {-941, -580}, {158, 19, 177, 255} }}, + {{ {1946, 166, 568}, 0, {-968, -580}, {158, 19, 177, 255} }}, + {{ {1944, 167, 572}, 0, {-981, -580}, {158, 19, 177, 255} }}, + {{ {1942, 167, 573}, 0, {-987, -580}, {158, 19, 177, 255} }}, + {{ {1939, 167, 578}, 0, {-1033, -580}, {158, 19, 177, 255} }}, + {{ {1944, 167, 572}, 0, {-981, -580}, {158, 19, 177, 255} }}, + {{ {1945, 167, 570}, 0, {-974, -580}, {158, 19, 177, 255} }}, + {{ {1946, 166, 568}, 0, {-968, -580}, {158, 19, 177, 255} }}, + {{ {1948, 165, 566}, 0, {-961, -580}, {158, 19, 177, 255} }}, + {{ {1949, 164, 565}, 0, {-954, -580}, {158, 19, 177, 255} }}, + {{ {1950, 161, 562}, 0, {-941, -580}, {158, 19, 177, 255} }}, + {{ {1949, 162, 563}, 0, {-948, -580}, {158, 19, 177, 255} }}, + {{ {1951, 159, 561}, 0, {-935, -580}, {158, 19, 177, 255} }}, + {{ {1951, 157, 560}, 0, {-928, -580}, {158, 19, 177, 255} }}, + {{ {1951, 152, 558}, 0, {-915, -580}, {158, 19, 177, 255} }}, + {{ {1951, 154, 559}, 0, {-922, -580}, {158, 19, 177, 255} }}, + {{ {1945, 151, 566}, 0, {-652, -580}, {158, 19, 177, 255} }}, + {{ {1945, 150, 566}, 0, {-659, -580}, {158, 19, 177, 255} }}, + {{ {1951, 150, 558}, 0, {-908, -580}, {158, 19, 177, 255} }}, + {{ {1945, 153, 566}, 0, {-646, -580}, {158, 19, 177, 255} }}, + {{ {1945, 154, 567}, 0, {-639, -580}, {158, 19, 177, 255} }}, + {{ {1945, 155, 567}, 0, {-633, -580}, {158, 19, 177, 255} }}, + {{ {1945, 156, 568}, 0, {-626, -580}, {158, 19, 177, 255} }}, + {{ {1944, 157, 568}, 0, {-620, -580}, {158, 19, 177, 255} }}, + {{ {1944, 158, 569}, 0, {-613, -580}, {158, 19, 177, 255} }}, + {{ {1943, 159, 570}, 0, {-607, -580}, {158, 19, 177, 255} }}, + {{ {1940, 140, 569}, 0, {-718, -580}, {158, 19, 177, 255} }}, + {{ {1941, 141, 569}, 0, {-712, -580}, {158, 19, 177, 255} }}, + {{ {1929, 132, 582}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1939, 140, 570}, 0, {-725, -580}, {158, 19, 177, 255} }}, + {{ {1939, 140, 571}, 0, {-731, -580}, {158, 19, 177, 255} }}, + {{ {1935, 140, 575}, 0, {-744, -580}, {158, 19, 177, 255} }}, + {{ {1937, 159, 577}, 0, {-751, -580}, {158, 19, 177, 255} }}, + {{ {1991, 146, 534}, 0, {-910, -580}, {98, 237, 79, 255} }}, + {{ {1990, 146, 535}, 0, {-914, -580}, {98, 237, 79, 255} }}, + {{ {1990, 147, 536}, 0, {-918, -580}, {98, 237, 79, 255} }}, + {{ {1991, 145, 534}, 0, {-906, -580}, {98, 237, 79, 255} }}, + {{ {1991, 143, 533}, 0, {-898, -580}, {98, 237, 79, 255} }}, + {{ {1991, 145, 534}, 0, {-906, -580}, {98, 237, 79, 255} }}, + {{ {1990, 147, 536}, 0, {-918, -580}, {98, 237, 79, 255} }}, + {{ {1991, 139, 532}, 0, {-882, -580}, {98, 237, 79, 255} }}, + {{ {1985, 139, 540}, 0, {-644, -580}, {98, 237, 79, 255} }}, + {{ {1985, 140, 540}, 0, {-640, -580}, {98, 237, 79, 255} }}, + {{ {1985, 140, 540}, 0, {-636, -580}, {98, 237, 79, 255} }}, + {{ {1985, 141, 540}, 0, {-632, -580}, {98, 237, 79, 255} }}, + {{ {1985, 141, 540}, 0, {-628, -580}, {98, 237, 79, 255} }}, + {{ {1985, 142, 540}, 0, {-624, -580}, {98, 237, 79, 255} }}, + {{ {1985, 142, 540}, 0, {-620, -580}, {98, 237, 79, 255} }}, + {{ {1985, 143, 540}, 0, {-616, -580}, {98, 237, 79, 255} }}, + {{ {1985, 143, 541}, 0, {-612, -580}, {98, 237, 79, 255} }}, + {{ {1985, 144, 541}, 0, {-608, -580}, {98, 237, 79, 255} }}, + {{ {1984, 144, 542}, 0, {-604, -580}, {98, 237, 79, 255} }}, + {{ {1984, 144, 542}, 0, {-600, -580}, {98, 237, 79, 255} }}, + {{ {1984, 145, 543}, 0, {-596, -580}, {98, 237, 79, 255} }}, + {{ {1983, 145, 543}, 0, {-592, -580}, {98, 237, 79, 255} }}, + {{ {1982, 145, 544}, 0, {-584, -580}, {98, 237, 79, 255} }}, + {{ {1977, 145, 550}, 0, {-683, -580}, {98, 237, 79, 255} }}, + {{ {1987, 149, 539}, 0, {-934, -580}, {98, 237, 79, 255} }}, + {{ {1989, 148, 537}, 0, {-926, -580}, {98, 237, 79, 255} }}, + {{ {1989, 148, 536}, 0, {-922, -580}, {98, 237, 79, 255} }}, + {{ {1988, 148, 538}, 0, {-930, -580}, {98, 237, 79, 255} }}, + {{ {1991, 144, 533}, 0, {-902, -580}, {98, 237, 79, 255} }}, + {{ {1988, 149, 538}, 0, {-937, -580}, {98, 237, 79, 255} }}, + {{ {1988, 149, 538}, 0, {-941, -580}, {98, 237, 79, 255} }}, + {{ {1989, 150, 537}, 0, {-945, -580}, {98, 237, 79, 255} }}, + {{ {1992, 141, 532}, 0, {-890, -580}, {98, 237, 79, 255} }}, + {{ {1992, 142, 532}, 0, {-894, -580}, {98, 237, 79, 255} }}, + {{ {1992, 140, 532}, 0, {-886, -580}, {98, 237, 79, 255} }}, + {{ {1983, 138, 542}, 0, {-664, -580}, {98, 237, 79, 255} }}, + {{ {1991, 137, 532}, 0, {-878, -580}, {98, 237, 79, 255} }}, + {{ {1991, 139, 532}, 0, {-882, -580}, {98, 237, 79, 255} }}, + {{ {1983, 138, 542}, 0, {-660, -580}, {98, 237, 79, 255} }}, + {{ {1984, 138, 541}, 0, {-656, -580}, {98, 237, 79, 255} }}, + {{ {1984, 139, 541}, 0, {-652, -580}, {98, 237, 79, 255} }}, + {{ {1984, 139, 541}, 0, {-648, -580}, {98, 237, 79, 255} }}, + {{ {1985, 139, 540}, 0, {-644, -580}, {98, 237, 79, 255} }}, + {{ {1992, 156, 535}, 0, {-981, -580}, {98, 237, 79, 255} }}, + {{ {1992, 158, 535}, 0, {-985, -580}, {98, 237, 79, 255} }}, + {{ {1992, 159, 536}, 0, {-989, -580}, {98, 237, 79, 255} }}, + {{ {1992, 155, 535}, 0, {-977, -580}, {98, 237, 79, 255} }}, + {{ {1991, 152, 536}, 0, {-961, -580}, {98, 237, 79, 255} }}, + {{ {1985, 154, 543}, 0, {-747, -580}, {98, 237, 79, 255} }}, + {{ {1986, 154, 543}, 0, {-743, -580}, {98, 237, 79, 255} }}, + {{ {1986, 155, 543}, 0, {-739, -580}, {98, 237, 79, 255} }}, + {{ {1986, 155, 543}, 0, {-735, -580}, {98, 237, 79, 255} }}, + {{ {1986, 156, 543}, 0, {-731, -580}, {98, 237, 79, 255} }}, + {{ {1986, 156, 543}, 0, {-727, -580}, {98, 237, 79, 255} }}, + {{ {1986, 157, 543}, 0, {-723, -580}, {98, 237, 79, 255} }}, + {{ {1986, 157, 543}, 0, {-719, -580}, {98, 237, 79, 255} }}, + {{ {1985, 157, 544}, 0, {-715, -580}, {98, 237, 79, 255} }}, + {{ {1985, 158, 544}, 0, {-711, -580}, {98, 237, 79, 255} }}, + {{ {1985, 158, 544}, 0, {-707, -580}, {98, 237, 79, 255} }}, + {{ {1985, 158, 545}, 0, {-703, -580}, {98, 237, 79, 255} }}, + {{ {1984, 158, 545}, 0, {-699, -580}, {98, 237, 79, 255} }}, + {{ {1984, 158, 546}, 0, {-695, -580}, {98, 237, 79, 255} }}, + {{ {1983, 158, 546}, 0, {-691, -580}, {98, 237, 79, 255} }}, + {{ {1983, 159, 547}, 0, {-687, -580}, {98, 237, 79, 255} }}, + {{ {1985, 153, 543}, 0, {-751, -580}, {98, 237, 79, 255} }}, + {{ {1985, 153, 543}, 0, {-755, -580}, {98, 237, 79, 255} }}, + {{ {1985, 153, 543}, 0, {-759, -580}, {98, 237, 79, 255} }}, + {{ {1985, 153, 543}, 0, {-759, -580}, {98, 237, 79, 255} }}, + {{ {1984, 152, 544}, 0, {-763, -580}, {98, 237, 79, 255} }}, + {{ {1991, 152, 536}, 0, {-961, -580}, {98, 237, 79, 255} }}, + {{ {1991, 154, 535}, 0, {-969, -580}, {98, 237, 79, 255} }}, + {{ {1992, 154, 535}, 0, {-973, -580}, {98, 237, 79, 255} }}, + {{ {1992, 155, 535}, 0, {-977, -580}, {98, 237, 79, 255} }}, + {{ {1991, 153, 535}, 0, {-965, -580}, {98, 237, 79, 255} }}, + {{ {1903, 145, 616}, 0, {-888, -580}, {158, 19, 177, 255} }}, + {{ {1902, 144, 617}, 0, {-884, -580}, {158, 19, 177, 255} }}, + {{ {1901, 144, 618}, 0, {-880, -580}, {158, 19, 177, 255} }}, + {{ {1904, 145, 615}, 0, {-892, -580}, {158, 19, 177, 255} }}, + {{ {1895, 149, 627}, 0, {-776, -580}, {158, 19, 177, 255} }}, + {{ {1904, 130, 611}, 0, {-828, -580}, {158, 19, 177, 255} }}, + {{ {1910, 138, 607}, 0, {-832, -580}, {158, 19, 177, 255} }}, + {{ {1895, 145, 627}, 0, {-1048, -580}, {158, 19, 177, 255} }}, + {{ {1899, 137, 619}, 0, {-1072, -580}, {158, 19, 177, 255} }}, + {{ {1903, 132, 614}, 0, {-1088, -580}, {158, 19, 177, 255} }}, + {{ {1896, 142, 625}, 0, {-1056, -580}, {158, 19, 177, 255} }}, + {{ {1893, 131, 625}, 0, {-1044, -580}, {158, 19, 177, 255} }}, + {{ {1887, 131, 633}, 0, {-1040, -580}, {158, 19, 177, 255} }}, + {{ {1896, 158, 628}, 0, {-780, -580}, {158, 19, 177, 255} }}, + {{ {1891, 161, 636}, 0, {-1036, -580}, {158, 19, 177, 255} }}, + {{ {1898, 151, 624}, 0, {-772, -580}, {158, 19, 177, 255} }}, + {{ {1898, 151, 624}, 0, {-764, -580}, {158, 19, 177, 255} }}, + {{ {1898, 151, 624}, 0, {-756, -580}, {158, 19, 177, 255} }}, + {{ {1898, 150, 624}, 0, {-748, -580}, {158, 19, 177, 255} }}, + {{ {1899, 150, 623}, 0, {-740, -580}, {158, 19, 177, 255} }}, + {{ {1899, 150, 623}, 0, {-732, -580}, {158, 19, 177, 255} }}, + {{ {1899, 150, 623}, 0, {-728, -580}, {158, 19, 177, 255} }}, + {{ {1899, 150, 623}, 0, {-724, -580}, {158, 19, 177, 255} }}, + {{ {1906, 146, 613}, 0, {-900, -580}, {158, 19, 177, 255} }}, + {{ {1900, 150, 622}, 0, {-692, -580}, {158, 19, 177, 255} }}, + {{ {1906, 146, 613}, 0, {-900, -580}, {158, 19, 177, 255} }}, + {{ {1900, 150, 622}, 0, {-692, -580}, {158, 19, 177, 255} }}, + {{ {1900, 150, 622}, 0, {-676, -580}, {158, 19, 177, 255} }}, + {{ {1900, 150, 621}, 0, {-672, -580}, {158, 19, 177, 255} }}, + {{ {1901, 150, 621}, 0, {-668, -580}, {158, 19, 177, 255} }}, + {{ {1901, 150, 620}, 0, {-664, -580}, {158, 19, 177, 255} }}, + {{ {1902, 150, 620}, 0, {-660, -580}, {158, 19, 177, 255} }}, + {{ {1902, 151, 619}, 0, {-656, -580}, {158, 19, 177, 255} }}, + {{ {1902, 151, 619}, 0, {-652, -580}, {158, 19, 177, 255} }}, + {{ {1903, 152, 619}, 0, {-648, -580}, {158, 19, 177, 255} }}, + {{ {1903, 152, 619}, 0, {-644, -580}, {158, 19, 177, 255} }}, + {{ {1903, 153, 618}, 0, {-640, -580}, {158, 19, 177, 255} }}, + {{ {1903, 153, 618}, 0, {-636, -580}, {158, 19, 177, 255} }}, + {{ {1903, 154, 618}, 0, {-632, -580}, {158, 19, 177, 255} }}, + {{ {1904, 155, 618}, 0, {-628, -580}, {158, 19, 177, 255} }}, + {{ {1904, 155, 618}, 0, {-624, -580}, {158, 19, 177, 255} }}, + {{ {1904, 156, 619}, 0, {-620, -580}, {158, 19, 177, 255} }}, + {{ {1903, 156, 619}, 0, {-616, -580}, {158, 19, 177, 255} }}, + {{ {1910, 157, 611}, 0, {-932, -580}, {158, 19, 177, 255} }}, + {{ {1903, 157, 619}, 0, {-612, -580}, {158, 19, 177, 255} }}, + {{ {1903, 157, 620}, 0, {-608, -580}, {158, 19, 177, 255} }}, + {{ {1903, 158, 620}, 0, {-604, -580}, {158, 19, 177, 255} }}, + {{ {1902, 158, 620}, 0, {-600, -580}, {158, 19, 177, 255} }}, + {{ {1902, 159, 621}, 0, {-596, -580}, {158, 19, 177, 255} }}, + {{ {1910, 158, 612}, 0, {-936, -580}, {158, 19, 177, 255} }}, + {{ {1909, 151, 611}, 0, {-916, -580}, {158, 19, 177, 255} }}, + {{ {1909, 153, 611}, 0, {-924, -580}, {158, 19, 177, 255} }}, + {{ {1909, 155, 611}, 0, {-928, -580}, {158, 19, 177, 255} }}, + {{ {1909, 152, 611}, 0, {-920, -580}, {158, 19, 177, 255} }}, + {{ {1905, 146, 614}, 0, {-896, -580}, {158, 19, 177, 255} }}, + {{ {1904, 145, 615}, 0, {-892, -580}, {158, 19, 177, 255} }}, + {{ {1895, 149, 627}, 0, {-776, -580}, {158, 19, 177, 255} }}, + {{ {1907, 148, 612}, 0, {-908, -580}, {158, 19, 177, 255} }}, + {{ {1907, 147, 612}, 0, {-904, -580}, {158, 19, 177, 255} }}, + {{ {1906, 146, 613}, 0, {-900, -580}, {158, 19, 177, 255} }}, + {{ {1909, 151, 611}, 0, {-916, -580}, {158, 19, 177, 255} }}, + {{ {1908, 149, 611}, 0, {-912, -580}, {158, 19, 177, 255} }}, + {{ {1992, 145, 506}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1991, 133, 505}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1985, 133, 512}, 0, {-1083, -580}, {158, 19, 177, 255} }}, + {{ {1986, 145, 514}, 0, {-1074, -580}, {158, 19, 177, 255} }}, + {{ {1982, 161, 523}, 0, {-983, -580}, {158, 19, 177, 255} }}, + {{ {1981, 163, 524}, 0, {-964, -580}, {158, 19, 177, 255} }}, + {{ {1981, 168, 526}, 0, {-946, -580}, {158, 19, 177, 255} }}, + {{ {1979, 165, 527}, 0, {-955, -580}, {158, 19, 177, 255} }}, + {{ {1991, 153, 510}, 0, {-827, -580}, {158, 19, 177, 255} }}, + {{ {1987, 168, 518}, 0, {-937, -580}, {158, 19, 177, 255} }}, + {{ {1994, 161, 508}, 0, {-754, -580}, {158, 19, 177, 255} }}, + {{ {1995, 165, 507}, 0, {-717, -580}, {158, 19, 177, 255} }}, + {{ {1996, 169, 507}, 0, {-699, -580}, {158, 19, 177, 255} }}, + {{ {1994, 167, 510}, 0, {-708, -580}, {158, 19, 177, 255} }}, + {{ {2003, 168, 498}, 0, {-690, -580}, {158, 19, 177, 255} }}, + {{ {2005, 142, 516}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {2015, 165, 508}, 0, {-690, -580}, {98, 237, 79, 255} }}, + {{ {2009, 167, 517}, 0, {-699, -580}, {98, 237, 79, 255} }}, + {{ {2008, 163, 517}, 0, {-717, -580}, {98, 237, 79, 255} }}, + {{ {2006, 164, 520}, 0, {-708, -580}, {98, 237, 79, 255} }}, + {{ {2006, 159, 518}, 0, {-754, -580}, {98, 237, 79, 255} }}, + {{ {2003, 151, 520}, 0, {-827, -580}, {98, 237, 79, 255} }}, + {{ {1993, 166, 536}, 0, {-946, -580}, {98, 237, 79, 255} }}, + {{ {1999, 166, 528}, 0, {-937, -580}, {98, 237, 79, 255} }}, + {{ {1994, 161, 534}, 0, {-964, -580}, {98, 237, 79, 255} }}, + {{ {1992, 162, 537}, 0, {-955, -580}, {98, 237, 79, 255} }}, + {{ {1994, 159, 533}, 0, {-983, -580}, {98, 237, 79, 255} }}, + {{ {1994, 159, 533}, 0, {-983, -580}, {98, 237, 79, 255} }}, + {{ {1999, 142, 524}, 0, {-1074, -580}, {98, 237, 79, 255} }}, + {{ {2005, 142, 516}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1997, 131, 522}, 0, {-1083, -580}, {98, 237, 79, 255} }}, + {{ {2003, 131, 515}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1951, 150, 558}, 0, {-908, -580}, {158, 19, 177, 255} }}, + {{ {1951, 147, 558}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1945, 148, 565}, 0, {-666, -580}, {158, 19, 177, 255} }}, + {{ {1945, 150, 566}, 0, {-659, -580}, {158, 19, 177, 255} }}, + {{ {1989, 164, 540}, 0, {-1009, -580}, {98, 237, 79, 255} }}, + {{ {1989, 165, 541}, 0, {-1013, -580}, {98, 237, 79, 255} }}, + {{ {1988, 165, 543}, 0, {-1017, -580}, {98, 237, 79, 255} }}, + {{ {1990, 163, 539}, 0, {-1005, -580}, {98, 237, 79, 255} }}, + {{ {1991, 162, 537}, 0, {-997, -580}, {98, 237, 79, 255} }}, + {{ {1982, 158, 548}, 0, {-826, -580}, {98, 237, 79, 255} }}, + {{ {1979, 158, 552}, 0, {-791, -580}, {98, 237, 79, 255} }}, + {{ {1973, 160, 559}, 0, {-1088, -580}, {98, 237, 79, 255} }}, + {{ {1972, 163, 562}, 0, {-1084, -580}, {98, 237, 79, 255} }}, + {{ {1978, 164, 554}, 0, {-1076, -580}, {98, 237, 79, 255} }}, + {{ {1983, 165, 548}, 0, {-1041, -580}, {98, 237, 79, 255} }}, + {{ {1986, 165, 545}, 0, {-1025, -580}, {98, 237, 79, 255} }}, + {{ {1975, 166, 559}, 0, {-1080, -580}, {98, 237, 79, 255} }}, + {{ {1991, 162, 538}, 0, {-1001, -580}, {98, 237, 79, 255} }}, + {{ {1992, 159, 536}, 0, {-989, -580}, {98, 237, 79, 255} }}, + {{ {1992, 160, 536}, 0, {-993, -580}, {98, 237, 79, 255} }}, + {{ {1983, 159, 547}, 0, {-687, -580}, {98, 237, 79, 255} }}, + {{ {1970, 130, 556}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1984, 130, 538}, 0, {-842, -580}, {98, 237, 79, 255} }}, + {{ {1985, 131, 537}, 0, {-846, -580}, {98, 237, 79, 255} }}, + {{ {1989, 133, 534}, 0, {-862, -580}, {98, 237, 79, 255} }}, + {{ {1987, 131, 535}, 0, {-854, -580}, {98, 237, 79, 255} }}, + {{ {1986, 131, 536}, 0, {-850, -580}, {98, 237, 79, 255} }}, + {{ {1987, 131, 535}, 0, {-854, -580}, {98, 237, 79, 255} }}, + {{ {1988, 132, 534}, 0, {-858, -580}, {98, 237, 79, 255} }}, + {{ {1989, 133, 534}, 0, {-862, -580}, {98, 237, 79, 255} }}, + {{ {1989, 134, 533}, 0, {-866, -580}, {98, 237, 79, 255} }}, + {{ {1990, 135, 532}, 0, {-870, -580}, {98, 237, 79, 255} }}, + {{ {1991, 137, 532}, 0, {-878, -580}, {98, 237, 79, 255} }}, + {{ {1991, 136, 532}, 0, {-874, -580}, {98, 237, 79, 255} }}, + {{ {1977, 138, 549}, 0, {-679, -580}, {98, 237, 79, 255} }}, + {{ {1982, 138, 543}, 0, {-672, -580}, {98, 237, 79, 255} }}, + {{ {1983, 138, 542}, 0, {-664, -580}, {98, 237, 79, 255} }}, + {{ {1970, 130, 556}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1977, 145, 550}, 0, {-683, -580}, {98, 237, 79, 255} }}, + {{ {1978, 152, 551}, 0, {-787, -580}, {98, 237, 79, 255} }}, + {{ {1990, 151, 536}, 0, {-957, -580}, {98, 237, 79, 255} }}, + {{ {1990, 151, 536}, 0, {-953, -580}, {98, 237, 79, 255} }}, + {{ {1989, 150, 537}, 0, {-949, -580}, {98, 237, 79, 255} }}, + {{ {1989, 150, 537}, 0, {-945, -580}, {98, 237, 79, 255} }}, + {{ {1983, 152, 545}, 0, {-779, -580}, {98, 237, 79, 255} }}, + {{ {1984, 152, 544}, 0, {-771, -580}, {98, 237, 79, 255} }}, + {{ {1984, 152, 544}, 0, {-767, -580}, {98, 237, 79, 255} }}, + {{ {1984, 152, 544}, 0, {-763, -580}, {98, 237, 79, 255} }}, + {{ {1991, 152, 536}, 0, {-961, -580}, {98, 237, 79, 255} }}, + {{ {1979, 158, 552}, 0, {-791, -580}, {98, 237, 79, 255} }}, + {{ {1973, 160, 559}, 0, {-1088, -580}, {98, 237, 79, 255} }}, + {{ {1917, 143, 625}, 0, {-892, -580}, {98, 237, 79, 255} }}, + {{ {1918, 143, 624}, 0, {-896, -580}, {98, 237, 79, 255} }}, + {{ {1918, 144, 623}, 0, {-900, -580}, {98, 237, 79, 255} }}, + {{ {1916, 142, 626}, 0, {-888, -580}, {98, 237, 79, 255} }}, + {{ {1914, 142, 628}, 0, {-880, -580}, {98, 237, 79, 255} }}, + {{ {1921, 148, 621}, 0, {-916, -580}, {98, 237, 79, 255} }}, + {{ {1920, 146, 622}, 0, {-908, -580}, {98, 237, 79, 255} }}, + {{ {1919, 145, 622}, 0, {-904, -580}, {98, 237, 79, 255} }}, + {{ {1920, 146, 622}, 0, {-908, -580}, {98, 237, 79, 255} }}, + {{ {1920, 147, 621}, 0, {-912, -580}, {98, 237, 79, 255} }}, + {{ {1921, 148, 621}, 0, {-916, -580}, {98, 237, 79, 255} }}, + {{ {1914, 142, 628}, 0, {-880, -580}, {98, 237, 79, 255} }}, + {{ {1915, 142, 627}, 0, {-884, -580}, {98, 237, 79, 255} }}, + {{ {1916, 142, 626}, 0, {-888, -580}, {98, 237, 79, 255} }}, + {{ {1915, 149, 629}, 0, {-648, -580}, {98, 237, 79, 255} }}, + {{ {1915, 149, 629}, 0, {-652, -580}, {98, 237, 79, 255} }}, + {{ {1914, 148, 629}, 0, {-656, -580}, {98, 237, 79, 255} }}, + {{ {1914, 148, 630}, 0, {-660, -580}, {98, 237, 79, 255} }}, + {{ {1913, 148, 630}, 0, {-664, -580}, {98, 237, 79, 255} }}, + {{ {1913, 148, 631}, 0, {-668, -580}, {98, 237, 79, 255} }}, + {{ {1913, 147, 631}, 0, {-672, -580}, {98, 237, 79, 255} }}, + {{ {1912, 147, 632}, 0, {-676, -580}, {98, 237, 79, 255} }}, + {{ {1912, 147, 632}, 0, {-692, -580}, {98, 237, 79, 255} }}, + {{ {1911, 148, 633}, 0, {-724, -580}, {98, 237, 79, 255} }}, + {{ {1911, 148, 633}, 0, {-728, -580}, {98, 237, 79, 255} }}, + {{ {1911, 148, 633}, 0, {-732, -580}, {98, 237, 79, 255} }}, + {{ {1911, 148, 633}, 0, {-740, -580}, {98, 237, 79, 255} }}, + {{ {1911, 148, 634}, 0, {-748, -580}, {98, 237, 79, 255} }}, + {{ {1908, 147, 637}, 0, {-776, -580}, {98, 237, 79, 255} }}, + {{ {1910, 148, 634}, 0, {-756, -580}, {98, 237, 79, 255} }}, + {{ {1910, 149, 634}, 0, {-764, -580}, {98, 237, 79, 255} }}, + {{ {1910, 149, 634}, 0, {-772, -580}, {98, 237, 79, 255} }}, + {{ {1907, 142, 637}, 0, {-1048, -580}, {98, 237, 79, 255} }}, + {{ {1903, 159, 646}, 0, {-1036, -580}, {98, 237, 79, 255} }}, + {{ {1909, 156, 638}, 0, {-780, -580}, {98, 237, 79, 255} }}, + {{ {1910, 156, 636}, 0, {-800, -580}, {98, 237, 79, 255} }}, + {{ {1900, 128, 642}, 0, {-1040, -580}, {98, 237, 79, 255} }}, + {{ {1906, 129, 635}, 0, {-1044, -580}, {98, 237, 79, 255} }}, + {{ {1917, 128, 621}, 0, {-828, -580}, {98, 237, 79, 255} }}, + {{ {1922, 136, 617}, 0, {-832, -580}, {98, 237, 79, 255} }}, + {{ {1907, 142, 637}, 0, {-1048, -580}, {98, 237, 79, 255} }}, + {{ {1911, 134, 629}, 0, {-1072, -580}, {98, 237, 79, 255} }}, + {{ {1917, 128, 621}, 0, {-828, -580}, {98, 237, 79, 255} }}, + {{ {1908, 140, 634}, 0, {-1056, -580}, {98, 237, 79, 255} }}, + {{ {1915, 130, 624}, 0, {-1088, -580}, {98, 237, 79, 255} }}, + {{ {1892, 142, 656}, 0, {-708, -580}, {98, 237, 79, 255} }}, + {{ {1896, 142, 650}, 0, {-747, -580}, {98, 237, 79, 255} }}, + {{ {1899, 149, 648}, 0, {-750, -580}, {98, 237, 79, 255} }}, + {{ {1886, 142, 662}, 0, {-670, -580}, {98, 237, 79, 255} }}, + {{ {1887, 149, 663}, 0, {-833, -580}, {98, 237, 79, 255} }}, + {{ {1895, 150, 653}, 0, {-756, -580}, {98, 237, 79, 255} }}, + {{ {1897, 152, 651}, 0, {-753, -580}, {98, 237, 79, 255} }}, + {{ {1886, 137, 662}, 0, {-667, -580}, {98, 237, 79, 255} }}, + {{ {1882, 158, 671}, 0, {-1009, -580}, {98, 237, 79, 255} }}, + {{ {1888, 154, 663}, 0, {-836, -580}, {98, 237, 79, 255} }}, + {{ {1902, 162, 647}, 0, {-916, -580}, {98, 237, 79, 255} }}, + {{ {1895, 155, 655}, 0, {-884, -580}, {98, 237, 79, 255} }}, + {{ {1900, 154, 648}, 0, {-913, -580}, {98, 237, 79, 255} }}, + {{ {1898, 162, 652}, 0, {-923, -580}, {98, 237, 79, 255} }}, + {{ {1900, 165, 650}, 0, {-919, -580}, {98, 237, 79, 255} }}, + {{ {1889, 162, 664}, 0, {-999, -580}, {98, 237, 79, 255} }}, + {{ {1884, 164, 671}, 0, {-1003, -580}, {98, 237, 79, 255} }}, + {{ {1881, 161, 674}, 0, {-1006, -580}, {98, 237, 79, 255} }}, + {{ {1901, 137, 643}, 0, {-583, -580}, {98, 237, 79, 255} }}, + {{ {1899, 140, 646}, 0, {-587, -580}, {98, 237, 79, 255} }}, + {{ {1896, 137, 649}, 0, {-590, -580}, {98, 237, 79, 255} }}, + {{ {1885, 129, 661}, 0, {-1019, -580}, {98, 237, 79, 255} }}, + {{ {1879, 128, 668}, 0, {-1012, -580}, {98, 237, 79, 255} }}, + {{ {1885, 128, 661}, 0, {-1015, -580}, {98, 237, 79, 255} }}, + {{ {1894, 129, 650}, 0, {-1076, -580}, {98, 237, 79, 255} }}, + {{ {1898, 128, 645}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1884, 140, 639}, 0, {-590, -580}, {158, 19, 177, 255} }}, + {{ {1886, 143, 637}, 0, {-587, -580}, {158, 19, 177, 255} }}, + {{ {1888, 139, 633}, 0, {-583, -580}, {158, 19, 177, 255} }}, + {{ {1873, 139, 652}, 0, {-667, -580}, {158, 19, 177, 255} }}, + {{ {1873, 131, 651}, 0, {-1019, -580}, {158, 19, 177, 255} }}, + {{ {1882, 132, 640}, 0, {-1076, -580}, {158, 19, 177, 255} }}, + {{ {1886, 131, 635}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1870, 160, 661}, 0, {-1009, -580}, {158, 19, 177, 255} }}, + {{ {1867, 130, 658}, 0, {-1012, -580}, {158, 19, 177, 255} }}, + {{ {1872, 130, 651}, 0, {-1015, -580}, {158, 19, 177, 255} }}, + {{ {1874, 144, 652}, 0, {-670, -580}, {158, 19, 177, 255} }}, + {{ {1875, 152, 653}, 0, {-833, -580}, {158, 19, 177, 255} }}, + {{ {1875, 156, 654}, 0, {-836, -580}, {158, 19, 177, 255} }}, + {{ {1890, 164, 637}, 0, {-916, -580}, {158, 19, 177, 255} }}, + {{ {1886, 165, 642}, 0, {-923, -580}, {158, 19, 177, 255} }}, + {{ {1876, 164, 654}, 0, {-999, -580}, {158, 19, 177, 255} }}, + {{ {1871, 167, 661}, 0, {-1003, -580}, {158, 19, 177, 255} }}, + {{ {1868, 163, 664}, 0, {-1006, -580}, {158, 19, 177, 255} }}, + {{ {1888, 167, 640}, 0, {-919, -580}, {158, 19, 177, 255} }}, + {{ {1887, 156, 639}, 0, {-913, -580}, {158, 19, 177, 255} }}, + {{ {1882, 157, 645}, 0, {-884, -580}, {158, 19, 177, 255} }}, + {{ {1887, 152, 638}, 0, {-750, -580}, {158, 19, 177, 255} }}, + {{ {1884, 144, 640}, 0, {-747, -580}, {158, 19, 177, 255} }}, + {{ {1879, 145, 646}, 0, {-708, -580}, {158, 19, 177, 255} }}, + {{ {1883, 152, 643}, 0, {-756, -580}, {158, 19, 177, 255} }}, + {{ {1885, 155, 641}, 0, {-753, -580}, {158, 19, 177, 255} }}, + {{ {1833, 153, 731}, 0, {-897, -580}, {98, 237, 79, 255} }}, + {{ {1833, 155, 731}, 0, {-902, -580}, {98, 237, 79, 255} }}, + {{ {1832, 156, 732}, 0, {-907, -580}, {98, 237, 79, 255} }}, + {{ {1833, 152, 730}, 0, {-891, -580}, {98, 237, 79, 255} }}, + {{ {1825, 154, 741}, 0, {-590, -580}, {98, 237, 79, 255} }}, + {{ {1824, 155, 742}, 0, {-585, -580}, {98, 237, 79, 255} }}, + {{ {1832, 156, 732}, 0, {-907, -580}, {98, 237, 79, 255} }}, + {{ {1822, 155, 745}, 0, {-806, -580}, {98, 237, 79, 255} }}, + {{ {1824, 155, 742}, 0, {-585, -580}, {98, 237, 79, 255} }}, + {{ {1833, 152, 730}, 0, {-891, -580}, {98, 237, 79, 255} }}, + {{ {1825, 154, 741}, 0, {-590, -580}, {98, 237, 79, 255} }}, + {{ {1825, 154, 740}, 0, {-595, -580}, {98, 237, 79, 255} }}, + {{ {1826, 154, 740}, 0, {-600, -580}, {98, 237, 79, 255} }}, + {{ {1826, 154, 739}, 0, {-605, -580}, {98, 237, 79, 255} }}, + {{ {1826, 153, 739}, 0, {-610, -580}, {98, 237, 79, 255} }}, + {{ {1827, 153, 738}, 0, {-615, -580}, {98, 237, 79, 255} }}, + {{ {1827, 152, 738}, 0, {-620, -580}, {98, 237, 79, 255} }}, + {{ {1827, 152, 738}, 0, {-625, -580}, {98, 237, 79, 255} }}, + {{ {1827, 151, 738}, 0, {-630, -580}, {98, 237, 79, 255} }}, + {{ {1827, 150, 737}, 0, {-635, -580}, {98, 237, 79, 255} }}, + {{ {1827, 150, 737}, 0, {-641, -580}, {98, 237, 79, 255} }}, + {{ {1827, 149, 737}, 0, {-646, -580}, {98, 237, 79, 255} }}, + {{ {1827, 148, 737}, 0, {-651, -580}, {98, 237, 79, 255} }}, + {{ {1827, 147, 737}, 0, {-656, -580}, {98, 237, 79, 255} }}, + {{ {1826, 147, 737}, 0, {-661, -580}, {98, 237, 79, 255} }}, + {{ {1826, 146, 738}, 0, {-666, -580}, {98, 237, 79, 255} }}, + {{ {1832, 144, 730}, 0, {-871, -580}, {98, 237, 79, 255} }}, + {{ {1826, 146, 738}, 0, {-671, -580}, {98, 237, 79, 255} }}, + {{ {1825, 146, 738}, 0, {-676, -580}, {98, 237, 79, 255} }}, + {{ {1833, 148, 730}, 0, {-881, -580}, {98, 237, 79, 255} }}, + {{ {1832, 146, 730}, 0, {-876, -580}, {98, 237, 79, 255} }}, + {{ {1833, 150, 730}, 0, {-886, -580}, {98, 237, 79, 255} }}, + {{ {1819, 137, 744}, 0, {-1057, -580}, {98, 237, 79, 255} }}, + {{ {1823, 137, 740}, 0, {-826, -580}, {98, 237, 79, 255} }}, + {{ {1824, 137, 738}, 0, {-831, -580}, {98, 237, 79, 255} }}, + {{ {1817, 138, 746}, 0, {-1037, -580}, {98, 237, 79, 255} }}, + {{ {1828, 139, 733}, 0, {-851, -580}, {98, 237, 79, 255} }}, + {{ {1826, 138, 735}, 0, {-841, -580}, {98, 237, 79, 255} }}, + {{ {1824, 137, 738}, 0, {-831, -580}, {98, 237, 79, 255} }}, + {{ {1825, 137, 737}, 0, {-836, -580}, {98, 237, 79, 255} }}, + {{ {1826, 138, 735}, 0, {-841, -580}, {98, 237, 79, 255} }}, + {{ {1827, 138, 734}, 0, {-846, -580}, {98, 237, 79, 255} }}, + {{ {1828, 139, 733}, 0, {-851, -580}, {98, 237, 79, 255} }}, + {{ {1829, 140, 732}, 0, {-856, -580}, {98, 237, 79, 255} }}, + {{ {1830, 142, 731}, 0, {-861, -580}, {98, 237, 79, 255} }}, + {{ {1832, 144, 730}, 0, {-871, -580}, {98, 237, 79, 255} }}, + {{ {1831, 143, 731}, 0, {-866, -580}, {98, 237, 79, 255} }}, + {{ {1824, 145, 739}, 0, {-686, -580}, {98, 237, 79, 255} }}, + {{ {1825, 145, 739}, 0, {-681, -580}, {98, 237, 79, 255} }}, + {{ {1825, 146, 738}, 0, {-676, -580}, {98, 237, 79, 255} }}, + {{ {1824, 145, 740}, 0, {-691, -580}, {98, 237, 79, 255} }}, + {{ {1817, 138, 746}, 0, {-1037, -580}, {98, 237, 79, 255} }}, + {{ {1823, 145, 741}, 0, {-696, -580}, {98, 237, 79, 255} }}, + {{ {1823, 145, 741}, 0, {-701, -580}, {98, 237, 79, 255} }}, + {{ {1821, 145, 743}, 0, {-721, -580}, {98, 237, 79, 255} }}, + {{ {1818, 145, 747}, 0, {-761, -580}, {98, 237, 79, 255} }}, + {{ {1819, 154, 748}, 0, {-766, -580}, {98, 237, 79, 255} }}, + {{ {1818, 161, 751}, 0, {-1007, -580}, {98, 237, 79, 255} }}, + {{ {1831, 159, 734}, 0, {-917, -580}, {98, 237, 79, 255} }}, + {{ {1820, 154, 747}, 0, {-776, -580}, {98, 237, 79, 255} }}, + {{ {1821, 154, 746}, 0, {-796, -580}, {98, 237, 79, 255} }}, + {{ {1832, 156, 732}, 0, {-907, -580}, {98, 237, 79, 255} }}, + {{ {1822, 155, 745}, 0, {-806, -580}, {98, 237, 79, 255} }}, + {{ {1832, 157, 733}, 0, {-912, -580}, {98, 237, 79, 255} }}, + {{ {1810, 126, 753}, 0, {-1027, -580}, {98, 237, 79, 255} }}, + {{ {1816, 126, 745}, 0, {-1032, -580}, {98, 237, 79, 255} }}, + {{ {1813, 157, 756}, 0, {-1022, -580}, {98, 237, 79, 255} }}, + {{ {1815, 163, 756}, 0, {-1012, -580}, {98, 237, 79, 255} }}, + {{ {1812, 160, 759}, 0, {-1017, -580}, {98, 237, 79, 255} }}, + {{ {1827, 162, 741}, 0, {-942, -580}, {98, 237, 79, 255} }}, + {{ {1825, 162, 742}, 0, {-947, -580}, {98, 237, 79, 255} }}, + {{ {1818, 161, 751}, 0, {-1007, -580}, {98, 237, 79, 255} }}, + {{ {1828, 161, 739}, 0, {-937, -580}, {98, 237, 79, 255} }}, + {{ {1831, 159, 734}, 0, {-917, -580}, {98, 237, 79, 255} }}, + {{ {1830, 160, 736}, 0, {-927, -580}, {98, 237, 79, 255} }}, + {{ {1831, 160, 735}, 0, {-922, -580}, {98, 237, 79, 255} }}, + {{ {1829, 161, 738}, 0, {-932, -580}, {98, 237, 79, 255} }}, + {{ {1941, 129, 592}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1952, 130, 578}, 0, {-836, -580}, {98, 237, 79, 255} }}, + {{ {1953, 130, 577}, 0, {-843, -580}, {98, 237, 79, 255} }}, + {{ {1956, 131, 573}, 0, {-856, -580}, {98, 237, 79, 255} }}, + {{ {1955, 131, 575}, 0, {-849, -580}, {98, 237, 79, 255} }}, + {{ {1961, 137, 569}, 0, {-882, -580}, {98, 237, 79, 255} }}, + {{ {1959, 134, 571}, 0, {-869, -580}, {98, 237, 79, 255} }}, + {{ {1957, 132, 572}, 0, {-863, -580}, {98, 237, 79, 255} }}, + {{ {1960, 135, 570}, 0, {-876, -580}, {98, 237, 79, 255} }}, + {{ {1953, 138, 579}, 0, {-718, -580}, {98, 237, 79, 255} }}, + {{ {1952, 138, 580}, 0, {-725, -580}, {98, 237, 79, 255} }}, + {{ {1951, 138, 581}, 0, {-731, -580}, {98, 237, 79, 255} }}, + {{ {1948, 137, 585}, 0, {-744, -580}, {98, 237, 79, 255} }}, + {{ {1950, 157, 587}, 0, {-751, -580}, {98, 237, 79, 255} }}, + {{ {1949, 164, 590}, 0, {-1066, -580}, {98, 237, 79, 255} }}, + {{ {1951, 157, 586}, 0, {-790, -580}, {98, 237, 79, 255} }}, + {{ {1953, 157, 584}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1959, 164, 578}, 0, {-968, -580}, {98, 237, 79, 255} }}, + {{ {1963, 158, 572}, 0, {-941, -580}, {98, 237, 79, 255} }}, + {{ {1954, 157, 583}, 0, {-587, -580}, {98, 237, 79, 255} }}, + {{ {1963, 156, 571}, 0, {-935, -580}, {98, 237, 79, 255} }}, + {{ {1961, 161, 575}, 0, {-954, -580}, {98, 237, 79, 255} }}, + {{ {1962, 160, 573}, 0, {-948, -580}, {98, 237, 79, 255} }}, + {{ {1960, 163, 576}, 0, {-961, -580}, {98, 237, 79, 255} }}, + {{ {1946, 165, 595}, 0, {-1073, -580}, {98, 237, 79, 255} }}, + {{ {1942, 162, 598}, 0, {-1079, -580}, {98, 237, 79, 255} }}, + {{ {1944, 159, 595}, 0, {-1086, -580}, {98, 237, 79, 255} }}, + {{ {1941, 129, 592}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1949, 164, 590}, 0, {-1066, -580}, {98, 237, 79, 255} }}, + {{ {1955, 165, 583}, 0, {-987, -580}, {98, 237, 79, 255} }}, + {{ {1951, 164, 588}, 0, {-1033, -580}, {98, 237, 79, 255} }}, + {{ {1956, 165, 581}, 0, {-981, -580}, {98, 237, 79, 255} }}, + {{ {1959, 164, 578}, 0, {-968, -580}, {98, 237, 79, 255} }}, + {{ {1957, 164, 580}, 0, {-974, -580}, {98, 237, 79, 255} }}, + {{ {1819, 146, 720}, 0, {-1003, -580}, {158, 19, 177, 255} }}, + {{ {1819, 147, 720}, 0, {-981, -580}, {158, 19, 177, 255} }}, + {{ {1826, 147, 713}, 0, {-763, -580}, {158, 19, 177, 255} }}, + {{ {1825, 145, 712}, 0, {-749, -580}, {158, 19, 177, 255} }}, + {{ {1820, 150, 720}, 0, {-881, -580}, {158, 19, 177, 255} }}, + {{ {1820, 148, 720}, 0, {-876, -580}, {158, 19, 177, 255} }}, + {{ {1819, 147, 720}, 0, {-871, -580}, {158, 19, 177, 255} }}, + {{ {1821, 152, 720}, 0, {-886, -580}, {158, 19, 177, 255} }}, + {{ {1816, 142, 723}, 0, {-851, -580}, {158, 19, 177, 255} }}, + {{ {1818, 144, 721}, 0, {-861, -580}, {158, 19, 177, 255} }}, + {{ {1819, 145, 721}, 0, {-866, -580}, {158, 19, 177, 255} }}, + {{ {1817, 143, 722}, 0, {-856, -580}, {158, 19, 177, 255} }}, + {{ {1815, 141, 724}, 0, {-846, -580}, {158, 19, 177, 255} }}, + {{ {1814, 140, 725}, 0, {-841, -580}, {158, 19, 177, 255} }}, + {{ {1812, 139, 728}, 0, {-831, -580}, {158, 19, 177, 255} }}, + {{ {1813, 140, 727}, 0, {-836, -580}, {158, 19, 177, 255} }}, + {{ {1805, 140, 736}, 0, {-1037, -580}, {158, 19, 177, 255} }}, + {{ {1807, 140, 734}, 0, {-1057, -580}, {158, 19, 177, 255} }}, + {{ {1810, 139, 730}, 0, {-826, -580}, {158, 19, 177, 255} }}, + {{ {1812, 147, 729}, 0, {-686, -580}, {158, 19, 177, 255} }}, + {{ {1812, 147, 730}, 0, {-691, -580}, {158, 19, 177, 255} }}, + {{ {1811, 147, 731}, 0, {-696, -580}, {158, 19, 177, 255} }}, + {{ {1805, 140, 736}, 0, {-1037, -580}, {158, 19, 177, 255} }}, + {{ {1811, 147, 731}, 0, {-701, -580}, {158, 19, 177, 255} }}, + {{ {1811, 147, 731}, 0, {-696, -580}, {158, 19, 177, 255} }}, + {{ {1809, 147, 733}, 0, {-721, -580}, {158, 19, 177, 255} }}, + {{ {1806, 148, 737}, 0, {-761, -580}, {158, 19, 177, 255} }}, + {{ {1801, 159, 746}, 0, {-1022, -580}, {158, 19, 177, 255} }}, + {{ {1798, 129, 743}, 0, {-1027, -580}, {158, 19, 177, 255} }}, + {{ {1804, 129, 735}, 0, {-1032, -580}, {158, 19, 177, 255} }}, + {{ {1807, 156, 738}, 0, {-766, -580}, {158, 19, 177, 255} }}, + {{ {1808, 157, 737}, 0, {-786, -580}, {158, 19, 177, 255} }}, + {{ {1814, 155, 728}, 0, {-615, -580}, {158, 19, 177, 255} }}, + {{ {1821, 154, 720}, 0, {-891, -580}, {158, 19, 177, 255} }}, + {{ {1821, 152, 720}, 0, {-886, -580}, {158, 19, 177, 255} }}, + {{ {1815, 155, 728}, 0, {-620, -580}, {158, 19, 177, 255} }}, + {{ {1815, 154, 728}, 0, {-625, -580}, {158, 19, 177, 255} }}, + {{ {1815, 153, 728}, 0, {-630, -580}, {158, 19, 177, 255} }}, + {{ {1815, 153, 727}, 0, {-635, -580}, {158, 19, 177, 255} }}, + {{ {1815, 152, 727}, 0, {-641, -580}, {158, 19, 177, 255} }}, + {{ {1815, 151, 727}, 0, {-646, -580}, {158, 19, 177, 255} }}, + {{ {1814, 151, 727}, 0, {-651, -580}, {158, 19, 177, 255} }}, + {{ {1814, 150, 727}, 0, {-656, -580}, {158, 19, 177, 255} }}, + {{ {1814, 149, 728}, 0, {-661, -580}, {158, 19, 177, 255} }}, + {{ {1814, 149, 728}, 0, {-666, -580}, {158, 19, 177, 255} }}, + {{ {1813, 148, 728}, 0, {-671, -580}, {158, 19, 177, 255} }}, + {{ {1813, 148, 728}, 0, {-676, -580}, {158, 19, 177, 255} }}, + {{ {1813, 148, 729}, 0, {-681, -580}, {158, 19, 177, 255} }}, + {{ {1812, 147, 729}, 0, {-686, -580}, {158, 19, 177, 255} }}, + {{ {1819, 142, 719}, 0, {-1017, -580}, {158, 19, 177, 255} }}, + {{ {1819, 144, 720}, 0, {-1013, -580}, {158, 19, 177, 255} }}, + {{ {1819, 146, 720}, 0, {-1003, -580}, {158, 19, 177, 255} }}, + {{ {1819, 140, 719}, 0, {-1021, -580}, {158, 19, 177, 255} }}, + {{ {1826, 143, 712}, 0, {-741, -580}, {158, 19, 177, 255} }}, + {{ {1819, 146, 720}, 0, {-1003, -580}, {158, 19, 177, 255} }}, + {{ {1825, 144, 712}, 0, {-745, -580}, {158, 19, 177, 255} }}, + {{ {1826, 143, 712}, 0, {-741, -580}, {158, 19, 177, 255} }}, + {{ {1825, 145, 712}, 0, {-749, -580}, {158, 19, 177, 255} }}, + {{ {1819, 140, 719}, 0, {-1021, -580}, {158, 19, 177, 255} }}, + {{ {1826, 142, 711}, 0, {-738, -580}, {158, 19, 177, 255} }}, + {{ {1827, 129, 707}, 0, {-1049, -580}, {158, 19, 177, 255} }}, + {{ {1826, 141, 711}, 0, {-734, -580}, {158, 19, 177, 255} }}, + {{ {1826, 140, 710}, 0, {-731, -580}, {158, 19, 177, 255} }}, + {{ {1827, 139, 709}, 0, {-727, -580}, {158, 19, 177, 255} }}, + {{ {1827, 138, 709}, 0, {-723, -580}, {158, 19, 177, 255} }}, + {{ {1828, 138, 708}, 0, {-720, -580}, {158, 19, 177, 255} }}, + {{ {1828, 137, 707}, 0, {-716, -580}, {158, 19, 177, 255} }}, + {{ {1829, 137, 706}, 0, {-713, -580}, {158, 19, 177, 255} }}, + {{ {1839, 136, 693}, 0, {-1078, -580}, {158, 19, 177, 255} }}, + {{ {1830, 137, 705}, 0, {-709, -580}, {158, 19, 177, 255} }}, + {{ {1830, 137, 704}, 0, {-706, -580}, {158, 19, 177, 255} }}, + {{ {1831, 137, 703}, 0, {-702, -580}, {158, 19, 177, 255} }}, + {{ {1832, 138, 703}, 0, {-698, -580}, {158, 19, 177, 255} }}, + {{ {1833, 138, 702}, 0, {-695, -580}, {158, 19, 177, 255} }}, + {{ {1833, 139, 701}, 0, {-691, -580}, {158, 19, 177, 255} }}, + {{ {1834, 140, 701}, 0, {-688, -580}, {158, 19, 177, 255} }}, + {{ {1834, 141, 700}, 0, {-684, -580}, {158, 19, 177, 255} }}, + {{ {1835, 142, 700}, 0, {-681, -580}, {158, 19, 177, 255} }}, + {{ {1835, 143, 700}, 0, {-677, -580}, {158, 19, 177, 255} }}, + {{ {1836, 144, 700}, 0, {-673, -580}, {158, 19, 177, 255} }}, + {{ {1836, 145, 700}, 0, {-670, -580}, {158, 19, 177, 255} }}, + {{ {1836, 147, 700}, 0, {-623, -580}, {158, 19, 177, 255} }}, + {{ {1836, 149, 700}, 0, {-620, -580}, {158, 19, 177, 255} }}, + {{ {1836, 150, 700}, 0, {-616, -580}, {158, 19, 177, 255} }}, + {{ {1836, 151, 701}, 0, {-612, -580}, {158, 19, 177, 255} }}, + {{ {1835, 165, 706}, 0, {-920, -580}, {158, 19, 177, 255} }}, + {{ {1836, 151, 701}, 0, {-612, -580}, {158, 19, 177, 255} }}, + {{ {1836, 153, 701}, 0, {-609, -580}, {158, 19, 177, 255} }}, + {{ {1835, 165, 706}, 0, {-920, -580}, {158, 19, 177, 255} }}, + {{ {1836, 154, 702}, 0, {-605, -580}, {158, 19, 177, 255} }}, + {{ {1835, 154, 702}, 0, {-602, -580}, {158, 19, 177, 255} }}, + {{ {1835, 155, 703}, 0, {-598, -580}, {158, 19, 177, 255} }}, + {{ {1835, 156, 704}, 0, {-595, -580}, {158, 19, 177, 255} }}, + {{ {1834, 156, 704}, 0, {-591, -580}, {158, 19, 177, 255} }}, + {{ {1833, 157, 705}, 0, {-587, -580}, {158, 19, 177, 255} }}, + {{ {1833, 157, 706}, 0, {-584, -580}, {158, 19, 177, 255} }}, + {{ {1832, 157, 707}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1831, 157, 708}, 0, {-834, -580}, {158, 19, 177, 255} }}, + {{ {1831, 157, 709}, 0, {-831, -580}, {158, 19, 177, 255} }}, + {{ {1830, 156, 709}, 0, {-827, -580}, {158, 19, 177, 255} }}, + {{ {1829, 156, 710}, 0, {-824, -580}, {158, 19, 177, 255} }}, + {{ {1829, 155, 711}, 0, {-820, -580}, {158, 19, 177, 255} }}, + {{ {1828, 154, 711}, 0, {-817, -580}, {158, 19, 177, 255} }}, + {{ {1823, 158, 719}, 0, {-949, -580}, {158, 19, 177, 255} }}, + {{ {1827, 154, 712}, 0, {-813, -580}, {158, 19, 177, 255} }}, + {{ {1827, 153, 712}, 0, {-809, -580}, {158, 19, 177, 255} }}, + {{ {1826, 151, 713}, 0, {-806, -580}, {158, 19, 177, 255} }}, + {{ {1826, 150, 713}, 0, {-802, -580}, {158, 19, 177, 255} }}, + {{ {1826, 149, 713}, 0, {-799, -580}, {158, 19, 177, 255} }}, + {{ {1820, 150, 721}, 0, {-963, -580}, {158, 19, 177, 255} }}, + {{ {1826, 147, 713}, 0, {-763, -580}, {158, 19, 177, 255} }}, + {{ {1819, 147, 720}, 0, {-981, -580}, {158, 19, 177, 255} }}, + {{ {1821, 154, 720}, 0, {-956, -580}, {158, 19, 177, 255} }}, + {{ {1820, 152, 721}, 0, {-960, -580}, {158, 19, 177, 255} }}, + {{ {1822, 157, 720}, 0, {-953, -580}, {158, 19, 177, 255} }}, + {{ {1820, 136, 717}, 0, {-1028, -580}, {158, 19, 177, 255} }}, + {{ {1820, 138, 718}, 0, {-1024, -580}, {158, 19, 177, 255} }}, + {{ {1819, 140, 719}, 0, {-1021, -580}, {158, 19, 177, 255} }}, + {{ {1822, 132, 714}, 0, {-1035, -580}, {158, 19, 177, 255} }}, + {{ {1820, 136, 717}, 0, {-1028, -580}, {158, 19, 177, 255} }}, + {{ {1819, 140, 719}, 0, {-1021, -580}, {158, 19, 177, 255} }}, + {{ {1827, 129, 707}, 0, {-1049, -580}, {158, 19, 177, 255} }}, + {{ {1824, 130, 711}, 0, {-1042, -580}, {158, 19, 177, 255} }}, + {{ {1825, 129, 709}, 0, {-1046, -580}, {158, 19, 177, 255} }}, + {{ {1823, 131, 712}, 0, {-1039, -580}, {158, 19, 177, 255} }}, + {{ {1821, 134, 716}, 0, {-1031, -580}, {158, 19, 177, 255} }}, + {{ {1831, 129, 702}, 0, {-1056, -580}, {158, 19, 177, 255} }}, + {{ {1829, 129, 704}, 0, {-1053, -580}, {158, 19, 177, 255} }}, + {{ {1834, 130, 698}, 0, {-1064, -580}, {158, 19, 177, 255} }}, + {{ {1839, 136, 693}, 0, {-1078, -580}, {158, 19, 177, 255} }}, + {{ {1837, 132, 695}, 0, {-1071, -580}, {158, 19, 177, 255} }}, + {{ {1838, 134, 694}, 0, {-1074, -580}, {158, 19, 177, 255} }}, + {{ {1835, 131, 697}, 0, {-1067, -580}, {158, 19, 177, 255} }}, + {{ {1832, 129, 700}, 0, {-1060, -580}, {158, 19, 177, 255} }}, + {{ {1841, 140, 692}, 0, {-1085, -580}, {158, 19, 177, 255} }}, + {{ {1840, 138, 693}, 0, {-1082, -580}, {158, 19, 177, 255} }}, + {{ {1842, 144, 692}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1843, 155, 694}, 0, {-892, -580}, {158, 19, 177, 255} }}, + {{ {1835, 165, 706}, 0, {-920, -580}, {158, 19, 177, 255} }}, + {{ {1840, 162, 698}, 0, {-906, -580}, {158, 19, 177, 255} }}, + {{ {1838, 164, 702}, 0, {-913, -580}, {158, 19, 177, 255} }}, + {{ {1836, 165, 704}, 0, {-917, -580}, {158, 19, 177, 255} }}, + {{ {1839, 163, 700}, 0, {-910, -580}, {158, 19, 177, 255} }}, + {{ {1842, 142, 692}, 0, {-1089, -580}, {158, 19, 177, 255} }}, + {{ {1843, 150, 692}, 0, {-885, -580}, {158, 19, 177, 255} }}, + {{ {1843, 148, 692}, 0, {-881, -580}, {158, 19, 177, 255} }}, + {{ {1843, 152, 693}, 0, {-888, -580}, {158, 19, 177, 255} }}, + {{ {1842, 159, 696}, 0, {-899, -580}, {158, 19, 177, 255} }}, + {{ {1842, 157, 694}, 0, {-895, -580}, {158, 19, 177, 255} }}, + {{ {1841, 160, 697}, 0, {-903, -580}, {158, 19, 177, 255} }}, + {{ {1831, 165, 710}, 0, {-928, -580}, {158, 19, 177, 255} }}, + {{ {1833, 166, 708}, 0, {-924, -580}, {158, 19, 177, 255} }}, + {{ {1835, 165, 706}, 0, {-920, -580}, {158, 19, 177, 255} }}, + {{ {1828, 164, 714}, 0, {-935, -580}, {158, 19, 177, 255} }}, + {{ {1823, 158, 719}, 0, {-949, -580}, {158, 19, 177, 255} }}, + {{ {1825, 162, 717}, 0, {-942, -580}, {158, 19, 177, 255} }}, + {{ {1824, 160, 718}, 0, {-945, -580}, {158, 19, 177, 255} }}, + {{ {1827, 163, 715}, 0, {-938, -580}, {158, 19, 177, 255} }}, + {{ {1830, 165, 712}, 0, {-931, -580}, {158, 19, 177, 255} }}, + {{ {1927, 166, 592}, 0, {-923, -580}, {158, 19, 177, 255} }}, + {{ {1929, 168, 590}, 0, {-919, -580}, {158, 19, 177, 255} }}, + {{ {1931, 165, 586}, 0, {-916, -580}, {158, 19, 177, 255} }}, + {{ {1918, 165, 603}, 0, {-999, -580}, {158, 19, 177, 255} }}, + {{ {1917, 157, 603}, 0, {-836, -580}, {158, 19, 177, 255} }}, + {{ {1924, 158, 594}, 0, {-884, -580}, {158, 19, 177, 255} }}, + {{ {1929, 157, 588}, 0, {-913, -580}, {158, 19, 177, 255} }}, + {{ {1911, 161, 610}, 0, {-1009, -580}, {158, 19, 177, 255} }}, + {{ {1910, 164, 613}, 0, {-1006, -580}, {158, 19, 177, 255} }}, + {{ {1913, 167, 610}, 0, {-1003, -580}, {158, 19, 177, 255} }}, + {{ {1916, 153, 602}, 0, {-833, -580}, {158, 19, 177, 255} }}, + {{ {1915, 145, 602}, 0, {-670, -580}, {158, 19, 177, 255} }}, + {{ {1928, 153, 588}, 0, {-750, -580}, {158, 19, 177, 255} }}, + {{ {1924, 153, 593}, 0, {-756, -580}, {158, 19, 177, 255} }}, + {{ {1926, 156, 591}, 0, {-753, -580}, {158, 19, 177, 255} }}, + {{ {1921, 145, 595}, 0, {-708, -580}, {158, 19, 177, 255} }}, + {{ {1925, 145, 589}, 0, {-747, -580}, {158, 19, 177, 255} }}, + {{ {1914, 131, 600}, 0, {-1015, -580}, {158, 19, 177, 255} }}, + {{ {1908, 131, 607}, 0, {-1012, -580}, {158, 19, 177, 255} }}, + {{ {1914, 132, 600}, 0, {-1019, -580}, {158, 19, 177, 255} }}, + {{ {1915, 140, 601}, 0, {-667, -580}, {158, 19, 177, 255} }}, + {{ {1930, 140, 582}, 0, {-583, -580}, {158, 19, 177, 255} }}, + {{ {1925, 141, 588}, 0, {-590, -580}, {158, 19, 177, 255} }}, + {{ {1925, 141, 588}, 0, {-590, -580}, {158, 19, 177, 255} }}, + {{ {1928, 144, 586}, 0, {-587, -580}, {158, 19, 177, 255} }}, + {{ {1930, 140, 582}, 0, {-583, -580}, {158, 19, 177, 255} }}, + {{ {1923, 132, 589}, 0, {-1076, -580}, {158, 19, 177, 255} }}, + {{ {1914, 132, 600}, 0, {-1019, -580}, {158, 19, 177, 255} }}, + {{ {1927, 132, 584}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1848, 143, 709}, 0, {-670, -580}, {98, 237, 79, 255} }}, + {{ {1848, 142, 710}, 0, {-673, -580}, {98, 237, 79, 255} }}, + {{ {1854, 140, 702}, 0, {-1089, -580}, {98, 237, 79, 255} }}, + {{ {1855, 145, 702}, 0, {-881, -580}, {98, 237, 79, 255} }}, + {{ {1854, 142, 702}, 0, {-1092, -580}, {98, 237, 79, 255} }}, + {{ {1848, 145, 710}, 0, {-623, -580}, {98, 237, 79, 255} }}, + {{ {1851, 161, 710}, 0, {-910, -580}, {98, 237, 79, 255} }}, + {{ {1854, 154, 704}, 0, {-895, -580}, {98, 237, 79, 255} }}, + {{ {1855, 150, 703}, 0, {-888, -580}, {98, 237, 79, 255} }}, + {{ {1855, 148, 702}, 0, {-885, -580}, {98, 237, 79, 255} }}, + {{ {1855, 152, 704}, 0, {-892, -580}, {98, 237, 79, 255} }}, + {{ {1854, 156, 705}, 0, {-899, -580}, {98, 237, 79, 255} }}, + {{ {1853, 158, 707}, 0, {-903, -580}, {98, 237, 79, 255} }}, + {{ {1852, 159, 708}, 0, {-906, -580}, {98, 237, 79, 255} }}, + {{ {1850, 162, 712}, 0, {-913, -580}, {98, 237, 79, 255} }}, + {{ {1849, 163, 714}, 0, {-917, -580}, {98, 237, 79, 255} }}, + {{ {1845, 163, 718}, 0, {-924, -580}, {98, 237, 79, 255} }}, + {{ {1847, 163, 716}, 0, {-920, -580}, {98, 237, 79, 255} }}, + {{ {1839, 161, 725}, 0, {-938, -580}, {98, 237, 79, 255} }}, + {{ {1842, 162, 722}, 0, {-931, -580}, {98, 237, 79, 255} }}, + {{ {1843, 163, 720}, 0, {-928, -580}, {98, 237, 79, 255} }}, + {{ {1840, 162, 724}, 0, {-935, -580}, {98, 237, 79, 255} }}, + {{ {1837, 159, 727}, 0, {-942, -580}, {98, 237, 79, 255} }}, + {{ {1836, 158, 728}, 0, {-945, -580}, {98, 237, 79, 255} }}, + {{ {1834, 154, 730}, 0, {-953, -580}, {98, 237, 79, 255} }}, + {{ {1835, 156, 729}, 0, {-949, -580}, {98, 237, 79, 255} }}, + {{ {1839, 161, 725}, 0, {-938, -580}, {98, 237, 79, 255} }}, + {{ {1834, 154, 730}, 0, {-953, -580}, {98, 237, 79, 255} }}, + {{ {1831, 144, 730}, 0, {-1010, -580}, {98, 237, 79, 255} }}, + {{ {1832, 150, 731}, 0, {-960, -580}, {98, 237, 79, 255} }}, + {{ {1833, 152, 730}, 0, {-956, -580}, {98, 237, 79, 255} }}, + {{ {1832, 147, 731}, 0, {-963, -580}, {98, 237, 79, 255} }}, + {{ {1831, 142, 730}, 0, {-1013, -580}, {98, 237, 79, 255} }}, + {{ {1831, 139, 729}, 0, {-1017, -580}, {98, 237, 79, 255} }}, + {{ {1832, 135, 728}, 0, {-1024, -580}, {98, 237, 79, 255} }}, + {{ {1831, 137, 729}, 0, {-1021, -580}, {98, 237, 79, 255} }}, + {{ {1835, 129, 722}, 0, {-1039, -580}, {98, 237, 79, 255} }}, + {{ {1833, 132, 725}, 0, {-1031, -580}, {98, 237, 79, 255} }}, + {{ {1832, 133, 727}, 0, {-1028, -580}, {98, 237, 79, 255} }}, + {{ {1834, 130, 724}, 0, {-1035, -580}, {98, 237, 79, 255} }}, + {{ {1836, 128, 721}, 0, {-1042, -580}, {98, 237, 79, 255} }}, + {{ {1838, 127, 719}, 0, {-1046, -580}, {98, 237, 79, 255} }}, + {{ {1841, 126, 714}, 0, {-1053, -580}, {98, 237, 79, 255} }}, + {{ {1839, 126, 717}, 0, {-1049, -580}, {98, 237, 79, 255} }}, + {{ {1848, 129, 707}, 0, {-1067, -580}, {98, 237, 79, 255} }}, + {{ {1845, 127, 710}, 0, {-1060, -580}, {98, 237, 79, 255} }}, + {{ {1843, 126, 712}, 0, {-1056, -580}, {98, 237, 79, 255} }}, + {{ {1846, 128, 708}, 0, {-1064, -580}, {98, 237, 79, 255} }}, + {{ {1849, 130, 705}, 0, {-1071, -580}, {98, 237, 79, 255} }}, + {{ {1850, 131, 704}, 0, {-1074, -580}, {98, 237, 79, 255} }}, + {{ {1852, 135, 703}, 0, {-1082, -580}, {98, 237, 79, 255} }}, + {{ {1851, 133, 703}, 0, {-1078, -580}, {98, 237, 79, 255} }}, + {{ {1846, 136, 711}, 0, {-691, -580}, {98, 237, 79, 255} }}, + {{ {1846, 137, 711}, 0, {-688, -580}, {98, 237, 79, 255} }}, + {{ {1853, 137, 702}, 0, {-1085, -580}, {98, 237, 79, 255} }}, + {{ {1845, 136, 712}, 0, {-695, -580}, {98, 237, 79, 255} }}, + {{ {1844, 135, 713}, 0, {-698, -580}, {98, 237, 79, 255} }}, + {{ {1843, 135, 713}, 0, {-702, -580}, {98, 237, 79, 255} }}, + {{ {1835, 129, 722}, 0, {-1039, -580}, {98, 237, 79, 255} }}, + {{ {1843, 135, 713}, 0, {-702, -580}, {98, 237, 79, 255} }}, + {{ {1843, 135, 714}, 0, {-706, -580}, {98, 237, 79, 255} }}, + {{ {1842, 135, 715}, 0, {-709, -580}, {98, 237, 79, 255} }}, + {{ {1841, 135, 716}, 0, {-713, -580}, {98, 237, 79, 255} }}, + {{ {1841, 135, 717}, 0, {-716, -580}, {98, 237, 79, 255} }}, + {{ {1840, 135, 718}, 0, {-720, -580}, {98, 237, 79, 255} }}, + {{ {1839, 136, 719}, 0, {-723, -580}, {98, 237, 79, 255} }}, + {{ {1839, 136, 719}, 0, {-727, -580}, {98, 237, 79, 255} }}, + {{ {1839, 137, 720}, 0, {-731, -580}, {98, 237, 79, 255} }}, + {{ {1838, 138, 721}, 0, {-734, -580}, {98, 237, 79, 255} }}, + {{ {1838, 139, 721}, 0, {-738, -580}, {98, 237, 79, 255} }}, + {{ {1838, 140, 722}, 0, {-741, -580}, {98, 237, 79, 255} }}, + {{ {1838, 142, 722}, 0, {-745, -580}, {98, 237, 79, 255} }}, + {{ {1838, 143, 722}, 0, {-749, -580}, {98, 237, 79, 255} }}, + {{ {1839, 161, 725}, 0, {-938, -580}, {98, 237, 79, 255} }}, + {{ {1838, 144, 723}, 0, {-752, -580}, {98, 237, 79, 255} }}, + {{ {1838, 146, 723}, 0, {-799, -580}, {98, 237, 79, 255} }}, + {{ {1838, 148, 723}, 0, {-802, -580}, {98, 237, 79, 255} }}, + {{ {1839, 149, 723}, 0, {-806, -580}, {98, 237, 79, 255} }}, + {{ {1839, 150, 722}, 0, {-809, -580}, {98, 237, 79, 255} }}, + {{ {1840, 151, 722}, 0, {-813, -580}, {98, 237, 79, 255} }}, + {{ {1840, 152, 721}, 0, {-817, -580}, {98, 237, 79, 255} }}, + {{ {1841, 153, 721}, 0, {-820, -580}, {98, 237, 79, 255} }}, + {{ {1842, 153, 720}, 0, {-824, -580}, {98, 237, 79, 255} }}, + {{ {1842, 154, 719}, 0, {-827, -580}, {98, 237, 79, 255} }}, + {{ {1843, 154, 719}, 0, {-831, -580}, {98, 237, 79, 255} }}, + {{ {1844, 155, 718}, 0, {-834, -580}, {98, 237, 79, 255} }}, + {{ {1844, 155, 717}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1845, 155, 716}, 0, {-584, -580}, {98, 237, 79, 255} }}, + {{ {1846, 154, 715}, 0, {-587, -580}, {98, 237, 79, 255} }}, + {{ {1846, 154, 714}, 0, {-591, -580}, {98, 237, 79, 255} }}, + {{ {1846, 154, 714}, 0, {-591, -580}, {98, 237, 79, 255} }}, + {{ {1851, 161, 710}, 0, {-910, -580}, {98, 237, 79, 255} }}, + {{ {1839, 161, 725}, 0, {-938, -580}, {98, 237, 79, 255} }}, + {{ {1847, 154, 714}, 0, {-595, -580}, {98, 237, 79, 255} }}, + {{ {1847, 153, 713}, 0, {-598, -580}, {98, 237, 79, 255} }}, + {{ {1848, 152, 712}, 0, {-602, -580}, {98, 237, 79, 255} }}, + {{ {1848, 151, 712}, 0, {-605, -580}, {98, 237, 79, 255} }}, + {{ {1848, 150, 711}, 0, {-609, -580}, {98, 237, 79, 255} }}, + {{ {1848, 149, 711}, 0, {-612, -580}, {98, 237, 79, 255} }}, + {{ {1849, 148, 710}, 0, {-616, -580}, {98, 237, 79, 255} }}, + {{ {1849, 146, 710}, 0, {-620, -580}, {98, 237, 79, 255} }}, + {{ {1848, 145, 710}, 0, {-623, -580}, {98, 237, 79, 255} }}, + {{ {1831, 144, 730}, 0, {-1010, -580}, {98, 237, 79, 255} }}, + {{ {1835, 129, 722}, 0, {-1039, -580}, {98, 237, 79, 255} }}, + {{ {1919, 162, 626}, 0, {-956, -580}, {98, 237, 79, 255} }}, + {{ {1918, 163, 627}, 0, {-960, -580}, {98, 237, 79, 255} }}, + {{ {1918, 163, 629}, 0, {-964, -580}, {98, 237, 79, 255} }}, + {{ {1915, 164, 632}, 0, {-972, -580}, {98, 237, 79, 255} }}, + {{ {1916, 164, 630}, 0, {-968, -580}, {98, 237, 79, 255} }}, + {{ {1921, 160, 624}, 0, {-948, -580}, {98, 237, 79, 255} }}, + {{ {1920, 161, 625}, 0, {-952, -580}, {98, 237, 79, 255} }}, + {{ {1922, 154, 621}, 0, {-932, -580}, {98, 237, 79, 255} }}, + {{ {1922, 157, 622}, 0, {-940, -580}, {98, 237, 79, 255} }}, + {{ {1922, 156, 622}, 0, {-936, -580}, {98, 237, 79, 255} }}, + {{ {1921, 159, 623}, 0, {-944, -580}, {98, 237, 79, 255} }}, + {{ {1914, 164, 633}, 0, {-976, -580}, {98, 237, 79, 255} }}, + {{ {1908, 163, 640}, 0, {-1024, -580}, {98, 237, 79, 255} }}, + {{ {1901, 162, 648}, 0, {-1032, -580}, {98, 237, 79, 255} }}, + {{ {1904, 165, 645}, 0, {-1028, -580}, {98, 237, 79, 255} }}, + {{ {1913, 157, 633}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1910, 156, 636}, 0, {-800, -580}, {98, 237, 79, 255} }}, + {{ {1903, 159, 646}, 0, {-1036, -580}, {98, 237, 79, 255} }}, + {{ {1915, 164, 632}, 0, {-972, -580}, {98, 237, 79, 255} }}, + {{ {1913, 157, 633}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1913, 157, 633}, 0, {-584, -580}, {98, 237, 79, 255} }}, + {{ {1913, 157, 632}, 0, {-588, -580}, {98, 237, 79, 255} }}, + {{ {1914, 156, 632}, 0, {-592, -580}, {98, 237, 79, 255} }}, + {{ {1922, 154, 621}, 0, {-932, -580}, {98, 237, 79, 255} }}, + {{ {1914, 156, 631}, 0, {-596, -580}, {98, 237, 79, 255} }}, + {{ {1915, 156, 630}, 0, {-600, -580}, {98, 237, 79, 255} }}, + {{ {1915, 155, 630}, 0, {-604, -580}, {98, 237, 79, 255} }}, + {{ {1915, 155, 630}, 0, {-608, -580}, {98, 237, 79, 255} }}, + {{ {1916, 155, 629}, 0, {-612, -580}, {98, 237, 79, 255} }}, + {{ {1916, 154, 629}, 0, {-616, -580}, {98, 237, 79, 255} }}, + {{ {1916, 154, 629}, 0, {-620, -580}, {98, 237, 79, 255} }}, + {{ {1916, 153, 628}, 0, {-624, -580}, {98, 237, 79, 255} }}, + {{ {1916, 152, 628}, 0, {-628, -580}, {98, 237, 79, 255} }}, + {{ {1916, 152, 628}, 0, {-632, -580}, {98, 237, 79, 255} }}, + {{ {1916, 151, 628}, 0, {-636, -580}, {98, 237, 79, 255} }}, + {{ {1915, 150, 628}, 0, {-640, -580}, {98, 237, 79, 255} }}, + {{ {1921, 148, 621}, 0, {-916, -580}, {98, 237, 79, 255} }}, + {{ {1915, 150, 628}, 0, {-644, -580}, {98, 237, 79, 255} }}, + {{ {1915, 149, 629}, 0, {-648, -580}, {98, 237, 79, 255} }}, + {{ {1922, 151, 621}, 0, {-924, -580}, {98, 237, 79, 255} }}, + {{ {1921, 150, 621}, 0, {-920, -580}, {98, 237, 79, 255} }}, + {{ {1922, 153, 621}, 0, {-928, -580}, {98, 237, 79, 255} }}, + {{ {1908, 162, 614}, 0, {-948, -580}, {158, 19, 177, 255} }}, + {{ {1909, 161, 613}, 0, {-944, -580}, {158, 19, 177, 255} }}, + {{ {1909, 160, 612}, 0, {-940, -580}, {158, 19, 177, 255} }}, + {{ {1908, 163, 615}, 0, {-952, -580}, {158, 19, 177, 255} }}, + {{ {1902, 159, 622}, 0, {-592, -580}, {158, 19, 177, 255} }}, + {{ {1902, 159, 621}, 0, {-596, -580}, {158, 19, 177, 255} }}, + {{ {1910, 158, 612}, 0, {-936, -580}, {158, 19, 177, 255} }}, + {{ {1901, 159, 622}, 0, {-588, -580}, {158, 19, 177, 255} }}, + {{ {1908, 163, 615}, 0, {-952, -580}, {158, 19, 177, 255} }}, + {{ {1901, 159, 622}, 0, {-588, -580}, {158, 19, 177, 255} }}, + {{ {1901, 159, 623}, 0, {-584, -580}, {158, 19, 177, 255} }}, + {{ {1891, 161, 636}, 0, {-1036, -580}, {158, 19, 177, 255} }}, + {{ {1900, 159, 623}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1898, 159, 626}, 0, {-800, -580}, {158, 19, 177, 255} }}, + {{ {1896, 158, 628}, 0, {-780, -580}, {158, 19, 177, 255} }}, + {{ {1896, 165, 630}, 0, {-1024, -580}, {158, 19, 177, 255} }}, + {{ {1889, 164, 638}, 0, {-1032, -580}, {158, 19, 177, 255} }}, + {{ {1892, 167, 636}, 0, {-1028, -580}, {158, 19, 177, 255} }}, + {{ {1904, 166, 620}, 0, {-968, -580}, {158, 19, 177, 255} }}, + {{ {1902, 166, 623}, 0, {-976, -580}, {158, 19, 177, 255} }}, + {{ {1903, 166, 622}, 0, {-972, -580}, {158, 19, 177, 255} }}, + {{ {1906, 165, 617}, 0, {-960, -580}, {158, 19, 177, 255} }}, + {{ {1905, 166, 619}, 0, {-964, -580}, {158, 19, 177, 255} }}, + {{ {1907, 164, 616}, 0, {-956, -580}, {158, 19, 177, 255} }}, + {{ {1972, 141, 531}, 0, {-648, -580}, {158, 19, 177, 255} }}, + {{ {1972, 142, 530}, 0, {-644, -580}, {158, 19, 177, 255} }}, + {{ {1979, 141, 522}, 0, {-882, -580}, {158, 19, 177, 255} }}, + {{ {1972, 141, 531}, 0, {-652, -580}, {158, 19, 177, 255} }}, + {{ {1971, 141, 531}, 0, {-656, -580}, {158, 19, 177, 255} }}, + {{ {1971, 141, 532}, 0, {-660, -580}, {158, 19, 177, 255} }}, + {{ {1971, 140, 532}, 0, {-664, -580}, {158, 19, 177, 255} }}, + {{ {1970, 140, 533}, 0, {-672, -580}, {158, 19, 177, 255} }}, + {{ {1979, 140, 522}, 0, {-878, -580}, {158, 19, 177, 255} }}, + {{ {1961, 137, 569}, 0, {-882, -580}, {98, 237, 79, 255} }}, + {{ {1962, 139, 568}, 0, {-889, -580}, {98, 237, 79, 255} }}, + {{ {1963, 141, 568}, 0, {-895, -580}, {98, 237, 79, 255} }}, + {{ {1964, 147, 568}, 0, {-908, -580}, {98, 237, 79, 255} }}, + {{ {1963, 144, 568}, 0, {-902, -580}, {98, 237, 79, 255} }}, + {{ {1963, 156, 571}, 0, {-935, -580}, {98, 237, 79, 255} }}, + {{ {1964, 152, 569}, 0, {-922, -580}, {98, 237, 79, 255} }}, + {{ {1964, 147, 568}, 0, {-908, -580}, {98, 237, 79, 255} }}, + {{ {1964, 150, 568}, 0, {-915, -580}, {98, 237, 79, 255} }}, + {{ {1964, 152, 569}, 0, {-922, -580}, {98, 237, 79, 255} }}, + {{ {1963, 154, 570}, 0, {-928, -580}, {98, 237, 79, 255} }}, + {{ {1963, 156, 571}, 0, {-935, -580}, {98, 237, 79, 255} }}, + {{ {1954, 157, 583}, 0, {-587, -580}, {98, 237, 79, 255} }}, + {{ {1954, 157, 582}, 0, {-593, -580}, {98, 237, 79, 255} }}, + {{ {1955, 157, 581}, 0, {-600, -580}, {98, 237, 79, 255} }}, + {{ {1956, 156, 580}, 0, {-607, -580}, {98, 237, 79, 255} }}, + {{ {1956, 156, 579}, 0, {-613, -580}, {98, 237, 79, 255} }}, + {{ {1957, 155, 578}, 0, {-620, -580}, {98, 237, 79, 255} }}, + {{ {1957, 154, 578}, 0, {-626, -580}, {98, 237, 79, 255} }}, + {{ {1957, 153, 577}, 0, {-633, -580}, {98, 237, 79, 255} }}, + {{ {1958, 152, 576}, 0, {-639, -580}, {98, 237, 79, 255} }}, + {{ {1958, 150, 576}, 0, {-646, -580}, {98, 237, 79, 255} }}, + {{ {1958, 149, 576}, 0, {-652, -580}, {98, 237, 79, 255} }}, + {{ {1957, 147, 576}, 0, {-659, -580}, {98, 237, 79, 255} }}, + {{ {1957, 145, 575}, 0, {-666, -580}, {98, 237, 79, 255} }}, + {{ {1957, 144, 575}, 0, {-672, -580}, {98, 237, 79, 255} }}, + {{ {1956, 143, 576}, 0, {-679, -580}, {98, 237, 79, 255} }}, + {{ {1961, 137, 569}, 0, {-882, -580}, {98, 237, 79, 255} }}, + {{ {1956, 141, 576}, 0, {-685, -580}, {98, 237, 79, 255} }}, + {{ {1955, 140, 576}, 0, {-692, -580}, {98, 237, 79, 255} }}, + {{ {1955, 140, 577}, 0, {-698, -580}, {98, 237, 79, 255} }}, + {{ {1954, 139, 578}, 0, {-705, -580}, {98, 237, 79, 255} }}, + {{ {1953, 138, 579}, 0, {-712, -580}, {98, 237, 79, 255} }}, + {{ {1953, 138, 579}, 0, {-718, -580}, {98, 237, 79, 255} }}, + {{ {1971, 168, 538}, 0, {-1041, -580}, {158, 19, 177, 255} }}, + {{ {1973, 168, 535}, 0, {-1025, -580}, {158, 19, 177, 255} }}, + {{ {1975, 167, 533}, 0, {-1017, -580}, {158, 19, 177, 255} }}, + {{ {1977, 166, 530}, 0, {-1009, -580}, {158, 19, 177, 255} }}, + {{ {1976, 167, 531}, 0, {-1013, -580}, {158, 19, 177, 255} }}, + {{ {1966, 167, 544}, 0, {-1076, -580}, {158, 19, 177, 255} }}, + {{ {1971, 168, 538}, 0, {-1041, -580}, {158, 19, 177, 255} }}, + {{ {1977, 166, 530}, 0, {-1009, -580}, {158, 19, 177, 255} }}, + {{ {1980, 158, 525}, 0, {-977, -580}, {158, 19, 177, 255} }}, + {{ {1979, 163, 527}, 0, {-993, -580}, {158, 19, 177, 255} }}, + {{ {1979, 165, 528}, 0, {-1001, -580}, {158, 19, 177, 255} }}, + {{ {1978, 166, 529}, 0, {-1005, -580}, {158, 19, 177, 255} }}, + {{ {1979, 164, 527}, 0, {-997, -580}, {158, 19, 177, 255} }}, + {{ {1980, 162, 526}, 0, {-989, -580}, {158, 19, 177, 255} }}, + {{ {1980, 160, 525}, 0, {-985, -580}, {158, 19, 177, 255} }}, + {{ {1980, 159, 525}, 0, {-981, -580}, {158, 19, 177, 255} }}, + {{ {1979, 157, 525}, 0, {-973, -580}, {158, 19, 177, 255} }}, + {{ {1973, 156, 533}, 0, {-743, -580}, {158, 19, 177, 255} }}, + {{ {1973, 157, 533}, 0, {-739, -580}, {158, 19, 177, 255} }}, + {{ {1973, 158, 533}, 0, {-735, -580}, {158, 19, 177, 255} }}, + {{ {1973, 158, 533}, 0, {-731, -580}, {158, 19, 177, 255} }}, + {{ {1973, 159, 533}, 0, {-727, -580}, {158, 19, 177, 255} }}, + {{ {1973, 159, 533}, 0, {-723, -580}, {158, 19, 177, 255} }}, + {{ {1973, 159, 533}, 0, {-719, -580}, {158, 19, 177, 255} }}, + {{ {1973, 160, 534}, 0, {-715, -580}, {158, 19, 177, 255} }}, + {{ {1973, 160, 534}, 0, {-711, -580}, {158, 19, 177, 255} }}, + {{ {1973, 160, 534}, 0, {-707, -580}, {158, 19, 177, 255} }}, + {{ {1972, 161, 535}, 0, {-703, -580}, {158, 19, 177, 255} }}, + {{ {1972, 161, 535}, 0, {-699, -580}, {158, 19, 177, 255} }}, + {{ {1972, 161, 536}, 0, {-695, -580}, {158, 19, 177, 255} }}, + {{ {1971, 161, 536}, 0, {-691, -580}, {158, 19, 177, 255} }}, + {{ {1971, 161, 537}, 0, {-687, -580}, {158, 19, 177, 255} }}, + {{ {1968, 161, 541}, 0, {-803, -580}, {158, 19, 177, 255} }}, + {{ {1967, 160, 542}, 0, {-791, -580}, {158, 19, 177, 255} }}, + {{ {1966, 154, 541}, 0, {-787, -580}, {158, 19, 177, 255} }}, + {{ {1965, 147, 540}, 0, {-683, -580}, {158, 19, 177, 255} }}, + {{ {1970, 147, 534}, 0, {-584, -580}, {158, 19, 177, 255} }}, + {{ {1966, 154, 541}, 0, {-787, -580}, {158, 19, 177, 255} }}, + {{ {1971, 147, 533}, 0, {-592, -580}, {158, 19, 177, 255} }}, + {{ {1970, 147, 534}, 0, {-584, -580}, {158, 19, 177, 255} }}, + {{ {1971, 147, 533}, 0, {-596, -580}, {158, 19, 177, 255} }}, + {{ {1972, 147, 532}, 0, {-600, -580}, {158, 19, 177, 255} }}, + {{ {1975, 151, 529}, 0, {-934, -580}, {158, 19, 177, 255} }}, + {{ {1971, 154, 535}, 0, {-779, -580}, {158, 19, 177, 255} }}, + {{ {1971, 154, 534}, 0, {-771, -580}, {158, 19, 177, 255} }}, + {{ {1972, 155, 534}, 0, {-767, -580}, {158, 19, 177, 255} }}, + {{ {1972, 155, 534}, 0, {-763, -580}, {158, 19, 177, 255} }}, + {{ {1979, 156, 525}, 0, {-969, -580}, {158, 19, 177, 255} }}, + {{ {1972, 155, 533}, 0, {-759, -580}, {158, 19, 177, 255} }}, + {{ {1973, 155, 533}, 0, {-755, -580}, {158, 19, 177, 255} }}, + {{ {1973, 156, 533}, 0, {-751, -580}, {158, 19, 177, 255} }}, + {{ {1973, 156, 533}, 0, {-747, -580}, {158, 19, 177, 255} }}, + {{ {1978, 153, 526}, 0, {-953, -580}, {158, 19, 177, 255} }}, + {{ {1978, 154, 526}, 0, {-961, -580}, {158, 19, 177, 255} }}, + {{ {1979, 155, 525}, 0, {-965, -580}, {158, 19, 177, 255} }}, + {{ {1978, 154, 526}, 0, {-957, -580}, {158, 19, 177, 255} }}, + {{ {1959, 166, 552}, 0, {-1084, -580}, {158, 19, 177, 255} }}, + {{ {1962, 169, 549}, 0, {-1080, -580}, {158, 19, 177, 255} }}, + {{ {1966, 167, 544}, 0, {-1076, -580}, {158, 19, 177, 255} }}, + {{ {1961, 163, 549}, 0, {-1088, -580}, {158, 19, 177, 255} }}, + {{ {1958, 132, 546}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1964, 140, 540}, 0, {-679, -580}, {158, 19, 177, 255} }}, + {{ {1965, 147, 540}, 0, {-683, -580}, {158, 19, 177, 255} }}, + {{ {1978, 137, 522}, 0, {-870, -580}, {158, 19, 177, 255} }}, + {{ {1979, 140, 522}, 0, {-878, -580}, {158, 19, 177, 255} }}, + {{ {1970, 140, 533}, 0, {-672, -580}, {158, 19, 177, 255} }}, + {{ {1978, 138, 522}, 0, {-874, -580}, {158, 19, 177, 255} }}, + {{ {1973, 133, 527}, 0, {-846, -580}, {158, 19, 177, 255} }}, + {{ {1972, 133, 528}, 0, {-842, -580}, {158, 19, 177, 255} }}, + {{ {1975, 134, 525}, 0, {-854, -580}, {158, 19, 177, 255} }}, + {{ {1973, 133, 527}, 0, {-846, -580}, {158, 19, 177, 255} }}, + {{ {1958, 132, 546}, 0, {-1092, -580}, {158, 19, 177, 255} }}, + {{ {1978, 137, 522}, 0, {-870, -580}, {158, 19, 177, 255} }}, + {{ {1976, 135, 524}, 0, {-862, -580}, {158, 19, 177, 255} }}, + {{ {1977, 136, 523}, 0, {-866, -580}, {158, 19, 177, 255} }}, + {{ {1976, 135, 524}, 0, {-858, -580}, {158, 19, 177, 255} }}, + {{ {1974, 133, 526}, 0, {-850, -580}, {158, 19, 177, 255} }}, + {{ {1979, 141, 522}, 0, {-882, -580}, {158, 19, 177, 255} }}, + {{ {1972, 142, 530}, 0, {-644, -580}, {158, 19, 177, 255} }}, + {{ {1972, 142, 530}, 0, {-640, -580}, {158, 19, 177, 255} }}, + {{ {1979, 144, 522}, 0, {-890, -580}, {158, 19, 177, 255} }}, + {{ {1973, 143, 530}, 0, {-636, -580}, {158, 19, 177, 255} }}, + {{ {1973, 143, 530}, 0, {-632, -580}, {158, 19, 177, 255} }}, + {{ {1973, 144, 530}, 0, {-628, -580}, {158, 19, 177, 255} }}, + {{ {1975, 151, 529}, 0, {-934, -580}, {158, 19, 177, 255} }}, + {{ {1973, 144, 530}, 0, {-624, -580}, {158, 19, 177, 255} }}, + {{ {1973, 145, 530}, 0, {-620, -580}, {158, 19, 177, 255} }}, + {{ {1973, 145, 530}, 0, {-616, -580}, {158, 19, 177, 255} }}, + {{ {1973, 146, 531}, 0, {-612, -580}, {158, 19, 177, 255} }}, + {{ {1972, 146, 531}, 0, {-608, -580}, {158, 19, 177, 255} }}, + {{ {1972, 146, 532}, 0, {-604, -580}, {158, 19, 177, 255} }}, + {{ {1972, 147, 532}, 0, {-600, -580}, {158, 19, 177, 255} }}, + {{ {1977, 150, 526}, 0, {-922, -580}, {158, 19, 177, 255} }}, + {{ {1976, 151, 528}, 0, {-930, -580}, {158, 19, 177, 255} }}, + {{ {1976, 150, 527}, 0, {-926, -580}, {158, 19, 177, 255} }}, + {{ {1979, 147, 524}, 0, {-906, -580}, {158, 19, 177, 255} }}, + {{ {1978, 149, 525}, 0, {-914, -580}, {158, 19, 177, 255} }}, + {{ {1978, 149, 526}, 0, {-918, -580}, {158, 19, 177, 255} }}, + {{ {1978, 148, 524}, 0, {-910, -580}, {158, 19, 177, 255} }}, + {{ {1979, 143, 522}, 0, {-886, -580}, {158, 19, 177, 255} }}, + {{ {1979, 145, 523}, 0, {-898, -580}, {158, 19, 177, 255} }}, + {{ {1979, 144, 522}, 0, {-894, -580}, {158, 19, 177, 255} }}, + {{ {1979, 144, 522}, 0, {-890, -580}, {158, 19, 177, 255} }}, + {{ {1979, 147, 524}, 0, {-906, -580}, {158, 19, 177, 255} }}, + {{ {1979, 146, 523}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1976, 152, 528}, 0, {-941, -580}, {158, 19, 177, 255} }}, + {{ {1976, 151, 529}, 0, {-937, -580}, {158, 19, 177, 255} }}, + {{ {1975, 151, 529}, 0, {-934, -580}, {158, 19, 177, 255} }}, + {{ {1977, 152, 527}, 0, {-945, -580}, {158, 19, 177, 255} }}, + {{ {1977, 152, 527}, 0, {-949, -580}, {158, 19, 177, 255} }}, + {{ {1978, 153, 526}, 0, {-953, -580}, {158, 19, 177, 255} }}, + {{ {1856, 158, 704}, 0, {-850, -580}, {98, 237, 79, 255} }}, + {{ {1857, 127, 695}, 0, {-898, -580}, {98, 237, 79, 255} }}, + {{ {1863, 128, 687}, 0, {-902, -580}, {98, 237, 79, 255} }}, + {{ {1863, 131, 688}, 0, {-949, -580}, {98, 237, 79, 255} }}, + {{ {1861, 140, 692}, 0, {-791, -580}, {98, 237, 79, 255} }}, + {{ {1868, 146, 686}, 0, {-997, -580}, {98, 237, 79, 255} }}, + {{ {1871, 163, 686}, 0, {-735, -580}, {98, 237, 79, 255} }}, + {{ {1873, 140, 678}, 0, {-687, -580}, {98, 237, 79, 255} }}, + {{ {1875, 131, 674}, 0, {-580, -580}, {98, 237, 79, 255} }}, + {{ {1875, 128, 673}, 0, {-1049, -580}, {98, 237, 79, 255} }}, + {{ {1869, 127, 680}, 0, {-1045, -580}, {98, 237, 79, 255} }}, + {{ {1876, 159, 678}, 0, {-640, -580}, {98, 237, 79, 255} }}, + {{ {1877, 164, 679}, 0, {-632, -580}, {98, 237, 79, 255} }}, + {{ {1883, 161, 671}, 0, {-628, -580}, {98, 237, 79, 255} }}, + {{ {1875, 161, 681}, 0, {-636, -580}, {98, 237, 79, 255} }}, + {{ {1856, 162, 705}, 0, {-842, -580}, {98, 237, 79, 255} }}, + {{ {1854, 159, 706}, 0, {-846, -580}, {98, 237, 79, 255} }}, + {{ {1861, 163, 698}, 0, {-838, -580}, {98, 237, 79, 255} }}, + {{ {1865, 161, 693}, 0, {-739, -580}, {98, 237, 79, 255} }}, + {{ {1866, 158, 692}, 0, {-743, -580}, {98, 237, 79, 255} }}, + {{ {1862, 134, 664}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1862, 130, 663}, 0, {-1049, -580}, {158, 19, 177, 255} }}, + {{ {1857, 130, 670}, 0, {-1045, -580}, {158, 19, 177, 255} }}, + {{ {1855, 148, 676}, 0, {-997, -580}, {158, 19, 177, 255} }}, + {{ {1861, 143, 668}, 0, {-687, -580}, {158, 19, 177, 255} }}, + {{ {1853, 161, 682}, 0, {-743, -580}, {158, 19, 177, 255} }}, + {{ {1849, 142, 682}, 0, {-791, -580}, {158, 19, 177, 255} }}, + {{ {1851, 133, 678}, 0, {-949, -580}, {158, 19, 177, 255} }}, + {{ {1843, 160, 694}, 0, {-850, -580}, {158, 19, 177, 255} }}, + {{ {1851, 130, 677}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1844, 129, 685}, 0, {-898, -580}, {158, 19, 177, 255} }}, + {{ {1843, 165, 695}, 0, {-842, -580}, {158, 19, 177, 255} }}, + {{ {1842, 162, 696}, 0, {-846, -580}, {158, 19, 177, 255} }}, + {{ {1849, 165, 688}, 0, {-838, -580}, {158, 19, 177, 255} }}, + {{ {1865, 166, 669}, 0, {-632, -580}, {158, 19, 177, 255} }}, + {{ {1871, 164, 661}, 0, {-628, -580}, {158, 19, 177, 255} }}, + {{ {1864, 162, 668}, 0, {-640, -580}, {158, 19, 177, 255} }}, + {{ {1863, 163, 671}, 0, {-636, -580}, {158, 19, 177, 255} }}, + {{ {1853, 163, 683}, 0, {-739, -580}, {158, 19, 177, 255} }}, + {{ {1859, 165, 676}, 0, {-735, -580}, {158, 19, 177, 255} }}, + {{ {1812, 157, 732}, 0, {-580, -580}, {158, 19, 177, 255} }}, + {{ {1808, 157, 737}, 0, {-786, -580}, {158, 19, 177, 255} }}, + {{ {1801, 159, 746}, 0, {-1022, -580}, {158, 19, 177, 255} }}, + {{ {1812, 157, 732}, 0, {-585, -580}, {158, 19, 177, 255} }}, + {{ {1806, 163, 741}, 0, {-1007, -580}, {158, 19, 177, 255} }}, + {{ {1802, 165, 746}, 0, {-1012, -580}, {158, 19, 177, 255} }}, + {{ {1799, 162, 749}, 0, {-1017, -580}, {158, 19, 177, 255} }}, + {{ {1815, 164, 729}, 0, {-937, -580}, {158, 19, 177, 255} }}, + {{ {1814, 164, 731}, 0, {-942, -580}, {158, 19, 177, 255} }}, + {{ {1813, 164, 732}, 0, {-947, -580}, {158, 19, 177, 255} }}, + {{ {1813, 157, 731}, 0, {-590, -580}, {158, 19, 177, 255} }}, + {{ {1821, 156, 721}, 0, {-897, -580}, {158, 19, 177, 255} }}, + {{ {1815, 164, 729}, 0, {-937, -580}, {158, 19, 177, 255} }}, + {{ {1819, 161, 724}, 0, {-917, -580}, {158, 19, 177, 255} }}, + {{ {1821, 156, 721}, 0, {-897, -580}, {158, 19, 177, 255} }}, + {{ {1817, 163, 726}, 0, {-927, -580}, {158, 19, 177, 255} }}, + {{ {1816, 163, 728}, 0, {-932, -580}, {158, 19, 177, 255} }}, + {{ {1818, 162, 725}, 0, {-922, -580}, {158, 19, 177, 255} }}, + {{ {1820, 160, 723}, 0, {-912, -580}, {158, 19, 177, 255} }}, + {{ {1820, 159, 722}, 0, {-907, -580}, {158, 19, 177, 255} }}, + {{ {1820, 157, 721}, 0, {-902, -580}, {158, 19, 177, 255} }}, + {{ {1821, 154, 720}, 0, {-891, -580}, {158, 19, 177, 255} }}, + {{ {1814, 155, 728}, 0, {-615, -580}, {158, 19, 177, 255} }}, + {{ {1814, 156, 729}, 0, {-610, -580}, {158, 19, 177, 255} }}, + {{ {1814, 156, 729}, 0, {-605, -580}, {158, 19, 177, 255} }}, + {{ {1813, 156, 730}, 0, {-600, -580}, {158, 19, 177, 255} }}, + {{ {1813, 157, 730}, 0, {-595, -580}, {158, 19, 177, 255} }}, + {{ {1813, 157, 731}, 0, {-590, -580}, {158, 19, 177, 255} }}, + {{ {1846, 137, 711}, 0, {-688, -580}, {98, 237, 79, 255} }}, + {{ {1853, 137, 702}, 0, {-1085, -580}, {98, 237, 79, 255} }}, + {{ {1854, 140, 702}, 0, {-1089, -580}, {98, 237, 79, 255} }}, + {{ {1847, 138, 710}, 0, {-684, -580}, {98, 237, 79, 255} }}, + {{ {1847, 139, 710}, 0, {-681, -580}, {98, 237, 79, 255} }}, + {{ {1848, 140, 710}, 0, {-677, -580}, {98, 237, 79, 255} }}, + {{ {1848, 142, 710}, 0, {-673, -580}, {98, 237, 79, 255} }}, + {{ {1914, 131, 625}, 0, {-1077, -1092}, {198, 154, 47, 255} }}, + {{ {1913, 132, 627}, 0, {-1069, -1092}, {198, 154, 47, 255} }}, + {{ {1912, 133, 628}, 0, {-1062, -1092}, {198, 154, 47, 255} }}, + {{ {1899, 137, 619}, 0, {-1054, -580}, {194, 158, 52, 255} }}, + {{ {1911, 134, 629}, 0, {-1054, -1092}, {194, 158, 52, 255} }}, + {{ {1898, 138, 621}, 0, {-1046, -580}, {191, 163, 57, 255} }}, + {{ {1897, 139, 622}, 0, {-1039, -580}, {191, 163, 57, 255} }}, + {{ {1911, 136, 631}, 0, {-1046, -1092}, {191, 163, 57, 255} }}, + {{ {1909, 138, 633}, 0, {-1031, -1092}, {191, 163, 57, 255} }}, + {{ {1911, 136, 631}, 0, {-1046, -1092}, {191, 163, 57, 255} }}, + {{ {1910, 137, 632}, 0, {-1039, -1092}, {191, 163, 57, 255} }}, + {{ {1909, 138, 633}, 0, {-1031, -1092}, {191, 163, 57, 255} }}, + {{ {1896, 142, 625}, 0, {-1023, -580}, {189, 168, 62, 255} }}, + {{ {1897, 139, 622}, 0, {-1039, -580}, {191, 163, 57, 255} }}, + {{ {1908, 140, 634}, 0, {-1023, -1092}, {189, 168, 62, 255} }}, + {{ {1895, 145, 627}, 0, {-1008, -580}, {15, 139, 209, 255} }}, + {{ {1907, 142, 637}, 0, {-1008, -1092}, {15, 139, 209, 255} }}, + {{ {1893, 131, 625}, 0, {-1001, -580}, {47, 169, 177, 255} }}, + {{ {1906, 129, 635}, 0, {-1001, -1092}, {47, 169, 177, 255} }}, + {{ {1887, 131, 633}, 0, {-993, -580}, {190, 166, 60, 255} }}, + {{ {1900, 128, 642}, 0, {-993, -1092}, {190, 166, 60, 255} }}, + {{ {1891, 161, 636}, 0, {-985, -580}, {177, 204, 85, 255} }}, + {{ {1903, 159, 646}, 0, {-985, -1092}, {177, 204, 85, 255} }}, + {{ {1889, 164, 638}, 0, {-978, -580}, {177, 5, 99, 255} }}, + {{ {1901, 162, 648}, 0, {-978, -1092}, {177, 5, 99, 255} }}, + {{ {1892, 167, 636}, 0, {-970, -580}, {0, 124, 29, 255} }}, + {{ {1904, 165, 645}, 0, {-970, -1092}, {0, 124, 29, 255} }}, + {{ {1896, 165, 630}, 0, {-962, -580}, {22, 125, 3, 255} }}, + {{ {1908, 163, 640}, 0, {-962, -1092}, {22, 125, 3, 255} }}, + {{ {1896, 165, 630}, 0, {-947, -580}, {7, 125, 22, 255} }}, + {{ {1899, 166, 626}, 0, {-901, -580}, {7, 125, 22, 255} }}, + {{ {1911, 163, 637}, 0, {-917, -1092}, {7, 125, 22, 255} }}, + {{ {1909, 163, 640}, 0, {-947, -1092}, {7, 125, 22, 255} }}, + {{ {1902, 166, 623}, 0, {-871, -580}, {12, 125, 15, 255} }}, + {{ {1913, 164, 634}, 0, {-886, -1092}, {7, 125, 22, 255} }}, + {{ {1912, 164, 636}, 0, {-901, -1092}, {7, 125, 22, 255} }}, + {{ {1914, 164, 633}, 0, {-871, -1092}, {12, 125, 15, 255} }}, + {{ {1903, 166, 622}, 0, {-863, -580}, {21, 125, 4, 255} }}, + {{ {1915, 164, 632}, 0, {-863, -1092}, {21, 125, 4, 255} }}, + {{ {1904, 166, 620}, 0, {-855, -580}, {29, 124, 251, 255} }}, + {{ {1916, 164, 630}, 0, {-855, -1092}, {29, 124, 251, 255} }}, + {{ {1916, 164, 630}, 0, {-855, -1092}, {29, 124, 251, 255} }}, + {{ {1905, 166, 619}, 0, {-848, -580}, {36, 121, 240, 255} }}, + {{ {1904, 166, 620}, 0, {-855, -580}, {29, 124, 251, 255} }}, + {{ {1918, 163, 629}, 0, {-848, -1092}, {36, 121, 240, 255} }}, + {{ {1906, 165, 617}, 0, {-840, -580}, {44, 116, 229, 255} }}, + {{ {1918, 163, 627}, 0, {-840, -1092}, {44, 116, 229, 255} }}, + {{ {1907, 164, 616}, 0, {-832, -580}, {52, 109, 218, 255} }}, + {{ {1919, 162, 626}, 0, {-832, -1092}, {52, 109, 218, 255} }}, + {{ {1908, 163, 615}, 0, {-825, -580}, {60, 100, 206, 255} }}, + {{ {1920, 161, 625}, 0, {-825, -1092}, {60, 100, 206, 255} }}, + {{ {1908, 162, 614}, 0, {-817, -580}, {67, 88, 194, 255} }}, + {{ {1921, 160, 624}, 0, {-817, -1092}, {67, 88, 194, 255} }}, + {{ {1909, 161, 613}, 0, {-810, -580}, {73, 74, 183, 255} }}, + {{ {1921, 159, 623}, 0, {-810, -1092}, {73, 74, 183, 255} }}, + {{ {1909, 160, 612}, 0, {-802, -580}, {78, 57, 174, 255} }}, + {{ {1922, 157, 622}, 0, {-802, -1092}, {78, 57, 174, 255} }}, + {{ {1910, 158, 612}, 0, {-794, -580}, {81, 39, 166, 255} }}, + {{ {1922, 156, 622}, 0, {-794, -1092}, {81, 39, 166, 255} }}, + {{ {1910, 157, 611}, 0, {-787, -580}, {81, 20, 160, 255} }}, + {{ {1922, 154, 621}, 0, {-787, -1092}, {81, 20, 160, 255} }}, + {{ {1909, 155, 611}, 0, {-779, -580}, {80, 3, 158, 255} }}, + {{ {1922, 153, 621}, 0, {-779, -1092}, {80, 3, 158, 255} }}, + {{ {1909, 153, 611}, 0, {-771, -580}, {78, 243, 157, 255} }}, + {{ {1922, 151, 621}, 0, {-771, -1092}, {78, 243, 157, 255} }}, + {{ {1909, 152, 611}, 0, {-764, -580}, {75, 228, 157, 255} }}, + {{ {1921, 150, 621}, 0, {-764, -1092}, {75, 228, 157, 255} }}, + {{ {1909, 151, 611}, 0, {-756, -580}, {70, 212, 159, 255} }}, + {{ {1921, 148, 621}, 0, {-756, -1092}, {70, 212, 159, 255} }}, + {{ {1908, 149, 611}, 0, {-748, -580}, {63, 196, 164, 255} }}, + {{ {1920, 147, 621}, 0, {-748, -1092}, {63, 196, 164, 255} }}, + {{ {1907, 148, 612}, 0, {-741, -580}, {55, 181, 170, 255} }}, + {{ {1920, 146, 622}, 0, {-741, -1092}, {55, 181, 170, 255} }}, + {{ {1920, 146, 622}, 0, {-741, -1092}, {55, 181, 170, 255} }}, + {{ {1907, 147, 612}, 0, {-733, -580}, {46, 168, 177, 255} }}, + {{ {1907, 148, 612}, 0, {-741, -580}, {55, 181, 170, 255} }}, + {{ {1919, 145, 622}, 0, {-733, -1092}, {46, 168, 177, 255} }}, + {{ {1906, 146, 613}, 0, {-725, -580}, {37, 156, 187, 255} }}, + {{ {1918, 144, 623}, 0, {-725, -1092}, {37, 156, 187, 255} }}, + {{ {1905, 146, 614}, 0, {-718, -580}, {27, 147, 197, 255} }}, + {{ {1918, 143, 624}, 0, {-718, -1092}, {27, 147, 197, 255} }}, + {{ {1904, 145, 615}, 0, {-710, -580}, {17, 140, 207, 255} }}, + {{ {1917, 143, 625}, 0, {-710, -1092}, {17, 140, 207, 255} }}, + {{ {1903, 145, 616}, 0, {-703, -580}, {8, 135, 217, 255} }}, + {{ {1916, 142, 626}, 0, {-703, -1092}, {8, 135, 217, 255} }}, + {{ {1902, 144, 617}, 0, {-695, -580}, {255, 132, 228, 255} }}, + {{ {1915, 142, 627}, 0, {-695, -1092}, {255, 132, 228, 255} }}, + {{ {1901, 144, 618}, 0, {-687, -580}, {77, 239, 157, 255} }}, + {{ {1914, 142, 628}, 0, {-687, -1092}, {77, 239, 157, 255} }}, + {{ {1910, 138, 607}, 0, {-596, -580}, {81, 33, 164, 255} }}, + {{ {1922, 136, 617}, 0, {-596, -1092}, {81, 33, 164, 255} }}, + {{ {1904, 130, 611}, 0, {-588, -580}, {1, 133, 225, 255} }}, + {{ {1917, 128, 621}, 0, {-588, -1092}, {1, 133, 225, 255} }}, + {{ {1903, 132, 614}, 0, {-1085, -580}, {200, 150, 43, 255} }}, + {{ {1915, 130, 624}, 0, {-1085, -1092}, {200, 150, 43, 255} }}, + {{ {1914, 131, 625}, 0, {-1077, -1092}, {198, 154, 47, 255} }}, + {{ {1901, 134, 617}, 0, {-1069, -580}, {198, 154, 47, 255} }}, + {{ {1899, 137, 619}, 0, {-1054, -580}, {194, 158, 52, 255} }}, + {{ {1900, 135, 618}, 0, {-1062, -580}, {198, 154, 47, 255} }}, + {{ {1902, 133, 615}, 0, {-1077, -580}, {198, 154, 47, 255} }}, + {{ {1902, 166, 623}, 0, {-871, -580}, {12, 125, 15, 255} }}, + {{ {1901, 166, 625}, 0, {-886, -580}, {7, 125, 22, 255} }}, + {{ {1899, 166, 626}, 0, {-901, -580}, {7, 125, 22, 255} }}, + {{ {1898, 166, 627}, 0, {-917, -580}, {7, 125, 22, 255} }}, + {{ {1896, 165, 630}, 0, {-947, -580}, {7, 125, 22, 255} }}, + {{ {1896, 142, 625}, 0, {-1023, -580}, {189, 168, 62, 255} }}, + {{ {1897, 141, 623}, 0, {-1031, -580}, {191, 163, 57, 255} }}, + {{ {1897, 139, 622}, 0, {-1039, -580}, {191, 163, 57, 255} }}, + {{ {1932, 143, 606}, 0, {-704, -1092}, {245, 131, 239, 255} }}, + {{ {1931, 143, 607}, 0, {-698, -1092}, {245, 131, 239, 255} }}, + {{ {1929, 143, 610}, 0, {-685, -1092}, {245, 131, 239, 255} }}, + {{ {1921, 145, 594}, 0, {-714, -580}, {242, 130, 244, 255} }}, + {{ {1920, 145, 596}, 0, {-704, -580}, {245, 131, 239, 255} }}, + {{ {1919, 145, 597}, 0, {-698, -580}, {245, 131, 239, 255} }}, + {{ {1917, 145, 600}, 0, {-685, -580}, {245, 131, 239, 255} }}, + {{ {1915, 145, 602}, 0, {-672, -580}, {48, 170, 176, 255} }}, + {{ {1927, 143, 612}, 0, {-672, -1092}, {48, 170, 176, 255} }}, + {{ {1915, 140, 601}, 0, {-669, -580}, {66, 90, 196, 255} }}, + {{ {1927, 138, 611}, 0, {-669, -1092}, {66, 90, 196, 255} }}, + {{ {1928, 138, 609}, 0, {-660, -1092}, {13, 126, 14, 255} }}, + {{ {1931, 138, 606}, 0, {-641, -1092}, {13, 126, 14, 255} }}, + {{ {1925, 141, 588}, 0, {-593, -580}, {239, 116, 49, 255} }}, + {{ {1935, 138, 601}, 0, {-615, -1092}, {13, 126, 14, 255} }}, + {{ {1938, 138, 598}, 0, {-593, -1092}, {239, 116, 49, 255} }}, + {{ {1928, 144, 586}, 0, {-590, -580}, {12, 126, 15, 255} }}, + {{ {1940, 141, 596}, 0, {-590, -1092}, {12, 126, 15, 255} }}, + {{ {1930, 140, 582}, 0, {-587, -580}, {81, 33, 164, 255} }}, + {{ {1942, 138, 592}, 0, {-587, -1092}, {81, 33, 164, 255} }}, + {{ {1927, 132, 584}, 0, {-583, -580}, {31, 150, 193, 255} }}, + {{ {1939, 129, 594}, 0, {-583, -1092}, {31, 150, 193, 255} }}, + {{ {1923, 132, 589}, 0, {-1076, -580}, {238, 131, 248, 255} }}, + {{ {1935, 130, 599}, 0, {-1076, -1092}, {238, 131, 248, 255} }}, + {{ {1921, 133, 591}, 0, {-1070, -580}, {242, 130, 243, 255} }}, + {{ {1920, 133, 593}, 0, {-1064, -580}, {242, 130, 243, 255} }}, + {{ {1918, 133, 595}, 0, {-1057, -580}, {242, 130, 243, 255} }}, + {{ {1915, 132, 599}, 0, {-1025, -580}, {242, 130, 243, 255} }}, + {{ {1932, 130, 603}, 0, {-1064, -1092}, {242, 130, 243, 255} }}, + {{ {1935, 130, 599}, 0, {-1076, -1092}, {238, 131, 248, 255} }}, + {{ {1934, 130, 601}, 0, {-1070, -1092}, {242, 130, 243, 255} }}, + {{ {1932, 130, 603}, 0, {-1064, -1092}, {242, 130, 243, 255} }}, + {{ {1928, 130, 607}, 0, {-1038, -1092}, {242, 130, 243, 255} }}, + {{ {1915, 132, 599}, 0, {-1025, -580}, {242, 130, 243, 255} }}, + {{ {1931, 130, 605}, 0, {-1057, -1092}, {242, 130, 243, 255} }}, + {{ {1929, 130, 607}, 0, {-1045, -1092}, {242, 130, 243, 255} }}, + {{ {1927, 130, 609}, 0, {-1025, -1092}, {242, 130, 243, 255} }}, + {{ {1928, 130, 608}, 0, {-1032, -1092}, {242, 130, 243, 255} }}, + {{ {1914, 132, 600}, 0, {-1019, -580}, {47, 169, 177, 255} }}, + {{ {1926, 130, 610}, 0, {-1019, -1092}, {47, 169, 177, 255} }}, + {{ {1914, 131, 600}, 0, {-1016, -580}, {47, 169, 177, 255} }}, + {{ {1926, 129, 610}, 0, {-1016, -1092}, {47, 168, 177, 255} }}, + {{ {1908, 131, 607}, 0, {-1013, -580}, {190, 166, 60, 255} }}, + {{ {1920, 129, 617}, 0, {-1013, -1092}, {190, 166, 60, 255} }}, + {{ {1911, 161, 610}, 0, {-1010, -580}, {177, 208, 86, 255} }}, + {{ {1923, 159, 620}, 0, {-1010, -1092}, {177, 208, 86, 255} }}, + {{ {1910, 164, 613}, 0, {-1006, -580}, {177, 10, 99, 255} }}, + {{ {1922, 162, 623}, 0, {-1006, -1092}, {177, 10, 99, 255} }}, + {{ {1913, 167, 610}, 0, {-1003, -580}, {0, 124, 30, 255} }}, + {{ {1925, 165, 620}, 0, {-1003, -1092}, {0, 124, 30, 255} }}, + {{ {1918, 165, 603}, 0, {-1000, -580}, {24, 125, 0, 255} }}, + {{ {1930, 163, 613}, 0, {-1000, -1092}, {24, 125, 0, 255} }}, + {{ {1934, 163, 608}, 0, {-981, -1092}, {12, 125, 15, 255} }}, + {{ {1933, 163, 610}, 0, {-987, -1092}, {12, 125, 15, 255} }}, + {{ {1920, 165, 600}, 0, {-987, -580}, {12, 125, 15, 255} }}, + {{ {1938, 163, 603}, 0, {-956, -1092}, {12, 125, 15, 255} }}, + {{ {1938, 163, 604}, 0, {-959, -1092}, {12, 125, 15, 255} }}, + {{ {1936, 163, 605}, 0, {-968, -1092}, {12, 125, 15, 255} }}, + {{ {1935, 163, 607}, 0, {-975, -1092}, {12, 125, 15, 255} }}, + {{ {1938, 163, 604}, 0, {-962, -1092}, {12, 125, 15, 255} }}, + {{ {1937, 163, 605}, 0, {-965, -1092}, {12, 125, 15, 255} }}, + {{ {1921, 145, 594}, 0, {-714, -580}, {242, 130, 244, 255} }}, + {{ {1933, 143, 604}, 0, {-714, -1092}, {242, 130, 244, 255} }}, + {{ {1932, 143, 606}, 0, {-704, -1092}, {245, 131, 239, 255} }}, + {{ {1938, 143, 599}, 0, {-749, -1092}, {32, 152, 191, 255} }}, + {{ {1925, 145, 589}, 0, {-749, -580}, {32, 152, 191, 255} }}, + {{ {1940, 150, 598}, 0, {-752, -1092}, {81, 33, 164, 255} }}, + {{ {1928, 153, 588}, 0, {-752, -580}, {81, 33, 164, 255} }}, + {{ {1938, 153, 601}, 0, {-755, -1092}, {12, 125, 16, 255} }}, + {{ {1926, 156, 591}, 0, {-755, -580}, {12, 125, 16, 255} }}, + {{ {1936, 151, 603}, 0, {-758, -1092}, {239, 116, 49, 255} }}, + {{ {1924, 153, 593}, 0, {-758, -580}, {239, 116, 49, 255} }}, + {{ {1923, 153, 594}, 0, {-774, -580}, {12, 125, 15, 255} }}, + {{ {1917, 153, 601}, 0, {-828, -580}, {12, 125, 15, 255} }}, + {{ {1929, 150, 611}, 0, {-828, -1092}, {12, 125, 15, 255} }}, + {{ {1928, 150, 612}, 0, {-835, -1092}, {66, 91, 197, 255} }}, + {{ {1916, 153, 602}, 0, {-835, -580}, {66, 91, 197, 255} }}, + {{ {1929, 155, 613}, 0, {-838, -1092}, {49, 171, 176, 255} }}, + {{ {1917, 157, 603}, 0, {-838, -580}, {49, 171, 176, 255} }}, + {{ {1919, 158, 600}, 0, {-854, -580}, {246, 131, 238, 255} }}, + {{ {1917, 157, 602}, 0, {-844, -580}, {246, 131, 238, 255} }}, + {{ {1917, 157, 602}, 0, {-841, -580}, {246, 131, 238, 255} }}, + {{ {1918, 158, 601}, 0, {-847, -580}, {246, 131, 238, 255} }}, + {{ {1918, 158, 601}, 0, {-851, -580}, {246, 131, 238, 255} }}, + {{ {1936, 151, 603}, 0, {-774, -1092}, {12, 125, 15, 255} }}, + {{ {1951, 157, 586}, 0, {-998, -1092}, {0, 132, 227, 255} }}, + {{ {1950, 157, 587}, 0, {-984, -1092}, {0, 132, 227, 255} }}, + {{ {1950, 157, 587}, 0, {-971, -1092}, {0, 132, 227, 255} }}, + {{ {1951, 157, 586}, 0, {-1025, -1092}, {252, 132, 231, 255} }}, + {{ {1939, 160, 576}, 0, {-1025, -580}, {252, 132, 231, 255} }}, + {{ {1938, 159, 576}, 0, {-998, -580}, {0, 132, 227, 255} }}, + {{ {1938, 159, 577}, 0, {-958, -580}, {0, 132, 227, 255} }}, + {{ {1937, 159, 577}, 0, {-944, -580}, {52, 176, 172, 255} }}, + {{ {1950, 157, 587}, 0, {-971, -1092}, {0, 132, 227, 255} }}, + {{ {1950, 157, 587}, 0, {-958, -1092}, {0, 132, 227, 255} }}, + {{ {1937, 159, 577}, 0, {-944, -580}, {52, 176, 172, 255} }}, + {{ {1950, 157, 587}, 0, {-944, -1092}, {52, 176, 172, 255} }}, + {{ {1935, 140, 575}, 0, {-931, -580}, {66, 90, 196, 255} }}, + {{ {1948, 137, 585}, 0, {-931, -1092}, {66, 90, 196, 255} }}, + {{ {1951, 138, 581}, 0, {-904, -1092}, {9, 125, 19, 255} }}, + {{ {1939, 140, 571}, 0, {-904, -580}, {9, 125, 19, 255} }}, + {{ {1939, 140, 570}, 0, {-890, -580}, {1, 124, 29, 255} }}, + {{ {1952, 138, 580}, 0, {-890, -1092}, {1, 124, 29, 255} }}, + {{ {1940, 140, 569}, 0, {-877, -580}, {249, 121, 38, 255} }}, + {{ {1953, 138, 579}, 0, {-877, -1092}, {249, 121, 38, 255} }}, + {{ {1941, 141, 569}, 0, {-863, -580}, {239, 116, 49, 255} }}, + {{ {1953, 138, 579}, 0, {-863, -1092}, {239, 116, 49, 255} }}, + {{ {1942, 141, 568}, 0, {-850, -580}, {228, 108, 60, 255} }}, + {{ {1954, 139, 578}, 0, {-850, -1092}, {228, 108, 60, 255} }}, + {{ {1942, 142, 567}, 0, {-836, -580}, {217, 97, 72, 255} }}, + {{ {1955, 140, 577}, 0, {-836, -1092}, {217, 97, 72, 255} }}, + {{ {1943, 143, 567}, 0, {-823, -580}, {206, 83, 82, 255} }}, + {{ {1955, 140, 576}, 0, {-823, -1092}, {206, 83, 82, 255} }}, + {{ {1944, 144, 566}, 0, {-809, -580}, {196, 66, 90, 255} }}, + {{ {1956, 141, 576}, 0, {-809, -1092}, {196, 66, 90, 255} }}, + {{ {1944, 145, 566}, 0, {-796, -580}, {187, 47, 96, 255} }}, + {{ {1956, 143, 576}, 0, {-796, -1092}, {187, 47, 96, 255} }}, + {{ {1945, 146, 566}, 0, {-782, -580}, {182, 29, 99, 255} }}, + {{ {1957, 144, 575}, 0, {-782, -1092}, {182, 29, 99, 255} }}, + {{ {1945, 148, 565}, 0, {-769, -580}, {178, 13, 99, 255} }}, + {{ {1957, 145, 575}, 0, {-769, -1092}, {178, 13, 99, 255} }}, + {{ {1945, 150, 566}, 0, {-755, -580}, {176, 255, 99, 255} }}, + {{ {1957, 147, 576}, 0, {-755, -1092}, {176, 255, 99, 255} }}, + {{ {1945, 151, 566}, 0, {-742, -580}, {175, 243, 97, 255} }}, + {{ {1958, 149, 576}, 0, {-742, -1092}, {175, 243, 97, 255} }}, + {{ {1958, 149, 576}, 0, {-742, -1092}, {175, 243, 97, 255} }}, + {{ {1945, 153, 566}, 0, {-728, -580}, {175, 230, 94, 255} }}, + {{ {1945, 151, 566}, 0, {-742, -580}, {175, 243, 97, 255} }}, + {{ {1958, 150, 576}, 0, {-728, -1092}, {175, 230, 94, 255} }}, + {{ {1945, 154, 567}, 0, {-715, -580}, {176, 216, 90, 255} }}, + {{ {1958, 152, 576}, 0, {-715, -1092}, {176, 216, 90, 255} }}, + {{ {1945, 155, 567}, 0, {-702, -580}, {178, 201, 83, 255} }}, + {{ {1957, 153, 577}, 0, {-702, -1092}, {178, 201, 83, 255} }}, + {{ {1945, 156, 568}, 0, {-688, -580}, {182, 185, 75, 255} }}, + {{ {1957, 154, 578}, 0, {-688, -1092}, {182, 185, 75, 255} }}, + {{ {1944, 157, 568}, 0, {-675, -580}, {187, 171, 64, 255} }}, + {{ {1957, 155, 578}, 0, {-675, -1092}, {187, 171, 64, 255} }}, + {{ {1944, 158, 569}, 0, {-661, -580}, {195, 158, 52, 255} }}, + {{ {1956, 156, 579}, 0, {-661, -1092}, {195, 158, 52, 255} }}, + {{ {1943, 159, 570}, 0, {-648, -580}, {204, 147, 38, 255} }}, + {{ {1956, 156, 580}, 0, {-648, -1092}, {204, 147, 38, 255} }}, + {{ {1943, 159, 571}, 0, {-634, -580}, {214, 139, 24, 255} }}, + {{ {1955, 157, 581}, 0, {-634, -1092}, {214, 139, 24, 255} }}, + {{ {1942, 159, 572}, 0, {-621, -580}, {224, 134, 11, 255} }}, + {{ {1954, 157, 582}, 0, {-621, -1092}, {224, 134, 11, 255} }}, + {{ {1941, 160, 573}, 0, {-607, -580}, {233, 131, 254, 255} }}, + {{ {1954, 157, 583}, 0, {-607, -1092}, {233, 131, 254, 255} }}, + {{ {1941, 160, 574}, 0, {-594, -580}, {243, 130, 242, 255} }}, + {{ {1953, 157, 584}, 0, {-594, -1092}, {243, 130, 242, 255} }}, + {{ {1940, 160, 574}, 0, {-580, -580}, {248, 131, 235, 255} }}, + {{ {1940, 160, 574}, 0, {-1079, -580}, {248, 131, 235, 255} }}, + {{ {1952, 157, 584}, 0, {-1079, -1092}, {248, 131, 235, 255} }}, + {{ {1953, 157, 584}, 0, {-1092, -1092}, {248, 131, 235, 255} }}, + {{ {1952, 157, 585}, 0, {-1052, -1092}, {248, 131, 235, 255} }}, + {{ {1939, 160, 576}, 0, {-1025, -580}, {252, 132, 231, 255} }}, + {{ {1951, 157, 586}, 0, {-1025, -1092}, {252, 132, 231, 255} }}, + {{ {1940, 160, 575}, 0, {-1052, -580}, {248, 131, 235, 255} }}, + {{ {1938, 159, 577}, 0, {-958, -580}, {0, 132, 227, 255} }}, + {{ {1938, 159, 577}, 0, {-971, -580}, {0, 132, 227, 255} }}, + {{ {1938, 159, 577}, 0, {-984, -580}, {0, 132, 227, 255} }}, + {{ {1938, 159, 576}, 0, {-998, -580}, {0, 132, 227, 255} }}, + {{ {1854, 142, 702}, 0, {-1092, -1092}, {78, 245, 157, 255} }}, + {{ {1842, 142, 692}, 0, {-1085, -580}, {75, 229, 157, 255} }}, + {{ {1842, 144, 692}, 0, {-1092, -580}, {78, 245, 157, 255} }}, + {{ {1854, 140, 702}, 0, {-1085, -1092}, {75, 229, 157, 255} }}, + {{ {1841, 140, 692}, 0, {-1078, -580}, {70, 214, 159, 255} }}, + {{ {1853, 137, 702}, 0, {-1078, -1092}, {70, 214, 159, 255} }}, + {{ {1840, 138, 693}, 0, {-1071, -580}, {64, 199, 163, 255} }}, + {{ {1852, 135, 703}, 0, {-1071, -1092}, {64, 199, 163, 255} }}, + {{ {1839, 136, 693}, 0, {-1064, -580}, {57, 184, 168, 255} }}, + {{ {1851, 133, 703}, 0, {-1064, -1092}, {57, 184, 168, 255} }}, + {{ {1838, 134, 694}, 0, {-1057, -580}, {48, 170, 176, 255} }}, + {{ {1850, 131, 704}, 0, {-1057, -1092}, {48, 170, 176, 255} }}, + {{ {1837, 132, 695}, 0, {-1050, -580}, {38, 157, 185, 255} }}, + {{ {1849, 130, 705}, 0, {-1050, -1092}, {38, 157, 185, 255} }}, + {{ {1835, 131, 697}, 0, {-1042, -580}, {27, 147, 196, 255} }}, + {{ {1848, 129, 707}, 0, {-1042, -1092}, {27, 147, 196, 255} }}, + {{ {1834, 130, 698}, 0, {-1035, -580}, {16, 140, 208, 255} }}, + {{ {1846, 128, 708}, 0, {-1035, -1092}, {16, 140, 208, 255} }}, + {{ {1832, 129, 700}, 0, {-1028, -580}, {6, 134, 220, 255} }}, + {{ {1845, 127, 710}, 0, {-1028, -1092}, {6, 134, 220, 255} }}, + {{ {1831, 129, 702}, 0, {-1021, -580}, {252, 131, 231, 255} }}, + {{ {1843, 126, 712}, 0, {-1021, -1092}, {252, 131, 231, 255} }}, + {{ {1829, 129, 704}, 0, {-1014, -580}, {242, 130, 243, 255} }}, + {{ {1841, 126, 714}, 0, {-1014, -1092}, {242, 130, 243, 255} }}, + {{ {1827, 129, 707}, 0, {-1007, -580}, {232, 131, 255, 255} }}, + {{ {1839, 126, 717}, 0, {-1007, -1092}, {232, 131, 255, 255} }}, + {{ {1825, 129, 709}, 0, {-1000, -580}, {222, 134, 13, 255} }}, + {{ {1838, 127, 719}, 0, {-1000, -1092}, {222, 134, 13, 255} }}, + {{ {1838, 127, 719}, 0, {-1000, -1092}, {222, 134, 13, 255} }}, + {{ {1824, 130, 711}, 0, {-993, -580}, {212, 140, 27, 255} }}, + {{ {1825, 129, 709}, 0, {-1000, -580}, {222, 134, 13, 255} }}, + {{ {1836, 128, 721}, 0, {-993, -1092}, {212, 140, 27, 255} }}, + {{ {1823, 131, 712}, 0, {-986, -580}, {202, 148, 40, 255} }}, + {{ {1835, 129, 722}, 0, {-986, -1092}, {202, 148, 40, 255} }}, + {{ {1822, 132, 714}, 0, {-978, -580}, {194, 159, 53, 255} }}, + {{ {1834, 130, 724}, 0, {-978, -1092}, {194, 159, 53, 255} }}, + {{ {1821, 134, 716}, 0, {-971, -580}, {187, 171, 65, 255} }}, + {{ {1833, 132, 725}, 0, {-971, -1092}, {187, 171, 65, 255} }}, + {{ {1820, 136, 717}, 0, {-964, -580}, {182, 185, 75, 255} }}, + {{ {1832, 133, 727}, 0, {-964, -1092}, {182, 185, 75, 255} }}, + {{ {1820, 138, 718}, 0, {-957, -580}, {178, 199, 82, 255} }}, + {{ {1832, 135, 728}, 0, {-957, -1092}, {178, 199, 82, 255} }}, + {{ {1819, 140, 719}, 0, {-950, -580}, {176, 212, 88, 255} }}, + {{ {1831, 137, 729}, 0, {-950, -1092}, {176, 212, 88, 255} }}, + {{ {1819, 142, 719}, 0, {-943, -580}, {175, 226, 93, 255} }}, + {{ {1831, 139, 729}, 0, {-943, -1092}, {175, 226, 93, 255} }}, + {{ {1819, 144, 720}, 0, {-936, -580}, {175, 239, 96, 255} }}, + {{ {1831, 142, 730}, 0, {-936, -1092}, {175, 239, 96, 255} }}, + {{ {1819, 146, 720}, 0, {-929, -580}, {176, 253, 98, 255} }}, + {{ {1831, 144, 730}, 0, {-929, -1092}, {176, 253, 98, 255} }}, + {{ {1820, 150, 721}, 0, {-836, -580}, {178, 12, 99, 255} }}, + {{ {1832, 147, 731}, 0, {-836, -1092}, {178, 12, 99, 255} }}, + {{ {1820, 152, 721}, 0, {-829, -580}, {182, 29, 99, 255} }}, + {{ {1832, 150, 731}, 0, {-829, -1092}, {182, 29, 99, 255} }}, + {{ {1821, 154, 720}, 0, {-822, -580}, {186, 44, 97, 255} }}, + {{ {1833, 152, 730}, 0, {-822, -1092}, {186, 44, 97, 255} }}, + {{ {1822, 157, 720}, 0, {-815, -580}, {193, 59, 93, 255} }}, + {{ {1834, 154, 730}, 0, {-815, -1092}, {193, 59, 93, 255} }}, + {{ {1823, 158, 719}, 0, {-808, -580}, {200, 74, 87, 255} }}, + {{ {1835, 156, 729}, 0, {-808, -1092}, {200, 74, 87, 255} }}, + {{ {1835, 156, 729}, 0, {-808, -1092}, {200, 74, 87, 255} }}, + {{ {1824, 160, 718}, 0, {-801, -580}, {209, 87, 79, 255} }}, + {{ {1823, 158, 719}, 0, {-808, -580}, {200, 74, 87, 255} }}, + {{ {1836, 158, 728}, 0, {-801, -1092}, {209, 87, 79, 255} }}, + {{ {1825, 162, 717}, 0, {-794, -580}, {218, 99, 70, 255} }}, + {{ {1837, 159, 727}, 0, {-794, -1092}, {218, 99, 70, 255} }}, + {{ {1827, 163, 715}, 0, {-786, -580}, {229, 108, 60, 255} }}, + {{ {1839, 161, 725}, 0, {-786, -1092}, {229, 108, 60, 255} }}, + {{ {1828, 164, 714}, 0, {-779, -580}, {239, 116, 49, 255} }}, + {{ {1840, 162, 724}, 0, {-779, -1092}, {239, 116, 49, 255} }}, + {{ {1830, 165, 712}, 0, {-772, -580}, {250, 121, 37, 255} }}, + {{ {1842, 162, 722}, 0, {-772, -1092}, {250, 121, 37, 255} }}, + {{ {1831, 165, 710}, 0, {-765, -580}, {4, 124, 25, 255} }}, + {{ {1843, 163, 720}, 0, {-765, -1092}, {4, 124, 25, 255} }}, + {{ {1833, 166, 708}, 0, {-758, -580}, {14, 126, 13, 255} }}, + {{ {1845, 163, 718}, 0, {-758, -1092}, {14, 126, 13, 255} }}, + {{ {1835, 165, 706}, 0, {-751, -580}, {23, 125, 1, 255} }}, + {{ {1847, 163, 716}, 0, {-751, -1092}, {23, 125, 1, 255} }}, + {{ {1836, 165, 704}, 0, {-744, -580}, {33, 122, 244, 255} }}, + {{ {1849, 163, 714}, 0, {-744, -1092}, {33, 122, 244, 255} }}, + {{ {1838, 164, 702}, 0, {-737, -580}, {44, 116, 230, 255} }}, + {{ {1850, 162, 712}, 0, {-737, -1092}, {44, 116, 230, 255} }}, + {{ {1839, 163, 700}, 0, {-730, -580}, {53, 108, 216, 255} }}, + {{ {1851, 161, 710}, 0, {-730, -1092}, {53, 108, 216, 255} }}, + {{ {1840, 162, 698}, 0, {-722, -580}, {62, 97, 203, 255} }}, + {{ {1852, 159, 708}, 0, {-722, -1092}, {62, 97, 203, 255} }}, + {{ {1841, 160, 697}, 0, {-715, -580}, {69, 85, 191, 255} }}, + {{ {1853, 158, 707}, 0, {-715, -1092}, {69, 85, 191, 255} }}, + {{ {1842, 159, 696}, 0, {-708, -580}, {74, 71, 181, 255} }}, + {{ {1854, 156, 705}, 0, {-708, -1092}, {74, 71, 181, 255} }}, + {{ {1842, 157, 694}, 0, {-701, -580}, {78, 57, 173, 255} }}, + {{ {1854, 154, 704}, 0, {-701, -1092}, {78, 57, 173, 255} }}, + {{ {1854, 154, 704}, 0, {-701, -1092}, {78, 57, 173, 255} }}, + {{ {1843, 155, 694}, 0, {-694, -580}, {80, 43, 167, 255} }}, + {{ {1842, 157, 694}, 0, {-701, -580}, {78, 57, 173, 255} }}, + {{ {1855, 152, 704}, 0, {-694, -1092}, {80, 43, 167, 255} }}, + {{ {1843, 152, 693}, 0, {-687, -580}, {81, 29, 163, 255} }}, + {{ {1855, 150, 703}, 0, {-687, -1092}, {81, 29, 163, 255} }}, + {{ {1843, 150, 692}, 0, {-680, -580}, {81, 17, 160, 255} }}, + {{ {1855, 148, 702}, 0, {-680, -1092}, {81, 17, 160, 255} }}, + {{ {1843, 148, 692}, 0, {-673, -580}, {80, 4, 158, 255} }}, + {{ {1855, 145, 702}, 0, {-673, -1092}, {80, 4, 158, 255} }}, + {{ {1842, 144, 692}, 0, {-580, -580}, {78, 245, 157, 255} }}, + {{ {1854, 142, 702}, 0, {-580, -1092}, {78, 245, 157, 255} }}, + {{ {1984, 165, 547}, 0, {-974, -1092}, {14, 126, 13, 255} }}, + {{ {1985, 165, 546}, 0, {-966, -1092}, {14, 126, 13, 255} }}, + {{ {1986, 165, 545}, 0, {-958, -1092}, {20, 125, 6, 255} }}, + {{ {1972, 168, 537}, 0, {-974, -580}, {14, 126, 13, 255} }}, + {{ {1972, 168, 536}, 0, {-966, -580}, {14, 126, 13, 255} }}, + {{ {1973, 168, 535}, 0, {-958, -580}, {20, 125, 6, 255} }}, + {{ {1975, 167, 533}, 0, {-943, -580}, {31, 123, 248, 255} }}, + {{ {1988, 165, 543}, 0, {-943, -1092}, {31, 123, 248, 255} }}, + {{ {1976, 167, 531}, 0, {-935, -580}, {39, 119, 236, 255} }}, + {{ {1989, 165, 541}, 0, {-935, -1092}, {39, 119, 236, 255} }}, + {{ {1977, 166, 530}, 0, {-927, -580}, {47, 114, 226, 255} }}, + {{ {1989, 164, 540}, 0, {-927, -1092}, {47, 114, 226, 255} }}, + {{ {1978, 166, 529}, 0, {-919, -580}, {54, 107, 215, 255} }}, + {{ {1990, 163, 539}, 0, {-919, -1092}, {54, 107, 215, 255} }}, + {{ {1979, 165, 528}, 0, {-911, -580}, {62, 97, 202, 255} }}, + {{ {1991, 162, 538}, 0, {-911, -1092}, {62, 97, 202, 255} }}, + {{ {1979, 164, 527}, 0, {-903, -580}, {70, 83, 190, 255} }}, + {{ {1991, 162, 537}, 0, {-903, -1092}, {70, 83, 190, 255} }}, + {{ {1979, 163, 527}, 0, {-895, -580}, {76, 66, 178, 255} }}, + {{ {1992, 160, 536}, 0, {-895, -1092}, {76, 66, 178, 255} }}, + {{ {1992, 160, 536}, 0, {-895, -1092}, {76, 66, 178, 255} }}, + {{ {1980, 162, 526}, 0, {-887, -580}, {80, 45, 168, 255} }}, + {{ {1979, 163, 527}, 0, {-895, -580}, {76, 66, 178, 255} }}, + {{ {1992, 159, 536}, 0, {-887, -1092}, {80, 45, 168, 255} }}, + {{ {1980, 160, 525}, 0, {-880, -580}, {81, 24, 161, 255} }}, + {{ {1992, 158, 535}, 0, {-880, -1092}, {81, 24, 161, 255} }}, + {{ {1980, 159, 525}, 0, {-872, -580}, {80, 4, 158, 255} }}, + {{ {1992, 156, 535}, 0, {-872, -1092}, {80, 4, 158, 255} }}, + {{ {1980, 158, 525}, 0, {-864, -580}, {78, 245, 157, 255} }}, + {{ {1992, 155, 535}, 0, {-864, -1092}, {78, 245, 157, 255} }}, + {{ {1979, 157, 525}, 0, {-856, -580}, {75, 231, 157, 255} }}, + {{ {1992, 154, 535}, 0, {-856, -1092}, {75, 231, 157, 255} }}, + {{ {1979, 156, 525}, 0, {-848, -580}, {71, 217, 159, 255} }}, + {{ {1991, 154, 535}, 0, {-848, -1092}, {71, 217, 159, 255} }}, + {{ {1979, 155, 525}, 0, {-840, -580}, {66, 202, 162, 255} }}, + {{ {1991, 153, 535}, 0, {-840, -1092}, {66, 202, 162, 255} }}, + {{ {1978, 154, 526}, 0, {-832, -580}, {60, 189, 166, 255} }}, + {{ {1991, 152, 536}, 0, {-832, -1092}, {60, 189, 166, 255} }}, + {{ {1978, 154, 526}, 0, {-824, -580}, {52, 176, 172, 255} }}, + {{ {1990, 151, 536}, 0, {-824, -1092}, {52, 176, 172, 255} }}, + {{ {1978, 153, 526}, 0, {-817, -580}, {44, 165, 179, 255} }}, + {{ {1990, 151, 536}, 0, {-817, -1092}, {44, 165, 179, 255} }}, + {{ {1977, 152, 527}, 0, {-809, -580}, {36, 155, 187, 255} }}, + {{ {1989, 150, 537}, 0, {-809, -1092}, {36, 155, 187, 255} }}, + {{ {1977, 152, 527}, 0, {-801, -580}, {28, 148, 196, 255} }}, + {{ {1989, 150, 537}, 0, {-801, -1092}, {28, 148, 196, 255} }}, + {{ {1976, 152, 528}, 0, {-793, -580}, {20, 142, 204, 255} }}, + {{ {1988, 149, 538}, 0, {-793, -1092}, {20, 142, 204, 255} }}, + {{ {1976, 151, 529}, 0, {-785, -580}, {12, 137, 213, 255} }}, + {{ {1988, 149, 538}, 0, {-785, -1092}, {12, 137, 213, 255} }}, + {{ {1975, 151, 529}, 0, {-777, -580}, {80, 4, 158, 255} }}, + {{ {1987, 149, 539}, 0, {-777, -1092}, {80, 4, 158, 255} }}, + {{ {1987, 149, 539}, 0, {-777, -1092}, {80, 4, 158, 255} }}, + {{ {1976, 151, 528}, 0, {-769, -580}, {35, 121, 242, 255} }}, + {{ {1975, 151, 529}, 0, {-777, -580}, {80, 4, 158, 255} }}, + {{ {1988, 148, 538}, 0, {-769, -1092}, {35, 121, 242, 255} }}, + {{ {1976, 150, 527}, 0, {-761, -580}, {43, 117, 231, 255} }}, + {{ {1989, 148, 537}, 0, {-761, -1092}, {43, 117, 231, 255} }}, + {{ {1977, 150, 526}, 0, {-754, -580}, {50, 111, 221, 255} }}, + {{ {1989, 148, 536}, 0, {-754, -1092}, {50, 111, 221, 255} }}, + {{ {1978, 149, 526}, 0, {-746, -580}, {57, 104, 211, 255} }}, + {{ {1990, 147, 536}, 0, {-746, -1092}, {57, 104, 211, 255} }}, + {{ {1978, 149, 525}, 0, {-738, -580}, {63, 95, 201, 255} }}, + {{ {1990, 146, 535}, 0, {-738, -1092}, {63, 95, 201, 255} }}, + {{ {1978, 148, 524}, 0, {-730, -580}, {69, 85, 192, 255} }}, + {{ {1991, 146, 534}, 0, {-730, -1092}, {69, 85, 192, 255} }}, + {{ {1979, 147, 524}, 0, {-722, -580}, {73, 74, 183, 255} }}, + {{ {1991, 145, 534}, 0, {-722, -1092}, {73, 74, 183, 255} }}, + {{ {1979, 146, 523}, 0, {-714, -580}, {77, 61, 176, 255} }}, + {{ {1991, 144, 533}, 0, {-714, -1092}, {77, 61, 176, 255} }}, + {{ {1979, 145, 523}, 0, {-706, -580}, {80, 47, 169, 255} }}, + {{ {1991, 143, 533}, 0, {-706, -1092}, {80, 47, 169, 255} }}, + {{ {1979, 144, 522}, 0, {-698, -580}, {81, 33, 164, 255} }}, + {{ {1992, 142, 532}, 0, {-698, -1092}, {81, 33, 164, 255} }}, + {{ {1979, 144, 522}, 0, {-691, -580}, {81, 18, 160, 255} }}, + {{ {1992, 141, 532}, 0, {-691, -1092}, {81, 18, 160, 255} }}, + {{ {1979, 143, 522}, 0, {-683, -580}, {80, 2, 157, 255} }}, + {{ {1992, 140, 532}, 0, {-683, -1092}, {80, 2, 157, 255} }}, + {{ {1979, 141, 522}, 0, {-675, -580}, {78, 241, 157, 255} }}, + {{ {1991, 139, 532}, 0, {-675, -1092}, {78, 241, 157, 255} }}, + {{ {1979, 140, 522}, 0, {-667, -580}, {74, 224, 158, 255} }}, + {{ {1991, 137, 532}, 0, {-667, -1092}, {74, 224, 158, 255} }}, + {{ {1978, 138, 522}, 0, {-659, -580}, {68, 206, 161, 255} }}, + {{ {1991, 136, 532}, 0, {-659, -1092}, {68, 206, 161, 255} }}, + {{ {1991, 136, 532}, 0, {-659, -1092}, {68, 206, 161, 255} }}, + {{ {1978, 137, 522}, 0, {-651, -580}, {60, 189, 166, 255} }}, + {{ {1978, 138, 522}, 0, {-659, -580}, {68, 206, 161, 255} }}, + {{ {1990, 135, 532}, 0, {-651, -1092}, {60, 189, 166, 255} }}, + {{ {1977, 136, 523}, 0, {-643, -580}, {51, 174, 173, 255} }}, + {{ {1989, 134, 533}, 0, {-643, -1092}, {51, 174, 173, 255} }}, + {{ {1976, 135, 524}, 0, {-635, -580}, {41, 161, 183, 255} }}, + {{ {1989, 133, 534}, 0, {-635, -1092}, {41, 161, 183, 255} }}, + {{ {1976, 135, 524}, 0, {-628, -580}, {31, 150, 193, 255} }}, + {{ {1988, 132, 534}, 0, {-628, -1092}, {31, 150, 193, 255} }}, + {{ {1975, 134, 525}, 0, {-620, -580}, {21, 142, 203, 255} }}, + {{ {1987, 131, 535}, 0, {-620, -1092}, {21, 142, 203, 255} }}, + {{ {1974, 133, 526}, 0, {-612, -580}, {11, 137, 214, 255} }}, + {{ {1986, 131, 536}, 0, {-612, -1092}, {11, 137, 214, 255} }}, + {{ {1973, 133, 527}, 0, {-604, -580}, {2, 133, 224, 255} }}, + {{ {1985, 131, 537}, 0, {-604, -1092}, {2, 133, 224, 255} }}, + {{ {1972, 133, 528}, 0, {-596, -580}, {248, 131, 236, 255} }}, + {{ {1984, 130, 538}, 0, {-596, -1092}, {248, 131, 236, 255} }}, + {{ {1958, 132, 546}, 0, {-580, -580}, {190, 166, 60, 255} }}, + {{ {1970, 130, 556}, 0, {-580, -1092}, {190, 166, 60, 255} }}, + {{ {1972, 168, 537}, 0, {-974, -580}, {14, 126, 13, 255} }}, + {{ {1971, 168, 538}, 0, {-990, -580}, {9, 125, 19, 255} }}, + {{ {1984, 165, 547}, 0, {-974, -1092}, {14, 126, 13, 255} }}, + {{ {1983, 165, 548}, 0, {-990, -1092}, {9, 125, 19, 255} }}, + {{ {1982, 165, 550}, 0, {-1006, -1092}, {5, 125, 24, 255} }}, + {{ {1981, 165, 551}, 0, {-1021, -1092}, {5, 125, 24, 255} }}, + {{ {1966, 167, 544}, 0, {-1053, -580}, {5, 125, 24, 255} }}, + {{ {1968, 167, 541}, 0, {-1021, -580}, {5, 125, 24, 255} }}, + {{ {1970, 168, 540}, 0, {-1006, -580}, {5, 125, 24, 255} }}, + {{ {1967, 167, 542}, 0, {-1037, -580}, {5, 125, 24, 255} }}, + {{ {1844, 155, 718}, 0, {-1092, -1092}, {253, 132, 230, 255} }}, + {{ {1831, 157, 709}, 0, {-1085, -580}, {8, 135, 217, 255} }}, + {{ {1831, 157, 708}, 0, {-1092, -580}, {253, 132, 230, 255} }}, + {{ {1843, 154, 719}, 0, {-1085, -1092}, {8, 135, 217, 255} }}, + {{ {1830, 156, 709}, 0, {-1078, -580}, {19, 141, 205, 255} }}, + {{ {1842, 154, 719}, 0, {-1078, -1092}, {19, 141, 205, 255} }}, + {{ {1829, 156, 710}, 0, {-1071, -580}, {29, 149, 194, 255} }}, + {{ {1842, 153, 720}, 0, {-1071, -1092}, {29, 149, 194, 255} }}, + {{ {1829, 155, 711}, 0, {-1064, -580}, {39, 159, 184, 255} }}, + {{ {1841, 153, 721}, 0, {-1064, -1092}, {39, 159, 184, 255} }}, + {{ {1828, 154, 711}, 0, {-1057, -580}, {49, 171, 175, 255} }}, + {{ {1840, 152, 721}, 0, {-1057, -1092}, {49, 171, 175, 255} }}, + {{ {1827, 154, 712}, 0, {-1050, -580}, {57, 184, 168, 255} }}, + {{ {1840, 151, 722}, 0, {-1050, -1092}, {57, 184, 168, 255} }}, + {{ {1827, 153, 712}, 0, {-1042, -580}, {64, 199, 163, 255} }}, + {{ {1839, 150, 722}, 0, {-1042, -1092}, {64, 199, 163, 255} }}, + {{ {1826, 151, 713}, 0, {-1035, -580}, {70, 214, 159, 255} }}, + {{ {1839, 149, 723}, 0, {-1035, -1092}, {70, 214, 159, 255} }}, + {{ {1826, 150, 713}, 0, {-1028, -580}, {75, 229, 157, 255} }}, + {{ {1838, 148, 723}, 0, {-1028, -1092}, {75, 229, 157, 255} }}, + {{ {1826, 149, 713}, 0, {-1021, -580}, {78, 244, 157, 255} }}, + {{ {1838, 146, 723}, 0, {-1021, -1092}, {78, 244, 157, 255} }}, + {{ {1826, 147, 713}, 0, {-929, -580}, {80, 3, 158, 255} }}, + {{ {1838, 144, 723}, 0, {-929, -1092}, {80, 3, 158, 255} }}, + {{ {1825, 145, 712}, 0, {-922, -580}, {81, 16, 160, 255} }}, + {{ {1838, 143, 722}, 0, {-922, -1092}, {81, 16, 160, 255} }}, + {{ {1825, 144, 712}, 0, {-914, -580}, {81, 29, 163, 255} }}, + {{ {1838, 142, 722}, 0, {-914, -1092}, {81, 29, 163, 255} }}, + {{ {1826, 143, 712}, 0, {-907, -580}, {80, 41, 167, 255} }}, + {{ {1838, 140, 722}, 0, {-907, -1092}, {80, 41, 167, 255} }}, + {{ {1826, 142, 711}, 0, {-900, -580}, {78, 54, 172, 255} }}, + {{ {1838, 139, 721}, 0, {-900, -1092}, {78, 54, 172, 255} }}, + {{ {1838, 139, 721}, 0, {-900, -1092}, {78, 54, 172, 255} }}, + {{ {1826, 141, 711}, 0, {-893, -580}, {75, 68, 179, 255} }}, + {{ {1826, 142, 711}, 0, {-900, -580}, {78, 54, 172, 255} }}, + {{ {1838, 138, 721}, 0, {-893, -1092}, {75, 68, 179, 255} }}, + {{ {1826, 140, 710}, 0, {-886, -580}, {71, 81, 188, 255} }}, + {{ {1839, 137, 720}, 0, {-886, -1092}, {71, 81, 188, 255} }}, + {{ {1827, 139, 709}, 0, {-879, -580}, {65, 93, 199, 255} }}, + {{ {1839, 136, 719}, 0, {-879, -1092}, {65, 93, 199, 255} }}, + {{ {1827, 138, 709}, 0, {-872, -580}, {57, 104, 211, 255} }}, + {{ {1839, 136, 719}, 0, {-872, -1092}, {57, 104, 211, 255} }}, + {{ {1828, 138, 708}, 0, {-865, -580}, {47, 114, 225, 255} }}, + {{ {1840, 135, 718}, 0, {-865, -1092}, {47, 114, 225, 255} }}, + {{ {1828, 137, 707}, 0, {-858, -580}, {37, 120, 239, 255} }}, + {{ {1841, 135, 717}, 0, {-858, -1092}, {37, 120, 239, 255} }}, + {{ {1829, 137, 706}, 0, {-850, -580}, {25, 124, 255, 255} }}, + {{ {1841, 135, 716}, 0, {-850, -1092}, {25, 124, 255, 255} }}, + {{ {1830, 137, 705}, 0, {-843, -580}, {14, 126, 13, 255} }}, + {{ {1842, 135, 715}, 0, {-843, -1092}, {14, 126, 13, 255} }}, + {{ {1830, 137, 704}, 0, {-836, -580}, {4, 124, 25, 255} }}, + {{ {1843, 135, 714}, 0, {-836, -1092}, {4, 124, 25, 255} }}, + {{ {1831, 137, 703}, 0, {-829, -580}, {249, 121, 38, 255} }}, + {{ {1843, 135, 713}, 0, {-829, -1092}, {249, 121, 38, 255} }}, + {{ {1832, 138, 703}, 0, {-822, -580}, {238, 115, 50, 255} }}, + {{ {1844, 135, 713}, 0, {-822, -1092}, {238, 115, 50, 255} }}, + {{ {1833, 138, 702}, 0, {-815, -580}, {226, 107, 62, 255} }}, + {{ {1845, 136, 712}, 0, {-815, -1092}, {226, 107, 62, 255} }}, + {{ {1833, 139, 701}, 0, {-808, -580}, {215, 96, 73, 255} }}, + {{ {1846, 136, 711}, 0, {-808, -1092}, {215, 96, 73, 255} }}, + {{ {1834, 140, 701}, 0, {-801, -580}, {206, 83, 82, 255} }}, + {{ {1846, 137, 711}, 0, {-801, -1092}, {206, 83, 82, 255} }}, + {{ {1834, 141, 700}, 0, {-794, -580}, {197, 68, 89, 255} }}, + {{ {1847, 138, 710}, 0, {-794, -1092}, {197, 68, 89, 255} }}, + {{ {1847, 138, 710}, 0, {-794, -1092}, {197, 68, 89, 255} }}, + {{ {1835, 142, 700}, 0, {-786, -580}, {190, 53, 94, 255} }}, + {{ {1834, 141, 700}, 0, {-794, -580}, {197, 68, 89, 255} }}, + {{ {1847, 139, 710}, 0, {-786, -1092}, {190, 53, 94, 255} }}, + {{ {1835, 143, 700}, 0, {-779, -580}, {184, 38, 98, 255} }}, + {{ {1848, 140, 710}, 0, {-779, -1092}, {184, 38, 98, 255} }}, + {{ {1836, 144, 700}, 0, {-772, -580}, {180, 24, 99, 255} }}, + {{ {1848, 142, 710}, 0, {-772, -1092}, {180, 24, 99, 255} }}, + {{ {1836, 145, 700}, 0, {-765, -580}, {177, 10, 99, 255} }}, + {{ {1848, 143, 709}, 0, {-765, -1092}, {177, 10, 99, 255} }}, + {{ {1836, 147, 700}, 0, {-673, -580}, {176, 252, 98, 255} }}, + {{ {1848, 145, 710}, 0, {-673, -1092}, {176, 252, 98, 255} }}, + {{ {1836, 149, 700}, 0, {-666, -580}, {175, 239, 96, 255} }}, + {{ {1849, 146, 710}, 0, {-666, -1092}, {175, 239, 96, 255} }}, + {{ {1836, 150, 700}, 0, {-658, -580}, {175, 227, 93, 255} }}, + {{ {1849, 148, 710}, 0, {-658, -1092}, {175, 227, 93, 255} }}, + {{ {1836, 151, 701}, 0, {-651, -580}, {176, 214, 89, 255} }}, + {{ {1848, 149, 711}, 0, {-651, -1092}, {176, 214, 89, 255} }}, + {{ {1836, 153, 701}, 0, {-644, -580}, {178, 201, 84, 255} }}, + {{ {1848, 150, 711}, 0, {-644, -1092}, {178, 201, 84, 255} }}, + {{ {1836, 154, 702}, 0, {-637, -580}, {181, 188, 77, 255} }}, + {{ {1848, 151, 712}, 0, {-637, -1092}, {181, 188, 77, 255} }}, + {{ {1835, 154, 702}, 0, {-630, -580}, {185, 175, 68, 255} }}, + {{ {1848, 152, 712}, 0, {-630, -1092}, {185, 175, 68, 255} }}, + {{ {1835, 155, 703}, 0, {-623, -580}, {192, 162, 57, 255} }}, + {{ {1847, 153, 713}, 0, {-623, -1092}, {192, 162, 57, 255} }}, + {{ {1835, 156, 704}, 0, {-616, -580}, {200, 151, 44, 255} }}, + {{ {1847, 154, 714}, 0, {-616, -1092}, {200, 151, 44, 255} }}, + {{ {1834, 156, 704}, 0, {-609, -580}, {209, 142, 31, 255} }}, + {{ {1846, 154, 714}, 0, {-609, -1092}, {209, 142, 31, 255} }}, + {{ {1833, 157, 705}, 0, {-602, -580}, {220, 135, 16, 255} }}, + {{ {1846, 154, 715}, 0, {-602, -1092}, {220, 135, 16, 255} }}, + {{ {1846, 154, 715}, 0, {-602, -1092}, {220, 135, 16, 255} }}, + {{ {1833, 157, 706}, 0, {-594, -580}, {231, 132, 1, 255} }}, + {{ {1833, 157, 705}, 0, {-602, -580}, {220, 135, 16, 255} }}, + {{ {1845, 155, 716}, 0, {-594, -1092}, {231, 132, 1, 255} }}, + {{ {1832, 157, 707}, 0, {-587, -580}, {242, 130, 243, 255} }}, + {{ {1844, 155, 717}, 0, {-587, -1092}, {242, 130, 243, 255} }}, + {{ {1831, 157, 708}, 0, {-580, -580}, {253, 132, 230, 255} }}, + {{ {1844, 155, 718}, 0, {-580, -1092}, {253, 132, 230, 255} }}, + {{ {2013, 159, 510}, 0, {-670, -1092}, {63, 195, 164, 255} }}, + {{ {2011, 155, 511}, 0, {-652, -1092}, {63, 195, 164, 255} }}, + {{ {2009, 151, 513}, 0, {-634, -1092}, {63, 195, 164, 255} }}, + {{ {1992, 145, 506}, 0, {-589, -580}, {74, 225, 157, 255} }}, + {{ {2005, 144, 515}, 0, {-598, -1092}, {63, 195, 164, 255} }}, + {{ {2007, 147, 514}, 0, {-616, -1092}, {63, 195, 164, 255} }}, + {{ {2005, 142, 516}, 0, {-589, -1092}, {74, 225, 157, 255} }}, + {{ {1991, 133, 505}, 0, {-580, -580}, {47, 169, 177, 255} }}, + {{ {2003, 131, 515}, 0, {-580, -1092}, {47, 168, 177, 255} }}, + {{ {1993, 146, 506}, 0, {-598, -580}, {63, 195, 164, 255} }}, + {{ {1995, 150, 504}, 0, {-616, -580}, {63, 195, 164, 255} }}, + {{ {1997, 154, 503}, 0, {-634, -580}, {63, 195, 164, 255} }}, + {{ {2003, 168, 498}, 0, {-697, -580}, {78, 55, 173, 255} }}, + {{ {2002, 166, 499}, 0, {-688, -580}, {63, 195, 164, 255} }}, + {{ {2001, 162, 500}, 0, {-670, -580}, {63, 195, 164, 255} }}, + {{ {1999, 158, 501}, 0, {-652, -580}, {63, 195, 164, 255} }}, + {{ {2015, 165, 508}, 0, {-697, -1092}, {78, 55, 173, 255} }}, + {{ {2009, 167, 517}, 0, {-706, -1092}, {252, 122, 35, 255} }}, + {{ {1996, 169, 507}, 0, {-706, -580}, {252, 122, 35, 255} }}, + {{ {2006, 164, 520}, 0, {-715, -1092}, {175, 249, 98, 255} }}, + {{ {1994, 167, 510}, 0, {-715, -580}, {175, 249, 98, 255} }}, + {{ {2008, 163, 517}, 0, {-724, -1092}, {176, 210, 88, 255} }}, + {{ {1995, 165, 507}, 0, {-724, -580}, {176, 210, 88, 255} }}, + {{ {2006, 159, 518}, 0, {-760, -1092}, {187, 45, 96, 255} }}, + {{ {2006, 159, 518}, 0, {-760, -1092}, {187, 45, 96, 255} }}, + {{ {1995, 165, 507}, 0, {-724, -580}, {176, 210, 88, 255} }}, + {{ {1994, 161, 508}, 0, {-760, -580}, {187, 45, 96, 255} }}, + {{ {2006, 157, 518}, 0, {-778, -1092}, {190, 52, 95, 255} }}, + {{ {1993, 157, 509}, 0, {-796, -580}, {190, 52, 95, 255} }}, + {{ {1993, 159, 508}, 0, {-778, -580}, {190, 52, 95, 255} }}, + {{ {2004, 153, 520}, 0, {-814, -1092}, {190, 52, 95, 255} }}, + {{ {1991, 153, 510}, 0, {-832, -580}, {11, 125, 16, 255} }}, + {{ {1992, 155, 510}, 0, {-814, -580}, {190, 52, 95, 255} }}, + {{ {2003, 151, 520}, 0, {-832, -1092}, {11, 125, 16, 255} }}, + {{ {2003, 152, 521}, 0, {-841, -1092}, {77, 62, 176, 255} }}, + {{ {1990, 155, 511}, 0, {-841, -580}, {77, 62, 176, 255} }}, + {{ {1989, 161, 514}, 0, {-886, -580}, {77, 62, 176, 255} }}, + {{ {1990, 157, 512}, 0, {-859, -580}, {77, 62, 176, 255} }}, + {{ {1990, 156, 512}, 0, {-850, -580}, {77, 62, 176, 255} }}, + {{ {1990, 159, 513}, 0, {-868, -580}, {77, 62, 176, 255} }}, + {{ {1989, 160, 514}, 0, {-877, -580}, {77, 62, 176, 255} }}, + {{ {2015, 165, 508}, 0, {-697, -1092}, {78, 55, 173, 255} }}, + {{ {2015, 163, 509}, 0, {-688, -1092}, {63, 195, 164, 255} }}, + {{ {2013, 159, 510}, 0, {-670, -1092}, {63, 195, 164, 255} }}, + {{ {2005, 155, 519}, 0, {-796, -1092}, {190, 52, 95, 255} }}, + {{ {1890, 142, 658}, 0, {-698, -1092}, {245, 131, 239, 255} }}, + {{ {1888, 142, 660}, 0, {-685, -1092}, {245, 131, 239, 255} }}, + {{ {1886, 142, 662}, 0, {-672, -1092}, {48, 170, 176, 255} }}, + {{ {1877, 144, 648}, 0, {-698, -580}, {245, 131, 239, 255} }}, + {{ {1876, 144, 650}, 0, {-685, -580}, {245, 131, 239, 255} }}, + {{ {1874, 144, 652}, 0, {-672, -580}, {48, 170, 176, 255} }}, + {{ {1873, 139, 652}, 0, {-669, -580}, {66, 90, 196, 255} }}, + {{ {1886, 137, 662}, 0, {-669, -1092}, {66, 90, 196, 255} }}, + {{ {1874, 140, 651}, 0, {-666, -580}, {13, 126, 14, 255} }}, + {{ {1878, 140, 647}, 0, {-641, -580}, {13, 126, 14, 255} }}, + {{ {1887, 137, 660}, 0, {-660, -1092}, {13, 126, 14, 255} }}, + {{ {1886, 137, 662}, 0, {-669, -1092}, {66, 90, 196, 255} }}, + {{ {1886, 137, 661}, 0, {-666, -1092}, {13, 126, 14, 255} }}, + {{ {1887, 137, 660}, 0, {-660, -1092}, {13, 126, 14, 255} }}, + {{ {1878, 140, 647}, 0, {-641, -580}, {13, 126, 14, 255} }}, + {{ {1890, 137, 657}, 0, {-641, -1092}, {13, 126, 14, 255} }}, + {{ {1888, 137, 659}, 0, {-653, -1092}, {13, 126, 14, 255} }}, + {{ {1895, 137, 650}, 0, {-603, -1092}, {13, 126, 14, 255} }}, + {{ {1892, 137, 654}, 0, {-628, -1092}, {13, 126, 14, 255} }}, + {{ {1894, 137, 652}, 0, {-615, -1092}, {13, 126, 14, 255} }}, + {{ {1883, 140, 640}, 0, {-603, -580}, {13, 126, 14, 255} }}, + {{ {1896, 137, 649}, 0, {-593, -1092}, {239, 116, 49, 255} }}, + {{ {1896, 137, 649}, 0, {-596, -1092}, {13, 126, 14, 255} }}, + {{ {1884, 140, 639}, 0, {-596, -580}, {13, 126, 14, 255} }}, + {{ {1884, 140, 639}, 0, {-593, -580}, {239, 116, 49, 255} }}, + {{ {1886, 143, 637}, 0, {-590, -580}, {12, 126, 15, 255} }}, + {{ {1899, 140, 646}, 0, {-590, -1092}, {12, 126, 15, 255} }}, + {{ {1888, 139, 633}, 0, {-587, -580}, {81, 33, 164, 255} }}, + {{ {1901, 137, 643}, 0, {-587, -1092}, {81, 33, 164, 255} }}, + {{ {1886, 131, 635}, 0, {-583, -580}, {31, 150, 193, 255} }}, + {{ {1898, 128, 645}, 0, {-583, -1092}, {31, 150, 193, 255} }}, + {{ {1885, 131, 635}, 0, {-580, -580}, {233, 131, 254, 255} }}, + {{ {1884, 131, 636}, 0, {-1089, -580}, {233, 131, 254, 255} }}, + {{ {1895, 129, 648}, 0, {-1083, -1092}, {233, 131, 254, 255} }}, + {{ {1897, 129, 645}, 0, {-1092, -1092}, {233, 131, 254, 255} }}, + {{ {1897, 129, 646}, 0, {-1089, -1092}, {233, 131, 254, 255} }}, + {{ {1882, 132, 640}, 0, {-1076, -580}, {238, 131, 248, 255} }}, + {{ {1894, 129, 650}, 0, {-1076, -1092}, {238, 131, 248, 255} }}, + {{ {1880, 132, 642}, 0, {-1070, -580}, {242, 130, 243, 255} }}, + {{ {1879, 132, 644}, 0, {-1064, -580}, {242, 130, 243, 255} }}, + {{ {1877, 132, 645}, 0, {-1057, -580}, {242, 130, 243, 255} }}, + {{ {1876, 132, 647}, 0, {-1045, -580}, {242, 130, 243, 255} }}, + {{ {1887, 129, 658}, 0, {-1038, -1092}, {242, 130, 243, 255} }}, + {{ {1894, 129, 650}, 0, {-1076, -1092}, {238, 131, 248, 255} }}, + {{ {1888, 129, 657}, 0, {-1045, -1092}, {242, 130, 243, 255} }}, + {{ {1887, 129, 658}, 0, {-1038, -1092}, {242, 130, 243, 255} }}, + {{ {1889, 129, 655}, 0, {-1057, -1092}, {242, 130, 243, 255} }}, + {{ {1892, 129, 652}, 0, {-1070, -1092}, {242, 130, 243, 255} }}, + {{ {1891, 129, 653}, 0, {-1064, -1092}, {242, 130, 243, 255} }}, + {{ {1874, 131, 649}, 0, {-1032, -580}, {242, 130, 243, 255} }}, + {{ {1876, 132, 647}, 0, {-1045, -580}, {242, 130, 243, 255} }}, + {{ {1875, 132, 648}, 0, {-1038, -580}, {242, 130, 243, 255} }}, + {{ {1873, 131, 650}, 0, {-1025, -580}, {242, 130, 243, 255} }}, + {{ {1873, 131, 651}, 0, {-1019, -580}, {47, 169, 177, 255} }}, + {{ {1885, 129, 661}, 0, {-1019, -1092}, {47, 169, 177, 255} }}, + {{ {1886, 129, 660}, 0, {-1025, -1092}, {242, 130, 243, 255} }}, + {{ {1886, 129, 659}, 0, {-1032, -1092}, {242, 130, 243, 255} }}, + {{ {1872, 130, 651}, 0, {-1016, -580}, {47, 169, 177, 255} }}, + {{ {1885, 128, 661}, 0, {-1016, -1092}, {47, 169, 177, 255} }}, + {{ {1867, 130, 658}, 0, {-1013, -580}, {190, 166, 60, 255} }}, + {{ {1879, 128, 668}, 0, {-1013, -1092}, {190, 166, 60, 255} }}, + {{ {1870, 160, 661}, 0, {-1010, -580}, {177, 208, 86, 255} }}, + {{ {1882, 158, 671}, 0, {-1010, -1092}, {177, 208, 86, 255} }}, + {{ {1868, 163, 664}, 0, {-1006, -580}, {177, 10, 99, 255} }}, + {{ {1881, 161, 674}, 0, {-1006, -1092}, {177, 10, 99, 255} }}, + {{ {1871, 167, 661}, 0, {-1003, -580}, {0, 124, 30, 255} }}, + {{ {1884, 164, 671}, 0, {-1003, -1092}, {0, 124, 30, 255} }}, + {{ {1876, 164, 654}, 0, {-1000, -580}, {24, 125, 0, 255} }}, + {{ {1889, 162, 664}, 0, {-1000, -1092}, {24, 125, 0, 255} }}, + {{ {1879, 164, 651}, 0, {-987, -580}, {12, 125, 15, 255} }}, + {{ {1895, 162, 656}, 0, {-968, -1092}, {12, 125, 15, 255} }}, + {{ {1893, 162, 659}, 0, {-981, -1092}, {12, 125, 15, 255} }}, + {{ {1891, 162, 661}, 0, {-987, -1092}, {12, 125, 15, 255} }}, + {{ {1894, 162, 658}, 0, {-975, -1092}, {12, 125, 15, 255} }}, + {{ {1882, 132, 640}, 0, {-1076, -580}, {238, 131, 248, 255} }}, + {{ {1883, 131, 638}, 0, {-1083, -580}, {233, 131, 254, 255} }}, + {{ {1884, 131, 636}, 0, {-1089, -580}, {233, 131, 254, 255} }}, + {{ {1877, 144, 648}, 0, {-698, -580}, {245, 131, 239, 255} }}, + {{ {1878, 145, 647}, 0, {-704, -580}, {245, 131, 239, 255} }}, + {{ {1880, 145, 645}, 0, {-714, -580}, {242, 130, 244, 255} }}, + {{ {1890, 142, 658}, 0, {-698, -1092}, {245, 131, 239, 255} }}, + {{ {1891, 142, 657}, 0, {-704, -1092}, {245, 131, 239, 255} }}, + {{ {1892, 142, 655}, 0, {-714, -1092}, {242, 130, 244, 255} }}, + {{ {1893, 142, 654}, 0, {-717, -1092}, {238, 131, 248, 255} }}, + {{ {1880, 145, 644}, 0, {-717, -580}, {238, 131, 248, 255} }}, + {{ {1881, 145, 644}, 0, {-720, -580}, {238, 131, 248, 255} }}, + {{ {1895, 142, 652}, 0, {-733, -1092}, {238, 131, 248, 255} }}, + {{ {1882, 145, 643}, 0, {-727, -580}, {238, 131, 248, 255} }}, + {{ {1881, 145, 643}, 0, {-723, -580}, {238, 131, 248, 255} }}, + {{ {1896, 142, 651}, 0, {-739, -1092}, {238, 131, 248, 255} }}, + {{ {1895, 142, 651}, 0, {-736, -1092}, {238, 131, 248, 255} }}, + {{ {1882, 145, 642}, 0, {-730, -580}, {238, 131, 248, 255} }}, + {{ {1896, 142, 650}, 0, {-746, -1092}, {238, 131, 248, 255} }}, + {{ {1883, 144, 641}, 0, {-739, -580}, {238, 131, 248, 255} }}, + {{ {1883, 144, 641}, 0, {-736, -580}, {238, 131, 248, 255} }}, + {{ {1882, 144, 642}, 0, {-733, -580}, {238, 131, 248, 255} }}, + {{ {1884, 144, 640}, 0, {-746, -580}, {238, 131, 248, 255} }}, + {{ {1884, 144, 640}, 0, {-742, -580}, {238, 131, 248, 255} }}, + {{ {1884, 144, 640}, 0, {-749, -580}, {32, 152, 191, 255} }}, + {{ {1896, 142, 650}, 0, {-749, -1092}, {32, 152, 191, 255} }}, + {{ {1899, 149, 648}, 0, {-752, -1092}, {81, 33, 164, 255} }}, + {{ {1887, 152, 638}, 0, {-752, -580}, {81, 33, 164, 255} }}, + {{ {1897, 152, 651}, 0, {-755, -1092}, {12, 125, 16, 255} }}, + {{ {1885, 155, 641}, 0, {-755, -580}, {12, 125, 16, 255} }}, + {{ {1895, 150, 653}, 0, {-758, -1092}, {239, 116, 49, 255} }}, + {{ {1883, 152, 643}, 0, {-758, -580}, {239, 116, 49, 255} }}, + {{ {1894, 150, 654}, 0, {-774, -1092}, {12, 125, 15, 255} }}, + {{ {1895, 150, 653}, 0, {-758, -1092}, {239, 116, 49, 255} }}, + {{ {1883, 152, 643}, 0, {-758, -580}, {239, 116, 49, 255} }}, + {{ {1882, 152, 644}, 0, {-774, -580}, {12, 125, 15, 255} }}, + {{ {1876, 152, 652}, 0, {-828, -580}, {12, 125, 15, 255} }}, + {{ {1875, 152, 653}, 0, {-835, -580}, {66, 91, 197, 255} }}, + {{ {1887, 149, 663}, 0, {-835, -1092}, {66, 91, 197, 255} }}, + {{ {1888, 154, 663}, 0, {-838, -1092}, {49, 171, 176, 255} }}, + {{ {1875, 156, 654}, 0, {-838, -580}, {49, 171, 176, 255} }}, + {{ {1888, 154, 663}, 0, {-841, -1092}, {246, 131, 238, 255} }}, + {{ {1876, 156, 653}, 0, {-841, -580}, {246, 131, 238, 255} }}, + {{ {1891, 154, 659}, 0, {-863, -1092}, {246, 131, 238, 255} }}, + {{ {1876, 157, 652}, 0, {-847, -580}, {246, 131, 238, 255} }}, + {{ {1876, 157, 653}, 0, {-844, -580}, {246, 131, 238, 255} }}, + {{ {1877, 157, 651}, 0, {-854, -580}, {246, 131, 238, 255} }}, + {{ {1877, 157, 652}, 0, {-851, -580}, {246, 131, 238, 255} }}, + {{ {1893, 155, 657}, 0, {-876, -1092}, {242, 130, 243, 255} }}, + {{ {1879, 157, 649}, 0, {-863, -580}, {246, 131, 238, 255} }}, + {{ {1878, 157, 651}, 0, {-857, -580}, {246, 131, 238, 255} }}, + {{ {1878, 157, 650}, 0, {-860, -580}, {246, 131, 238, 255} }}, + {{ {1880, 157, 648}, 0, {-873, -580}, {246, 131, 238, 255} }}, + {{ {1879, 157, 649}, 0, {-866, -580}, {246, 131, 238, 255} }}, + {{ {1881, 157, 647}, 0, {-876, -580}, {242, 130, 243, 255} }}, + {{ {1894, 155, 656}, 0, {-882, -1092}, {239, 130, 247, 255} }}, + {{ {1897, 154, 653}, 0, {-895, -1092}, {239, 130, 247, 255} }}, + {{ {1885, 157, 641}, 0, {-901, -580}, {235, 131, 252, 255} }}, + {{ {1883, 157, 644}, 0, {-889, -580}, {239, 130, 247, 255} }}, + {{ {1882, 157, 646}, 0, {-882, -580}, {239, 130, 247, 255} }}, + {{ {1884, 157, 643}, 0, {-895, -580}, {239, 130, 247, 255} }}, + {{ {1895, 154, 654}, 0, {-889, -1092}, {239, 130, 247, 255} }}, + {{ {1896, 142, 650}, 0, {-746, -1092}, {238, 131, 248, 255} }}, + {{ {1896, 142, 650}, 0, {-742, -1092}, {238, 131, 248, 255} }}, + {{ {1896, 142, 651}, 0, {-739, -1092}, {238, 131, 248, 255} }}, + {{ {1887, 149, 663}, 0, {-835, -1092}, {66, 91, 197, 255} }}, + {{ {1888, 149, 662}, 0, {-828, -1092}, {12, 125, 15, 255} }}, + {{ {1894, 150, 654}, 0, {-774, -1092}, {12, 125, 15, 255} }}, + {{ {1807, 156, 738}, 0, {-988, -580}, {3, 133, 223, 255} }}, + {{ {1807, 156, 737}, 0, {-998, -580}, {3, 133, 223, 255} }}, + {{ {1808, 157, 737}, 0, {-1019, -580}, {253, 132, 230, 255} }}, + {{ {1820, 154, 747}, 0, {-1019, -1092}, {253, 132, 230, 255} }}, + {{ {1809, 157, 736}, 0, {-1040, -580}, {247, 131, 237, 255} }}, + {{ {1810, 157, 735}, 0, {-1061, -580}, {247, 131, 237, 255} }}, + {{ {1824, 155, 742}, 0, {-591, -1092}, {242, 130, 243, 255} }}, + {{ {1812, 157, 732}, 0, {-591, -580}, {242, 130, 243, 255} }}, + {{ {1824, 155, 742}, 0, {-601, -1092}, {233, 131, 254, 255} }}, + {{ {1812, 157, 732}, 0, {-601, -580}, {233, 131, 254, 255} }}, + {{ {1825, 154, 741}, 0, {-612, -1092}, {224, 133, 9, 255} }}, + {{ {1813, 157, 731}, 0, {-612, -580}, {224, 133, 9, 255} }}, + {{ {1825, 154, 740}, 0, {-622, -1092}, {216, 138, 21, 255} }}, + {{ {1813, 157, 730}, 0, {-622, -580}, {216, 138, 21, 255} }}, + {{ {1826, 154, 740}, 0, {-633, -1092}, {207, 144, 34, 255} }}, + {{ {1813, 156, 730}, 0, {-633, -580}, {207, 144, 34, 255} }}, + {{ {1826, 154, 739}, 0, {-643, -1092}, {199, 152, 46, 255} }}, + {{ {1814, 156, 729}, 0, {-643, -580}, {199, 152, 46, 255} }}, + {{ {1826, 153, 739}, 0, {-653, -1092}, {192, 163, 57, 255} }}, + {{ {1814, 156, 729}, 0, {-653, -580}, {192, 163, 57, 255} }}, + {{ {1827, 153, 738}, 0, {-664, -1092}, {185, 175, 68, 255} }}, + {{ {1814, 155, 728}, 0, {-664, -580}, {185, 175, 68, 255} }}, + {{ {1827, 152, 738}, 0, {-674, -1092}, {180, 189, 77, 255} }}, + {{ {1815, 155, 728}, 0, {-674, -580}, {180, 189, 77, 255} }}, + {{ {1827, 152, 738}, 0, {-685, -1092}, {177, 205, 85, 255} }}, + {{ {1815, 154, 728}, 0, {-685, -580}, {177, 205, 85, 255} }}, + {{ {1827, 151, 738}, 0, {-695, -1092}, {175, 221, 91, 255} }}, + {{ {1827, 152, 738}, 0, {-685, -1092}, {177, 205, 85, 255} }}, + {{ {1815, 154, 728}, 0, {-685, -580}, {177, 205, 85, 255} }}, + {{ {1815, 153, 728}, 0, {-695, -580}, {175, 221, 91, 255} }}, + {{ {1827, 150, 737}, 0, {-706, -1092}, {175, 238, 96, 255} }}, + {{ {1815, 153, 727}, 0, {-706, -580}, {175, 238, 96, 255} }}, + {{ {1827, 150, 737}, 0, {-716, -1092}, {176, 254, 98, 255} }}, + {{ {1815, 152, 727}, 0, {-716, -580}, {176, 254, 98, 255} }}, + {{ {1827, 149, 737}, 0, {-727, -1092}, {178, 14, 99, 255} }}, + {{ {1815, 151, 727}, 0, {-727, -580}, {178, 14, 99, 255} }}, + {{ {1827, 148, 737}, 0, {-737, -1092}, {182, 31, 99, 255} }}, + {{ {1814, 151, 727}, 0, {-737, -580}, {182, 31, 99, 255} }}, + {{ {1827, 147, 737}, 0, {-747, -1092}, {188, 48, 96, 255} }}, + {{ {1814, 150, 727}, 0, {-747, -580}, {188, 48, 96, 255} }}, + {{ {1826, 147, 737}, 0, {-758, -1092}, {195, 65, 90, 255} }}, + {{ {1814, 149, 728}, 0, {-758, -580}, {195, 65, 90, 255} }}, + {{ {1826, 146, 738}, 0, {-768, -1092}, {204, 81, 83, 255} }}, + {{ {1814, 149, 728}, 0, {-768, -580}, {205, 81, 83, 255} }}, + {{ {1826, 146, 738}, 0, {-779, -1092}, {215, 95, 74, 255} }}, + {{ {1813, 148, 728}, 0, {-779, -580}, {215, 95, 74, 255} }}, + {{ {1825, 146, 738}, 0, {-789, -1092}, {225, 105, 64, 255} }}, + {{ {1813, 148, 728}, 0, {-789, -580}, {225, 105, 64, 255} }}, + {{ {1825, 145, 739}, 0, {-800, -1092}, {235, 114, 53, 255} }}, + {{ {1813, 148, 729}, 0, {-800, -580}, {235, 114, 53, 255} }}, + {{ {1824, 145, 739}, 0, {-810, -1092}, {245, 119, 42, 255} }}, + {{ {1812, 147, 729}, 0, {-810, -580}, {245, 119, 42, 255} }}, + {{ {1824, 145, 740}, 0, {-821, -1092}, {254, 123, 32, 255} }}, + {{ {1812, 147, 730}, 0, {-821, -580}, {254, 123, 32, 255} }}, + {{ {1823, 145, 741}, 0, {-831, -1092}, {6, 125, 22, 255} }}, + {{ {1811, 147, 731}, 0, {-831, -580}, {6, 125, 22, 255} }}, + {{ {1823, 145, 741}, 0, {-841, -1092}, {14, 126, 13, 255} }}, + {{ {1811, 147, 731}, 0, {-841, -580}, {14, 126, 13, 255} }}, + {{ {1821, 145, 743}, 0, {-883, -1092}, {22, 125, 3, 255} }}, + {{ {1823, 145, 741}, 0, {-841, -1092}, {14, 126, 13, 255} }}, + {{ {1811, 147, 731}, 0, {-841, -580}, {14, 126, 13, 255} }}, + {{ {1809, 147, 733}, 0, {-883, -580}, {22, 125, 3, 255} }}, + {{ {1808, 147, 734}, 0, {-894, -580}, {26, 124, 253, 255} }}, + {{ {1808, 147, 734}, 0, {-904, -580}, {26, 124, 253, 255} }}, + {{ {1807, 147, 735}, 0, {-925, -580}, {26, 124, 253, 255} }}, + {{ {1808, 147, 735}, 0, {-915, -580}, {26, 124, 253, 255} }}, + {{ {1818, 145, 747}, 0, {-967, -1092}, {70, 83, 190, 255} }}, + {{ {1807, 148, 736}, 0, {-946, -580}, {26, 124, 253, 255} }}, + {{ {1807, 147, 736}, 0, {-936, -580}, {26, 124, 253, 255} }}, + {{ {1806, 148, 737}, 0, {-956, -580}, {26, 124, 253, 255} }}, + {{ {1806, 148, 737}, 0, {-967, -580}, {70, 83, 190, 255} }}, + {{ {1819, 154, 748}, 0, {-977, -1092}, {53, 178, 171, 255} }}, + {{ {1807, 156, 738}, 0, {-977, -580}, {53, 178, 171, 255} }}, + {{ {1819, 154, 748}, 0, {-988, -1092}, {3, 133, 223, 255} }}, + {{ {1807, 156, 738}, 0, {-988, -580}, {3, 133, 223, 255} }}, + {{ {1820, 154, 747}, 0, {-1019, -1092}, {253, 132, 230, 255} }}, + {{ {1820, 154, 747}, 0, {-998, -1092}, {3, 133, 223, 255} }}, + {{ {1931, 155, 610}, 0, {-857, -1092}, {246, 131, 238, 255} }}, + {{ {1931, 155, 610}, 0, {-854, -1092}, {246, 131, 238, 255} }}, + {{ {1930, 155, 611}, 0, {-851, -1092}, {246, 131, 238, 255} }}, + {{ {1930, 155, 611}, 0, {-847, -1092}, {246, 131, 238, 255} }}, + {{ {1929, 155, 612}, 0, {-841, -1092}, {246, 131, 238, 255} }}, + {{ {1930, 155, 612}, 0, {-844, -1092}, {246, 131, 238, 255} }}, + {{ {1919, 158, 600}, 0, {-854, -580}, {246, 131, 238, 255} }}, + {{ {1932, 155, 609}, 0, {-863, -1092}, {246, 131, 238, 255} }}, + {{ {1920, 158, 598}, 0, {-866, -580}, {246, 131, 238, 255} }}, + {{ {1919, 158, 599}, 0, {-860, -580}, {246, 131, 238, 255} }}, + {{ {1919, 158, 600}, 0, {-857, -580}, {246, 131, 238, 255} }}, + {{ {1920, 158, 599}, 0, {-863, -580}, {246, 131, 238, 255} }}, + {{ {1932, 155, 609}, 0, {-860, -1092}, {246, 131, 238, 255} }}, + {{ {1929, 155, 612}, 0, {-841, -1092}, {246, 131, 238, 255} }}, + {{ {1929, 155, 613}, 0, {-838, -1092}, {49, 171, 176, 255} }}, + {{ {1919, 158, 600}, 0, {-854, -580}, {246, 131, 238, 255} }}, + {{ {1934, 155, 607}, 0, {-873, -1092}, {246, 131, 238, 255} }}, + {{ {1933, 155, 608}, 0, {-866, -1092}, {246, 131, 238, 255} }}, + {{ {1932, 155, 609}, 0, {-863, -1092}, {246, 131, 238, 255} }}, + {{ {1920, 158, 598}, 0, {-866, -580}, {246, 131, 238, 255} }}, + {{ {1922, 158, 596}, 0, {-876, -580}, {242, 130, 243, 255} }}, + {{ {1921, 158, 597}, 0, {-873, -580}, {246, 131, 238, 255} }}, + {{ {1934, 155, 606}, 0, {-876, -1092}, {242, 130, 243, 255} }}, + {{ {1935, 155, 605}, 0, {-882, -1092}, {239, 130, 247, 255} }}, + {{ {1924, 158, 593}, 0, {-889, -580}, {239, 130, 247, 255} }}, + {{ {1923, 158, 595}, 0, {-882, -580}, {239, 130, 247, 255} }}, + {{ {1927, 158, 591}, 0, {-901, -580}, {235, 131, 252, 255} }}, + {{ {1925, 158, 592}, 0, {-895, -580}, {239, 130, 247, 255} }}, + {{ {1938, 155, 602}, 0, {-895, -1092}, {239, 130, 247, 255} }}, + {{ {1939, 155, 600}, 0, {-901, -1092}, {235, 131, 252, 255} }}, + {{ {1939, 155, 600}, 0, {-905, -1092}, {231, 132, 1, 255} }}, + {{ {1940, 155, 598}, 0, {-911, -1092}, {231, 132, 1, 255} }}, + {{ {1928, 157, 588}, 0, {-911, -580}, {231, 132, 1, 255} }}, + {{ {1928, 157, 589}, 0, {-908, -580}, {231, 132, 1, 255} }}, + {{ {1927, 158, 590}, 0, {-905, -580}, {231, 132, 1, 255} }}, + {{ {1941, 155, 598}, 0, {-914, -1092}, {29, 148, 195, 255} }}, + {{ {1929, 157, 588}, 0, {-914, -580}, {29, 148, 195, 255} }}, + {{ {1944, 163, 596}, 0, {-917, -1092}, {81, 36, 165, 255} }}, + {{ {1931, 165, 586}, 0, {-917, -580}, {81, 36, 165, 255} }}, + {{ {1942, 166, 600}, 0, {-921, -1092}, {14, 126, 13, 255} }}, + {{ {1929, 168, 590}, 0, {-921, -580}, {14, 126, 13, 255} }}, + {{ {1939, 163, 602}, 0, {-924, -1092}, {243, 118, 44, 255} }}, + {{ {1927, 166, 592}, 0, {-924, -580}, {243, 118, 44, 255} }}, + {{ {1939, 163, 602}, 0, {-927, -1092}, {12, 125, 15, 255} }}, + {{ {1927, 166, 592}, 0, {-927, -580}, {12, 125, 15, 255} }}, + {{ {1939, 163, 602}, 0, {-927, -1092}, {12, 125, 15, 255} }}, + {{ {1927, 166, 592}, 0, {-927, -580}, {12, 125, 15, 255} }}, + {{ {1927, 166, 592}, 0, {-930, -580}, {12, 125, 15, 255} }}, + {{ {1926, 166, 593}, 0, {-952, -580}, {12, 125, 15, 255} }}, + {{ {1927, 166, 592}, 0, {-933, -580}, {12, 125, 15, 255} }}, + {{ {1926, 166, 594}, 0, {-959, -580}, {12, 125, 15, 255} }}, + {{ {1926, 166, 594}, 0, {-956, -580}, {12, 125, 15, 255} }}, + {{ {1925, 166, 594}, 0, {-962, -580}, {12, 125, 15, 255} }}, + {{ {1925, 166, 595}, 0, {-965, -580}, {12, 125, 15, 255} }}, + {{ {1939, 163, 602}, 0, {-933, -1092}, {12, 125, 15, 255} }}, + {{ {1923, 166, 597}, 0, {-975, -580}, {12, 125, 15, 255} }}, + {{ {1924, 166, 595}, 0, {-968, -580}, {12, 125, 15, 255} }}, + {{ {1938, 163, 603}, 0, {-956, -1092}, {12, 125, 15, 255} }}, + {{ {1920, 165, 600}, 0, {-987, -580}, {12, 125, 15, 255} }}, + {{ {1922, 165, 598}, 0, {-981, -580}, {12, 125, 15, 255} }}, + {{ {1938, 163, 603}, 0, {-952, -1092}, {12, 125, 15, 255} }}, + {{ {1938, 155, 602}, 0, {-895, -1092}, {239, 130, 247, 255} }}, + {{ {1937, 155, 603}, 0, {-889, -1092}, {239, 130, 247, 255} }}, + {{ {1935, 155, 605}, 0, {-882, -1092}, {239, 130, 247, 255} }}, + {{ {1939, 163, 602}, 0, {-930, -1092}, {12, 125, 15, 255} }}, + {{ {1940, 155, 598}, 0, {-911, -1092}, {231, 132, 1, 255} }}, + {{ {1940, 155, 599}, 0, {-908, -1092}, {231, 132, 1, 255} }}, + {{ {1939, 155, 600}, 0, {-905, -1092}, {231, 132, 1, 255} }}, + {{ {1973, 156, 533}, 0, {-747, -580}, {158, 19, 177, 255} }}, + {{ {1973, 156, 533}, 0, {-743, -580}, {158, 19, 177, 255} }}, + {{ {1979, 157, 525}, 0, {-973, -580}, {158, 19, 177, 255} }}, + {{ {1979, 156, 525}, 0, {-969, -580}, {158, 19, 177, 255} }}, + {{ {1980, 158, 551}, 0, {-984, -1092}, {251, 131, 232, 255} }}, + {{ {1980, 158, 551}, 0, {-971, -1092}, {254, 132, 228, 255} }}, + {{ {1979, 158, 551}, 0, {-958, -1092}, {254, 132, 228, 255} }}, + {{ {1967, 160, 542}, 0, {-944, -580}, {52, 175, 173, 255} }}, + {{ {1979, 158, 552}, 0, {-944, -1092}, {52, 175, 173, 255} }}, + {{ {1979, 158, 552}, 0, {-944, -1092}, {52, 175, 173, 255} }}, + {{ {1966, 154, 541}, 0, {-931, -580}, {66, 90, 196, 255} }}, + {{ {1967, 160, 542}, 0, {-944, -580}, {52, 175, 173, 255} }}, + {{ {1978, 152, 551}, 0, {-931, -1092}, {66, 90, 196, 255} }}, + {{ {1971, 154, 535}, 0, {-904, -580}, {9, 125, 19, 255} }}, + {{ {1983, 152, 545}, 0, {-904, -1092}, {9, 125, 19, 255} }}, + {{ {1971, 154, 534}, 0, {-877, -580}, {255, 123, 31, 255} }}, + {{ {1984, 152, 544}, 0, {-877, -1092}, {255, 123, 31, 255} }}, + {{ {1972, 155, 534}, 0, {-863, -580}, {246, 120, 41, 255} }}, + {{ {1984, 152, 544}, 0, {-863, -1092}, {246, 120, 41, 255} }}, + {{ {1972, 155, 534}, 0, {-850, -580}, {237, 115, 51, 255} }}, + {{ {1984, 152, 544}, 0, {-850, -1092}, {237, 115, 51, 255} }}, + {{ {1972, 155, 533}, 0, {-836, -580}, {227, 107, 62, 255} }}, + {{ {1985, 153, 543}, 0, {-836, -1092}, {227, 107, 62, 255} }}, + {{ {1973, 155, 533}, 0, {-823, -580}, {215, 95, 74, 255} }}, + {{ {1985, 153, 543}, 0, {-823, -1092}, {215, 95, 74, 255} }}, + {{ {1973, 156, 533}, 0, {-809, -580}, {203, 79, 84, 255} }}, + {{ {1985, 153, 543}, 0, {-809, -1092}, {203, 79, 84, 255} }}, + {{ {1973, 156, 533}, 0, {-796, -580}, {193, 60, 93, 255} }}, + {{ {1985, 154, 543}, 0, {-796, -1092}, {193, 60, 93, 255} }}, + {{ {1973, 156, 533}, 0, {-782, -580}, {184, 38, 98, 255} }}, + {{ {1986, 154, 543}, 0, {-782, -1092}, {184, 38, 98, 255} }}, + {{ {1973, 157, 533}, 0, {-769, -580}, {179, 17, 99, 255} }}, + {{ {1986, 155, 543}, 0, {-769, -1092}, {179, 17, 99, 255} }}, + {{ {1973, 158, 533}, 0, {-755, -580}, {176, 252, 98, 255} }}, + {{ {1986, 155, 543}, 0, {-755, -1092}, {176, 252, 98, 255} }}, + {{ {1973, 158, 533}, 0, {-742, -580}, {175, 228, 94, 255} }}, + {{ {1986, 156, 543}, 0, {-742, -1092}, {175, 228, 94, 255} }}, + {{ {1973, 159, 533}, 0, {-728, -580}, {177, 204, 85, 255} }}, + {{ {1986, 156, 543}, 0, {-728, -1092}, {177, 204, 85, 255} }}, + {{ {1973, 159, 533}, 0, {-715, -580}, {182, 185, 75, 255} }}, + {{ {1986, 157, 543}, 0, {-715, -1092}, {182, 185, 75, 255} }}, + {{ {1986, 157, 543}, 0, {-715, -1092}, {182, 185, 75, 255} }}, + {{ {1973, 159, 533}, 0, {-702, -580}, {188, 170, 64, 255} }}, + {{ {1973, 159, 533}, 0, {-715, -580}, {182, 185, 75, 255} }}, + {{ {1986, 157, 543}, 0, {-702, -1092}, {188, 170, 64, 255} }}, + {{ {1973, 160, 534}, 0, {-688, -580}, {194, 159, 53, 255} }}, + {{ {1985, 157, 544}, 0, {-688, -1092}, {194, 159, 53, 255} }}, + {{ {1973, 160, 534}, 0, {-675, -580}, {201, 150, 43, 255} }}, + {{ {1985, 158, 544}, 0, {-675, -1092}, {201, 150, 43, 255} }}, + {{ {1973, 160, 534}, 0, {-661, -580}, {207, 144, 33, 255} }}, + {{ {1985, 158, 544}, 0, {-661, -1092}, {207, 144, 33, 255} }}, + {{ {1972, 161, 535}, 0, {-648, -580}, {214, 139, 24, 255} }}, + {{ {1985, 158, 545}, 0, {-648, -1092}, {214, 139, 24, 255} }}, + {{ {1972, 161, 535}, 0, {-634, -580}, {221, 135, 15, 255} }}, + {{ {1984, 158, 545}, 0, {-634, -1092}, {221, 135, 15, 255} }}, + {{ {1972, 161, 536}, 0, {-621, -580}, {227, 132, 5, 255} }}, + {{ {1984, 158, 546}, 0, {-621, -1092}, {227, 132, 5, 255} }}, + {{ {1971, 161, 536}, 0, {-607, -580}, {235, 131, 252, 255} }}, + {{ {1983, 158, 546}, 0, {-607, -1092}, {235, 131, 252, 255} }}, + {{ {1971, 161, 537}, 0, {-594, -580}, {243, 130, 242, 255} }}, + {{ {1983, 159, 547}, 0, {-594, -1092}, {243, 130, 242, 255} }}, + {{ {1968, 161, 541}, 0, {-984, -580}, {251, 131, 232, 255} }}, + {{ {1980, 158, 551}, 0, {-984, -1092}, {251, 131, 232, 255} }}, + {{ {1967, 160, 541}, 0, {-971, -580}, {254, 132, 228, 255} }}, + {{ {1967, 160, 542}, 0, {-944, -580}, {52, 175, 173, 255} }}, + {{ {1967, 160, 541}, 0, {-958, -580}, {254, 132, 228, 255} }}, + {{ {1877, 140, 673}, 0, {-600, -1092}, {74, 226, 157, 255} }}, + {{ {1876, 135, 673}, 0, {-592, -1092}, {74, 226, 157, 255} }}, + {{ {1875, 131, 674}, 0, {-584, -1092}, {80, 255, 157, 255} }}, + {{ {1880, 151, 672}, 0, {-616, -1092}, {74, 226, 157, 255} }}, + {{ {1871, 164, 661}, 0, {-631, -580}, {76, 64, 177, 255} }}, + {{ {1865, 142, 663}, 0, {-600, -580}, {74, 226, 157, 255} }}, + {{ {1864, 138, 663}, 0, {-592, -580}, {74, 226, 157, 255} }}, + {{ {1875, 131, 674}, 0, {-584, -1092}, {80, 255, 157, 255} }}, + {{ {1862, 134, 664}, 0, {-584, -580}, {80, 255, 157, 255} }}, + {{ {1864, 138, 663}, 0, {-592, -580}, {74, 226, 157, 255} }}, + {{ {1875, 131, 674}, 0, {-1092, -1092}, {81, 28, 163, 255} }}, + {{ {1875, 131, 674}, 0, {-1088, -1092}, {81, 28, 163, 255} }}, + {{ {1862, 132, 664}, 0, {-1077, -580}, {81, 28, 163, 255} }}, + {{ {1875, 129, 673}, 0, {-1061, -1092}, {81, 28, 163, 255} }}, + {{ {1875, 130, 674}, 0, {-1077, -1092}, {81, 28, 163, 255} }}, + {{ {1862, 130, 663}, 0, {-1049, -580}, {56, 182, 169, 255} }}, + {{ {1875, 128, 673}, 0, {-1049, -1092}, {56, 182, 169, 255} }}, + {{ {1857, 130, 670}, 0, {-1045, -580}, {199, 152, 46, 255} }}, + {{ {1869, 127, 680}, 0, {-1045, -1092}, {199, 152, 46, 255} }}, + {{ {1869, 131, 681}, 0, {-1037, -1092}, {175, 221, 91, 255} }}, + {{ {1856, 140, 673}, 0, {-1021, -580}, {175, 221, 91, 255} }}, + {{ {1868, 146, 686}, 0, {-998, -1092}, {242, 130, 243, 255} }}, + {{ {1868, 137, 683}, 0, {-1021, -1092}, {175, 221, 91, 255} }}, + {{ {1855, 148, 676}, 0, {-998, -580}, {242, 130, 243, 255} }}, + {{ {1851, 133, 678}, 0, {-950, -580}, {79, 252, 157, 255} }}, + {{ {1863, 131, 688}, 0, {-950, -1092}, {79, 252, 157, 255} }}, + {{ {1863, 128, 687}, 0, {-903, -1092}, {55, 180, 170, 255} }}, + {{ {1851, 130, 677}, 0, {-903, -580}, {55, 180, 170, 255} }}, + {{ {1844, 129, 685}, 0, {-899, -580}, {197, 154, 48, 255} }}, + {{ {1857, 127, 695}, 0, {-899, -1092}, {197, 154, 48, 255} }}, + {{ {1856, 147, 700}, 0, {-872, -1092}, {175, 226, 93, 255} }}, + {{ {1843, 159, 693}, 0, {-856, -580}, {175, 226, 93, 255} }}, + {{ {1856, 158, 704}, 0, {-852, -1092}, {183, 180, 72, 255} }}, + {{ {1856, 156, 703}, 0, {-856, -1092}, {175, 226, 93, 255} }}, + {{ {1843, 160, 694}, 0, {-852, -580}, {183, 180, 72, 255} }}, + {{ {1842, 162, 696}, 0, {-848, -580}, {175, 220, 91, 255} }}, + {{ {1854, 159, 706}, 0, {-848, -1092}, {175, 220, 91, 255} }}, + {{ {1843, 165, 695}, 0, {-844, -580}, {226, 106, 62, 255} }}, + {{ {1856, 162, 705}, 0, {-844, -1092}, {226, 106, 62, 255} }}, + {{ {1856, 162, 705}, 0, {-844, -1092}, {226, 106, 62, 255} }}, + {{ {1849, 165, 688}, 0, {-840, -580}, {62, 97, 203, 255} }}, + {{ {1843, 165, 695}, 0, {-844, -580}, {226, 106, 62, 255} }}, + {{ {1861, 163, 698}, 0, {-840, -1092}, {62, 97, 203, 255} }}, + {{ {1849, 162, 687}, 0, {-832, -580}, {81, 23, 161, 255} }}, + {{ {1862, 152, 695}, 0, {-817, -1092}, {81, 23, 161, 255} }}, + {{ {1862, 159, 697}, 0, {-832, -1092}, {81, 23, 161, 255} }}, + {{ {1849, 142, 682}, 0, {-793, -580}, {15, 126, 12, 255} }}, + {{ {1861, 140, 692}, 0, {-793, -1092}, {15, 126, 12, 255} }}, + {{ {1862, 141, 692}, 0, {-789, -1092}, {180, 23, 99, 255} }}, + {{ {1849, 144, 682}, 0, {-789, -580}, {180, 23, 99, 255} }}, + {{ {1851, 149, 682}, 0, {-777, -580}, {180, 23, 99, 255} }}, + {{ {1851, 150, 682}, 0, {-773, -580}, {180, 23, 99, 255} }}, + {{ {1852, 154, 682}, 0, {-765, -580}, {180, 23, 99, 255} }}, + {{ {1853, 158, 682}, 0, {-754, -580}, {180, 23, 99, 255} }}, + {{ {1865, 154, 692}, 0, {-757, -1092}, {180, 23, 99, 255} }}, + {{ {1864, 151, 692}, 0, {-765, -1092}, {180, 23, 99, 255} }}, + {{ {1863, 146, 692}, 0, {-777, -1092}, {180, 23, 99, 255} }}, + {{ {1862, 143, 692}, 0, {-785, -1092}, {180, 23, 99, 255} }}, + {{ {1864, 150, 692}, 0, {-769, -1092}, {180, 23, 99, 255} }}, + {{ {1863, 148, 692}, 0, {-773, -1092}, {180, 23, 99, 255} }}, + {{ {1865, 142, 663}, 0, {-600, -580}, {74, 226, 157, 255} }}, + {{ {1868, 153, 662}, 0, {-616, -580}, {74, 226, 157, 255} }}, + {{ {1871, 164, 661}, 0, {-631, -580}, {76, 64, 177, 255} }}, + {{ {1856, 140, 673}, 0, {-1021, -580}, {175, 221, 91, 255} }}, + {{ {1856, 133, 671}, 0, {-1037, -580}, {175, 221, 91, 255} }}, + {{ {1857, 130, 670}, 0, {-1045, -580}, {199, 152, 46, 255} }}, + {{ {1849, 154, 685}, 0, {-817, -580}, {81, 23, 161, 255} }}, + {{ {1862, 130, 663}, 0, {-1049, -580}, {56, 182, 169, 255} }}, + {{ {1862, 131, 663}, 0, {-1061, -580}, {81, 28, 163, 255} }}, + {{ {1862, 132, 664}, 0, {-1077, -580}, {81, 28, 163, 255} }}, + {{ {1843, 159, 693}, 0, {-856, -580}, {175, 226, 93, 255} }}, + {{ {1844, 150, 691}, 0, {-872, -580}, {175, 226, 93, 255} }}, + {{ {1844, 129, 685}, 0, {-899, -580}, {197, 154, 48, 255} }}, + {{ {1864, 151, 692}, 0, {-765, -1092}, {180, 23, 99, 255} }}, + {{ {1865, 153, 692}, 0, {-761, -1092}, {180, 23, 99, 255} }}, + {{ {1865, 154, 692}, 0, {-757, -1092}, {180, 23, 99, 255} }}, + {{ {1851, 149, 682}, 0, {-777, -580}, {180, 23, 99, 255} }}, + {{ {1850, 145, 682}, 0, {-785, -580}, {180, 23, 99, 255} }}, + {{ {1849, 144, 682}, 0, {-789, -580}, {180, 23, 99, 255} }}, + {{ {1852, 154, 682}, 0, {-765, -580}, {180, 23, 99, 255} }}, + {{ {1852, 152, 682}, 0, {-769, -580}, {180, 23, 99, 255} }}, + {{ {1851, 150, 682}, 0, {-773, -580}, {180, 23, 99, 255} }}, + {{ {1871, 164, 661}, 0, {-631, -580}, {76, 64, 177, 255} }}, + {{ {1883, 161, 671}, 0, {-631, -1092}, {76, 64, 177, 255} }}, + {{ {1880, 151, 672}, 0, {-616, -1092}, {74, 226, 157, 255} }}, + {{ {1877, 164, 679}, 0, {-635, -1092}, {248, 121, 39, 255} }}, + {{ {1865, 166, 669}, 0, {-635, -580}, {248, 121, 39, 255} }}, + {{ {1875, 161, 681}, 0, {-639, -1092}, {175, 242, 97, 255} }}, + {{ {1863, 163, 671}, 0, {-639, -580}, {175, 242, 97, 255} }}, + {{ {1876, 159, 678}, 0, {-643, -1092}, {177, 204, 85, 255} }}, + {{ {1864, 162, 668}, 0, {-643, -580}, {177, 204, 85, 255} }}, + {{ {1876, 154, 678}, 0, {-659, -1092}, {178, 15, 99, 255} }}, + {{ {1863, 156, 668}, 0, {-659, -580}, {178, 15, 99, 255} }}, + {{ {1874, 147, 678}, 0, {-675, -1092}, {178, 15, 99, 255} }}, + {{ {1874, 143, 678}, 0, {-683, -1092}, {178, 15, 99, 255} }}, + {{ {1861, 143, 668}, 0, {-691, -580}, {8, 125, 20, 255} }}, + {{ {1861, 146, 668}, 0, {-683, -580}, {178, 15, 99, 255} }}, + {{ {1862, 149, 668}, 0, {-675, -580}, {178, 15, 99, 255} }}, + {{ {1873, 140, 678}, 0, {-691, -1092}, {8, 125, 20, 255} }}, + {{ {1873, 142, 679}, 0, {-694, -1092}, {81, 36, 165, 255} }}, + {{ {1873, 144, 679}, 0, {-698, -1092}, {81, 36, 165, 255} }}, + {{ {1860, 148, 670}, 0, {-702, -580}, {81, 36, 165, 255} }}, + {{ {1861, 143, 668}, 0, {-691, -580}, {8, 125, 20, 255} }}, + {{ {1860, 146, 669}, 0, {-698, -580}, {81, 36, 165, 255} }}, + {{ {1860, 148, 670}, 0, {-702, -580}, {81, 36, 165, 255} }}, + {{ {1860, 144, 669}, 0, {-694, -580}, {81, 36, 165, 255} }}, + {{ {1873, 144, 679}, 0, {-698, -1092}, {81, 36, 165, 255} }}, + {{ {1860, 152, 671}, 0, {-710, -580}, {81, 36, 165, 255} }}, + {{ {1860, 150, 671}, 0, {-706, -580}, {81, 36, 165, 255} }}, + {{ {1872, 152, 682}, 0, {-714, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 148, 681}, 0, {-706, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 150, 681}, 0, {-710, -1092}, {81, 36, 165, 255} }}, + {{ {1873, 146, 680}, 0, {-702, -1092}, {81, 36, 165, 255} }}, + {{ {1979, 165, 553}, 0, {-1053, -1092}, {5, 125, 24, 255} }}, + {{ {1980, 165, 552}, 0, {-1037, -1092}, {5, 125, 24, 255} }}, + {{ {1981, 165, 551}, 0, {-1021, -1092}, {5, 125, 24, 255} }}, + {{ {1966, 167, 544}, 0, {-1053, -580}, {5, 125, 24, 255} }}, + {{ {1978, 164, 554}, 0, {-1061, -1092}, {20, 125, 5, 255} }}, + {{ {1966, 167, 544}, 0, {-1061, -580}, {20, 125, 5, 255} }}, + {{ {1975, 166, 559}, 0, {-1069, -1092}, {1, 124, 29, 255} }}, + {{ {1962, 169, 549}, 0, {-1069, -580}, {1, 124, 29, 255} }}, + {{ {1972, 163, 562}, 0, {-1077, -1092}, {178, 10, 99, 255} }}, + {{ {1959, 166, 552}, 0, {-1077, -580}, {178, 10, 99, 255} }}, + {{ {1973, 160, 559}, 0, {-1084, -1092}, {177, 207, 86, 255} }}, + {{ {1961, 163, 549}, 0, {-1084, -580}, {177, 207, 86, 255} }}, + {{ {1970, 130, 556}, 0, {-1092, -1092}, {190, 166, 60, 255} }}, + {{ {1958, 132, 546}, 0, {-1092, -580}, {190, 166, 60, 255} }}, + {{ {1820, 145, 744}, 0, {-904, -1092}, {26, 124, 253, 255} }}, + {{ {1821, 145, 744}, 0, {-894, -1092}, {26, 124, 253, 255} }}, + {{ {1821, 145, 743}, 0, {-883, -1092}, {22, 125, 3, 255} }}, + {{ {1820, 145, 745}, 0, {-915, -1092}, {26, 124, 253, 255} }}, + {{ {1819, 145, 746}, 0, {-936, -1092}, {26, 124, 253, 255} }}, + {{ {1818, 145, 747}, 0, {-967, -1092}, {70, 83, 190, 255} }}, + {{ {1819, 145, 746}, 0, {-946, -1092}, {26, 124, 253, 255} }}, + {{ {1818, 145, 747}, 0, {-967, -1092}, {70, 83, 190, 255} }}, + {{ {1819, 145, 747}, 0, {-956, -1092}, {26, 124, 253, 255} }}, + {{ {1819, 145, 746}, 0, {-946, -1092}, {26, 124, 253, 255} }}, + {{ {1819, 145, 746}, 0, {-936, -1092}, {26, 124, 253, 255} }}, + {{ {1820, 145, 745}, 0, {-925, -1092}, {26, 124, 253, 255} }}, + {{ {1820, 145, 745}, 0, {-915, -1092}, {26, 124, 253, 255} }}, + {{ {1890, 154, 660}, 0, {-857, -1092}, {246, 131, 238, 255} }}, + {{ {1890, 154, 661}, 0, {-854, -1092}, {246, 131, 238, 255} }}, + {{ {1889, 154, 662}, 0, {-851, -1092}, {246, 131, 238, 255} }}, + {{ {1888, 154, 663}, 0, {-841, -1092}, {246, 131, 238, 255} }}, + {{ {1888, 154, 663}, 0, {-844, -1092}, {246, 131, 238, 255} }}, + {{ {1889, 154, 662}, 0, {-847, -1092}, {246, 131, 238, 255} }}, + {{ {1891, 154, 659}, 0, {-863, -1092}, {246, 131, 238, 255} }}, + {{ {1891, 154, 660}, 0, {-860, -1092}, {246, 131, 238, 255} }}, + {{ {1893, 155, 657}, 0, {-876, -1092}, {242, 130, 243, 255} }}, + {{ {1892, 155, 658}, 0, {-873, -1092}, {246, 131, 238, 255} }}, + {{ {1891, 154, 659}, 0, {-866, -1092}, {246, 131, 238, 255} }}, + {{ {1885, 157, 641}, 0, {-901, -580}, {235, 131, 252, 255} }}, + {{ {1898, 154, 651}, 0, {-901, -1092}, {235, 131, 252, 255} }}, + {{ {1897, 154, 653}, 0, {-895, -1092}, {239, 130, 247, 255} }}, + {{ {1887, 156, 639}, 0, {-914, -580}, {29, 148, 195, 255} }}, + {{ {1900, 154, 648}, 0, {-914, -1092}, {29, 148, 195, 255} }}, + {{ {1902, 162, 647}, 0, {-917, -1092}, {81, 36, 165, 255} }}, + {{ {1890, 164, 637}, 0, {-917, -580}, {81, 36, 165, 255} }}, + {{ {1900, 165, 650}, 0, {-921, -1092}, {14, 126, 13, 255} }}, + {{ {1888, 167, 640}, 0, {-921, -580}, {14, 126, 13, 255} }}, + {{ {1898, 162, 652}, 0, {-924, -1092}, {243, 118, 44, 255} }}, + {{ {1886, 165, 642}, 0, {-924, -580}, {243, 118, 44, 255} }}, + {{ {1898, 162, 653}, 0, {-927, -1092}, {12, 125, 15, 255} }}, + {{ {1886, 165, 643}, 0, {-927, -580}, {12, 125, 15, 255} }}, + {{ {1885, 165, 643}, 0, {-933, -580}, {12, 125, 15, 255} }}, + {{ {1886, 165, 643}, 0, {-930, -580}, {12, 125, 15, 255} }}, + {{ {1898, 162, 653}, 0, {-927, -1092}, {12, 125, 15, 255} }}, + {{ {1885, 165, 643}, 0, {-933, -580}, {12, 125, 15, 255} }}, + {{ {1884, 165, 644}, 0, {-959, -580}, {12, 125, 15, 255} }}, + {{ {1885, 165, 644}, 0, {-952, -580}, {12, 125, 15, 255} }}, + {{ {1884, 165, 644}, 0, {-956, -580}, {12, 125, 15, 255} }}, + {{ {1883, 165, 646}, 0, {-968, -580}, {12, 125, 15, 255} }}, + {{ {1884, 165, 645}, 0, {-962, -580}, {12, 125, 15, 255} }}, + {{ {1884, 165, 645}, 0, {-965, -580}, {12, 125, 15, 255} }}, + {{ {1879, 164, 651}, 0, {-987, -580}, {12, 125, 15, 255} }}, + {{ {1882, 165, 648}, 0, {-975, -580}, {12, 125, 15, 255} }}, + {{ {1880, 165, 649}, 0, {-981, -580}, {12, 125, 15, 255} }}, + {{ {1895, 162, 656}, 0, {-968, -1092}, {12, 125, 15, 255} }}, + {{ {1898, 162, 653}, 0, {-933, -1092}, {12, 125, 15, 255} }}, + {{ {1897, 162, 654}, 0, {-952, -1092}, {12, 125, 15, 255} }}, + {{ {1896, 162, 655}, 0, {-962, -1092}, {12, 125, 15, 255} }}, + {{ {1896, 162, 655}, 0, {-965, -1092}, {12, 125, 15, 255} }}, + {{ {1897, 162, 654}, 0, {-956, -1092}, {12, 125, 15, 255} }}, + {{ {1897, 162, 654}, 0, {-959, -1092}, {12, 125, 15, 255} }}, + {{ {1898, 162, 653}, 0, {-930, -1092}, {12, 125, 15, 255} }}, + {{ {1915, 132, 599}, 0, {-1025, -580}, {242, 130, 243, 255} }}, + {{ {1915, 132, 598}, 0, {-1032, -580}, {242, 130, 243, 255} }}, + {{ {1916, 132, 598}, 0, {-1038, -580}, {242, 130, 243, 255} }}, + {{ {1917, 133, 597}, 0, {-1045, -580}, {242, 130, 243, 255} }}, + {{ {1918, 133, 595}, 0, {-1057, -580}, {242, 130, 243, 255} }}, + {{ {1895, 142, 652}, 0, {-733, -1092}, {238, 131, 248, 255} }}, + {{ {1894, 142, 652}, 0, {-730, -1092}, {238, 131, 248, 255} }}, + {{ {1894, 142, 653}, 0, {-727, -1092}, {238, 131, 248, 255} }}, + {{ {1893, 142, 654}, 0, {-717, -1092}, {238, 131, 248, 255} }}, + {{ {1893, 142, 654}, 0, {-720, -1092}, {238, 131, 248, 255} }}, + {{ {1894, 142, 653}, 0, {-723, -1092}, {238, 131, 248, 255} }}, + {{ {1977, 145, 550}, 0, {-580, -1092}, {47, 168, 177, 255} }}, + {{ {1965, 147, 540}, 0, {-580, -580}, {47, 168, 177, 255} }}, + {{ {1970, 147, 534}, 0, {-618, -580}, {237, 131, 250, 255} }}, + {{ {1982, 145, 544}, 0, {-618, -1092}, {237, 131, 250, 255} }}, + {{ {1971, 147, 533}, 0, {-656, -580}, {227, 133, 7, 255} }}, + {{ {1983, 145, 543}, 0, {-656, -1092}, {227, 133, 7, 255} }}, + {{ {1984, 145, 543}, 0, {-675, -1092}, {219, 136, 17, 255} }}, + {{ {1971, 147, 533}, 0, {-675, -580}, {219, 136, 17, 255} }}, + {{ {1984, 144, 542}, 0, {-694, -1092}, {212, 140, 26, 255} }}, + {{ {1972, 147, 532}, 0, {-694, -580}, {212, 140, 26, 255} }}, + {{ {1984, 144, 542}, 0, {-713, -1092}, {205, 146, 37, 255} }}, + {{ {1972, 146, 532}, 0, {-713, -580}, {205, 146, 37, 255} }}, + {{ {1985, 144, 541}, 0, {-732, -1092}, {197, 155, 49, 255} }}, + {{ {1972, 146, 531}, 0, {-732, -580}, {197, 155, 49, 255} }}, + {{ {1985, 143, 541}, 0, {-751, -1092}, {189, 167, 61, 255} }}, + {{ {1973, 146, 531}, 0, {-751, -580}, {189, 167, 61, 255} }}, + {{ {1985, 143, 540}, 0, {-770, -1092}, {182, 184, 74, 255} }}, + {{ {1973, 145, 530}, 0, {-770, -580}, {182, 184, 74, 255} }}, + {{ {1985, 142, 540}, 0, {-789, -1092}, {177, 205, 86, 255} }}, + {{ {1973, 145, 530}, 0, {-789, -580}, {177, 205, 86, 255} }}, + {{ {1985, 142, 540}, 0, {-808, -1092}, {175, 230, 94, 255} }}, + {{ {1973, 144, 530}, 0, {-808, -580}, {175, 230, 94, 255} }}, + {{ {1985, 141, 540}, 0, {-827, -1092}, {176, 254, 98, 255} }}, + {{ {1973, 144, 530}, 0, {-827, -580}, {176, 254, 98, 255} }}, + {{ {1985, 141, 540}, 0, {-846, -1092}, {180, 22, 99, 255} }}, + {{ {1973, 143, 530}, 0, {-846, -580}, {180, 22, 99, 255} }}, + {{ {1985, 140, 540}, 0, {-865, -1092}, {187, 45, 96, 255} }}, + {{ {1973, 143, 530}, 0, {-865, -580}, {187, 45, 96, 255} }}, + {{ {1985, 140, 540}, 0, {-884, -1092}, {196, 67, 90, 255} }}, + {{ {1972, 142, 530}, 0, {-884, -580}, {196, 67, 90, 255} }}, + {{ {1985, 139, 540}, 0, {-903, -1092}, {207, 85, 81, 255} }}, + {{ {1972, 142, 530}, 0, {-903, -580}, {207, 85, 81, 255} }}, + {{ {1984, 139, 541}, 0, {-922, -1092}, {218, 98, 71, 255} }}, + {{ {1985, 139, 540}, 0, {-903, -1092}, {207, 85, 81, 255} }}, + {{ {1972, 142, 530}, 0, {-903, -580}, {207, 85, 81, 255} }}, + {{ {1972, 141, 531}, 0, {-922, -580}, {218, 98, 71, 255} }}, + {{ {1984, 139, 541}, 0, {-941, -1092}, {228, 108, 61, 255} }}, + {{ {1972, 141, 531}, 0, {-941, -580}, {228, 108, 61, 255} }}, + {{ {1984, 138, 541}, 0, {-960, -1092}, {237, 115, 51, 255} }}, + {{ {1971, 141, 531}, 0, {-960, -580}, {237, 115, 51, 255} }}, + {{ {1983, 138, 542}, 0, {-978, -1092}, {245, 119, 42, 255} }}, + {{ {1971, 141, 532}, 0, {-978, -580}, {245, 119, 42, 255} }}, + {{ {1983, 138, 542}, 0, {-997, -1092}, {254, 123, 33, 255} }}, + {{ {1971, 140, 532}, 0, {-997, -580}, {254, 123, 33, 255} }}, + {{ {1970, 140, 533}, 0, {-1035, -580}, {8, 125, 20, 255} }}, + {{ {1982, 138, 543}, 0, {-1035, -1092}, {8, 125, 20, 255} }}, + {{ {1977, 138, 549}, 0, {-1073, -1092}, {66, 90, 196, 255} }}, + {{ {1964, 140, 540}, 0, {-1073, -580}, {66, 90, 196, 255} }}, + {{ {1977, 145, 550}, 0, {-1092, -1092}, {47, 168, 177, 255} }}, + {{ {1965, 147, 540}, 0, {-1092, -580}, {47, 168, 177, 255} }}, + {{ {1925, 141, 588}, 0, {-593, -580}, {239, 116, 49, 255} }}, + {{ {1923, 141, 591}, 0, {-615, -580}, {13, 126, 14, 255} }}, + {{ {1919, 141, 596}, 0, {-641, -580}, {13, 126, 14, 255} }}, + {{ {1915, 140, 601}, 0, {-669, -580}, {66, 90, 196, 255} }}, + {{ {1916, 141, 600}, 0, {-660, -580}, {13, 126, 14, 255} }}, + {{ {1872, 156, 683}, 0, {-722, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 154, 683}, 0, {-718, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 152, 682}, 0, {-714, -1092}, {81, 36, 165, 255} }}, + {{ {1871, 160, 685}, 0, {-730, -1092}, {81, 36, 165, 255} }}, + {{ {1859, 164, 675}, 0, {-734, -580}, {81, 36, 165, 255} }}, + {{ {1860, 159, 673}, 0, {-722, -580}, {81, 36, 165, 255} }}, + {{ {1860, 152, 671}, 0, {-710, -580}, {81, 36, 165, 255} }}, + {{ {1860, 157, 673}, 0, {-718, -580}, {81, 36, 165, 255} }}, + {{ {1860, 155, 672}, 0, {-714, -580}, {81, 36, 165, 255} }}, + {{ {1860, 159, 673}, 0, {-722, -580}, {81, 36, 165, 255} }}, + {{ {1859, 160, 674}, 0, {-726, -580}, {81, 36, 165, 255} }}, + {{ {1859, 164, 675}, 0, {-734, -580}, {81, 36, 165, 255} }}, + {{ {1859, 162, 675}, 0, {-730, -580}, {81, 36, 165, 255} }}, + {{ {1871, 160, 685}, 0, {-730, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 158, 684}, 0, {-726, -1092}, {81, 36, 165, 255} }}, + {{ {1872, 156, 683}, 0, {-722, -1092}, {81, 36, 165, 255} }}, + {{ {1871, 163, 686}, 0, {-738, -1092}, {54, 107, 215, 255} }}, + {{ {1871, 161, 685}, 0, {-734, -1092}, {81, 36, 165, 255} }}, + {{ {1859, 165, 676}, 0, {-738, -580}, {54, 107, 215, 255} }}, + {{ {1865, 161, 693}, 0, {-742, -1092}, {190, 55, 94, 255} }}, + {{ {1853, 163, 683}, 0, {-742, -580}, {190, 55, 94, 255} }}, + {{ {1866, 158, 692}, 0, {-746, -1092}, {175, 237, 96, 255} }}, + {{ {1853, 161, 682}, 0, {-746, -580}, {175, 237, 96, 255} }}, + {{ {1853, 159, 682}, 0, {-750, -580}, {180, 23, 99, 255} }}, + {{ {1853, 158, 682}, 0, {-754, -580}, {180, 23, 99, 255} }}, + {{ {1865, 154, 692}, 0, {-757, -1092}, {180, 23, 99, 255} }}, + {{ {1865, 156, 692}, 0, {-754, -1092}, {180, 23, 99, 255} }}, + {{ {1865, 157, 691}, 0, {-750, -1092}, {180, 23, 99, 255} }}, + {{ {1952, 130, 578}, 0, {-605, -1092}, {248, 131, 236, 255} }}, + {{ {1941, 129, 592}, 0, {-580, -1092}, {190, 166, 60, 255} }}, + {{ {1929, 132, 582}, 0, {-580, -580}, {190, 166, 60, 255} }}, + {{ {1940, 132, 568}, 0, {-605, -580}, {248, 131, 236, 255} }}, + {{ {1953, 130, 577}, 0, {-618, -1092}, {1, 133, 225, 255} }}, + {{ {1941, 132, 567}, 0, {-618, -580}, {1, 133, 225, 255} }}, + {{ {1955, 131, 575}, 0, {-630, -1092}, {10, 136, 215, 255} }}, + {{ {1942, 133, 565}, 0, {-630, -580}, {10, 136, 215, 255} }}, + {{ {1956, 131, 573}, 0, {-643, -1092}, {20, 142, 204, 255} }}, + {{ {1944, 134, 563}, 0, {-643, -580}, {20, 142, 204, 255} }}, + {{ {1957, 132, 572}, 0, {-655, -1092}, {31, 150, 193, 255} }}, + {{ {1945, 135, 562}, 0, {-655, -580}, {31, 150, 193, 255} }}, + {{ {1959, 134, 571}, 0, {-668, -1092}, {42, 162, 182, 255} }}, + {{ {1959, 134, 571}, 0, {-668, -1092}, {42, 162, 182, 255} }}, + {{ {1945, 135, 562}, 0, {-655, -580}, {31, 150, 193, 255} }}, + {{ {1946, 136, 561}, 0, {-668, -580}, {42, 162, 182, 255} }}, + {{ {1960, 135, 570}, 0, {-680, -1092}, {52, 176, 172, 255} }}, + {{ {1948, 138, 560}, 0, {-680, -580}, {52, 176, 172, 255} }}, + {{ {1961, 137, 569}, 0, {-693, -1092}, {61, 192, 165, 255} }}, + {{ {1949, 139, 559}, 0, {-693, -580}, {61, 192, 165, 255} }}, + {{ {1962, 139, 568}, 0, {-705, -1092}, {69, 210, 160, 255} }}, + {{ {1949, 141, 558}, 0, {-705, -580}, {69, 210, 160, 255} }}, + {{ {1963, 141, 568}, 0, {-718, -1092}, {74, 227, 157, 255} }}, + {{ {1950, 144, 558}, 0, {-718, -580}, {74, 227, 157, 255} }}, + {{ {1963, 144, 568}, 0, {-730, -1092}, {78, 243, 157, 255} }}, + {{ {1951, 147, 558}, 0, {-730, -580}, {78, 243, 157, 255} }}, + {{ {1964, 147, 568}, 0, {-743, -1092}, {80, 2, 158, 255} }}, + {{ {1951, 150, 558}, 0, {-743, -580}, {80, 2, 158, 255} }}, + {{ {1964, 150, 568}, 0, {-755, -1092}, {81, 17, 160, 255} }}, + {{ {1951, 152, 558}, 0, {-755, -580}, {81, 17, 160, 255} }}, + {{ {1964, 152, 569}, 0, {-768, -1092}, {81, 33, 164, 255} }}, + {{ {1951, 154, 559}, 0, {-768, -580}, {81, 33, 164, 255} }}, + {{ {1963, 154, 570}, 0, {-780, -1092}, {80, 48, 169, 255} }}, + {{ {1951, 157, 560}, 0, {-780, -580}, {80, 48, 169, 255} }}, + {{ {1963, 156, 571}, 0, {-793, -1092}, {77, 63, 176, 255} }}, + {{ {1951, 159, 561}, 0, {-793, -580}, {77, 63, 176, 255} }}, + {{ {1963, 158, 572}, 0, {-805, -1092}, {72, 77, 185, 255} }}, + {{ {1950, 161, 562}, 0, {-805, -580}, {72, 77, 185, 255} }}, + {{ {1962, 160, 573}, 0, {-818, -1092}, {67, 89, 195, 255} }}, + {{ {1949, 162, 563}, 0, {-818, -580}, {67, 89, 195, 255} }}, + {{ {1961, 161, 575}, 0, {-830, -1092}, {60, 100, 206, 255} }}, + {{ {1949, 164, 565}, 0, {-830, -580}, {60, 100, 206, 255} }}, + {{ {1960, 163, 576}, 0, {-843, -1092}, {52, 109, 218, 255} }}, + {{ {1948, 165, 566}, 0, {-843, -580}, {52, 109, 218, 255} }}, + {{ {1959, 164, 578}, 0, {-855, -1092}, {43, 117, 231, 255} }}, + {{ {1959, 164, 578}, 0, {-855, -1092}, {43, 117, 231, 255} }}, + {{ {1948, 165, 566}, 0, {-843, -580}, {52, 109, 218, 255} }}, + {{ {1946, 166, 568}, 0, {-855, -580}, {43, 117, 231, 255} }}, + {{ {1957, 164, 580}, 0, {-867, -1092}, {34, 122, 244, 255} }}, + {{ {1945, 167, 570}, 0, {-867, -580}, {34, 122, 244, 255} }}, + {{ {1956, 165, 581}, 0, {-880, -1092}, {24, 125, 1, 255} }}, + {{ {1944, 167, 572}, 0, {-880, -580}, {24, 125, 1, 255} }}, + {{ {1955, 165, 583}, 0, {-892, -1092}, {14, 126, 13, 255} }}, + {{ {1942, 167, 573}, 0, {-892, -580}, {14, 126, 13, 255} }}, + {{ {1942, 167, 574}, 0, {-905, -580}, {9, 125, 19, 255} }}, + {{ {1953, 165, 585}, 0, {-930, -1092}, {9, 125, 19, 255} }}, + {{ {1940, 167, 576}, 0, {-955, -580}, {9, 125, 19, 255} }}, + {{ {1941, 167, 575}, 0, {-930, -580}, {9, 125, 19, 255} }}, + {{ {1951, 164, 588}, 0, {-980, -1092}, {4, 124, 25, 255} }}, + {{ {1939, 167, 578}, 0, {-980, -580}, {4, 124, 25, 255} }}, + {{ {1937, 166, 580}, 0, {-1042, -580}, {18, 125, 7, 255} }}, + {{ {1949, 164, 590}, 0, {-1042, -1092}, {18, 125, 7, 255} }}, + {{ {1946, 165, 595}, 0, {-1055, -1092}, {1, 124, 28, 255} }}, + {{ {1933, 168, 585}, 0, {-1055, -580}, {1, 124, 28, 255} }}, + {{ {1942, 162, 598}, 0, {-1067, -1092}, {178, 11, 99, 255} }}, + {{ {1930, 165, 588}, 0, {-1067, -580}, {178, 11, 99, 255} }}, + {{ {1944, 159, 595}, 0, {-1080, -1092}, {177, 208, 86, 255} }}, + {{ {1932, 162, 585}, 0, {-1080, -580}, {177, 208, 86, 255} }}, + {{ {1941, 129, 592}, 0, {-1092, -1092}, {190, 166, 60, 255} }}, + {{ {1929, 132, 582}, 0, {-1092, -580}, {190, 166, 60, 255} }}, + {{ {1952, 165, 586}, 0, {-955, -1092}, {9, 125, 19, 255} }}, + {{ {1954, 165, 584}, 0, {-905, -1092}, {9, 125, 19, 255} }}, + {{ {1983, 159, 521}, 0, {-1002, -580}, {180, 191, 79, 255} }}, + {{ {1985, 152, 517}, 0, {-1038, -580}, {180, 191, 79, 255} }}, + {{ {1986, 145, 514}, 0, {-1074, -580}, {175, 222, 92, 255} }}, + {{ {1997, 150, 527}, 0, {-1038, -1092}, {180, 191, 79, 255} }}, + {{ {1999, 142, 524}, 0, {-1074, -1092}, {175, 222, 92, 255} }}, + {{ {1997, 131, 522}, 0, {-1083, -1092}, {190, 166, 60, 255} }}, + {{ {1999, 142, 524}, 0, {-1074, -1092}, {175, 222, 92, 255} }}, + {{ {1986, 145, 514}, 0, {-1074, -580}, {175, 222, 92, 255} }}, + {{ {1985, 133, 512}, 0, {-1083, -580}, {190, 166, 60, 255} }}, + {{ {2003, 131, 515}, 0, {-1092, -1092}, {47, 168, 177, 255} }}, + {{ {1991, 133, 505}, 0, {-1092, -580}, {47, 169, 177, 255} }}, + {{ {1997, 150, 527}, 0, {-1038, -1092}, {180, 191, 79, 255} }}, + {{ {1995, 156, 531}, 0, {-1002, -1092}, {180, 191, 79, 255} }}, + {{ {1983, 159, 521}, 0, {-1002, -580}, {180, 191, 79, 255} }}, + {{ {1982, 161, 523}, 0, {-984, -580}, {182, 185, 75, 255} }}, + {{ {1994, 159, 533}, 0, {-984, -1092}, {182, 185, 75, 255} }}, + {{ {1994, 161, 534}, 0, {-967, -1092}, {195, 157, 51, 255} }}, + {{ {1981, 163, 524}, 0, {-967, -580}, {195, 157, 51, 255} }}, + {{ {1979, 165, 527}, 0, {-958, -580}, {176, 213, 89, 255} }}, + {{ {1992, 162, 537}, 0, {-958, -1092}, {176, 213, 89, 255} }}, + {{ {1981, 168, 526}, 0, {-949, -580}, {226, 106, 63, 255} }}, + {{ {1993, 166, 536}, 0, {-949, -1092}, {226, 106, 63, 255} }}, + {{ {1987, 168, 518}, 0, {-940, -580}, {53, 109, 217, 255} }}, + {{ {1999, 166, 528}, 0, {-940, -1092}, {53, 109, 217, 255} }}, + {{ {1988, 166, 517}, 0, {-922, -580}, {77, 62, 176, 255} }}, + {{ {1989, 161, 514}, 0, {-886, -580}, {77, 62, 176, 255} }}, + {{ {2001, 161, 526}, 0, {-904, -1092}, {77, 62, 176, 255} }}, + {{ {2000, 164, 527}, 0, {-922, -1092}, {77, 62, 176, 255} }}, + {{ {2003, 152, 521}, 0, {-841, -1092}, {77, 62, 176, 255} }}, + {{ {2002, 156, 523}, 0, {-868, -1092}, {77, 62, 176, 255} }}, + {{ {2001, 159, 524}, 0, {-886, -1092}, {77, 62, 176, 255} }}, + {{ {2002, 158, 524}, 0, {-877, -1092}, {77, 62, 176, 255} }}, + {{ {2002, 154, 522}, 0, {-850, -1092}, {77, 62, 176, 255} }}, + {{ {2002, 155, 522}, 0, {-859, -1092}, {77, 62, 176, 255} }}, + {{ {1988, 164, 516}, 0, {-904, -580}, {77, 62, 176, 255} }}, + {{ {1862, 133, 664}, 0, {-1088, -580}, {81, 28, 163, 255} }}, + {{ {1862, 133, 664}, 0, {-580, -580}, {81, 28, 163, 255} }}, + {{ {1862, 134, 664}, 0, {-584, -580}, {80, 255, 157, 255} }}, + {{ {1862, 132, 664}, 0, {-1077, -580}, {81, 28, 163, 255} }}, + {{ {1883, 140, 640}, 0, {-603, -580}, {13, 126, 14, 255} }}, + {{ {1881, 140, 642}, 0, {-615, -580}, {13, 126, 14, 255} }}, + {{ {1879, 140, 644}, 0, {-628, -580}, {13, 126, 14, 255} }}, + {{ {1878, 140, 647}, 0, {-641, -580}, {13, 126, 14, 255} }}, + {{ {1876, 140, 649}, 0, {-653, -580}, {13, 126, 14, 255} }}, + {{ {1875, 140, 650}, 0, {-660, -580}, {13, 126, 14, 255} }}, + {{ {1874, 140, 651}, 0, {-666, -580}, {13, 126, 14, 255} }}, + {{ {1807, 140, 734}, 0, {-1026, -580}, {232, 131, 0, 255} }}, + {{ {1808, 139, 733}, 0, {-1045, -580}, {236, 131, 250, 255} }}, + {{ {1808, 139, 732}, 0, {-1064, -580}, {236, 131, 250, 255} }}, + {{ {1820, 137, 743}, 0, {-1045, -1092}, {236, 131, 250, 255} }}, + {{ {1823, 137, 740}, 0, {-590, -1092}, {241, 130, 244, 255} }}, + {{ {1810, 139, 730}, 0, {-590, -580}, {241, 130, 244, 255} }}, + {{ {1824, 137, 738}, 0, {-599, -1092}, {250, 131, 233, 255} }}, + {{ {1812, 139, 728}, 0, {-599, -580}, {250, 131, 233, 255} }}, + {{ {1825, 137, 737}, 0, {-609, -1092}, {3, 133, 223, 255} }}, + {{ {1813, 140, 727}, 0, {-609, -580}, {3, 133, 223, 255} }}, + {{ {1826, 138, 735}, 0, {-618, -1092}, {12, 137, 212, 255} }}, + {{ {1814, 140, 725}, 0, {-618, -580}, {12, 137, 212, 255} }}, + {{ {1827, 138, 734}, 0, {-628, -1092}, {22, 143, 201, 255} }}, + {{ {1815, 141, 724}, 0, {-628, -580}, {22, 143, 201, 255} }}, + {{ {1828, 139, 733}, 0, {-637, -1092}, {32, 152, 191, 255} }}, + {{ {1816, 142, 723}, 0, {-637, -580}, {32, 152, 191, 255} }}, + {{ {1829, 140, 732}, 0, {-647, -1092}, {43, 163, 181, 255} }}, + {{ {1817, 143, 722}, 0, {-647, -580}, {43, 163, 181, 255} }}, + {{ {1830, 142, 731}, 0, {-656, -1092}, {52, 176, 172, 255} }}, + {{ {1818, 144, 721}, 0, {-656, -580}, {52, 176, 172, 255} }}, + {{ {1831, 143, 731}, 0, {-666, -1092}, {61, 192, 165, 255} }}, + {{ {1831, 143, 731}, 0, {-666, -1092}, {61, 192, 165, 255} }}, + {{ {1818, 144, 721}, 0, {-656, -580}, {52, 176, 172, 255} }}, + {{ {1819, 145, 721}, 0, {-666, -580}, {61, 192, 165, 255} }}, + {{ {1832, 144, 730}, 0, {-675, -1092}, {68, 208, 160, 255} }}, + {{ {1819, 147, 720}, 0, {-675, -580}, {68, 208, 160, 255} }}, + {{ {1832, 146, 730}, 0, {-685, -1092}, {74, 225, 157, 255} }}, + {{ {1820, 148, 720}, 0, {-685, -580}, {74, 225, 157, 255} }}, + {{ {1833, 148, 730}, 0, {-694, -1092}, {78, 242, 157, 255} }}, + {{ {1820, 150, 720}, 0, {-694, -580}, {78, 242, 157, 255} }}, + {{ {1833, 150, 730}, 0, {-704, -1092}, {80, 2, 158, 255} }}, + {{ {1821, 152, 720}, 0, {-704, -580}, {80, 2, 158, 255} }}, + {{ {1833, 152, 730}, 0, {-713, -1092}, {81, 19, 160, 255} }}, + {{ {1821, 154, 720}, 0, {-713, -580}, {81, 19, 160, 255} }}, + {{ {1833, 153, 731}, 0, {-722, -1092}, {81, 36, 165, 255} }}, + {{ {1821, 156, 721}, 0, {-722, -580}, {81, 36, 165, 255} }}, + {{ {1833, 155, 731}, 0, {-732, -1092}, {79, 53, 172, 255} }}, + {{ {1820, 157, 721}, 0, {-732, -580}, {79, 53, 172, 255} }}, + {{ {1832, 156, 732}, 0, {-741, -1092}, {75, 69, 180, 255} }}, + {{ {1820, 159, 722}, 0, {-741, -580}, {75, 69, 180, 255} }}, + {{ {1832, 157, 733}, 0, {-751, -1092}, {69, 84, 190, 255} }}, + {{ {1820, 160, 723}, 0, {-751, -580}, {69, 84, 190, 255} }}, + {{ {1831, 159, 734}, 0, {-760, -1092}, {63, 96, 202, 255} }}, + {{ {1819, 161, 724}, 0, {-760, -580}, {63, 96, 202, 255} }}, + {{ {1831, 160, 735}, 0, {-770, -1092}, {55, 106, 213, 255} }}, + {{ {1818, 162, 725}, 0, {-770, -580}, {55, 106, 213, 255} }}, + {{ {1830, 160, 736}, 0, {-779, -1092}, {47, 114, 225, 255} }}, + {{ {1817, 163, 726}, 0, {-779, -580}, {47, 114, 225, 255} }}, + {{ {1829, 161, 738}, 0, {-789, -1092}, {39, 119, 237, 255} }}, + {{ {1816, 163, 728}, 0, {-789, -580}, {39, 119, 237, 255} }}, + {{ {1828, 161, 739}, 0, {-798, -1092}, {30, 123, 248, 255} }}, + {{ {1815, 164, 729}, 0, {-798, -580}, {30, 123, 248, 255} }}, + {{ {1827, 162, 741}, 0, {-808, -1092}, {22, 125, 3, 255} }}, + {{ {1827, 162, 741}, 0, {-808, -1092}, {22, 125, 3, 255} }}, + {{ {1815, 164, 729}, 0, {-798, -580}, {30, 123, 248, 255} }}, + {{ {1814, 164, 731}, 0, {-808, -580}, {22, 125, 3, 255} }}, + {{ {1825, 162, 742}, 0, {-817, -1092}, {13, 126, 15, 255} }}, + {{ {1813, 164, 732}, 0, {-817, -580}, {13, 126, 15, 255} }}, + {{ {1825, 162, 743}, 0, {-827, -1092}, {7, 125, 21, 255} }}, + {{ {1812, 164, 734}, 0, {-836, -580}, {7, 125, 21, 255} }}, + {{ {1812, 164, 733}, 0, {-827, -580}, {7, 125, 21, 255} }}, + {{ {1806, 163, 740}, 0, {-922, -580}, {7, 125, 21, 255} }}, + {{ {1809, 164, 737}, 0, {-865, -580}, {7, 125, 21, 255} }}, + {{ {1811, 164, 735}, 0, {-846, -580}, {7, 125, 21, 255} }}, + {{ {1807, 164, 739}, 0, {-903, -580}, {7, 125, 21, 255} }}, + {{ {1808, 164, 738}, 0, {-884, -580}, {7, 125, 21, 255} }}, + {{ {1807, 163, 740}, 0, {-912, -580}, {7, 125, 21, 255} }}, + {{ {1823, 137, 740}, 0, {-590, -1092}, {241, 130, 244, 255} }}, + {{ {1821, 137, 742}, 0, {-1064, -1092}, {236, 131, 250, 255} }}, + {{ {1820, 137, 743}, 0, {-1045, -1092}, {236, 131, 250, 255} }}, + {{ {1819, 137, 744}, 0, {-1026, -1092}, {232, 131, 0, 255} }}, + {{ {1807, 140, 734}, 0, {-1026, -580}, {232, 131, 0, 255} }}, + {{ {1806, 140, 735}, 0, {-1007, -580}, {227, 132, 6, 255} }}, + {{ {1817, 138, 746}, 0, {-988, -1092}, {40, 160, 183, 255} }}, + {{ {1818, 137, 745}, 0, {-1007, -1092}, {227, 132, 6, 255} }}, + {{ {1818, 138, 746}, 0, {-997, -1092}, {227, 132, 6, 255} }}, + {{ {1805, 140, 736}, 0, {-997, -580}, {227, 132, 6, 255} }}, + {{ {1805, 140, 736}, 0, {-988, -580}, {40, 160, 183, 255} }}, + {{ {1804, 129, 735}, 0, {-978, -580}, {47, 169, 177, 255} }}, + {{ {1816, 126, 745}, 0, {-978, -1092}, {47, 168, 177, 255} }}, + {{ {1798, 129, 743}, 0, {-969, -580}, {190, 166, 60, 255} }}, + {{ {1810, 126, 753}, 0, {-969, -1092}, {190, 166, 60, 255} }}, + {{ {1801, 159, 746}, 0, {-960, -580}, {177, 204, 85, 255} }}, + {{ {1813, 157, 756}, 0, {-960, -1092}, {177, 204, 85, 255} }}, + {{ {1799, 162, 749}, 0, {-950, -580}, {177, 6, 99, 255} }}, + {{ {1813, 157, 756}, 0, {-960, -1092}, {177, 204, 85, 255} }}, + {{ {1812, 160, 759}, 0, {-950, -1092}, {177, 6, 99, 255} }}, + {{ {1799, 162, 749}, 0, {-950, -580}, {177, 6, 99, 255} }}, + {{ {1802, 165, 746}, 0, {-941, -580}, {0, 124, 29, 255} }}, + {{ {1815, 163, 756}, 0, {-941, -1092}, {0, 124, 29, 255} }}, + {{ {1806, 163, 741}, 0, {-931, -580}, {22, 125, 3, 255} }}, + {{ {1818, 161, 751}, 0, {-931, -1092}, {22, 125, 3, 255} }}, + {{ {1806, 163, 740}, 0, {-922, -580}, {7, 125, 21, 255} }}, + {{ {1819, 161, 750}, 0, {-922, -1092}, {7, 125, 21, 255} }}, + {{ {1819, 161, 749}, 0, {-903, -1092}, {7, 125, 21, 255} }}, + {{ {1819, 161, 750}, 0, {-912, -1092}, {7, 125, 21, 255} }}, + {{ {1821, 161, 748}, 0, {-884, -1092}, {7, 125, 21, 255} }}, + {{ {1823, 162, 745}, 0, {-846, -1092}, {7, 125, 21, 255} }}, + {{ {1822, 162, 747}, 0, {-865, -1092}, {7, 125, 21, 255} }}, + {{ {1825, 162, 743}, 0, {-827, -1092}, {7, 125, 21, 255} }}, + {{ {1824, 162, 744}, 0, {-836, -1092}, {7, 125, 21, 255} }}, + {{ {1912, 147, 632}, 0, {-836, -1092}, {24, 125, 0, 255} }}, + {{ {1912, 147, 632}, 0, {-828, -1092}, {24, 125, 0, 255} }}, + {{ {1912, 147, 632}, 0, {-820, -1092}, {20, 125, 5, 255} }}, + {{ {1899, 150, 622}, 0, {-836, -580}, {24, 125, 0, 255} }}, + {{ {1899, 150, 622}, 0, {-828, -580}, {24, 125, 0, 255} }}, + {{ {1900, 150, 622}, 0, {-820, -580}, {20, 125, 5, 255} }}, + {{ {1912, 147, 632}, 0, {-803, -1092}, {16, 126, 10, 255} }}, + {{ {1900, 150, 622}, 0, {-803, -580}, {16, 126, 10, 255} }}, + {{ {1900, 150, 622}, 0, {-795, -580}, {16, 126, 10, 255} }}, + {{ {1912, 147, 632}, 0, {-795, -1092}, {16, 126, 10, 255} }}, + {{ {1900, 150, 622}, 0, {-787, -580}, {13, 126, 14, 255} }}, + {{ {1912, 147, 632}, 0, {-787, -1092}, {13, 126, 14, 255} }}, + {{ {1900, 150, 621}, 0, {-778, -580}, {5, 125, 24, 255} }}, + {{ {1913, 147, 631}, 0, {-778, -1092}, {5, 125, 24, 255} }}, + {{ {1901, 150, 621}, 0, {-770, -580}, {251, 122, 35, 255} }}, + {{ {1913, 148, 631}, 0, {-770, -1092}, {251, 122, 35, 255} }}, + {{ {1913, 148, 631}, 0, {-770, -1092}, {251, 122, 35, 255} }}, + {{ {1901, 150, 620}, 0, {-762, -580}, {241, 117, 46, 255} }}, + {{ {1901, 150, 621}, 0, {-770, -580}, {251, 122, 35, 255} }}, + {{ {1913, 148, 630}, 0, {-762, -1092}, {241, 117, 46, 255} }}, + {{ {1902, 150, 620}, 0, {-754, -580}, {231, 111, 57, 255} }}, + {{ {1914, 148, 630}, 0, {-754, -1092}, {231, 111, 57, 255} }}, + {{ {1902, 151, 619}, 0, {-745, -580}, {222, 102, 67, 255} }}, + {{ {1914, 148, 629}, 0, {-745, -1092}, {222, 102, 67, 255} }}, + {{ {1902, 151, 619}, 0, {-737, -580}, {212, 91, 76, 255} }}, + {{ {1915, 149, 629}, 0, {-737, -1092}, {212, 91, 76, 255} }}, + {{ {1903, 152, 619}, 0, {-729, -580}, {203, 78, 85, 255} }}, + {{ {1915, 149, 629}, 0, {-729, -1092}, {203, 78, 85, 255} }}, + {{ {1903, 152, 619}, 0, {-721, -580}, {195, 64, 91, 255} }}, + {{ {1915, 150, 628}, 0, {-721, -1092}, {195, 64, 91, 255} }}, + {{ {1903, 153, 618}, 0, {-712, -580}, {188, 48, 96, 255} }}, + {{ {1915, 150, 628}, 0, {-712, -1092}, {188, 48, 96, 255} }}, + {{ {1903, 153, 618}, 0, {-704, -580}, {182, 31, 99, 255} }}, + {{ {1916, 151, 628}, 0, {-704, -1092}, {182, 31, 99, 255} }}, + {{ {1903, 154, 618}, 0, {-696, -580}, {178, 15, 99, 255} }}, + {{ {1916, 152, 628}, 0, {-696, -1092}, {178, 15, 99, 255} }}, + {{ {1904, 155, 618}, 0, {-688, -580}, {176, 253, 98, 255} }}, + {{ {1916, 152, 628}, 0, {-688, -1092}, {176, 253, 98, 255} }}, + {{ {1904, 155, 618}, 0, {-679, -580}, {175, 232, 95, 255} }}, + {{ {1916, 153, 628}, 0, {-679, -1092}, {175, 232, 95, 255} }}, + {{ {1904, 156, 619}, 0, {-671, -580}, {176, 211, 88, 255} }}, + {{ {1916, 154, 629}, 0, {-671, -1092}, {176, 211, 88, 255} }}, + {{ {1903, 156, 619}, 0, {-663, -580}, {180, 193, 79, 255} }}, + {{ {1916, 154, 629}, 0, {-663, -1092}, {180, 193, 79, 255} }}, + {{ {1903, 157, 619}, 0, {-655, -580}, {185, 176, 69, 255} }}, + {{ {1916, 155, 629}, 0, {-655, -1092}, {185, 176, 69, 255} }}, + {{ {1903, 157, 620}, 0, {-646, -580}, {191, 163, 58, 255} }}, + {{ {1915, 155, 630}, 0, {-646, -1092}, {191, 163, 58, 255} }}, + {{ {1915, 155, 630}, 0, {-646, -1092}, {191, 163, 58, 255} }}, + {{ {1903, 158, 620}, 0, {-638, -580}, {198, 153, 47, 255} }}, + {{ {1903, 157, 620}, 0, {-646, -580}, {191, 163, 58, 255} }}, + {{ {1915, 155, 630}, 0, {-638, -1092}, {198, 153, 47, 255} }}, + {{ {1902, 158, 620}, 0, {-630, -580}, {205, 145, 36, 255} }}, + {{ {1915, 156, 630}, 0, {-630, -1092}, {205, 145, 36, 255} }}, + {{ {1902, 159, 621}, 0, {-622, -580}, {213, 139, 25, 255} }}, + {{ {1914, 156, 631}, 0, {-622, -1092}, {213, 139, 25, 255} }}, + {{ {1902, 159, 622}, 0, {-613, -580}, {220, 135, 15, 255} }}, + {{ {1914, 156, 632}, 0, {-613, -1092}, {220, 135, 15, 255} }}, + {{ {1901, 159, 622}, 0, {-605, -580}, {227, 132, 6, 255} }}, + {{ {1913, 157, 632}, 0, {-605, -1092}, {227, 132, 6, 255} }}, + {{ {1901, 159, 623}, 0, {-597, -580}, {235, 131, 252, 255} }}, + {{ {1913, 157, 633}, 0, {-597, -1092}, {235, 131, 252, 255} }}, + {{ {1900, 159, 623}, 0, {-589, -580}, {243, 130, 242, 255} }}, + {{ {1913, 157, 633}, 0, {-589, -1092}, {243, 130, 242, 255} }}, + {{ {1910, 156, 636}, 0, {-1043, -1092}, {252, 132, 230, 255} }}, + {{ {1898, 159, 626}, 0, {-1043, -580}, {252, 132, 230, 255} }}, + {{ {1909, 156, 638}, 0, {-1001, -1092}, {53, 177, 172, 255} }}, + {{ {1896, 158, 628}, 0, {-1001, -580}, {53, 177, 172, 255} }}, + {{ {1895, 149, 627}, 0, {-993, -580}, {54, 107, 215, 255} }}, + {{ {1908, 147, 637}, 0, {-993, -1092}, {54, 107, 215, 255} }}, + {{ {1898, 151, 624}, 0, {-985, -580}, {34, 122, 244, 255} }}, + {{ {1910, 149, 634}, 0, {-985, -1092}, {34, 122, 244, 255} }}, + {{ {1898, 151, 624}, 0, {-968, -580}, {71, 79, 187, 255} }}, + {{ {1910, 149, 634}, 0, {-968, -1092}, {71, 79, 187, 255} }}, + {{ {1898, 151, 624}, 0, {-952, -580}, {66, 90, 196, 255} }}, + {{ {1910, 148, 634}, 0, {-952, -1092}, {66, 90, 196, 255} }}, + {{ {1898, 150, 624}, 0, {-935, -580}, {61, 99, 205, 255} }}, + {{ {1911, 148, 634}, 0, {-935, -1092}, {61, 99, 205, 255} }}, + {{ {1899, 150, 623}, 0, {-919, -580}, {54, 108, 216, 255} }}, + {{ {1911, 148, 633}, 0, {-919, -1092}, {54, 108, 216, 255} }}, + {{ {1911, 148, 633}, 0, {-919, -1092}, {54, 108, 216, 255} }}, + {{ {1899, 150, 623}, 0, {-902, -580}, {45, 115, 228, 255} }}, + {{ {1899, 150, 623}, 0, {-919, -580}, {54, 108, 216, 255} }}, + {{ {1911, 148, 633}, 0, {-902, -1092}, {45, 115, 228, 255} }}, + {{ {1899, 150, 623}, 0, {-894, -580}, {37, 120, 239, 255} }}, + {{ {1911, 148, 633}, 0, {-894, -1092}, {37, 120, 239, 255} }}, + {{ {1899, 150, 623}, 0, {-886, -580}, {29, 124, 250, 255} }}, + {{ {1911, 148, 633}, 0, {-886, -1092}, {29, 124, 250, 255} }}, + {{ {1899, 150, 623}, 0, {-869, -580}, {24, 125, 0, 255} }}, + {{ {1912, 147, 632}, 0, {-853, -1092}, {24, 125, 0, 255} }}, + {{ {1911, 148, 633}, 0, {-869, -1092}, {24, 125, 0, 255} }}, + {{ {1899, 150, 622}, 0, {-853, -580}, {24, 125, 0, 255} }}, + {{ {1912, 147, 632}, 0, {-836, -1092}, {24, 125, 0, 255} }}, + {{ {1899, 150, 622}, 0, {-836, -580}, {24, 125, 0, 255} }}, + {{ {1822, 155, 745}, 0, {-1061, -1092}, {247, 131, 237, 255} }}, + {{ {1821, 154, 746}, 0, {-1040, -1092}, {247, 131, 237, 255} }}, + {{ {1820, 154, 747}, 0, {-1019, -1092}, {253, 132, 230, 255} }}, + {{ {1824, 155, 742}, 0, {-591, -1092}, {242, 130, 243, 255} }}, + {{ {1853, 158, 682}, 0, {-754, -580}, {180, 23, 99, 255} }}, + {{ {1853, 157, 682}, 0, {-757, -580}, {180, 23, 99, 255} }}, + {{ {1852, 155, 682}, 0, {-761, -580}, {180, 23, 99, 255} }}, + {{ {1852, 154, 682}, 0, {-765, -580}, {180, 23, 99, 255} }}, +}; + +Gfx powered_Text_mesh_tri_0[] = { + gsSPVertex(powered_Text_mesh_vtx_0 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 7, 3, 4, 0), + gsSP2Triangles(7, 8, 3, 0, 7, 9, 8, 0), + gsSP2Triangles(7, 10, 9, 0, 10, 11, 9, 0), + gsSP2Triangles(9, 12, 8, 0, 9, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 12, 15, 8, 0), + gsSP2Triangles(12, 16, 15, 0, 17, 18, 7, 0), + gsSP2Triangles(19, 17, 7, 0, 20, 19, 7, 0), + gsSP2Triangles(21, 20, 7, 0, 22, 21, 7, 0), + gsSP2Triangles(4, 22, 7, 0, 22, 23, 21, 0), + gsSP2Triangles(23, 24, 21, 0, 21, 25, 20, 0), + gsSP2Triangles(26, 27, 28, 0, 29, 26, 28, 0), + gsSP2Triangles(30, 29, 28, 0, 31, 30, 28, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 2, 5, 0), + gsSP2Triangles(2, 6, 5, 0, 2, 7, 6, 0), + gsSP2Triangles(2, 8, 7, 0, 2, 9, 8, 0), + gsSP2Triangles(8, 10, 7, 0, 7, 11, 12, 0), + gsSP2Triangles(7, 12, 6, 0, 12, 13, 6, 0), + gsSP2Triangles(6, 14, 15, 0, 6, 15, 5, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(5, 16, 19, 0, 20, 5, 19, 0), + gsSP2Triangles(21, 20, 19, 0, 22, 21, 19, 0), + gsSP2Triangles(23, 22, 19, 0, 19, 24, 23, 0), + gsSP2Triangles(19, 25, 24, 0, 19, 26, 25, 0), + gsSP2Triangles(19, 27, 26, 0, 19, 28, 27, 0), + gsSP2Triangles(19, 29, 28, 0, 19, 30, 29, 0), + gsSP1Triangle(19, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 64, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 4, 5, 0, 4, 6, 5, 0), + gsSP2Triangles(5, 7, 8, 0, 5, 8, 9, 0), + gsSP2Triangles(8, 10, 9, 0, 5, 9, 11, 0), + gsSP2Triangles(9, 12, 11, 0, 9, 13, 12, 0), + gsSP2Triangles(5, 11, 14, 0, 5, 14, 15, 0), + gsSP2Triangles(5, 15, 16, 0, 5, 16, 17, 0), + gsSP2Triangles(5, 17, 18, 0, 5, 18, 19, 0), + gsSP2Triangles(5, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 21, 23, 0, 25, 24, 23, 0), + gsSP2Triangles(26, 25, 23, 0, 27, 26, 23, 0), + gsSP2Triangles(28, 29, 30, 0, 31, 28, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 96, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 5, 4, 2, 0), + gsSP2Triangles(6, 5, 2, 0, 7, 6, 2, 0), + gsSP2Triangles(8, 7, 2, 0, 2, 9, 8, 0), + gsSP2Triangles(2, 10, 9, 0, 2, 11, 10, 0), + gsSP2Triangles(2, 12, 11, 0, 2, 13, 12, 0), + gsSP2Triangles(2, 14, 13, 0, 2, 15, 14, 0), + gsSP2Triangles(2, 16, 15, 0, 2, 17, 16, 0), + gsSP2Triangles(2, 18, 17, 0, 2, 19, 18, 0), + gsSP2Triangles(2, 20, 19, 0, 2, 21, 20, 0), + gsSP2Triangles(2, 22, 21, 0, 21, 23, 20, 0), + gsSP2Triangles(0, 24, 1, 0, 20, 25, 26, 0), + gsSP2Triangles(20, 26, 19, 0, 26, 27, 19, 0), + gsSP2Triangles(28, 29, 0, 0, 3, 28, 0, 0), + gsSP1Triangle(3, 30, 28, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 127, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 5, 4, 2, 0), + gsSP2Triangles(6, 5, 2, 0, 7, 6, 2, 0), + gsSP2Triangles(8, 9, 10, 0, 11, 8, 10, 0), + gsSP2Triangles(12, 11, 10, 0, 13, 12, 10, 0), + gsSP2Triangles(14, 13, 10, 0, 15, 14, 10, 0), + gsSP2Triangles(16, 15, 10, 0, 17, 16, 10, 0), + gsSP2Triangles(10, 18, 17, 0, 10, 19, 18, 0), + gsSP2Triangles(10, 20, 19, 0, 10, 21, 20, 0), + gsSP2Triangles(10, 22, 21, 0, 10, 23, 22, 0), + gsSP2Triangles(10, 24, 23, 0, 10, 25, 24, 0), + gsSP2Triangles(10, 26, 25, 0, 10, 27, 26, 0), + gsSP2Triangles(10, 28, 27, 0, 13, 29, 12, 0), + gsSP2Triangles(29, 30, 12, 0, 30, 31, 12, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 159, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(2, 3, 5, 0, 2, 6, 3, 0), + gsSP2Triangles(7, 8, 9, 0, 10, 7, 9, 0), + gsSP2Triangles(10, 9, 11, 0, 9, 12, 11, 0), + gsSP2Triangles(9, 13, 12, 0, 12, 14, 11, 0), + gsSP2Triangles(12, 15, 14, 0, 12, 16, 15, 0), + gsSP2Triangles(15, 17, 14, 0, 14, 18, 19, 0), + gsSP2Triangles(14, 19, 11, 0, 19, 20, 11, 0), + gsSP2Triangles(19, 21, 20, 0, 11, 22, 23, 0), + gsSP2Triangles(11, 23, 24, 0, 11, 24, 25, 0), + gsSP2Triangles(11, 25, 26, 0, 11, 26, 27, 0), + gsSP2Triangles(11, 27, 28, 0, 11, 28, 29, 0), + gsSP2Triangles(30, 11, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 191, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(0, 5, 6, 0, 0, 6, 7, 0), + gsSP2Triangles(0, 7, 8, 0, 0, 8, 9, 0), + gsSP2Triangles(0, 9, 10, 0, 10, 11, 0, 0), + gsSP2Triangles(11, 12, 0, 0, 12, 13, 0, 0), + gsSP2Triangles(13, 14, 0, 0, 14, 15, 0, 0), + gsSP2Triangles(15, 16, 0, 0, 16, 17, 0, 0), + gsSP2Triangles(17, 18, 0, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 20, 21, 18, 0), + gsSP2Triangles(21, 22, 18, 0, 22, 23, 18, 0), + gsSP2Triangles(23, 24, 18, 0, 18, 25, 0, 0), + gsSP2Triangles(18, 26, 25, 0, 18, 27, 26, 0), + gsSP2Triangles(26, 28, 25, 0, 0, 29, 30, 0), + gsSP1Triangle(0, 30, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 223, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 6, 7, 0), + gsSP2Triangles(5, 7, 8, 0, 5, 8, 9, 0), + gsSP2Triangles(5, 9, 10, 0, 5, 10, 11, 0), + gsSP2Triangles(10, 12, 11, 0, 5, 11, 13, 0), + gsSP2Triangles(11, 14, 13, 0, 13, 15, 5, 0), + gsSP2Triangles(15, 16, 5, 0, 16, 17, 5, 0), + gsSP2Triangles(16, 18, 17, 0, 17, 19, 5, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(22, 24, 23, 0, 20, 23, 25, 0), + gsSP2Triangles(20, 25, 26, 0, 20, 26, 27, 0), + gsSP2Triangles(26, 28, 27, 0, 27, 29, 20, 0), + gsSP2Triangles(27, 30, 29, 0, 29, 31, 20, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 255, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 5, 6, 7, 0), + gsSP2Triangles(5, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 9, 11, 0, 13, 12, 11, 0), + gsSP2Triangles(14, 13, 11, 0, 15, 14, 11, 0), + gsSP2Triangles(15, 11, 16, 0, 11, 17, 16, 0), + gsSP2Triangles(11, 18, 17, 0, 11, 19, 18, 0), + gsSP2Triangles(11, 20, 19, 0, 18, 21, 17, 0), + gsSP2Triangles(13, 22, 12, 0, 23, 24, 13, 0), + gsSP2Triangles(14, 23, 13, 0, 14, 25, 23, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), + gsSP2Triangles(28, 30, 29, 0, 28, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 287, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 4, 5, 0, 4, 6, 5, 0), + gsSP2Triangles(2, 5, 7, 0, 5, 8, 7, 0), + gsSP2Triangles(5, 9, 8, 0, 10, 2, 7, 0), + gsSP2Triangles(10, 7, 11, 0, 12, 10, 11, 0), + gsSP2Triangles(12, 11, 13, 0, 11, 14, 13, 0), + gsSP2Triangles(11, 15, 14, 0, 11, 16, 15, 0), + gsSP2Triangles(17, 12, 13, 0, 13, 18, 17, 0), + gsSP2Triangles(13, 19, 18, 0, 13, 20, 19, 0), + gsSP2Triangles(13, 21, 20, 0, 12, 22, 23, 0), + gsSP2Triangles(12, 23, 10, 0, 24, 25, 26, 0), + gsSP2Triangles(27, 24, 26, 0, 28, 27, 26, 0), + gsSP2Triangles(28, 26, 29, 0, 26, 30, 29, 0), + gsSP1Triangle(26, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 319, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(2, 6, 7, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 9, 0, 2, 9, 10, 0), + gsSP2Triangles(3, 2, 10, 0, 3, 10, 11, 0), + gsSP2Triangles(3, 11, 12, 0, 3, 12, 13, 0), + gsSP2Triangles(3, 13, 14, 0, 14, 15, 3, 0), + gsSP2Triangles(15, 16, 3, 0, 16, 17, 3, 0), + gsSP2Triangles(17, 18, 3, 0, 18, 19, 3, 0), + gsSP2Triangles(19, 20, 3, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 22, 23, 20, 0), + gsSP2Triangles(20, 24, 3, 0, 20, 25, 24, 0), + gsSP2Triangles(20, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(25, 28, 24, 0, 28, 29, 24, 0), + gsSP2Triangles(30, 31, 3, 0, 24, 30, 3, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 351, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(1, 4, 2, 0, 5, 6, 7, 0), + gsSP2Triangles(8, 5, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(7, 10, 9, 0, 7, 11, 10, 0), + gsSP2Triangles(12, 8, 9, 0, 13, 12, 9, 0), + gsSP2Triangles(13, 9, 14, 0, 14, 15, 13, 0), + gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(15, 18, 13, 0, 15, 19, 18, 0), + gsSP2Triangles(18, 20, 13, 0, 20, 21, 13, 0), + gsSP2Triangles(21, 22, 13, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 12, 0, 26, 23, 12, 0), + gsSP2Triangles(13, 26, 12, 0, 13, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 26, 29, 23, 0), + gsSP1Triangle(29, 30, 23, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 382, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 3, 4, 7, 0), + gsSP2Triangles(4, 8, 7, 0, 4, 9, 8, 0), + gsSP2Triangles(10, 3, 7, 0, 7, 11, 10, 0), + gsSP2Triangles(7, 12, 11, 0, 7, 13, 12, 0), + gsSP2Triangles(7, 14, 13, 0, 7, 15, 14, 0), + gsSP2Triangles(7, 16, 15, 0, 7, 17, 16, 0), + gsSP2Triangles(14, 18, 13, 0, 13, 19, 20, 0), + gsSP2Triangles(13, 20, 12, 0, 21, 22, 23, 0), + gsSP2Triangles(21, 23, 10, 0, 11, 21, 10, 0), + gsSP2Triangles(11, 24, 21, 0, 24, 25, 21, 0), + gsSP2Triangles(26, 27, 28, 0, 29, 26, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 28, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 414, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 3, 6, 7, 0), + gsSP2Triangles(3, 7, 8, 0, 3, 8, 9, 0), + gsSP2Triangles(3, 9, 10, 0, 3, 10, 11, 0), + gsSP2Triangles(3, 11, 12, 0, 12, 13, 3, 0), + gsSP2Triangles(13, 14, 3, 0, 14, 15, 3, 0), + gsSP2Triangles(15, 16, 3, 0, 16, 17, 3, 0), + gsSP2Triangles(17, 18, 3, 0, 18, 19, 3, 0), + gsSP2Triangles(19, 20, 3, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 20, 23, 3, 0), + gsSP2Triangles(20, 24, 23, 0, 23, 25, 3, 0), + gsSP2Triangles(26, 27, 28, 0, 29, 26, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 28, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 446, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(6, 8, 7, 0, 4, 7, 9, 0), + gsSP2Triangles(7, 10, 9, 0, 7, 11, 10, 0), + gsSP2Triangles(4, 9, 12, 0, 13, 4, 12, 0), + gsSP2Triangles(13, 12, 14, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 18, 0, 18, 19, 13, 0), + gsSP2Triangles(18, 20, 19, 0, 18, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 22, 23, 20, 0), + gsSP2Triangles(22, 24, 23, 0, 23, 25, 20, 0), + gsSP2Triangles(26, 27, 13, 0, 28, 26, 13, 0), + gsSP2Triangles(29, 28, 13, 0, 19, 29, 13, 0), + gsSP1Triangle(29, 30, 28, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 477, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 5, 7, 3, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(10, 12, 11, 0, 8, 11, 13, 0), + gsSP2Triangles(11, 14, 13, 0, 11, 15, 14, 0), + gsSP2Triangles(14, 16, 13, 0, 13, 17, 18, 0), + gsSP2Triangles(13, 18, 19, 0, 13, 19, 20, 0), + gsSP2Triangles(8, 13, 20, 0, 8, 20, 21, 0), + gsSP2Triangles(22, 8, 21, 0, 22, 21, 23, 0), + gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), + gsSP2Triangles(24, 26, 25, 0, 24, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 26, 29, 25, 0), + gsSP2Triangles(26, 30, 29, 0, 29, 31, 25, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 509, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 5, 6, 4, 0), + gsSP2Triangles(7, 5, 4, 0, 8, 7, 4, 0), + gsSP2Triangles(8, 9, 7, 0, 10, 11, 12, 0), + gsSP2Triangles(10, 12, 13, 0, 14, 15, 16, 0), + gsSP2Triangles(17, 14, 16, 0, 17, 16, 18, 0), + gsSP2Triangles(16, 19, 18, 0, 16, 20, 19, 0), + gsSP2Triangles(19, 21, 18, 0, 18, 22, 23, 0), + gsSP2Triangles(18, 23, 24, 0, 23, 25, 24, 0), + gsSP2Triangles(18, 24, 26, 0, 24, 27, 26, 0), + gsSP2Triangles(24, 28, 27, 0, 17, 18, 26, 0), + gsSP2Triangles(17, 26, 29, 0, 26, 30, 29, 0), + gsSP1Triangle(26, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 541, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 0, 5, 4, 0), + gsSP2Triangles(0, 6, 5, 0, 0, 7, 6, 0), + gsSP2Triangles(5, 8, 4, 0, 5, 9, 8, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 10, 12, 0), + gsSP2Triangles(14, 13, 12, 0, 15, 14, 12, 0), + gsSP2Triangles(16, 15, 12, 0, 17, 16, 12, 0), + gsSP2Triangles(18, 17, 12, 0, 19, 18, 12, 0), + gsSP2Triangles(20, 19, 12, 0, 21, 20, 12, 0), + gsSP2Triangles(22, 21, 12, 0, 23, 22, 12, 0), + gsSP2Triangles(24, 23, 12, 0, 12, 25, 24, 0), + gsSP2Triangles(12, 26, 25, 0, 27, 28, 29, 0), + gsSP2Triangles(30, 27, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 573, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 2, 5, 0, 6, 4, 5, 0), + gsSP2Triangles(6, 5, 7, 0, 6, 7, 8, 0), + gsSP2Triangles(6, 8, 9, 0, 6, 9, 10, 0), + gsSP2Triangles(6, 10, 11, 0, 6, 11, 12, 0), + gsSP2Triangles(6, 12, 13, 0, 14, 6, 13, 0), + gsSP2Triangles(14, 13, 15, 0, 14, 15, 16, 0), + gsSP2Triangles(14, 16, 17, 0, 14, 17, 18, 0), + gsSP2Triangles(14, 18, 19, 0, 14, 19, 20, 0), + gsSP2Triangles(14, 20, 21, 0, 14, 21, 22, 0), + gsSP2Triangles(14, 22, 23, 0, 14, 23, 24, 0), + gsSP2Triangles(14, 24, 25, 0, 14, 25, 26, 0), + gsSP2Triangles(14, 26, 27, 0, 14, 27, 28, 0), + gsSP2Triangles(28, 29, 14, 0, 29, 30, 14, 0), + gsSP1Triangle(30, 31, 14, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 605, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 4, 5, 2, 0), + gsSP2Triangles(5, 6, 2, 0, 6, 7, 2, 0), + gsSP2Triangles(7, 8, 2, 0, 8, 9, 2, 0), + gsSP2Triangles(9, 10, 2, 0, 10, 11, 2, 0), + gsSP2Triangles(11, 12, 2, 0, 12, 13, 2, 0), + gsSP2Triangles(13, 14, 2, 0, 14, 15, 2, 0), + gsSP2Triangles(15, 16, 2, 0, 16, 17, 2, 0), + gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), + gsSP2Triangles(19, 20, 17, 0, 20, 21, 17, 0), + gsSP2Triangles(21, 22, 17, 0, 22, 23, 17, 0), + gsSP2Triangles(22, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(23, 26, 17, 0, 23, 27, 26, 0), + gsSP2Triangles(26, 28, 17, 0, 29, 30, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 637, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 4, 0, 0, 3, 5, 4, 0), + gsSP2Triangles(4, 6, 0, 0, 0, 7, 1, 0), + gsSP2Triangles(8, 9, 3, 0, 10, 8, 3, 0), + gsSP2Triangles(11, 10, 3, 0, 11, 12, 10, 0), + gsSP2Triangles(11, 13, 12, 0, 12, 14, 10, 0), + gsSP2Triangles(10, 15, 8, 0, 16, 17, 11, 0), + gsSP2Triangles(18, 16, 11, 0, 19, 18, 11, 0), + gsSP2Triangles(20, 19, 11, 0, 20, 21, 19, 0), + gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), + gsSP2Triangles(22, 24, 21, 0, 18, 25, 16, 0), + gsSP2Triangles(26, 27, 18, 0, 19, 26, 18, 0), + gsSP2Triangles(19, 28, 26, 0, 29, 30, 19, 0), + gsSP2Triangles(21, 29, 19, 0, 21, 31, 29, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 669, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 5, 7, 3, 0), + gsSP2Triangles(3, 8, 0, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 9, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(11, 14, 13, 0, 11, 15, 14, 0), + gsSP2Triangles(16, 12, 13, 0, 16, 17, 12, 0), + gsSP2Triangles(17, 18, 12, 0, 16, 13, 19, 0), + gsSP2Triangles(16, 19, 20, 0, 19, 21, 20, 0), + gsSP2Triangles(19, 22, 21, 0, 22, 23, 21, 0), + gsSP2Triangles(21, 24, 20, 0, 21, 25, 24, 0), + gsSP2Triangles(26, 27, 16, 0, 28, 26, 16, 0), + gsSP2Triangles(28, 16, 29, 0, 16, 20, 29, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 701, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 5, 3, 0, 6, 7, 8, 0), + gsSP2Triangles(6, 8, 9, 0, 8, 10, 9, 0), + gsSP2Triangles(11, 6, 9, 0, 11, 9, 12, 0), + gsSP2Triangles(9, 13, 12, 0, 9, 14, 13, 0), + gsSP2Triangles(9, 15, 14, 0, 14, 16, 13, 0), + gsSP2Triangles(13, 17, 18, 0, 13, 18, 12, 0), + gsSP2Triangles(18, 19, 12, 0, 12, 20, 21, 0), + gsSP2Triangles(12, 21, 22, 0, 21, 23, 22, 0), + gsSP2Triangles(12, 22, 24, 0, 22, 25, 24, 0), + gsSP2Triangles(22, 26, 25, 0, 25, 27, 24, 0), + gsSP2Triangles(24, 28, 29, 0, 24, 29, 30, 0), + gsSP1Triangle(29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 733, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 3, 5, 2, 0), + gsSP2Triangles(2, 6, 7, 0, 2, 7, 8, 0), + gsSP2Triangles(7, 9, 8, 0, 2, 8, 10, 0), + gsSP2Triangles(8, 11, 10, 0, 8, 12, 11, 0), + gsSP2Triangles(11, 13, 10, 0, 10, 14, 15, 0), + gsSP2Triangles(10, 15, 16, 0, 15, 17, 16, 0), + gsSP2Triangles(10, 16, 18, 0, 16, 19, 18, 0), + gsSP2Triangles(16, 20, 19, 0, 19, 21, 18, 0), + gsSP2Triangles(18, 22, 23, 0, 18, 23, 24, 0), + gsSP2Triangles(23, 25, 24, 0, 18, 24, 26, 0), + gsSP2Triangles(24, 27, 26, 0, 24, 28, 27, 0), + gsSP2Triangles(18, 26, 29, 0, 18, 29, 30, 0), + gsSP2Triangles(18, 30, 31, 0, 10, 18, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 765, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(0, 5, 6, 0, 0, 6, 7, 0), + gsSP2Triangles(0, 7, 8, 0, 0, 8, 9, 0), + gsSP2Triangles(0, 9, 10, 0, 0, 10, 11, 0), + gsSP2Triangles(0, 11, 12, 0, 0, 12, 13, 0), + gsSP2Triangles(0, 13, 14, 0, 15, 0, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 15, 18, 19, 0), + gsSP2Triangles(15, 19, 20, 0, 20, 21, 15, 0), + gsSP2Triangles(21, 22, 15, 0, 22, 23, 15, 0), + gsSP2Triangles(23, 24, 15, 0, 24, 25, 15, 0), + gsSP2Triangles(25, 26, 15, 0, 26, 27, 15, 0), + gsSP2Triangles(27, 28, 15, 0, 28, 29, 15, 0), + gsSP2Triangles(29, 30, 15, 0, 30, 31, 15, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 797, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 4, 5, 1, 0), + gsSP2Triangles(5, 6, 1, 0, 6, 7, 1, 0), + gsSP2Triangles(7, 8, 1, 0, 8, 9, 1, 0), + gsSP2Triangles(9, 10, 1, 0, 10, 11, 1, 0), + gsSP2Triangles(2, 12, 13, 0, 14, 15, 16, 0), + gsSP2Triangles(14, 16, 17, 0, 16, 18, 17, 0), + gsSP2Triangles(19, 14, 17, 0, 19, 20, 14, 0), + gsSP2Triangles(21, 19, 17, 0, 21, 22, 19, 0), + gsSP2Triangles(21, 23, 22, 0, 22, 24, 19, 0), + gsSP2Triangles(17, 25, 26, 0, 17, 26, 27, 0), + gsSP2Triangles(26, 28, 27, 0, 17, 27, 29, 0), + gsSP2Triangles(27, 30, 29, 0, 27, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 829, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 5, 0, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 5, 6, 7, 0), + gsSP2Triangles(5, 7, 8, 0, 5, 8, 9, 0), + gsSP2Triangles(9, 10, 5, 0, 10, 11, 5, 0), + gsSP2Triangles(11, 12, 5, 0, 12, 13, 5, 0), + gsSP2Triangles(13, 14, 5, 0, 14, 15, 5, 0), + gsSP2Triangles(15, 16, 5, 0, 16, 17, 5, 0), + gsSP2Triangles(17, 18, 5, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 18, 21, 5, 0), + gsSP2Triangles(18, 22, 21, 0, 21, 23, 5, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 24, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 26, 29, 28, 0), + gsSP2Triangles(26, 30, 29, 0, 27, 28, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 861, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(2, 4, 3, 0, 4, 5, 3, 0), + gsSP2Triangles(5, 6, 3, 0, 3, 7, 0, 0), + gsSP2Triangles(3, 8, 7, 0, 8, 9, 7, 0), + gsSP2Triangles(7, 10, 0, 0, 7, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 10, 13, 0, 0), + gsSP2Triangles(10, 14, 13, 0, 13, 15, 0, 0), + gsSP2Triangles(16, 17, 18, 0, 19, 16, 18, 0), + gsSP2Triangles(20, 19, 18, 0, 18, 21, 20, 0), + gsSP2Triangles(18, 22, 21, 0, 18, 23, 22, 0), + gsSP2Triangles(18, 24, 23, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 27, 29, 28, 0), + gsSP2Triangles(25, 28, 30, 0, 28, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 893, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(4, 7, 8, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 10, 0, 4, 10, 11, 0), + gsSP2Triangles(4, 11, 12, 0, 4, 12, 13, 0), + gsSP2Triangles(4, 13, 14, 0, 4, 14, 15, 0), + gsSP2Triangles(4, 15, 16, 0, 4, 16, 17, 0), + gsSP2Triangles(17, 18, 4, 0, 18, 19, 4, 0), + gsSP2Triangles(19, 20, 4, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 22, 23, 20, 0), + gsSP2Triangles(23, 24, 20, 0, 24, 25, 20, 0), + gsSP2Triangles(25, 26, 20, 0, 27, 28, 29, 0), + gsSP2Triangles(27, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 925, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 5, 7, 4, 0), + gsSP2Triangles(4, 8, 9, 0, 4, 9, 3, 0), + gsSP2Triangles(9, 10, 3, 0, 3, 11, 12, 0), + gsSP2Triangles(3, 12, 13, 0, 3, 13, 14, 0), + gsSP2Triangles(3, 14, 15, 0, 3, 15, 16, 0), + gsSP2Triangles(3, 16, 17, 0, 3, 17, 18, 0), + gsSP2Triangles(3, 18, 19, 0, 3, 19, 20, 0), + gsSP2Triangles(3, 20, 21, 0, 0, 3, 21, 0), + gsSP2Triangles(0, 21, 22, 0, 0, 22, 23, 0), + gsSP2Triangles(0, 23, 24, 0, 0, 24, 25, 0), + gsSP2Triangles(25, 26, 0, 0, 26, 27, 0, 0), + gsSP2Triangles(27, 28, 0, 0, 28, 29, 0, 0), + gsSP2Triangles(29, 30, 0, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 957, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 0, 5, 4, 0), + gsSP2Triangles(0, 6, 5, 0, 6, 7, 5, 0), + gsSP2Triangles(7, 8, 5, 0, 8, 9, 5, 0), + gsSP2Triangles(9, 10, 5, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 12, 13, 10, 0), + gsSP2Triangles(13, 14, 10, 0, 10, 15, 5, 0), + gsSP2Triangles(10, 16, 15, 0, 10, 17, 16, 0), + gsSP2Triangles(16, 18, 15, 0, 19, 20, 21, 0), + gsSP2Triangles(22, 19, 21, 0, 23, 22, 21, 0), + gsSP2Triangles(24, 23, 21, 0, 25, 24, 21, 0), + gsSP2Triangles(24, 26, 23, 0, 24, 27, 26, 0), + gsSP2Triangles(24, 28, 27, 0, 27, 29, 26, 0), + gsSP1Triangle(30, 31, 23, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 989, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 4, 0, 0, 3, 5, 4, 0), + gsSP2Triangles(4, 6, 0, 0, 0, 7, 1, 0), + gsSP2Triangles(8, 9, 10, 0, 11, 8, 10, 0), + gsSP2Triangles(11, 10, 12, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 15, 11, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 15, 18, 19, 0), + gsSP2Triangles(15, 19, 20, 0, 15, 20, 21, 0), + gsSP2Triangles(15, 21, 22, 0, 15, 23, 11, 0), + gsSP2Triangles(15, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(23, 26, 11, 0, 23, 27, 26, 0), + gsSP2Triangles(23, 28, 27, 0, 27, 29, 26, 0), + gsSP1Triangle(11, 30, 8, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1020, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 6, 7, 0), + gsSP2Triangles(8, 5, 7, 0, 9, 8, 7, 0), + gsSP2Triangles(10, 9, 7, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 15, 11, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 17, 15, 16, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 16, 19, 0), + gsSP2Triangles(16, 20, 19, 0, 16, 21, 20, 0), + gsSP2Triangles(19, 22, 18, 0, 19, 23, 22, 0), + gsSP2Triangles(19, 24, 23, 0, 23, 25, 22, 0), + gsSP2Triangles(26, 27, 11, 0, 15, 26, 11, 0), + gsSP2Triangles(15, 28, 26, 0, 17, 29, 30, 0), + gsSP1Triangle(17, 30, 15, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1051, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 5, 4, 3, 0), + gsSP2Triangles(6, 5, 3, 0, 3, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 8, 11, 6, 0), + gsSP2Triangles(8, 12, 11, 0, 11, 13, 6, 0), + gsSP2Triangles(14, 15, 0, 0, 16, 14, 0, 0), + gsSP2Triangles(4, 16, 0, 0, 16, 17, 14, 0), + gsSP2Triangles(18, 19, 4, 0, 5, 18, 4, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 20, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 22, 25, 24, 0), + gsSP2Triangles(22, 26, 25, 0, 23, 24, 27, 0), + gsSP2Triangles(24, 28, 27, 0, 24, 29, 28, 0), + gsSP2Triangles(30, 23, 27, 0, 30, 27, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1083, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 3, 5, 1, 0), + gsSP2Triangles(1, 6, 7, 0, 1, 7, 2, 0), + gsSP2Triangles(7, 8, 2, 0, 2, 9, 10, 0), + gsSP2Triangles(2, 10, 11, 0, 2, 11, 12, 0), + gsSP2Triangles(2, 12, 13, 0, 2, 13, 14, 0), + gsSP2Triangles(14, 15, 2, 0, 16, 17, 18, 0), + gsSP2Triangles(19, 16, 18, 0, 18, 20, 19, 0), + gsSP2Triangles(18, 21, 20, 0, 18, 22, 21, 0), + gsSP2Triangles(23, 24, 25, 0, 23, 25, 26, 0), + gsSP2Triangles(25, 27, 26, 0, 28, 26, 27, 0), + gsSP2Triangles(29, 28, 27, 0, 29, 27, 30, 0), + gsSP1Triangle(31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1115, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 5, 3, 0, 5, 6, 3, 0), + gsSP2Triangles(5, 7, 6, 0, 7, 8, 6, 0), + gsSP2Triangles(7, 9, 8, 0, 9, 10, 8, 0), + gsSP2Triangles(9, 11, 10, 0, 11, 12, 10, 0), + gsSP2Triangles(11, 13, 12, 0, 13, 14, 12, 0), + gsSP2Triangles(13, 15, 14, 0, 15, 16, 14, 0), + gsSP2Triangles(15, 17, 16, 0, 17, 18, 16, 0), + gsSP2Triangles(17, 19, 18, 0, 20, 18, 19, 0), + gsSP2Triangles(21, 20, 19, 0, 21, 19, 22, 0), + gsSP2Triangles(19, 23, 22, 0, 22, 24, 21, 0), + gsSP2Triangles(22, 25, 24, 0, 22, 26, 25, 0), + gsSP2Triangles(25, 27, 24, 0, 27, 28, 24, 0), + gsSP2Triangles(27, 29, 28, 0, 29, 30, 28, 0), + gsSP1Triangle(29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1147, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1179, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 20, 22, 0), + gsSP2Triangles(22, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(23, 26, 20, 0, 27, 28, 29, 0), + gsSP1Triangle(29, 30, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1211, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 3, 5, 0, 7, 6, 5, 0), + gsSP2Triangles(5, 8, 7, 0, 5, 9, 8, 0), + gsSP2Triangles(5, 10, 9, 0, 5, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 12, 15, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 18, 19, 16, 0), + gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), + gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0), + gsSP2Triangles(22, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(24, 26, 25, 0, 27, 25, 26, 0), + gsSP2Triangles(28, 27, 26, 0, 29, 28, 26, 0), + gsSP2Triangles(30, 29, 26, 0, 26, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1243, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 5, 3, 0, 5, 6, 3, 0), + gsSP2Triangles(3, 7, 4, 0, 3, 8, 7, 0), + gsSP2Triangles(7, 9, 4, 0, 7, 10, 9, 0), + gsSP2Triangles(10, 11, 9, 0, 10, 12, 11, 0), + gsSP2Triangles(12, 13, 11, 0, 12, 14, 13, 0), + gsSP2Triangles(14, 15, 13, 0, 14, 16, 15, 0), + gsSP2Triangles(16, 17, 15, 0, 16, 18, 17, 0), + gsSP2Triangles(18, 19, 17, 0, 18, 20, 19, 0), + gsSP2Triangles(20, 21, 19, 0, 20, 22, 21, 0), + gsSP2Triangles(21, 22, 23, 0, 22, 24, 23, 0), + gsSP2Triangles(25, 21, 23, 0, 25, 23, 26, 0), + gsSP2Triangles(23, 27, 26, 0, 23, 28, 27, 0), + gsSP2Triangles(23, 29, 28, 0, 28, 30, 27, 0), + gsSP1Triangle(28, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1275, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(3, 0, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0), + gsSP2Triangles(9, 11, 12, 0, 13, 9, 12, 0), + gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(16, 17, 18, 0, 17, 19, 18, 0), + gsSP2Triangles(17, 20, 19, 0, 19, 21, 18, 0), + gsSP2Triangles(21, 22, 18, 0, 13, 23, 9, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 24, 26, 0), + gsSP2Triangles(28, 27, 26, 0, 29, 28, 26, 0), + gsSP2Triangles(26, 30, 29, 0, 26, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1307, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 3, 5, 4, 0), + gsSP2Triangles(6, 4, 5, 0, 6, 7, 4, 0), + gsSP2Triangles(6, 8, 7, 0, 6, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1339, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(24, 22, 23, 0, 25, 24, 23, 0), + gsSP2Triangles(26, 25, 23, 0, 23, 27, 26, 0), + gsSP2Triangles(26, 28, 25, 0, 28, 29, 25, 0), + gsSP2Triangles(28, 30, 29, 0, 29, 31, 25, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1371, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0), + gsSP2Triangles(7, 8, 5, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1403, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1435, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1467, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(14, 16, 15, 0, 14, 17, 16, 0), + gsSP2Triangles(14, 18, 17, 0, 14, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1499, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1531, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1563, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(20, 21, 22, 0, 21, 23, 22, 0), + gsSP2Triangles(24, 23, 21, 0, 25, 24, 21, 0), + gsSP2Triangles(25, 21, 26, 0, 21, 27, 26, 0), + gsSP2Triangles(21, 28, 27, 0, 27, 29, 26, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1593, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1625, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1657, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1689, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(10, 12, 11, 0, 10, 13, 12, 0), + gsSP2Triangles(12, 14, 11, 0, 14, 15, 11, 0), + gsSP2Triangles(14, 16, 15, 0, 11, 17, 18, 0), + gsSP2Triangles(11, 18, 19, 0, 8, 11, 19, 0), + gsSP2Triangles(19, 20, 8, 0, 19, 21, 20, 0), + gsSP2Triangles(19, 22, 21, 0, 19, 23, 22, 0), + gsSP2Triangles(20, 24, 8, 0, 25, 24, 20, 0), + gsSP2Triangles(25, 20, 26, 0, 27, 25, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1721, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 2, 5, 4, 0), + gsSP2Triangles(3, 4, 6, 0, 4, 7, 6, 0), + gsSP2Triangles(4, 8, 7, 0, 7, 9, 6, 0), + gsSP2Triangles(10, 9, 7, 0, 10, 7, 11, 0), + gsSP2Triangles(10, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(11, 14, 13, 0, 13, 15, 12, 0), + gsSP2Triangles(15, 16, 12, 0, 17, 18, 19, 0), + gsSP2Triangles(6, 20, 3, 0, 21, 22, 23, 0), + gsSP2Triangles(21, 23, 24, 0, 23, 25, 24, 0), + gsSP2Triangles(23, 26, 25, 0, 23, 27, 26, 0), + gsSP2Triangles(23, 28, 27, 0, 29, 27, 28, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 28, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1753, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 2, 4, 0), + gsSP2Triangles(2, 5, 4, 0, 4, 6, 3, 0), + gsSP2Triangles(4, 7, 6, 0, 7, 8, 6, 0), + gsSP2Triangles(6, 9, 3, 0, 6, 10, 9, 0), + gsSP2Triangles(6, 11, 10, 0, 10, 12, 9, 0), + gsSP2Triangles(10, 13, 12, 0, 10, 14, 13, 0), + gsSP2Triangles(10, 15, 14, 0, 15, 16, 14, 0), + gsSP2Triangles(15, 17, 16, 0, 17, 18, 16, 0), + gsSP2Triangles(17, 19, 18, 0, 20, 18, 19, 0), + gsSP2Triangles(21, 20, 19, 0, 22, 21, 19, 0), + gsSP2Triangles(19, 23, 22, 0, 23, 24, 22, 0), + gsSP2Triangles(22, 25, 21, 0, 22, 26, 25, 0), + gsSP2Triangles(27, 25, 26, 0, 28, 27, 26, 0), + gsSP2Triangles(29, 28, 26, 0, 30, 29, 26, 0), + gsSP1Triangle(30, 26, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1785, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 7, 2, 0, 6, 8, 7, 0), + gsSP2Triangles(9, 6, 2, 0, 2, 10, 9, 0), + gsSP2Triangles(2, 11, 10, 0, 2, 12, 11, 0), + gsSP2Triangles(2, 13, 12, 0, 11, 14, 10, 0), + gsSP2Triangles(11, 15, 14, 0, 15, 16, 14, 0), + gsSP2Triangles(15, 17, 16, 0, 17, 18, 16, 0), + gsSP2Triangles(17, 19, 18, 0, 19, 20, 18, 0), + gsSP2Triangles(19, 21, 20, 0, 21, 22, 20, 0), + gsSP2Triangles(21, 23, 22, 0, 23, 24, 22, 0), + gsSP2Triangles(23, 25, 24, 0, 26, 24, 25, 0), + gsSP2Triangles(26, 25, 27, 0, 25, 28, 27, 0), + gsSP2Triangles(25, 29, 28, 0, 28, 30, 27, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1816, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 5, 7, 6, 0), + gsSP2Triangles(5, 8, 7, 0, 9, 8, 5, 0), + gsSP2Triangles(9, 5, 10, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 9, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(11, 14, 13, 0, 15, 12, 13, 0), + gsSP2Triangles(15, 16, 12, 0, 15, 13, 17, 0), + gsSP2Triangles(18, 15, 17, 0, 18, 17, 19, 0), + gsSP2Triangles(17, 20, 19, 0, 17, 21, 20, 0), + gsSP2Triangles(19, 22, 18, 0, 19, 23, 22, 0), + gsSP2Triangles(22, 24, 18, 0, 24, 25, 18, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 24, 27, 0), + gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1848, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(5, 6, 0, 0, 7, 6, 5, 0), + gsSP2Triangles(7, 5, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(9, 8, 10, 0, 11, 9, 10, 0), + gsSP2Triangles(11, 10, 12, 0, 10, 13, 12, 0), + gsSP2Triangles(12, 14, 11, 0, 12, 15, 14, 0), + gsSP2Triangles(14, 16, 11, 0, 14, 17, 16, 0), + gsSP2Triangles(14, 18, 17, 0, 18, 19, 17, 0), + gsSP2Triangles(17, 20, 16, 0, 17, 21, 20, 0), + gsSP2Triangles(20, 22, 16, 0, 23, 16, 22, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 22, 25, 0), + gsSP2Triangles(22, 26, 25, 0, 22, 27, 26, 0), + gsSP2Triangles(26, 28, 25, 0, 24, 29, 23, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1878, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0), + gsSP2Triangles(9, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(14, 12, 13, 0, 14, 13, 15, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(18, 16, 17, 0, 18, 17, 19, 0), + gsSP2Triangles(20, 18, 19, 0, 20, 19, 21, 0), + gsSP2Triangles(22, 20, 21, 0, 22, 21, 23, 0), + gsSP2Triangles(24, 22, 23, 0, 24, 23, 25, 0), + gsSP2Triangles(26, 24, 25, 0, 26, 25, 27, 0), + gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1910, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(10, 8, 9, 0, 10, 9, 11, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(14, 12, 13, 0, 14, 13, 15, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(18, 16, 17, 0, 18, 17, 19, 0), + gsSP2Triangles(20, 18, 19, 0, 20, 19, 21, 0), + gsSP2Triangles(22, 20, 21, 0, 22, 21, 23, 0), + gsSP2Triangles(24, 22, 23, 0, 24, 23, 25, 0), + gsSP2Triangles(26, 24, 25, 0, 26, 25, 27, 0), + gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1942, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(0, 5, 6, 0, 5, 7, 6, 0), + gsSP2Triangles(0, 6, 8, 0, 6, 9, 8, 0), + gsSP2Triangles(6, 10, 9, 0, 9, 11, 8, 0), + gsSP2Triangles(11, 12, 8, 0, 13, 8, 12, 0), + gsSP2Triangles(13, 12, 14, 0, 15, 13, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), + gsSP2Triangles(17, 18, 15, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 19, 22, 23, 0), + gsSP2Triangles(22, 24, 23, 0, 25, 19, 23, 0), + gsSP2Triangles(25, 26, 19, 0, 25, 27, 26, 0), + gsSP2Triangles(25, 28, 27, 0, 25, 29, 28, 0), + gsSP2Triangles(28, 30, 27, 0, 26, 31, 19, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 1974, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 3, 5, 0, 6, 7, 3, 0), + gsSP2Triangles(6, 8, 7, 0, 7, 9, 3, 0), + gsSP2Triangles(10, 9, 7, 0, 10, 7, 11, 0), + gsSP2Triangles(7, 12, 11, 0, 10, 11, 13, 0), + gsSP2Triangles(11, 14, 13, 0, 13, 15, 10, 0), + gsSP2Triangles(13, 16, 15, 0, 17, 16, 13, 0), + gsSP2Triangles(18, 17, 13, 0, 18, 13, 19, 0), + gsSP2Triangles(13, 20, 19, 0, 13, 21, 20, 0), + gsSP2Triangles(19, 22, 18, 0, 19, 23, 22, 0), + gsSP2Triangles(24, 22, 23, 0, 24, 23, 25, 0), + gsSP2Triangles(26, 24, 25, 0, 26, 25, 27, 0), + gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2006, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 0, 3, 5, 0), + gsSP2Triangles(3, 6, 5, 0, 5, 7, 0, 0), + gsSP2Triangles(7, 8, 0, 0, 8, 9, 0, 0), + gsSP2Triangles(8, 10, 9, 0, 8, 11, 10, 0), + gsSP2Triangles(10, 12, 9, 0, 10, 13, 12, 0), + gsSP2Triangles(10, 14, 13, 0, 12, 15, 9, 0), + gsSP2Triangles(16, 17, 18, 0, 9, 19, 0, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0), + gsSP2Triangles(27, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2038, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2070, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(22, 20, 21, 0, 23, 22, 21, 0), + gsSP2Triangles(23, 24, 22, 0, 25, 26, 27, 0), + gsSP2Triangles(28, 25, 27, 0, 27, 29, 28, 0), + gsSP2Triangles(27, 30, 29, 0, 27, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2102, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 0, 3, 0), + gsSP2Triangles(1, 3, 4, 0, 5, 1, 4, 0), + gsSP2Triangles(4, 6, 5, 0, 4, 7, 6, 0), + gsSP2Triangles(6, 8, 5, 0, 6, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 10, 12, 0), + gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), + gsSP2Triangles(14, 16, 13, 0, 14, 17, 16, 0), + gsSP2Triangles(14, 18, 17, 0, 19, 17, 18, 0), + gsSP2Triangles(19, 20, 17, 0, 19, 21, 20, 0), + gsSP2Triangles(19, 22, 21, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 21, 23, 0, 23, 25, 24, 0), + gsSP2Triangles(23, 26, 25, 0, 25, 27, 24, 0), + gsSP2Triangles(25, 28, 27, 0, 25, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2134, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 1, 3, 0, 5, 4, 3, 0), + gsSP2Triangles(3, 6, 5, 0, 5, 7, 4, 0), + gsSP2Triangles(5, 8, 7, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 7, 9, 0, 11, 10, 9, 0), + gsSP2Triangles(12, 11, 9, 0, 13, 12, 9, 0), + gsSP2Triangles(14, 13, 9, 0, 9, 15, 14, 0), + gsSP2Triangles(9, 16, 15, 0, 9, 17, 16, 0), + gsSP2Triangles(9, 18, 17, 0, 17, 19, 16, 0), + gsSP2Triangles(17, 20, 19, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 7, 27, 4, 0), + gsSP1Triangle(28, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2165, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 13, 12, 0), + gsSP2Triangles(15, 12, 16, 0, 17, 15, 16, 0), + gsSP2Triangles(17, 16, 18, 0, 19, 17, 18, 0), + gsSP2Triangles(19, 18, 20, 0, 21, 19, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 23, 21, 22, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 22, 25, 0), + gsSP2Triangles(22, 26, 25, 0, 22, 27, 26, 0), + gsSP2Triangles(25, 28, 24, 0, 29, 28, 25, 0), + gsSP2Triangles(30, 29, 25, 0, 30, 25, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2197, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 2, 5, 0, 2, 6, 5, 0), + gsSP2Triangles(7, 4, 5, 0, 7, 8, 4, 0), + gsSP2Triangles(7, 9, 8, 0, 8, 10, 4, 0), + gsSP2Triangles(11, 12, 13, 0, 14, 11, 13, 0), + gsSP2Triangles(14, 15, 11, 0, 14, 16, 15, 0), + gsSP2Triangles(17, 15, 16, 0, 17, 16, 18, 0), + gsSP2Triangles(19, 17, 18, 0, 19, 18, 20, 0), + gsSP2Triangles(21, 19, 20, 0, 21, 20, 22, 0), + gsSP2Triangles(23, 21, 22, 0, 23, 22, 24, 0), + gsSP2Triangles(25, 26, 27, 0, 28, 25, 27, 0), + gsSP2Triangles(29, 28, 27, 0, 30, 29, 27, 0), + gsSP1Triangle(30, 31, 29, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2229, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(8, 10, 9, 0, 8, 11, 10, 0), + gsSP2Triangles(12, 6, 9, 0, 12, 13, 6, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 12, 0), + gsSP2Triangles(17, 18, 19, 0, 18, 17, 20, 0), + gsSP2Triangles(18, 20, 21, 0, 22, 21, 20, 0), + gsSP2Triangles(22, 20, 23, 0, 24, 22, 23, 0), + gsSP2Triangles(24, 23, 25, 0, 26, 24, 25, 0), + gsSP2Triangles(26, 25, 27, 0, 28, 26, 27, 0), + gsSP2Triangles(28, 27, 29, 0, 28, 29, 30, 0), + gsSP1Triangle(29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2261, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 2, 5, 0, 0), + gsSP2Triangles(2, 6, 5, 0, 6, 7, 5, 0), + gsSP2Triangles(5, 8, 0, 0, 5, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 8, 11, 0, 0), + gsSP2Triangles(11, 12, 0, 0, 11, 13, 12, 0), + gsSP2Triangles(11, 14, 13, 0, 11, 15, 14, 0), + gsSP2Triangles(14, 16, 13, 0, 14, 17, 16, 0), + gsSP2Triangles(12, 18, 0, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 19, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(26, 28, 27, 0, 26, 29, 28, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2291, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 4, 7, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(10, 8, 9, 0, 10, 9, 11, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(14, 12, 13, 0, 14, 13, 15, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(18, 16, 17, 0, 18, 17, 19, 0), + gsSP2Triangles(20, 18, 19, 0, 20, 19, 21, 0), + gsSP2Triangles(22, 20, 21, 0, 22, 21, 23, 0), + gsSP2Triangles(24, 22, 23, 0, 24, 23, 25, 0), + gsSP2Triangles(26, 24, 25, 0, 26, 25, 27, 0), + gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2323, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(10, 8, 9, 0, 10, 9, 11, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 12, 15, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(20, 22, 21, 0, 23, 24, 25, 0), + gsSP2Triangles(26, 23, 25, 0, 27, 26, 25, 0), + gsSP2Triangles(28, 27, 25, 0, 29, 28, 25, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2355, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 8, 4, 0), + gsSP2Triangles(2, 7, 4, 0, 2, 9, 7, 0), + gsSP2Triangles(10, 7, 9, 0, 10, 9, 11, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 12, 15, 0, 16, 17, 12, 0), + gsSP2Triangles(17, 18, 12, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 23, 19, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 27, 25, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2387, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(9, 8, 10, 0, 11, 9, 10, 0), + gsSP2Triangles(11, 10, 12, 0, 13, 11, 12, 0), + gsSP2Triangles(13, 12, 14, 0, 15, 13, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 17, 15, 16, 0), + gsSP2Triangles(17, 16, 18, 0, 19, 17, 18, 0), + gsSP2Triangles(19, 18, 20, 0, 21, 19, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 23, 21, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 27, 25, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2419, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 7, 9, 0, 10, 9, 11, 0), + gsSP2Triangles(9, 12, 11, 0, 11, 13, 10, 0), + gsSP2Triangles(11, 14, 13, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 17, 16, 15, 0), + gsSP2Triangles(17, 15, 18, 0, 19, 17, 18, 0), + gsSP2Triangles(19, 18, 20, 0, 21, 19, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 23, 21, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 13, 25, 10, 0), + gsSP2Triangles(10, 26, 7, 0, 27, 28, 29, 0), + gsSP2Triangles(27, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2451, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 7, 9, 8, 0), + gsSP2Triangles(7, 10, 9, 0, 11, 9, 10, 0), + gsSP2Triangles(11, 12, 9, 0, 11, 13, 12, 0), + gsSP2Triangles(11, 14, 13, 0, 14, 15, 13, 0), + gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(16, 18, 17, 0, 19, 17, 18, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 18, 21, 0), + gsSP2Triangles(18, 22, 21, 0, 20, 21, 23, 0), + gsSP2Triangles(21, 24, 23, 0, 21, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 24, 27, 23, 0), + gsSP2Triangles(24, 28, 27, 0, 20, 29, 19, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2481, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(7, 8, 9, 0, 7, 9, 10, 0), + gsSP2Triangles(11, 12, 13, 0, 14, 11, 13, 0), + gsSP2Triangles(13, 15, 14, 0, 13, 16, 15, 0), + gsSP2Triangles(17, 15, 16, 0, 17, 16, 18, 0), + gsSP2Triangles(19, 17, 18, 0, 19, 18, 20, 0), + gsSP2Triangles(21, 19, 20, 0, 21, 20, 22, 0), + gsSP2Triangles(23, 21, 22, 0, 23, 22, 24, 0), + gsSP2Triangles(25, 23, 24, 0, 25, 24, 26, 0), + gsSP2Triangles(27, 25, 26, 0, 27, 26, 28, 0), + gsSP2Triangles(29, 27, 28, 0, 29, 28, 30, 0), + gsSP1Triangle(31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2513, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(9, 8, 10, 0, 11, 9, 10, 0), + gsSP2Triangles(11, 10, 12, 0, 13, 11, 12, 0), + gsSP2Triangles(13, 12, 14, 0, 15, 13, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 17, 15, 16, 0), + gsSP2Triangles(17, 16, 18, 0, 19, 17, 18, 0), + gsSP2Triangles(19, 18, 20, 0, 21, 19, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 23, 21, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 27, 25, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 31, 29, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2545, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 4, 7, 6, 0), + gsSP2Triangles(5, 6, 8, 0, 6, 9, 8, 0), + gsSP2Triangles(6, 10, 9, 0, 9, 11, 8, 0), + gsSP2Triangles(9, 12, 11, 0, 11, 13, 8, 0), + gsSP2Triangles(14, 15, 16, 0, 16, 17, 18, 0), + gsSP2Triangles(19, 18, 17, 0, 20, 19, 17, 0), + gsSP2Triangles(17, 21, 20, 0, 21, 22, 20, 0), + gsSP2Triangles(20, 23, 19, 0, 20, 24, 23, 0), + gsSP2Triangles(20, 25, 24, 0, 20, 26, 25, 0), + gsSP2Triangles(26, 27, 25, 0, 26, 28, 27, 0), + gsSP2Triangles(28, 29, 27, 0, 28, 30, 29, 0), + gsSP1Triangle(30, 31, 29, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2577, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0), + gsSP2Triangles(8, 10, 9, 0, 7, 9, 11, 0), + gsSP2Triangles(7, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(12, 14, 7, 0, 12, 15, 14, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(18, 20, 19, 0, 18, 21, 20, 0), + gsSP2Triangles(21, 18, 22, 0, 23, 21, 22, 0), + gsSP2Triangles(24, 23, 22, 0, 22, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2609, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 19, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2641, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), + gsSP2Triangles(11, 12, 10, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 17, 14, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(18, 20, 19, 0, 18, 21, 20, 0), + gsSP2Triangles(21, 22, 20, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 25, 27, 26, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), + gsSPVertex(powered_Text_mesh_vtx_0 + 2673, 22, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(7, 10, 9, 0, 9, 11, 8, 0), + gsSP2Triangles(9, 12, 11, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 15, 16, 0, 17, 14, 16, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSPEndDisplayList(), +}; + +Gfx mat_powered__64_001[] = { + gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(960, 960, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, powered_heart1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 255, 512), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTileSize(0, 0, 0, 60, 60), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_powered__64_001[] = { + gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx powered_Text_mesh[] = { + gsSPClearGeometryMode(G_LIGHTING), + gsSPVertex(powered_Text_mesh_vtx_cull + 0, 8, 0), + gsSPSetGeometryMode(G_LIGHTING), + gsSPCullDisplayList(0, 7), + gsSPDisplayList(mat_powered__64_001), + gsSPDisplayList(powered_Text_mesh_tri_0), + gsSPDisplayList(mat_revert_powered__64_001), + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsSPEndDisplayList(), +}; + +Gfx hm64_grayishtoblue_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 hm64_grayishtoblue_rgba16[] = { + 0xbe, 0xb9, 0xb6, 0x79, 0xae, 0x79, 0xae, 0x39, + 0xa6, 0x37, 0x9d, 0xf7, 0x95, 0xb7, 0x95, 0xb7, + 0x8d, 0x77, 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, + 0x74, 0xf5, 0x6c, 0xf5, 0x6c, 0xb3, 0x64, 0xb3, + 0xb6, 0x79, 0xae, 0x79, 0xae, 0x39, 0xa6, 0x37, + 0x9d, 0xf7, 0x95, 0xb7, 0x95, 0xb7, 0x8d, 0x77, + 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, + 0x6c, 0xf5, 0x6c, 0xb3, 0x64, 0xb3, 0x5c, 0x73, + 0xae, 0x79, 0xae, 0x37, 0xa6, 0x37, 0x9d, 0xf7, + 0x95, 0xb7, 0x95, 0xb7, 0x8d, 0x77, 0x85, 0x75, + 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xf5, + 0x6c, 0xb3, 0x64, 0xb3, 0x5c, 0x73, 0x54, 0x33, + 0xae, 0x37, 0xa6, 0x37, 0x9d, 0xf7, 0x95, 0xb7, + 0x95, 0xb7, 0x8d, 0x77, 0x85, 0x75, 0x85, 0x35, + 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xf3, 0x6c, 0xb3, + 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, + 0xa6, 0x37, 0x9d, 0xf7, 0x95, 0xb7, 0x95, 0xb7, + 0x8d, 0x77, 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, + 0x74, 0xf5, 0x6c, 0xf3, 0x6c, 0xb3, 0x64, 0xb3, + 0x5c, 0x73, 0x5c, 0x33, 0x54, 0x31, 0x4b, 0xf1, + 0x9d, 0xf7, 0x95, 0xb7, 0x95, 0xb7, 0x8d, 0x77, + 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, + 0x6c, 0xf3, 0x6c, 0xb3, 0x64, 0xb3, 0x5c, 0x73, + 0x54, 0x33, 0x54, 0x31, 0x4b, 0xf1, 0x43, 0xf1, + 0x95, 0xb7, 0x95, 0xb7, 0x8d, 0x77, 0x85, 0x75, + 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xb5, + 0x6c, 0xb3, 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, + 0x54, 0x33, 0x4b, 0xf1, 0x43, 0xf1, 0x43, 0xb1, + 0x95, 0xb7, 0x8d, 0x77, 0x85, 0x75, 0x85, 0x35, + 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xb3, 0x6c, 0xb3, + 0x64, 0xb3, 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, + 0x4b, 0xf1, 0x43, 0xf1, 0x43, 0xb1, 0x3b, 0x71, + 0x8d, 0x77, 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, + 0x74, 0xf5, 0x6c, 0xf5, 0x6c, 0xb3, 0x64, 0x73, + 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, 0x4b, 0xf1, + 0x43, 0xf1, 0x43, 0xb1, 0x3b, 0x71, 0x33, 0x6f, + 0x85, 0x75, 0x7d, 0x35, 0x7d, 0x35, 0x74, 0xf5, + 0x6c, 0xb3, 0x6c, 0xb3, 0x64, 0x73, 0x5c, 0x73, + 0x54, 0x33, 0x54, 0x31, 0x4b, 0xf1, 0x43, 0xf1, + 0x43, 0xb1, 0x3b, 0x71, 0x33, 0x6f, 0x2b, 0x2f, + 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xb3, + 0x6c, 0xb3, 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, + 0x54, 0x31, 0x4b, 0xf1, 0x43, 0xf1, 0x43, 0xb1, + 0x3b, 0x71, 0x33, 0x6f, 0x2b, 0x2f, 0x2b, 0x2f, + 0x7d, 0x35, 0x74, 0xf5, 0x6c, 0xb3, 0x6c, 0xb3, + 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, + 0x4b, 0xf1, 0x43, 0xf1, 0x43, 0xb1, 0x3b, 0x71, + 0x33, 0x6f, 0x2b, 0x2f, 0x2b, 0x2f, 0x22, 0xef, + 0x74, 0xf5, 0x6c, 0xf3, 0x6c, 0xb3, 0x64, 0x73, + 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, 0x4b, 0xf1, + 0x43, 0xf1, 0x43, 0xb1, 0x3b, 0x71, 0x33, 0x6f, + 0x2b, 0x2f, 0x2b, 0x2f, 0x22, 0xef, 0x1a, 0xef, + 0x6c, 0xf3, 0x6c, 0xb3, 0x64, 0xb3, 0x5c, 0x73, + 0x54, 0x33, 0x54, 0x31, 0x4b, 0xf1, 0x43, 0xf1, + 0x43, 0xb1, 0x3b, 0x71, 0x33, 0x6f, 0x2b, 0x2f, + 0x2b, 0x2f, 0x22, 0xef, 0x1a, 0xed, 0x12, 0xad, + 0x6c, 0xb3, 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, + 0x54, 0x31, 0x4b, 0xf1, 0x43, 0xf1, 0x3b, 0xb1, + 0x3b, 0x71, 0x33, 0x6f, 0x2b, 0x2f, 0x2b, 0x2f, + 0x22, 0xef, 0x1a, 0xed, 0x1a, 0xad, 0x12, 0x6d, + 0x64, 0x73, 0x5c, 0x73, 0x54, 0x33, 0x54, 0x31, + 0x4b, 0xf1, 0x43, 0xf1, 0x43, 0xb1, 0x3b, 0x71, + 0x33, 0x6f, 0x2b, 0x2f, 0x2b, 0x2f, 0x22, 0xef, + 0x1a, 0xed, 0x12, 0xad, 0x12, 0x6d, 0x0a, 0x6d, + +}; + +Gfx hm64_heart1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 hm64_heart1_rgba16[] = { + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, + 0x98, 0x01, 0xf8, 0x03, 0xfa, 0x95, 0xfa, 0x95, + 0xfa, 0x95, 0xf8, 0xc9, 0xf8, 0xc9, 0xf8, 0x03, + 0xc8, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0x98, 0x01, 0xe0, 0x03, 0xf8, 0xc9, 0xf8, 0xc9, + 0xf8, 0xc9, 0xf9, 0x8d, 0xfb, 0x9d, 0xfa, 0x95, + 0xf8, 0x03, 0xc8, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0xb0, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0xfa, 0x95, + 0xfa, 0x95, 0xe0, 0x03, 0xe0, 0x03, 0x68, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x98, 0x01, 0x98, 0x01, 0xb0, 0x01, 0xf8, 0xc9, + 0xf9, 0x8d, 0xfa, 0x95, 0xe0, 0x03, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x98, 0x01, 0x98, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x98, 0x01, 0xc8, 0x01, + 0xf9, 0x8d, 0xf8, 0x03, 0xb0, 0x01, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, 0xb0, 0x01, + 0xf8, 0x03, 0xf8, 0x03, 0xb0, 0x01, 0x80, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x50, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, 0xb0, 0x01, + 0xe0, 0x03, 0xc8, 0x01, 0x98, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x98, 0x01, + 0xc8, 0x01, 0xe0, 0x03, 0x98, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x50, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xf8, 0x03, 0xb0, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x50, 0x01, 0x38, 0x01, 0x68, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xc8, 0x01, 0xe0, 0x03, 0xb0, 0x01, 0x68, 0x01, + 0x50, 0x01, 0x40, 0x01, 0x28, 0x01, 0x40, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, + 0xb0, 0x01, 0xb0, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x38, 0x01, 0x40, 0x01, 0x38, 0x01, 0x28, 0x01, + 0x40, 0x01, 0x68, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x50, 0x01, 0x68, 0x01, 0x68, 0x01, 0x80, 0x01, + 0x80, 0x01, 0x98, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x28, 0x01, 0x28, 0x01, 0x20, 0x01, 0x20, 0x01, + 0x20, 0x01, 0x20, 0x01, 0x40, 0x01, 0x50, 0x01, + 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, 0x98, 0x01, + 0x98, 0x01, 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, + 0x40, 0x01, 0x28, 0x01, 0x20, 0x01, 0x28, 0x01, + 0x20, 0x01, 0x10, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x40, 0x01, 0x40, 0x01, 0x50, 0x01, 0x68, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x68, 0x01, 0x68, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x40, 0x01, 0x38, 0x01, + 0x50, 0x01, 0x50, 0x01, 0x50, 0x01, 0x40, 0x01, + 0x38, 0x01, 0x40, 0x01, 0x50, 0x01, 0x50, 0x01, + 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, 0x68, 0x01, + +}; + +Vtx hm64_Text_001_mesh_vtx_cull[8] = { + {{ {-19, -55, -183}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-19, -55, 135}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-19, 70, 135}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-19, 70, -183}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {15, -55, -183}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {15, -55, 135}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {15, 70, 135}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {15, 70, -183}, 0, {0, 0}, {0, 0, 0, 0} }}, +}; + +Vtx hm64_Text_001_mesh_vtx_0[367] = { + {{ {14, 17, -24}, 0, {-638, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -38}, 0, {-1041, -580}, {126, 12, 255, 255} }}, + {{ {14, 20, -25}, 0, {-636, -580}, {127, 254, 1, 255} }}, + {{ {14, 19, -38}, 0, {-7060, -580}, {126, 12, 255, 255} }}, + {{ {14, 19, -57}, 0, {370, -580}, {127, 253, 1, 255} }}, + {{ {14, 20, -25}, 0, {3078, -580}, {127, 254, 1, 255} }}, + {{ {13, 19, 38}, 0, {-760, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, 24}, 0, {-864, -580}, {127, 247, 2, 255} }}, + {{ {14, 19, 23}, 0, {-864, -580}, {127, 248, 1, 255} }}, + {{ {14, 18, 23}, 0, {-871, -580}, {127, 246, 1, 255} }}, + {{ {14, 17, 4}, 0, {-725, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, 23}, 0, {-867, -580}, {127, 248, 1, 255} }}, + {{ {14, 17, -24}, 0, {-640, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -38}, 0, {-1044, -580}, {125, 236, 254, 255} }}, + {{ {14, 19, -38}, 0, {-1039, -580}, {126, 12, 255, 255} }}, + {{ {14, 18, -38}, 0, {-1049, -580}, {127, 246, 0, 255} }}, + {{ {14, 19, -57}, 0, {-610, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -38}, 0, {-1040, -580}, {126, 12, 255, 255} }}, + {{ {13, -33, -8}, 0, {-685, -580}, {127, 4, 0, 255} }}, + {{ {13, -32, -21}, 0, {-986, -580}, {127, 253, 1, 255} }}, + {{ {13, -31, -9}, 0, {-677, -580}, {127, 4, 0, 255} }}, + {{ {13, -32, 9}, 0, {-929, -580}, {127, 253, 1, 255} }}, + {{ {13, -33, -8}, 0, {-690, -580}, {127, 4, 0, 255} }}, + {{ {13, -31, -8}, 0, {-688, -580}, {127, 5, 1, 255} }}, + {{ {12, -15, 135}, 0, {-888, -580}, {127, 253, 1, 255} }}, + {{ {12, -15, 116}, 0, {-1160, -580}, {126, 17, 2, 255} }}, + {{ {13, -11, 62}, 0, {-644, -580}, {127, 253, 1, 255} }}, + {{ {-17, 17, -24}, 0, {-638, -580}, {129, 3, 0, 255} }}, + {{ {-17, 21, -25}, 0, {-636, -580}, {129, 4, 0, 255} }}, + {{ {-17, 20, -38}, 0, {-1041, -580}, {130, 17, 254, 255} }}, + {{ {-17, 20, -38}, 0, {-7060, -580}, {130, 17, 254, 255} }}, + {{ {-17, 21, -25}, 0, {3078, -580}, {129, 4, 0, 255} }}, + {{ {-17, 20, -56}, 0, {370, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 37}, 0, {-760, -580}, {129, 3, 255, 255} }}, + {{ {-17, 20, 23}, 0, {-864, -580}, {129, 254, 0, 255} }}, + {{ {-17, 19, 23}, 0, {-864, -580}, {129, 253, 255, 255} }}, + {{ {-17, 19, 23}, 0, {-871, -580}, {129, 251, 0, 255} }}, + {{ {-17, 20, 23}, 0, {-867, -580}, {129, 254, 0, 255} }}, + {{ {-17, 17, 4}, 0, {-725, -580}, {129, 3, 255, 255} }}, + {{ {-17, 17, -24}, 0, {-640, -580}, {129, 3, 0, 255} }}, + {{ {-17, 20, -38}, 0, {-1039, -580}, {130, 17, 254, 255} }}, + {{ {-17, 19, -38}, 0, {-1044, -580}, {130, 242, 253, 255} }}, + {{ {-17, 19, -38}, 0, {-1049, -580}, {129, 251, 255, 255} }}, + {{ {-17, 20, -38}, 0, {-1040, -580}, {130, 17, 254, 255} }}, + {{ {-17, 20, -56}, 0, {-610, -580}, {129, 3, 255, 255} }}, + {{ {-18, -32, -9}, 0, {-685, -580}, {129, 9, 255, 255} }}, + {{ {-18, -31, -9}, 0, {-677, -580}, {129, 10, 255, 255} }}, + {{ {-18, -32, -22}, 0, {-986, -580}, {129, 3, 255, 255} }}, + {{ {-18, -31, 8}, 0, {-929, -580}, {129, 3, 255, 255} }}, + {{ {-18, -31, -9}, 0, {-688, -580}, {129, 10, 0, 255} }}, + {{ {-18, -32, -9}, 0, {-690, -580}, {129, 9, 255, 255} }}, + {{ {-19, -15, 134}, 0, {-888, -580}, {129, 3, 255, 255} }}, + {{ {-18, -11, 63}, 0, {-644, -580}, {129, 3, 255, 255} }}, + {{ {-19, -14, 116}, 0, {-1160, -580}, {131, 23, 0, 255} }}, + {{ {-19, -54, 115}, 0, {-961, -580}, {129, 2, 255, 255} }}, + {{ {-19, -54, 135}, 0, {-956, -580}, {129, 2, 255, 255} }}, + {{ {-19, -15, 134}, 0, {-902, -580}, {129, 3, 255, 255} }}, + {{ {-19, -17, 115}, 0, {-1019, -580}, {129, 2, 255, 255} }}, + {{ {-19, -14, 116}, 0, {-1022, -580}, {131, 23, 0, 255} }}, + {{ {13, -32, -21}, 0, {-987, -580}, {127, 253, 1, 255} }}, + {{ {14, 2, -33}, 0, {-1015, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -38}, 0, {-1044, -580}, {125, 236, 254, 255} }}, + {{ {13, -31, -9}, 0, {-677, -580}, {127, 4, 0, 255} }}, + {{ {13, -32, -21}, 0, {-987, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -38}, 0, {-1044, -580}, {125, 236, 254, 255} }}, + {{ {13, -20, -11}, 0, {-666, -580}, {127, 253, 1, 255} }}, + {{ {14, 17, -24}, 0, {-639, -580}, {127, 253, 1, 255} }}, + {{ {13, -30, -9}, 0, {-674, -580}, {127, 253, 1, 255} }}, + {{ {-17, 37, 82}, 0, {-701, -580}, {1, 89, 91, 255} }}, + {{ {-18, 3, 81}, 0, {-758, -580}, {255, 247, 127, 255} }}, + {{ {13, 2, 82}, 0, {-758, -580}, {255, 247, 127, 255} }}, + {{ {14, 36, 82}, 0, {-701, -580}, {1, 89, 91, 255} }}, + {{ {-17, 36, 36}, 0, {-750, -580}, {2, 95, 84, 255} }}, + {{ {-19, -53, 46}, 0, {-803, -580}, {255, 5, 127, 255} }}, + {{ {12, -54, 46}, 0, {-803, -580}, {255, 5, 127, 255} }}, + {{ {14, 36, 36}, 0, {-750, -580}, {2, 95, 84, 255} }}, + {{ {-17, 37, 135}, 0, {-833, -580}, {1, 90, 89, 255} }}, + {{ {-19, -54, 135}, 0, {-956, -580}, {254, 167, 90, 255} }}, + {{ {11, -55, 135}, 0, {-956, -580}, {254, 167, 90, 255} }}, + {{ {13, 36, 135}, 0, {-833, -580}, {1, 90, 89, 255} }}, + {{ {-18, -32, -9}, 0, {-684, -580}, {129, 9, 255, 255} }}, + {{ {-18, -32, -22}, 0, {-987, -580}, {129, 3, 255, 255} }}, + {{ {-19, -52, -15}, 0, {-955, -580}, {129, 2, 255, 255} }}, + {{ {-19, -52, 2}, 0, {-943, -580}, {129, 2, 255, 255} }}, + {{ {-19, -54, 1}, 0, {-949, -580}, {129, 2, 255, 255} }}, + {{ {-19, -55, -15}, 0, {-949, -580}, {129, 2, 255, 255} }}, + {{ {-18, -31, 8}, 0, {-930, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 23}, 0, {-860, -580}, {1, 250, 129, 255} }}, + {{ {-17, 20, 23}, 0, {-862, -580}, {253, 130, 245, 255} }}, + {{ {14, 19, 23}, 0, {-862, -580}, {253, 130, 245, 255} }}, + {{ {14, 18, 24}, 0, {-860, -580}, {1, 250, 129, 255} }}, + {{ {-19, -54, 27}, 0, {-807, -580}, {254, 164, 169, 255} }}, + {{ {12, -55, 27}, 0, {-807, -580}, {254, 164, 169, 255} }}, + {{ {14, 36, 8}, 0, {-748, -580}, {3, 93, 169, 255} }}, + {{ {-17, 36, 8}, 0, {-748, -580}, {3, 93, 169, 255} }}, + {{ {-17, 36, 36}, 0, {-750, -580}, {2, 95, 84, 255} }}, + {{ {14, 36, 36}, 0, {-750, -580}, {2, 95, 84, 255} }}, + {{ {14, 35, -55}, 0, {-633, -580}, {3, 93, 169, 255} }}, + {{ {-16, 36, -56}, 0, {-633, -580}, {3, 93, 169, 255} }}, + {{ {-16, 36, -28}, 0, {-635, -580}, {2, 94, 85, 255} }}, + {{ {14, 35, -28}, 0, {-635, -580}, {2, 94, 85, 255} }}, + {{ {-17, 19, -38}, 0, {-1037, -580}, {255, 251, 127, 255} }}, + {{ {-18, -55, -41}, 0, {-1090, -580}, {253, 165, 88, 255} }}, + {{ {12, -55, -41}, 0, {-1090, -580}, {253, 165, 88, 255} }}, + {{ {14, 18, -38}, 0, {-1037, -580}, {255, 251, 127, 255} }}, + {{ {-17, 20, -38}, 0, {-1035, -580}, {253, 135, 37, 255} }}, + {{ {14, 19, -38}, 0, {-1035, -580}, {253, 135, 37, 255} }}, + {{ {12, -50, 3}, 0, {-938, -580}, {254, 223, 123, 255} }}, + {{ {-19, -49, 2}, 0, {-938, -580}, {254, 223, 123, 255} }}, + {{ {-19, -53, 2}, 0, {-945, -580}, {254, 230, 124, 255} }}, + {{ {12, -55, 2}, 0, {-949, -580}, {253, 159, 82, 255} }}, + {{ {-19, -54, 1}, 0, {-949, -580}, {253, 159, 82, 255} }}, + {{ {12, -54, 2}, 0, {-945, -580}, {254, 230, 124, 255} }}, + {{ {13, 2, 82}, 0, {-758, -580}, {255, 247, 127, 255} }}, + {{ {-18, 3, 81}, 0, {-758, -580}, {255, 247, 127, 255} }}, + {{ {-18, 0, 81}, 0, {-762, -580}, {1, 87, 93, 255} }}, + {{ {13, 0, 81}, 0, {-762, -580}, {1, 87, 93, 255} }}, + {{ {13, -30, -8}, 0, {-691, -580}, {127, 253, 1, 255} }}, + {{ {14, 17, 4}, 0, {-725, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, 23}, 0, {-871, -580}, {127, 246, 1, 255} }}, + {{ {13, -32, 9}, 0, {-929, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, 20}, 0, {-897, -580}, {127, 253, 1, 255} }}, + {{ {13, -31, -8}, 0, {-688, -580}, {127, 5, 1, 255} }}, + {{ {11, -55, 135}, 0, {-955, -580}, {254, 167, 90, 255} }}, + {{ {-19, -54, 135}, 0, {-955, -580}, {254, 167, 90, 255} }}, + {{ {-19, -54, 115}, 0, {-961, -580}, {255, 167, 166, 255} }}, + {{ {11, -55, 115}, 0, {-961, -580}, {255, 167, 166, 255} }}, + {{ {12, -55, 83}, 0, {-1087, -580}, {254, 167, 91, 255} }}, + {{ {-19, -54, 82}, 0, {-1087, -580}, {254, 167, 91, 255} }}, + {{ {-19, -54, 62}, 0, {-1092, -580}, {255, 166, 167, 255} }}, + {{ {12, -55, 62}, 0, {-1092, -580}, {255, 166, 167, 255} }}, + {{ {13, 0, 81}, 0, {-763, -580}, {1, 87, 93, 255} }}, + {{ {-18, 0, 81}, 0, {-763, -580}, {1, 87, 93, 255} }}, + {{ {-18, 1, 116}, 0, {-768, -580}, {2, 90, 166, 255} }}, + {{ {13, 0, 116}, 0, {-768, -580}, {2, 90, 166, 255} }}, + {{ {12, -55, 2}, 0, {-948, -580}, {253, 159, 82, 255} }}, + {{ {-19, -54, 1}, 0, {-948, -580}, {253, 159, 82, 255} }}, + {{ {-19, -55, -15}, 0, {-950, -580}, {254, 161, 172, 255} }}, + {{ {12, -55, -14}, 0, {-950, -580}, {254, 161, 172, 255} }}, + {{ {12, -55, -41}, 0, {-1090, -580}, {253, 165, 88, 255} }}, + {{ {-18, -55, -41}, 0, {-1090, -580}, {253, 165, 88, 255} }}, + {{ {-18, -55, -62}, 0, {-1092, -580}, {254, 166, 167, 255} }}, + {{ {12, -55, -62}, 0, {-1092, -580}, {254, 166, 167, 255} }}, + {{ {12, -55, -62}, 0, {-1424, -580}, {254, 166, 167, 255} }}, + {{ {-18, -55, -62}, 0, {-1424, -580}, {254, 166, 167, 255} }}, + {{ {-18, -54, -62}, 0, {-575, -580}, {1, 1, 129, 255} }}, + {{ {12, -54, -62}, 0, {-575, -580}, {1, 1, 129, 255} }}, + {{ {-17, 33, -28}, 0, {-640, -580}, {0, 21, 125, 255} }}, + {{ {-17, 24, -26}, 0, {-649, -580}, {0, 35, 122, 255} }}, + {{ {14, 23, -26}, 0, {-649, -580}, {0, 35, 122, 255} }}, + {{ {14, 32, -28}, 0, {-640, -580}, {0, 21, 125, 255} }}, + {{ {12, -54, 46}, 0, {-803, -580}, {255, 5, 127, 255} }}, + {{ {-19, -53, 46}, 0, {-803, -580}, {255, 5, 127, 255} }}, + {{ {-19, -54, 46}, 0, {-807, -580}, {254, 167, 91, 255} }}, + {{ {12, -55, 46}, 0, {-807, -580}, {254, 167, 91, 255} }}, + {{ {12, -55, 46}, 0, {-805, -580}, {254, 167, 91, 255} }}, + {{ {-19, -54, 46}, 0, {-805, -580}, {254, 167, 91, 255} }}, + {{ {-19, -54, 27}, 0, {-808, -580}, {254, 164, 169, 255} }}, + {{ {12, -55, 27}, 0, {-808, -580}, {254, 164, 169, 255} }}, + {{ {13, 36, 115}, 0, {-829, -580}, {2, 88, 165, 255} }}, + {{ {-17, 37, 115}, 0, {-829, -580}, {2, 88, 165, 255} }}, + {{ {-17, 37, 135}, 0, {-834, -580}, {1, 90, 89, 255} }}, + {{ {13, 36, 135}, 0, {-834, -580}, {1, 90, 89, 255} }}, + {{ {12, -15, 116}, 0, {-1021, -580}, {255, 169, 163, 255} }}, + {{ {-19, -14, 116}, 0, {-1021, -580}, {255, 169, 163, 255} }}, + {{ {-18, -14, 81}, 0, {-1026, -580}, {254, 170, 93, 255} }}, + {{ {13, -15, 81}, 0, {-1026, -580}, {254, 170, 93, 255} }}, + {{ {14, 36, 62}, 0, {-697, -580}, {2, 89, 166, 255} }}, + {{ {-17, 36, 62}, 0, {-697, -580}, {2, 89, 166, 255} }}, + {{ {-17, 37, 82}, 0, {-702, -580}, {1, 89, 91, 255} }}, + {{ {14, 36, 82}, 0, {-702, -580}, {1, 89, 91, 255} }}, + {{ {-17, 24, -26}, 0, {-649, -580}, {0, 35, 122, 255} }}, + {{ {-18, -20, -11}, 0, {-677, -580}, {0, 35, 122, 255} }}, + {{ {13, -20, -11}, 0, {-677, -580}, {0, 35, 122, 255} }}, + {{ {14, 23, -26}, 0, {-649, -580}, {0, 35, 122, 255} }}, + {{ {12, -17, 116}, 0, {-1016, -580}, {1, 8, 129, 255} }}, + {{ {-19, -17, 115}, 0, {-1016, -580}, {1, 8, 129, 255} }}, + {{ {-19, -14, 116}, 0, {-1021, -580}, {255, 169, 163, 255} }}, + {{ {12, -15, 116}, 0, {-1021, -580}, {255, 169, 163, 255} }}, + {{ {13, -15, 81}, 0, {-1027, -580}, {254, 170, 93, 255} }}, + {{ {-18, -14, 81}, 0, {-1027, -580}, {254, 170, 93, 255} }}, + {{ {-18, -17, 82}, 0, {-1031, -580}, {255, 8, 127, 255} }}, + {{ {12, -18, 82}, 0, {-1031, -580}, {255, 8, 127, 255} }}, + {{ {-19, -54, 27}, 0, {-809, -580}, {129, 3, 255, 255} }}, + {{ {-19, -54, 46}, 0, {-807, -580}, {129, 3, 255, 255} }}, + {{ {-19, -53, 46}, 0, {-803, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 23}, 0, {-864, -580}, {129, 253, 255, 255} }}, + {{ {-19, -53, 46}, 0, {-803, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 37}, 0, {-760, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 23}, 0, {-864, -580}, {129, 253, 255, 255} }}, + {{ {-16, 36, -28}, 0, {-635, -580}, {129, 3, 255, 255} }}, + {{ {-16, 36, -56}, 0, {-633, -580}, {129, 3, 255, 255} }}, + {{ {-17, 20, -56}, 0, {-621, -580}, {129, 3, 255, 255} }}, + {{ {-17, 31, -28}, 0, {-642, -580}, {129, 3, 255, 255} }}, + {{ {-17, 21, -25}, 0, {-652, -580}, {129, 4, 0, 255} }}, + {{ {-17, 19, 23}, 0, {-867, -580}, {255, 228, 124, 255} }}, + {{ {-18, 3, 19}, 0, {-893, -580}, {254, 223, 123, 255} }}, + {{ {13, 2, 20}, 0, {-893, -580}, {254, 223, 123, 255} }}, + {{ {14, 18, 23}, 0, {-867, -580}, {255, 228, 124, 255} }}, + {{ {-17, 20, 23}, 0, {-865, -580}, {253, 130, 245, 255} }}, + {{ {14, 19, 23}, 0, {-865, -580}, {253, 130, 245, 255} }}, + {{ {-19, -17, 115}, 0, {-1016, -580}, {1, 8, 129, 255} }}, + {{ {12, -17, 116}, 0, {-1016, -580}, {1, 8, 129, 255} }}, + {{ {11, -55, 115}, 0, {-960, -580}, {255, 167, 166, 255} }}, + {{ {-19, -54, 115}, 0, {-960, -580}, {255, 167, 166, 255} }}, + {{ {-18, -31, -9}, 0, {-688, -580}, {0, 14, 126, 255} }}, + {{ {-18, -32, -9}, 0, {-690, -580}, {3, 127, 0, 255} }}, + {{ {13, -33, -8}, 0, {-690, -580}, {3, 127, 255, 255} }}, + {{ {13, -31, -9}, 0, {-688, -580}, {0, 14, 126, 255} }}, + {{ {-18, -29, -9}, 0, {-686, -580}, {0, 22, 125, 255} }}, + {{ {13, -30, -9}, 0, {-686, -580}, {0, 22, 125, 255} }}, + {{ {13, -30, -8}, 0, {-697, -580}, {1, 22, 131, 255} }}, + {{ {-18, -29, -8}, 0, {-697, -580}, {1, 22, 131, 255} }}, + {{ {-17, 33, 8}, 0, {-743, -580}, {1, 22, 131, 255} }}, + {{ {14, 32, 8}, 0, {-743, -580}, {1, 22, 131, 255} }}, + {{ {-16, 36, -28}, 0, {-635, -580}, {2, 94, 85, 255} }}, + {{ {-17, 33, -28}, 0, {-640, -580}, {0, 21, 125, 255} }}, + {{ {14, 32, -28}, 0, {-640, -580}, {0, 21, 125, 255} }}, + {{ {14, 35, -28}, 0, {-635, -580}, {2, 94, 85, 255} }}, + {{ {12, -54, -62}, 0, {-580, -580}, {1, 1, 129, 255} }}, + {{ {-18, -54, -62}, 0, {-580, -580}, {1, 1, 129, 255} }}, + {{ {-16, 36, -56}, 0, {-633, -580}, {3, 93, 169, 255} }}, + {{ {14, 35, -55}, 0, {-633, -580}, {3, 93, 169, 255} }}, + {{ {-18, -17, 82}, 0, {-1031, -580}, {255, 8, 127, 255} }}, + {{ {-19, -54, 82}, 0, {-1088, -580}, {254, 167, 91, 255} }}, + {{ {12, -55, 83}, 0, {-1088, -580}, {254, 167, 91, 255} }}, + {{ {12, -18, 82}, 0, {-1031, -580}, {255, 8, 127, 255} }}, + {{ {-17, 19, -38}, 0, {-1030, -580}, {0, 217, 135, 255} }}, + {{ {-17, 20, -38}, 0, {-1032, -580}, {253, 135, 37, 255} }}, + {{ {14, 19, -38}, 0, {-1032, -580}, {253, 135, 37, 255} }}, + {{ {14, 19, -38}, 0, {-1030, -580}, {0, 217, 135, 255} }}, + {{ {-17, 3, -34}, 0, {-1003, -580}, {0, 217, 135, 255} }}, + {{ {14, 2, -33}, 0, {-1003, -580}, {0, 217, 135, 255} }}, + {{ {-19, -49, -16}, 0, {-959, -580}, {0, 217, 135, 255} }}, + {{ {12, -50, -15}, 0, {-959, -580}, {0, 217, 135, 255} }}, + {{ {12, -53, -15}, 0, {-955, -580}, {0, 227, 132, 255} }}, + {{ {-19, -52, -15}, 0, {-955, -580}, {0, 227, 132, 255} }}, + {{ {12, -53, -15}, 0, {-955, -580}, {127, 252, 1, 255} }}, + {{ {13, -32, -21}, 0, {-987, -580}, {127, 253, 1, 255} }}, + {{ {13, -33, -8}, 0, {-689, -580}, {127, 4, 0, 255} }}, + {{ {12, -55, -14}, 0, {-949, -580}, {127, 252, 1, 255} }}, + {{ {12, -53, 2}, 0, {-943, -580}, {127, 252, 1, 255} }}, + {{ {13, -32, 9}, 0, {-930, -580}, {127, 253, 1, 255} }}, + {{ {12, -55, 2}, 0, {-946, -580}, {127, 252, 1, 255} }}, + {{ {-18, -20, -11}, 0, {-677, -580}, {0, 35, 122, 255} }}, + {{ {-18, -29, -9}, 0, {-686, -580}, {0, 22, 125, 255} }}, + {{ {13, -30, -9}, 0, {-686, -580}, {0, 22, 125, 255} }}, + {{ {13, -20, -11}, 0, {-677, -580}, {0, 35, 122, 255} }}, + {{ {14, 32, 8}, 0, {-743, -580}, {127, 254, 1, 255} }}, + {{ {14, 36, 8}, 0, {-747, -580}, {127, 254, 1, 255} }}, + {{ {14, 36, 36}, 0, {-750, -580}, {127, 254, 1, 255} }}, + {{ {14, 36, 36}, 0, {-750, -580}, {127, 254, 1, 255} }}, + {{ {14, 19, 23}, 0, {-867, -580}, {127, 248, 1, 255} }}, + {{ {14, 32, 8}, 0, {-743, -580}, {127, 254, 1, 255} }}, + {{ {13, 19, 38}, 0, {-760, -580}, {127, 253, 1, 255} }}, + {{ {14, 17, 4}, 0, {-726, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -57}, 0, {-621, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -55}, 0, {-632, -580}, {127, 254, 0, 255} }}, + {{ {14, 35, -28}, 0, {-635, -580}, {127, 254, 0, 255} }}, + {{ {14, 30, -27}, 0, {-642, -580}, {127, 254, 0, 255} }}, + {{ {14, 20, -25}, 0, {-652, -580}, {127, 254, 1, 255} }}, + {{ {-17, 19, -38}, 0, {-1044, -580}, {130, 242, 253, 255} }}, + {{ {-17, 3, -34}, 0, {-1015, -580}, {129, 3, 255, 255} }}, + {{ {-18, -32, -22}, 0, {-986, -580}, {129, 3, 255, 255} }}, + {{ {-17, 17, -24}, 0, {-640, -580}, {129, 3, 0, 255} }}, + {{ {-18, -29, -9}, 0, {-675, -580}, {129, 3, 255, 255} }}, + {{ {-18, -31, -9}, 0, {-677, -580}, {129, 10, 255, 255} }}, + {{ {-18, -20, -11}, 0, {-666, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, -38}, 0, {-1049, -580}, {129, 251, 255, 255} }}, + {{ {-17, 20, -56}, 0, {-610, -580}, {129, 3, 255, 255} }}, + {{ {-18, -54, -62}, 0, {-561, -580}, {129, 3, 0, 255} }}, + {{ {-18, -55, -41}, 0, {-1100, -580}, {129, 3, 0, 255} }}, + {{ {-18, -55, -62}, 0, {-1412, -580}, {129, 3, 0, 255} }}, + {{ {-17, 19, 23}, 0, {-871, -580}, {129, 251, 0, 255} }}, + {{ {-17, 17, 4}, 0, {-726, -580}, {129, 3, 255, 255} }}, + {{ {-18, -29, -8}, 0, {-690, -580}, {129, 3, 255, 255} }}, + {{ {-18, -31, 8}, 0, {-929, -580}, {129, 3, 255, 255} }}, + {{ {-18, -31, -9}, 0, {-688, -580}, {129, 10, 0, 255} }}, + {{ {-18, 3, 19}, 0, {-897, -580}, {129, 3, 255, 255} }}, + {{ {13, -31, -8}, 0, {-695, -580}, {1, 12, 130, 255} }}, + {{ {13, -33, -8}, 0, {-693, -580}, {3, 127, 255, 255} }}, + {{ {-18, -32, -9}, 0, {-693, -580}, {3, 127, 0, 255} }}, + {{ {-18, -31, -9}, 0, {-695, -580}, {1, 12, 130, 255} }}, + {{ {-18, -31, -9}, 0, {-695, -580}, {1, 12, 130, 255} }}, + {{ {13, -30, -8}, 0, {-697, -580}, {1, 22, 131, 255} }}, + {{ {13, -31, -8}, 0, {-695, -580}, {1, 12, 130, 255} }}, + {{ {-18, -29, -8}, 0, {-697, -580}, {1, 22, 131, 255} }}, + {{ {13, -11, 62}, 0, {-629, -580}, {127, 253, 1, 255} }}, + {{ {14, 36, 62}, 0, {-696, -580}, {127, 253, 1, 255} }}, + {{ {14, 36, 82}, 0, {-701, -580}, {127, 253, 1, 255} }}, + {{ {13, 0, 81}, 0, {-755, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, 82}, 0, {-761, -580}, {127, 253, 1, 255} }}, + {{ {13, 0, 116}, 0, {-767, -580}, {127, 253, 1, 255} }}, + {{ {12, -15, 135}, 0, {-907, -580}, {127, 253, 1, 255} }}, + {{ {13, 36, 135}, 0, {-833, -580}, {127, 253, 1, 255} }}, + {{ {13, 36, 115}, 0, {-828, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, 116}, 0, {-770, -580}, {127, 253, 1, 255} }}, + {{ {-18, 3, 19}, 0, {-893, -580}, {254, 223, 123, 255} }}, + {{ {-19, -49, 2}, 0, {-938, -580}, {254, 223, 123, 255} }}, + {{ {12, -50, 3}, 0, {-938, -580}, {254, 223, 123, 255} }}, + {{ {13, 2, 20}, 0, {-893, -580}, {254, 223, 123, 255} }}, + {{ {-17, 36, 62}, 0, {-698, -580}, {2, 89, 166, 255} }}, + {{ {14, 36, 62}, 0, {-698, -580}, {2, 89, 166, 255} }}, + {{ {12, -55, 62}, 0, {-1151, -580}, {255, 166, 167, 255} }}, + {{ {-19, -54, 62}, 0, {-1151, -580}, {255, 166, 167, 255} }}, + {{ {12, -55, -62}, 0, {-1412, -580}, {127, 253, 1, 255} }}, + {{ {12, -54, -62}, 0, {-568, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -57}, 0, {-610, -580}, {127, 253, 1, 255} }}, + {{ {12, -55, -41}, 0, {-1416, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, -38}, 0, {-1049, -580}, {127, 246, 0, 255} }}, + {{ {12, -18, 82}, 0, {-1042, -580}, {127, 253, 0, 255} }}, + {{ {12, -55, 83}, 0, {-1143, -580}, {127, 253, 0, 255} }}, + {{ {12, -55, 62}, 0, {-1148, -580}, {127, 253, 0, 255} }}, + {{ {13, -15, 81}, 0, {-1031, -580}, {127, 253, 0, 255} }}, + {{ {13, -11, 62}, 0, {-631, -580}, {127, 253, 1, 255} }}, + {{ {13, -11, 62}, 0, {-631, -580}, {127, 253, 1, 255} }}, + {{ {12, -15, 116}, 0, {-1048, -580}, {126, 17, 2, 255} }}, + {{ {13, -15, 81}, 0, {-1031, -580}, {127, 253, 0, 255} }}, + {{ {14, 32, 8}, 0, {-743, -580}, {1, 22, 131, 255} }}, + {{ {-17, 33, 8}, 0, {-743, -580}, {1, 22, 131, 255} }}, + {{ {-17, 36, 8}, 0, {-748, -580}, {3, 93, 169, 255} }}, + {{ {14, 36, 8}, 0, {-748, -580}, {3, 93, 169, 255} }}, + {{ {-17, 36, 36}, 0, {-750, -580}, {129, 4, 255, 255} }}, + {{ {-17, 36, 8}, 0, {-748, -580}, {129, 4, 255, 255} }}, + {{ {-17, 33, 8}, 0, {-743, -580}, {129, 4, 255, 255} }}, + {{ {-17, 20, 23}, 0, {-865, -580}, {129, 254, 0, 255} }}, + {{ {-17, 17, 4}, 0, {-726, -580}, {129, 3, 255, 255} }}, + {{ {-17, 19, 37}, 0, {-760, -580}, {129, 3, 255, 255} }}, + {{ {12, -55, -14}, 0, {-949, -580}, {254, 161, 172, 255} }}, + {{ {-19, -55, -15}, 0, {-949, -580}, {254, 161, 172, 255} }}, + {{ {-19, -52, -15}, 0, {-954, -580}, {0, 227, 132, 255} }}, + {{ {12, -53, -15}, 0, {-954, -580}, {0, 227, 132, 255} }}, + {{ {-18, 3, 116}, 0, {-773, -580}, {1, 252, 129, 255} }}, + {{ {-17, 37, 115}, 0, {-829, -580}, {2, 88, 165, 255} }}, + {{ {13, 36, 115}, 0, {-829, -580}, {2, 88, 165, 255} }}, + {{ {13, 2, 116}, 0, {-773, -580}, {1, 252, 129, 255} }}, + {{ {-18, 1, 116}, 0, {-768, -580}, {2, 90, 166, 255} }}, + {{ {13, 0, 116}, 0, {-768, -580}, {2, 90, 166, 255} }}, + {{ {12, -54, 46}, 0, {-803, -580}, {127, 253, 1, 255} }}, + {{ {12, -55, 46}, 0, {-807, -580}, {127, 253, 1, 255} }}, + {{ {12, -55, 27}, 0, {-807, -580}, {127, 253, 1, 255} }}, + {{ {13, 19, 38}, 0, {-760, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, 24}, 0, {-864, -580}, {127, 247, 2, 255} }}, + {{ {-17, 37, 82}, 0, {-701, -580}, {129, 3, 255, 255} }}, + {{ {-17, 36, 62}, 0, {-697, -580}, {129, 3, 255, 255} }}, + {{ {-18, -11, 63}, 0, {-629, -580}, {129, 3, 255, 255} }}, + {{ {-18, 0, 81}, 0, {-764, -580}, {129, 3, 255, 255} }}, + {{ {-18, -11, 63}, 0, {-629, -580}, {129, 3, 255, 255} }}, + {{ {-19, -15, 134}, 0, {-907, -580}, {129, 3, 255, 255} }}, + {{ {-18, 0, 81}, 0, {-764, -580}, {129, 3, 255, 255} }}, + {{ {-18, 1, 116}, 0, {-760, -580}, {129, 3, 255, 255} }}, + {{ {-17, 37, 115}, 0, {-829, -580}, {129, 3, 255, 255} }}, + {{ {-17, 37, 135}, 0, {-833, -580}, {129, 3, 255, 255} }}, + {{ {-18, 3, 116}, 0, {-770, -580}, {129, 3, 255, 255} }}, + {{ {-18, 3, 81}, 0, {-761, -580}, {129, 3, 255, 255} }}, + {{ {-17, 37, 82}, 0, {-701, -580}, {129, 3, 255, 255} }}, + {{ {12, -15, 135}, 0, {-902, -580}, {127, 253, 1, 255} }}, + {{ {11, -55, 135}, 0, {-956, -580}, {127, 253, 1, 255} }}, + {{ {11, -55, 115}, 0, {-960, -580}, {127, 253, 1, 255} }}, + {{ {12, -15, 116}, 0, {-1022, -580}, {126, 17, 2, 255} }}, + {{ {12, -17, 116}, 0, {-1019, -580}, {127, 253, 1, 255} }}, + {{ {-18, -11, 63}, 0, {-620, -580}, {129, 3, 255, 255} }}, + {{ {-19, -54, 62}, 0, {-1148, -580}, {129, 3, 255, 255} }}, + {{ {-19, -54, 82}, 0, {-1098, -580}, {129, 3, 255, 255} }}, + {{ {-18, -14, 81}, 0, {-1053, -580}, {129, 3, 255, 255} }}, + {{ {-18, -17, 82}, 0, {-1042, -580}, {129, 3, 255, 255} }}, + {{ {-19, -14, 116}, 0, {-1048, -580}, {131, 23, 0, 255} }}, +}; + +Gfx hm64_Text_001_mesh_tri_0[] = { + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 0, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 30, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 26, 27, 24, 0), + gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 62, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(2, 4, 3, 0, 3, 5, 0, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), + gsSP2Triangles(21, 24, 18, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 25, 28, 29, 0), + gsSP1Triangle(28, 30, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 93, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(8, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(14, 15, 16, 0, 16, 17, 14, 0), + gsSP2Triangles(16, 18, 17, 0, 17, 19, 14, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 26, 27, 24, 0), + gsSP2Triangles(26, 28, 27, 0, 27, 29, 24, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 123, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 155, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 30, 31, 28, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 187, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 6, 3, 0, 5, 7, 6, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(8, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(18, 21, 22, 0, 21, 23, 22, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 219, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 8, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(14, 12, 13, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 16, 17, 14, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 18, 20, 0), + gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), + gsSP2Triangles(22, 24, 21, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 251, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(1, 4, 2, 0, 5, 6, 7, 0), + gsSP2Triangles(7, 8, 5, 0, 8, 9, 5, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 10, 12, 0), + gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), + gsSP2Triangles(14, 16, 13, 0, 17, 18, 19, 0), + gsSP2Triangles(19, 20, 17, 0, 19, 21, 20, 0), + gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), + gsSP2Triangles(24, 26, 25, 0, 25, 27, 22, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 283, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(6, 8, 7, 0, 4, 7, 9, 0), + gsSP2Triangles(9, 10, 4, 0, 9, 11, 10, 0), + gsSP2Triangles(9, 12, 11, 0, 9, 13, 12, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), + gsSP2Triangles(24, 26, 25, 0, 27, 28, 29, 0), + gsSP2Triangles(30, 27, 29, 0, 29, 31, 30, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 315, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(9, 10, 7, 0, 9, 11, 10, 0), + gsSP2Triangles(10, 12, 7, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 17, 18, 19, 0), + gsSP2Triangles(17, 19, 20, 0, 20, 21, 17, 0), + gsSP2Triangles(20, 22, 21, 0, 23, 24, 25, 0), + gsSP2Triangles(25, 26, 23, 0, 25, 27, 26, 0), + gsSP2Triangles(28, 29, 30, 0, 31, 28, 30, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_0 + 347, 20, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), + gsSP2Triangles(4, 6, 3, 0, 2, 7, 8, 0), + gsSP2Triangles(9, 10, 11, 0, 11, 12, 9, 0), + gsSP2Triangles(11, 13, 12, 0, 14, 15, 16, 0), + gsSP2Triangles(14, 16, 17, 0, 16, 18, 17, 0), + gsSP1Triangle(17, 19, 14, 0), + gsSPEndDisplayList(), +}; + +Vtx hm64_Text_001_mesh_vtx_1[710] = { + {{ {3, 3, -175}, 0, {-738, -580}, {129, 3, 255, 255} }}, + {{ {3, 3, -159}, 0, {-698, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -159}, 0, {-1092, -580}, {203, 115, 255, 255} }}, + {{ {3, 15, -175}, 0, {-777, -580}, {182, 103, 255, 255} }}, + {{ {3, 15, -183}, 0, {-733, -580}, {129, 3, 255, 255} }}, + {{ {4, 46, -104}, 0, {-972, -580}, {129, 3, 255, 255} }}, + {{ {4, 46, -106}, 0, {-969, -580}, {129, 3, 255, 255} }}, + {{ {4, 45, -109}, 0, {-966, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -98}, 0, {-626, -580}, {129, 3, 255, 255} }}, + {{ {3, 34, -99}, 0, {-629, -580}, {129, 3, 255, 255} }}, + {{ {3, 33, -100}, 0, {-632, -580}, {129, 3, 255, 255} }}, + {{ {3, 33, -100}, 0, {-636, -580}, {129, 3, 255, 255} }}, + {{ {4, 43, -111}, 0, {-963, -580}, {129, 3, 255, 255} }}, + {{ {4, 42, -113}, 0, {-960, -580}, {129, 3, 255, 255} }}, + {{ {4, 37, -117}, 0, {-953, -580}, {129, 3, 255, 255} }}, + {{ {4, 39, -115}, 0, {-956, -580}, {129, 3, 255, 255} }}, + {{ {3, 32, -101}, 0, {-637, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -118}, 0, {-923, -580}, {129, 3, 255, 255} }}, + {{ {3, 28, -120}, 0, {-942, -580}, {129, 3, 255, 255} }}, + {{ {3, 33, -119}, 0, {-948, -580}, {129, 3, 255, 255} }}, + {{ {3, 36, -118}, 0, {-952, -580}, {129, 3, 255, 255} }}, + {{ {3, 31, -120}, 0, {-945, -580}, {129, 3, 255, 255} }}, + {{ {4, 47, -101}, 0, {-975, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -97}, 0, {-625, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -96}, 0, {-621, -580}, {129, 3, 255, 255} }}, + {{ {4, 45, -91}, 0, {-996, -580}, {129, 3, 255, 255} }}, + {{ {3, 36, -95}, 0, {-618, -580}, {129, 3, 255, 255} }}, + {{ {3, 36, -94}, 0, {-615, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -92}, 0, {-612, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -91}, 0, {-609, -580}, {129, 3, 255, 255} }}, + {{ {3, 35, -91}, 0, {-607, -580}, {129, 3, 255, 255} }}, + {{ {3, 34, -90}, 0, {-604, -580}, {129, 3, 255, 255} }}, + {{ {4, 45, -91}, 0, {-996, -580}, {129, 3, 255, 255} }}, + {{ {3, 34, -90}, 0, {-604, -580}, {129, 3, 255, 255} }}, + {{ {3, 34, -89}, 0, {-601, -580}, {129, 3, 255, 255} }}, + {{ {3, 33, -88}, 0, {-598, -580}, {129, 3, 255, 255} }}, + {{ {3, 32, -87}, 0, {-596, -580}, {129, 3, 255, 255} }}, + {{ {3, 31, -87}, 0, {-593, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {129, 3, 255, 255} }}, + {{ {3, 30, -86}, 0, {-590, -580}, {129, 3, 255, 255} }}, + {{ {3, 29, -86}, 0, {-587, -580}, {129, 3, 255, 255} }}, + {{ {3, 27, -85}, 0, {-583, -580}, {129, 3, 255, 255} }}, + {{ {3, 25, -85}, 0, {-580, -580}, {129, 3, 255, 255} }}, + {{ {3, 24, -85}, 0, {-729, -580}, {129, 3, 255, 255} }}, + {{ {3, 22, -85}, 0, {-726, -580}, {129, 3, 255, 255} }}, + {{ {3, 21, -86}, 0, {-722, -580}, {129, 3, 255, 255} }}, + {{ {3, 19, -86}, 0, {-719, -580}, {129, 3, 255, 255} }}, + {{ {3, 18, -87}, 0, {-716, -580}, {129, 3, 255, 255} }}, + {{ {3, 17, -87}, 0, {-713, -580}, {129, 3, 255, 255} }}, + {{ {3, 16, -88}, 0, {-711, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -89}, 0, {-708, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -90}, 0, {-705, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -91}, 0, {-702, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -91}, 0, {-700, -580}, {129, 3, 255, 255} }}, + {{ {3, 13, -93}, 0, {-697, -580}, {129, 3, 255, 255} }}, + {{ {3, 13, -94}, 0, {-694, -580}, {129, 3, 255, 255} }}, + {{ {3, 13, -95}, 0, {-691, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -118}, 0, {-923, -580}, {129, 3, 255, 255} }}, + {{ {3, 13, -96}, 0, {-688, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -97}, 0, {-685, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -98}, 0, {-683, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -99}, 0, {-680, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -100}, 0, {-677, -580}, {129, 3, 255, 255} }}, + {{ {3, 16, -100}, 0, {-674, -580}, {129, 3, 255, 255} }}, + {{ {3, 16, -100}, 0, {-674, -580}, {129, 3, 255, 255} }}, + {{ {3, 17, -101}, 0, {-670, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -118}, 0, {-923, -580}, {129, 3, 255, 255} }}, + {{ {3, 18, -102}, 0, {-667, -580}, {129, 3, 255, 255} }}, + {{ {3, 19, -102}, 0, {-666, -580}, {129, 3, 255, 255} }}, + {{ {3, 20, -102}, 0, {-662, -580}, {129, 3, 255, 255} }}, + {{ {3, 21, -103}, 0, {-659, -580}, {129, 3, 255, 255} }}, + {{ {3, 23, -103}, 0, {-656, -580}, {129, 3, 255, 255} }}, + {{ {3, 27, -103}, 0, {-650, -580}, {129, 3, 255, 255} }}, + {{ {3, 28, -102}, 0, {-647, -580}, {129, 3, 255, 255} }}, + {{ {3, 30, -102}, 0, {-643, -580}, {129, 3, 255, 255} }}, + {{ {3, 31, -102}, 0, {-640, -580}, {129, 3, 255, 255} }}, + {{ {3, 32, -101}, 0, {-637, -580}, {129, 3, 255, 255} }}, + {{ {3, 3, -106}, 0, {-896, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -113}, 0, {-911, -580}, {129, 3, 255, 255} }}, + {{ {3, 11, -116}, 0, {-917, -580}, {129, 3, 255, 255} }}, + {{ {3, 13, -117}, 0, {-920, -580}, {129, 3, 255, 255} }}, + {{ {3, 9, -115}, 0, {-914, -580}, {129, 3, 255, 255} }}, + {{ {14, 15, -125}, 0, {-1053, -580}, {254, 167, 90, 255} }}, + {{ {3, 15, -125}, 0, {-1092, -580}, {254, 167, 90, 255} }}, + {{ {3, 15, -159}, 0, {-1092, -580}, {254, 167, 90, 255} }}, + {{ {14, 15, -159}, 0, {-1092, -580}, {254, 167, 90, 255} }}, + {{ {14, 15, -159}, 0, {-1092, -580}, {254, 167, 90, 255} }}, + {{ {3, 3, -159}, 0, {-698, -580}, {254, 167, 90, 255} }}, + {{ {14, 2, -159}, 0, {-698, -580}, {254, 167, 90, 255} }}, + {{ {3, 3, -175}, 0, {-738, -580}, {255, 166, 167, 255} }}, + {{ {14, 2, -175}, 0, {-738, -580}, {255, 166, 167, 255} }}, + {{ {3, 15, -175}, 0, {-777, -580}, {255, 166, 167, 255} }}, + {{ {14, 15, -175}, 0, {-777, -580}, {255, 166, 167, 255} }}, + {{ {14, 15, -175}, 0, {-778, -580}, {255, 166, 167, 255} }}, + {{ {3, 15, -175}, 0, {-1092, -580}, {255, 166, 167, 255} }}, + {{ {3, 15, -183}, 0, {-1092, -580}, {255, 166, 167, 255} }}, + {{ {14, 15, -183}, 0, {-817, -580}, {255, 166, 167, 255} }}, + {{ {14, 30, -125}, 0, {-1013, -580}, {0, 44, 119, 255} }}, + {{ {3, 15, -125}, 0, {-1053, -580}, {254, 167, 90, 255} }}, + {{ {14, 15, -125}, 0, {-1053, -580}, {254, 167, 90, 255} }}, + {{ {3, 30, -125}, 0, {-1013, -580}, {0, 44, 119, 255} }}, + {{ {15, 70, -159}, 0, {-974, -580}, {2, 115, 53, 255} }}, + {{ {4, 70, -159}, 0, {-974, -580}, {2, 115, 53, 255} }}, + {{ {15, 69, -175}, 0, {-935, -580}, {2, 89, 166, 255} }}, + {{ {5, 70, -175}, 0, {-935, -580}, {2, 89, 166, 255} }}, + {{ {14, 29, -175}, 0, {-895, -580}, {2, 89, 166, 255} }}, + {{ {4, 29, -175}, 0, {-895, -580}, {2, 89, 166, 255} }}, + {{ {14, 29, -183}, 0, {-856, -580}, {2, 89, 166, 255} }}, + {{ {4, 29, -183}, 0, {-856, -580}, {2, 89, 166, 255} }}, + {{ {3, 15, -183}, 0, {-817, -580}, {255, 166, 167, 255} }}, + {{ {14, 5, -110}, 0, {-904, -580}, {127, 253, 1, 255} }}, + {{ {14, 6, -112}, 0, {-907, -580}, {127, 253, 1, 255} }}, + {{ {14, 8, -113}, 0, {-911, -580}, {127, 253, 1, 255} }}, + {{ {13, 4, -108}, 0, {-899, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -118}, 0, {-923, -580}, {127, 253, 1, 255} }}, + {{ {14, 11, -116}, 0, {-917, -580}, {127, 253, 1, 255} }}, + {{ {14, 9, -115}, 0, {-914, -580}, {127, 253, 1, 255} }}, + {{ {14, 12, -117}, 0, {-920, -580}, {127, 253, 1, 255} }}, + {{ {14, 17, -119}, 0, {-928, -580}, {127, 253, 1, 255} }}, + {{ {14, 20, -120}, 0, {-933, -580}, {127, 253, 1, 255} }}, + {{ {14, 27, -120}, 0, {-942, -580}, {127, 253, 1, 255} }}, + {{ {14, 24, -120}, 0, {-939, -580}, {127, 253, 1, 255} }}, + {{ {14, 37, -117}, 0, {-953, -580}, {127, 253, 1, 255} }}, + {{ {14, 33, -119}, 0, {-948, -580}, {127, 253, 1, 255} }}, + {{ {14, 30, -120}, 0, {-945, -580}, {127, 253, 1, 255} }}, + {{ {14, 33, -119}, 0, {-948, -580}, {127, 253, 1, 255} }}, + {{ {14, 36, -118}, 0, {-952, -580}, {127, 253, 1, 255} }}, + {{ {14, 37, -117}, 0, {-953, -580}, {127, 253, 1, 255} }}, + {{ {14, 39, -115}, 0, {-956, -580}, {127, 253, 1, 255} }}, + {{ {14, 41, -113}, 0, {-960, -580}, {127, 253, 1, 255} }}, + {{ {14, 44, -109}, 0, {-966, -580}, {127, 253, 1, 255} }}, + {{ {14, 43, -111}, 0, {-963, -580}, {127, 253, 1, 255} }}, + {{ {14, 31, -101}, 0, {-640, -580}, {127, 253, 1, 255} }}, + {{ {14, 32, -101}, 0, {-637, -580}, {127, 253, 1, 255} }}, + {{ {14, 32, -100}, 0, {-636, -580}, {127, 253, 1, 255} }}, + {{ {14, 33, -99}, 0, {-632, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -104}, 0, {-972, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -106}, 0, {-969, -580}, {127, 253, 1, 255} }}, + {{ {14, 34, -99}, 0, {-629, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -98}, 0, {-626, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -97}, 0, {-625, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -96}, 0, {-621, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -95}, 0, {-618, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -93}, 0, {-615, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -92}, 0, {-612, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -91}, 0, {-609, -580}, {127, 253, 1, 255} }}, + {{ {14, 40, -84}, 0, {-1015, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -92}, 0, {-993, -580}, {127, 253, 1, 255} }}, + {{ {14, 47, -98}, 0, {-980, -580}, {127, 253, 1, 255} }}, + {{ {14, 47, -101}, 0, {-975, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -95}, 0, {-986, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, -101}, 0, {-890, -580}, {127, 253, 1, 255} }}, + {{ {13, 3, -106}, 0, {-896, -580}, {127, 253, 1, 255} }}, + {{ {13, 4, -108}, 0, {-899, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, -90}, 0, {-877, -580}, {127, 253, 1, 255} }}, + {{ {13, 6, -77}, 0, {-860, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -97}, 0, {-685, -580}, {127, 253, 1, 255} }}, + {{ {13, 4, -108}, 0, {-899, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -98}, 0, {-683, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -97}, 0, {-685, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -99}, 0, {-680, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -100}, 0, {-677, -580}, {127, 253, 1, 255} }}, + {{ {14, 16, -100}, 0, {-674, -580}, {127, 253, 1, 255} }}, + {{ {14, 17, -101}, 0, {-670, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, -102}, 0, {-667, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, -102}, 0, {-666, -580}, {127, 253, 1, 255} }}, + {{ {14, 20, -102}, 0, {-662, -580}, {127, 253, 1, 255} }}, + {{ {14, 21, -103}, 0, {-659, -580}, {127, 253, 1, 255} }}, + {{ {14, 23, -103}, 0, {-656, -580}, {127, 253, 1, 255} }}, + {{ {14, 26, -103}, 0, {-650, -580}, {127, 253, 1, 255} }}, + {{ {14, 37, -117}, 0, {-953, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -118}, 0, {-923, -580}, {127, 253, 1, 255} }}, + {{ {14, 28, -102}, 0, {-647, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -102}, 0, {-643, -580}, {127, 253, 1, 255} }}, + {{ {14, 31, -101}, 0, {-640, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, -90}, 0, {-877, -580}, {127, 253, 1, 255} }}, + {{ {13, 1, -96}, 0, {-884, -580}, {127, 253, 1, 255} }}, + {{ {13, 2, -101}, 0, {-890, -580}, {127, 253, 1, 255} }}, + {{ {13, 3, -82}, 0, {-868, -580}, {127, 253, 1, 255} }}, + {{ {13, 3, -85}, 0, {-871, -580}, {127, 253, 1, 255} }}, + {{ {13, 6, -77}, 0, {-860, -580}, {127, 253, 1, 255} }}, + {{ {13, 5, -79}, 0, {-863, -580}, {127, 253, 1, 255} }}, + {{ {13, 9, -74}, 0, {-854, -580}, {127, 253, 1, 255} }}, + {{ {13, 8, -75}, 0, {-857, -580}, {127, 253, 1, 255} }}, + {{ {13, 13, -71}, 0, {-847, -580}, {127, 253, 1, 255} }}, + {{ {14, 28, -66}, 0, {-832, -580}, {127, 253, 1, 255} }}, + {{ {15, 66, -79}, 0, {-800, -580}, {127, 253, 1, 255} }}, + {{ {14, 51, -86}, 0, {-1027, -580}, {127, 253, 1, 255} }}, + {{ {14, 40, -84}, 0, {-1015, -580}, {127, 253, 1, 255} }}, + {{ {14, 30, -86}, 0, {-590, -580}, {127, 253, 1, 255} }}, + {{ {14, 40, -84}, 0, {-1015, -580}, {127, 253, 1, 255} }}, + {{ {13, 6, -77}, 0, {-860, -580}, {127, 253, 1, 255} }}, + {{ {14, 28, -86}, 0, {-587, -580}, {127, 253, 1, 255} }}, + {{ {14, 27, -85}, 0, {-583, -580}, {127, 253, 1, 255} }}, + {{ {14, 25, -85}, 0, {-580, -580}, {127, 253, 1, 255} }}, + {{ {14, 24, -85}, 0, {-729, -580}, {127, 253, 1, 255} }}, + {{ {14, 22, -85}, 0, {-726, -580}, {127, 253, 1, 255} }}, + {{ {14, 20, -86}, 0, {-722, -580}, {127, 253, 1, 255} }}, + {{ {14, 19, -86}, 0, {-719, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, -87}, 0, {-716, -580}, {127, 253, 1, 255} }}, + {{ {14, 16, -87}, 0, {-713, -580}, {127, 253, 1, 255} }}, + {{ {14, 16, -88}, 0, {-711, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -89}, 0, {-708, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -90}, 0, {-705, -580}, {127, 253, 1, 255} }}, + {{ {14, 14, -91}, 0, {-702, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -91}, 0, {-700, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -92}, 0, {-697, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -94}, 0, {-694, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -95}, 0, {-691, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -96}, 0, {-688, -580}, {127, 253, 1, 255} }}, + {{ {14, 13, -97}, 0, {-685, -580}, {127, 253, 1, 255} }}, + {{ {14, 31, -87}, 0, {-593, -580}, {127, 253, 1, 255} }}, + {{ {14, 32, -87}, 0, {-596, -580}, {127, 253, 1, 255} }}, + {{ {14, 32, -88}, 0, {-598, -580}, {127, 253, 1, 255} }}, + {{ {14, 33, -89}, 0, {-601, -580}, {127, 253, 1, 255} }}, + {{ {14, 34, -90}, 0, {-604, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -91}, 0, {-607, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -91}, 0, {-609, -580}, {127, 253, 1, 255} }}, + {{ {13, 13, -71}, 0, {-847, -580}, {127, 253, 1, 255} }}, + {{ {13, 11, -72}, 0, {-850, -580}, {127, 253, 1, 255} }}, + {{ {13, 9, -74}, 0, {-854, -580}, {127, 253, 1, 255} }}, + {{ {14, 18, -68}, 0, {-841, -580}, {127, 253, 1, 255} }}, + {{ {14, 16, -69}, 0, {-844, -580}, {127, 253, 1, 255} }}, + {{ {13, 13, -71}, 0, {-847, -580}, {127, 253, 1, 255} }}, + {{ {14, 28, -66}, 0, {-832, -580}, {127, 253, 1, 255} }}, + {{ {14, 21, -67}, 0, {-838, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -67}, 0, {-819, -580}, {127, 253, 1, 255} }}, + {{ {14, 35, -66}, 0, {-825, -580}, {127, 253, 1, 255} }}, + {{ {14, 55, -69}, 0, {-813, -580}, {127, 253, 1, 255} }}, + {{ {15, 66, -79}, 0, {-800, -580}, {127, 253, 1, 255} }}, + {{ {15, 62, -73}, 0, {-806, -580}, {127, 253, 1, 255} }}, + {{ {15, 64, -76}, 0, {-803, -580}, {127, 253, 1, 255} }}, + {{ {14, 58, -71}, 0, {-809, -580}, {127, 253, 1, 255} }}, + {{ {14, 51, -68}, 0, {-816, -580}, {127, 253, 1, 255} }}, + {{ {15, 69, -86}, 0, {-794, -580}, {127, 253, 1, 255} }}, + {{ {15, 68, -82}, 0, {-797, -580}, {127, 253, 1, 255} }}, + {{ {15, 70, -94}, 0, {-787, -580}, {127, 253, 1, 255} }}, + {{ {15, 66, -110}, 0, {-762, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -96}, 0, {-1062, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -96}, 0, {-1059, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -95}, 0, {-1056, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -94}, 0, {-1053, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -93}, 0, {-1051, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -93}, 0, {-1050, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -92}, 0, {-1048, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -91}, 0, {-1046, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -91}, 0, {-1045, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -90}, 0, {-1043, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -90}, 0, {-1042, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -89}, 0, {-1040, -580}, {127, 253, 1, 255} }}, + {{ {15, 55, -88}, 0, {-1037, -580}, {127, 253, 1, 255} }}, + {{ {14, 54, -87}, 0, {-1034, -580}, {127, 253, 1, 255} }}, + {{ {14, 53, -87}, 0, {-1031, -580}, {127, 253, 1, 255} }}, + {{ {14, 51, -86}, 0, {-1027, -580}, {127, 253, 1, 255} }}, + {{ {14, 53, -87}, 0, {-1031, -580}, {127, 253, 1, 255} }}, + {{ {15, 66, -79}, 0, {-800, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -96}, 0, {-1062, -580}, {127, 253, 1, 255} }}, + {{ {15, 58, -97}, 0, {-1065, -580}, {127, 253, 1, 255} }}, + {{ {15, 66, -110}, 0, {-762, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -98}, 0, {-1069, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -98}, 0, {-1072, -580}, {127, 253, 1, 255} }}, + {{ {15, 56, -99}, 0, {-1075, -580}, {127, 253, 1, 255} }}, + {{ {15, 56, -99}, 0, {-1078, -580}, {127, 253, 1, 255} }}, + {{ {15, 55, -100}, 0, {-1081, -580}, {127, 253, 1, 255} }}, + {{ {15, 54, -100}, 0, {-1084, -580}, {127, 253, 1, 255} }}, + {{ {15, 57, -118}, 0, {-737, -580}, {127, 253, 1, 255} }}, + {{ {15, 51, -101}, 0, {-1091, -580}, {127, 253, 1, 255} }}, + {{ {15, 54, -119}, 0, {-1092, -580}, {127, 253, 1, 255} }}, + {{ {15, 63, -114}, 0, {-749, -580}, {127, 253, 1, 255} }}, + {{ {15, 60, -116}, 0, {-743, -580}, {127, 253, 1, 255} }}, + {{ {15, 65, -112}, 0, {-756, -580}, {127, 253, 1, 255} }}, + {{ {15, 70, -94}, 0, {-787, -580}, {127, 253, 1, 255} }}, + {{ {15, 70, -90}, 0, {-790, -580}, {127, 253, 1, 255} }}, + {{ {15, 69, -86}, 0, {-794, -580}, {127, 253, 1, 255} }}, + {{ {15, 69, -103}, 0, {-775, -580}, {127, 253, 1, 255} }}, + {{ {15, 70, -99}, 0, {-781, -580}, {127, 253, 1, 255} }}, + {{ {15, 68, -107}, 0, {-768, -580}, {127, 253, 1, 255} }}, + {{ {14, 46, -92}, 0, {-993, -580}, {127, 253, 1, 255} }}, + {{ {14, 45, -91}, 0, {-996, -580}, {127, 253, 1, 255} }}, + {{ {14, 44, -89}, 0, {-1002, -580}, {127, 253, 1, 255} }}, + {{ {14, 40, -84}, 0, {-1015, -580}, {127, 253, 1, 255} }}, + {{ {14, 42, -87}, 0, {-1009, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -183}, 0, {-817, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -183}, 0, {-856, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -175}, 0, {-895, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -175}, 0, {-871, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -183}, 0, {-817, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -175}, 0, {-895, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -141}, 0, {-580, -580}, {127, 253, 1, 255} }}, + {{ {14, 29, -159}, 0, {-659, -580}, {127, 253, 1, 255} }}, + {{ {15, 50, -159}, 0, {-620, -580}, {127, 253, 1, 255} }}, + {{ {15, 69, -175}, 0, {-935, -580}, {127, 253, 1, 255} }}, + {{ {15, 70, -159}, 0, {-974, -580}, {127, 253, 1, 255} }}, + {{ {14, 30, -125}, 0, {-1013, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -125}, 0, {-1053, -580}, {127, 253, 1, 255} }}, + {{ {14, 15, -159}, 0, {-1083, -580}, {127, 253, 1, 255} }}, + {{ {14, 2, -159}, 0, {-698, -580}, {127, 253, 1, 255} }}, + {{ {14, 2, -175}, 0, {-738, -580}, {127, 253, 1, 255} }}, + {{ {3, 28, -120}, 0, {-942, -580}, {129, 3, 255, 255} }}, + {{ {3, 24, -120}, 0, {-939, -580}, {129, 3, 255, 255} }}, + {{ {3, 20, -120}, 0, {-933, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -118}, 0, {-923, -580}, {129, 3, 255, 255} }}, + {{ {3, 17, -119}, 0, {-928, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -113}, 0, {-911, -580}, {129, 3, 255, 255} }}, + {{ {3, 7, -112}, 0, {-907, -580}, {129, 3, 255, 255} }}, + {{ {3, 5, -110}, 0, {-904, -580}, {129, 3, 255, 255} }}, + {{ {3, 3, -106}, 0, {-896, -580}, {129, 3, 255, 255} }}, + {{ {3, 4, -108}, 0, {-899, -580}, {129, 3, 255, 255} }}, + {{ {3, 2, -101}, 0, {-890, -580}, {129, 3, 255, 255} }}, + {{ {3, 2, -96}, 0, {-884, -580}, {129, 3, 255, 255} }}, + {{ {3, 3, -85}, 0, {-871, -580}, {129, 3, 255, 255} }}, + {{ {3, 2, -90}, 0, {-877, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {129, 3, 255, 255} }}, + {{ {3, 5, -79}, 0, {-863, -580}, {129, 3, 255, 255} }}, + {{ {3, 4, -82}, 0, {-868, -580}, {129, 3, 255, 255} }}, + {{ {3, 6, -77}, 0, {-860, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {129, 3, 255, 255} }}, + {{ {3, 10, -74}, 0, {-854, -580}, {129, 3, 255, 255} }}, + {{ {3, 11, -72}, 0, {-850, -580}, {129, 3, 255, 255} }}, + {{ {3, 16, -69}, 0, {-844, -580}, {129, 3, 255, 255} }}, + {{ {3, 14, -71}, 0, {-847, -580}, {129, 3, 255, 255} }}, + {{ {3, 36, -66}, 0, {-825, -580}, {129, 3, 255, 255} }}, + {{ {3, 21, -67}, 0, {-838, -580}, {129, 3, 255, 255} }}, + {{ {3, 19, -68}, 0, {-841, -580}, {129, 3, 255, 255} }}, + {{ {3, 28, -66}, 0, {-832, -580}, {129, 3, 255, 255} }}, + {{ {3, 46, -67}, 0, {-819, -580}, {129, 3, 255, 255} }}, + {{ {4, 51, -68}, 0, {-816, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -71}, 0, {-809, -580}, {129, 3, 255, 255} }}, + {{ {4, 55, -69}, 0, {-813, -580}, {129, 3, 255, 255} }}, + {{ {4, 68, -83}, 0, {-797, -580}, {129, 3, 255, 255} }}, + {{ {4, 64, -76}, 0, {-803, -580}, {129, 3, 255, 255} }}, + {{ {4, 62, -74}, 0, {-806, -580}, {129, 3, 255, 255} }}, + {{ {4, 66, -79}, 0, {-800, -580}, {129, 3, 255, 255} }}, + {{ {4, 69, -86}, 0, {-794, -580}, {129, 3, 255, 255} }}, + {{ {4, 70, -90}, 0, {-790, -580}, {129, 3, 255, 255} }}, + {{ {4, 70, -99}, 0, {-781, -580}, {129, 3, 255, 255} }}, + {{ {4, 70, -94}, 0, {-787, -580}, {129, 3, 255, 255} }}, + {{ {4, 65, -112}, 0, {-756, -580}, {129, 3, 255, 255} }}, + {{ {4, 68, -107}, 0, {-768, -580}, {129, 3, 255, 255} }}, + {{ {4, 69, -103}, 0, {-775, -580}, {129, 3, 255, 255} }}, + {{ {4, 67, -110}, 0, {-762, -580}, {129, 3, 255, 255} }}, + {{ {4, 63, -114}, 0, {-749, -580}, {129, 3, 255, 255} }}, + {{ {4, 60, -116}, 0, {-743, -580}, {129, 3, 255, 255} }}, + {{ {4, 54, -119}, 0, {-1092, -580}, {129, 3, 255, 255} }}, + {{ {4, 57, -118}, 0, {-737, -580}, {129, 3, 255, 255} }}, + {{ {4, 55, -100}, 0, {-1081, -580}, {129, 3, 255, 255} }}, + {{ {4, 54, -100}, 0, {-1084, -580}, {129, 3, 255, 255} }}, + {{ {4, 52, -101}, 0, {-1091, -580}, {129, 3, 255, 255} }}, + {{ {4, 65, -112}, 0, {-756, -580}, {129, 3, 255, 255} }}, + {{ {4, 55, -100}, 0, {-1081, -580}, {129, 3, 255, 255} }}, + {{ {4, 56, -99}, 0, {-1078, -580}, {129, 3, 255, 255} }}, + {{ {4, 57, -99}, 0, {-1075, -580}, {129, 3, 255, 255} }}, + {{ {4, 57, -98}, 0, {-1072, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -98}, 0, {-1069, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -97}, 0, {-1065, -580}, {129, 3, 255, 255} }}, + {{ {4, 68, -83}, 0, {-797, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -96}, 0, {-1062, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -96}, 0, {-1059, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -95}, 0, {-1056, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -94}, 0, {-1053, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -93}, 0, {-1051, -580}, {129, 3, 255, 255} }}, + {{ {4, 59, -93}, 0, {-1050, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -92}, 0, {-1048, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -91}, 0, {-1046, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -91}, 0, {-1045, -580}, {129, 3, 255, 255} }}, + {{ {4, 58, -90}, 0, {-1043, -580}, {129, 3, 255, 255} }}, + {{ {4, 57, -90}, 0, {-1042, -580}, {129, 3, 255, 255} }}, + {{ {4, 57, -89}, 0, {-1040, -580}, {129, 3, 255, 255} }}, + {{ {4, 56, -88}, 0, {-1037, -580}, {129, 3, 255, 255} }}, + {{ {4, 54, -87}, 0, {-1034, -580}, {129, 3, 255, 255} }}, + {{ {4, 53, -87}, 0, {-1031, -580}, {129, 3, 255, 255} }}, + {{ {4, 51, -86}, 0, {-1027, -580}, {129, 3, 255, 255} }}, + {{ {3, 40, -85}, 0, {-1015, -580}, {129, 3, 255, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {129, 3, 255, 255} }}, + {{ {4, 45, -91}, 0, {-996, -580}, {129, 3, 255, 255} }}, + {{ {3, 44, -89}, 0, {-1002, -580}, {129, 3, 255, 255} }}, + {{ {3, 42, -87}, 0, {-1009, -580}, {129, 3, 255, 255} }}, + {{ {3, 36, -66}, 0, {-825, -580}, {129, 3, 255, 255} }}, + {{ {4, 46, -93}, 0, {-993, -580}, {129, 3, 255, 255} }}, + {{ {4, 46, -95}, 0, {-986, -580}, {129, 3, 255, 255} }}, + {{ {4, 45, -91}, 0, {-996, -580}, {129, 3, 255, 255} }}, + {{ {4, 46, -95}, 0, {-986, -580}, {129, 3, 255, 255} }}, + {{ {4, 47, -101}, 0, {-975, -580}, {129, 3, 255, 255} }}, + {{ {4, 47, -98}, 0, {-980, -580}, {129, 3, 255, 255} }}, + {{ {3, 30, -125}, 0, {-1013, -580}, {129, 3, 255, 255} }}, + {{ {4, 70, -159}, 0, {-974, -580}, {129, 3, 255, 255} }}, + {{ {5, 70, -175}, 0, {-935, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -125}, 0, {-1053, -580}, {129, 3, 255, 255} }}, + {{ {4, 50, -159}, 0, {-620, -580}, {129, 3, 255, 255} }}, + {{ {4, 29, -175}, 0, {-895, -580}, {129, 3, 255, 255} }}, + {{ {4, 29, -159}, 0, {-659, -580}, {129, 3, 255, 255} }}, + {{ {4, 29, -183}, 0, {-856, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -183}, 0, {-817, -580}, {129, 3, 255, 255} }}, + {{ {3, 15, -159}, 0, {-916, -580}, {203, 115, 255, 255} }}, + {{ {3, 29, -141}, 0, {-580, -580}, {129, 3, 255, 255} }}, + {{ {14, 17, -119}, 0, {-928, -580}, {0, 218, 135, 255} }}, + {{ {3, 17, -119}, 0, {-928, -580}, {0, 218, 135, 255} }}, + {{ {3, 20, -120}, 0, {-933, -580}, {0, 236, 131, 255} }}, + {{ {14, 14, -118}, 0, {-923, -580}, {255, 204, 140, 255} }}, + {{ {3, 14, -118}, 0, {-923, -580}, {255, 204, 140, 255} }}, + {{ {14, 12, -117}, 0, {-920, -580}, {255, 193, 146, 255} }}, + {{ {3, 13, -117}, 0, {-920, -580}, {255, 193, 146, 255} }}, + {{ {14, 11, -116}, 0, {-917, -580}, {255, 183, 152, 255} }}, + {{ {3, 11, -116}, 0, {-917, -580}, {255, 183, 152, 255} }}, + {{ {14, 9, -115}, 0, {-914, -580}, {255, 173, 160, 255} }}, + {{ {3, 9, -115}, 0, {-914, -580}, {255, 173, 160, 255} }}, + {{ {14, 8, -113}, 0, {-911, -580}, {254, 164, 169, 255} }}, + {{ {3, 8, -113}, 0, {-911, -580}, {254, 164, 169, 255} }}, + {{ {14, 6, -112}, 0, {-907, -580}, {254, 156, 178, 255} }}, + {{ {3, 7, -112}, 0, {-907, -580}, {254, 156, 178, 255} }}, + {{ {14, 5, -110}, 0, {-904, -580}, {254, 148, 190, 255} }}, + {{ {3, 5, -110}, 0, {-904, -580}, {254, 148, 190, 255} }}, + {{ {13, 4, -108}, 0, {-899, -580}, {254, 140, 203, 255} }}, + {{ {3, 5, -110}, 0, {-904, -580}, {254, 148, 190, 255} }}, + {{ {14, 5, -110}, 0, {-904, -580}, {254, 148, 190, 255} }}, + {{ {3, 4, -108}, 0, {-899, -580}, {254, 140, 203, 255} }}, + {{ {13, 3, -106}, 0, {-896, -580}, {254, 135, 218, 255} }}, + {{ {3, 3, -106}, 0, {-896, -580}, {254, 135, 218, 255} }}, + {{ {13, 2, -101}, 0, {-890, -580}, {253, 131, 236, 255} }}, + {{ {3, 2, -101}, 0, {-890, -580}, {253, 131, 236, 255} }}, + {{ {13, 1, -96}, 0, {-884, -580}, {253, 129, 253, 255} }}, + {{ {3, 2, -96}, 0, {-884, -580}, {253, 129, 253, 255} }}, + {{ {13, 2, -90}, 0, {-877, -580}, {253, 130, 13, 255} }}, + {{ {3, 2, -90}, 0, {-877, -580}, {253, 130, 13, 255} }}, + {{ {13, 3, -85}, 0, {-871, -580}, {253, 133, 30, 255} }}, + {{ {3, 3, -85}, 0, {-871, -580}, {253, 133, 30, 255} }}, + {{ {13, 3, -82}, 0, {-868, -580}, {253, 138, 46, 255} }}, + {{ {3, 4, -82}, 0, {-868, -580}, {253, 138, 46, 255} }}, + {{ {13, 5, -79}, 0, {-863, -580}, {253, 145, 61, 255} }}, + {{ {3, 5, -79}, 0, {-863, -580}, {253, 145, 61, 255} }}, + {{ {13, 6, -77}, 0, {-860, -580}, {253, 153, 75, 255} }}, + {{ {3, 6, -77}, 0, {-860, -580}, {253, 153, 75, 255} }}, + {{ {13, 8, -75}, 0, {-857, -580}, {253, 162, 86, 255} }}, + {{ {3, 8, -75}, 0, {-857, -580}, {253, 162, 86, 255} }}, + {{ {13, 9, -74}, 0, {-854, -580}, {254, 172, 95, 255} }}, + {{ {3, 10, -74}, 0, {-854, -580}, {254, 172, 95, 255} }}, + {{ {13, 11, -72}, 0, {-850, -580}, {254, 182, 103, 255} }}, + {{ {3, 11, -72}, 0, {-850, -580}, {254, 182, 103, 255} }}, + {{ {13, 13, -71}, 0, {-847, -580}, {254, 192, 109, 255} }}, + {{ {3, 14, -71}, 0, {-847, -580}, {254, 192, 109, 255} }}, + {{ {14, 16, -69}, 0, {-844, -580}, {254, 202, 115, 255} }}, + {{ {3, 16, -69}, 0, {-844, -580}, {254, 202, 115, 255} }}, + {{ {14, 18, -68}, 0, {-841, -580}, {254, 213, 119, 255} }}, + {{ {3, 19, -68}, 0, {-841, -580}, {254, 213, 119, 255} }}, + {{ {14, 21, -67}, 0, {-838, -580}, {255, 226, 123, 255} }}, + {{ {3, 19, -68}, 0, {-841, -580}, {254, 213, 119, 255} }}, + {{ {14, 18, -68}, 0, {-841, -580}, {254, 213, 119, 255} }}, + {{ {3, 21, -67}, 0, {-838, -580}, {255, 226, 123, 255} }}, + {{ {14, 28, -66}, 0, {-832, -580}, {255, 242, 126, 255} }}, + {{ {3, 28, -66}, 0, {-832, -580}, {255, 242, 126, 255} }}, + {{ {14, 35, -66}, 0, {-825, -580}, {255, 2, 127, 255} }}, + {{ {3, 36, -66}, 0, {-825, -580}, {255, 2, 127, 255} }}, + {{ {14, 46, -67}, 0, {-819, -580}, {0, 19, 126, 255} }}, + {{ {3, 46, -67}, 0, {-819, -580}, {0, 19, 126, 255} }}, + {{ {14, 51, -68}, 0, {-816, -580}, {0, 36, 122, 255} }}, + {{ {4, 51, -68}, 0, {-816, -580}, {0, 36, 122, 255} }}, + {{ {14, 55, -69}, 0, {-813, -580}, {0, 52, 116, 255} }}, + {{ {4, 55, -69}, 0, {-813, -580}, {0, 52, 116, 255} }}, + {{ {14, 58, -71}, 0, {-809, -580}, {1, 69, 107, 255} }}, + {{ {4, 59, -71}, 0, {-809, -580}, {1, 69, 107, 255} }}, + {{ {15, 62, -73}, 0, {-806, -580}, {1, 85, 94, 255} }}, + {{ {4, 62, -74}, 0, {-806, -580}, {1, 85, 94, 255} }}, + {{ {15, 64, -76}, 0, {-803, -580}, {2, 99, 80, 255} }}, + {{ {4, 64, -76}, 0, {-803, -580}, {2, 99, 80, 255} }}, + {{ {15, 66, -79}, 0, {-800, -580}, {2, 110, 64, 255} }}, + {{ {4, 66, -79}, 0, {-800, -580}, {2, 110, 64, 255} }}, + {{ {15, 68, -82}, 0, {-797, -580}, {2, 118, 47, 255} }}, + {{ {4, 68, -83}, 0, {-797, -580}, {2, 118, 47, 255} }}, + {{ {15, 69, -86}, 0, {-794, -580}, {3, 123, 30, 255} }}, + {{ {4, 69, -86}, 0, {-794, -580}, {3, 123, 30, 255} }}, + {{ {15, 70, -90}, 0, {-790, -580}, {3, 126, 14, 255} }}, + {{ {4, 70, -90}, 0, {-790, -580}, {3, 126, 14, 255} }}, + {{ {15, 70, -94}, 0, {-787, -580}, {3, 127, 0, 255} }}, + {{ {4, 70, -94}, 0, {-787, -580}, {3, 127, 0, 255} }}, + {{ {15, 70, -99}, 0, {-781, -580}, {3, 126, 244, 255} }}, + {{ {4, 70, -99}, 0, {-781, -580}, {3, 126, 244, 255} }}, + {{ {15, 69, -103}, 0, {-775, -580}, {3, 124, 228, 255} }}, + {{ {4, 70, -99}, 0, {-781, -580}, {3, 126, 244, 255} }}, + {{ {15, 70, -99}, 0, {-781, -580}, {3, 126, 244, 255} }}, + {{ {4, 69, -103}, 0, {-775, -580}, {3, 124, 228, 255} }}, + {{ {15, 68, -107}, 0, {-768, -580}, {3, 118, 209, 255} }}, + {{ {4, 68, -107}, 0, {-768, -580}, {3, 118, 209, 255} }}, + {{ {15, 66, -110}, 0, {-762, -580}, {3, 109, 191, 255} }}, + {{ {4, 67, -110}, 0, {-762, -580}, {3, 109, 191, 255} }}, + {{ {15, 65, -112}, 0, {-756, -580}, {3, 97, 174, 255} }}, + {{ {4, 65, -112}, 0, {-756, -580}, {3, 97, 174, 255} }}, + {{ {15, 63, -114}, 0, {-749, -580}, {2, 82, 159, 255} }}, + {{ {4, 63, -114}, 0, {-749, -580}, {2, 82, 159, 255} }}, + {{ {15, 60, -116}, 0, {-743, -580}, {2, 66, 148, 255} }}, + {{ {4, 60, -116}, 0, {-743, -580}, {2, 66, 148, 255} }}, + {{ {15, 57, -118}, 0, {-737, -580}, {2, 51, 140, 255} }}, + {{ {4, 57, -118}, 0, {-737, -580}, {2, 51, 140, 255} }}, + {{ {15, 54, -119}, 0, {-1092, -580}, {255, 189, 148, 255} }}, + {{ {4, 54, -119}, 0, {-1092, -580}, {255, 189, 148, 255} }}, + {{ {15, 51, -101}, 0, {-1091, -580}, {253, 151, 72, 255} }}, + {{ {4, 52, -101}, 0, {-1091, -580}, {253, 151, 72, 255} }}, + {{ {15, 54, -100}, 0, {-1084, -580}, {254, 218, 121, 255} }}, + {{ {4, 54, -100}, 0, {-1084, -580}, {254, 218, 121, 255} }}, + {{ {15, 55, -100}, 0, {-1081, -580}, {254, 204, 116, 255} }}, + {{ {4, 55, -100}, 0, {-1081, -580}, {254, 204, 116, 255} }}, + {{ {15, 56, -99}, 0, {-1078, -580}, {254, 192, 110, 255} }}, + {{ {4, 56, -99}, 0, {-1078, -580}, {254, 192, 110, 255} }}, + {{ {15, 56, -99}, 0, {-1075, -580}, {254, 178, 100, 255} }}, + {{ {4, 57, -99}, 0, {-1075, -580}, {254, 178, 100, 255} }}, + {{ {15, 57, -98}, 0, {-1072, -580}, {253, 164, 88, 255} }}, + {{ {4, 57, -98}, 0, {-1072, -580}, {253, 164, 88, 255} }}, + {{ {15, 57, -98}, 0, {-1069, -580}, {253, 153, 75, 255} }}, + {{ {4, 58, -98}, 0, {-1069, -580}, {253, 153, 75, 255} }}, + {{ {15, 58, -97}, 0, {-1065, -580}, {253, 144, 61, 255} }}, + {{ {4, 58, -98}, 0, {-1069, -580}, {253, 153, 75, 255} }}, + {{ {15, 57, -98}, 0, {-1069, -580}, {253, 153, 75, 255} }}, + {{ {4, 58, -97}, 0, {-1065, -580}, {253, 144, 61, 255} }}, + {{ {15, 58, -96}, 0, {-1062, -580}, {253, 137, 45, 255} }}, + {{ {4, 58, -96}, 0, {-1062, -580}, {253, 137, 45, 255} }}, + {{ {15, 58, -96}, 0, {-1059, -580}, {253, 133, 30, 255} }}, + {{ {4, 59, -96}, 0, {-1059, -580}, {253, 133, 30, 255} }}, + {{ {15, 58, -95}, 0, {-1056, -580}, {253, 130, 15, 255} }}, + {{ {4, 59, -95}, 0, {-1056, -580}, {253, 130, 15, 255} }}, + {{ {15, 58, -94}, 0, {-1053, -580}, {253, 129, 1, 255} }}, + {{ {4, 59, -94}, 0, {-1053, -580}, {253, 129, 1, 255} }}, + {{ {15, 58, -93}, 0, {-1051, -580}, {253, 129, 245, 255} }}, + {{ {4, 59, -93}, 0, {-1051, -580}, {253, 129, 245, 255} }}, + {{ {15, 58, -93}, 0, {-1050, -580}, {253, 131, 234, 255} }}, + {{ {4, 59, -93}, 0, {-1050, -580}, {253, 131, 234, 255} }}, + {{ {15, 58, -92}, 0, {-1048, -580}, {253, 134, 222, 255} }}, + {{ {4, 58, -92}, 0, {-1048, -580}, {253, 134, 222, 255} }}, + {{ {15, 58, -91}, 0, {-1046, -580}, {254, 138, 210, 255} }}, + {{ {4, 58, -91}, 0, {-1046, -580}, {254, 138, 210, 255} }}, + {{ {15, 58, -91}, 0, {-1045, -580}, {254, 143, 198, 255} }}, + {{ {4, 58, -91}, 0, {-1045, -580}, {254, 143, 198, 255} }}, + {{ {15, 57, -90}, 0, {-1043, -580}, {254, 149, 187, 255} }}, + {{ {4, 58, -90}, 0, {-1043, -580}, {254, 149, 187, 255} }}, + {{ {15, 57, -90}, 0, {-1042, -580}, {254, 156, 177, 255} }}, + {{ {4, 57, -90}, 0, {-1042, -580}, {254, 156, 177, 255} }}, + {{ {15, 57, -89}, 0, {-1040, -580}, {255, 166, 167, 255} }}, + {{ {4, 57, -89}, 0, {-1040, -580}, {255, 166, 167, 255} }}, + {{ {15, 55, -88}, 0, {-1037, -580}, {255, 179, 155, 255} }}, + {{ {4, 56, -88}, 0, {-1037, -580}, {255, 179, 155, 255} }}, + {{ {14, 54, -87}, 0, {-1034, -580}, {255, 195, 144, 255} }}, + {{ {4, 54, -87}, 0, {-1034, -580}, {255, 195, 144, 255} }}, + {{ {14, 53, -87}, 0, {-1031, -580}, {0, 211, 137, 255} }}, + {{ {4, 54, -87}, 0, {-1034, -580}, {255, 195, 144, 255} }}, + {{ {14, 54, -87}, 0, {-1034, -580}, {255, 195, 144, 255} }}, + {{ {4, 53, -87}, 0, {-1031, -580}, {0, 211, 137, 255} }}, + {{ {14, 51, -86}, 0, {-1027, -580}, {0, 228, 132, 255} }}, + {{ {4, 51, -86}, 0, {-1027, -580}, {0, 228, 132, 255} }}, + {{ {14, 40, -84}, 0, {-1015, -580}, {3, 112, 196, 255} }}, + {{ {3, 40, -85}, 0, {-1015, -580}, {3, 112, 196, 255} }}, + {{ {14, 42, -87}, 0, {-1009, -580}, {2, 99, 80, 255} }}, + {{ {3, 42, -87}, 0, {-1009, -580}, {2, 99, 80, 255} }}, + {{ {14, 44, -89}, 0, {-1002, -580}, {2, 107, 68, 255} }}, + {{ {3, 44, -89}, 0, {-1002, -580}, {2, 107, 68, 255} }}, + {{ {14, 45, -91}, 0, {-996, -580}, {2, 115, 54, 255} }}, + {{ {4, 45, -91}, 0, {-996, -580}, {2, 115, 54, 255} }}, + {{ {14, 46, -92}, 0, {-993, -580}, {2, 120, 41, 255} }}, + {{ {4, 46, -93}, 0, {-993, -580}, {2, 120, 41, 255} }}, + {{ {14, 46, -95}, 0, {-986, -580}, {3, 125, 25, 255} }}, + {{ {4, 46, -95}, 0, {-986, -580}, {3, 125, 25, 255} }}, + {{ {14, 47, -98}, 0, {-980, -580}, {3, 127, 8, 255} }}, + {{ {4, 47, -98}, 0, {-980, -580}, {3, 127, 8, 255} }}, + {{ {14, 47, -101}, 0, {-975, -580}, {3, 127, 248, 255} }}, + {{ {4, 47, -101}, 0, {-975, -580}, {3, 127, 248, 255} }}, + {{ {14, 46, -104}, 0, {-972, -580}, {3, 125, 231, 255} }}, + {{ {4, 46, -104}, 0, {-972, -580}, {3, 125, 231, 255} }}, + {{ {14, 46, -106}, 0, {-969, -580}, {3, 120, 214, 255} }}, + {{ {4, 46, -106}, 0, {-969, -580}, {3, 120, 214, 255} }}, + {{ {14, 44, -109}, 0, {-966, -580}, {3, 113, 198, 255} }}, + {{ {4, 45, -109}, 0, {-966, -580}, {3, 113, 198, 255} }}, + {{ {14, 43, -111}, 0, {-963, -580}, {3, 104, 183, 255} }}, + {{ {4, 43, -111}, 0, {-963, -580}, {3, 104, 183, 255} }}, + {{ {14, 41, -113}, 0, {-960, -580}, {3, 94, 170, 255} }}, + {{ {4, 42, -113}, 0, {-960, -580}, {3, 94, 170, 255} }}, + {{ {14, 39, -115}, 0, {-956, -580}, {2, 82, 159, 255} }}, + {{ {4, 42, -113}, 0, {-960, -580}, {3, 94, 170, 255} }}, + {{ {14, 41, -113}, 0, {-960, -580}, {3, 94, 170, 255} }}, + {{ {4, 39, -115}, 0, {-956, -580}, {2, 82, 159, 255} }}, + {{ {14, 37, -117}, 0, {-953, -580}, {2, 70, 150, 255} }}, + {{ {4, 37, -117}, 0, {-953, -580}, {2, 70, 150, 255} }}, + {{ {14, 36, -118}, 0, {-952, -580}, {2, 59, 143, 255} }}, + {{ {3, 36, -118}, 0, {-952, -580}, {2, 59, 143, 255} }}, + {{ {14, 33, -119}, 0, {-948, -580}, {2, 45, 137, 255} }}, + {{ {3, 33, -119}, 0, {-948, -580}, {2, 45, 137, 255} }}, + {{ {14, 30, -120}, 0, {-945, -580}, {1, 29, 132, 255} }}, + {{ {3, 31, -120}, 0, {-945, -580}, {1, 29, 132, 255} }}, + {{ {14, 27, -120}, 0, {-942, -580}, {1, 14, 130, 255} }}, + {{ {3, 28, -120}, 0, {-942, -580}, {1, 14, 130, 255} }}, + {{ {14, 24, -120}, 0, {-939, -580}, {1, 254, 129, 255} }}, + {{ {3, 24, -120}, 0, {-939, -580}, {1, 254, 129, 255} }}, + {{ {14, 20, -120}, 0, {-933, -580}, {0, 236, 131, 255} }}, + {{ {3, 20, -120}, 0, {-933, -580}, {0, 236, 131, 255} }}, + {{ {14, 17, -119}, 0, {-928, -580}, {0, 218, 135, 255} }}, + {{ {14, 21, -103}, 0, {-659, -580}, {0, 17, 126, 255} }}, + {{ {3, 21, -103}, 0, {-659, -580}, {0, 17, 126, 255} }}, + {{ {3, 20, -102}, 0, {-662, -580}, {0, 30, 123, 255} }}, + {{ {14, 23, -103}, 0, {-656, -580}, {255, 3, 127, 255} }}, + {{ {3, 23, -103}, 0, {-656, -580}, {255, 3, 127, 255} }}, + {{ {14, 26, -103}, 0, {-650, -580}, {255, 243, 126, 255} }}, + {{ {3, 27, -103}, 0, {-650, -580}, {255, 243, 126, 255} }}, + {{ {14, 28, -102}, 0, {-647, -580}, {255, 227, 124, 255} }}, + {{ {3, 28, -102}, 0, {-647, -580}, {255, 227, 124, 255} }}, + {{ {14, 29, -102}, 0, {-643, -580}, {254, 213, 119, 255} }}, + {{ {3, 30, -102}, 0, {-643, -580}, {254, 213, 119, 255} }}, + {{ {14, 31, -101}, 0, {-640, -580}, {254, 197, 112, 255} }}, + {{ {3, 31, -102}, 0, {-640, -580}, {254, 197, 112, 255} }}, + {{ {14, 32, -101}, 0, {-637, -580}, {254, 183, 104, 255} }}, + {{ {3, 31, -102}, 0, {-640, -580}, {254, 197, 112, 255} }}, + {{ {14, 31, -101}, 0, {-640, -580}, {254, 197, 112, 255} }}, + {{ {3, 32, -101}, 0, {-637, -580}, {254, 183, 104, 255} }}, + {{ {14, 32, -100}, 0, {-636, -580}, {254, 172, 96, 255} }}, + {{ {3, 33, -100}, 0, {-636, -580}, {254, 172, 96, 255} }}, + {{ {14, 33, -99}, 0, {-632, -580}, {253, 162, 85, 255} }}, + {{ {3, 33, -100}, 0, {-632, -580}, {253, 162, 85, 255} }}, + {{ {14, 34, -99}, 0, {-629, -580}, {253, 151, 71, 255} }}, + {{ {3, 34, -99}, 0, {-629, -580}, {253, 151, 71, 255} }}, + {{ {14, 35, -98}, 0, {-626, -580}, {253, 142, 56, 255} }}, + {{ {3, 35, -98}, 0, {-626, -580}, {253, 142, 56, 255} }}, + {{ {14, 35, -97}, 0, {-625, -580}, {253, 137, 43, 255} }}, + {{ {3, 35, -97}, 0, {-625, -580}, {253, 137, 43, 255} }}, + {{ {14, 35, -96}, 0, {-621, -580}, {253, 132, 27, 255} }}, + {{ {3, 35, -96}, 0, {-621, -580}, {253, 132, 27, 255} }}, + {{ {14, 35, -95}, 0, {-618, -580}, {253, 129, 9, 255} }}, + {{ {3, 36, -95}, 0, {-618, -580}, {253, 129, 9, 255} }}, + {{ {14, 35, -93}, 0, {-615, -580}, {253, 129, 248, 255} }}, + {{ {3, 36, -94}, 0, {-615, -580}, {253, 129, 248, 255} }}, + {{ {14, 35, -92}, 0, {-612, -580}, {253, 131, 231, 255} }}, + {{ {3, 35, -92}, 0, {-612, -580}, {253, 131, 231, 255} }}, + {{ {14, 35, -91}, 0, {-609, -580}, {254, 136, 216, 255} }}, + {{ {3, 35, -91}, 0, {-609, -580}, {254, 136, 216, 255} }}, + {{ {14, 35, -91}, 0, {-607, -580}, {254, 141, 203, 255} }}, + {{ {3, 35, -91}, 0, {-607, -580}, {254, 141, 203, 255} }}, + {{ {14, 34, -90}, 0, {-604, -580}, {254, 148, 189, 255} }}, + {{ {3, 34, -90}, 0, {-604, -580}, {254, 148, 189, 255} }}, + {{ {14, 33, -89}, 0, {-601, -580}, {254, 159, 174, 255} }}, + {{ {3, 34, -89}, 0, {-601, -580}, {254, 159, 174, 255} }}, + {{ {14, 32, -88}, 0, {-598, -580}, {255, 169, 164, 255} }}, + {{ {3, 33, -88}, 0, {-598, -580}, {255, 169, 164, 255} }}, + {{ {14, 32, -87}, 0, {-596, -580}, {255, 179, 155, 255} }}, + {{ {3, 33, -88}, 0, {-598, -580}, {255, 169, 164, 255} }}, + {{ {14, 32, -88}, 0, {-598, -580}, {255, 169, 164, 255} }}, + {{ {3, 32, -87}, 0, {-596, -580}, {255, 179, 155, 255} }}, + {{ {14, 31, -87}, 0, {-593, -580}, {255, 193, 146, 255} }}, + {{ {3, 31, -87}, 0, {-593, -580}, {255, 193, 146, 255} }}, + {{ {14, 30, -86}, 0, {-590, -580}, {0, 209, 138, 255} }}, + {{ {3, 30, -86}, 0, {-590, -580}, {0, 209, 138, 255} }}, + {{ {14, 28, -86}, 0, {-587, -580}, {0, 224, 133, 255} }}, + {{ {3, 29, -86}, 0, {-587, -580}, {0, 224, 133, 255} }}, + {{ {14, 27, -85}, 0, {-583, -580}, {0, 238, 130, 255} }}, + {{ {3, 27, -85}, 0, {-583, -580}, {0, 238, 130, 255} }}, + {{ {14, 25, -85}, 0, {-580, -580}, {1, 250, 129, 255} }}, + {{ {3, 25, -85}, 0, {-580, -580}, {1, 250, 129, 255} }}, + {{ {14, 24, -85}, 0, {-729, -580}, {1, 5, 129, 255} }}, + {{ {3, 24, -85}, 0, {-729, -580}, {1, 5, 129, 255} }}, + {{ {14, 22, -85}, 0, {-726, -580}, {1, 18, 130, 255} }}, + {{ {3, 22, -85}, 0, {-726, -580}, {1, 18, 130, 255} }}, + {{ {14, 20, -86}, 0, {-722, -580}, {1, 31, 133, 255} }}, + {{ {3, 21, -86}, 0, {-722, -580}, {1, 31, 133, 255} }}, + {{ {14, 19, -86}, 0, {-719, -580}, {2, 46, 138, 255} }}, + {{ {3, 19, -86}, 0, {-719, -580}, {2, 46, 138, 255} }}, + {{ {14, 18, -87}, 0, {-716, -580}, {2, 62, 145, 255} }}, + {{ {3, 18, -87}, 0, {-716, -580}, {2, 62, 145, 255} }}, + {{ {14, 16, -87}, 0, {-713, -580}, {2, 75, 154, 255} }}, + {{ {3, 17, -87}, 0, {-713, -580}, {2, 75, 154, 255} }}, + {{ {14, 16, -88}, 0, {-711, -580}, {2, 85, 162, 255} }}, + {{ {3, 16, -88}, 0, {-711, -580}, {2, 85, 162, 255} }}, + {{ {14, 15, -89}, 0, {-708, -580}, {3, 96, 172, 255} }}, + {{ {3, 15, -89}, 0, {-708, -580}, {3, 96, 172, 255} }}, + {{ {14, 14, -90}, 0, {-705, -580}, {3, 106, 186, 255} }}, + {{ {3, 15, -90}, 0, {-705, -580}, {3, 106, 186, 255} }}, + {{ {14, 14, -91}, 0, {-702, -580}, {3, 114, 200, 255} }}, + {{ {3, 15, -90}, 0, {-705, -580}, {3, 106, 186, 255} }}, + {{ {14, 14, -90}, 0, {-705, -580}, {3, 106, 186, 255} }}, + {{ {3, 14, -91}, 0, {-702, -580}, {3, 114, 200, 255} }}, + {{ {14, 13, -91}, 0, {-700, -580}, {3, 120, 214, 255} }}, + {{ {3, 14, -91}, 0, {-700, -580}, {3, 120, 214, 255} }}, + {{ {14, 13, -92}, 0, {-697, -580}, {3, 124, 229, 255} }}, + {{ {3, 13, -93}, 0, {-697, -580}, {3, 124, 229, 255} }}, + {{ {14, 13, -94}, 0, {-694, -580}, {3, 127, 247, 255} }}, + {{ {3, 13, -94}, 0, {-694, -580}, {3, 127, 247, 255} }}, + {{ {14, 13, -95}, 0, {-691, -580}, {3, 127, 8, 255} }}, + {{ {3, 13, -95}, 0, {-691, -580}, {3, 127, 8, 255} }}, + {{ {14, 13, -96}, 0, {-688, -580}, {3, 124, 25, 255} }}, + {{ {3, 13, -96}, 0, {-688, -580}, {3, 124, 25, 255} }}, + {{ {14, 13, -97}, 0, {-685, -580}, {2, 120, 41, 255} }}, + {{ {3, 14, -97}, 0, {-685, -580}, {2, 120, 41, 255} }}, + {{ {14, 14, -98}, 0, {-683, -580}, {2, 115, 54, 255} }}, + {{ {3, 14, -98}, 0, {-683, -580}, {2, 115, 54, 255} }}, + {{ {14, 14, -99}, 0, {-680, -580}, {2, 107, 69, 255} }}, + {{ {3, 14, -99}, 0, {-680, -580}, {2, 107, 69, 255} }}, + {{ {14, 15, -100}, 0, {-677, -580}, {2, 96, 83, 255} }}, + {{ {3, 15, -100}, 0, {-677, -580}, {2, 96, 83, 255} }}, + {{ {14, 16, -100}, 0, {-674, -580}, {1, 84, 96, 255} }}, + {{ {3, 16, -100}, 0, {-674, -580}, {1, 84, 96, 255} }}, + {{ {14, 17, -101}, 0, {-670, -580}, {1, 69, 107, 255} }}, + {{ {3, 17, -101}, 0, {-670, -580}, {1, 69, 107, 255} }}, + {{ {14, 18, -102}, 0, {-667, -580}, {1, 54, 115, 255} }}, + {{ {3, 18, -102}, 0, {-667, -580}, {1, 54, 115, 255} }}, + {{ {14, 18, -102}, 0, {-666, -580}, {0, 42, 120, 255} }}, + {{ {3, 19, -102}, 0, {-666, -580}, {0, 42, 120, 255} }}, + {{ {14, 20, -102}, 0, {-662, -580}, {0, 30, 123, 255} }}, + {{ {3, 20, -102}, 0, {-662, -580}, {0, 30, 123, 255} }}, + {{ {14, 21, -103}, 0, {-659, -580}, {0, 17, 126, 255} }}, + {{ {3, 20, -102}, 0, {-662, -580}, {0, 30, 123, 255} }}, + {{ {14, 20, -102}, 0, {-662, -580}, {0, 30, 123, 255} }}, + {{ {14, 29, -141}, 0, {-580, -580}, {2, 53, 141, 255} }}, + {{ {3, 29, -141}, 0, {-580, -580}, {2, 53, 141, 255} }}, + {{ {4, 50, -159}, 0, {-620, -580}, {253, 137, 44, 255} }}, + {{ {14, 29, -159}, 0, {-659, -580}, {1, 90, 89, 255} }}, + {{ {4, 29, -159}, 0, {-659, -580}, {1, 90, 89, 255} }}, + {{ {15, 50, -159}, 0, {-620, -580}, {253, 137, 44, 255} }}, +}; + +Gfx hm64_Text_001_mesh_tri_1[] = { + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 6, 7, 0), + gsSP2Triangles(8, 5, 7, 0, 7, 9, 8, 0), + gsSP2Triangles(7, 10, 9, 0, 7, 11, 10, 0), + gsSP2Triangles(7, 12, 11, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 13, 15, 14, 0), + gsSP2Triangles(16, 11, 14, 0, 16, 14, 17, 0), + gsSP2Triangles(14, 18, 17, 0, 14, 19, 18, 0), + gsSP2Triangles(14, 20, 19, 0, 19, 21, 18, 0), + gsSP2Triangles(8, 22, 5, 0, 22, 8, 23, 0), + gsSP2Triangles(22, 23, 24, 0, 25, 22, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 25, 28, 29, 0), + gsSP2Triangles(25, 29, 30, 0, 25, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(6, 0, 5, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 8, 9, 6, 0), + gsSP2Triangles(9, 10, 6, 0, 10, 11, 6, 0), + gsSP2Triangles(11, 12, 6, 0, 12, 13, 6, 0), + gsSP2Triangles(13, 14, 6, 0, 14, 15, 6, 0), + gsSP2Triangles(15, 16, 6, 0, 16, 17, 6, 0), + gsSP2Triangles(17, 18, 6, 0, 18, 19, 6, 0), + gsSP2Triangles(19, 20, 6, 0, 20, 21, 6, 0), + gsSP2Triangles(21, 22, 6, 0, 22, 23, 6, 0), + gsSP2Triangles(23, 24, 6, 0, 24, 25, 6, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 28, 25, 0, 28, 29, 25, 0), + gsSP2Triangles(29, 30, 25, 0, 30, 31, 25, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 64, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 4, 5, 2, 0), + gsSP2Triangles(5, 6, 2, 0, 6, 7, 2, 0), + gsSP2Triangles(7, 8, 2, 0, 8, 9, 2, 0), + gsSP2Triangles(9, 10, 2, 0, 10, 11, 2, 0), + gsSP2Triangles(11, 12, 2, 0, 2, 13, 14, 0), + gsSP2Triangles(2, 15, 13, 0, 2, 16, 15, 0), + gsSP2Triangles(2, 17, 16, 0, 16, 18, 15, 0), + gsSP2Triangles(19, 20, 21, 0, 19, 21, 22, 0), + gsSP2Triangles(23, 21, 24, 0, 23, 24, 25, 0), + gsSP2Triangles(25, 24, 26, 0, 25, 26, 27, 0), + gsSP2Triangles(27, 26, 28, 0, 27, 28, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 94, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0), + gsSP2Triangles(8, 7, 4, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(3, 15, 14, 0, 3, 16, 15, 0), + gsSP2Triangles(17, 18, 19, 0, 20, 17, 19, 0), + gsSP2Triangles(20, 19, 21, 0, 19, 22, 21, 0), + gsSP2Triangles(19, 23, 22, 0, 22, 24, 21, 0), + gsSP2Triangles(21, 25, 26, 0, 21, 26, 27, 0), + gsSP2Triangles(26, 28, 27, 0, 21, 27, 29, 0), + gsSP2Triangles(27, 30, 29, 0, 27, 31, 30, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 126, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), + gsSP2Triangles(2, 4, 5, 0, 4, 6, 5, 0), + gsSP2Triangles(2, 5, 7, 0, 5, 8, 7, 0), + gsSP2Triangles(5, 9, 8, 0, 10, 9, 5, 0), + gsSP2Triangles(10, 5, 11, 0, 5, 12, 11, 0), + gsSP2Triangles(13, 10, 11, 0, 14, 13, 11, 0), + gsSP2Triangles(15, 14, 11, 0, 16, 15, 11, 0), + gsSP2Triangles(17, 16, 11, 0, 11, 18, 17, 0), + gsSP2Triangles(11, 19, 18, 0, 11, 20, 19, 0), + gsSP2Triangles(11, 21, 20, 0, 11, 22, 21, 0), + gsSP2Triangles(11, 23, 22, 0, 11, 24, 23, 0), + gsSP2Triangles(23, 25, 22, 0, 26, 27, 28, 0), + gsSP2Triangles(29, 26, 28, 0, 30, 29, 28, 0), + gsSP1Triangle(30, 28, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 158, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 0, 5, 4, 0), + gsSP2Triangles(0, 6, 5, 0, 0, 7, 6, 0), + gsSP2Triangles(0, 8, 7, 0, 0, 9, 8, 0), + gsSP2Triangles(0, 10, 9, 0, 0, 11, 10, 0), + gsSP2Triangles(0, 12, 11, 0, 0, 13, 12, 0), + gsSP2Triangles(0, 14, 13, 0, 13, 15, 12, 0), + gsSP2Triangles(13, 16, 15, 0, 13, 17, 16, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 18, 0), + gsSP2Triangles(23, 21, 18, 0, 23, 24, 21, 0), + gsSP2Triangles(25, 26, 23, 0, 27, 25, 23, 0), + gsSP2Triangles(28, 27, 23, 0, 29, 28, 23, 0), + gsSP2Triangles(30, 29, 23, 0, 31, 30, 23, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 190, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 3, 2, 0, 5, 4, 2, 0), + gsSP2Triangles(2, 6, 5, 0, 2, 7, 6, 0), + gsSP2Triangles(2, 8, 7, 0, 2, 9, 8, 0), + gsSP2Triangles(2, 10, 9, 0, 2, 11, 10, 0), + gsSP2Triangles(2, 12, 11, 0, 2, 13, 12, 0), + gsSP2Triangles(2, 14, 13, 0, 2, 15, 14, 0), + gsSP2Triangles(2, 16, 15, 0, 2, 17, 16, 0), + gsSP2Triangles(2, 18, 17, 0, 2, 19, 18, 0), + gsSP2Triangles(2, 20, 19, 0, 2, 21, 20, 0), + gsSP2Triangles(0, 22, 1, 0, 22, 23, 1, 0), + gsSP2Triangles(23, 24, 1, 0, 1, 24, 25, 0), + gsSP2Triangles(1, 25, 26, 0, 1, 26, 27, 0), + gsSP2Triangles(1, 27, 28, 0, 29, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 222, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 6, 3, 0), + gsSP2Triangles(7, 5, 3, 0, 8, 7, 3, 0), + gsSP2Triangles(8, 9, 7, 0, 8, 10, 9, 0), + gsSP2Triangles(9, 11, 7, 0, 7, 12, 5, 0), + gsSP2Triangles(13, 14, 8, 0, 15, 13, 8, 0), + gsSP2Triangles(16, 15, 8, 0, 17, 16, 8, 0), + gsSP2Triangles(18, 17, 8, 0, 19, 18, 8, 0), + gsSP2Triangles(20, 19, 8, 0, 21, 20, 8, 0), + gsSP2Triangles(22, 21, 8, 0, 23, 22, 8, 0), + gsSP2Triangles(24, 23, 8, 0, 25, 24, 8, 0), + gsSP2Triangles(26, 25, 8, 0, 27, 26, 8, 0), + gsSP2Triangles(28, 27, 8, 0, 29, 28, 8, 0), + gsSP2Triangles(30, 29, 8, 0, 31, 30, 8, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 254, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), + gsSP2Triangles(7, 8, 5, 0, 8, 9, 5, 0), + gsSP2Triangles(9, 10, 5, 0, 10, 11, 5, 0), + gsSP2Triangles(11, 12, 5, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 14, 12, 0, 12, 15, 5, 0), + gsSP2Triangles(12, 16, 15, 0, 15, 17, 5, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 18, 0), + gsSP2Triangles(5, 21, 18, 0, 5, 23, 21, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 286, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 3, 5, 6, 0), + gsSP2Triangles(3, 6, 7, 0, 7, 8, 3, 0), + gsSP2Triangles(3, 8, 9, 0, 3, 9, 10, 0), + gsSP2Triangles(3, 10, 0, 0, 10, 11, 0, 0), + gsSP2Triangles(11, 12, 0, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 15, 17, 16, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(20, 22, 21, 0, 21, 23, 24, 0), + gsSP2Triangles(21, 24, 25, 0, 24, 26, 25, 0), + gsSP2Triangles(21, 25, 27, 0, 25, 28, 27, 0), + gsSP2Triangles(25, 29, 28, 0, 28, 30, 27, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 317, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 0, 3, 5, 0), + gsSP2Triangles(3, 6, 5, 0, 3, 7, 6, 0), + gsSP2Triangles(6, 8, 5, 0, 5, 9, 10, 0), + gsSP2Triangles(5, 10, 11, 0, 10, 12, 11, 0), + gsSP2Triangles(5, 11, 13, 0, 11, 14, 13, 0), + gsSP2Triangles(11, 15, 14, 0, 14, 16, 13, 0), + gsSP2Triangles(13, 17, 18, 0, 13, 18, 19, 0), + gsSP2Triangles(18, 20, 19, 0, 13, 19, 21, 0), + gsSP2Triangles(19, 22, 21, 0, 19, 23, 22, 0), + gsSP2Triangles(22, 24, 21, 0, 21, 25, 26, 0), + gsSP2Triangles(21, 26, 27, 0, 26, 28, 27, 0), + gsSP2Triangles(21, 27, 29, 0, 27, 30, 29, 0), + gsSP1Triangle(27, 31, 30, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 349, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), + gsSP2Triangles(0, 5, 6, 0, 7, 0, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 9, 10, 0, 7, 10, 11, 0), + gsSP2Triangles(7, 11, 12, 0, 7, 12, 13, 0), + gsSP2Triangles(7, 13, 14, 0, 7, 14, 15, 0), + gsSP2Triangles(7, 15, 16, 0, 7, 16, 17, 0), + gsSP2Triangles(7, 17, 18, 0, 7, 18, 19, 0), + gsSP2Triangles(7, 19, 20, 0, 7, 20, 21, 0), + gsSP2Triangles(7, 21, 22, 0, 7, 22, 23, 0), + gsSP2Triangles(7, 23, 24, 0, 25, 7, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 24, 27, 26, 0), + gsSP2Triangles(24, 28, 27, 0, 25, 29, 7, 0), + gsSP1Triangle(26, 30, 31, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 381, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), + gsSP2Triangles(6, 8, 7, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 8, 9, 0, 7, 10, 9, 0), + gsSP2Triangles(9, 11, 7, 0, 11, 12, 7, 0), + gsSP2Triangles(13, 7, 12, 0, 7, 14, 10, 0), + gsSP2Triangles(8, 14, 7, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 16, 15, 0, 18, 19, 16, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 413, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 445, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 477, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 509, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 541, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 573, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 19, 20, 21, 0), + gsSP2Triangles(22, 20, 19, 0, 22, 23, 20, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 605, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 637, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 669, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), + gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), + gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), + gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSPVertex(hm64_Text_001_mesh_vtx_1 + 701, 9, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 4, 3, 0, 6, 7, 4, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 5, 7, 0), + gsSP1Triangle(3, 5, 8, 0), + gsSPEndDisplayList(), +}; + +Gfx mat_hm64_HM[] = { + gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPTexture(960, 960, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, hm64_grayishtoblue_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 255, 512), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTileSize(0, 0, 0, 60, 60), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_hm64_HM[] = { + gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_hm64__64[] = { + gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(960, 960, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, hm64_heart1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 255, 512), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTileSize(0, 0, 0, 60, 60), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_hm64__64[] = { + gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx hm64_Text_001_mesh[] = { + gsSPClearGeometryMode(G_LIGHTING), + gsSPVertex(hm64_Text_001_mesh_vtx_cull + 0, 8, 0), + gsSPSetGeometryMode(G_LIGHTING), + gsSPCullDisplayList(0, 7), + gsSPDisplayList(mat_hm64_HM), + gsSPDisplayList(hm64_Text_001_mesh_tri_0), + gsSPDisplayList(mat_revert_hm64_HM), + gsSPDisplayList(mat_hm64__64), + gsSPDisplayList(hm64_Text_001_mesh_tri_1), + gsSPDisplayList(mat_revert_hm64__64), + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsSPEndDisplayList(), +}; + diff --git a/courses/harbour/powered.h b/courses/harbour/powered.h new file mode 100644 index 000000000..0df05783d --- /dev/null +++ b/courses/harbour/powered.h @@ -0,0 +1,23 @@ +#include + +extern u8 powered_heart1_ci8[]; +extern u8 powered_heart1_pal_rgba16[]; +extern Vtx powered_Text_mesh_vtx_cull[8]; +extern Vtx powered_Text_mesh_vtx_0[2673]; +extern Gfx powered_Text_mesh_tri_0[]; +extern Gfx mat_powered__64[]; +extern Gfx mat_revert_powered__64[]; +extern Gfx powered_Text_mesh[]; + +extern u8 hm64_grayishtoblue_rgba16[]; +extern u8 hm64_heart1_rgba16[]; +extern Vtx hm64_Text_001_mesh_vtx_cull[8]; +extern Vtx hm64_Text_001_mesh_vtx_0[367]; +extern Gfx hm64_Text_001_mesh_tri_0[]; +extern Vtx hm64_Text_001_mesh_vtx_1[710]; +extern Gfx hm64_Text_001_mesh_tri_1[]; +extern Gfx mat_hm64_HM[]; +extern Gfx mat_revert_hm64_HM[]; +extern Gfx mat_hm64__64[]; +extern Gfx mat_revert_hm64__64[]; +extern Gfx hm64_Text_001_mesh[]; diff --git a/courses/harbour/ship_model.c b/courses/harbour/ship_model.c index eed3e929a..8f55daa63 100644 --- a/courses/harbour/ship_model.c +++ b/courses/harbour/ship_model.c @@ -299,3411 +299,1116 @@ u8 ship1_metal1_i8[] = { }; -Gfx ship1__32wood_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ship1__32wood_ci8[] = { - 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x00, 0x02, 0x03, 0x03, 0x02, 0x00, 0x01, 0x04, - 0x05, 0x05, 0x06, 0x07, 0x01, 0x07, 0x08, 0x09, - 0x0a, 0x01, 0x06, 0x0b, 0x01, 0x04, 0x04, 0x0c, - 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0d, - 0x00, 0x00, 0x00, 0x02, 0x0e, 0x00, 0x01, 0x04, - 0x04, 0x05, 0x05, 0x01, 0x01, 0x05, 0x0a, 0x0f, - 0x10, 0x01, 0x04, 0x06, 0x05, 0x0a, 0x04, 0x01, - 0x00, 0x00, 0x01, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x0a, - 0x04, 0x01, 0x01, 0x0a, 0x06, 0x04, 0x04, 0x00, - 0x00, 0x00, 0x01, 0x04, 0x10, 0x04, 0x04, 0x04, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x11, 0x01, 0x04, 0x10, - 0x10, 0x04, 0x04, 0x0a, 0x04, 0x01, 0x01, 0x0c, - 0x10, 0x01, 0x0d, 0x01, 0x0a, 0x0a, 0x10, 0x04, - 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x04, 0x10, - 0x10, 0x10, 0x10, 0x10, 0x04, 0x0d, 0x00, 0x02, - 0x0f, 0x10, 0x12, 0x12, 0x10, 0x0f, 0x0a, 0x10, - 0x01, 0x0d, 0x0d, 0x01, 0x0d, 0x00, 0x01, 0x01, - 0x01, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x0d, 0x04, - 0x04, 0x04, 0x04, 0x10, 0x04, 0x01, 0x00, 0x0d, - 0x10, 0x13, 0x0c, 0x12, 0x04, 0x10, 0x0a, 0x0a, - 0x04, 0x00, 0x0d, 0x04, 0x04, 0x01, 0x04, 0x05, - 0x05, 0x04, 0x00, 0x0c, 0x02, 0x02, 0x0c, 0x12, - 0x01, 0x01, 0x04, 0x04, 0x10, 0x04, 0x01, 0x01, - 0x12, 0x12, 0x0c, 0x0c, 0x04, 0x04, 0x10, 0x0a, - 0x04, 0x01, 0x01, 0x04, 0x04, 0x04, 0x0a, 0x0a, - 0x0a, 0x0a, 0x01, 0x02, 0x02, 0x02, 0x0c, 0x01, - 0x01, 0x01, 0x04, 0x04, 0x10, 0x04, 0x04, 0x04, - 0x12, 0x0c, 0x0c, 0x12, 0x12, 0x0d, 0x01, 0x04, - 0x04, 0x01, 0x01, 0x01, 0x0d, 0x01, 0x04, 0x01, - 0x04, 0x04, 0x00, 0x00, 0x02, 0x02, 0x00, 0x01, - 0x04, 0x04, 0x04, 0x10, 0x10, 0x10, 0x04, 0x01, - 0x12, 0x0d, 0x0c, 0x12, 0x04, 0x0c, 0x00, 0x04, - 0x10, 0x04, 0x01, 0x01, 0x0d, 0x01, 0x0d, 0x00, - 0x00, 0x01, 0x01, 0x00, 0x0d, 0x0d, 0x00, 0x04, - 0x04, 0x04, 0x04, 0x10, 0x10, 0x04, 0x01, 0x0d, - 0x0d, 0x04, 0x04, 0x01, 0x01, 0x01, 0x0d, 0x0d, - 0x04, 0x01, 0x0d, 0x0d, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x04, - 0x04, 0x01, 0x01, 0x04, 0x04, 0x01, 0x0d, 0x00, - 0x01, 0x04, 0x10, 0x04, 0x04, 0x01, 0x0d, 0x00, - 0x01, 0x0d, 0x0d, 0x0d, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x0e, 0x01, 0x01, 0x14, 0x0e, 0x01, - 0x01, 0x01, 0x0d, 0x0d, 0x04, 0x0d, 0x00, 0x00, - 0x01, 0x04, 0x04, 0x04, 0x01, 0x01, 0x00, 0x00, - 0x01, 0x04, 0x0d, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x02, 0x03, 0x02, 0x04, 0x07, 0x02, 0x02, 0x00, - 0x04, 0x0d, 0x00, 0x00, 0x0d, 0x0d, 0x0c, 0x03, - 0x0d, 0x04, 0x04, 0x04, 0x01, 0x00, 0x0e, 0x00, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x01, 0x01, - 0x0c, 0x03, 0x02, 0x01, 0x01, 0x02, 0x14, 0x01, - 0x04, 0x01, 0x00, 0x00, 0x0d, 0x0d, 0x00, 0x15, - 0x0d, 0x01, 0x04, 0x04, 0x01, 0x00, 0x0e, 0x00, - 0x0d, 0x01, 0x01, 0x04, 0x04, 0x04, 0x01, 0x01, - 0x0c, 0x16, 0x03, 0x0c, 0x00, 0x03, 0x14, 0x0e, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x0d, 0x01, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x0d, 0x01, 0x01, 0x04, 0x01, 0x01, 0x02, - 0x02, 0x16, 0x16, 0x02, 0x02, 0x03, 0x14, 0x03, - 0x02, 0x00, 0x00, 0x00, 0x01, 0x0d, 0x01, 0x04, - 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x02, - 0x16, 0x17, 0x17, 0x16, 0x0c, 0x02, 0x02, 0x03, - 0x03, 0x02, 0x00, 0x0d, 0x04, 0x05, 0x0a, 0x0a, - 0x01, 0x04, 0x0a, 0x04, 0x00, 0x0e, 0x00, 0x00, - 0x0d, 0x01, 0x04, 0x01, 0x01, 0x00, 0x0c, 0x03, - 0x16, 0x17, 0x18, 0x16, 0x12, 0x01, 0x00, 0x02, - 0x14, 0x03, 0x00, 0x04, 0x04, 0x0a, 0x0a, 0x0a, - 0x04, 0x0a, 0x0f, 0x0a, 0x00, 0x02, 0x00, 0x0d, - 0x01, 0x01, 0x04, 0x04, 0x01, 0x01, 0x11, 0x0c, - 0x19, 0x17, 0x14, 0x14, 0x00, 0x01, 0x00, 0x02, - 0x03, 0x03, 0x0d, 0x01, 0x04, 0x04, 0x04, 0x04, - 0x0a, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x04, - 0x04, 0x04, 0x04, 0x04, 0x11, 0x01, 0x01, 0x00, - 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x02, - 0x02, 0x02, 0x00, 0x01, 0x04, 0x04, 0x01, 0x01, - 0x04, 0x0f, 0x10, 0x04, 0x00, 0x01, 0x04, 0x04, - 0x0a, 0x0a, 0x0a, 0x1a, 0x00, 0x01, 0x04, 0x1b, - 0x03, 0x0d, 0x0c, 0x01, 0x01, 0x01, 0x00, 0x02, - 0x02, 0x00, 0x00, 0x11, 0x01, 0x04, 0x01, 0x04, - 0x04, 0x04, 0x04, 0x04, 0x01, 0x01, 0x04, 0x04, - 0x0a, 0x0a, 0x04, 0x01, 0x01, 0x04, 0x01, 0x0c, - 0x16, 0x02, 0x12, 0x01, 0x01, 0x01, 0x01, 0x02, - 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x01, - 0x01, 0x01, 0x04, 0x04, 0x01, 0x01, 0x01, 0x04, - 0x04, 0x01, 0x01, 0x0d, 0x01, 0x01, 0x00, 0x02, - 0x14, 0x14, 0x00, 0x00, 0x00, 0x01, 0x0d, 0x03, - 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0c, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x11, 0x00, 0x01, 0x01, 0x00, 0x02, - 0x02, 0x03, 0x00, 0x02, 0x03, 0x02, 0x00, 0x0e, - 0x03, 0x0e, 0x00, 0x01, 0x01, 0x11, 0x0c, 0x02, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, - 0x01, 0x11, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x00, 0x0c, 0x02, 0x03, 0x14, 0x14, 0x03, 0x0e, - 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, - 0x0a, 0x04, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, - 0x01, 0x11, 0x01, 0x04, 0x04, 0x04, 0x04, 0x01, - 0x01, 0x01, 0x00, 0x0e, 0x14, 0x14, 0x14, 0x0e, - 0x00, 0x01, 0x01, 0x01, 0x01, 0x11, 0x00, 0x0c, - 0x06, 0x04, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, - 0x01, 0x01, 0x04, 0x05, 0x05, 0x04, 0x04, 0x01, - 0x01, 0x01, 0x01, 0x11, 0x0e, 0x0e, 0x0e, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0d, 0x01, - 0x01, 0x0b, 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, - 0x01, 0x01, 0x05, 0x05, 0x05, 0x05, 0x01, 0x01, - 0x11, 0x01, 0x01, 0x01, 0x1a, 0x11, 0x1a, 0x01, - 0x00, 0x00, 0x01, 0x1a, 0x01, 0x01, 0x01, 0x04, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, - 0x01, 0x05, 0x0a, 0x06, 0x07, 0x07, 0x01, 0x00, - 0x00, 0x01, 0x1a, 0x07, 0x07, 0x05, 0x06, 0x04, - 0x00, 0x0e, 0x00, 0x00, 0x01, 0x01, 0x1a, 0x0b, - 0x01, 0x01, 0x1a, 0x01, 0x01, 0x04, 0x04, 0x04, - 0x01, 0x04, 0x0f, 0x0a, 0x06, 0x07, 0x1a, 0x00, - 0x00, 0x01, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, - 0x00, 0x0e, 0x00, 0x00, 0x01, 0x1a, 0x0b, 0x07, - 0x0a, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0a, 0x04, - 0x01, 0x04, 0x0a, 0x0a, 0x06, 0x07, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x1c, 0x1c, 0x05, 0x07, 0x00, - 0x00, 0x0e, 0x00, 0x01, 0x07, 0x07, 0x0b, 0x1a, - 0x04, 0x01, 0x01, 0x01, 0x04, 0x0a, 0x0a, 0x0a, - 0x01, 0x01, 0x0a, 0x05, 0x04, 0x01, 0x01, 0x01, - 0x05, 0x05, 0x05, 0x01, 0x01, 0x07, 0x01, 0x00, - 0x0e, 0x02, 0x00, 0x0b, 0x06, 0x06, 0x07, 0x1d, - -}; - -Gfx ship1__32wood_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ship1__32wood_pal_rgba16[] = { - 0x62, 0x51, 0x6a, 0x91, 0x5a, 0x4f, 0x5a, 0x0f, - 0x72, 0x91, 0x72, 0xd1, 0x7a, 0xd3, 0x72, 0xd3, - 0x83, 0x13, 0x8a, 0xd1, 0x7a, 0xd1, 0x72, 0x93, - 0x62, 0x4f, 0x6a, 0x51, 0x5a, 0x51, 0x82, 0xd1, - 0x7a, 0x91, 0x62, 0x91, 0x6a, 0x4f, 0x72, 0x8f, - 0x52, 0x0f, 0x62, 0x0f, 0x52, 0x0d, 0x51, 0xcd, - 0x49, 0xcb, 0x5a, 0x0d, 0x6a, 0x93, 0x6a, 0x8f, - 0x6a, 0xd3, 0x62, 0x93, -}; - -Gfx ship1_sail2_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_sail2_ci8[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0c, 0x0d, 0x0e, - 0x0e, 0x0d, 0x0d, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, - 0x08, 0x0f, 0x0f, 0x04, 0x10, 0x03, 0x02, 0x02, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x06, 0x11, - 0x12, 0x08, 0x0a, 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, - 0x0d, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, - 0x07, 0x0f, 0x0f, 0x13, 0x10, 0x03, 0x02, 0x01, - 0x00, 0x01, 0x02, 0x14, 0x14, 0x04, 0x06, 0x0f, - 0x07, 0x08, 0x09, 0x15, 0x0c, 0x0c, 0x0d, 0x0d, - 0x0d, 0x0d, 0x0d, 0x0c, 0x0b, 0x0a, 0x0a, 0x08, - 0x07, 0x12, 0x06, 0x14, 0x13, 0x02, 0x01, 0x02, - 0x00, 0x01, 0x02, 0x10, 0x04, 0x14, 0x04, 0x07, - 0x12, 0x09, 0x08, 0x08, 0x0b, 0x0c, 0x0c, 0x0c, - 0x0c, 0x0c, 0x0b, 0x0b, 0x15, 0x0a, 0x09, 0x07, - 0x12, 0x05, 0x04, 0x04, 0x03, 0x16, 0x02, 0x00, - 0x17, 0x00, 0x01, 0x03, 0x03, 0x04, 0x06, 0x12, - 0x0f, 0x07, 0x07, 0x15, 0x0a, 0x0a, 0x0b, 0x0c, - 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x08, 0x08, 0x12, - 0x0f, 0x06, 0x04, 0x10, 0x03, 0x16, 0x02, 0x18, - 0x00, 0x00, 0x01, 0x02, 0x18, 0x10, 0x14, 0x06, - 0x12, 0x11, 0x07, 0x08, 0x0a, 0x0a, 0x0a, 0x0b, - 0x15, 0x0a, 0x0a, 0x08, 0x08, 0x08, 0x07, 0x0f, - 0x0f, 0x06, 0x04, 0x13, 0x03, 0x02, 0x00, 0x17, - 0x17, 0x00, 0x02, 0x02, 0x02, 0x03, 0x10, 0x04, - 0x0f, 0x0f, 0x07, 0x07, 0x08, 0x08, 0x0a, 0x08, - 0x0a, 0x0a, 0x08, 0x08, 0x08, 0x07, 0x11, 0x0f, - 0x12, 0x06, 0x10, 0x10, 0x16, 0x01, 0x00, 0x17, - 0x00, 0x17, 0x00, 0x01, 0x16, 0x14, 0x10, 0x04, - 0x06, 0x0f, 0x0f, 0x07, 0x07, 0x07, 0x08, 0x08, - 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, - 0x06, 0x04, 0x10, 0x02, 0x02, 0x01, 0x00, 0x17, - 0x17, 0x17, 0x17, 0x00, 0x01, 0x03, 0x14, 0x04, - 0x04, 0x06, 0x06, 0x06, 0x0f, 0x0f, 0x07, 0x07, - 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x11, 0x06, - 0x14, 0x10, 0x16, 0x02, 0x02, 0x00, 0x00, 0x17, - 0x19, 0x17, 0x17, 0x02, 0x00, 0x02, 0x16, 0x03, - 0x04, 0x14, 0x06, 0x04, 0x06, 0x0f, 0x0f, 0x11, - 0x11, 0x12, 0x0f, 0x0f, 0x06, 0x04, 0x06, 0x04, - 0x13, 0x03, 0x03, 0x18, 0x01, 0x17, 0x17, 0x17, - 0x19, 0x17, 0x17, 0x00, 0x00, 0x01, 0x02, 0x16, - 0x03, 0x04, 0x04, 0x14, 0x06, 0x11, 0x05, 0x06, - 0x0f, 0x06, 0x0f, 0x04, 0x06, 0x04, 0x10, 0x14, - 0x03, 0x16, 0x02, 0x00, 0x00, 0x00, 0x17, 0x19, - 0x1a, 0x19, 0x17, 0x17, 0x17, 0x18, 0x01, 0x03, - 0x16, 0x03, 0x03, 0x04, 0x10, 0x13, 0x04, 0x06, - 0x06, 0x06, 0x04, 0x10, 0x13, 0x10, 0x03, 0x16, - 0x02, 0x01, 0x01, 0x01, 0x17, 0x17, 0x19, 0x1a, - 0x1b, 0x1a, 0x19, 0x19, 0x00, 0x17, 0x00, 0x00, - 0x02, 0x02, 0x03, 0x02, 0x10, 0x10, 0x14, 0x10, - 0x03, 0x10, 0x04, 0x03, 0x03, 0x16, 0x02, 0x02, - 0x02, 0x00, 0x00, 0x17, 0x17, 0x17, 0x1a, 0x19, - 0x1c, 0x1b, 0x1a, 0x19, 0x17, 0x17, 0x17, 0x00, - 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x02, 0x16, 0x02, 0x18, 0x01, - 0x18, 0x00, 0x17, 0x17, 0x17, 0x19, 0x1b, 0x1d, - 0x1d, 0x1d, 0x1b, 0x1b, 0x1a, 0x19, 0x19, 0x17, - 0x00, 0x02, 0x01, 0x18, 0x01, 0x02, 0x01, 0x02, - 0x01, 0x01, 0x02, 0x03, 0x02, 0x01, 0x00, 0x00, - 0x00, 0x17, 0x17, 0x17, 0x19, 0x1a, 0x1e, 0x1d, - 0x1f, 0x1d, 0x1d, 0x1b, 0x1b, 0x19, 0x19, 0x17, - 0x17, 0x17, 0x17, 0x00, 0x00, 0x02, 0x18, 0x00, - 0x01, 0x00, 0x01, 0x18, 0x00, 0x17, 0x17, 0x00, - 0x17, 0x19, 0x17, 0x1b, 0x1b, 0x1b, 0x1d, 0x1c, - 0x1f, 0x1f, 0x1c, 0x1c, 0x1b, 0x1b, 0x19, 0x19, - 0x19, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, - 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x19, 0x19, 0x1b, 0x1d, 0x1c, 0x1f, 0x1c, - 0x20, 0x1f, 0x1e, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, - 0x1a, 0x1a, 0x19, 0x19, 0x17, 0x17, 0x17, 0x17, - 0x17, 0x17, 0x17, 0x17, 0x17, 0x19, 0x19, 0x17, - 0x1a, 0x1b, 0x1b, 0x1d, 0x1c, 0x1c, 0x20, 0x1f, - 0x20, 0x20, 0x1f, 0x1f, 0x1c, 0x1c, 0x1d, 0x1b, - 0x1b, 0x1a, 0x19, 0x1b, 0x19, 0x19, 0x1a, 0x1a, - 0x19, 0x17, 0x19, 0x19, 0x19, 0x1a, 0x19, 0x1b, - 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x20, 0x20, - 0x21, 0x20, 0x20, 0x20, 0x1f, 0x1c, 0x1f, 0x1c, - 0x1d, 0x1b, 0x1b, 0x1b, 0x1a, 0x1a, 0x1a, 0x17, - 0x1a, 0x19, 0x1a, 0x1a, 0x1b, 0x1a, 0x1d, 0x1d, - 0x1e, 0x1c, 0x1c, 0x1f, 0x1f, 0x22, 0x20, 0x21, - 0x23, 0x21, 0x20, 0x24, 0x1c, 0x1f, 0x1c, 0x1c, - 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1b, 0x1d, 0x1b, - 0x1b, 0x1d, 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1f, - 0x1f, 0x1f, 0x1c, 0x1f, 0x25, 0x25, 0x24, 0x21, - 0x26, 0x23, 0x27, 0x21, 0x20, 0x20, 0x20, 0x1f, - 0x1c, 0x22, 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, - 0x1f, 0x1f, 0x1f, 0x25, 0x20, 0x21, 0x27, 0x24, - 0x28, 0x29, 0x29, 0x23, 0x21, 0x21, 0x21, 0x20, - 0x25, 0x20, 0x1f, 0x1f, 0x1f, 0x1c, 0x1f, 0x1c, - 0x1f, 0x1e, 0x1d, 0x1c, 0x22, 0x1f, 0x22, 0x20, - 0x1f, 0x20, 0x20, 0x21, 0x23, 0x23, 0x29, 0x27, - 0x2a, 0x2a, 0x26, 0x23, 0x29, 0x23, 0x21, 0x24, - 0x20, 0x20, 0x20, 0x20, 0x25, 0x1c, 0x1f, 0x1f, - 0x25, 0x1f, 0x20, 0x25, 0x1c, 0x25, 0x20, 0x25, - 0x25, 0x21, 0x21, 0x23, 0x28, 0x23, 0x28, 0x2a, - 0x2b, 0x2a, 0x2a, 0x26, 0x29, 0x29, 0x29, 0x21, - 0x24, 0x21, 0x21, 0x21, 0x24, 0x20, 0x20, 0x21, - 0x25, 0x20, 0x24, 0x24, 0x20, 0x25, 0x21, 0x21, - 0x21, 0x23, 0x29, 0x28, 0x28, 0x2a, 0x2a, 0x2a, - 0x2c, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x29, 0x29, - 0x23, 0x29, 0x23, 0x23, 0x21, 0x21, 0x21, 0x21, - 0x21, 0x21, 0x21, 0x20, 0x23, 0x21, 0x27, 0x29, - 0x28, 0x29, 0x23, 0x28, 0x2b, 0x2a, 0x2a, 0x2b, - 0x2d, 0x2b, 0x2d, 0x2d, 0x2a, 0x2a, 0x28, 0x28, - 0x2a, 0x29, 0x26, 0x26, 0x29, 0x28, 0x28, 0x29, - 0x29, 0x29, 0x23, 0x27, 0x29, 0x29, 0x29, 0x2a, - 0x29, 0x28, 0x2a, 0x2a, 0x2b, 0x2d, 0x2d, 0x2d, - 0x2e, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2b, 0x2b, - 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x28, 0x26, - 0x29, 0x28, 0x28, 0x26, 0x28, 0x28, 0x2a, 0x2a, - 0x2a, 0x2b, 0x2a, 0x2d, 0x2c, 0x2c, 0x2d, 0x2e, - 0x2f, 0x2e, 0x2c, 0x30, 0x2c, 0x2c, 0x2d, 0x2d, - 0x2d, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2b, 0x2a, 0x2a, 0x2a, 0x2b, 0x2a, 0x2a, - 0x2a, 0x2d, 0x2d, 0x2d, 0x2c, 0x2d, 0x2e, 0x2e, - 0x2f, 0x31, 0x30, 0x2e, 0x2e, 0x30, 0x2d, 0x2c, - 0x2d, 0x2c, 0x2d, 0x30, 0x2d, 0x2b, 0x2b, 0x2b, - 0x2b, 0x2d, 0x2b, 0x2d, 0x2b, 0x2d, 0x2d, 0x2c, - 0x2d, 0x2d, 0x30, 0x30, 0x2e, 0x30, 0x2f, 0x2f, - 0x32, 0x2f, 0x31, 0x2f, 0x2f, 0x2f, 0x2e, 0x2e, - 0x2c, 0x2c, 0x2e, 0x2c, 0x2c, 0x2d, 0x2c, 0x2c, - 0x2c, 0x2d, 0x2d, 0x2b, 0x2d, 0x2c, 0x2c, 0x2e, - 0x2e, 0x2e, 0x2e, 0x30, 0x31, 0x2f, 0x31, 0x2f, - 0x32, 0x32, 0x32, 0x32, 0x31, 0x2f, 0x2f, 0x2e, - 0x2f, 0x30, 0x2e, 0x2c, 0x2e, 0x2e, 0x2e, 0x2e, - 0x30, 0x30, 0x2e, 0x2e, 0x2c, 0x30, 0x2e, 0x2e, - 0x2e, 0x2e, 0x2f, 0x2e, 0x2f, 0x2f, 0x32, 0x32, - -}; - -Gfx ship1_sail2_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_sail2_pal_rgba16[] = { +Gfx ship1_sail2_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_sail2_rgba16[] = { 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, 0xb5, 0xed, 0xbe, 0x2f, 0xc6, 0x73, 0xc6, 0x31, 0xd6, 0xb3, 0xd6, 0xf5, 0xd6, 0xb7, 0xde, 0xf7, 0xe7, 0x39, - 0xe7, 0x79, 0xef, 0xbb, 0xf7, 0xfd, 0xce, 0x73, - 0xbd, 0xef, 0xce, 0x75, 0xd6, 0x73, 0xc5, 0xef, - 0xbd, 0xf1, 0xdf, 0x39, 0xb5, 0xaf, 0xa5, 0x29, - 0xad, 0x6d, 0x9c, 0xe7, 0x9c, 0xe5, 0x94, 0xa5, - 0x8c, 0x63, 0x94, 0xa3, 0x94, 0x63, 0x84, 0x61, - 0x84, 0x1f, 0x7b, 0xdf, 0x8c, 0x21, 0x73, 0xdd, - 0x7b, 0xe1, 0x84, 0x21, 0x6b, 0x9d, 0x7b, 0x9d, - 0x6b, 0x9b, 0x73, 0x9d, 0x6b, 0x5b, 0x63, 0x59, - 0x5b, 0x17, 0x63, 0x19, 0x5a, 0xd5, 0x52, 0x95, - 0x5a, 0xd7, 0x4a, 0x95, 0x4a, 0x53, -}; - -Gfx ship1_hmpainted_rgba32_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_hmpainted_rgba32[] = { - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x45, 0x4c, 0x44, 0xff, - 0xa2, 0xa4, 0xa2, 0xff, 0x45, 0x4c, 0x44, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x32, 0x3c, 0x31, 0xff, 0x7f, 0x82, 0x7f, 0xff, - 0x7f, 0x82, 0x7f, 0xff, 0x32, 0x3c, 0x31, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xb8, 0xb9, 0xb8, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xb8, 0xb9, 0xb8, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x7f, 0x82, 0x7f, 0xff, 0xe6, 0xe7, 0xe6, 0xff, - 0xe6, 0xe7, 0xe6, 0xff, 0x7f, 0x82, 0x7f, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x55, 0x5a, 0x54, 0xff, 0xcf, 0xd0, 0xcf, 0xff, - 0xbd, 0xbe, 0xbd, 0xff, 0x4f, 0x55, 0x4f, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xee, 0xee, 0xee, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x91, 0x93, 0x91, 0xff, 0xf6, 0xf6, 0xf6, 0xff, - 0xec, 0xec, 0xec, 0xff, 0x83, 0x86, 0x83, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x2a, 0x37, 0x2a, 0xff, 0x84, 0x87, 0x84, 0xff, - 0xcc, 0xcd, 0xcc, 0xff, 0x55, 0x5a, 0x54, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x45, 0x4c, 0x44, 0xff, - 0xe5, 0xe5, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc1, 0xc0, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xe5, 0xe6, 0xe5, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xed, 0xff, - 0x3b, 0x44, 0x3a, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xd1, 0xd2, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf6, 0xf7, 0xf6, 0xff, 0x72, 0x76, 0x72, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x7e, 0x81, 0x7d, 0xff, 0xfa, 0xfa, 0xfa, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xd1, 0xd2, 0xd1, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xa9, 0xab, 0xa9, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd4, 0xd3, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xd2, 0xd3, 0xd2, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xa5, 0xa7, 0xa5, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0xe8, 0xe8, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe8, 0xe8, 0xe8, 0xff, 0x2a, 0x37, 0x2a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xba, 0xbb, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff, - 0x5d, 0x62, 0x5d, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xb3, 0xb4, 0xb3, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xd5, 0xd6, 0xd5, 0xff, - 0x45, 0x4c, 0x44, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xb3, 0xb4, 0xb3, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe2, 0xe3, 0xe2, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x71, 0x75, 0x71, 0xff, - 0xf6, 0xf7, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd4, 0xd4, 0xd4, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xb1, 0xb3, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xdb, 0xdc, 0xdb, 0xff, 0x2a, 0x37, 0x2a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x45, 0x4c, 0x44, 0xff, 0xe6, 0xe7, 0xe6, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xa2, 0xa4, 0xa2, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb8, 0xb9, 0xb8, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x76, 0x79, 0x75, 0xff, - 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd3, 0xd4, 0xd3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xb5, 0xb6, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfc, 0xfc, 0xfc, 0xff, 0x85, 0x88, 0x85, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xb0, 0xb1, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, - 0x5d, 0x62, 0x5d, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x79, 0x7c, 0x79, 0xff, - 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd3, 0xd4, 0xd3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xd0, 0xd1, 0xd0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd4, 0xd3, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0xe7, 0xe7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xfa, 0xfa, 0xfa, 0xff, 0xc3, 0xc4, 0xc3, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc7, 0xc8, 0xc7, 0xff, 0xb5, 0xb7, 0xb5, 0xff, - 0xe3, 0xe4, 0xe3, 0xff, 0xc7, 0xc8, 0xc7, 0xff, - 0xd4, 0xd4, 0xd4, 0xff, 0xed, 0xed, 0xed, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd1, 0xd2, 0xd1, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xb5, 0xb6, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe8, 0xe7, 0xff, - 0x45, 0x4c, 0x44, 0xff, 0x79, 0x7c, 0x79, 0xff, - 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd6, 0xd7, 0xd6, 0xff, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd5, 0xd6, 0xd5, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb3, 0xb4, 0xb3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xb3, 0xb4, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb3, 0xb4, 0xb3, 0xff, 0xb2, 0xb3, 0xb2, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe3, 0xe4, 0xe3, 0xff, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd5, 0xd6, 0xd5, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf9, 0xf9, 0xf9, 0xff, 0xf2, 0xf3, 0xf2, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xd2, 0xd3, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf9, 0xf9, 0xf9, 0xff, 0xc2, 0xc3, 0xc2, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe5, 0xe6, 0xe5, 0xff, 0xe5, 0xe6, 0xe5, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, - 0x92, 0x95, 0x92, 0xff, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb5, 0xb6, 0xb5, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc7, 0xc8, 0xc7, 0xff, 0xac, 0xae, 0xac, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0xac, 0xad, 0xac, 0xff, - 0x79, 0x7c, 0x79, 0xff, 0xb1, 0xb3, 0xb1, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0xe8, 0xe8, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe8, 0xe8, 0xe8, 0xff, 0x4f, 0x55, 0x4f, 0xff, - 0xee, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff, - 0x71, 0x75, 0x71, 0xff, 0xac, 0xad, 0xac, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb3, 0xb4, 0xb3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x6a, 0x6e, 0x6a, 0xff, - 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xdb, 0xdc, 0xdb, 0xff, 0x2a, 0x37, 0x2a, 0xff, - 0xb0, 0xb1, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xdb, 0xdc, 0xdb, 0xff, - 0x2a, 0x37, 0x2a, 0xff, 0x7e, 0x81, 0x7d, 0xff, - 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd1, 0xd2, 0xd1, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4f, 0x55, 0x4f, 0xff, - 0xe8, 0xe9, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xf5, 0xf5, 0xf5, 0xff, 0x6a, 0x6e, 0x6a, 0xff, - 0x45, 0x4c, 0x44, 0xff, 0xd3, 0xd3, 0xd3, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xef, 0xef, 0xef, 0xff, 0x5d, 0x62, 0x5d, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x76, 0x79, 0x75, 0xff, - 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd3, 0xd4, 0xd3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaf, 0xb1, 0xaf, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xc5, 0xc6, 0xc5, 0xff, 0x2a, 0x37, 0x2a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x45, 0x4c, 0x44, 0xff, - 0xb3, 0xb4, 0xb3, 0xff, 0xd0, 0xd1, 0xd0, 0xff, - 0x5d, 0x62, 0x5d, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x76, 0x79, 0x75, 0xff, - 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd3, 0xd4, 0xd3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xb8, 0xb9, 0xb8, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xaf, 0xb1, 0xaf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xac, 0xad, 0xac, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xb3, 0xb4, 0xb3, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xd1, 0xd2, 0xd1, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xcf, 0xd0, 0xcf, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x6f, 0x73, 0x6f, 0xff, - 0xf6, 0xf7, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xd4, 0xd5, 0xd4, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xe2, 0xe2, 0xe2, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xa9, 0xab, 0xa9, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x79, 0x7c, 0x79, 0xff, - 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xcc, 0xcd, 0xcc, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xc1, 0xc2, 0xc1, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff, - 0x81, 0x84, 0x81, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0xe8, 0xe9, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe4, 0xe4, 0xe4, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x8f, 0x91, 0x8f, 0xff, - 0xf8, 0xf8, 0xf8, 0xff, 0xc4, 0xc5, 0xc4, 0xff, - 0x45, 0x4c, 0x44, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0x84, 0x87, 0x84, 0xff, 0xcc, 0xcd, 0xcc, 0xff, - 0x55, 0x5a, 0x54, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x7a, 0x7e, 0x7a, 0xff, - 0xe3, 0xe4, 0xe3, 0xff, 0xa1, 0xa3, 0xa1, 0xff, - 0x38, 0x41, 0x37, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xe4, 0xe5, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe4, 0xe5, 0xe4, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0x6a, 0x6e, 0x6a, 0xff, 0x2a, 0x37, 0x2a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0xff, - 0x4b, 0x23, 0x0b, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x2a, 0x37, 0x2a, 0xff, - 0x65, 0x69, 0x64, 0xff, 0x38, 0x41, 0x37, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xe1, 0xe1, 0xe1, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xbc, 0x0f, 0x03, 0xff, 0xb6, 0x11, 0x04, 0xff, - 0x8e, 0x1b, 0x07, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x67, 0x21, 0x0a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xc2, 0x0c, 0x02, 0xff, 0x67, 0x21, 0x0a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x5f, 0x64, 0x5e, 0xff, 0xdc, 0xdd, 0xdc, 0xff, - 0x5f, 0x64, 0x5e, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xc2, 0x0c, 0x02, 0xff, - 0xbc, 0x0f, 0x03, 0xff, 0x9d, 0x18, 0x06, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xcc, 0x06, 0x01, 0xff, - 0xbc, 0x0f, 0x03, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0xcc, 0x06, 0x01, 0xff, 0xaa, 0x15, 0x05, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xc6, 0x0a, 0x02, 0xff, 0xc6, 0x0a, 0x02, 0xff, - 0x67, 0x21, 0x0a, 0xff, 0x67, 0x21, 0x0a, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xd6, 0x00, 0x00, 0xff, - 0xaa, 0x15, 0x05, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0xcc, 0x06, 0x01, 0xff, 0xaa, 0x15, 0x05, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xaa, 0x15, 0x05, 0xff, 0xd6, 0x00, 0x00, 0xff, - 0xc2, 0x0c, 0x02, 0xff, 0xc2, 0x0c, 0x02, 0xff, - 0xd6, 0x00, 0x00, 0xff, 0xc2, 0x0c, 0x02, 0xff, - 0x67, 0x21, 0x0a, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xd6, 0x00, 0x00, 0xff, - 0xcc, 0x06, 0x01, 0xff, 0xcc, 0x06, 0x01, 0xff, - 0xd6, 0x00, 0x00, 0xff, 0xd6, 0x00, 0x00, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xd6, 0x00, 0x00, 0xff, 0xd1, 0x03, 0x01, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0xaa, 0x15, 0x05, 0xff, - 0x9d, 0x18, 0x06, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x9d, 0x18, 0x06, 0xff, - 0xaa, 0x15, 0x05, 0xff, 0xc1, 0x0c, 0x02, 0xff, - 0xd0, 0x04, 0x01, 0xff, 0xcc, 0x06, 0x01, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x9d, 0x18, 0x06, 0xff, 0x9d, 0x18, 0x06, 0xff, - 0x9d, 0x18, 0x06, 0xff, 0x67, 0x21, 0x0a, 0xff, - 0xc6, 0x0a, 0x02, 0xff, 0xc6, 0x0a, 0x02, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xbd, 0x0e, 0x03, 0xff, 0xd6, 0x00, 0x00, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x9d, 0x18, 0x06, 0xff, - 0xbc, 0x0f, 0x03, 0xff, 0xc2, 0x0c, 0x02, 0xff, - 0xc2, 0x0c, 0x02, 0xff, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0xa9, 0x15, 0x05, 0xff, 0xc4, 0x0b, 0x02, 0xff, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, - 0x4b, 0x23, 0x0b, 0x00, 0x4b, 0x23, 0x0b, 0x00, + 0xe7, 0x79, 0xe7, 0x79, 0xef, 0xbb, 0xf7, 0xfd, + 0xf7, 0xfd, 0xef, 0xbb, 0xef, 0xbb, 0xe7, 0x79, + 0xe7, 0x39, 0xe7, 0x39, 0xde, 0xf7, 0xde, 0xf7, + 0xd6, 0xf5, 0xce, 0x73, 0xce, 0x73, 0xbe, 0x2f, + 0xbd, 0xef, 0xb5, 0xed, 0xb5, 0xad, 0xb5, 0xad, + 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, 0xb5, 0xed, + 0xbe, 0x2f, 0xbe, 0x2f, 0xc6, 0x31, 0xce, 0x75, + 0xd6, 0x73, 0xd6, 0xf5, 0xde, 0xf7, 0xe7, 0x39, + 0xe7, 0x79, 0xe7, 0x79, 0xef, 0xbb, 0xef, 0xbb, + 0xef, 0xbb, 0xf7, 0xfd, 0xef, 0xbb, 0xe7, 0x79, + 0xe7, 0x39, 0xde, 0xf7, 0xd6, 0xb7, 0xd6, 0xf5, + 0xd6, 0xb3, 0xce, 0x73, 0xce, 0x73, 0xc5, 0xef, + 0xbd, 0xef, 0xb5, 0xed, 0xb5, 0xad, 0xad, 0xab, + 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, 0xbd, 0xf1, + 0xbd, 0xf1, 0xbe, 0x2f, 0xc6, 0x31, 0xce, 0x73, + 0xd6, 0xb3, 0xd6, 0xf5, 0xd6, 0xb7, 0xdf, 0x39, + 0xe7, 0x79, 0xe7, 0x79, 0xef, 0xbb, 0xef, 0xbb, + 0xef, 0xbb, 0xef, 0xbb, 0xef, 0xbb, 0xe7, 0x79, + 0xe7, 0x39, 0xde, 0xf7, 0xde, 0xf7, 0xd6, 0xf5, + 0xd6, 0xb3, 0xd6, 0x73, 0xc6, 0x31, 0xbd, 0xf1, + 0xc5, 0xef, 0xb5, 0xad, 0xad, 0xab, 0xb5, 0xad, + 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, 0xbd, 0xef, + 0xbe, 0x2f, 0xbd, 0xf1, 0xbe, 0x2f, 0xd6, 0xb3, + 0xd6, 0x73, 0xd6, 0xb7, 0xd6, 0xf5, 0xd6, 0xf5, + 0xe7, 0x39, 0xe7, 0x79, 0xe7, 0x79, 0xe7, 0x79, + 0xe7, 0x79, 0xe7, 0x79, 0xe7, 0x39, 0xe7, 0x39, + 0xdf, 0x39, 0xde, 0xf7, 0xd6, 0xb7, 0xd6, 0xb3, + 0xd6, 0x73, 0xc6, 0x73, 0xbe, 0x2f, 0xbe, 0x2f, + 0xb5, 0xed, 0xb5, 0xaf, 0xb5, 0xad, 0xad, 0x6b, + 0xa5, 0x29, 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xed, + 0xb5, 0xed, 0xbe, 0x2f, 0xc6, 0x31, 0xd6, 0x73, + 0xce, 0x73, 0xd6, 0xb3, 0xd6, 0xb3, 0xdf, 0x39, + 0xde, 0xf7, 0xde, 0xf7, 0xe7, 0x39, 0xe7, 0x79, + 0xe7, 0x79, 0xe7, 0x79, 0xe7, 0x39, 0xe7, 0x39, + 0xde, 0xf7, 0xd6, 0xf5, 0xd6, 0xf5, 0xd6, 0x73, + 0xce, 0x73, 0xc6, 0x31, 0xbe, 0x2f, 0xbd, 0xef, + 0xb5, 0xed, 0xb5, 0xaf, 0xb5, 0xad, 0xad, 0x6d, + 0xad, 0x6b, 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, + 0xad, 0x6d, 0xbd, 0xef, 0xbd, 0xf1, 0xc6, 0x31, + 0xd6, 0x73, 0xce, 0x75, 0xd6, 0xb3, 0xd6, 0xf5, + 0xde, 0xf7, 0xde, 0xf7, 0xde, 0xf7, 0xe7, 0x39, + 0xdf, 0x39, 0xde, 0xf7, 0xde, 0xf7, 0xd6, 0xf5, + 0xd6, 0xf5, 0xd6, 0xf5, 0xd6, 0xb3, 0xce, 0x73, + 0xce, 0x73, 0xc6, 0x31, 0xbe, 0x2f, 0xc5, 0xef, + 0xb5, 0xed, 0xb5, 0xad, 0xad, 0x6b, 0xa5, 0x29, + 0xa5, 0x29, 0xad, 0x6b, 0xb5, 0xad, 0xb5, 0xad, + 0xb5, 0xad, 0xb5, 0xed, 0xbd, 0xef, 0xbe, 0x2f, + 0xce, 0x73, 0xce, 0x73, 0xd6, 0xb3, 0xd6, 0xb3, + 0xd6, 0xf5, 0xd6, 0xf5, 0xde, 0xf7, 0xd6, 0xf5, + 0xde, 0xf7, 0xde, 0xf7, 0xd6, 0xf5, 0xd6, 0xf5, + 0xd6, 0xf5, 0xd6, 0xb3, 0xce, 0x75, 0xce, 0x73, + 0xd6, 0x73, 0xc6, 0x31, 0xbd, 0xef, 0xbd, 0xef, + 0xb5, 0xaf, 0xad, 0xab, 0xad, 0x6b, 0xa5, 0x29, + 0xad, 0x6b, 0xa5, 0x29, 0xad, 0x6b, 0xad, 0xab, + 0xb5, 0xaf, 0xbd, 0xf1, 0xbd, 0xef, 0xbe, 0x2f, + 0xc6, 0x31, 0xce, 0x73, 0xce, 0x73, 0xd6, 0xb3, + 0xd6, 0xb3, 0xd6, 0xb3, 0xd6, 0xf5, 0xd6, 0xf5, + 0xd6, 0xf5, 0xd6, 0xb3, 0xd6, 0xb3, 0xd6, 0xb3, + 0xd6, 0xb3, 0xd6, 0xb3, 0xc6, 0x31, 0xc6, 0x31, + 0xc6, 0x31, 0xbe, 0x2f, 0xbd, 0xef, 0xb5, 0xad, + 0xb5, 0xad, 0xad, 0xab, 0xad, 0x6b, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6b, + 0xad, 0xab, 0xb5, 0xed, 0xbd, 0xf1, 0xbe, 0x2f, + 0xbe, 0x2f, 0xc6, 0x31, 0xc6, 0x31, 0xc6, 0x31, + 0xce, 0x73, 0xce, 0x73, 0xd6, 0xb3, 0xd6, 0xb3, + 0xd6, 0xb3, 0xd6, 0xb3, 0xd6, 0xb3, 0xd6, 0xb3, + 0xce, 0x73, 0xce, 0x73, 0xce, 0x75, 0xc6, 0x31, + 0xbd, 0xf1, 0xbd, 0xef, 0xb5, 0xaf, 0xb5, 0xad, + 0xb5, 0xad, 0xad, 0x6b, 0xad, 0x6b, 0xa5, 0x29, + 0x9c, 0xe7, 0xa5, 0x29, 0xa5, 0x29, 0xb5, 0xad, + 0xad, 0x6b, 0xb5, 0xad, 0xb5, 0xaf, 0xb5, 0xed, + 0xbe, 0x2f, 0xbd, 0xf1, 0xc6, 0x31, 0xbe, 0x2f, + 0xc6, 0x31, 0xce, 0x73, 0xce, 0x73, 0xce, 0x75, + 0xce, 0x75, 0xd6, 0x73, 0xce, 0x73, 0xce, 0x73, + 0xc6, 0x31, 0xbe, 0x2f, 0xc6, 0x31, 0xbe, 0x2f, + 0xc5, 0xef, 0xb5, 0xed, 0xb5, 0xed, 0xad, 0x6d, + 0xad, 0xab, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0x9c, 0xe7, 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6b, + 0xad, 0x6b, 0xad, 0xab, 0xb5, 0xad, 0xb5, 0xaf, + 0xb5, 0xed, 0xbe, 0x2f, 0xbe, 0x2f, 0xbd, 0xf1, + 0xc6, 0x31, 0xce, 0x75, 0xc6, 0x73, 0xc6, 0x31, + 0xce, 0x73, 0xc6, 0x31, 0xce, 0x73, 0xbe, 0x2f, + 0xc6, 0x31, 0xbe, 0x2f, 0xbd, 0xef, 0xbd, 0xf1, + 0xb5, 0xed, 0xb5, 0xaf, 0xb5, 0xad, 0xad, 0x6b, + 0xad, 0x6b, 0xad, 0x6b, 0xa5, 0x29, 0x9c, 0xe7, + 0x9c, 0xe5, 0x9c, 0xe7, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0xad, 0x6d, 0xad, 0xab, 0xb5, 0xed, + 0xb5, 0xaf, 0xb5, 0xed, 0xb5, 0xed, 0xbe, 0x2f, + 0xbd, 0xef, 0xc5, 0xef, 0xbe, 0x2f, 0xc6, 0x31, + 0xc6, 0x31, 0xc6, 0x31, 0xbe, 0x2f, 0xbd, 0xef, + 0xc5, 0xef, 0xbd, 0xef, 0xb5, 0xed, 0xb5, 0xaf, + 0xb5, 0xad, 0xad, 0xab, 0xad, 0xab, 0xad, 0xab, + 0xa5, 0x29, 0xa5, 0x29, 0x9c, 0xe7, 0x9c, 0xe5, + 0x94, 0xa5, 0x9c, 0xe5, 0x9c, 0xe7, 0x9c, 0xe7, + 0xad, 0x6b, 0xa5, 0x29, 0xad, 0x6b, 0xad, 0x6b, + 0xb5, 0xad, 0xb5, 0xad, 0xb5, 0xed, 0xb5, 0xad, + 0xbd, 0xef, 0xbd, 0xef, 0xbd, 0xf1, 0xbd, 0xef, + 0xb5, 0xed, 0xbd, 0xef, 0xbe, 0x2f, 0xb5, 0xed, + 0xb5, 0xed, 0xb5, 0xaf, 0xb5, 0xad, 0xb5, 0xad, + 0xb5, 0xad, 0xad, 0x6b, 0xad, 0x6b, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0x9c, 0xe5, 0x9c, 0xe7, + 0x8c, 0x63, 0x94, 0xa5, 0x9c, 0xe5, 0x9c, 0xe7, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6b, + 0xb5, 0xad, 0xad, 0xab, 0xb5, 0xad, 0xb5, 0xad, + 0xb5, 0xad, 0xb5, 0xad, 0xb5, 0xed, 0xb5, 0xed, + 0xb5, 0xed, 0xb5, 0xed, 0xb5, 0xed, 0xb5, 0xad, + 0xb5, 0xaf, 0xb5, 0xad, 0xad, 0x6d, 0xad, 0xab, + 0xad, 0x6d, 0xad, 0x6b, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0x9c, 0xe7, 0x94, 0xa5, 0x94, 0xa3, + 0x94, 0xa3, 0x94, 0xa3, 0x94, 0xa5, 0x94, 0xa5, + 0x9c, 0xe5, 0x9c, 0xe7, 0x9c, 0xe7, 0xa5, 0x29, + 0xad, 0x6b, 0xb5, 0xad, 0xad, 0xab, 0xad, 0x6d, + 0xad, 0xab, 0xb5, 0xad, 0xad, 0xab, 0xb5, 0xad, + 0xad, 0xab, 0xad, 0xab, 0xb5, 0xad, 0xb5, 0xed, + 0xb5, 0xad, 0xad, 0xab, 0xad, 0x6b, 0xad, 0x6b, + 0xad, 0x6b, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0x9c, 0xe7, 0x9c, 0xe5, 0x94, 0x63, 0x94, 0xa3, + 0x84, 0x61, 0x94, 0xa3, 0x94, 0xa3, 0x94, 0xa5, + 0x94, 0xa5, 0x9c, 0xe7, 0x9c, 0xe7, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6b, + 0xad, 0x6b, 0xb5, 0xad, 0xad, 0x6d, 0xad, 0x6b, + 0xad, 0xab, 0xad, 0x6b, 0xad, 0xab, 0xad, 0x6d, + 0xad, 0x6b, 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6b, + 0xa5, 0x29, 0x9c, 0xe7, 0xa5, 0x29, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa3, 0x8c, 0x63, + 0x84, 0x61, 0x84, 0x61, 0x8c, 0x63, 0x8c, 0x63, + 0x94, 0xa5, 0x94, 0xa5, 0x9c, 0xe7, 0x9c, 0xe7, + 0x9c, 0xe7, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0xad, 0x6d, 0xa5, 0x29, + 0xad, 0x6b, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0x9c, 0xe7, 0x9c, 0xe7, 0x94, 0xa5, + 0x94, 0xa3, 0x8c, 0x63, 0x84, 0x61, 0x8c, 0x63, + 0x84, 0x1f, 0x84, 0x61, 0x94, 0x63, 0x94, 0x63, + 0x94, 0x63, 0x94, 0xa3, 0x94, 0xa3, 0x94, 0xa3, + 0x9c, 0xe5, 0x9c, 0xe5, 0x9c, 0xe7, 0x9c, 0xe7, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, 0xa5, 0x29, + 0xa5, 0x29, 0x9c, 0xe7, 0x9c, 0xe7, 0xa5, 0x29, + 0x9c, 0xe5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa3, + 0x8c, 0x63, 0x8c, 0x63, 0x84, 0x1f, 0x84, 0x61, + 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x61, 0x84, 0x61, + 0x8c, 0x63, 0x8c, 0x63, 0x94, 0xa3, 0x94, 0xa5, + 0x94, 0xa5, 0x9c, 0xe5, 0x9c, 0xe7, 0x94, 0xa5, + 0x9c, 0xe7, 0x9c, 0xe7, 0x9c, 0xe5, 0x9c, 0xe5, + 0x9c, 0xe7, 0xa5, 0x29, 0x9c, 0xe7, 0x9c, 0xe7, + 0x9c, 0xe7, 0x9c, 0xe5, 0x9c, 0xe7, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x8c, 0x63, 0x8c, 0x63, + 0x8c, 0x63, 0x8c, 0x63, 0x84, 0x1f, 0x84, 0x1f, + 0x7b, 0xdf, 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x1f, + 0x84, 0x61, 0x8c, 0x63, 0x84, 0x61, 0x8c, 0x63, + 0x94, 0xa3, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x9c, 0xe5, 0x9c, 0xe5, 0x9c, 0xe5, 0xa5, 0x29, + 0x9c, 0xe5, 0x9c, 0xe7, 0x9c, 0xe5, 0x9c, 0xe5, + 0x94, 0xa5, 0x9c, 0xe5, 0x94, 0xa3, 0x94, 0xa3, + 0x94, 0x63, 0x8c, 0x63, 0x8c, 0x63, 0x84, 0x61, + 0x84, 0x61, 0x8c, 0x21, 0x84, 0x1f, 0x7b, 0xdf, + 0x73, 0xdd, 0x7b, 0xdf, 0x84, 0x1f, 0x7b, 0xe1, + 0x8c, 0x63, 0x84, 0x61, 0x8c, 0x63, 0x8c, 0x63, + 0x94, 0xa3, 0x94, 0xa3, 0x94, 0xa3, 0x94, 0xa3, + 0x8c, 0x63, 0x94, 0xa5, 0x94, 0xa3, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa3, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x8c, 0x63, 0x8c, 0x63, 0x84, 0x61, + 0x84, 0x61, 0x84, 0x61, 0x8c, 0x63, 0x84, 0x61, + 0x84, 0x21, 0x84, 0x21, 0x7b, 0xe1, 0x7b, 0xdf, + 0x6b, 0x9d, 0x73, 0xdd, 0x7b, 0x9d, 0x7b, 0xdf, + 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x61, + 0x8c, 0x63, 0x8c, 0x21, 0x94, 0xa3, 0x8c, 0x63, + 0x8c, 0x63, 0x8c, 0x63, 0x8c, 0x63, 0x8c, 0x63, + 0x94, 0xa5, 0x8c, 0x63, 0x8c, 0x63, 0x8c, 0x63, + 0x8c, 0x63, 0x8c, 0x63, 0x8c, 0x63, 0x8c, 0x63, + 0x84, 0x61, 0x84, 0x61, 0x84, 0x61, 0x84, 0x21, + 0x84, 0x1f, 0x7b, 0xdf, 0x7b, 0x9d, 0x7b, 0xe1, + 0x6b, 0x9b, 0x73, 0x9d, 0x73, 0x9d, 0x73, 0xdd, + 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, 0x84, 0x1f, + 0x84, 0x21, 0x84, 0x1f, 0x84, 0x61, 0x84, 0x61, + 0x84, 0x61, 0x8c, 0x63, 0x84, 0x61, 0x8c, 0x63, + 0x84, 0x61, 0x94, 0x63, 0x94, 0xa3, 0x8c, 0x63, + 0x8c, 0x21, 0x84, 0x61, 0x8c, 0x21, 0x84, 0x1f, + 0x84, 0x61, 0x84, 0x1f, 0x84, 0x1f, 0x7b, 0xdf, + 0x73, 0xdd, 0x73, 0xdd, 0x73, 0x9d, 0x7b, 0x9d, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x9d, 0x73, 0xdd, + 0x73, 0x9d, 0x73, 0xdd, 0x7b, 0xdf, 0x7b, 0xe1, + 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x1f, 0x84, 0x1f, + 0x84, 0x21, 0x8c, 0x63, 0x84, 0x61, 0x84, 0x61, + 0x84, 0x21, 0x84, 0x61, 0x84, 0x1f, 0x84, 0x21, + 0x8c, 0x63, 0x84, 0x21, 0x84, 0x1f, 0x84, 0x21, + 0x84, 0x21, 0x7b, 0xdf, 0x7b, 0xdf, 0x73, 0xdd, + 0x6b, 0x9b, 0x73, 0xdd, 0x6b, 0x9b, 0x6b, 0x5b, + 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x9d, + 0x73, 0x9d, 0x73, 0x9d, 0x73, 0x9d, 0x7b, 0xdf, + 0x7b, 0xe1, 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, + 0x7b, 0xe1, 0x84, 0x1f, 0x84, 0x1f, 0x7b, 0xdf, + 0x84, 0x21, 0x84, 0x1f, 0x7b, 0xe1, 0x7b, 0xe1, + 0x84, 0x1f, 0x84, 0x21, 0x7b, 0xdf, 0x7b, 0xdf, + 0x7b, 0xdf, 0x73, 0xdd, 0x73, 0x9d, 0x6b, 0x9b, + 0x6b, 0x9b, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x5b, 0x17, 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x73, 0x9d, 0x73, 0x9d, + 0x73, 0xdd, 0x73, 0x9d, 0x73, 0xdd, 0x73, 0xdd, + 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, + 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, 0x84, 0x1f, + 0x73, 0xdd, 0x7b, 0xdf, 0x7b, 0x9d, 0x73, 0x9d, + 0x6b, 0x9b, 0x73, 0x9d, 0x73, 0xdd, 0x6b, 0x9b, + 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, 0x63, 0x59, + 0x63, 0x19, 0x63, 0x59, 0x63, 0x19, 0x63, 0x19, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x9b, 0x6b, 0x9b, + 0x6b, 0x5b, 0x73, 0x9d, 0x6b, 0x9d, 0x6b, 0x9d, + 0x73, 0x9d, 0x6b, 0x9b, 0x6b, 0x9b, 0x73, 0x9d, + 0x73, 0x9d, 0x73, 0x9d, 0x73, 0xdd, 0x7b, 0x9d, + 0x73, 0x9d, 0x73, 0x9d, 0x73, 0x9d, 0x6b, 0x5b, + 0x73, 0x9d, 0x6b, 0x9b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x63, 0x59, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd5, 0x5b, 0x17, 0x5b, 0x17, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x59, 0x63, 0x59, + 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x9b, 0x6b, 0x9d, + 0x73, 0x9d, 0x6b, 0x9b, 0x6b, 0x9b, 0x6b, 0x9d, + 0x6b, 0x9b, 0x6b, 0x9b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x63, 0x59, 0x6b, 0x5b, 0x63, 0x19, + 0x5b, 0x17, 0x5b, 0x17, 0x63, 0x19, 0x5a, 0xd5, + 0x52, 0x95, 0x5a, 0xd5, 0x5b, 0x17, 0x5a, 0xd7, + 0x5b, 0x17, 0x5b, 0x17, 0x63, 0x19, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x59, 0x63, 0x59, 0x63, 0x59, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x63, 0x59, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5b, 0x17, 0x63, 0x19, 0x5a, 0xd5, 0x5a, 0xd5, + 0x52, 0x95, 0x4a, 0x95, 0x5a, 0xd7, 0x5a, 0xd5, + 0x5a, 0xd5, 0x5a, 0xd7, 0x63, 0x19, 0x5b, 0x17, + 0x63, 0x19, 0x5b, 0x17, 0x63, 0x19, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x59, 0x63, 0x59, 0x63, 0x59, + 0x63, 0x59, 0x63, 0x19, 0x63, 0x59, 0x63, 0x19, + 0x63, 0x59, 0x63, 0x19, 0x63, 0x19, 0x5b, 0x17, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd5, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x4a, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd5, 0x5a, 0xd5, + 0x5b, 0x17, 0x5b, 0x17, 0x5a, 0xd5, 0x5b, 0x17, + 0x5b, 0x17, 0x63, 0x19, 0x5b, 0x17, 0x5b, 0x17, + 0x5b, 0x17, 0x63, 0x19, 0x63, 0x19, 0x63, 0x59, + 0x63, 0x19, 0x5b, 0x17, 0x5b, 0x17, 0x5a, 0xd5, + 0x5a, 0xd5, 0x5a, 0xd5, 0x5a, 0xd5, 0x5a, 0xd7, + 0x4a, 0x95, 0x52, 0x95, 0x4a, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd5, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd5, 0x5b, 0x17, + 0x5a, 0xd5, 0x5a, 0xd5, 0x5a, 0xd5, 0x5a, 0xd5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd5, 0x5a, 0xd5, + 0x5b, 0x17, 0x5a, 0xd7, 0x5a, 0xd5, 0x5a, 0xd5, + 0x5a, 0xd5, 0x5a, 0xd5, 0x52, 0x95, 0x5a, 0xd5, + 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, 0x4a, 0x53, }; -Gfx ship1_spag1_rgba32_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_spag1_rgba32[] = { - 0xcd, 0x82, 0x27, 0xff, 0xb5, 0x55, 0x0b, 0xff, - 0xb5, 0x5d, 0x13, 0xff, 0xcd, 0x96, 0x32, 0xff, - 0xe4, 0xb9, 0x53, 0xff, 0xe4, 0xd1, 0x8d, 0xff, - 0x7f, 0x1d, 0x00, 0xff, 0xac, 0x60, 0x0a, 0xff, - 0xe8, 0xc7, 0x60, 0xff, 0xe9, 0xd2, 0x86, 0xff, - 0xea, 0xca, 0x7f, 0xff, 0xe7, 0xb3, 0x4e, 0xff, - 0xf1, 0xd6, 0x89, 0xff, 0xe8, 0xc6, 0x65, 0xff, - 0xb7, 0x5c, 0x03, 0xff, 0xef, 0xb8, 0x5e, 0xff, - 0xea, 0xd0, 0x86, 0xff, 0xe4, 0xb6, 0x46, 0xff, - 0x8b, 0x43, 0x00, 0xff, 0xe2, 0xc8, 0x71, 0xff, - 0xc0, 0x6a, 0x13, 0xff, 0xd0, 0x9f, 0x43, 0xff, - 0xca, 0x7b, 0x1e, 0xff, 0xf2, 0xd5, 0x89, 0xff, - 0xe9, 0xca, 0x70, 0xff, 0xdd, 0xa6, 0x3f, 0xff, - 0xbc, 0x67, 0x17, 0xff, 0xa6, 0x39, 0x00, 0xff, - 0xac, 0x49, 0x05, 0xff, 0xea, 0xd4, 0x89, 0xff, - 0xcf, 0x8b, 0x28, 0xff, 0xd5, 0xa7, 0x4f, 0xff, - 0xed, 0xd2, 0x85, 0xff, 0xed, 0xc4, 0x6a, 0xff, - 0xb7, 0x5a, 0x0c, 0xff, 0x7e, 0x10, 0x00, 0xff, - 0xed, 0xd4, 0x92, 0xff, 0xd4, 0x95, 0x34, 0xff, - 0xd5, 0xa5, 0x43, 0xff, 0xe3, 0xc7, 0x7d, 0xff, - 0xe0, 0xab, 0x45, 0xff, 0xec, 0xd5, 0x91, 0xff, - 0xe9, 0xbc, 0x67, 0xff, 0xaf, 0x48, 0x00, 0xff, - 0xda, 0x93, 0x37, 0xff, 0xf2, 0xdf, 0x9b, 0xff, - 0xe0, 0xbd, 0x6b, 0xff, 0xc2, 0x63, 0x0f, 0xff, - 0xae, 0x41, 0x06, 0xff, 0xcd, 0x8c, 0x32, 0xff, - 0xcd, 0x82, 0x1c, 0xff, 0xba, 0x60, 0x08, 0xff, - 0xbb, 0x62, 0x06, 0xff, 0xc5, 0x89, 0x17, 0xff, - 0xe6, 0xad, 0x3a, 0xff, 0xe7, 0xb5, 0x44, 0xff, - 0xe2, 0xb7, 0x44, 0xff, 0xdf, 0xba, 0x48, 0xff, - 0xdd, 0xb8, 0x45, 0xff, 0xe4, 0xb4, 0x45, 0xff, - 0xe1, 0xaa, 0x43, 0xff, 0xdc, 0x8e, 0x29, 0xff, - 0x8b, 0x1e, 0x00, 0xff, 0xda, 0xa0, 0x3d, 0xff, - 0xd8, 0xa2, 0x3e, 0xff, 0xcd, 0x8a, 0x2f, 0xff, - 0xc5, 0x84, 0x26, 0xff, 0xcb, 0x87, 0x1a, 0xff, - 0x80, 0x0c, 0x00, 0xff, 0xe7, 0xbe, 0x54, 0xff, - 0xea, 0xd0, 0x85, 0xff, 0x9e, 0x4e, 0x09, 0xff, - 0xc6, 0x83, 0x2a, 0xff, 0xd8, 0xa8, 0x3c, 0xff, - 0xe9, 0xb8, 0x42, 0xff, 0xed, 0xd8, 0x87, 0xff, - 0xed, 0xcb, 0x72, 0xff, 0xd8, 0x9c, 0x2a, 0xff, - 0xdc, 0xa5, 0x3e, 0xff, 0xda, 0xa5, 0x3d, 0xff, - 0xe0, 0x9c, 0x2f, 0xff, 0xb7, 0x4b, 0x1d, 0xff, - 0xa4, 0x49, 0x00, 0xff, 0xe8, 0xc6, 0x6f, 0xff, - 0xc6, 0x80, 0x2a, 0xff, 0xdc, 0xb6, 0x63, 0xff, - 0xd9, 0xa0, 0x35, 0xff, 0xef, 0xdb, 0x96, 0xff, - 0xe6, 0xbd, 0x63, 0xff, 0xe1, 0xbc, 0x54, 0xff, - 0xea, 0xc0, 0x6e, 0xff, 0xb6, 0x60, 0x13, 0xff, - 0xc8, 0x7f, 0x30, 0xff, 0xea, 0xd4, 0x88, 0xff, - 0xc9, 0x7f, 0x1e, 0xff, 0xd9, 0xaf, 0x5b, 0xff, - 0xe9, 0xca, 0x6f, 0xff, 0xee, 0xd1, 0x81, 0xff, - 0xd9, 0x9a, 0x33, 0xff, 0xe4, 0xc0, 0x68, 0xff, - 0xea, 0xd0, 0x85, 0xff, 0xd7, 0x8d, 0x20, 0xff, - 0xcf, 0x6d, 0x22, 0xff, 0xe7, 0xc7, 0x64, 0xff, - 0xe4, 0xc6, 0x7e, 0xff, 0xe9, 0xd0, 0x80, 0xff, - 0xf2, 0xce, 0x80, 0xff, 0xcc, 0x7d, 0x1e, 0xff, - 0xcf, 0x7f, 0x1c, 0xff, 0xe7, 0xcf, 0x87, 0xff, - 0xea, 0xca, 0x73, 0xff, 0xd9, 0xb2, 0x67, 0xff, - 0xde, 0xb6, 0x5e, 0xff, 0xd5, 0xa1, 0x3e, 0xff, - 0xc8, 0x80, 0x1e, 0xff, 0xbd, 0x65, 0x0e, 0xff, - 0xcf, 0x9b, 0x48, 0xff, 0xca, 0x90, 0x2d, 0xff, - 0xc4, 0x81, 0x18, 0xff, 0xf0, 0xd0, 0x79, 0xff, - 0xbf, 0x7c, 0x23, 0xff, 0x85, 0x06, 0x00, 0xff, - 0xa7, 0x3a, 0x02, 0xff, 0xe9, 0xb5, 0x61, 0xff, - 0xdd, 0xba, 0x68, 0xff, 0xd7, 0xb4, 0x60, 0xff, - 0xd3, 0xa1, 0x48, 0xff, 0xd1, 0x97, 0x36, 0xff, - 0xe0, 0xb0, 0x4e, 0xff, 0xcd, 0x8c, 0x28, 0xff, - 0xd6, 0xae, 0x57, 0xff, 0xdf, 0xab, 0x55, 0xff, - 0xd9, 0x97, 0x40, 0xff, 0xca, 0x91, 0x3a, 0xff, - 0xea, 0xc9, 0x6c, 0xff, 0xe3, 0xc8, 0x7b, 0xff, - 0xc8, 0x73, 0x19, 0xff, 0xdb, 0xb5, 0x6a, 0xff, - 0xf4, 0xd5, 0x82, 0xff, 0xea, 0xc8, 0x64, 0xff, - 0xe4, 0xa7, 0x32, 0xff, 0xd9, 0xae, 0x52, 0xff, - 0xdf, 0xbf, 0x6a, 0xff, 0xe3, 0xc8, 0x77, 0xff, - 0xe3, 0xcf, 0x88, 0xff, 0xe1, 0xbc, 0x61, 0xff, - 0xc7, 0x88, 0x1e, 0xff, 0xe7, 0xc7, 0x7a, 0xff, - 0xc7, 0x7d, 0x28, 0xff, 0xe4, 0xc1, 0x70, 0xff, - 0xda, 0xb0, 0x44, 0xff, 0xec, 0xd1, 0x82, 0xff, - 0xb3, 0x72, 0x14, 0xff, 0xdc, 0xa2, 0x4e, 0xff, - 0xe9, 0xd8, 0x92, 0xff, 0xc0, 0x77, 0x19, 0xff, - 0xde, 0xb0, 0x58, 0xff, 0xea, 0xd4, 0x88, 0xff, - 0xc1, 0x74, 0x18, 0xff, 0xdd, 0xb4, 0x58, 0xff, - 0xe2, 0xbe, 0x5d, 0xff, 0xe4, 0xd0, 0x87, 0xff, - 0xd8, 0x9a, 0x35, 0xff, 0xea, 0xc4, 0x71, 0xff, - 0xed, 0xd0, 0x80, 0xff, 0xd6, 0x9e, 0x47, 0xff, - 0xdc, 0xbe, 0x76, 0xff, 0xe0, 0xbe, 0x74, 0xff, - 0xe4, 0xb6, 0x47, 0xff, 0xeb, 0xd3, 0x7d, 0xff, - 0xf4, 0xd7, 0x87, 0xff, 0xca, 0x80, 0x1f, 0xff, - 0xc5, 0x6b, 0x0b, 0xff, 0xee, 0xd2, 0x88, 0xff, - 0xe8, 0xd3, 0x82, 0xff, 0xc8, 0x7e, 0x13, 0xff, - 0xd9, 0xa3, 0x37, 0xff, 0xde, 0xb0, 0x50, 0xff, - 0xda, 0xb1, 0x59, 0xff, 0xd8, 0xac, 0x4d, 0xff, - 0xd0, 0x95, 0x2d, 0xff, 0x94, 0x34, 0x00, 0xff, - 0xc8, 0x8b, 0x3b, 0xff, 0xe7, 0xd2, 0x83, 0xff, - 0xd6, 0x8e, 0x3c, 0xff, 0xe8, 0xba, 0x6c, 0xff, - 0xe8, 0xd1, 0x8d, 0xff, 0xe1, 0xc3, 0x69, 0xff, - 0xe0, 0xad, 0x40, 0xff, 0xc4, 0x75, 0x18, 0xff, - 0xba, 0x66, 0x0c, 0xff, 0xcc, 0x80, 0x20, 0xff, - 0xe4, 0xc0, 0x60, 0xff, 0xdc, 0xc4, 0x7c, 0xff, - 0xdc, 0xab, 0x4c, 0xff, 0xd8, 0xa5, 0x3a, 0xff, - 0xdb, 0xb5, 0x62, 0xff, 0xe1, 0xc0, 0x71, 0xff, - 0xec, 0xc6, 0x75, 0xff, 0xe6, 0xcd, 0x7d, 0xff, - 0xe7, 0xa0, 0x50, 0xff, 0xf1, 0xd1, 0x86, 0xff, - 0xef, 0xcd, 0x74, 0xff, 0xdf, 0xa0, 0x2e, 0xff, - 0xca, 0x84, 0x22, 0xff, 0xc5, 0x71, 0x0f, 0xff, - 0xa7, 0x45, 0x04, 0xff, 0xb8, 0x5b, 0x0e, 0xff, - 0xd9, 0x9b, 0x2c, 0xff, 0xde, 0xab, 0x40, 0xff, - 0xdc, 0xa3, 0x3a, 0xff, 0xea, 0xce, 0x85, 0xff, - 0xd1, 0x8c, 0x24, 0xff, 0xe4, 0xc7, 0x77, 0xff, - 0xe9, 0xb5, 0x4f, 0xff, 0xeb, 0xcb, 0x74, 0xff, - 0xcf, 0x83, 0x23, 0xff, 0xc5, 0x70, 0x15, 0xff, - 0xe9, 0xd6, 0x91, 0xff, 0xed, 0xca, 0x78, 0xff, - 0xdc, 0x99, 0x31, 0xff, 0xe5, 0xd0, 0x81, 0xff, - 0xa8, 0x55, 0x07, 0xff, 0xd7, 0xa3, 0x3e, 0xff, - 0xe5, 0xbd, 0x65, 0xff, 0xf3, 0xde, 0x9f, 0xff, - 0xb8, 0x5e, 0x12, 0xff, 0xf0, 0xbe, 0x69, 0xff, - 0xed, 0xd3, 0x86, 0xff, 0xd1, 0x5f, 0x06, 0xff, - 0xe7, 0xbe, 0x6c, 0xff, 0xdf, 0xb0, 0x3a, 0xff, - 0xdd, 0xb0, 0x55, 0xff, 0xeb, 0xd5, 0x82, 0xff, - 0xec, 0xd6, 0x83, 0xff, 0xd9, 0x9f, 0x3e, 0xff, - 0xd2, 0x82, 0x21, 0xff, 0xec, 0xcf, 0x7f, 0xff, - 0xe5, 0xcf, 0x7c, 0xff, 0xcd, 0x92, 0x34, 0xff, - 0xac, 0x45, 0x00, 0xff, 0xcb, 0x78, 0x1c, 0xff, - 0xac, 0x4b, 0x00, 0xff, 0xc1, 0x6a, 0x0d, 0xff, - 0xbd, 0x5b, 0x14, 0xff, 0x85, 0x06, 0x00, 0xff, - 0xbe, 0x7f, 0x2f, 0xff, 0xec, 0xd6, 0x8b, 0xff, - 0xe3, 0xb0, 0x47, 0xff, 0xe6, 0xc2, 0x78, 0xff, - 0xec, 0xb3, 0x4c, 0xff, 0x83, 0x09, 0x06, 0xff, - 0xc6, 0x79, 0x21, 0xff, 0xc1, 0x64, 0x14, 0xff, - 0xaf, 0x49, 0x0b, 0xff, 0xce, 0x89, 0x2a, 0xff, - 0xe7, 0xb0, 0x4c, 0xff, 0xd5, 0xad, 0x4b, 0xff, - 0xe9, 0xce, 0x87, 0xff, 0xea, 0xcd, 0x7f, 0xff, - 0xde, 0xb2, 0x4f, 0xff, 0xdf, 0x99, 0x2a, 0xff, - 0xda, 0x9a, 0x30, 0xff, 0xe6, 0xc6, 0x6f, 0xff, - 0xee, 0xcd, 0x70, 0xff, 0xe9, 0xd2, 0x84, 0xff, - 0xe4, 0xa2, 0x27, 0xff, 0xd7, 0x98, 0x37, 0xff, - 0x85, 0x26, 0x00, 0xff, 0xab, 0x4e, 0x09, 0xff, - 0xac, 0x49, 0x06, 0xff, 0xc3, 0x79, 0x24, 0xff, - 0xc5, 0x61, 0x15, 0xff, 0xc9, 0x7a, 0x2d, 0xff, - 0xca, 0x89, 0x25, 0xff, 0xef, 0xd5, 0x8b, 0xff, - 0xd1, 0x8a, 0x22, 0xff, 0xe9, 0xce, 0x77, 0xff, - 0xe7, 0xb9, 0x59, 0xff, 0xeb, 0xcf, 0x85, 0xff, - 0xcc, 0x83, 0x25, 0xff, 0xd0, 0x82, 0x20, 0xff, - 0xe3, 0xc9, 0x68, 0xff, 0xf2, 0xd9, 0x97, 0xff, - 0xbe, 0x70, 0x0b, 0xff, 0xe1, 0xbe, 0x6c, 0xff, - 0xed, 0xa3, 0x5c, 0xff, 0x90, 0x2f, 0x00, 0xff, - 0xe5, 0xc1, 0x73, 0xff, 0xf2, 0xde, 0x9f, 0xff, - 0xf2, 0xbd, 0x6f, 0xff, 0xb0, 0x6d, 0x14, 0xff, - 0xef, 0xd3, 0x89, 0xff, 0xda, 0x90, 0x2d, 0xff, - 0xd9, 0xb0, 0x54, 0xff, 0xbb, 0x5c, 0x02, 0xff, - 0xd2, 0x92, 0x30, 0xff, 0xea, 0xd3, 0x85, 0xff, - 0xed, 0xd1, 0x7d, 0xff, 0xd8, 0x95, 0x2a, 0xff, - 0xd9, 0xa7, 0x50, 0xff, 0xef, 0xd2, 0x8c, 0xff, - 0xea, 0xcb, 0x71, 0xff, 0xd2, 0x9e, 0x3b, 0xff, - 0xc8, 0x6a, 0x10, 0xff, 0xd3, 0x92, 0x3e, 0xff, - 0xa6, 0x49, 0x0e, 0xff, 0xc7, 0x8f, 0x3a, 0xff, - 0xb4, 0x57, 0x0a, 0xff, 0xc3, 0x77, 0x29, 0xff, - 0xed, 0xc5, 0x66, 0xff, 0xea, 0xd7, 0x88, 0xff, - 0xe5, 0xb5, 0x53, 0xff, 0xd6, 0xa1, 0x3b, 0xff, - 0x97, 0x2c, 0x00, 0xff, 0xb3, 0x53, 0x06, 0xff, - 0xd0, 0x8b, 0x30, 0xff, 0xd2, 0x98, 0x44, 0xff, - 0xae, 0x55, 0x05, 0xff, 0xe0, 0xb8, 0x59, 0xff, - 0xda, 0xa8, 0x53, 0xff, 0xc3, 0x6f, 0x15, 0xff, - 0xca, 0x81, 0x1a, 0xff, 0xe0, 0xba, 0x4b, 0xff, - 0xe3, 0xc3, 0x6c, 0xff, 0xe8, 0xc7, 0x7a, 0xff, - 0xde, 0xba, 0x66, 0xff, 0xe7, 0xc3, 0x63, 0xff, - 0xf4, 0xdc, 0x92, 0xff, 0xe6, 0xb2, 0x42, 0xff, - 0xda, 0x92, 0x23, 0xff, 0xdf, 0xba, 0x69, 0xff, - 0xb4, 0x66, 0x14, 0xff, 0xb4, 0x62, 0x19, 0xff, - 0xb8, 0x5f, 0x0f, 0xff, 0xc2, 0x8b, 0x2e, 0xff, - 0x9b, 0x49, 0x11, 0xff, 0xb1, 0x53, 0x0d, 0xff, - 0xc6, 0x84, 0x23, 0xff, 0xee, 0xd9, 0x9a, 0xff, - 0xc5, 0x6e, 0x05, 0xff, 0xeb, 0xcb, 0x80, 0xff, - 0xec, 0xc3, 0x6b, 0xff, 0xe9, 0xcf, 0x82, 0xff, - 0xe7, 0xbe, 0x66, 0xff, 0xd0, 0x7b, 0x20, 0xff, - 0xdf, 0xbb, 0x67, 0xff, 0xe9, 0xcc, 0x6e, 0xff, - 0xea, 0xcf, 0x82, 0xff, 0xe3, 0xbc, 0x55, 0xff, - 0xde, 0xa5, 0x3e, 0xff, 0xb7, 0x58, 0x08, 0xff, - 0xd6, 0xba, 0x71, 0xff, 0xef, 0xd6, 0x84, 0xff, - 0xf0, 0xd3, 0x83, 0xff, 0xda, 0x9a, 0x30, 0xff, - 0xee, 0xd7, 0x94, 0xff, 0xd0, 0x99, 0x34, 0xff, - 0xcb, 0x86, 0x21, 0xff, 0xb7, 0x57, 0x0a, 0xff, - 0xdb, 0xaf, 0x58, 0xff, 0xe9, 0xd6, 0x89, 0xff, - 0xeb, 0xcb, 0x74, 0xff, 0xbf, 0x66, 0x0c, 0xff, - 0xd5, 0x84, 0x18, 0xff, 0xf4, 0xdd, 0x9a, 0xff, - 0xec, 0xc6, 0x75, 0xff, 0xdf, 0xb7, 0x60, 0xff, - 0xe6, 0xca, 0x8b, 0xff, 0xe8, 0xc8, 0x71, 0xff, - 0xe6, 0xb3, 0x58, 0xff, 0xc8, 0x93, 0x33, 0xff, - 0x9d, 0x50, 0x00, 0xff, 0xc7, 0x89, 0x24, 0xff, - 0xe8, 0xc7, 0x66, 0xff, 0xec, 0xd9, 0x8c, 0xff, - 0xdf, 0xac, 0x51, 0xff, 0xcb, 0x7d, 0x19, 0xff, - 0xbc, 0x70, 0x18, 0xff, 0xbe, 0x72, 0x1e, 0xff, - 0xc9, 0x7d, 0x25, 0xff, 0xd3, 0xac, 0x4f, 0xff, - 0xe2, 0xbe, 0x68, 0xff, 0xdf, 0xb5, 0x51, 0xff, - 0xd6, 0xb0, 0x4f, 0xff, 0xe2, 0xb5, 0x60, 0xff, - 0xd9, 0xad, 0x4c, 0xff, 0xd9, 0x9c, 0x31, 0xff, - 0xd2, 0x8c, 0x2c, 0xff, 0xde, 0xa2, 0x30, 0xff, - 0xdf, 0xb4, 0x4b, 0xff, 0xec, 0xd8, 0x91, 0xff, - 0xec, 0xbe, 0x4f, 0xff, 0xc9, 0x7a, 0x1e, 0xff, - 0xe5, 0xa4, 0x40, 0xff, 0xe5, 0xcc, 0x7c, 0xff, - 0xc4, 0x79, 0x1c, 0xff, 0xac, 0x5c, 0x05, 0xff, - 0xc4, 0x7e, 0x28, 0xff, 0xc2, 0x85, 0x28, 0xff, - 0x9b, 0x4f, 0x00, 0xff, 0xd5, 0xa2, 0x49, 0xff, - 0xe3, 0xbc, 0x5d, 0xff, 0xf8, 0xe0, 0xa2, 0xff, - 0xd8, 0x8b, 0x1f, 0xff, 0xeb, 0xd7, 0x92, 0xff, - 0xeb, 0xb8, 0x5d, 0xff, 0xe6, 0xba, 0x61, 0xff, - 0xe9, 0xcf, 0x82, 0xff, 0xec, 0xa1, 0x44, 0xff, - 0xd9, 0xb5, 0x5f, 0xff, 0xcd, 0x89, 0x24, 0xff, - 0xe6, 0xc5, 0x5c, 0xff, 0xea, 0xcd, 0x7f, 0xff, - 0xe7, 0xd1, 0x88, 0xff, 0xe1, 0xca, 0x7c, 0xff, - 0xe2, 0xc4, 0x6e, 0xff, 0xe9, 0xcb, 0x73, 0xff, - 0xed, 0xd5, 0x8b, 0xff, 0xdd, 0x99, 0x2a, 0xff, - 0xf1, 0xda, 0x97, 0xff, 0xea, 0xbb, 0x61, 0xff, - 0xb7, 0x61, 0x0a, 0xff, 0xa8, 0x40, 0x09, 0xff, - 0xd6, 0xad, 0x53, 0xff, 0xe5, 0xd3, 0x8b, 0xff, - 0xea, 0xbf, 0x60, 0xff, 0xdc, 0xaa, 0x4b, 0xff, - 0xa9, 0x3f, 0x03, 0xff, 0xef, 0xdb, 0x9c, 0xff, - 0xeb, 0xbe, 0x63, 0xff, 0xbf, 0x65, 0x19, 0xff, - 0xe1, 0xb2, 0x3c, 0xff, 0xe2, 0xc0, 0x5c, 0xff, - 0xe4, 0xc1, 0x65, 0xff, 0xdf, 0xbc, 0x68, 0xff, - 0xe6, 0xc6, 0x73, 0xff, 0xe8, 0xc9, 0x77, 0xff, - 0xe4, 0xbe, 0x5b, 0xff, 0xea, 0xd6, 0x8d, 0xff, - 0xe5, 0xb4, 0x58, 0xff, 0xcf, 0x86, 0x1d, 0xff, - 0xdb, 0xbb, 0x66, 0xff, 0xa6, 0x43, 0x02, 0xff, - 0xd3, 0xa3, 0x4e, 0xff, 0xd8, 0x9b, 0x40, 0xff, - 0xe7, 0xc9, 0x81, 0xff, 0xce, 0x9e, 0x30, 0xff, - 0xd6, 0x97, 0x2d, 0xff, 0xdd, 0xc2, 0x69, 0xff, - 0xe8, 0xd1, 0x8e, 0xff, 0xef, 0xc6, 0x6a, 0xff, - 0xce, 0x8e, 0x24, 0xff, 0xdf, 0x9d, 0x3c, 0xff, - 0xf0, 0xd3, 0x87, 0xff, 0xe9, 0xcd, 0x6a, 0xff, - 0xdd, 0x9c, 0x34, 0xff, 0xd1, 0xa0, 0x44, 0xff, - 0xe7, 0xb5, 0x52, 0xff, 0xe9, 0xd4, 0x95, 0xff, - 0xc7, 0x88, 0x39, 0xff, 0xca, 0x91, 0x38, 0xff, - 0xd1, 0xa5, 0x4e, 0xff, 0xd4, 0xac, 0x57, 0xff, - 0xd8, 0xb4, 0x6a, 0xff, 0xd9, 0xb0, 0x58, 0xff, - 0xea, 0xca, 0x81, 0xff, 0xf3, 0xdc, 0x99, 0xff, - 0xf7, 0xb5, 0x45, 0xff, 0xe9, 0xdb, 0x9e, 0xff, - 0xc7, 0x75, 0x2b, 0xff, 0xe0, 0x95, 0x42, 0xff, - 0xe8, 0xd5, 0x91, 0xff, 0xdf, 0xbc, 0x60, 0xff, - 0xe4, 0xbc, 0x64, 0xff, 0xb5, 0x76, 0x19, 0xff, - 0xd1, 0xac, 0x66, 0xff, 0xe2, 0xad, 0x3b, 0xff, - 0xe3, 0xba, 0x3e, 0xff, 0xe4, 0xbc, 0x4d, 0xff, - 0xe0, 0xb6, 0x52, 0xff, 0xe5, 0xbe, 0x59, 0xff, - 0xe8, 0xd1, 0x83, 0xff, 0xde, 0x8b, 0x15, 0xff, - 0xf3, 0xd8, 0x91, 0xff, 0xee, 0xcb, 0x77, 0xff, - 0xa6, 0x4e, 0x04, 0xff, 0x8c, 0x2b, 0x00, 0xff, - 0xd6, 0xa5, 0x3f, 0xff, 0xee, 0xd8, 0x8f, 0xff, - 0xdb, 0xa2, 0x2f, 0xff, 0xe9, 0xc8, 0x81, 0xff, - 0xde, 0xa7, 0x43, 0xff, 0xf2, 0xdc, 0xa0, 0xff, - 0xea, 0xc1, 0x69, 0xff, 0xce, 0x99, 0x33, 0xff, - 0xe9, 0xc5, 0x6d, 0xff, 0xed, 0xd6, 0x8a, 0xff, - 0xea, 0xd4, 0x89, 0xff, 0xe9, 0xcf, 0x7b, 0xff, - 0xe4, 0xbe, 0x59, 0xff, 0xe2, 0xa6, 0x2e, 0xff, - 0xc8, 0x75, 0x0f, 0xff, 0xf0, 0xd9, 0x96, 0xff, - 0xe8, 0xb7, 0x5b, 0xff, 0xba, 0x58, 0x00, 0xff, - 0xe1, 0xc7, 0x7a, 0xff, 0xe4, 0xac, 0x62, 0xff, - 0xc2, 0x7f, 0x30, 0xff, 0xde, 0xb9, 0x69, 0xff, - 0xe9, 0xc8, 0x79, 0xff, 0xd7, 0x9b, 0x2b, 0xff, - 0xaf, 0x4e, 0x07, 0xff, 0x85, 0x0b, 0x00, 0xff, - 0xed, 0xb8, 0x50, 0xff, 0xe2, 0xca, 0x6a, 0xff, - 0xea, 0xcd, 0x81, 0xff, 0xf9, 0xcf, 0x85, 0xff, - 0xe9, 0xd2, 0x86, 0xff, 0xe8, 0xa2, 0x43, 0xff, - 0xdc, 0xa6, 0x46, 0xff, 0xe6, 0xc0, 0x6d, 0xff, - 0xe7, 0xba, 0x69, 0xff, 0xec, 0xd5, 0x91, 0xff, - 0xdb, 0xae, 0x5b, 0xff, 0x84, 0x30, 0x00, 0xff, - 0x8a, 0x26, 0x00, 0xff, 0xb9, 0x69, 0x0a, 0xff, - 0xa5, 0x48, 0x00, 0xff, 0xea, 0xc0, 0x6c, 0xff, - 0xe3, 0xbf, 0x5e, 0xff, 0xed, 0xdb, 0x89, 0xff, - 0xf1, 0xce, 0x70, 0xff, 0xe4, 0xcc, 0x84, 0xff, - 0xc8, 0x75, 0x19, 0xff, 0xc9, 0x64, 0x12, 0xff, - 0xf3, 0xd7, 0xa5, 0xff, 0xe7, 0xb5, 0x46, 0xff, - 0xf7, 0xe3, 0xa8, 0xff, 0xf1, 0xaf, 0x61, 0xff, - 0x93, 0x2e, 0x00, 0xff, 0xe1, 0xb6, 0x5a, 0xff, - 0xe4, 0xc1, 0x6d, 0xff, 0xcd, 0x64, 0x22, 0xff, - 0xd6, 0x93, 0x38, 0xff, 0xc9, 0x89, 0x1f, 0xff, - 0xe6, 0xc6, 0x73, 0xff, 0xd9, 0x92, 0x2a, 0xff, - 0xee, 0xcf, 0x7c, 0xff, 0xee, 0xcd, 0x7e, 0xff, - 0xda, 0xaa, 0x56, 0xff, 0xda, 0xa9, 0x4c, 0xff, - 0xec, 0xc5, 0x68, 0xff, 0xe8, 0xca, 0x74, 0xff, - 0xc9, 0x73, 0x42, 0xff, 0xee, 0xdb, 0xa0, 0xff, - 0xe8, 0xa5, 0x30, 0xff, 0xec, 0xdb, 0x96, 0xff, - 0xeb, 0xc6, 0x75, 0xff, 0xdc, 0xb1, 0x53, 0xff, - 0xe3, 0xbe, 0x56, 0xff, 0xe7, 0xbb, 0x50, 0xff, - 0xec, 0xab, 0x47, 0xff, 0xbe, 0x73, 0x0d, 0xff, - 0xc8, 0x71, 0x14, 0xff, 0xbc, 0x62, 0x0a, 0xff, - 0xb3, 0x58, 0x00, 0xff, 0xf4, 0xd9, 0x96, 0xff, - 0xe1, 0xb6, 0x5a, 0xff, 0xb5, 0x5e, 0x0f, 0xff, - 0xf0, 0xc7, 0x75, 0xff, 0xe8, 0xd0, 0x88, 0xff, - 0x9d, 0x2b, 0x07, 0xff, 0xa8, 0x52, 0x09, 0xff, - 0xe2, 0xcb, 0x7b, 0xff, 0xd9, 0x9a, 0x28, 0xff, - 0xb7, 0x5d, 0x11, 0xff, 0xa4, 0x28, 0x06, 0xff, - 0xbd, 0x75, 0x23, 0xff, 0x8f, 0x2d, 0x00, 0xff, - 0xe6, 0xbf, 0x5a, 0xff, 0xf1, 0xdd, 0x96, 0xff, - 0xef, 0xc1, 0x51, 0xff, 0xd3, 0x90, 0x37, 0xff, - 0xdc, 0x9d, 0x3e, 0xff, 0xe8, 0xce, 0x83, 0xff, - 0xf1, 0xb9, 0x5a, 0xff, 0xe6, 0xd4, 0x8c, 0xff, - 0xd2, 0x95, 0x2a, 0xff, 0xd7, 0xaa, 0x59, 0xff, - 0xba, 0x68, 0x1c, 0xff, 0xbc, 0x75, 0x25, 0xff, - 0x9f, 0x41, 0x00, 0xff, 0xe7, 0xcc, 0x89, 0xff, - 0xe0, 0xa9, 0x2a, 0xff, 0xf7, 0xcf, 0x77, 0xff, - 0xee, 0xd8, 0x8c, 0xff, 0xe1, 0xbc, 0x64, 0xff, - 0xc8, 0x6b, 0x0c, 0xff, 0xca, 0x8c, 0x35, 0xff, - 0xed, 0xcb, 0x74, 0xff, 0xf3, 0xcd, 0x82, 0xff, - 0xef, 0xb7, 0x4a, 0xff, 0xea, 0xcd, 0x81, 0xff, - 0xff, 0xcd, 0x88, 0xff, 0xaa, 0x3b, 0x03, 0xff, - 0xe7, 0xd1, 0x7c, 0xff, 0xed, 0xc0, 0x6d, 0xff, - 0xd8, 0xa2, 0x4a, 0xff, 0xbc, 0x72, 0x0f, 0xff, - 0xdf, 0xc0, 0x6d, 0xff, 0xd7, 0x71, 0x0d, 0xff, - 0xef, 0xc6, 0x6a, 0xff, 0xed, 0xd3, 0x7c, 0xff, - 0xd3, 0x82, 0x27, 0xff, 0xd6, 0x9d, 0x36, 0xff, - 0xe7, 0xcc, 0x7d, 0xff, 0xe8, 0xbf, 0x55, 0xff, - 0xcb, 0x94, 0x41, 0xff, 0xea, 0xce, 0x7a, 0xff, - 0xec, 0xc6, 0x65, 0xff, 0xeb, 0xd0, 0x81, 0xff, - 0xe8, 0xcb, 0x7d, 0xff, 0xb5, 0x5d, 0x13, 0xff, - 0xb5, 0x53, 0x0c, 0xff, 0xaf, 0x4a, 0x06, 0xff, - 0xdc, 0x92, 0x31, 0xff, 0xde, 0xb7, 0x5c, 0xff, - 0xe6, 0xc4, 0x7a, 0xff, 0xe9, 0xca, 0x89, 0xff, - 0xe5, 0xbe, 0x71, 0xff, 0xf9, 0xe0, 0xa0, 0xff, - 0xdf, 0xb6, 0x5c, 0xff, 0xc5, 0x70, 0x13, 0xff, - 0xbc, 0x62, 0x0c, 0xff, 0xe9, 0xd5, 0x90, 0xff, - 0x7a, 0x18, 0x00, 0xff, 0x81, 0x05, 0x00, 0xff, - 0xe5, 0xcc, 0x78, 0xff, 0xdc, 0x8f, 0x23, 0xff, - 0xc3, 0x86, 0x33, 0xff, 0xd1, 0xa8, 0x59, 0xff, - 0xd7, 0xae, 0x5e, 0xff, 0xd2, 0x9c, 0x42, 0xff, - 0xf3, 0xd9, 0x8e, 0xff, 0xe6, 0xc3, 0x65, 0xff, - 0xdd, 0xaf, 0x5a, 0xff, 0xcb, 0x82, 0x23, 0xff, - 0xc7, 0x78, 0x13, 0xff, 0xf0, 0xd8, 0x92, 0xff, - 0xec, 0xd0, 0x6f, 0xff, 0xeb, 0xd3, 0x89, 0xff, - 0xcf, 0x92, 0x35, 0xff, 0xc4, 0x7b, 0x15, 0xff, - 0xcf, 0x8f, 0x2e, 0xff, 0xbf, 0x70, 0x14, 0xff, - 0xe4, 0xca, 0x7d, 0xff, 0xe7, 0xc3, 0x62, 0xff, - 0x9b, 0x34, 0x00, 0xff, 0xd6, 0xa2, 0x4c, 0xff, - 0xee, 0xd5, 0x85, 0xff, 0xeb, 0xc1, 0x6b, 0xff, - 0x91, 0x1e, 0x00, 0xff, 0xc1, 0x6a, 0x0d, 0xff, - 0xd7, 0xa5, 0x46, 0xff, 0xec, 0xd3, 0x7f, 0xff, - 0xeb, 0xc7, 0x69, 0xff, 0xe5, 0xa7, 0x3a, 0xff, - 0xe6, 0xc9, 0x7d, 0xff, 0xc6, 0x7e, 0x2c, 0xff, - 0xeb, 0xb6, 0x58, 0xff, 0xe6, 0xd0, 0x84, 0xff, - 0xc8, 0x87, 0x21, 0xff, 0xb8, 0x67, 0x0b, 0xff, - 0xe0, 0xbc, 0x66, 0xff, 0xdd, 0xa6, 0x53, 0xff, - 0xf1, 0xcd, 0x6f, 0xff, 0xe9, 0xd7, 0x8f, 0xff, - 0x97, 0x21, 0x03, 0xff, 0xad, 0x50, 0x03, 0xff, - 0xe3, 0xc7, 0x73, 0xff, 0xd1, 0x86, 0x20, 0xff, - 0xbe, 0x69, 0x0c, 0xff, 0xd7, 0x98, 0x3b, 0xff, - 0xe3, 0xc8, 0x6d, 0xff, 0xe9, 0xc3, 0x5e, 0xff, - 0xea, 0xcc, 0x83, 0xff, 0xb0, 0x53, 0x05, 0xff, - 0xc9, 0x70, 0x16, 0xff, 0xd5, 0xa8, 0x53, 0xff, - 0xdf, 0xbc, 0x6b, 0xff, 0xde, 0xb5, 0x4c, 0xff, - 0xe9, 0xa9, 0x45, 0xff, 0xb7, 0x69, 0x1e, 0xff, - 0x7d, 0x18, 0x00, 0xff, 0xf4, 0xe1, 0x9d, 0xff, - 0xe1, 0xb2, 0x56, 0xff, 0xc8, 0x8b, 0x32, 0xff, - 0xca, 0x79, 0x2a, 0xff, 0xe6, 0xd2, 0x8d, 0xff, - 0xed, 0xcf, 0x79, 0xff, 0xc6, 0x77, 0x32, 0xff, - 0xee, 0xd5, 0x81, 0xff, 0xf2, 0xc7, 0x68, 0xff, - 0xa8, 0x4b, 0x05, 0xff, 0xcc, 0x7a, 0x31, 0xff, - 0xc2, 0x7c, 0x1a, 0xff, 0xdb, 0xa3, 0x46, 0xff, - 0xf8, 0xe4, 0xa9, 0xff, 0xf1, 0xa0, 0x45, 0xff, - 0xdf, 0xb8, 0x59, 0xff, 0xe7, 0xcb, 0x81, 0xff, - 0xd5, 0x90, 0x35, 0xff, 0xe3, 0xc7, 0x73, 0xff, - 0xf1, 0xd7, 0x78, 0xff, 0xed, 0xd8, 0x89, 0xff, - 0xce, 0x8e, 0x24, 0xff, 0xd7, 0xa7, 0x55, 0xff, - 0xcc, 0x85, 0x29, 0xff, 0xc1, 0x76, 0x19, 0xff, - 0xe9, 0xcc, 0x86, 0xff, 0xde, 0xa9, 0x35, 0xff, - 0xc3, 0x7c, 0x24, 0xff, 0xe7, 0xc6, 0x7f, 0xff, - 0xe6, 0xcb, 0x7a, 0xff, 0xe9, 0xc6, 0x75, 0xff, - 0xad, 0x46, 0x01, 0xff, 0xca, 0x83, 0x29, 0xff, - 0xa4, 0x52, 0x00, 0xff, 0xdd, 0xb9, 0x58, 0xff, - 0xe8, 0xd4, 0x8d, 0xff, 0xd3, 0x8f, 0x2a, 0xff, - 0xe3, 0xb2, 0x49, 0xff, 0xe0, 0xb8, 0x58, 0xff, - 0xcc, 0x8d, 0x26, 0xff, 0xe7, 0xd1, 0x7e, 0xff, - 0xef, 0xc3, 0x6c, 0xff, 0xcd, 0x78, 0x1d, 0xff, - 0xdf, 0xb7, 0x62, 0xff, 0xe5, 0xc3, 0x84, 0xff, - 0xf3, 0xdc, 0x98, 0xff, 0xeb, 0xd0, 0x7f, 0xff, - 0xac, 0x45, 0x02, 0xff, 0xe0, 0xb5, 0x56, 0xff, - 0xe2, 0xb4, 0x52, 0xff, 0xd7, 0xa7, 0x52, 0xff, - 0xcb, 0x84, 0x2a, 0xff, 0xd1, 0xa0, 0x44, 0xff, - 0xe4, 0xc6, 0x70, 0xff, 0xd8, 0x9f, 0x34, 0xff, - 0xeb, 0xd2, 0x82, 0xff, 0xd8, 0xab, 0x4e, 0xff, - 0xe8, 0xc4, 0x76, 0xff, 0xd9, 0xaa, 0x4e, 0xff, - 0xd2, 0x7f, 0x17, 0xff, 0xc0, 0x69, 0x1a, 0xff, - 0xab, 0x67, 0x14, 0xff, 0xb9, 0x56, 0x05, 0xff, - 0x94, 0x20, 0x09, 0xff, 0xf6, 0xdd, 0x9b, 0xff, - 0xdc, 0xb0, 0x4f, 0xff, 0xc1, 0x72, 0x0b, 0xff, - 0xd0, 0x96, 0x44, 0xff, 0xe8, 0xbf, 0x63, 0xff, - 0xe7, 0xcc, 0x7d, 0xff, 0xd0, 0x98, 0x39, 0xff, - 0xe6, 0xc4, 0x62, 0xff, 0xee, 0xd8, 0x8f, 0xff, - 0xa6, 0x3d, 0x06, 0xff, 0x82, 0x09, 0x00, 0xff, - 0xd7, 0xa8, 0x50, 0xff, 0xe4, 0xc5, 0x6a, 0xff, - 0xec, 0xd8, 0x8f, 0xff, 0xd4, 0x9a, 0x39, 0xff, - 0xd0, 0x91, 0x27, 0xff, 0xe2, 0xc4, 0x6a, 0xff, - 0xe7, 0xc1, 0x6e, 0xff, 0xca, 0x70, 0x0f, 0xff, - 0xee, 0xce, 0x81, 0xff, 0xf2, 0xd6, 0x95, 0xff, - 0xe1, 0xa9, 0x48, 0xff, 0xe5, 0xb9, 0x5a, 0xff, - 0xcd, 0x9c, 0x3d, 0xff, 0xe6, 0xc0, 0x6d, 0xff, - 0xe2, 0xbd, 0x4a, 0xff, 0x8a, 0x0b, 0x00, 0xff, - 0xc4, 0x7f, 0x22, 0xff, 0xe4, 0xc9, 0x7a, 0xff, - 0xe5, 0xbb, 0x55, 0xff, 0xe7, 0xcc, 0x7d, 0xff, - 0xd4, 0x85, 0x26, 0xff, 0xd2, 0x90, 0x32, 0xff, - 0xb1, 0x51, 0x14, 0xff, 0xd4, 0xa5, 0x4d, 0xff, - 0xe8, 0xcb, 0x67, 0xff, 0xea, 0xca, 0x77, 0xff, - 0xd1, 0x71, 0x0d, 0xff, 0xd7, 0xa9, 0x49, 0xff, - 0xe3, 0xb5, 0x5f, 0xff, 0xea, 0xc6, 0x6e, 0xff, - 0xe7, 0xcb, 0x81, 0xff, 0xcc, 0x84, 0x22, 0xff, - 0xe4, 0xae, 0x54, 0xff, 0xdf, 0xb9, 0x64, 0xff, - 0xed, 0xd6, 0x90, 0xff, 0xf3, 0xc8, 0x6c, 0xff, - 0xd0, 0x87, 0x20, 0xff, 0xd5, 0xa6, 0x4c, 0xff, - 0xcb, 0x89, 0x2b, 0xff, 0xdc, 0xaf, 0x5a, 0xff, - 0xe6, 0xb8, 0x63, 0xff, 0xc0, 0x77, 0x19, 0xff, - 0xe4, 0xc8, 0x74, 0xff, 0xd1, 0x79, 0x15, 0xff, - 0xe4, 0xce, 0x78, 0xff, 0xee, 0xba, 0x57, 0xff, - 0xe6, 0xb5, 0x3e, 0xff, 0xe1, 0xc3, 0x6d, 0xff, - 0xe8, 0xcc, 0x83, 0xff, 0xf8, 0xbe, 0x75, 0xff, - 0xd0, 0x99, 0x47, 0xff, 0xd2, 0x9f, 0x44, 0xff, - 0xc2, 0x71, 0x15, 0xff, 0xec, 0xd6, 0x8d, 0xff, - 0xdb, 0xad, 0x55, 0xff, 0xb0, 0x45, 0x0d, 0xff, - 0xcd, 0x92, 0x36, 0xff, 0xd3, 0x95, 0x32, 0xff, - 0xec, 0xd0, 0x87, 0xff, 0xc6, 0x6b, 0x12, 0xff, - 0xea, 0xc4, 0x7d, 0xff, 0xed, 0xc3, 0x55, 0xff, - 0x8b, 0x35, 0x04, 0xff, 0xdb, 0xb9, 0x57, 0xff, - 0xe7, 0xc9, 0x80, 0xff, 0xed, 0xd4, 0x84, 0xff, - 0xe9, 0xd7, 0x8f, 0xff, 0xd2, 0x8e, 0x23, 0xff, - 0xbd, 0x65, 0x0e, 0xff, 0xb0, 0x73, 0x09, 0xff, - 0xe2, 0xc3, 0x70, 0xff, 0xde, 0xba, 0x5a, 0xff, - 0xe7, 0xb5, 0x54, 0xff, 0xf1, 0xd8, 0x98, 0xff, - 0xdc, 0x9d, 0x2b, 0xff, 0xe0, 0xb5, 0x59, 0xff, - 0xe5, 0xc7, 0x81, 0xff, 0xf1, 0xda, 0x96, 0xff, - 0xe9, 0xcb, 0x73, 0xff, 0xfe, 0xcf, 0x89, 0xff, - 0xe2, 0xb2, 0x5e, 0xff, 0xdf, 0xbb, 0x5a, 0xff, - 0xe1, 0xad, 0x48, 0xff, 0xe7, 0xc7, 0x72, 0xff, - 0xe1, 0xb2, 0x56, 0xff, 0xc7, 0x78, 0x1b, 0xff, - 0xa6, 0x4c, 0x00, 0xff, 0xb7, 0x6d, 0x16, 0xff, - 0xf0, 0xc9, 0x7c, 0xff, 0xef, 0xd6, 0x94, 0xff, - 0xd7, 0x92, 0x2d, 0xff, 0xd2, 0x8d, 0x28, 0xff, - 0xde, 0xbd, 0x6c, 0xff, 0xe9, 0xbb, 0x59, 0xff, - 0xe8, 0xcd, 0x7e, 0xff, 0xc8, 0x7b, 0x11, 0xff, - 0xdd, 0xaa, 0x4f, 0xff, 0xe9, 0xbb, 0x5b, 0xff, - 0xf7, 0xe0, 0x9a, 0xff, 0xd1, 0xa0, 0x39, 0xff, - 0xcc, 0x83, 0x24, 0xff, 0xc8, 0x79, 0x14, 0xff, - 0xe5, 0xba, 0x75, 0xff, 0xd5, 0xa3, 0x34, 0xff, - 0xe1, 0xc1, 0x6c, 0xff, 0xde, 0xa6, 0x47, 0xff, - 0xe4, 0xc7, 0x6b, 0xff, 0x86, 0x23, 0x00, 0xff, - 0xde, 0xc5, 0x69, 0xff, 0xec, 0xd1, 0x82, 0xff, - 0x7f, 0x14, 0x00, 0xff, 0x9a, 0x3b, 0x01, 0xff, - 0xe2, 0xb4, 0x44, 0xff, 0xe2, 0xc4, 0x64, 0xff, - 0xe2, 0xc1, 0x7a, 0xff, 0xe1, 0xba, 0x5f, 0xff, - 0xdb, 0xb1, 0x4b, 0xff, 0xec, 0xd6, 0x8d, 0xff, - 0xd9, 0xa2, 0x3b, 0xff, 0xbc, 0x7c, 0x1a, 0xff, - 0xc6, 0x78, 0x23, 0xff, 0xd2, 0x96, 0x36, 0xff, - 0xe9, 0xc9, 0x7e, 0xff, 0xc6, 0x6d, 0x09, 0xff, - 0xe5, 0xcb, 0x80, 0xff, 0xff, 0xbb, 0x4c, 0xff, - 0xe4, 0xc5, 0x75, 0xff, 0xeb, 0xd2, 0x82, 0xff, - 0xe5, 0xc5, 0x62, 0xff, 0xee, 0xd2, 0x7e, 0xff, - 0xec, 0xd5, 0x85, 0xff, 0xa8, 0x41, 0x07, 0xff, - 0xba, 0x59, 0x14, 0xff, 0xc8, 0x86, 0x2f, 0xff, - 0xbc, 0x7d, 0x14, 0xff, 0xe0, 0xbd, 0x57, 0xff, - 0xe1, 0xbd, 0x67, 0xff, 0xf5, 0xde, 0x9a, 0xff, - 0xdb, 0xb1, 0x4d, 0xff, 0xb6, 0x71, 0x16, 0xff, - 0xdd, 0x93, 0x3c, 0xff, 0xe2, 0xab, 0x34, 0xff, - 0xe0, 0xbf, 0x56, 0xff, 0xe6, 0xcf, 0x83, 0xff, - 0xef, 0xd4, 0x8d, 0xff, 0xe8, 0xcf, 0x73, 0xff, - 0xa7, 0x52, 0x01, 0xff, 0xe6, 0xbe, 0x5e, 0xff, - 0xe5, 0xc0, 0x65, 0xff, 0xca, 0x7d, 0x21, 0xff, - 0xcf, 0x9d, 0x48, 0xff, 0xd5, 0xac, 0x5a, 0xff, - 0xe3, 0xbf, 0x67, 0xff, 0xef, 0xd8, 0x92, 0xff, - 0xf1, 0xd1, 0x7e, 0xff, 0xe2, 0xb2, 0x5e, 0xff, - 0xe5, 0xc2, 0x71, 0xff, 0xc6, 0x75, 0x09, 0xff, - 0xe7, 0xcc, 0x7f, 0xff, 0xc4, 0x7b, 0x12, 0xff, - 0xdc, 0xa8, 0x45, 0xff, 0xef, 0xcc, 0x78, 0xff, - 0xeb, 0xd4, 0x88, 0xff, 0xde, 0xae, 0x4c, 0xff, - 0xe3, 0xbc, 0x61, 0xff, 0x95, 0x13, 0x03, 0xff, - 0xdf, 0xc1, 0x78, 0xff, 0xdd, 0xa8, 0x40, 0xff, - 0xe3, 0xbb, 0x63, 0xff, 0xea, 0xcb, 0x78, 0xff, - 0xe3, 0xc2, 0x5b, 0xff, 0xac, 0x63, 0x16, 0xff, - 0xcd, 0xa3, 0x51, 0xff, 0xe4, 0xcb, 0x7b, 0xff, - 0xc7, 0x6d, 0x0d, 0xff, 0xd0, 0x9a, 0x3a, 0xff, - 0xcc, 0x92, 0x2f, 0xff, 0xb5, 0x57, 0x00, 0xff, - 0xe3, 0xa0, 0x37, 0xff, 0xdd, 0xa6, 0x2f, 0xff, - 0xdb, 0xa8, 0x33, 0xff, 0xea, 0xd3, 0x83, 0xff, - 0xe2, 0xae, 0x4b, 0xff, 0xe1, 0xbc, 0x6b, 0xff, - 0xc0, 0x6a, 0x15, 0xff, 0xcc, 0x7e, 0x1a, 0xff, - 0xe3, 0xc2, 0x73, 0xff, 0xc8, 0x7c, 0x1a, 0xff, - 0xf0, 0xd9, 0x96, 0xff, 0xdf, 0xa2, 0x38, 0xff, - 0xec, 0xd1, 0x82, 0xff, 0xec, 0xcd, 0x7a, 0xff, - 0xe5, 0xa1, 0x40, 0xff, 0xf0, 0xd5, 0x84, 0xff, - 0xe6, 0xd7, 0x84, 0xff, 0xa2, 0x3d, 0x07, 0xff, - 0xb5, 0x5f, 0x14, 0xff, 0xbb, 0x6e, 0x14, 0xff, - 0xca, 0x94, 0x34, 0xff, 0xc9, 0x87, 0x31, 0xff, - 0xd4, 0x98, 0x2a, 0xff, 0xee, 0xd2, 0x7e, 0xff, - 0xf2, 0xd2, 0x7f, 0xff, 0xe4, 0xbf, 0x67, 0xff, - 0xe1, 0xc6, 0x79, 0xff, 0xf0, 0xb5, 0x59, 0xff, - 0xde, 0x9f, 0x3e, 0xff, 0xc9, 0x61, 0x24, 0xff, - 0xed, 0xa6, 0x58, 0xff, 0xe9, 0xc6, 0x62, 0xff, - 0xea, 0xd1, 0x81, 0xff, 0xed, 0xd1, 0x87, 0xff, - 0xe3, 0xca, 0x76, 0xff, 0xe9, 0xcf, 0x7b, 0xff, - 0xe2, 0xcb, 0x7b, 0xff, 0xe6, 0xcc, 0x7f, 0xff, - 0xe1, 0xc1, 0x6c, 0xff, 0xee, 0xc7, 0x68, 0xff, - 0xec, 0xcf, 0x83, 0xff, 0xe0, 0xbd, 0x69, 0xff, - 0xe5, 0xbf, 0x6a, 0xff, 0xcd, 0x78, 0x1b, 0xff, - 0xe3, 0xc8, 0x79, 0xff, 0xe3, 0xa0, 0x37, 0xff, - 0xd3, 0x9e, 0x40, 0xff, 0xeb, 0xd9, 0x91, 0xff, - 0xe7, 0xc8, 0x6d, 0xff, 0xc6, 0x77, 0x0e, 0xff, - 0xdf, 0xc2, 0x66, 0xff, 0xe7, 0xcf, 0x89, 0xff, - 0xf2, 0xcf, 0x7e, 0xff, 0xe2, 0xbe, 0x5d, 0xff, - 0xda, 0x9f, 0x37, 0xff, 0xe5, 0xc6, 0x76, 0xff, - 0xdd, 0x99, 0x34, 0xff, 0xb5, 0x54, 0x0d, 0xff, - 0xc0, 0x6f, 0x13, 0xff, 0xe5, 0xc7, 0x6d, 0xff, - 0xe5, 0xbb, 0x65, 0xff, 0xcb, 0x87, 0x24, 0xff, - 0xc0, 0x60, 0x0c, 0xff, 0xbc, 0x79, 0x1e, 0xff, - 0x8c, 0x35, 0x00, 0xff, 0xe7, 0xc4, 0x73, 0xff, - 0xeb, 0xc8, 0x76, 0xff, 0xe8, 0xce, 0x7a, 0xff, - 0xd6, 0x8b, 0x16, 0xff, 0xdb, 0xbb, 0x58, 0xff, - 0xe9, 0xd2, 0x8f, 0xff, 0xfa, 0xc8, 0x71, 0xff, - 0xdd, 0xb9, 0x5b, 0xff, 0xd1, 0x8a, 0x20, 0xff, - 0xe5, 0xbe, 0x63, 0xff, 0xe3, 0xa4, 0x3b, 0xff, - 0xe7, 0xce, 0x7c, 0xff, 0xf2, 0xa2, 0x4b, 0xff, - 0x94, 0x16, 0x08, 0xff, 0xe8, 0xd1, 0x81, 0xff, - 0xed, 0xd6, 0x8a, 0xff, 0xb5, 0x53, 0x0c, 0xff, - 0xc5, 0x81, 0x2c, 0xff, 0xb3, 0x4a, 0x10, 0xff, - 0x9f, 0x34, 0x00, 0xff, 0xc0, 0x67, 0x0d, 0xff, - 0xd7, 0xb1, 0x5e, 0xff, 0xed, 0xc3, 0x5f, 0xff, - 0xef, 0xd2, 0x84, 0xff, 0xd6, 0x87, 0x1e, 0xff, - 0xe2, 0xa6, 0x2a, 0xff, 0xe8, 0xc2, 0x6d, 0xff, - 0xe6, 0xcf, 0x89, 0xff, 0xe4, 0xc1, 0x65, 0xff, - 0xc4, 0x7a, 0x19, 0xff, 0xe0, 0xaf, 0x53, 0xff, - 0xd3, 0x88, 0x13, 0xff, 0xe4, 0xb1, 0x3c, 0xff, - 0xe1, 0xb7, 0x41, 0xff, 0xe3, 0xbd, 0x50, 0xff, - 0xe4, 0xaf, 0x45, 0xff, 0xde, 0xa4, 0x36, 0xff, - 0xc7, 0x79, 0x17, 0xff, 0xd7, 0x9a, 0x30, 0xff, - 0xeb, 0xcf, 0x86, 0xff, 0xd9, 0x83, 0x12, 0xff, - 0xe5, 0xce, 0x82, 0xff, 0xc9, 0x89, 0x32, 0xff, - 0xdb, 0xbb, 0x68, 0xff, 0xe0, 0x98, 0x29, 0xff, - 0xe8, 0xc5, 0x71, 0xff, 0xf4, 0xd2, 0x8a, 0xff, - 0xbc, 0x71, 0x16, 0xff, 0xc1, 0x5f, 0x06, 0xff, - 0xd1, 0x8d, 0x28, 0xff, 0xe5, 0xb2, 0x49, 0xff, - 0xe3, 0xc8, 0x6d, 0xff, 0xeb, 0xd4, 0x88, 0xff, - 0xe9, 0xc9, 0x80, 0xff, 0xe8, 0xca, 0x72, 0xff, - 0xb9, 0x81, 0x24, 0xff, 0xa2, 0x45, 0x00, 0xff, - 0x9c, 0x36, 0x00, 0xff, 0xd4, 0x9e, 0x3a, 0xff, - 0xe6, 0xbd, 0x61, 0xff, 0xcf, 0xa1, 0x4b, 0xff, - 0xe5, 0xca, 0x73, 0xff, 0xea, 0xce, 0x84, 0xff, - 0xe6, 0xcc, 0x7f, 0xff, 0xe1, 0xb5, 0x48, 0xff, - 0xe7, 0xd3, 0x7d, 0xff, 0xe7, 0xca, 0x6c, 0xff, - 0xc6, 0x6a, 0x05, 0xff, 0xd1, 0x88, 0x21, 0xff, - 0xf1, 0xbc, 0x52, 0xff, 0xe3, 0xca, 0x6e, 0xff, - 0xea, 0xd1, 0x8e, 0xff, 0xea, 0xd0, 0x85, 0xff, - 0xeb, 0xcd, 0x77, 0xff, 0xe3, 0xbf, 0x5e, 0xff, - 0xe4, 0xac, 0x3f, 0xff, 0xd3, 0x8a, 0x24, 0xff, - 0xe2, 0xb6, 0x77, 0xff, 0xee, 0xd3, 0x82, 0xff, - 0xeb, 0xd5, 0x89, 0xff, 0xd9, 0xa1, 0x40, 0xff, - 0xcb, 0x98, 0x3c, 0xff, 0xbe, 0x65, 0x39, 0xff, - 0xa2, 0x46, 0x17, 0xff, 0xbe, 0x86, 0x31, 0xff, - 0xda, 0xb3, 0x58, 0xff, 0xe1, 0xb0, 0x47, 0xff, - 0xee, 0xd8, 0x8f, 0xff, 0xd2, 0x89, 0x23, 0xff, - 0xc2, 0x74, 0x10, 0xff, 0x80, 0x09, 0x00, 0xff, - 0xda, 0xaa, 0x3b, 0xff, 0xe0, 0xba, 0x59, 0xff, - 0xe0, 0xc4, 0x70, 0xff, 0xe4, 0xc0, 0x62, 0xff, - 0xf3, 0xbb, 0x5a, 0xff, 0xef, 0xc0, 0x64, 0xff, - 0xe4, 0xbc, 0x5c, 0xff, 0xf7, 0xc6, 0x67, 0xff, - 0xd2, 0x8e, 0x51, 0xff, 0xb1, 0x62, 0x06, 0xff, - 0xb8, 0x65, 0x09, 0xff, 0xd2, 0x8d, 0x25, 0xff, - 0xf1, 0xdc, 0x9b, 0xff, 0xd2, 0x8b, 0x1f, 0xff, - 0xe5, 0xb1, 0x4e, 0xff, 0xe8, 0xd2, 0x87, 0xff, - 0xdc, 0xa3, 0x38, 0xff, 0xde, 0x98, 0x29, 0xff, - 0xef, 0xd5, 0x8a, 0xff, 0xf4, 0xcf, 0x74, 0xff, - 0xc0, 0x6d, 0x11, 0xff, 0xc0, 0x6f, 0x16, 0xff, - 0xd5, 0x96, 0x39, 0xff, 0xe0, 0xbe, 0x74, 0xff, - 0xbe, 0x72, 0x1c, 0xff, 0xbf, 0x71, 0x1c, 0xff, - 0xe6, 0xb5, 0x3f, 0xff, 0xe6, 0xbd, 0x51, 0xff, - 0xe6, 0xc7, 0x6d, 0xff, 0xe9, 0xce, 0x7f, 0xff, - 0xe7, 0xd1, 0x86, 0xff, 0xe3, 0xca, 0x7a, 0xff, - 0xe6, 0xcc, 0x75, 0xff, 0xe6, 0xc5, 0x68, 0xff, - 0xe5, 0xbf, 0x50, 0xff, 0xeb, 0xb4, 0x3d, 0xff, - 0xd4, 0x86, 0x19, 0xff, 0xd5, 0x92, 0x2a, 0xff, - 0xe6, 0xd0, 0x85, 0xff, 0xee, 0xcf, 0x72, 0xff, - 0xcb, 0x7c, 0x20, 0xff, 0xdd, 0xb3, 0x69, 0xff, - 0xbc, 0x69, 0x0d, 0xff, 0xca, 0x80, 0x1d, 0xff, - 0xdd, 0xa9, 0x39, 0xff, 0xe4, 0xb7, 0x40, 0xff, - 0xe4, 0xbf, 0x54, 0xff, 0xe8, 0xc4, 0x6c, 0xff, - 0xeb, 0xd0, 0x89, 0xff, 0xe6, 0xc9, 0x7b, 0xff, - 0xe4, 0xb7, 0x50, 0xff, 0xf1, 0xd0, 0x73, 0xff, - 0xe8, 0xd2, 0x87, 0xff, 0xdb, 0xa4, 0x3d, 0xff, - 0xdf, 0xc0, 0x6d, 0xff, 0xe5, 0xc8, 0x7c, 0xff, - 0xe6, 0xd0, 0x87, 0xff, 0xe3, 0xd1, 0x87, 0xff, - 0xe3, 0xcd, 0x81, 0xff, 0xe6, 0xc3, 0x72, 0xff, - 0xeb, 0xd0, 0x81, 0xff, 0xe5, 0xba, 0x5e, 0xff, - 0xe3, 0xbf, 0x71, 0xff, 0xeb, 0xcf, 0x86, 0xff, - 0xea, 0xce, 0x84, 0xff, 0xe6, 0xcc, 0x75, 0xff, - 0xe5, 0xcb, 0x74, 0xff, 0xe4, 0xca, 0x6d, 0xff, - 0xe4, 0xc5, 0x6a, 0xff, 0xe5, 0xc6, 0x6c, 0xff, - 0xe3, 0xca, 0x7a, 0xff, 0xe2, 0xcc, 0x81, 0xff, - 0xe7, 0xcd, 0x80, 0xff, 0xe4, 0xc7, 0x77, 0xff, - 0xe3, 0xb8, 0x5a, 0xff, 0xdc, 0xa9, 0x4e, 0xff, - 0xe9, 0xd6, 0x89, 0xff, 0xe4, 0xa6, 0x43, 0xff, - 0xcc, 0x7b, 0x10, 0xff, 0xe7, 0xd5, 0x95, 0xff, - 0xe9, 0xb1, 0x50, 0xff, 0xd8, 0x8e, 0x21, 0xff, - 0xec, 0xd6, 0x8b, 0xff, 0xd9, 0xa0, 0x35, 0xff, - 0xdd, 0xba, 0x66, 0xff, 0xbf, 0x86, 0x2f, 0xff, - 0xb7, 0x56, 0x12, 0xff, 0xd2, 0xb1, 0x48, 0xff, - 0xe0, 0xbb, 0x6d, 0xff, 0xd5, 0x7f, 0x32, 0xff, - 0xe6, 0xba, 0x63, 0xff, 0xe2, 0x9c, 0x2d, 0xff, - 0xd3, 0x92, 0x34, 0xff, 0xc4, 0x7c, 0x1a, 0xff, - 0xc9, 0x7f, 0x28, 0xff, 0xd9, 0xa4, 0x3c, 0xff, - 0xac, 0x6b, 0x05, 0xff, 0xd6, 0x8f, 0x27, 0xff, - 0xda, 0x93, 0x2b, 0xff, 0xea, 0xc6, 0x7c, 0xff, - 0xf1, 0xb7, 0x65, 0xff, 0xb0, 0x53, 0x03, 0xff, - 0xe9, 0xc8, 0x77, 0xff, 0xd7, 0xa3, 0x3e, 0xff, - 0xca, 0x7a, 0x19, 0xff, 0xde, 0xba, 0x64, 0xff, - 0xe5, 0xc2, 0x6e, 0xff, 0xcb, 0x7d, 0x18, 0xff, - 0xea, 0xc9, 0x7a, 0xff, 0xdb, 0x83, 0x19, 0xff, - 0xd4, 0x8e, 0x2c, 0xff, 0xd4, 0x84, 0x15, 0xff, - 0xbb, 0x6e, 0x1e, 0xff, 0xe4, 0xb9, 0x53, 0xff, - 0xe3, 0xbc, 0x5d, 0xff, 0xec, 0xce, 0x74, 0xff, - 0xea, 0xd4, 0x88, 0xff, 0xdf, 0xb2, 0x4d, 0xff, - 0xde, 0xba, 0x5c, 0xff, 0xe7, 0xc4, 0x5e, 0xff, - 0xeb, 0xc8, 0x60, 0xff, 0xec, 0xca, 0x5f, 0xff, - 0xe5, 0xc0, 0x55, 0xff, 0xdf, 0xa5, 0x3a, 0xff, - 0xe7, 0xc5, 0x6c, 0xff, 0xe9, 0xc3, 0x60, 0xff, - 0xab, 0x50, 0x00, 0xff, 0xd1, 0x8a, 0x18, 0xff, - 0xc5, 0x78, 0x0e, 0xff, 0xbc, 0x64, 0x02, 0xff, - 0xb8, 0x5c, 0x05, 0xff, 0xd0, 0x81, 0x1a, 0xff, - 0xd1, 0x83, 0x17, 0xff, 0xcb, 0x79, 0x15, 0xff, - 0xd5, 0x89, 0x1b, 0xff, 0xd7, 0x98, 0x27, 0xff, - 0xde, 0x9d, 0x29, 0xff, 0xde, 0xac, 0x39, 0xff, - 0xdd, 0xc4, 0x60, 0xff, 0xe6, 0xc3, 0x6f, 0xff, - 0xeb, 0xd0, 0x7f, 0xff, 0xec, 0xc7, 0x6c, 0xff, - 0xc0, 0x62, 0x0a, 0xff, 0xe7, 0xc6, 0x77, 0xff, - 0xea, 0xc6, 0x70, 0xff, 0xf1, 0xce, 0x72, 0xff, - 0xe9, 0xcd, 0x79, 0xff, 0xce, 0x88, 0x26, 0xff, - 0xda, 0xa7, 0x3a, 0xff, 0xe2, 0xc9, 0x79, 0xff, - 0xe7, 0xcd, 0x78, 0xff, 0xd5, 0x96, 0x53, 0xff, - 0xdb, 0xaa, 0x41, 0xff, 0xdd, 0xb4, 0x5a, 0xff, - 0xeb, 0xbe, 0x69, 0xff, 0xe4, 0xbc, 0x64, 0xff, - 0xd2, 0x7e, 0x1c, 0xff, 0xb1, 0x4f, 0x08, 0xff, - 0x8c, 0x28, 0x04, 0xff, 0xe5, 0xbf, 0x6e, 0xff, - 0xd9, 0xb4, 0x63, 0xff, 0xd4, 0x98, 0x38, 0xff, - 0xcb, 0x71, 0x10, 0xff, 0xef, 0xb8, 0x53, 0xff, - 0xe8, 0xd5, 0x91, 0xff, 0xf4, 0xce, 0x79, 0xff, - 0xe2, 0xae, 0x41, 0xff, 0xd6, 0xa6, 0x40, 0xff, - 0xd3, 0x91, 0x31, 0xff, 0xc0, 0x72, 0x0e, 0xff, - 0xf0, 0xde, 0x9c, 0xff, 0xe4, 0xb0, 0x4b, 0xff, - 0xe1, 0xbf, 0x66, 0xff, 0xd0, 0x84, 0x16, 0xff, - 0xd9, 0x9a, 0x39, 0xff, 0xe0, 0x9e, 0x48, 0xff, - 0xa6, 0x3d, 0x04, 0xff, 0xc4, 0x7e, 0x36, 0xff, - 0xcd, 0x90, 0x35, 0xff, 0xef, 0xc2, 0x5b, 0xff, - 0xe9, 0xcf, 0x82, 0xff, 0xe0, 0x9d, 0x2a, 0xff, - 0xda, 0xb1, 0x45, 0xff, 0xe0, 0xbc, 0x5b, 0xff, - 0xe1, 0xc3, 0x61, 0xff, 0xe5, 0xc4, 0x65, 0xff, - 0xe5, 0xc6, 0x69, 0xff, 0xe8, 0xc6, 0x6d, 0xff, - 0xe8, 0xcb, 0x7b, 0xff, 0xe9, 0xd2, 0x8e, 0xff, - 0xe6, 0xd3, 0x8f, 0xff, 0xe6, 0xcb, 0x7c, 0xff, - 0xc5, 0x8b, 0x28, 0xff, 0xee, 0x92, 0x4f, 0xff, - 0xa8, 0x58, 0x11, 0xff, 0xda, 0x9b, 0x3c, 0xff, - 0xd5, 0x9f, 0x3d, 0xff, 0xb1, 0x44, 0x09, 0xff, - 0xbe, 0x63, 0x12, 0xff, 0xdc, 0xb6, 0x55, 0xff, - 0xe5, 0xc8, 0x82, 0xff, 0xef, 0xb9, 0x6f, 0xff, - 0x89, 0x03, 0x0a, 0xff, 0xcd, 0x78, 0x1d, 0xff, - 0xf1, 0xd2, 0x7f, 0xff, 0xe9, 0xc8, 0x6b, 0xff, - 0xd7, 0x93, 0x2e, 0xff, 0x90, 0x41, 0x00, 0xff, - 0xe9, 0xc9, 0x72, 0xff, 0xf5, 0xe2, 0x9e, 0xff, - 0xf6, 0xc2, 0x5f, 0xff, 0xd8, 0xae, 0x5a, 0xff, - 0xb9, 0x51, 0x0a, 0xff, 0xc0, 0x77, 0x11, 0xff, - 0xe5, 0xc0, 0x56, 0xff, 0xe2, 0xc6, 0x63, 0xff, - 0xea, 0xcc, 0x84, 0xff, 0xe6, 0xd2, 0x89, 0xff, - 0xe9, 0xce, 0x81, 0xff, 0xeb, 0xcc, 0x7a, 0xff, - 0xd2, 0xb1, 0x52, 0xff, 0xe7, 0xcb, 0x77, 0xff, - 0xea, 0xcc, 0x74, 0xff, 0xe6, 0xcc, 0x75, 0xff, - 0xea, 0xc9, 0x78, 0xff, 0xec, 0xd4, 0x8c, 0xff, - 0xe3, 0xc5, 0x7d, 0xff, 0xdb, 0xb2, 0x56, 0xff, - 0xe4, 0xb9, 0x49, 0xff, 0xeb, 0xcf, 0x7b, 0xff, - 0xe9, 0xd0, 0x8d, 0xff, 0xea, 0xc8, 0x6e, 0xff, - 0xdf, 0xa5, 0x42, 0xff, 0xc7, 0x7e, 0x1f, 0xff, - 0xed, 0xc9, 0x73, 0xff, 0xed, 0xd2, 0x83, 0xff, - 0xe7, 0x9f, 0x30, 0xff, 0xd4, 0xa1, 0x45, 0xff, - 0xc7, 0x7f, 0x19, 0xff, 0xcc, 0x94, 0x33, 0xff, - 0xdd, 0xc8, 0x87, 0xff, 0xe2, 0xc5, 0x75, 0xff, - 0xdb, 0xb5, 0x62, 0xff, 0xdd, 0xb7, 0x56, 0xff, - 0xea, 0xcd, 0x81, 0xff, 0xd2, 0x82, 0x1f, 0xff, - 0xcc, 0x7d, 0x1e, 0xff, 0xcb, 0x79, 0x15, 0xff, - 0xc6, 0x70, 0x19, 0xff, 0xc1, 0x6c, 0x12, 0xff, - 0x7f, 0x12, 0x00, 0xff, 0xc4, 0x70, 0x10, 0xff, - 0xd4, 0x98, 0x28, 0xff, 0xe5, 0xa9, 0x31, 0xff, - 0xe4, 0xb2, 0x43, 0xff, 0xe6, 0xc0, 0x5d, 0xff, - 0xed, 0xd4, 0x91, 0xff, 0xe8, 0xc2, 0x71, 0xff, - 0xad, 0x41, 0x03, 0xff, 0xe6, 0xab, 0x5f, 0xff, - 0xde, 0xbb, 0x5f, 0xff, 0xaf, 0x4c, 0x0b, 0xff, - 0xbb, 0x65, 0x12, 0xff, 0xcf, 0x8f, 0x2d, 0xff, - 0xdf, 0xb8, 0x53, 0xff, 0xe4, 0xc8, 0x74, 0xff, - 0xe9, 0xc7, 0x7d, 0xff, 0xb7, 0x61, 0x0e, 0xff, - 0xed, 0xd0, 0x80, 0xff, 0xed, 0xcf, 0x77, 0xff, - 0xd0, 0x8c, 0x2b, 0xff, 0xd8, 0x98, 0x2e, 0xff, - 0xf3, 0xda, 0x97, 0xff, 0xe7, 0xce, 0x74, 0xff, - 0xdb, 0x88, 0x1e, 0xff, 0xe2, 0xbc, 0x6b, 0xff, - 0xb5, 0x59, 0x0e, 0xff, 0xcb, 0x8b, 0x31, 0xff, - 0xc0, 0x68, 0x0f, 0xff, 0xbb, 0x66, 0x0c, 0xff, - 0xbd, 0x75, 0x0f, 0xff, 0xe6, 0xb3, 0x40, 0xff, - 0xe5, 0xb7, 0x48, 0xff, 0xe3, 0xbe, 0x4c, 0xff, - 0xe3, 0xc1, 0x56, 0xff, 0xe5, 0xc4, 0x63, 0xff, - 0xe5, 0xc5, 0x62, 0xff, 0xe6, 0xc0, 0x55, 0xff, - 0xe1, 0xb8, 0x5c, 0xff, 0xe2, 0xb2, 0x43, 0xff, - 0xeb, 0xa9, 0x4b, 0xff, 0xd5, 0xa4, 0x3e, 0xff, - 0xe2, 0xc4, 0x7e, 0xff, 0xd4, 0x95, 0x21, 0xff, - 0xe7, 0xbe, 0x55, 0xff, 0xe9, 0xce, 0x7d, 0xff, - 0xe4, 0xce, 0x82, 0xff, 0xdd, 0x9d, 0x46, 0xff, - 0xe5, 0xb0, 0x50, 0xff, 0xe8, 0xce, 0x79, 0xff, - 0xe7, 0xd4, 0x85, 0xff, 0xeb, 0xcc, 0x72, 0xff, - 0xec, 0xc9, 0x6f, 0xff, 0xef, 0xce, 0x71, 0xff, - 0xdc, 0xae, 0x3f, 0xff, 0xda, 0x8e, 0x20, 0xff, - 0xc9, 0x73, 0x10, 0xff, 0xc7, 0x85, 0x24, 0xff, - 0xe8, 0xcb, 0x7d, 0xff, 0xb9, 0x67, 0x11, 0xff, - 0xc8, 0x84, 0x1f, 0xff, 0xd4, 0x9d, 0x4a, 0xff, - 0xd0, 0x7b, 0x28, 0xff, 0xbc, 0x67, 0x0c, 0xff, - 0x7b, 0x0c, 0x00, 0xff, 0xd2, 0x9c, 0x42, 0xff, - 0xe0, 0xc0, 0x6d, 0xff, 0xd7, 0x95, 0x24, 0xff, - 0xde, 0xad, 0x50, 0xff, 0xd7, 0x91, 0x2f, 0xff, - 0xde, 0xa2, 0x30, 0xff, 0xe2, 0xbe, 0x60, 0xff, - 0xe2, 0xbd, 0x6d, 0xff, 0xea, 0xbf, 0x61, 0xff, - 0xe4, 0xc4, 0x6f, 0xff, 0xbf, 0x71, 0x1e, 0xff, - 0xb8, 0x63, 0x12, 0xff, 0xd8, 0xa7, 0x4a, 0xff, - 0xeb, 0xd0, 0x81, 0xff, 0xc1, 0x7b, 0x09, 0xff, - 0xe4, 0xc1, 0x65, 0xff, 0xe3, 0xb7, 0x56, 0xff, - 0xf2, 0xd2, 0x7f, 0xff, 0xeb, 0xcf, 0x7c, 0xff, - 0x9e, 0x3d, 0x00, 0xff, 0xe1, 0xb0, 0x51, 0xff, - 0xf2, 0xdc, 0x91, 0xff, 0xea, 0xc0, 0x5a, 0xff, - 0xd8, 0x90, 0x24, 0xff, 0xdc, 0xb9, 0x5f, 0xff, - 0xb8, 0x61, 0x11, 0xff, 0xd3, 0xa9, 0x55, 0xff, - 0x7c, 0x13, 0x00, 0xff, 0x9c, 0x26, 0x0a, 0xff, - 0xab, 0x41, 0x07, 0xff, 0xb3, 0x51, 0x0a, 0xff, - 0xb1, 0x57, 0x0b, 0xff, 0xbf, 0x6a, 0x17, 0xff, - 0xde, 0xab, 0x4f, 0xff, 0xd7, 0x84, 0x24, 0xff, - 0xb8, 0x43, 0x0e, 0xff, 0xdb, 0xa5, 0x45, 0xff, - 0xdc, 0x98, 0x33, 0xff, 0xb9, 0x5c, 0x0e, 0xff, - 0x9c, 0x2d, 0x00, 0xff, 0xe9, 0xd7, 0x8f, 0xff, - 0xe3, 0xc0, 0x4a, 0xff, 0xcf, 0x89, 0x2a, 0xff, - 0xc6, 0x7d, 0x17, 0xff, 0xba, 0x59, 0x14, 0xff, - 0xe4, 0xbf, 0x55, 0xff, 0xe3, 0xc6, 0x76, 0xff, - 0xe5, 0xbd, 0x68, 0xff, 0xd4, 0x93, 0x1d, 0xff, - 0xe9, 0xbb, 0x4c, 0xff, 0xe4, 0xbe, 0x5d, 0xff, - 0xe5, 0xc2, 0x66, 0xff, 0xe4, 0xc2, 0x5e, 0xff, - 0xbd, 0x71, 0x1b, 0xff, 0xd1, 0x8b, 0x2c, 0xff, - 0xd8, 0x90, 0x2a, 0xff, 0xd6, 0x9f, 0x42, 0xff, - 0xe9, 0xce, 0x7d, 0xff, 0xdc, 0xa1, 0x3d, 0xff, - 0xc7, 0x7d, 0x1a, 0xff, 0xdd, 0xa9, 0x46, 0xff, - 0xdd, 0xbc, 0x6d, 0xff, 0xc4, 0x75, 0x19, 0xff, - 0xc8, 0x79, 0x1d, 0xff, 0xe5, 0xc6, 0x85, 0xff, - 0xec, 0xd8, 0x9d, 0xff, 0xe2, 0xab, 0x36, 0xff, - 0xe1, 0xc4, 0x7e, 0xff, 0xc8, 0x80, 0x07, 0xff, - 0xe3, 0xbe, 0x6d, 0xff, 0xc3, 0x6b, 0x07, 0xff, - 0xd9, 0xa6, 0x3b, 0xff, 0xe9, 0xcc, 0x7e, 0xff, - 0xe6, 0xcc, 0x6f, 0xff, 0xb1, 0x4f, 0x12, 0xff, - 0xae, 0x4c, 0x05, 0xff, 0xdc, 0xb6, 0x61, 0xff, - 0xec, 0xd9, 0x97, 0xff, 0xe5, 0xb1, 0x4b, 0xff, - 0xb8, 0x67, 0x0c, 0xff, 0xf2, 0xce, 0x7a, 0xff, - 0xf6, 0xdc, 0x92, 0xff, 0xee, 0xd1, 0x8b, 0xff, - 0x81, 0x04, 0x00, 0xff, 0xe6, 0xc2, 0x6a, 0xff, - 0xea, 0xcf, 0x76, 0xff, 0xe6, 0xb3, 0x48, 0xff, - 0xeb, 0xb8, 0x5c, 0xff, 0xda, 0xb5, 0x5d, 0xff, - 0xa5, 0x3c, 0x05, 0xff, 0xdc, 0xbd, 0x6a, 0xff, - 0xb3, 0x61, 0x29, 0xff, 0x9a, 0x2f, 0x05, 0xff, - 0xa0, 0x41, 0x01, 0xff, 0xb9, 0x72, 0x20, 0xff, - 0x9c, 0x32, 0x00, 0xff, 0xda, 0xa6, 0x50, 0xff, - 0xdd, 0xc2, 0x71, 0xff, 0xe0, 0xc9, 0x7d, 0xff, - 0xcd, 0x81, 0x23, 0xff, 0xe5, 0xae, 0x54, 0xff, - 0xe2, 0xbe, 0x60, 0xff, 0xc6, 0x83, 0x28, 0xff, - 0xe1, 0xd0, 0x88, 0xff, 0xea, 0xc5, 0x5d, 0xff, - 0x9e, 0x2a, 0x03, 0xff, 0xde, 0xb3, 0x64, 0xff, - 0xca, 0x74, 0x0f, 0xff, 0xbf, 0x5f, 0x09, 0xff, - 0xd9, 0xb3, 0x50, 0xff, 0xde, 0xab, 0x42, 0xff, - 0xe2, 0xb4, 0x54, 0xff, 0xf0, 0xcc, 0x80, 0xff, - 0xe7, 0xcd, 0x82, 0xff, 0xcd, 0x73, 0x1b, 0xff, - 0xbd, 0x5d, 0x09, 0xff, 0xc8, 0x75, 0x15, 0xff, - 0xb5, 0x50, 0x0c, 0xff, 0xda, 0xab, 0x4f, 0xff, - 0xe2, 0xb4, 0x54, 0xff, 0xdb, 0xa8, 0x4c, 0xff, - 0xeb, 0xcd, 0x75, 0xff, 0xec, 0xbe, 0x66, 0xff, - 0xd5, 0x98, 0x3f, 0xff, 0xd4, 0x90, 0x2b, 0xff, - 0xe5, 0xc6, 0x74, 0xff, 0xde, 0xb1, 0x54, 0xff, - 0xc0, 0x85, 0x3f, 0xff, 0xe7, 0xc6, 0x75, 0xff, - 0xec, 0xd6, 0x8d, 0xff, 0xe6, 0xb3, 0x48, 0xff, - 0xe5, 0xcd, 0x8d, 0xff, 0xe3, 0x8d, 0x26, 0xff, - 0xe2, 0xd1, 0x83, 0xff, 0xdc, 0x93, 0x34, 0xff, - 0xae, 0x4e, 0x00, 0xff, 0xef, 0xd8, 0x94, 0xff, - 0xeb, 0xc9, 0x70, 0xff, 0xc5, 0x82, 0x29, 0xff, - 0xd1, 0x6f, 0x16, 0xff, 0xe9, 0xcb, 0x83, 0xff, - 0xe9, 0xd6, 0x8a, 0xff, 0xf1, 0xd2, 0x80, 0xff, - 0x96, 0x2e, 0x23, 0xff, 0xb1, 0x62, 0x06, 0xff, - 0xec, 0xcb, 0x7a, 0xff, 0xe7, 0xcd, 0x83, 0xff, - 0xce, 0x8a, 0x27, 0xff, 0xe9, 0xcb, 0x73, 0xff, - 0xea, 0xc9, 0x68, 0xff, 0xe4, 0xb2, 0x43, 0xff, - 0xe6, 0xd3, 0x8f, 0xff, 0xdc, 0xaf, 0x5a, 0xff, - 0xcd, 0x8c, 0x26, 0xff, 0xdb, 0xc0, 0x71, 0xff, - 0xdf, 0xa7, 0x50, 0xff, 0x97, 0x2d, 0x00, 0xff, - 0xb3, 0x5d, 0x12, 0xff, 0xbf, 0x86, 0x37, 0xff, - 0xd6, 0xb5, 0x66, 0xff, 0xd7, 0xac, 0x4e, 0xff, - 0xcd, 0x7e, 0x21, 0xff, 0xea, 0xd3, 0x8f, 0xff, - 0xef, 0xcd, 0x76, 0xff, 0xd1, 0x8a, 0x2e, 0xff, - 0xdf, 0xb7, 0x55, 0xff, 0xe9, 0xd2, 0x8e, 0xff, - 0xe6, 0xc4, 0x58, 0xff, 0xb2, 0x59, 0x05, 0xff, - 0xe9, 0xc2, 0x75, 0xff, 0xde, 0xb5, 0x59, 0xff, - 0xb7, 0x54, 0x00, 0xff, 0xc4, 0x7c, 0x2a, 0xff, - 0xe5, 0xbd, 0x5e, 0xff, 0xeb, 0xd5, 0x9b, 0xff, - 0xdd, 0x92, 0x37, 0xff, 0xf0, 0xd5, 0x90, 0xff, - 0xed, 0xd1, 0x7e, 0xff, 0xe2, 0xb0, 0x59, 0xff, - 0xc0, 0x7f, 0x23, 0xff, 0xc1, 0x73, 0x11, 0xff, - 0xb0, 0x5f, 0x10, 0xff, 0xe2, 0xbf, 0x6b, 0xff, - 0xe7, 0xbc, 0x5e, 0xff, 0xdc, 0xad, 0x55, 0xff, - 0xe8, 0xc7, 0x6a, 0xff, 0xe1, 0xc8, 0x74, 0xff, - 0xd2, 0x9d, 0x3f, 0xff, 0xd3, 0x98, 0x32, 0xff, - 0xe8, 0xb4, 0x61, 0xff, 0xdf, 0xca, 0x77, 0xff, - 0xbf, 0x60, 0x06, 0xff, 0xdc, 0xbd, 0x6a, 0xff, - 0xf0, 0xd7, 0x85, 0xff, 0xea, 0xbf, 0x56, 0xff, - 0xef, 0xd8, 0x95, 0xff, 0xcd, 0x8f, 0x20, 0xff, - 0xea, 0xca, 0x7f, 0xff, 0xea, 0xce, 0x7b, 0xff, - 0xdb, 0x9d, 0x3a, 0xff, 0xed, 0xd6, 0x90, 0xff, - 0xf1, 0xbd, 0x5a, 0xff, 0xc6, 0x83, 0x1a, 0xff, - 0xcd, 0x8d, 0x35, 0xff, 0xea, 0xd1, 0x91, 0xff, - 0xf1, 0xcf, 0x6e, 0xff, 0xec, 0xd5, 0x85, 0xff, - 0xb5, 0x4e, 0x14, 0xff, 0xad, 0x47, 0x07, 0xff, - 0xec, 0xc9, 0x77, 0xff, 0xe8, 0xce, 0x7a, 0xff, - 0xd1, 0x84, 0x1c, 0xff, 0xe7, 0xcc, 0x73, 0xff, - 0xea, 0xbf, 0x60, 0xff, 0xd1, 0x78, 0x14, 0xff, - 0xea, 0xd1, 0x81, 0xff, 0xed, 0xca, 0x79, 0xff, - 0xd2, 0x80, 0x1d, 0xff, 0xe3, 0xc6, 0x78, 0xff, - 0xe7, 0xb9, 0x64, 0xff, 0xb5, 0x6b, 0x16, 0xff, - 0xce, 0x8b, 0x32, 0xff, 0xdb, 0xb6, 0x5b, 0xff, - 0xd9, 0xac, 0x4f, 0xff, 0xc9, 0x81, 0x1b, 0xff, - 0x81, 0x18, 0x00, 0xff, 0xe4, 0xb5, 0x59, 0xff, - 0xef, 0xd9, 0x90, 0xff, 0xf4, 0xcb, 0x71, 0xff, - 0xeb, 0xbf, 0x5e, 0xff, 0xe7, 0xc4, 0x66, 0xff, - 0xa7, 0x5b, 0x00, 0xff, 0xde, 0xa8, 0x52, 0xff, - 0xe1, 0xc8, 0x76, 0xff, 0xda, 0x9d, 0x32, 0xff, - 0xbc, 0x68, 0x0e, 0xff, 0xc7, 0x87, 0x30, 0xff, - 0xe0, 0xc0, 0x6d, 0xff, 0xee, 0xd4, 0x89, 0xff, - 0xef, 0xbb, 0x56, 0xff, 0xe8, 0xce, 0x7a, 0xff, - 0xea, 0xba, 0x54, 0xff, 0xda, 0xad, 0x50, 0xff, - 0xe2, 0xcb, 0x7f, 0xff, 0xed, 0xce, 0x7b, 0xff, - 0xac, 0x54, 0x0c, 0xff, 0xe4, 0xce, 0x85, 0xff, - 0xeb, 0xb0, 0x52, 0xff, 0xda, 0xac, 0x4e, 0xff, - 0xe0, 0xbd, 0x57, 0xff, 0xe0, 0xc8, 0x80, 0xff, - 0xcd, 0x93, 0x30, 0xff, 0xd0, 0x8b, 0x24, 0xff, - 0xb8, 0x6b, 0x0f, 0xff, 0xe8, 0xd2, 0x87, 0xff, - 0xdb, 0x93, 0x31, 0xff, 0xe0, 0xb8, 0x63, 0xff, - 0xec, 0xd0, 0x86, 0xff, 0xef, 0xc3, 0x60, 0xff, - 0xfb, 0xe3, 0xa3, 0xff, 0xb3, 0x5f, 0x00, 0xff, - 0xeb, 0xb0, 0x54, 0xff, 0xe8, 0xd0, 0x86, 0xff, - 0xe2, 0x90, 0x20, 0xff, 0xf7, 0xdd, 0xa0, 0xff, - 0xaf, 0x56, 0x02, 0xff, 0xb8, 0x5a, 0x12, 0xff, - 0x9d, 0x3f, 0x00, 0xff, 0xe6, 0xcb, 0x7e, 0xff, - 0xe0, 0xb7, 0x4d, 0xff, 0xeb, 0xd7, 0x8e, 0xff, - 0xd3, 0x85, 0x21, 0xff, 0x92, 0x2b, 0x00, 0xff, - 0xe8, 0xc5, 0x74, 0xff, 0xea, 0xce, 0x7a, 0xff, - 0xdf, 0xa9, 0x51, 0xff, 0xe6, 0xc8, 0x70, 0xff, - 0xe7, 0xc0, 0x63, 0xff, 0xca, 0x68, 0x07, 0xff, - 0xe9, 0xb5, 0x4f, 0xff, 0xed, 0xd7, 0x8c, 0xff, - 0xd8, 0x9d, 0x43, 0xff, 0xe3, 0xc0, 0x64, 0xff, - 0xea, 0xc9, 0x7a, 0xff, 0xd9, 0xb5, 0x67, 0xff, - 0xd9, 0xb1, 0x5c, 0xff, 0xda, 0x9c, 0x2d, 0xff, - 0xb8, 0x5d, 0x16, 0xff, 0xc9, 0x96, 0x45, 0xff, - 0xd9, 0xad, 0x56, 0xff, 0xd4, 0x9a, 0x36, 0xff, - 0xe7, 0xbe, 0x55, 0xff, 0xec, 0xd7, 0x94, 0xff, - 0xe4, 0xbc, 0x64, 0xff, 0xda, 0x97, 0x2c, 0xff, - 0xe3, 0xaf, 0x4c, 0xff, 0xe2, 0xc7, 0x78, 0xff, - 0xe2, 0xac, 0x3f, 0xff, 0xcd, 0x7d, 0x36, 0xff, - 0xc1, 0x7a, 0x20, 0xff, 0xe6, 0xac, 0x58, 0xff, - 0xde, 0xb7, 0x50, 0xff, 0xe6, 0xb2, 0x4f, 0xff, - 0xef, 0xd4, 0x87, 0xff, 0xe2, 0xbf, 0x65, 0xff, - 0xe0, 0xa7, 0x40, 0xff, 0x9f, 0x32, 0x0b, 0xff, - 0xdc, 0xa0, 0x2e, 0xff, 0xe1, 0xbe, 0x5a, 0xff, - 0xa2, 0x3b, 0x00, 0xff, 0xe7, 0xd1, 0x95, 0xff, - 0xa0, 0x4c, 0x04, 0xff, 0xfd, 0xce, 0x88, 0xff, - 0xe8, 0xc9, 0x77, 0xff, 0xe3, 0xc9, 0x74, 0xff, - 0xce, 0x89, 0x24, 0xff, 0xca, 0x82, 0x1e, 0xff, - 0xbd, 0x65, 0x0e, 0xff, 0xf0, 0xd7, 0x94, 0xff, - 0xd1, 0x87, 0x1c, 0xff, 0xd6, 0xaf, 0x52, 0xff, - 0xf1, 0xd2, 0x8f, 0xff, 0xec, 0xc2, 0x5e, 0xff, - 0xf0, 0xdc, 0x97, 0xff, 0xb4, 0x68, 0x0a, 0xff, - 0xcf, 0x7b, 0x18, 0xff, 0xed, 0xd6, 0x90, 0xff, - 0xd4, 0x95, 0x23, 0xff, 0xf4, 0xdb, 0x98, 0xff, - 0xaf, 0x5f, 0x16, 0xff, 0xc5, 0x71, 0x1b, 0xff, - 0x81, 0x08, 0x00, 0xff, 0xdc, 0xc1, 0x70, 0xff, - 0xe5, 0xb5, 0x49, 0xff, 0xf1, 0xde, 0x9a, 0xff, - 0xd4, 0x8b, 0x24, 0xff, 0xd3, 0x94, 0x33, 0xff, - 0xec, 0xc9, 0x6f, 0xff, 0xec, 0xd1, 0x84, 0xff, - 0xd7, 0x8f, 0x23, 0xff, 0xe3, 0xc1, 0x60, 0xff, - 0xe4, 0xc5, 0x72, 0xff, 0xca, 0x81, 0x22, 0xff, - 0xc6, 0x79, 0x21, 0xff, 0xf5, 0xdf, 0x8a, 0xff, - 0xf2, 0xdd, 0x9c, 0xff, 0xeb, 0xb5, 0x51, 0xff, - 0xe9, 0xc6, 0x74, 0xff, 0xd0, 0x8c, 0x21, 0xff, - 0xc8, 0x89, 0x2a, 0xff, 0xab, 0x48, 0x11, 0xff, - 0xa2, 0x3d, 0x07, 0xff, 0x88, 0x1e, 0x00, 0xff, - 0xd4, 0xa6, 0x44, 0xff, 0xdc, 0xb6, 0x6b, 0xff, - 0xe2, 0xbf, 0x6b, 0xff, 0xeb, 0xc6, 0x5e, 0xff, - 0xea, 0xd8, 0x90, 0xff, 0xdc, 0xb3, 0x59, 0xff, - 0xdd, 0xb0, 0x53, 0xff, 0xf9, 0xba, 0x53, 0xff, - 0xc6, 0x86, 0x2f, 0xff, 0xe8, 0xc6, 0x6d, 0xff, - 0xea, 0xc7, 0x75, 0xff, 0xe9, 0xca, 0x70, 0xff, - 0xe3, 0xb3, 0x4d, 0xff, 0xb3, 0x54, 0x00, 0xff, - 0xf1, 0xd6, 0x91, 0xff, 0xe1, 0xb0, 0x54, 0xff, - 0xda, 0xa8, 0x4f, 0xff, 0xb0, 0x53, 0x0e, 0xff, - 0xc4, 0x78, 0x22, 0xff, 0xcf, 0x86, 0x27, 0xff, - 0xa3, 0x56, 0x04, 0xff, 0xee, 0xce, 0x85, 0xff, - 0xa6, 0x44, 0x00, 0xff, 0xe4, 0xc5, 0x75, 0xff, - 0xe2, 0xb4, 0x52, 0xff, 0xe3, 0xc4, 0x74, 0xff, - 0xca, 0x78, 0x12, 0xff, 0xc7, 0x77, 0x16, 0xff, - 0xe7, 0xbd, 0x5b, 0xff, 0xf4, 0xd8, 0x97, 0xff, - 0xda, 0x99, 0x35, 0xff, 0xd1, 0x7b, 0x16, 0xff, - 0xf5, 0xd6, 0x93, 0xff, 0xed, 0xc3, 0x5f, 0xff, - 0xf2, 0xde, 0x99, 0xff, 0xcf, 0x85, 0x26, 0xff, - 0xd7, 0x97, 0x3f, 0xff, 0xe3, 0xc8, 0x77, 0xff, - 0xf5, 0xd0, 0x77, 0xff, 0xe3, 0xd5, 0x7c, 0xff, - 0xc1, 0x6d, 0x17, 0xff, 0xc5, 0x85, 0x2b, 0xff, - 0x9c, 0x31, 0x07, 0xff, 0xe3, 0xc3, 0x6e, 0xff, - 0xe4, 0xb5, 0x49, 0xff, 0xee, 0xdb, 0x99, 0xff, - 0xbe, 0x75, 0x17, 0xff, 0xcc, 0x79, 0x19, 0xff, - 0xf4, 0xd4, 0x7f, 0xff, 0xef, 0xd4, 0x87, 0xff, - 0xcd, 0x7f, 0x1a, 0xff, 0xc9, 0x87, 0x16, 0xff, - 0xe2, 0xcb, 0x7b, 0xff, 0xac, 0x5e, 0x09, 0xff, - 0xc3, 0x69, 0x11, 0xff, 0xd0, 0x92, 0x2f, 0xff, - 0xed, 0xd4, 0x84, 0xff, 0xef, 0xc9, 0x74, 0xff, - 0xe3, 0xc8, 0x79, 0xff, 0xb5, 0x4f, 0x0d, 0xff, - 0xcf, 0x9b, 0x38, 0xff, 0xd3, 0xa6, 0x4b, 0xff, - 0xb3, 0x61, 0x0b, 0xff, 0x9a, 0x42, 0x00, 0xff, - 0xcc, 0x91, 0x35, 0xff, 0xb3, 0x71, 0x10, 0xff, - 0xe9, 0xcd, 0x83, 0xff, 0xde, 0x99, 0x24, 0xff, - 0xe8, 0xc5, 0x5d, 0xff, 0xe8, 0xd1, 0x83, 0xff, - 0xe7, 0xc4, 0x6a, 0xff, 0xd8, 0xac, 0x4d, 0xff, - 0xe0, 0xc4, 0x71, 0xff, 0xe4, 0xc3, 0x64, 0xff, - 0xe5, 0xc5, 0x60, 0xff, 0xe7, 0xc8, 0x6d, 0xff, - 0xe8, 0xcd, 0x80, 0xff, 0xe2, 0xc4, 0x7b, 0xff, - 0xeb, 0xd9, 0x91, 0xff, 0xe6, 0xbd, 0x65, 0xff, - 0xd3, 0x9e, 0x40, 0xff, 0xb8, 0x62, 0x0f, 0xff, - 0xaf, 0x5b, 0x03, 0xff, 0xd1, 0x9f, 0x4a, 0xff, - 0xda, 0xa4, 0x44, 0xff, 0xe4, 0xb9, 0x5a, 0xff, - 0xcb, 0x89, 0x2b, 0xff, 0xe4, 0xc8, 0x87, 0xff, - 0xe4, 0xa5, 0x34, 0xff, 0xe2, 0xbe, 0x66, 0xff, - 0xdd, 0xa6, 0x42, 0xff, 0xe5, 0xca, 0x7b, 0xff, - 0xe2, 0xbd, 0x62, 0xff, 0xe9, 0xd4, 0x83, 0xff, - 0xc3, 0x68, 0x0b, 0xff, 0xc4, 0x6f, 0x14, 0xff, - 0xf1, 0xd5, 0x8b, 0xff, 0xef, 0xc6, 0x6a, 0xff, - 0xec, 0xd9, 0x94, 0xff, 0xf0, 0xb7, 0x60, 0xff, - 0xd6, 0x9f, 0x42, 0xff, 0xe3, 0xad, 0x4b, 0xff, - 0xf2, 0xdb, 0x98, 0xff, 0xf0, 0xbc, 0x66, 0xff, - 0xc5, 0x83, 0x25, 0xff, 0xcc, 0x8c, 0x34, 0xff, - 0x9a, 0x31, 0x02, 0xff, 0xe5, 0xc1, 0x75, 0xff, - 0xe8, 0xb6, 0x53, 0xff, 0xe7, 0xd4, 0x87, 0xff, - 0xe8, 0xb9, 0x5f, 0xff, 0xc8, 0x7d, 0x22, 0xff, - 0xef, 0xdd, 0x95, 0xff, 0xec, 0xc9, 0x75, 0xff, - 0xcd, 0x85, 0x1f, 0xff, 0xd7, 0x7b, 0x2e, 0xff, - 0xe1, 0xbd, 0x5f, 0xff, 0xe5, 0xca, 0x7d, 0xff, - 0xbd, 0x56, 0x09, 0xff, 0xd3, 0x9a, 0x41, 0xff, - 0xe7, 0xba, 0x53, 0xff, 0xf1, 0xd7, 0x9a, 0xff, - 0xe5, 0xbb, 0x65, 0xff, 0xb0, 0x63, 0x1b, 0xff, - 0xa5, 0x3e, 0x04, 0xff, 0xcf, 0x9c, 0x33, 0xff, - 0xd9, 0xaa, 0x4e, 0xff, 0xd1, 0x8f, 0x2f, 0xff, - 0xce, 0x89, 0x22, 0xff, 0xef, 0xd5, 0x8b, 0xff, - 0xe9, 0xc2, 0x67, 0xff, 0xe3, 0xbe, 0x6d, 0xff, - 0xdb, 0xa9, 0x4a, 0xff, 0xe9, 0xbb, 0x4b, 0xff, - 0xde, 0xbb, 0x55, 0xff, 0xe3, 0xc5, 0x6f, 0xff, - 0xe6, 0xca, 0x80, 0xff, 0xeb, 0xce, 0x88, 0xff, - 0xee, 0xc3, 0x65, 0xff, 0xd8, 0x9c, 0x2e, 0xff, - 0xd8, 0x90, 0x1a, 0xff, 0xde, 0xa9, 0x39, 0xff, - 0xee, 0xca, 0x6a, 0xff, 0xee, 0xd4, 0x8a, 0xff, - 0xdc, 0xbd, 0x6a, 0xff, 0xe9, 0xba, 0x6a, 0xff, - 0xc5, 0x7f, 0x29, 0xff, 0xe4, 0xb1, 0x56, 0xff, - 0xe6, 0xc3, 0x71, 0xff, 0xe7, 0xbe, 0x62, 0xff, - 0xd9, 0xa5, 0x3f, 0xff, 0xe1, 0xc5, 0x72, 0xff, - 0xe2, 0xb1, 0x52, 0xff, 0xe8, 0xcf, 0x7d, 0xff, - 0xea, 0xcd, 0x7d, 0xff, 0xe0, 0xb8, 0x3f, 0xff, - 0xf5, 0xd1, 0x7b, 0xff, 0xe4, 0xce, 0x78, 0xff, - 0xb8, 0x58, 0x0b, 0xff, 0xc2, 0x76, 0x18, 0xff, - 0xec, 0xd9, 0x8d, 0xff, 0xf5, 0xd0, 0x75, 0xff, - 0xf6, 0xdc, 0xa1, 0xff, 0xe6, 0xbf, 0x60, 0xff, - 0xd1, 0x90, 0x2c, 0xff, 0xc1, 0x7f, 0x21, 0xff, - 0xea, 0xd3, 0x87, 0xff, 0xe3, 0xbf, 0x69, 0xff, - 0xc9, 0x82, 0x28, 0xff, 0xcb, 0x8a, 0x2e, 0xff, - 0xb8, 0x6d, 0x1c, 0xff, 0xeb, 0xcb, 0x80, 0xff, - 0xe5, 0xbd, 0x5d, 0xff, 0xe9, 0xcc, 0x6e, 0xff, - 0xe9, 0xcb, 0x75, 0xff, 0xb5, 0x54, 0x05, 0xff, - 0xf5, 0xe2, 0xa0, 0xff, 0xdf, 0xb5, 0x5f, 0xff, - 0xdc, 0x92, 0x4b, 0xff, 0xb7, 0x61, 0x0a, 0xff, - 0xa2, 0x3f, 0x00, 0xff, 0xe2, 0xc7, 0x5e, 0xff, - 0xed, 0xd1, 0x87, 0xff, 0xeb, 0xbe, 0x61, 0xff, - 0xde, 0xb3, 0x55, 0xff, 0xe6, 0xc7, 0x5d, 0xff, - 0xec, 0xd4, 0x8a, 0xff, 0xe7, 0xca, 0x7e, 0xff, - 0xe4, 0xca, 0x75, 0xff, 0xe3, 0xc8, 0x71, 0xff, - 0xea, 0xcf, 0x80, 0xff, 0xea, 0xd0, 0x86, 0xff, - 0xe9, 0xd1, 0x87, 0xff, 0xec, 0xd1, 0x8a, 0xff, - 0xe2, 0xbf, 0x65, 0xff, 0xe4, 0xa5, 0x3e, 0xff, - 0xb7, 0x5b, 0x04, 0xff, 0x97, 0x2b, 0x07, 0xff, - 0xbd, 0x64, 0x10, 0xff, 0xc5, 0x79, 0x19, 0xff, - 0xbc, 0x74, 0x12, 0xff, 0xe6, 0xb6, 0x48, 0xff, - 0xe2, 0xc6, 0x5b, 0xff, 0xe8, 0xce, 0x83, 0xff, - 0xe4, 0xc7, 0x77, 0xff, 0xed, 0x9f, 0x4a, 0xff, - 0xc3, 0x6c, 0x05, 0xff, 0xf0, 0xd7, 0x94, 0xff, - 0xde, 0xa6, 0x37, 0xff, 0xe6, 0xcb, 0x7a, 0xff, - 0xf1, 0xd8, 0x95, 0xff, 0xd6, 0x9b, 0x37, 0xff, - 0xde, 0xb9, 0x51, 0xff, 0xe3, 0xbe, 0x63, 0xff, - 0xe7, 0xc9, 0x80, 0xff, 0xe6, 0xca, 0x76, 0xff, - 0xe6, 0xc4, 0x6b, 0xff, 0xe4, 0xbd, 0x46, 0xff, - 0xc5, 0x78, 0x0e, 0xff, 0xae, 0x55, 0x03, 0xff, - 0xee, 0xd7, 0x91, 0xff, 0xe9, 0xc6, 0x68, 0xff, - 0xc2, 0x69, 0x15, 0xff, 0x8f, 0x0c, 0x00, 0xff, - 0xef, 0xd2, 0x8c, 0xff, 0xe8, 0xb8, 0x4a, 0xff, - 0xef, 0xd4, 0x87, 0xff, 0xed, 0xd1, 0x7d, 0xff, - 0xc3, 0x6f, 0x0d, 0xff, 0xee, 0xcc, 0x75, 0xff, - 0xe4, 0xcc, 0x6c, 0xff, 0xe5, 0xc7, 0x6f, 0xff, - 0xe7, 0xbf, 0x67, 0xff, 0xcb, 0x84, 0x2a, 0xff, - 0xb1, 0x4c, 0x04, 0xff, 0xeb, 0xd2, 0x90, 0xff, - 0xe4, 0xab, 0x44, 0xff, 0xf3, 0xbc, 0x62, 0xff, - 0xdd, 0xc7, 0x71, 0xff, 0xf5, 0xd2, 0x80, 0xff, - 0xed, 0xd3, 0x7e, 0xff, 0xdf, 0xb1, 0x4f, 0xff, - 0xa2, 0x38, 0x00, 0xff, 0xc1, 0x76, 0x1b, 0xff, - 0x9d, 0x34, 0x00, 0xff, 0xa4, 0x39, 0x05, 0xff, - 0xe7, 0xb2, 0x42, 0xff, 0xde, 0xc1, 0x5b, 0xff, - 0xde, 0xb8, 0x65, 0xff, 0xe6, 0xc3, 0x71, 0xff, - 0xe4, 0xb7, 0x38, 0xff, 0xdf, 0xbc, 0x3e, 0xff, - 0xdf, 0xbf, 0x44, 0xff, 0xdf, 0xbc, 0x48, 0xff, - 0xe4, 0xbb, 0x49, 0xff, 0xe8, 0xb7, 0x41, 0xff, - 0xe1, 0xa5, 0x2d, 0xff, 0xd5, 0x92, 0x29, 0xff, - 0xba, 0x6b, 0x20, 0xff, 0xc1, 0x6f, 0x19, 0xff, - 0xc0, 0x73, 0x19, 0xff, 0xb0, 0x4d, 0x12, 0xff, - 0xc4, 0x7c, 0x2a, 0xff, 0xb8, 0x5f, 0x0b, 0xff, - 0xbc, 0x6b, 0x19, 0xff, 0xbb, 0x6b, 0x0c, 0xff, - 0xd6, 0x8e, 0x2c, 0xff, 0xdc, 0xac, 0x3e, 0xff, - 0xdf, 0xb3, 0x3a, 0xff, 0xe2, 0xbc, 0x67, 0xff, - 0xd9, 0xab, 0x49, 0xff, 0xe8, 0xce, 0x7a, 0xff, - 0xe8, 0xc8, 0x75, 0xff, 0xc7, 0x69, 0x09, 0xff, - 0xdc, 0xb8, 0x48, 0xff, 0xe8, 0xd2, 0x87, 0xff, - 0xe9, 0xd1, 0x89, 0xff, 0xed, 0xbc, 0x5f, 0xff, - 0xcb, 0x7a, 0x0e, 0xff, 0xcf, 0x85, 0x1a, 0xff, - 0xcb, 0x7f, 0x1d, 0xff, 0xb9, 0x58, 0x14, 0xff, - 0xc0, 0x74, 0x12, 0xff, 0xc5, 0x6c, 0x10, 0xff, - 0xed, 0xd9, 0x92, 0xff, 0xc2, 0x8c, 0x2a, 0xff, - 0xc7, 0x86, 0x28, 0xff, 0xda, 0xa2, 0x41, 0xff, - 0xee, 0xd6, 0x90, 0xff, 0xe7, 0xac, 0x38, 0xff, - 0xea, 0xcb, 0x6e, 0xff, 0xe8, 0xd4, 0x8d, 0xff, - 0xc8, 0x69, 0x0b, 0xff, 0xe8, 0xcd, 0x7e, 0xff, - 0xe7, 0xbd, 0x57, 0xff, 0xe9, 0xb7, 0x54, 0xff, - 0xe9, 0xd1, 0x8b, 0xff, 0xc9, 0x92, 0x37, 0xff, - 0xa5, 0x51, 0x08, 0xff, 0xe4, 0xca, 0x80, 0xff, - 0xbb, 0x63, 0x0c, 0xff, 0x9c, 0x4d, 0x12, 0xff, - 0xe3, 0xbf, 0x5f, 0xff, 0xee, 0xda, 0x93, 0xff, - 0xf0, 0xc6, 0x58, 0xff, 0xde, 0xc1, 0x73, 0xff, - 0xa9, 0x47, 0x06, 0xff, 0xc6, 0x83, 0x32, 0xff, - 0xab, 0x4b, 0x19, 0xff, 0xe5, 0xb7, 0x6a, 0xff, - 0xdc, 0xb6, 0x63, 0xff, 0xd4, 0x83, 0x18, 0xff, - 0xd3, 0x8f, 0x24, 0xff, 0xd3, 0x93, 0x25, 0xff, - 0xed, 0xd6, 0x90, 0xff, 0xe1, 0xa7, 0x43, 0xff, - 0xf1, 0xb4, 0x59, 0xff, 0xa8, 0x40, 0x09, 0xff, - 0xcb, 0x89, 0x2b, 0xff, 0xe4, 0xb6, 0x5e, 0xff, - 0xdd, 0xa6, 0x4b, 0xff, 0xbc, 0x6c, 0x13, 0xff, - 0xb7, 0x5c, 0x09, 0xff, 0xcd, 0x8c, 0x2e, 0xff, - 0xcf, 0x92, 0x35, 0xff, 0xa7, 0x3e, 0x05, 0xff, - 0xcf, 0xa3, 0x4c, 0xff, 0xb8, 0x62, 0x0d, 0xff, - 0xa5, 0x44, 0x00, 0xff, 0xe1, 0xbe, 0x6d, 0xff, - 0xde, 0xa4, 0x41, 0xff, 0xe3, 0xc3, 0x76, 0xff, - 0xcd, 0x77, 0x12, 0xff, 0xbe, 0x6b, 0x0b, 0xff, - 0xd9, 0xaa, 0x3e, 0xff, 0xe4, 0xbe, 0x5d, 0xff, - 0xe9, 0xcd, 0x83, 0xff, 0xc8, 0x6a, 0x10, 0xff, - 0xa7, 0x3e, 0x04, 0xff, 0xe9, 0xb3, 0x4f, 0xff, - 0xea, 0xb4, 0x48, 0xff, 0xe5, 0xc9, 0x76, 0xff, - 0xe1, 0x9b, 0x3b, 0xff, 0xd1, 0x92, 0x33, 0xff, - 0xb8, 0x5c, 0x1d, 0xff, 0x87, 0x0c, 0x07, 0xff, - 0xc1, 0x73, 0x20, 0xff, 0xf1, 0xd3, 0x8d, 0xff, - 0xe0, 0xc5, 0x6e, 0xff, 0xdc, 0x9a, 0x39, 0xff, - 0xd5, 0xa6, 0x4e, 0xff, 0xcc, 0x95, 0x38, 0xff, - 0xed, 0xd0, 0x80, 0xff, 0xe1, 0xac, 0x42, 0xff, - 0xdc, 0xad, 0x43, 0xff, 0xf0, 0xd5, 0x8e, 0xff, - 0xcc, 0x80, 0x20, 0xff, 0xde, 0xc2, 0x6f, 0xff, - 0xe4, 0xa6, 0x43, 0xff, 0xd1, 0x75, 0x12, 0xff, - 0xe6, 0xcc, 0x78, 0xff, 0xea, 0xd3, 0x8f, 0xff, - 0xde, 0xb8, 0x53, 0xff, 0xe2, 0xbe, 0x5e, 0xff, - 0x7f, 0x10, 0x07, 0xff, 0x7d, 0x19, 0x00, 0xff, - 0xe4, 0xc5, 0x6a, 0xff, 0xe6, 0xce, 0x76, 0xff, - 0xcf, 0x81, 0x14, 0xff, 0xec, 0xce, 0x88, 0xff, - 0xad, 0x58, 0x08, 0xff, 0xd0, 0x92, 0x2f, 0xff, - 0xde, 0xb7, 0x58, 0xff, 0xe1, 0xbe, 0x6a, 0xff, - 0xd5, 0x89, 0x29, 0xff, 0xd4, 0x98, 0x36, 0xff, - 0xd0, 0x9b, 0x33, 0xff, 0xc3, 0x6d, 0x16, 0xff, - 0xec, 0xd3, 0x83, 0xff, 0xea, 0xd2, 0x88, 0xff, - 0xdd, 0xc0, 0x72, 0xff, 0xea, 0xcf, 0x8c, 0xff, - 0xea, 0xc3, 0x68, 0xff, 0xe3, 0xb8, 0x59, 0xff, - 0xce, 0x9a, 0x44, 0xff, 0xb1, 0x60, 0x0e, 0xff, - 0xb7, 0x53, 0x08, 0xff, 0xd9, 0xaf, 0x4d, 0xff, - 0xdd, 0xab, 0x48, 0xff, 0x99, 0x34, 0x00, 0xff, - 0xde, 0xb7, 0x72, 0xff, 0xaf, 0x56, 0x04, 0xff, - 0xbc, 0x76, 0x30, 0xff, 0xe2, 0xc1, 0x70, 0xff, - 0xe9, 0xca, 0x77, 0xff, 0xf0, 0xd3, 0x87, 0xff, - 0xd0, 0x97, 0x40, 0xff, 0xbd, 0x67, 0x14, 0xff, - 0xae, 0x3c, 0x08, 0xff, 0xda, 0xb8, 0x57, 0xff, - 0xe6, 0xcb, 0x7a, 0xff, 0xe6, 0xb0, 0x56, 0xff, - 0xc3, 0x74, 0x18, 0xff, 0xc4, 0x6f, 0x1c, 0xff, - 0xcb, 0x7e, 0x16, 0xff, 0xdd, 0xb7, 0x4a, 0xff, - 0xe6, 0xc5, 0x74, 0xff, 0xd0, 0x90, 0x2f, 0xff, - 0xb3, 0x5c, 0x0c, 0xff, 0xce, 0x86, 0x32, 0xff, - 0xd0, 0xaa, 0x59, 0xff, 0xe7, 0xd6, 0x88, 0xff, - 0xdc, 0xac, 0x3e, 0xff, 0xcf, 0x9b, 0x38, 0xff, - 0xc3, 0x6f, 0x19, 0xff, 0xa6, 0x53, 0x0d, 0xff, - 0xee, 0xd8, 0x8d, 0xff, 0xe4, 0xc0, 0x60, 0xff, - 0xde, 0xa2, 0x34, 0xff, 0xe8, 0xd0, 0x8a, 0xff, - 0xd8, 0xa1, 0x3d, 0xff, 0xde, 0xb8, 0x63, 0xff, - 0xd7, 0x91, 0x2f, 0xff, 0xcb, 0x8c, 0x2d, 0xff, - 0xca, 0x8b, 0x22, 0xff, 0xe7, 0xcb, 0x68, 0xff, - 0xe9, 0xd5, 0x90, 0xff, 0xde, 0xab, 0x4f, 0xff, - 0xc0, 0x70, 0x17, 0xff, 0xc1, 0x79, 0x27, 0xff, - 0xee, 0xd6, 0x8e, 0xff, 0xe5, 0xbf, 0x5a, 0xff, - 0xd5, 0x8f, 0x2d, 0xff, 0xe2, 0xcb, 0x7f, 0xff, - 0xe9, 0xbb, 0x5d, 0xff, 0xde, 0xaa, 0x47, 0xff, - 0xe3, 0xbc, 0x5f, 0xff, 0xe0, 0xb8, 0x60, 0xff, - 0xb8, 0x4c, 0x0c, 0xff, 0xdb, 0xb2, 0x60, 0xff, - 0xdb, 0xa7, 0x3a, 0xff, 0xc1, 0x69, 0x10, 0xff, - 0xae, 0x6a, 0x17, 0xff, 0xed, 0xd3, 0x89, 0xff, - 0xd7, 0x92, 0x1b, 0xff, 0xe3, 0xb3, 0x37, 0xff, - 0xe1, 0xba, 0x53, 0xff, 0xe3, 0xba, 0x62, 0xff, - 0xdc, 0x9a, 0x43, 0xff, 0xb6, 0x5d, 0x0b, 0xff, - 0xbf, 0x7b, 0x28, 0xff, 0xe0, 0xb7, 0x5d, 0xff, - 0xdd, 0xc0, 0x5c, 0xff, 0xdb, 0x9c, 0x4f, 0xff, - 0xd9, 0xb9, 0x62, 0xff, 0xc4, 0x69, 0x0e, 0xff, - 0xf2, 0xd9, 0x96, 0xff, 0xe2, 0xaf, 0x44, 0xff, - 0xea, 0xd5, 0x92, 0xff, 0xeb, 0xc2, 0x68, 0xff, - 0xdf, 0xb5, 0x61, 0xff, 0xc3, 0x6e, 0x1b, 0xff, - 0xba, 0x63, 0x14, 0xff, 0xc0, 0x7e, 0x20, 0xff, - 0xe7, 0xc1, 0x5e, 0xff, 0xe9, 0xcb, 0x82, 0xff, - 0xd7, 0x97, 0x35, 0xff, 0xd1, 0x88, 0x29, 0xff, - 0xe5, 0xa5, 0x4d, 0xff, 0xdb, 0x9c, 0x2a, 0xff, - 0xe4, 0xc1, 0x67, 0xff, 0xce, 0x8a, 0x29, 0xff, - 0xc2, 0x6f, 0x11, 0xff, 0xc7, 0x83, 0x1e, 0xff, - 0xf4, 0xe1, 0x9c, 0xff, 0xea, 0xc1, 0x55, 0xff, - 0xd6, 0x9e, 0x3d, 0xff, 0x98, 0x2a, 0x00, 0xff, - 0x95, 0x21, 0x00, 0xff, 0xb9, 0x6f, 0x24, 0xff, - 0xfb, 0xe0, 0x9d, 0xff, 0xd6, 0x86, 0x13, 0xff, - 0xda, 0xb2, 0x5a, 0xff, 0xe4, 0xd0, 0x89, 0xff, - 0xe0, 0xb9, 0x5a, 0xff, 0xda, 0xb2, 0x5d, 0xff, - 0xd3, 0x8e, 0x27, 0xff, 0xcd, 0xa0, 0x45, 0xff, - 0x88, 0x22, 0x00, 0xff, 0xed, 0xbb, 0x64, 0xff, - 0xdf, 0xbe, 0x4d, 0xff, 0xea, 0xcf, 0x80, 0xff, - 0xe3, 0xc4, 0x6a, 0xff, 0xe2, 0xa6, 0x36, 0xff, - 0xec, 0xd8, 0x93, 0xff, 0xd0, 0x8c, 0x1f, 0xff, - 0xd5, 0x95, 0x31, 0xff, 0xe8, 0xca, 0x70, 0xff, - 0xeb, 0xd3, 0x7b, 0xff, 0xdf, 0xbe, 0x6d, 0xff, - 0xe9, 0xce, 0x7f, 0xff, 0xe7, 0xcd, 0x80, 0xff, - 0xe9, 0xbc, 0x67, 0xff, 0xda, 0xae, 0x55, 0xff, - 0xd0, 0x85, 0x20, 0xff, 0xa9, 0x37, 0x05, 0xff, - 0xd2, 0x92, 0x3a, 0xff, 0xf0, 0xdb, 0xa4, 0xff, - 0xde, 0xa8, 0x44, 0xff, 0xd7, 0x97, 0x29, 0xff, - 0xdf, 0xa9, 0x45, 0xff, 0xdd, 0xac, 0x50, 0xff, - 0xc3, 0x7d, 0x27, 0xff, 0x93, 0x25, 0x0a, 0xff, - 0x92, 0x25, 0x00, 0xff, 0xec, 0xb5, 0x5a, 0xff, - 0xe8, 0xc8, 0x7b, 0xff, 0xd5, 0xaa, 0x4c, 0xff, - 0xd5, 0xa3, 0x44, 0xff, 0xce, 0x9b, 0x42, 0xff, - 0xe9, 0xcf, 0x85, 0xff, 0xb6, 0x4d, 0x00, 0xff, - 0xf6, 0xd7, 0xa1, 0xff, 0xf6, 0xb2, 0x51, 0xff, - 0xe4, 0xcc, 0x8e, 0xff, 0xc7, 0x75, 0x1f, 0xff, - 0x80, 0x05, 0x00, 0xff, 0xb3, 0x4b, 0x0e, 0xff, - 0xc3, 0x73, 0x1a, 0xff, 0xe7, 0xce, 0x7c, 0xff, - 0xe2, 0xbd, 0x64, 0xff, 0xc9, 0x94, 0x2e, 0xff, - 0xd1, 0x9d, 0x38, 0xff, 0xd7, 0x87, 0x26, 0xff, - 0xd8, 0xaf, 0x55, 0xff, 0xcf, 0x86, 0x20, 0xff, - 0xbe, 0x6a, 0x0a, 0xff, 0xef, 0xd5, 0x8b, 0xff, - 0xec, 0xca, 0x69, 0xff, 0xd9, 0x9f, 0x34, 0xff, - 0xc3, 0x71, 0x0e, 0xff, 0xb7, 0x60, 0x11, 0xff, - 0xc2, 0x7a, 0x25, 0xff, 0xda, 0xac, 0x4e, 0xff, - 0xe8, 0xd2, 0x86, 0xff, 0xd8, 0x85, 0x0d, 0xff, - 0xde, 0xb9, 0x5e, 0xff, 0xe6, 0xd3, 0x8f, 0xff, - 0xe6, 0xba, 0x59, 0xff, 0xe3, 0xb4, 0x64, 0xff, - 0xd6, 0x95, 0x39, 0xff, 0xd0, 0xa2, 0x4c, 0xff, - 0xec, 0xc5, 0x78, 0xff, 0xe8, 0xcb, 0x7b, 0xff, - 0xd7, 0x74, 0x17, 0xff, 0xf1, 0xab, 0x53, 0xff, - 0xe1, 0xb9, 0x57, 0xff, 0xe4, 0xaf, 0x47, 0xff, - 0xec, 0xd0, 0x87, 0xff, 0xd0, 0x8b, 0x24, 0xff, - 0xd0, 0x93, 0x38, 0xff, 0xe6, 0xb6, 0x50, 0xff, - 0xec, 0xd1, 0x8a, 0xff, 0xc7, 0x79, 0x0a, 0xff, - 0xd7, 0x99, 0x2a, 0xff, 0xe8, 0xbc, 0x59, 0xff, - 0xe4, 0xc2, 0x6b, 0xff, 0xc7, 0x91, 0x27, 0xff, - 0xaa, 0x68, 0x0a, 0xff, 0xed, 0xc7, 0x74, 0xff, - 0xe6, 0xc7, 0x6d, 0xff, 0xf5, 0xe0, 0x9f, 0xff, - 0xcf, 0x87, 0x23, 0xff, 0xc2, 0x6a, 0x08, 0xff, - 0xe8, 0xcd, 0x88, 0xff, 0xa1, 0x51, 0x08, 0xff, - 0xc4, 0x7f, 0x20, 0xff, 0xc9, 0x8a, 0x29, 0xff, - 0x83, 0x02, 0x00, 0xff, 0x9e, 0x3a, 0x08, 0xff, - 0xe8, 0xd0, 0x8a, 0xff, 0xdb, 0xa4, 0x40, 0xff, - 0xcd, 0x8b, 0x35, 0xff, 0xeb, 0xd4, 0x8e, 0xff, - 0xe6, 0xbc, 0x56, 0xff, 0xb4, 0x52, 0x09, 0xff, - 0xf1, 0xe1, 0x96, 0xff, 0xd9, 0x83, 0x1c, 0xff, - 0xea, 0xd1, 0x8f, 0xff, 0xe9, 0xbb, 0x63, 0xff, - 0x83, 0x05, 0x08, 0xff, 0x9c, 0x36, 0x06, 0xff, - 0xb1, 0x47, 0x0b, 0xff, 0xe8, 0xcb, 0x7d, 0xff, - 0xe8, 0xb3, 0x4d, 0xff, 0xe9, 0xcd, 0x84, 0xff, - 0xeb, 0xd8, 0x9d, 0xff, 0xf2, 0xca, 0x72, 0xff, - 0xe3, 0xbb, 0x63, 0xff, 0xe3, 0xc1, 0x68, 0xff, - 0xe9, 0xcd, 0x84, 0xff, 0xe7, 0xcd, 0x70, 0xff, - 0xda, 0x94, 0x34, 0xff, 0xbe, 0x5c, 0x1f, 0xff, - 0xc6, 0x7b, 0x20, 0xff, 0x98, 0x1f, 0x00, 0xff, - 0x96, 0x4a, 0x00, 0xff, 0xec, 0xd7, 0x86, 0xff, - 0xed, 0xd1, 0x7d, 0xff, 0xd5, 0x91, 0x26, 0xff, - 0xdf, 0xb8, 0x5d, 0xff, 0xeb, 0xd7, 0x92, 0xff, - 0xea, 0xba, 0x66, 0xff, 0xcc, 0x8c, 0x2b, 0xff, - 0xd8, 0x9a, 0x33, 0xff, 0xdb, 0xb7, 0x5f, 0xff, - 0xee, 0xd5, 0x85, 0xff, 0xec, 0xcd, 0x7b, 0xff, - 0xbf, 0x62, 0x05, 0xff, 0xca, 0x90, 0x2f, 0xff, - 0xe3, 0xb6, 0x63, 0xff, 0xe6, 0xca, 0x77, 0xff, - 0xe9, 0xc8, 0x6b, 0xff, 0xd4, 0xa5, 0x49, 0xff, - 0xd6, 0xa8, 0x52, 0xff, 0x97, 0x34, 0x00, 0xff, - 0xe6, 0xd4, 0x88, 0xff, 0xe2, 0xaf, 0x56, 0xff, - 0xc2, 0x8f, 0x3e, 0xff, 0xda, 0xb0, 0x5a, 0xff, - 0xea, 0xce, 0x85, 0xff, 0xec, 0xd1, 0x84, 0xff, - 0xe5, 0xcb, 0x7e, 0xff, 0xe0, 0xc4, 0x61, 0xff, - 0xe5, 0xa6, 0x34, 0xff, 0xf0, 0xd6, 0x9b, 0xff, - 0xb7, 0x6e, 0x10, 0xff, 0xea, 0xb0, 0x4f, 0xff, - 0xe9, 0xd0, 0x7e, 0xff, 0x9b, 0x3b, 0x00, 0xff, - 0x9b, 0x2d, 0x00, 0xff, 0xc7, 0x8f, 0x30, 0xff, - 0xc7, 0x7e, 0x1f, 0xff, 0xa3, 0x3a, 0x03, 0xff, - 0xef, 0xd3, 0x92, 0xff, 0xee, 0xaf, 0x45, 0xff, - 0xc6, 0x73, 0x17, 0xff, 0xf0, 0xd6, 0x8c, 0xff, - 0xd9, 0x90, 0x27, 0xff, 0xdc, 0xb3, 0x5b, 0xff, - 0xf1, 0xdf, 0x9d, 0xff, 0xd5, 0x7e, 0x1f, 0xff, - 0xec, 0xc9, 0x6f, 0xff, 0xe6, 0xd2, 0x8b, 0xff, - 0xca, 0x77, 0x19, 0xff, 0xaa, 0x53, 0x06, 0xff, - 0xae, 0x55, 0x05, 0xff, 0xe9, 0xc6, 0x72, 0xff, - 0xed, 0xc8, 0x6f, 0xff, 0xd8, 0x9f, 0x2c, 0xff, - 0xe2, 0xb7, 0x47, 0xff, 0xe4, 0xc9, 0x72, 0xff, - 0xe9, 0xd3, 0x8a, 0xff, 0xe4, 0xbc, 0x5a, 0xff, - 0xe3, 0xaf, 0x41, 0xff, 0xca, 0x8d, 0x23, 0xff, - 0xaa, 0x44, 0x14, 0xff, 0x80, 0x0f, 0x00, 0xff, - 0xcd, 0x93, 0x3f, 0xff, 0x7e, 0x2c, 0x00, 0xff, - 0xe9, 0xd1, 0x89, 0xff, 0xf2, 0xdf, 0x9b, 0xff, - 0xe1, 0xbc, 0x61, 0xff, 0xd9, 0x9b, 0x2c, 0xff, - 0xdb, 0xae, 0x47, 0xff, 0xf1, 0xdc, 0x99, 0xff, - 0xa8, 0x5d, 0x0a, 0xff, 0xeb, 0xc7, 0x6f, 0xff, - 0xe7, 0xcd, 0x83, 0xff, 0xe5, 0xb6, 0x5a, 0xff, - 0xed, 0xd9, 0x94, 0xff, 0xec, 0xc9, 0x75, 0xff, - 0xe3, 0xa5, 0x50, 0xff, 0xe3, 0xc9, 0x7f, 0xff, - 0xde, 0xae, 0x40, 0xff, 0xe8, 0xca, 0x81, 0xff, - 0xeb, 0xb9, 0x56, 0xff, 0xcc, 0x82, 0x17, 0xff, - 0xd8, 0xa8, 0x44, 0xff, 0xda, 0xb1, 0x59, 0xff, - 0xe8, 0xc6, 0x65, 0xff, 0xea, 0xd4, 0x89, 0xff, - 0xe4, 0xa7, 0x4a, 0xff, 0xba, 0x57, 0x04, 0xff, - 0xca, 0x79, 0x0e, 0xff, 0xda, 0xa1, 0x30, 0xff, - 0xb6, 0x6b, 0x06, 0xff, 0xbc, 0x6e, 0x1b, 0xff, - 0xa7, 0x38, 0x03, 0xff, 0xef, 0xd3, 0x92, 0xff, - 0xbc, 0x71, 0x20, 0xff, 0xe4, 0xc8, 0x75, 0xff, - 0xec, 0xcc, 0x77, 0xff, 0xc7, 0x8b, 0x33, 0xff, - 0x87, 0x0c, 0x04, 0xff, 0xb7, 0x66, 0x14, 0xff, - 0xc8, 0x88, 0x2e, 0xff, 0xc9, 0x78, 0x26, 0xff, - 0xeb, 0xd9, 0x91, 0xff, 0xe5, 0xc1, 0x60, 0xff, - 0xe5, 0xbd, 0x5e, 0xff, 0xec, 0xd2, 0x7e, 0xff, - 0xd6, 0xa4, 0x4d, 0xff, 0xdb, 0x97, 0x32, 0xff, - 0xec, 0xd9, 0x94, 0xff, 0xbf, 0x67, 0x0d, 0xff, - 0x9c, 0x45, 0x00, 0xff, 0xe7, 0xd3, 0x8e, 0xff, - 0xf3, 0xc7, 0x70, 0xff, 0xc7, 0x84, 0x29, 0xff, - 0xc5, 0x92, 0x37, 0xff, 0xc8, 0x9d, 0x41, 0xff, - 0xe9, 0xca, 0x78, 0xff, 0x99, 0x3b, 0x00, 0xff, - 0xdc, 0x9c, 0x38, 0xff, 0xcd, 0x82, 0x1c, 0xff, - 0xe3, 0xbb, 0x4c, 0xff, 0xe6, 0xcc, 0x78, 0xff, - 0xee, 0xd0, 0x88, 0xff, 0xdd, 0xa0, 0x45, 0xff, - 0xb3, 0x4e, 0x0a, 0xff, 0x92, 0x24, 0x00, 0xff, - 0xe4, 0xbb, 0x6b, 0xff, 0xed, 0xca, 0x8a, 0xff, - 0xdd, 0xb2, 0x4a, 0xff, 0xfa, 0xe7, 0xac, 0xff, - 0xd4, 0xaa, 0x56, 0xff, 0xde, 0x9a, 0x37, 0xff, - 0xd6, 0xa7, 0x3d, 0xff, 0xf2, 0xe0, 0xa0, 0xff, - 0xd9, 0xa8, 0x4b, 0xff, 0xe0, 0xb2, 0x54, 0xff, - 0xdd, 0xa8, 0x34, 0xff, 0xd4, 0x7c, 0x18, 0xff, - 0xec, 0xd9, 0x9e, 0xff, 0xe9, 0xc1, 0x62, 0xff, - 0xdc, 0xb4, 0x6c, 0xff, 0xe5, 0xb1, 0x44, 0xff, - 0xaa, 0x4c, 0x04, 0xff, 0xef, 0xc3, 0x7c, 0xff, - 0xd3, 0x99, 0x2d, 0xff, 0xdc, 0xbb, 0x6a, 0xff, - 0xd2, 0x8e, 0x3d, 0xff, 0xce, 0x87, 0x1d, 0xff, - 0xd5, 0x9c, 0x35, 0xff, 0xe2, 0xc9, 0x6c, 0xff, - 0xe4, 0xd2, 0x8a, 0xff, 0xfe, 0xca, 0x74, 0xff, - 0xc0, 0x60, 0x0a, 0xff, 0xd9, 0xae, 0x50, 0xff, - 0xab, 0x4d, 0x00, 0xff, 0xbd, 0x6c, 0x11, 0xff, - 0xc6, 0x75, 0x23, 0xff, 0xed, 0xda, 0x95, 0xff, - 0xee, 0xa8, 0x53, 0xff, 0xe3, 0xc7, 0x7d, 0xff, - 0xed, 0xb5, 0x6a, 0xff, 0xcb, 0x84, 0x32, 0xff, - 0xb6, 0x78, 0x2f, 0xff, 0xa9, 0x4f, 0x03, 0xff, - 0xba, 0x68, 0x05, 0xff, 0xcb, 0x82, 0x23, 0xff, - 0xee, 0xd7, 0x94, 0xff, 0xe8, 0xc6, 0x7e, 0xff, - 0xe8, 0xcb, 0x8f, 0xff, 0xf0, 0xca, 0x79, 0xff, - 0xce, 0x86, 0x20, 0xff, 0xc2, 0x5c, 0x0a, 0xff, - 0xec, 0xd7, 0x88, 0xff, 0xc8, 0x80, 0x1c, 0xff, - 0x97, 0x13, 0x07, 0xff, 0xe5, 0xc2, 0x5c, 0xff, - 0xe6, 0xcf, 0x89, 0xff, 0xd7, 0x99, 0x46, 0xff, - 0xbd, 0x67, 0x2a, 0xff, 0xa2, 0x2c, 0x00, 0xff, - 0xe8, 0xcf, 0x7f, 0xff, 0x8f, 0x39, 0x00, 0xff, - 0xda, 0xa9, 0x42, 0xff, 0xc2, 0x67, 0x0c, 0xff, - 0xc7, 0x6e, 0x12, 0xff, 0xd2, 0xa2, 0x34, 0xff, - 0xe1, 0xb7, 0x47, 0xff, 0xe7, 0xc7, 0x7c, 0xff, - 0xea, 0xcf, 0x8c, 0xff, 0xd8, 0xb2, 0x4f, 0xff, - 0xdc, 0xa6, 0x3a, 0xff, 0xce, 0x90, 0x23, 0xff, - 0xdd, 0xb4, 0x5c, 0xff, 0xed, 0xdb, 0x91, 0xff, - 0xc3, 0x6e, 0x1d, 0xff, 0xd4, 0x94, 0x28, 0xff, - 0xe8, 0xc3, 0x6a, 0xff, 0xec, 0xd2, 0x87, 0xff, - 0xd9, 0x8c, 0x24, 0xff, 0xc4, 0x6a, 0x12, 0xff, - 0xae, 0x48, 0x06, 0xff, 0xdc, 0x9e, 0x49, 0xff, - 0xef, 0xda, 0x9b, 0xff, 0xec, 0xb7, 0x51, 0xff, - 0xd6, 0x8b, 0x25, 0xff, 0xaf, 0x4d, 0x06, 0xff, - 0xe5, 0xc5, 0x70, 0xff, 0xdd, 0xba, 0x5c, 0xff, - 0xf4, 0xb3, 0x57, 0xff, 0xeb, 0xd4, 0x90, 0xff, - 0xd7, 0xa6, 0x4a, 0xff, 0xd4, 0x88, 0x3a, 0xff, - 0x98, 0x2e, 0x00, 0xff, 0xdb, 0xa7, 0x51, 0xff, - 0xe3, 0xba, 0x48, 0xff, 0xe4, 0xc4, 0x6d, 0xff, - 0xe8, 0xc7, 0x7a, 0xff, 0xe7, 0xcc, 0x87, 0xff, - 0xe5, 0xcb, 0x81, 0xff, 0xe4, 0xc9, 0x7a, 0xff, - 0xe5, 0xbc, 0x60, 0xff, 0xee, 0xd9, 0x98, 0xff, - 0xe5, 0xb9, 0x58, 0xff, 0xe4, 0xbf, 0x6e, 0xff, - 0xe3, 0xba, 0x6b, 0xff, 0xd3, 0xa7, 0x50, 0xff, - 0xdf, 0xb4, 0x66, 0xff, 0xd6, 0x9d, 0x36, 0xff, - 0xee, 0xc4, 0x62, 0xff, 0xe5, 0xc9, 0x75, 0xff, - 0xee, 0xd7, 0x89, 0xff, 0xed, 0xd1, 0x7d, 0xff, - 0xf0, 0xd7, 0x95, 0xff, 0xc9, 0x85, 0x22, 0xff, - 0xc5, 0x7f, 0x29, 0xff, 0xc1, 0x67, 0x0f, 0xff, - 0xea, 0xcf, 0x7e, 0xff, 0xcd, 0x84, 0x1e, 0xff, - 0xcb, 0x7e, 0x24, 0xff, 0xd3, 0x8b, 0x41, 0xff, - 0xf0, 0xd0, 0x7d, 0xff, 0xe5, 0xce, 0x82, 0xff, - 0xdf, 0xc4, 0x69, 0xff, 0x88, 0x38, 0x00, 0xff, - 0xea, 0xcc, 0x76, 0xff, 0xe2, 0xcc, 0x79, 0xff, - 0xe4, 0xd2, 0x88, 0xff, 0xe3, 0xce, 0x7f, 0xff, - 0xd8, 0xa2, 0x4a, 0xff, 0xda, 0xac, 0x4e, 0xff, - 0xbc, 0x61, 0x08, 0xff, 0xc2, 0x70, 0x0d, 0xff, - 0xe6, 0xbc, 0x4e, 0xff, 0xe0, 0xc6, 0x72, 0xff, - 0xe3, 0xc3, 0x6e, 0xff, 0xc7, 0x6a, 0x0b, 0xff, - 0xba, 0x57, 0x02, 0xff, 0xef, 0xd2, 0x8c, 0xff, - 0xcc, 0x81, 0x24, 0xff, 0xd1, 0x82, 0x19, 0xff, - 0xee, 0xd4, 0x87, 0xff, 0xec, 0xd3, 0x81, 0xff, - 0xdd, 0xa4, 0x4a, 0xff, 0xb2, 0x5b, 0x0c, 0xff, - 0xa4, 0x39, 0x05, 0xff, 0xe3, 0xb6, 0x63, 0xff, - 0xe8, 0xd5, 0x89, 0xff, 0xe9, 0xb3, 0x51, 0xff, - 0xc1, 0x72, 0x15, 0xff, 0x9b, 0x2b, 0x00, 0xff, - 0xe1, 0xc8, 0x78, 0xff, 0xe7, 0xb4, 0x4b, 0xff, - 0xa9, 0x3c, 0x00, 0xff, 0xe7, 0xd3, 0x7d, 0xff, - 0xe7, 0xc3, 0x62, 0xff, 0xaa, 0x4c, 0x0f, 0xff, - 0xa7, 0x42, 0x0a, 0xff, 0xde, 0xaf, 0x53, 0xff, - 0xde, 0xad, 0x46, 0xff, 0xcf, 0x8f, 0x2e, 0xff, - 0xdb, 0x9b, 0x2d, 0xff, 0xe2, 0xae, 0x38, 0xff, - 0xe5, 0xb1, 0x43, 0xff, 0xe3, 0xb9, 0x49, 0xff, - 0xe3, 0xb2, 0x3b, 0xff, 0xf2, 0xd9, 0x99, 0xff, - 0xef, 0xba, 0x54, 0xff, 0xdc, 0xb7, 0x5c, 0xff, - 0xc7, 0x8e, 0x27, 0xff, 0xd9, 0xa4, 0x3e, 0xff, - 0xde, 0xbb, 0x5f, 0xff, 0xea, 0xd5, 0x92, 0xff, - 0xe4, 0xca, 0x69, 0xff, 0xe9, 0xa4, 0x2f, 0xff, - 0xed, 0xd7, 0x81, 0xff, 0xed, 0xd3, 0x88, 0xff, - 0xdb, 0xb7, 0x69, 0xff, 0xcb, 0x92, 0x38, 0xff, - 0xba, 0x5e, 0x11, 0xff, 0xb1, 0x5f, 0x09, 0xff, - 0xe6, 0xcd, 0x7d, 0xff, 0xb4, 0x5f, 0x05, 0xff, - 0xcc, 0x94, 0x35, 0xff, 0xc4, 0x84, 0x22, 0xff, - 0xe3, 0xb8, 0x5a, 0xff, 0xda, 0x95, 0x30, 0xff, - 0xe0, 0xbe, 0x53, 0xff, 0xdc, 0xbd, 0x6b, 0xff, - 0xd5, 0xad, 0x4e, 0xff, 0xe8, 0xd4, 0x8f, 0xff, - 0xd4, 0x92, 0x24, 0xff, 0xe2, 0xbd, 0x55, 0xff, - 0xe6, 0xc8, 0x6e, 0xff, 0xe6, 0xd0, 0x87, 0xff, - 0xf4, 0xbf, 0x71, 0xff, 0xae, 0x4d, 0x09, 0xff, - 0xdb, 0xac, 0x52, 0xff, 0xc6, 0x74, 0x06, 0xff, - 0xdd, 0xae, 0x42, 0xff, 0xdf, 0xb0, 0x58, 0xff, - 0xd4, 0xa0, 0x3a, 0xff, 0xeb, 0xd5, 0x8c, 0xff, - 0xca, 0x89, 0x25, 0xff, 0xca, 0x78, 0x14, 0xff, - 0xf0, 0xde, 0x9e, 0xff, 0xec, 0xbe, 0x5e, 0xff, - 0xda, 0xaa, 0x55, 0xff, 0xb7, 0x62, 0x11, 0xff, - 0xb3, 0x5d, 0x08, 0xff, 0xe1, 0xb4, 0x63, 0xff, - 0xe8, 0xca, 0x74, 0xff, 0xee, 0xc0, 0x62, 0xff, - 0xbb, 0x77, 0x16, 0xff, 0xdf, 0x96, 0x51, 0xff, - 0xe0, 0xc6, 0x67, 0xff, 0x80, 0x1f, 0x00, 0xff, - 0x94, 0x24, 0x00, 0xff, 0xe8, 0xb6, 0x55, 0xff, - 0xea, 0xd3, 0x85, 0xff, 0xf3, 0xc7, 0x7c, 0xff, - 0xb1, 0x59, 0x0f, 0xff, 0xe1, 0xbc, 0x61, 0xff, - 0xe5, 0xca, 0x73, 0xff, 0xc1, 0x63, 0x19, 0xff, - 0xd8, 0x92, 0x30, 0xff, 0xdc, 0x9e, 0x31, 0xff, - 0xe1, 0xa6, 0x40, 0xff, 0xce, 0x7a, 0x20, 0xff, - 0xad, 0x4a, 0x11, 0xff, 0xf0, 0xdc, 0x97, 0xff, - 0xce, 0x92, 0x24, 0xff, 0xda, 0xb0, 0x4e, 0xff, - 0xcb, 0x8e, 0x31, 0xff, 0xd3, 0x9f, 0x3a, 0xff, - 0xd7, 0xa6, 0x40, 0xff, 0x79, 0x1c, 0x00, 0xff, - 0xcc, 0x8d, 0x26, 0xff, 0xcd, 0x7f, 0x1b, 0xff, - 0xf2, 0xd4, 0x7e, 0xff, 0xee, 0xd4, 0x8a, 0xff, - 0xd0, 0x9a, 0x3a, 0xff, 0x77, 0x1d, 0x00, 0xff, - 0x9f, 0x38, 0x00, 0xff, 0xb0, 0x66, 0x1f, 0xff, - 0xe1, 0xc6, 0x77, 0xff, 0xbe, 0x6b, 0x0d, 0xff, - 0xc6, 0x80, 0x21, 0xff, 0xcf, 0xa4, 0x3e, 0xff, - 0xe6, 0xca, 0x76, 0xff, 0xbc, 0x66, 0x0f, 0xff, - 0xa7, 0x38, 0x0d, 0xff, 0x79, 0x0e, 0x00, 0xff, - 0xd8, 0x9e, 0x32, 0xff, 0xeb, 0xca, 0x6d, 0xff, - 0xe4, 0xbf, 0x6e, 0xff, 0xdc, 0x9c, 0x2e, 0xff, - 0xd0, 0x88, 0x22, 0xff, 0xe9, 0xc6, 0x5e, 0xff, - 0xed, 0xd1, 0x88, 0xff, 0xe1, 0xcf, 0x85, 0xff, - 0xe8, 0xc6, 0x6f, 0xff, 0xc0, 0x70, 0x1b, 0xff, - 0xac, 0x3d, 0x05, 0xff, 0xd5, 0x90, 0x28, 0xff, - 0xd2, 0x9f, 0x34, 0xff, 0xec, 0xd6, 0x8d, 0xff, - 0xe0, 0x9b, 0x33, 0xff, 0xd8, 0x9d, 0x39, 0xff, - 0xf4, 0xdc, 0xa0, 0xff, 0xe0, 0xb2, 0x50, 0xff, - 0xde, 0xab, 0x50, 0xff, 0xd5, 0xb0, 0x55, 0xff, - 0xdf, 0xc4, 0x6d, 0xff, 0xe6, 0xca, 0x77, 0xff, - 0xdd, 0xc7, 0x74, 0xff, 0xe4, 0xbc, 0x5c, 0xff, - 0xcd, 0x91, 0x39, 0xff, 0xe4, 0xbf, 0x66, 0xff, - 0xdc, 0xba, 0x59, 0xff, 0x88, 0x13, 0x02, 0xff, - 0xbe, 0x64, 0x18, 0xff, 0xe4, 0xc9, 0x7c, 0xff, - 0xea, 0xc1, 0x4d, 0xff, 0xe3, 0xce, 0x7d, 0xff, - 0xde, 0x9f, 0x40, 0xff, 0xe4, 0xc3, 0x64, 0xff, - 0xe9, 0xcf, 0x82, 0xff, 0xc3, 0x7f, 0x1c, 0xff, - 0xd4, 0x95, 0x2e, 0xff, 0xe2, 0xc1, 0x72, 0xff, - 0xe2, 0xc6, 0x7d, 0xff, 0xe8, 0xbe, 0x68, 0xff, - 0xd6, 0x8d, 0x24, 0xff, 0xf4, 0xe5, 0xa2, 0xff, - 0xd7, 0x9b, 0x29, 0xff, 0xd5, 0xa3, 0x44, 0xff, - 0xb4, 0x59, 0x10, 0xff, 0xbd, 0x7a, 0x23, 0xff, - 0xb8, 0x6b, 0x13, 0xff, 0xcd, 0x8b, 0x34, 0xff, - 0xd9, 0xad, 0x56, 0xff, 0xe7, 0xc5, 0x6c, 0xff, - 0xee, 0xd1, 0x83, 0xff, 0xec, 0xd2, 0x85, 0xff, - 0xcd, 0x88, 0x2b, 0xff, 0x72, 0x01, 0x00, 0xff, - 0x94, 0x3f, 0x08, 0xff, 0xe7, 0xb4, 0x58, 0xff, - 0xe1, 0xc8, 0x6b, 0xff, 0xb1, 0x52, 0x12, 0xff, - 0xc7, 0x7d, 0x24, 0xff, 0xb1, 0x72, 0x15, 0xff, - 0xe9, 0xc9, 0x74, 0xff, 0xd2, 0x91, 0x35, 0xff, - 0xd9, 0xa1, 0x42, 0xff, 0xc4, 0x8d, 0x28, 0xff, - 0xdd, 0xba, 0x5e, 0xff, 0xe5, 0xba, 0x52, 0xff, - 0xee, 0xdb, 0x8f, 0xff, 0xd4, 0x7e, 0x17, 0xff, - 0xd6, 0xb1, 0x59, 0xff, 0xc2, 0x73, 0x17, 0xff, - 0xa9, 0x4d, 0x00, 0xff, 0xe1, 0xb7, 0x47, 0xff, - 0xe4, 0xc6, 0x6c, 0xff, 0xe8, 0xcd, 0x80, 0xff, - 0xe5, 0xc5, 0x7a, 0xff, 0xe1, 0xbc, 0x6b, 0xff, - 0xe5, 0xc3, 0x6a, 0xff, 0xec, 0xd3, 0x83, 0xff, - 0xd1, 0x7a, 0x10, 0xff, 0xe7, 0xba, 0x5d, 0xff, - 0xed, 0xd6, 0x88, 0xff, 0xe8, 0xb9, 0x5f, 0xff, - 0xd6, 0x97, 0x36, 0xff, 0xda, 0xa2, 0x35, 0xff, - 0xdd, 0xbb, 0x57, 0xff, 0xe5, 0xc7, 0x71, 0xff, - 0xeb, 0xd3, 0x8b, 0xff, 0xe9, 0xd1, 0x87, 0xff, - 0xe8, 0xc3, 0x6b, 0xff, 0xe2, 0xb6, 0x55, 0xff, - 0xe1, 0x9d, 0x30, 0xff, 0xb5, 0x54, 0x0d, 0xff, - 0xc0, 0x5f, 0x0e, 0xff, 0xea, 0xd5, 0x96, 0xff, - 0xef, 0xb6, 0x5c, 0xff, 0xdf, 0xb0, 0x3a, 0xff, - 0xdc, 0xb3, 0x5b, 0xff, 0xec, 0xd3, 0x83, 0xff, - 0xf0, 0xd1, 0x7e, 0xff, 0xcd, 0x92, 0x38, 0xff, - 0xbf, 0x67, 0x10, 0xff, 0xa0, 0x3b, 0x05, 0xff, - 0xe5, 0xb1, 0x39, 0xff, 0xe5, 0xba, 0x54, 0xff, - 0xe4, 0xc8, 0x74, 0xff, 0xec, 0xd5, 0x89, 0xff, - 0xd9, 0x96, 0x2d, 0xff, 0xbd, 0x7c, 0x22, 0xff, - 0xc0, 0x80, 0x1f, 0xff, 0xc7, 0x74, 0x28, 0xff, - 0x89, 0x1f, 0x00, 0xff, 0xe0, 0xba, 0x65, 0xff, - 0xe9, 0xd3, 0x87, 0xff, 0xe4, 0xbd, 0x58, 0xff, - 0xed, 0xd5, 0x7f, 0xff, 0xeb, 0xd1, 0x7c, 0xff, - 0xb7, 0x61, 0x0e, 0xff, 0xb5, 0x58, 0x0b, 0xff, - 0x9f, 0x34, 0x00, 0xff, 0xe9, 0xcc, 0x7e, 0xff, - 0xe4, 0xc2, 0x61, 0xff, 0xb5, 0x5f, 0x12, 0xff, - 0xcf, 0x99, 0x41, 0xff, 0xbd, 0x78, 0x19, 0xff, - 0xe7, 0xd6, 0x86, 0xff, 0xce, 0x7e, 0x1b, 0xff, - 0xdc, 0xa2, 0x41, 0xff, 0xe7, 0xcd, 0x76, 0xff, - 0xef, 0xd5, 0x8a, 0xff, 0xe0, 0x9f, 0x2b, 0xff, - 0xee, 0xd3, 0x8c, 0xff, 0xd2, 0x7c, 0x19, 0xff, - 0xdc, 0xb9, 0x65, 0xff, 0xb5, 0x5a, 0x09, 0xff, - 0xc1, 0x69, 0x10, 0xff, 0x8c, 0x0a, 0x08, 0xff, - 0xcf, 0x8e, 0x2a, 0xff, 0xcd, 0x8a, 0x19, 0xff, - 0xeb, 0xa1, 0x48, 0xff, 0xe2, 0x94, 0x30, 0xff, - 0xe8, 0xd7, 0x92, 0xff, 0xeb, 0xc8, 0x64, 0xff, - 0xdc, 0x9a, 0x39, 0xff, 0xec, 0xcf, 0x7f, 0xff, - 0xeb, 0xd1, 0x7d, 0xff, 0xee, 0xc9, 0x79, 0xff, - 0xc9, 0x7a, 0x11, 0xff, 0x79, 0x02, 0x00, 0xff, - 0x8a, 0x08, 0x0a, 0xff, 0xca, 0x78, 0x24, 0xff, - 0xd9, 0xaf, 0x43, 0xff, 0xe8, 0xb8, 0x3c, 0xff, - 0xe3, 0xba, 0x51, 0xff, 0xe5, 0xc9, 0x75, 0xff, - 0xe6, 0xc9, 0x7d, 0xff, 0xe2, 0xb1, 0x4b, 0xff, - 0xf6, 0xd7, 0x7d, 0xff, 0xe7, 0xcf, 0x85, 0xff, - 0xb7, 0x59, 0x13, 0xff, 0xb5, 0x52, 0x11, 0xff, - 0xde, 0x9f, 0x36, 0xff, 0xf5, 0xe3, 0xa1, 0xff, - 0xe9, 0xc6, 0x6c, 0xff, 0xb6, 0x60, 0x0b, 0xff, - 0xb4, 0x56, 0x0c, 0xff, 0xbb, 0x6b, 0x22, 0xff, - 0xc3, 0x7e, 0x21, 0xff, 0xda, 0xab, 0x59, 0xff, - 0xf0, 0xc3, 0x5e, 0xff, 0xef, 0xcc, 0x70, 0xff, - 0xda, 0xa6, 0x52, 0xff, 0xd6, 0xa5, 0x49, 0xff, - 0xdb, 0xb4, 0x57, 0xff, 0xe1, 0xbe, 0x6c, 0xff, - 0xe7, 0xcc, 0x7f, 0xff, 0xe4, 0xc3, 0x62, 0xff, - 0xe3, 0xad, 0x33, 0xff, 0xd1, 0x69, 0x44, 0xff, - 0xf2, 0xd4, 0x8b, 0xff, 0xee, 0xca, 0x76, 0xff, - 0xa8, 0x4c, 0x03, 0xff, 0xc5, 0x84, 0x30, 0xff, - 0xc4, 0x67, 0x1a, 0xff, 0xec, 0xd0, 0x8f, 0xff, - 0xe8, 0xc2, 0x5f, 0xff, 0xb4, 0x61, 0x15, 0xff, - 0xd0, 0x9c, 0x39, 0xff, 0xce, 0x9c, 0x3b, 0xff, - 0xeb, 0xd5, 0x8a, 0xff, 0xa2, 0x46, 0x00, 0xff, - 0xf3, 0xd3, 0x8a, 0xff, 0xe7, 0xcd, 0x80, 0xff, - 0xe9, 0xb1, 0x44, 0xff, 0xef, 0xa5, 0x44, 0xff, - 0xeb, 0xd4, 0x86, 0xff, 0xd4, 0x7d, 0x13, 0xff, - 0xdf, 0xbf, 0x72, 0xff, 0xbb, 0x64, 0x15, 0xff, - 0xba, 0x65, 0x15, 0xff, 0xc0, 0x6f, 0x16, 0xff, - 0xd6, 0xa2, 0x4f, 0xff, 0xd7, 0xa1, 0x35, 0xff, - 0xb8, 0x57, 0x08, 0xff, 0xf8, 0xb6, 0x7c, 0xff, - 0xec, 0xd1, 0x84, 0xff, 0xd8, 0x97, 0x23, 0xff, - 0xd1, 0x7b, 0x0c, 0xff, 0xf2, 0xdb, 0x95, 0xff, - 0xf0, 0xcc, 0x76, 0xff, 0xe0, 0xbc, 0x70, 0xff, - 0xc7, 0x92, 0x32, 0xff, 0xda, 0xb5, 0x64, 0xff, - 0xde, 0xb7, 0x5c, 0xff, 0xc3, 0x8b, 0x2c, 0xff, - 0xe3, 0xbf, 0x71, 0xff, 0xe5, 0xb7, 0x59, 0xff, - 0xd6, 0x7a, 0x0d, 0xff, 0xd4, 0x97, 0x2c, 0xff, - 0xdf, 0xa6, 0x33, 0xff, 0xdc, 0xb5, 0x4e, 0xff, - 0xf5, 0xdf, 0xa3, 0xff, 0xe9, 0xc6, 0x62, 0xff, - 0xd2, 0x9d, 0x41, 0xff, 0xd7, 0xac, 0x4e, 0xff, - 0xe5, 0xba, 0x6b, 0xff, 0xef, 0xd8, 0x92, 0xff, - 0xdf, 0xb1, 0x53, 0xff, 0xd9, 0xab, 0x4b, 0xff, - 0xd0, 0x95, 0x3b, 0xff, 0xcb, 0x8f, 0x2f, 0xff, - 0xd4, 0xa6, 0x48, 0xff, 0xe3, 0xb7, 0x56, 0xff, - 0xef, 0xcd, 0x73, 0xff, 0xeb, 0xc0, 0x57, 0xff, - 0xe4, 0xb9, 0x6b, 0xff, 0xd3, 0xa0, 0x44, 0xff, - 0xd5, 0xac, 0x40, 0xff, 0xdb, 0xa9, 0x3a, 0xff, - 0xd3, 0x93, 0x29, 0xff, 0xbd, 0x78, 0x1b, 0xff, - 0xc8, 0x70, 0x40, 0xff, 0x9d, 0x34, 0x07, 0xff, - 0xe9, 0xdd, 0x95, 0xff, 0xe9, 0xbd, 0x66, 0xff, - 0x82, 0x0c, 0x02, 0xff, 0xc3, 0x7e, 0x1f, 0xff, - 0xcf, 0x9c, 0x43, 0xff, 0xed, 0xd3, 0x89, 0xff, - 0xe8, 0xc3, 0x6b, 0xff, 0xaa, 0x35, 0x09, 0xff, - 0xc6, 0x82, 0x2d, 0xff, 0xef, 0xd3, 0x80, 0xff, - 0xec, 0xd5, 0x89, 0xff, 0xdf, 0xad, 0x4e, 0xff, - 0xe1, 0xbc, 0x6b, 0xff, 0xdc, 0x9d, 0x36, 0xff, - 0xd9, 0x9a, 0x4b, 0xff, 0xda, 0xb6, 0x5e, 0xff, - 0xed, 0xd5, 0x8b, 0xff, 0xd9, 0x8b, 0x26, 0xff, - 0xdd, 0xbc, 0x6b, 0xff, 0xcf, 0x97, 0x3a, 0xff, - 0xb6, 0x6f, 0x15, 0xff, 0xc1, 0x7f, 0x29, 0xff, - 0xd9, 0xac, 0x57, 0xff, 0xdc, 0xb5, 0x56, 0xff, - 0xef, 0xc1, 0x61, 0xff, 0xeb, 0xd4, 0x8e, 0xff, - 0xe9, 0xb3, 0x47, 0xff, 0x9d, 0x37, 0x00, 0xff, - 0xd4, 0xa3, 0x47, 0xff, 0xec, 0xd3, 0x7f, 0xff, - 0xe1, 0x9e, 0x2b, 0xff, 0xe3, 0xbb, 0x66, 0xff, - 0xb7, 0x68, 0x01, 0xff, 0xdb, 0x99, 0x3b, 0xff, - 0xdb, 0xb8, 0x54, 0xff, 0xdc, 0xc0, 0x6d, 0xff, - 0xe3, 0xc5, 0x6f, 0xff, 0xe6, 0xcb, 0x7c, 0xff, - 0xd9, 0x8c, 0x24, 0xff, 0xd7, 0x9c, 0x36, 0xff, - 0xc3, 0x74, 0x15, 0xff, 0xea, 0xd4, 0x88, 0xff, - 0xe9, 0xcd, 0x6c, 0xff, 0xc6, 0x77, 0x10, 0xff, - 0xba, 0x61, 0x05, 0xff, 0xb1, 0x62, 0x03, 0xff, - 0xf4, 0xc1, 0x68, 0xff, 0xea, 0xce, 0x7a, 0xff, - 0xd5, 0x90, 0x28, 0xff, 0xd8, 0xa2, 0x38, 0xff, - 0xe0, 0xb6, 0x54, 0xff, 0xe2, 0xc4, 0x6c, 0xff, - 0xe5, 0xc0, 0x65, 0xff, 0xe2, 0xb2, 0x4e, 0xff, - 0xeb, 0xd4, 0x88, 0xff, 0xec, 0xc2, 0x5c, 0xff, - 0xda, 0xbb, 0x7a, 0xff, 0xb9, 0x5e, 0x0d, 0xff, - 0xbb, 0x6e, 0x14, 0xff, 0xbe, 0x6a, 0x12, 0xff, - 0xbb, 0x5b, 0x05, 0xff, 0x92, 0x33, 0x00, 0xff, - 0xd8, 0x96, 0x4a, 0xff, 0xdc, 0xae, 0x50, 0xff, - 0xf2, 0xdd, 0x9e, 0xff, 0xea, 0xc8, 0x66, 0xff, - 0xd4, 0xad, 0x4e, 0xff, 0xda, 0xb4, 0x61, 0xff, - 0xdc, 0xb6, 0x61, 0xff, 0xeb, 0xd0, 0x81, 0xff, - 0xed, 0xc6, 0x77, 0xff, 0xdd, 0xb6, 0x69, 0xff, - 0xf1, 0xd2, 0x8f, 0xff, 0xf0, 0xdb, 0x98, 0xff, - 0xed, 0xc6, 0x69, 0xff, 0xe0, 0xc1, 0x6f, 0xff, - 0xe4, 0xcd, 0x89, 0xff, 0xe9, 0xcf, 0x84, 0xff, - 0xe9, 0xca, 0x77, 0xff, 0xdd, 0xba, 0x60, 0xff, - 0xec, 0xd6, 0x8a, 0xff, 0xd9, 0x87, 0x1b, 0xff, - 0xdf, 0xbe, 0x6d, 0xff, 0xd3, 0x96, 0x2b, 0xff, - 0xdd, 0xba, 0x69, 0xff, 0xe6, 0xc6, 0x6f, 0xff, - 0xec, 0xce, 0x78, 0xff, 0xe7, 0xcc, 0x7d, 0xff, - 0xdf, 0xc3, 0x70, 0xff, 0xea, 0xbd, 0x4a, 0xff, - 0xc2, 0x60, 0x15, 0xff, 0xc4, 0x69, 0x23, 0xff, - 0xf2, 0xd8, 0x8e, 0xff, 0xeb, 0xcd, 0x77, 0xff, - 0xe0, 0xae, 0x4b, 0xff, 0xd0, 0x8a, 0x2a, 0xff, - 0xc9, 0x8a, 0x2b, 0xff, 0x9d, 0x32, 0x06, 0xff, - 0xad, 0x41, 0x13, 0xff, 0xdc, 0xaa, 0x47, 0xff, - 0xe9, 0xc1, 0x62, 0xff, 0xe9, 0xce, 0x7d, 0xff, - 0xda, 0x84, 0x13, 0xff, 0xd0, 0x9e, 0x3b, 0xff, - 0xe9, 0xd7, 0x85, 0xff, 0xe9, 0xcf, 0x7a, 0xff, - 0xc1, 0x75, 0x13, 0xff, 0xca, 0x84, 0x22, 0xff, - 0xb7, 0x58, 0x06, 0xff, 0xc0, 0x67, 0x15, 0xff, - 0xe7, 0xcf, 0x89, 0xff, 0xeb, 0xc8, 0x6c, 0xff, - 0xd8, 0x90, 0x2a, 0xff, 0xd4, 0x88, 0x30, 0xff, - 0xb6, 0x58, 0x01, 0xff, 0xd7, 0x91, 0x22, 0xff, - 0xd0, 0x87, 0x18, 0xff, 0xc2, 0x79, 0x1b, 0xff, - 0xe8, 0xcb, 0x6f, 0xff, 0xea, 0xae, 0x3e, 0xff, - 0xe5, 0xcd, 0x83, 0xff, 0xd3, 0x96, 0x3b, 0xff, - 0xd2, 0x96, 0x3e, 0xff, 0xd6, 0xa0, 0x4a, 0xff, - 0xd3, 0xad, 0x58, 0xff, 0xd6, 0xb3, 0x61, 0xff, - 0xe4, 0xca, 0x7d, 0xff, 0xea, 0xca, 0x7d, 0xff, - 0xf1, 0xdc, 0x9b, 0xff, 0xed, 0xbc, 0x56, 0xff, - 0xd7, 0x93, 0x24, 0xff, 0xd2, 0x92, 0x26, 0xff, - 0xd4, 0x96, 0x29, 0xff, 0xe8, 0xbf, 0x65, 0xff, - 0xe5, 0xbe, 0x5f, 0xff, 0xe2, 0xae, 0x48, 0xff, - 0xef, 0xcf, 0x7a, 0xff, 0xed, 0xd6, 0x90, 0xff, - 0xda, 0x9d, 0x28, 0xff, 0xe0, 0xa6, 0x3b, 0xff, - 0xec, 0xb8, 0x53, 0xff, 0xe5, 0xbb, 0x45, 0xff, - 0xe6, 0xbd, 0x54, 0xff, 0xe5, 0xc9, 0x75, 0xff, - 0xf2, 0xe0, 0xa2, 0xff, 0xd9, 0x88, 0x1f, 0xff, - 0xe0, 0xbf, 0x70, 0xff, 0xae, 0x4b, 0x08, 0xff, - 0x91, 0x40, 0x00, 0xff, 0xf3, 0xdc, 0x99, 0xff, - 0xe8, 0xc6, 0x65, 0xff, 0xee, 0xbe, 0x52, 0xff, - 0xcd, 0x8d, 0x33, 0xff, 0xc8, 0x84, 0x17, 0xff, - 0xdf, 0xb2, 0x55, 0xff, 0xe3, 0xbc, 0x6f, 0xff, - 0xf3, 0xde, 0x9d, 0xff, 0xe2, 0xaf, 0x46, 0xff, - 0xdf, 0xb5, 0x61, 0xff, 0xc8, 0x8e, 0x3a, 0xff, - 0xdb, 0xb6, 0x68, 0xff, 0xa8, 0x54, 0x00, 0xff, - 0xe1, 0xa9, 0x4a, 0xff, 0xeb, 0xd0, 0x75, 0xff, - 0xec, 0xcc, 0x7f, 0xff, 0xe9, 0xd2, 0x84, 0xff, - 0xeb, 0xd5, 0x89, 0xff, 0xf5, 0xdf, 0x93, 0xff, - 0xdd, 0xb9, 0x58, 0xff, 0xc4, 0x85, 0x1c, 0xff, - 0xc5, 0x75, 0x14, 0xff, 0xd4, 0x9e, 0x3e, 0xff, - 0xb2, 0x52, 0x08, 0xff, 0xa7, 0x3b, 0x00, 0xff, - 0xeb, 0xd6, 0x87, 0xff, 0xe8, 0xb3, 0x4d, 0xff, - 0xd7, 0xa5, 0x44, 0xff, 0xe4, 0xb8, 0x61, 0xff, - 0xe6, 0xb6, 0x61, 0xff, 0xe2, 0xbf, 0x6b, 0xff, - 0xda, 0x95, 0x2d, 0xff, 0xf0, 0xc6, 0x72, 0xff, - 0xe3, 0xc8, 0x71, 0xff, 0xe2, 0x96, 0x42, 0xff, - 0xe4, 0xcf, 0x8c, 0xff, 0xeb, 0xbf, 0x68, 0xff, - 0xc9, 0x73, 0x20, 0xff, 0xd6, 0x8a, 0x2c, 0xff, - 0xe5, 0xca, 0x79, 0xff, 0xe4, 0xcb, 0x7b, 0xff, - 0xe4, 0xb6, 0x47, 0xff, 0xe6, 0x9e, 0x30, 0xff, - 0xf2, 0xdf, 0x9a, 0xff, 0x9d, 0x57, 0x02, 0xff, - 0xb4, 0x5b, 0x09, 0xff, 0x9b, 0x32, 0x02, 0xff, - 0xa9, 0x48, 0x03, 0xff, 0xa9, 0x61, 0x0f, 0xff, - 0xea, 0xc7, 0x73, 0xff, 0xfc, 0xe1, 0x9a, 0xff, - 0xec, 0xcd, 0x7d, 0xff, 0xe8, 0xc9, 0x76, 0xff, - 0xd2, 0x8d, 0x25, 0xff, 0xdc, 0x93, 0x37, 0xff, - 0xc9, 0x66, 0x23, 0xff, 0xe9, 0xb8, 0x5c, 0xff, - 0xe1, 0xaa, 0x43, 0xff, 0xc6, 0x71, 0x14, 0xff, - 0xf1, 0xd2, 0x91, 0xff, 0xeb, 0xce, 0x72, 0xff, - 0xdd, 0xba, 0x69, 0xff, 0x9f, 0x22, 0x10, 0xff, - 0xe5, 0xcc, 0x8c, 0xff, 0xea, 0xc7, 0x61, 0xff, - 0xc2, 0x89, 0x30, 0xff, 0xca, 0x80, 0x17, 0xff, - 0xe0, 0xb3, 0x5e, 0xff, 0xd7, 0xbc, 0x65, 0xff, - 0xe0, 0xb1, 0x49, 0xff, 0xe5, 0xb6, 0x4e, 0xff, - 0xed, 0xce, 0x7e, 0xff, 0xe2, 0xa8, 0x3d, 0xff, - 0xde, 0xad, 0x51, 0xff, 0xcc, 0x8b, 0x37, 0xff, - 0xe5, 0xc3, 0x6c, 0xff, 0xe8, 0xd5, 0x90, 0xff, - 0xe4, 0xd0, 0x89, 0xff, 0xe7, 0xca, 0x66, 0xff, - 0xe6, 0xc3, 0x5d, 0xff, 0xe5, 0xbf, 0x54, 0xff, - 0xe0, 0xb2, 0x43, 0xff, 0xb0, 0x68, 0x06, 0xff, - 0xcc, 0x80, 0x28, 0xff, 0xc3, 0x74, 0x18, 0xff, - 0x96, 0x3a, 0x00, 0xff, 0xda, 0xb5, 0x5c, 0xff, - 0xbc, 0x66, 0x0f, 0xff, 0xac, 0x5f, 0x11, 0xff, - 0xe8, 0xcc, 0x79, 0xff, 0xc6, 0x67, 0x0d, 0xff, - 0xcf, 0x8b, 0x2a, 0xff, 0xe9, 0xce, 0x7d, 0xff, - 0xe7, 0xca, 0x7c, 0xff, 0xdd, 0xa7, 0x3b, 0xff, - 0xa4, 0x36, 0x05, 0xff, 0xed, 0xd0, 0x84, 0xff, - 0xe2, 0xcc, 0x80, 0xff, 0xc7, 0x78, 0x1b, 0xff, - 0xea, 0xc6, 0x68, 0xff, 0xe6, 0xd2, 0x89, 0xff, - 0x9f, 0x43, 0x04, 0xff, 0xdc, 0xd0, 0x84, 0xff, - 0xe6, 0xc6, 0x71, 0xff, 0xc9, 0x84, 0x1d, 0xff, - 0xb9, 0x58, 0x07, 0xff, 0xa8, 0x62, 0x0a, 0xff, - 0xeb, 0xd1, 0x86, 0xff, 0xbd, 0x75, 0x20, 0xff, - 0xb2, 0x54, 0x0a, 0xff, 0x9f, 0x32, 0x0b, 0xff, - 0xad, 0x5f, 0x0a, 0xff, 0xd9, 0xaa, 0x52, 0xff, - 0xf2, 0xda, 0x9e, 0xff, 0xe4, 0xa8, 0x36, 0xff, - 0xea, 0xd3, 0x87, 0xff, 0xe9, 0xc1, 0x61, 0xff, - 0xd7, 0x8b, 0x2b, 0xff, 0xd4, 0xab, 0x4f, 0xff, - 0xdb, 0xa9, 0x46, 0xff, 0xee, 0xd0, 0x88, 0xff, - 0xe9, 0xa8, 0x4a, 0xff, 0xa7, 0x42, 0x00, 0xff, - 0xf0, 0xc7, 0x6b, 0xff, 0xeb, 0xd2, 0x82, 0xff, - 0xdc, 0xaf, 0x54, 0xff, 0xe5, 0xd5, 0x88, 0xff, - 0xe8, 0xd1, 0x81, 0xff, 0x88, 0x25, 0x00, 0xff, - 0xca, 0x81, 0x25, 0xff, 0xe1, 0xca, 0x7e, 0xff, - 0xe0, 0xb3, 0x4c, 0xff, 0xbc, 0x70, 0x0e, 0xff, - 0xcb, 0x7f, 0x27, 0xff, 0xed, 0xd1, 0x7e, 0xff, - 0xe1, 0xbe, 0x56, 0xff, 0xee, 0xce, 0x79, 0xff, - 0xe5, 0xd0, 0x7f, 0xff, 0xe8, 0xd1, 0x85, 0xff, - 0xed, 0xcd, 0x76, 0xff, 0xe8, 0xb8, 0x49, 0xff, - 0xc9, 0x7a, 0x15, 0xff, 0xe3, 0xa0, 0x45, 0xff, - 0xe4, 0xaa, 0x3e, 0xff, 0xdc, 0xae, 0x4c, 0xff, - 0xcb, 0x8b, 0x2a, 0xff, 0xc1, 0x6d, 0x15, 0xff, - 0xc0, 0x72, 0x1d, 0xff, 0xbf, 0x69, 0x1c, 0xff, - 0xae, 0x64, 0x0b, 0xff, 0xe1, 0xc2, 0x70, 0xff, - 0xc6, 0x7b, 0x1e, 0xff, 0xe9, 0xd3, 0x8a, 0xff, - 0xe8, 0xc3, 0x5b, 0xff, 0xe9, 0xd0, 0x7c, 0xff, - 0xf1, 0xd1, 0x86, 0xff, 0xe3, 0xbd, 0x50, 0xff, - 0xbf, 0x7f, 0x15, 0xff, 0xbe, 0x74, 0x15, 0xff, - 0x83, 0x0f, 0x00, 0xff, 0xea, 0xd3, 0x8f, 0xff, - 0xe9, 0xc1, 0x69, 0xff, 0xc8, 0x7f, 0x20, 0xff, - 0xc9, 0x70, 0x14, 0xff, 0xea, 0xd6, 0x8d, 0xff, - 0xea, 0xc7, 0x75, 0xff, 0xe0, 0xb8, 0x59, 0xff, - 0x9c, 0x35, 0x0a, 0xff, 0xd2, 0x9d, 0x41, 0xff, - 0xdb, 0xb3, 0x54, 0xff, 0xec, 0xcb, 0x7a, 0xff, - 0xed, 0xce, 0x74, 0xff, 0xb8, 0x6b, 0x11, 0xff, - 0xd6, 0x8f, 0x37, 0xff, 0xd7, 0xab, 0x52, 0xff, - 0xe7, 0xcb, 0x81, 0xff, 0xeb, 0xd3, 0x8b, 0xff, - 0xe7, 0xb5, 0x46, 0xff, 0xd2, 0x7a, 0x10, 0xff, - 0xe6, 0xcb, 0x74, 0xff, 0xdc, 0x93, 0x2d, 0xff, - 0xa5, 0x3c, 0x00, 0xff, 0xf9, 0xc4, 0x74, 0xff, - 0xed, 0xd7, 0x8c, 0xff, 0xed, 0xc7, 0x64, 0xff, - 0xd4, 0x97, 0x3e, 0xff, 0xda, 0xaf, 0x61, 0xff, - 0xe8, 0xb8, 0x64, 0xff, 0xef, 0xdc, 0xa1, 0xff, - 0xdc, 0xab, 0x4e, 0xff, 0xf0, 0xdd, 0x98, 0xff, - 0xe5, 0xc0, 0x67, 0xff, 0xce, 0x8c, 0x35, 0xff, - 0xe3, 0xc2, 0x71, 0xff, 0xe3, 0xb9, 0x53, 0xff, - 0xdf, 0xa4, 0x3e, 0xff, 0xf2, 0xd5, 0x79, 0xff, - 0xed, 0xd6, 0x90, 0xff, 0xf0, 0xdd, 0x9b, 0xff, - 0xed, 0xce, 0x7c, 0xff, 0xe7, 0xc3, 0x63, 0xff, - 0xe4, 0xb9, 0x48, 0xff, 0xe5, 0xb6, 0x42, 0xff, - 0xe5, 0xc4, 0x51, 0xff, 0xef, 0xda, 0x97, 0xff, - 0xe1, 0xad, 0x61, 0xff, 0xd9, 0xa7, 0x44, 0xff, - 0xeb, 0xc6, 0x76, 0xff, 0xe6, 0xbd, 0x63, 0xff, - 0xc9, 0x83, 0x2b, 0xff, 0x82, 0x0a, 0x00, 0xff, - 0x9a, 0x3b, 0x00, 0xff, 0xaf, 0x49, 0x09, 0xff, - 0x96, 0x3d, 0x00, 0xff, 0xe3, 0xc9, 0x7e, 0xff, - 0xc7, 0x7c, 0x17, 0xff, 0xf2, 0xdb, 0x8f, 0xff, - 0xec, 0xd7, 0x94, 0xff, 0xeb, 0xc8, 0x6c, 0xff, - 0xef, 0xac, 0x41, 0xff, 0xee, 0xb9, 0x5d, 0xff, - 0xdd, 0xb1, 0x66, 0xff, 0xca, 0x8b, 0x2e, 0xff, - 0xd8, 0xaa, 0x52, 0xff, 0xf2, 0xdd, 0xa4, 0xff, - 0xd8, 0xa4, 0x41, 0xff, 0xca, 0x8b, 0x24, 0xff, - 0xca, 0x82, 0x1e, 0xff, 0xec, 0xca, 0x69, 0xff, - 0xe8, 0xd4, 0x8f, 0xff, 0xd8, 0xa3, 0x43, 0xff, - 0xce, 0x97, 0x3c, 0xff, 0xd0, 0x94, 0x32, 0xff, - 0xda, 0x85, 0x2b, 0xff, 0xec, 0xd9, 0x94, 0xff, - 0xef, 0xc7, 0x67, 0xff, 0xe9, 0xb2, 0x5f, 0xff, - 0xc8, 0x99, 0x3d, 0xff, 0xef, 0xcc, 0x78, 0xff, - 0xea, 0xd1, 0x7d, 0xff, 0xe5, 0xb1, 0x37, 0xff, - 0xd5, 0x8d, 0x2b, 0xff, 0xf0, 0xc8, 0x71, 0xff, - 0xdf, 0xc2, 0x5a, 0xff, 0x90, 0x3b, 0x00, 0xff, - 0xe9, 0xd4, 0x7b, 0xff, 0xe6, 0xcb, 0x7c, 0xff, - 0xeb, 0xbc, 0x4a, 0xff, 0xe1, 0xbd, 0x5d, 0xff, - 0xd3, 0x88, 0x22, 0xff, 0xc4, 0x79, 0x14, 0xff, - 0xd7, 0xbe, 0x7c, 0xff, 0xe4, 0xc4, 0x6d, 0xff, - 0xea, 0xb9, 0x50, 0xff, 0xf2, 0xe1, 0x9c, 0xff, - 0xc3, 0x87, 0x25, 0xff, 0xbb, 0x77, 0x12, 0xff, - 0xe0, 0xba, 0x67, 0xff, 0xd2, 0x94, 0x25, 0xff, - 0xe4, 0xc6, 0x7e, 0xff, 0xea, 0xce, 0x7a, 0xff, - 0xe8, 0xc3, 0x58, 0xff, 0xeb, 0xb9, 0x3c, 0xff, - 0xcf, 0x86, 0x15, 0xff, 0xd9, 0x9a, 0x30, 0xff, - 0xd8, 0x97, 0x31, 0xff, 0xc6, 0x6e, 0x0d, 0xff, - 0xb8, 0x6c, 0x20, 0xff, 0xdb, 0xa7, 0x44, 0xff, - 0xe9, 0xd3, 0x8a, 0xff, 0xcd, 0x96, 0x32, 0xff, - 0xe6, 0xc7, 0x75, 0xff, 0xe6, 0xb7, 0x5d, 0xff, - 0xb2, 0x5c, 0x09, 0xff, 0xbe, 0x70, 0x1b, 0xff, - 0xbc, 0x60, 0x15, 0xff, 0x99, 0x29, 0x00, 0xff, - 0x9c, 0x4f, 0x01, 0xff, 0xe9, 0xc8, 0x77, 0xff, - 0xf1, 0xd4, 0x88, 0xff, 0xeb, 0xd4, 0x88, 0xff, - 0xe3, 0xc1, 0x5d, 0xff, 0x95, 0x28, 0x01, 0xff, - 0xae, 0x62, 0x16, 0xff, 0xe6, 0xab, 0x4f, 0xff, - 0xea, 0xcf, 0x82, 0xff, 0x9f, 0x35, 0x00, 0xff, - 0xc9, 0x95, 0x30, 0xff, 0xe9, 0xcf, 0x85, 0xff, - 0xdd, 0xab, 0x4a, 0xff, 0xd8, 0xae, 0x58, 0xff, - 0xea, 0xce, 0x7b, 0xff, 0xe3, 0xba, 0x51, 0xff, - 0xe8, 0xc6, 0x64, 0xff, 0xea, 0xcf, 0x82, 0xff, - 0xcb, 0x74, 0x13, 0xff, 0xbc, 0x68, 0x10, 0xff, - 0xd6, 0x9d, 0x4e, 0xff, 0xee, 0xd4, 0x8a, 0xff, - 0xd1, 0xa3, 0x4b, 0xff, 0x82, 0x2b, 0x00, 0xff, - 0xaa, 0x59, 0x18, 0xff, 0xec, 0xd8, 0x91, 0xff, - 0xe1, 0xb8, 0x3c, 0xff, 0xac, 0x3f, 0x04, 0xff, - 0xd5, 0x9e, 0x3a, 0xff, 0xe9, 0xd0, 0x7e, 0xff, - 0xeb, 0xc0, 0x57, 0xff, 0xf2, 0xd1, 0x82, 0xff, - 0xe7, 0xc9, 0x73, 0xff, 0xd8, 0xa0, 0x33, 0xff, - 0xd6, 0x99, 0x3c, 0xff, 0xe4, 0xd8, 0x90, 0xff, - 0xf6, 0xbf, 0x65, 0xff, 0xd3, 0x9e, 0x42, 0xff, - 0xe9, 0xb8, 0x5c, 0xff, 0xcf, 0x8d, 0x1f, 0xff, - 0xe1, 0xc0, 0x61, 0xff, 0xed, 0xdb, 0x8f, 0xff, - 0xc6, 0x67, 0x13, 0xff, 0xd4, 0x9d, 0x39, 0xff, - 0xd8, 0x9b, 0x31, 0xff, 0xb9, 0x5c, 0x0c, 0xff, - 0x97, 0x22, 0x00, 0xff, 0xcb, 0x75, 0x22, 0xff, - 0xda, 0xa8, 0x47, 0xff, 0xdf, 0xb8, 0x5b, 0xff, - 0xd9, 0x9b, 0x2e, 0xff, 0xe1, 0xbc, 0x64, 0xff, - 0xc7, 0x73, 0x10, 0xff, 0xb3, 0x48, 0x00, 0xff, - 0xb7, 0x52, 0x0a, 0xff, 0xa2, 0x3b, 0x01, 0xff, - 0xe6, 0xc3, 0x5f, 0xff, 0xe8, 0xd7, 0x8f, 0xff, - 0xe6, 0xc4, 0x6d, 0xff, 0xdb, 0xb3, 0x5e, 0xff, - 0xac, 0x4e, 0x08, 0xff, 0xad, 0x46, 0x01, 0xff, - 0xc2, 0x7d, 0x1e, 0xff, 0xc9, 0x93, 0x3d, 0xff, - 0xf4, 0xcb, 0x6f, 0xff, 0xeb, 0xd4, 0x8e, 0xff, - 0xea, 0xc0, 0x5c, 0xff, 0xd1, 0x93, 0x22, 0xff, - 0xd0, 0x88, 0x22, 0xff, 0xc6, 0x71, 0x16, 0xff, - 0xc4, 0x78, 0x20, 0xff, 0xb0, 0x3c, 0x09, 0xff, - 0xec, 0xcf, 0x7f, 0xff, 0xeb, 0xc6, 0x7f, 0xff, - 0xe3, 0xc5, 0x7c, 0xff, 0xe2, 0xc3, 0x66, 0xff, - 0xca, 0x6c, 0x15, 0xff, 0xef, 0xaf, 0x55, 0xff, - 0xe8, 0xce, 0x81, 0xff, 0xdc, 0x99, 0x26, 0xff, - 0xd7, 0x7c, 0x11, 0xff, 0xe4, 0xc5, 0x68, 0xff, - 0xe6, 0xc6, 0x71, 0xff, 0xbb, 0x77, 0x16, 0xff, - 0xef, 0xda, 0x97, 0xff, 0xee, 0xc4, 0x5e, 0xff, - 0xd6, 0x9c, 0x2e, 0xff, 0xd6, 0x99, 0x2e, 0xff, - 0xf0, 0xd3, 0x91, 0xff, 0xe8, 0xbd, 0x4d, 0xff, - 0xbb, 0x5e, 0x10, 0xff, 0xae, 0x49, 0x01, 0xff, - 0xec, 0xcb, 0x7a, 0xff, 0xeb, 0xd1, 0x7d, 0xff, - 0xe7, 0xd3, 0x8a, 0xff, 0xe5, 0xc3, 0x5f, 0xff, - 0xce, 0x94, 0x31, 0xff, 0xcc, 0x9f, 0x44, 0xff, - 0xcf, 0x94, 0x36, 0xff, 0xe2, 0xbe, 0x66, 0xff, - 0xe9, 0xd1, 0x87, 0xff, 0xd0, 0x89, 0x1f, 0xff, - 0xe7, 0xd1, 0x86, 0xff, 0xff, 0xbe, 0x62, 0xff, - 0xe2, 0xb9, 0x50, 0xff, 0xea, 0xd3, 0x85, 0xff, - 0xd9, 0xae, 0x50, 0xff, 0xc9, 0x87, 0x29, 0xff, - 0xc3, 0x6e, 0x11, 0xff, 0xc8, 0x8a, 0x33, 0xff, - 0xd9, 0xb2, 0x65, 0xff, 0xe9, 0xc7, 0x70, 0xff, - 0xee, 0xd1, 0x8b, 0xff, 0xef, 0xc8, 0x6d, 0xff, - 0xea, 0xd2, 0x96, 0xff, 0xd9, 0xae, 0x3d, 0xff, - 0xe4, 0xd0, 0x91, 0xff, 0xef, 0xd1, 0x8b, 0xff, - 0xee, 0xcd, 0x7c, 0xff, 0xcf, 0x8c, 0x23, 0xff, - 0xd5, 0xa2, 0x47, 0xff, 0xf1, 0xd9, 0x91, 0xff, - 0xe7, 0xc2, 0x6a, 0xff, 0xd6, 0xa4, 0x45, 0xff, - 0xe1, 0xc3, 0x7a, 0xff, 0xe9, 0xce, 0x87, 0xff, - 0xf3, 0xd8, 0x93, 0xff, 0xea, 0xd0, 0x83, 0xff, - 0xe6, 0xc5, 0x5c, 0xff, 0xed, 0xb9, 0x53, 0xff, - 0xea, 0xbf, 0x70, 0xff, 0xd3, 0x90, 0x28, 0xff, - 0xc1, 0x7a, 0x1e, 0xff, 0xc3, 0x81, 0x2a, 0xff, - 0xb7, 0x5c, 0x0b, 0xff, 0x9e, 0x2b, 0x00, 0xff, - 0xe7, 0xaf, 0x5a, 0xff, 0xee, 0xdb, 0x97, 0xff, - 0xec, 0xc8, 0x6a, 0xff, 0xda, 0x96, 0x2b, 0xff, - 0xe2, 0xbe, 0x6a, 0xff, 0xe9, 0xc9, 0x80, 0xff, - 0xea, 0xab, 0x44, 0xff, 0xb8, 0x58, 0x02, 0xff, - 0xcc, 0x9a, 0x37, 0xff, 0xd3, 0x87, 0x29, 0xff, - 0xe4, 0xc8, 0x75, 0xff, 0xf4, 0xe1, 0x9c, 0xff, - 0xe6, 0xc4, 0x58, 0xff, 0xa4, 0x53, 0x04, 0xff, - 0xc9, 0x83, 0x2b, 0xff, 0xf0, 0xc6, 0x72, 0xff, - 0xe8, 0xc8, 0x71, 0xff, 0x9f, 0x59, 0x00, 0xff, - 0xf2, 0xcc, 0x7b, 0xff, 0xea, 0xd8, 0x8e, 0xff, - 0xe4, 0xc3, 0x64, 0xff, 0xe6, 0xb9, 0x44, 0xff, - 0xdf, 0xa3, 0x35, 0xff, 0xc3, 0x82, 0x1e, 0xff, - 0xd6, 0x91, 0x36, 0xff, 0xe2, 0x93, 0x48, 0xff, - 0xdc, 0x90, 0x45, 0xff, 0xb9, 0x67, 0x15, 0xff, - 0xe8, 0xd0, 0x7a, 0xff, 0xec, 0xcf, 0x7f, 0xff, - 0xeb, 0xb4, 0x57, 0xff, 0xe8, 0xd1, 0x8b, 0xff, - 0xe3, 0xab, 0x3c, 0xff, 0xe6, 0xc7, 0x74, 0xff, - 0xe3, 0xb4, 0x5a, 0xff, 0xe9, 0xba, 0x62, 0xff, - 0x96, 0x27, 0x00, 0xff, 0xaa, 0x35, 0x09, 0xff, - 0xe8, 0xc0, 0x6b, 0xff, 0xe1, 0xc5, 0x71, 0xff, - 0xe1, 0xcb, 0x82, 0xff, 0xe2, 0xc0, 0x52, 0xff, - 0xec, 0xd6, 0x81, 0xff, 0xe9, 0xd4, 0x85, 0xff, - 0xe6, 0xb3, 0x48, 0xff, 0xf0, 0xba, 0x4d, 0xff, - 0xe7, 0xd0, 0x80, 0xff, 0xeb, 0xd4, 0x90, 0xff, - 0xdb, 0xa0, 0x3c, 0xff, 0xed, 0xc6, 0x6b, 0xff, - 0xed, 0xd2, 0x83, 0xff, 0xc1, 0x66, 0x13, 0xff, - 0xe1, 0x9b, 0x3b, 0xff, 0xe5, 0xb6, 0x4c, 0xff, - 0xeb, 0xac, 0x43, 0xff, 0xcf, 0x98, 0x31, 0xff, - 0xdf, 0xb5, 0x5f, 0xff, 0xd5, 0x85, 0x14, 0xff, - 0xef, 0xda, 0x97, 0xff, 0xd0, 0x90, 0x2e, 0xff, - 0xba, 0x78, 0x1a, 0xff, 0xc0, 0x5d, 0x0c, 0xff, - 0xc3, 0x78, 0x25, 0xff, 0xa4, 0x41, 0x00, 0xff, - 0xcd, 0x8a, 0x31, 0xff, 0xea, 0xca, 0x67, 0xff, - 0xed, 0xd9, 0x94, 0xff, 0xd7, 0xa9, 0x4b, 0xff, - 0xd0, 0x96, 0x32, 0xff, 0xda, 0x96, 0x29, 0xff, - 0xa5, 0x3b, 0x00, 0xff, 0xbb, 0x69, 0x17, 0xff, - 0xdf, 0xc1, 0x7b, 0xff, 0xea, 0xd4, 0x7f, 0xff, - 0xea, 0xd6, 0x8f, 0xff, 0xe8, 0xbf, 0x4d, 0xff, - 0xd8, 0x98, 0x36, 0xff, 0xce, 0x8f, 0x28, 0xff, - 0xe0, 0xae, 0x4f, 0xff, 0xe9, 0xd1, 0x89, 0xff, - 0xef, 0xd7, 0x91, 0xff, 0xe5, 0xcb, 0x77, 0xff, - 0xe8, 0xbc, 0x4f, 0xff, 0xe3, 0xa8, 0x30, 0xff, - 0xe5, 0xb5, 0x53, 0xff, 0xe2, 0xb3, 0x59, 0xff, - 0xa1, 0x4c, 0x00, 0xff, 0x84, 0x09, 0x01, 0xff, - 0xb8, 0x66, 0x2a, 0xff, 0xc6, 0x76, 0x1d, 0xff, - 0xcd, 0x90, 0x33, 0xff, 0xae, 0x51, 0x03, 0xff, - 0xc8, 0x93, 0x33, 0xff, 0xef, 0xe0, 0x9b, 0xff, - 0xc6, 0x65, 0x06, 0xff, 0xe6, 0xc4, 0x60, 0xff, - 0xec, 0xcf, 0x8b, 0xff, 0xe5, 0xb8, 0x51, 0xff, - 0xe6, 0xa4, 0x34, 0xff, 0xeb, 0xcf, 0x86, 0xff, - 0x83, 0x0e, 0x00, 0xff, 0xda, 0xb6, 0x60, 0xff, - 0xe0, 0xc1, 0x6f, 0xff, 0xe7, 0xc9, 0x6f, 0xff, - 0xe7, 0xbe, 0x3e, 0xff, 0xef, 0xd4, 0x8d, 0xff, - 0xef, 0xd1, 0x77, 0xff, 0xe2, 0xa3, 0x39, 0xff, - 0xbe, 0x5e, 0x07, 0xff, 0xc1, 0x66, 0x0b, 0xff, - 0x9b, 0x30, 0x04, 0xff, 0xe8, 0xcb, 0x63, 0xff, - 0xeb, 0xd8, 0x93, 0xff, 0xdb, 0xaf, 0x44, 0xff, - 0xea, 0xd6, 0x91, 0xff, 0xb7, 0x67, 0x10, 0xff, - 0xa0, 0x3d, 0x02, 0xff, 0xb3, 0x60, 0x12, 0xff, - 0xde, 0xbc, 0x62, 0xff, 0xde, 0xbb, 0x6a, 0xff, - 0xd1, 0x9e, 0x31, 0xff, 0xc2, 0x70, 0x0d, 0xff, - 0xee, 0xda, 0x95, 0xff, 0xcb, 0x87, 0x1a, 0xff, - 0xdb, 0xad, 0x4d, 0xff, 0xe5, 0xc0, 0x67, 0xff, - 0xe5, 0xc5, 0x7a, 0xff, 0xdb, 0xc5, 0x7c, 0xff, - 0xeb, 0xd0, 0x81, 0xff, 0xf0, 0xbf, 0x58, 0xff, - 0xe9, 0xc5, 0x57, 0xff, 0xef, 0xd8, 0x92, 0xff, - 0xb9, 0x82, 0x25, 0xff, 0xaf, 0x4a, 0x02, 0xff, - 0xbe, 0x72, 0x1c, 0xff, 0xed, 0xc5, 0x6e, 0xff, - 0xec, 0xd3, 0x90, 0xff, 0xeb, 0xc6, 0x5c, 0xff, - 0xec, 0xa9, 0x34, 0xff, 0xd8, 0x8f, 0x28, 0xff, - 0xe1, 0xaf, 0x50, 0xff, 0xe6, 0xcf, 0x8b, 0xff, - 0xe7, 0xcf, 0x77, 0xff, 0xe7, 0xbb, 0x4e, 0xff, - 0xe1, 0xa3, 0x2a, 0xff, 0xd7, 0x97, 0x33, 0xff, - 0xe7, 0xc0, 0x63, 0xff, 0xe6, 0xc6, 0x7b, 0xff, - 0xe1, 0xae, 0x41, 0xff, 0xd7, 0xac, 0x4d, 0xff, - 0xb3, 0x62, 0x07, 0xff, 0x86, 0x04, 0x02, 0xff, - 0xa1, 0x40, 0x09, 0xff, 0xbc, 0x7a, 0x23, 0xff, - 0xd8, 0xb8, 0x63, 0xff, 0x96, 0x36, 0x03, 0xff, - 0x9f, 0x35, 0x05, 0xff, 0xe8, 0xd4, 0x7d, 0xff, - 0xde, 0xbe, 0x6b, 0xff, 0xde, 0xa5, 0x3e, 0xff, - 0xea, 0xc5, 0x6a, 0xff, 0xe9, 0xc5, 0x77, 0xff, - 0xda, 0x9a, 0x38, 0xff, 0xe2, 0xc7, 0x76, 0xff, - 0xec, 0xd1, 0x82, 0xff, 0xd7, 0x95, 0x25, 0xff, - 0xb9, 0x64, 0x09, 0xff, 0xf3, 0xcf, 0x83, 0xff, - 0xf0, 0xdc, 0x9d, 0xff, 0xe5, 0xc4, 0x59, 0xff, - 0xac, 0x4c, 0x00, 0xff, 0x90, 0x1d, 0x00, 0xff, - 0xc6, 0x7f, 0x27, 0xff, 0xbc, 0x62, 0x0c, 0xff, - 0x89, 0x10, 0x08, 0xff, 0xe0, 0xb6, 0x62, 0xff, - 0xed, 0xc7, 0x64, 0xff, 0xee, 0xd6, 0x8e, 0xff, - 0xec, 0xc2, 0x6e, 0xff, 0xed, 0xbe, 0x6e, 0xff, - 0xd0, 0xa0, 0x4e, 0xff, 0xdc, 0xb2, 0x5c, 0xff, - 0xdd, 0xad, 0x49, 0xff, 0xd8, 0x91, 0x27, 0xff, - 0xbb, 0x72, 0x13, 0xff, 0xe6, 0xbe, 0x67, 0xff, - 0xee, 0xd8, 0x8c, 0xff, 0xdb, 0xa2, 0x39, 0xff, - 0xdc, 0xb4, 0x55, 0xff, 0xe1, 0xb2, 0x46, 0xff, - 0xe1, 0xa4, 0x31, 0xff, 0xf3, 0xd4, 0x81, 0xff, - 0xe6, 0xd0, 0x7d, 0xff, 0xf0, 0x9b, 0x27, 0xff, - 0xcc, 0x77, 0x1a, 0xff, 0xe5, 0xbf, 0x52, 0xff, - 0xe6, 0xcc, 0x7f, 0xff, 0xe8, 0xbd, 0x61, 0xff, - 0xe1, 0xbe, 0x6c, 0xff, 0xe3, 0xc5, 0x6d, 0xff, - 0xec, 0xc8, 0x6a, 0xff, 0xea, 0xc8, 0x6f, 0xff, - 0xe5, 0xce, 0x82, 0xff, 0xe5, 0xce, 0x82, 0xff, - 0xe8, 0xc3, 0x68, 0xff, 0xe5, 0xb0, 0x3e, 0xff, - 0xd3, 0x77, 0x0a, 0xff, 0xe0, 0x9e, 0x3d, 0xff, - 0xcc, 0x8d, 0x23, 0xff, 0xe9, 0xd6, 0x91, 0xff, - 0xe7, 0xc8, 0x6b, 0xff, 0xe5, 0xa7, 0x44, 0xff, - 0xd9, 0x8b, 0x29, 0xff, 0xdf, 0xca, 0x7b, 0xff, - 0xb9, 0x6d, 0x15, 0xff, 0xc5, 0x7e, 0x2e, 0xff, - 0xd4, 0x97, 0x44, 0xff, 0xb4, 0x62, 0x0c, 0xff, - 0xe3, 0xc9, 0x7c, 0xff, 0xe0, 0xb0, 0x44, 0xff, - 0xa2, 0x3a, 0x00, 0xff, 0xc6, 0x9a, 0x39, 0xff, - 0xe4, 0xca, 0x7d, 0xff, 0xd0, 0x6c, 0x0e, 0xff, - 0xc9, 0x84, 0x1f, 0xff, 0xf2, 0xd7, 0x88, 0xff, - 0xeb, 0xb8, 0x5f, 0xff, 0xba, 0x63, 0x00, 0xff, - 0xe9, 0xd2, 0x86, 0xff, 0xf1, 0xc0, 0x64, 0xff, - 0xea, 0xd7, 0x8b, 0xff, 0xea, 0xcd, 0x81, 0xff, - 0xe9, 0xb5, 0x3d, 0xff, 0xd2, 0x7f, 0x23, 0xff, - 0xb9, 0x5f, 0x13, 0xff, 0x94, 0x2e, 0x00, 0xff, - 0xd0, 0x9e, 0x47, 0xff, 0xab, 0x54, 0x07, 0xff, - 0xcd, 0x96, 0x3c, 0xff, 0xe4, 0xbf, 0x67, 0xff, - 0xd0, 0x87, 0x14, 0xff, 0xfa, 0xdf, 0x92, 0xff, - 0xea, 0xd9, 0x94, 0xff, 0xf1, 0xc8, 0x76, 0xff, - 0x94, 0x32, 0x00, 0xff, 0xb5, 0x5c, 0x0a, 0xff, - 0xaf, 0x64, 0x13, 0xff, 0xe1, 0xca, 0x7e, 0xff, - 0xe5, 0xd0, 0x81, 0xff, 0xe6, 0xb0, 0x46, 0xff, - 0xe8, 0xce, 0x7a, 0xff, 0xc1, 0x71, 0x12, 0xff, - 0x89, 0x10, 0x00, 0xff, 0xc1, 0x62, 0x10, 0xff, - 0xe3, 0xb9, 0x63, 0xff, 0xe9, 0xce, 0x77, 0xff, - 0xd4, 0x9f, 0x2f, 0xff, 0xf8, 0xd7, 0x86, 0xff, - 0xef, 0xd7, 0x99, 0xff, 0xea, 0xd6, 0x91, 0xff, - 0xe9, 0xd2, 0x86, 0xff, 0xe9, 0xcc, 0x7c, 0xff, - 0xe4, 0xcb, 0x71, 0xff, 0xe3, 0xc4, 0x67, 0xff, - 0xe1, 0xc0, 0x59, 0xff, 0xe4, 0xbc, 0x4d, 0xff, - 0xe1, 0xb2, 0x3c, 0xff, 0xc4, 0x75, 0x10, 0xff, - 0xbd, 0x58, 0x14, 0xff, 0xd1, 0x9c, 0x36, 0xff, - 0xd1, 0x91, 0x25, 0xff, 0xee, 0xd3, 0x82, 0xff, - 0xe8, 0xd5, 0x89, 0xff, 0xf9, 0xcd, 0x6a, 0xff, - 0xd3, 0x94, 0x35, 0xff, 0xc1, 0x64, 0x07, 0xff, - 0xca, 0x7b, 0x1e, 0xff, 0xe5, 0xd2, 0x90, 0xff, - 0xd9, 0xb4, 0x5c, 0xff, 0xae, 0x4f, 0x00, 0xff, - 0xca, 0x8f, 0x2b, 0xff, 0xdb, 0xb3, 0x6e, 0xff, - 0xe7, 0xc8, 0x75, 0xff, 0xe3, 0xc9, 0x6c, 0xff, - 0xc3, 0x71, 0x0e, 0xff, 0xce, 0x8f, 0x32, 0xff, - 0xe6, 0xc0, 0x53, 0xff, 0xd6, 0x88, 0x23, 0xff, - 0xcf, 0x92, 0x35, 0xff, 0xe3, 0xbd, 0x5c, 0xff, - 0xe7, 0xb7, 0x53, 0xff, 0xed, 0xc9, 0x7f, 0xff, - 0xef, 0xd7, 0x77, 0xff, 0xf2, 0xde, 0x95, 0xff, - 0xe9, 0xbe, 0x4d, 0xff, 0xdc, 0xa8, 0x38, 0xff, - 0xeb, 0xb8, 0x5c, 0xff, 0x93, 0x19, 0x02, 0xff, - 0xbf, 0x74, 0x21, 0xff, 0xdd, 0xaa, 0x51, 0xff, - 0xd5, 0xa7, 0x49, 0xff, 0xc8, 0x8c, 0x34, 0xff, - 0xcc, 0x9a, 0x37, 0xff, 0xde, 0xbe, 0x67, 0xff, - 0xda, 0x96, 0x2b, 0xff, 0xe6, 0xb0, 0x58, 0xff, - 0xf2, 0xdf, 0x9d, 0xff, 0xe4, 0xc0, 0x6a, 0xff, - 0x9e, 0x2f, 0x01, 0xff, 0xdc, 0xa6, 0x4e, 0xff, - 0xdf, 0xbb, 0x6f, 0xff, 0xe1, 0xb5, 0x4a, 0xff, - 0xd3, 0x89, 0x34, 0xff, 0xa6, 0x42, 0x00, 0xff, - 0xe4, 0xc5, 0x73, 0xff, 0xdf, 0x96, 0x3a, 0xff, - 0x9b, 0x25, 0x0b, 0xff, 0xd1, 0x95, 0x3d, 0xff, - 0xeb, 0xd1, 0x84, 0xff, 0xec, 0xd6, 0x8b, 0xff, - 0xe8, 0xcc, 0x78, 0xff, 0xe6, 0xc5, 0x5e, 0xff, - 0xe8, 0xc0, 0x4f, 0xff, 0xe4, 0xb3, 0x3c, 0xff, - 0xe3, 0xaa, 0x37, 0xff, 0xe1, 0xa4, 0x2f, 0xff, - 0xba, 0x65, 0x08, 0xff, 0xbe, 0x6a, 0x07, 0xff, - 0xd7, 0x98, 0x2f, 0xff, 0xd4, 0x8c, 0x26, 0xff, - 0xce, 0x77, 0x0e, 0xff, 0xc8, 0x89, 0x22, 0xff, - 0xcb, 0x78, 0x1a, 0xff, 0xde, 0xba, 0x64, 0xff, - 0xeb, 0xd7, 0x90, 0xff, 0xe4, 0xc7, 0x69, 0xff, - 0xef, 0xb8, 0x51, 0xff, 0xba, 0x53, 0x06, 0xff, - 0xdd, 0xb3, 0x5d, 0xff, 0xbb, 0x69, 0x13, 0xff, - 0xc3, 0x72, 0x19, 0xff, 0xec, 0xd7, 0x94, 0xff, - 0xe6, 0xbb, 0x5f, 0xff, 0xe8, 0xbb, 0x66, 0xff, - 0xbb, 0x65, 0x0e, 0xff, 0xb6, 0x69, 0x0d, 0xff, - 0xdb, 0xaf, 0x4c, 0xff, 0xf2, 0xdb, 0x95, 0xff, - 0xf2, 0xb8, 0x55, 0xff, 0xcc, 0x8a, 0x2a, 0xff, - 0xcd, 0x75, 0x0b, 0xff, 0xdf, 0xaf, 0x5b, 0xff, - 0xc7, 0x80, 0x18, 0xff, 0xde, 0xa6, 0x45, 0xff, - 0xed, 0xca, 0x76, 0xff, 0xef, 0xd3, 0x80, 0xff, - 0xea, 0xcf, 0x78, 0xff, 0xea, 0xab, 0x37, 0xff, - 0xc5, 0x63, 0x02, 0xff, 0xe2, 0xae, 0x4b, 0xff, - 0xe4, 0xd0, 0x7a, 0xff, 0xec, 0xd4, 0x8e, 0xff, - 0xe8, 0xbf, 0x67, 0xff, 0xe5, 0xbc, 0x6a, 0xff, - 0xe4, 0xa0, 0x3d, 0xff, 0xb6, 0x75, 0x19, 0xff, - 0xbf, 0x6c, 0x1c, 0xff, 0xe4, 0xc0, 0x6a, 0xff, - 0xe0, 0x9e, 0x2e, 0xff, 0xe5, 0xb0, 0x50, 0xff, - 0xed, 0xcf, 0x75, 0xff, 0xed, 0xd3, 0x89, 0xff, - 0xd7, 0xa4, 0x4b, 0xff, 0xd7, 0x9d, 0x39, 0xff, - 0xd0, 0x87, 0x2b, 0xff, 0xba, 0x65, 0x14, 0xff, - 0xa0, 0x3c, 0x00, 0xff, 0xa7, 0x43, 0x07, 0xff, - 0xe0, 0xbc, 0x6e, 0xff, 0xd9, 0x9d, 0x2f, 0xff, - 0xe7, 0xd0, 0x84, 0xff, 0xf2, 0xdc, 0x93, 0xff, - 0xeb, 0xc0, 0x57, 0xff, 0xee, 0xad, 0x39, 0xff, - 0xdb, 0x90, 0x2a, 0xff, 0xdc, 0xa2, 0x41, 0xff, - 0xd5, 0x8f, 0x20, 0xff, 0xdb, 0x9d, 0x38, 0xff, - 0xe3, 0xa9, 0x46, 0xff, 0xe8, 0xc3, 0x73, 0xff, - 0xe7, 0xc6, 0x75, 0xff, 0xd9, 0xab, 0x56, 0xff, - 0xd6, 0xa4, 0x45, 0xff, 0xba, 0x57, 0x04, 0xff, - 0xd6, 0x99, 0x40, 0xff, 0xdf, 0xb5, 0x53, 0xff, - 0xed, 0xca, 0x78, 0xff, 0xe7, 0xce, 0x8b, 0xff, - 0xe9, 0xb6, 0x43, 0xff, 0xcb, 0x85, 0x25, 0xff, - 0xa3, 0x33, 0x03, 0xff, 0xb3, 0x54, 0x04, 0xff, - 0xe1, 0xc9, 0x7f, 0xff, 0xa9, 0x3c, 0x03, 0xff, - 0xbd, 0x57, 0x19, 0xff, 0xe6, 0xd2, 0x7b, 0xff, - 0xec, 0xcd, 0x73, 0xff, 0xea, 0xce, 0x8f, 0xff, - 0xec, 0xc2, 0x6c, 0xff, 0xbd, 0x6e, 0x12, 0xff, - 0xe3, 0xb1, 0x58, 0xff, 0xea, 0xc7, 0x69, 0xff, - 0xeb, 0xd7, 0x92, 0xff, 0xe0, 0xa6, 0x43, 0xff, - 0xc6, 0x76, 0x13, 0xff, 0xe7, 0xba, 0x67, 0xff, - 0xed, 0xd5, 0x7f, 0xff, 0xf7, 0xdd, 0x92, 0xff, - 0xf1, 0xd6, 0x8f, 0xff, 0xe5, 0xc6, 0x5c, 0xff, - 0xd6, 0x93, 0x1e, 0xff, 0xe0, 0xb8, 0x63, 0xff, - 0xc9, 0x7d, 0x25, 0xff, 0x96, 0x1f, 0x00, 0xff, - 0xb5, 0x64, 0x08, 0xff, 0xe5, 0xbb, 0x4d, 0xff, - 0xed, 0xcb, 0x74, 0xff, 0xf6, 0xdd, 0x9a, 0xff, - 0xe6, 0xc4, 0x7d, 0xff, 0x81, 0x0f, 0x00, 0xff, - 0xc3, 0x73, 0x1c, 0xff, 0xde, 0xba, 0x5c, 0xff, - 0xdc, 0x91, 0x1e, 0xff, 0xe0, 0xc1, 0x6f, 0xff, - 0xe7, 0xbe, 0x54, 0xff, 0xef, 0xd9, 0x90, 0xff, - 0xe1, 0xae, 0x45, 0xff, 0x87, 0x16, 0x04, 0xff, - 0x88, 0x21, 0x00, 0xff, 0xc0, 0x7c, 0x29, 0xff, - 0xa1, 0x34, 0x0b, 0xff, 0xc9, 0x91, 0x46, 0xff, - 0xec, 0xcc, 0x75, 0xff, 0xf4, 0xe2, 0xa2, 0xff, - 0xf6, 0xd4, 0x7b, 0xff, 0xe9, 0xa8, 0x32, 0xff, - 0xdc, 0x9b, 0x37, 0xff, 0xe5, 0xc2, 0x6e, 0xff, - 0xe0, 0xaf, 0x50, 0xff, 0xe6, 0xb8, 0x5a, 0xff, - 0xe4, 0xc6, 0x7e, 0xff, 0xde, 0xa2, 0x34, 0xff, - 0xc2, 0x6a, 0x13, 0xff, 0xdc, 0xab, 0x44, 0xff, - 0xea, 0xd1, 0x7f, 0xff, 0xea, 0xce, 0x7b, 0xff, - 0xd8, 0xa3, 0x3d, 0xff, 0xde, 0xbe, 0x6b, 0xff, - 0xec, 0xd3, 0x90, 0xff, 0xf2, 0xdb, 0x95, 0xff, - 0xe6, 0xc3, 0x65, 0xff, 0xe1, 0x9f, 0x2e, 0xff, - 0xdc, 0xa3, 0x3c, 0xff, 0xd2, 0x98, 0x44, 0xff, - 0xb0, 0x51, 0x01, 0xff, 0xba, 0x69, 0x0e, 0xff, - 0xe7, 0xd4, 0x88, 0xff, 0xac, 0x4e, 0x04, 0xff, - 0x8b, 0x14, 0x00, 0xff, 0xb5, 0x60, 0x0d, 0xff, - 0xe6, 0xd3, 0x87, 0xff, 0xe0, 0xa5, 0x2d, 0xff, - 0xea, 0xd4, 0x8b, 0xff, 0xcb, 0x8b, 0x34, 0xff, - 0xe8, 0xc0, 0x69, 0xff, 0xeb, 0xb6, 0x56, 0xff, - 0xf1, 0xd4, 0x86, 0xff, 0xe9, 0xcf, 0x82, 0xff, - 0xe7, 0xd3, 0x8a, 0xff, 0xeb, 0xd1, 0x86, 0xff, - 0xe7, 0xc0, 0x59, 0xff, 0xe8, 0xba, 0x4a, 0xff, - 0xd3, 0x8b, 0x1f, 0xff, 0xd0, 0x82, 0x1e, 0xff, - 0xc5, 0x6c, 0x08, 0xff, 0xe9, 0xd9, 0x8c, 0xff, - 0xe9, 0xca, 0x7a, 0xff, 0xc6, 0x74, 0x1e, 0xff, - 0xc7, 0x7e, 0x1f, 0xff, 0xde, 0xb4, 0x5e, 0xff, - 0xe4, 0xa6, 0x3f, 0xff, 0xe7, 0xb6, 0x40, 0xff, - 0xe1, 0xc4, 0x5e, 0xff, 0xe9, 0xd1, 0x89, 0xff, - 0xe8, 0xd2, 0x89, 0xff, 0xe6, 0xca, 0x77, 0xff, - 0xe2, 0xc4, 0x62, 0xff, 0xeb, 0xd4, 0x88, 0xff, - 0xed, 0xae, 0x3a, 0xff, 0xeb, 0xcf, 0x85, 0xff, - 0xe5, 0xbc, 0x60, 0xff, 0xe2, 0xc1, 0x74, 0xff, - 0xe5, 0xc7, 0x6f, 0xff, 0xdc, 0xb5, 0x56, 0xff, - 0xe7, 0xc5, 0x61, 0xff, 0xee, 0xd1, 0x85, 0xff, - 0xe7, 0xc1, 0x52, 0xff, 0xe2, 0xa6, 0x2a, 0xff, - 0xcd, 0x75, 0x13, 0xff, 0xc5, 0x6c, 0x0e, 0xff, - 0xdf, 0xc0, 0x70, 0xff, 0xe8, 0xb7, 0x4e, 0xff, - 0xe8, 0xad, 0x53, 0xff, 0xe2, 0xc6, 0x72, 0xff, - 0xdc, 0xa7, 0x37, 0xff, 0xed, 0xbd, 0x68, 0xff, - 0xdd, 0xc2, 0x73, 0xff, 0xdc, 0xb7, 0x5f, 0xff, - 0xdb, 0xa6, 0x34, 0xff, 0xe8, 0xce, 0x79, 0xff, - 0xea, 0xca, 0x7d, 0xff, 0xda, 0x92, 0x26, 0xff, - 0xcd, 0x7d, 0x0e, 0xff, 0xda, 0x9e, 0x2e, 0xff, - 0xcc, 0x75, 0x18, 0xff, 0xdb, 0x9c, 0x35, 0xff, - 0xde, 0xb9, 0x68, 0xff, 0xdc, 0xba, 0x72, 0xff, - 0xd1, 0x9c, 0x3e, 0xff, 0xd2, 0x9a, 0x39, 0xff, - 0xec, 0xd2, 0x88, 0xff, 0xde, 0x9c, 0x45, 0xff, - 0xbd, 0x71, 0x11, 0xff, 0xba, 0x5e, 0x09, 0xff, - 0xea, 0xd6, 0x7d, 0xff, 0xdd, 0xc4, 0x68, 0xff, - 0xd7, 0x99, 0x2a, 0xff, 0xe7, 0xd8, 0x97, 0xff, - 0xe3, 0xbc, 0x5f, 0xff, 0xde, 0xa1, 0x37, 0xff, - 0xa5, 0x49, 0x00, 0xff, 0xea, 0xd0, 0x7c, 0xff, +Gfx ship1_hmpainted_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_hmpainted_rgba16[] = { + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x42, 0x51, 0xa5, 0x29, 0x42, 0x51, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x31, 0xcd, 0x7c, 0x1f, + 0x7c, 0x1f, 0x31, 0xcd, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xb5, 0xad, 0xff, 0xff, 0xb5, 0xad, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x7c, 0x1f, 0xe7, 0x39, + 0xe7, 0x39, 0x7c, 0x1f, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x52, 0xd5, 0xce, 0x73, + 0xbd, 0xef, 0x52, 0x95, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xef, 0x7b, 0xff, 0xff, 0xef, 0x7b, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x94, 0xa5, 0xf7, 0xbd, + 0xef, 0x7b, 0x84, 0x21, 0x49, 0x02, 0x49, 0x02, + 0x29, 0xcb, 0x84, 0x21, 0xce, 0x73, 0x52, 0xd5, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x42, 0x51, 0xe7, 0x39, 0xff, 0xff, + 0xff, 0xff, 0xbd, 0xef, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xe7, 0x39, 0xff, 0xff, 0xef, 0x7b, + 0x3a, 0x0f, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0xce, 0xb3, 0xff, 0xff, + 0xf7, 0xbd, 0x73, 0x9d, 0x49, 0x02, 0x49, 0x02, + 0x7c, 0x1f, 0xf7, 0xbd, 0xff, 0xff, 0xce, 0xb3, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xad, 0x6b, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xd6, 0xb5, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x29, 0xcb, 0xe7, 0x39, 0xff, 0xff, + 0xe7, 0x39, 0x29, 0xcb, 0x49, 0x02, 0x49, 0x02, + 0xbd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, + 0x5b, 0x17, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd6, 0xb5, 0x42, 0x51, 0x49, 0x02, + 0x49, 0x02, 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, + 0xdf, 0x37, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x73, 0x9d, 0xf7, 0xbd, 0xff, 0xff, + 0xd6, 0xb5, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xde, 0xf7, 0x29, 0xcb, 0x49, 0x02, 0x49, 0x02, + 0x42, 0x51, 0xe7, 0x39, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xb5, 0xad, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x73, 0xdd, 0xf7, 0xbd, 0xff, 0xff, + 0xd6, 0xb5, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x84, 0x61, 0x49, 0x02, 0x49, 0x02, + 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xbd, 0x5b, 0x17, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x7b, 0xdf, 0xf7, 0xbd, 0xff, 0xff, + 0xd6, 0xb5, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xce, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, 0x29, 0xcb, + 0xe7, 0x39, 0xff, 0xff, 0xf7, 0xbd, 0xc6, 0x31, + 0xff, 0xff, 0xff, 0xff, 0xad, 0xab, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xc6, 0x31, 0xb5, 0xad, 0xe7, 0x39, 0xc6, 0x31, + 0xd6, 0xb5, 0xef, 0x7b, 0xff, 0xff, 0xff, 0xff, + 0xce, 0xb3, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0x39, 0x42, 0x51, 0x7b, 0xdf, + 0xf7, 0xbd, 0xff, 0xff, 0xd6, 0xb5, 0xad, 0xab, + 0xff, 0xff, 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xb5, 0xad, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, + 0xff, 0xff, 0xff, 0xff, 0xb5, 0xad, 0xb5, 0xad, + 0xff, 0xff, 0xff, 0xff, 0xe7, 0x39, 0xad, 0xab, + 0xff, 0xff, 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xbd, 0xef, 0xbb, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xd6, 0xb5, 0xff, 0xff, 0xf7, 0xbd, 0xc6, 0x31, + 0xff, 0xff, 0xff, 0xff, 0xe7, 0x39, 0xe7, 0x39, + 0xff, 0xff, 0xff, 0xff, 0x94, 0xa5, 0xad, 0xab, + 0xff, 0xff, 0xff, 0xff, 0xb5, 0xad, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xc6, 0x31, 0xad, 0x6b, 0xad, 0xab, 0xad, 0x6b, + 0x7b, 0xdf, 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x29, 0xcb, + 0xe7, 0x39, 0xff, 0xff, 0xe7, 0x39, 0x52, 0x95, + 0xef, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, + 0xff, 0xff, 0xf7, 0xbd, 0x73, 0x9d, 0xad, 0x6b, + 0xff, 0xff, 0xff, 0xff, 0xb5, 0xad, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x6b, 0x5b, + 0xf7, 0xbd, 0xff, 0xff, 0xde, 0xf7, 0x29, 0xcb, + 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xde, 0xf7, 0x29, 0xcb, 0x7c, 0x1f, + 0xf7, 0xbd, 0xff, 0xff, 0xce, 0xb3, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x52, 0x95, + 0xe7, 0x39, 0xff, 0xff, 0xf7, 0xbd, 0x6b, 0x5b, + 0x42, 0x51, 0xd6, 0xb5, 0xff, 0xff, 0xff, 0xff, + 0xef, 0x7b, 0x5b, 0x17, 0x49, 0x02, 0x73, 0xdd, + 0xf7, 0xbd, 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xad, 0xab, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0xad, 0xab, + 0xff, 0xff, 0xff, 0xff, 0xc6, 0x31, 0x29, 0xcb, + 0x49, 0x02, 0x42, 0x51, 0xb5, 0xad, 0xce, 0x73, + 0x5b, 0x17, 0x49, 0x02, 0x49, 0x02, 0x73, 0xdd, + 0xf7, 0xbd, 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, + 0x49, 0x02, 0xb5, 0xad, 0xff, 0xff, 0xff, 0xff, + 0xad, 0xab, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xad, 0x6b, 0xff, 0xff, 0xff, 0xff, + 0xb5, 0xad, 0x49, 0x02, 0x49, 0x02, 0xce, 0xb3, + 0xff, 0xff, 0xff, 0xff, 0xce, 0x73, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x6b, 0x9b, + 0xf7, 0xbd, 0xff, 0xff, 0xd6, 0xb5, 0x49, 0x02, + 0x49, 0x02, 0xde, 0xf7, 0xff, 0xff, 0xff, 0xff, + 0xad, 0x6b, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x7b, 0xdf, 0xf7, 0xbd, 0xff, 0xff, + 0xce, 0x73, 0x49, 0x02, 0x49, 0x02, 0xbe, 0x2f, + 0xff, 0xff, 0xf7, 0xbd, 0x84, 0x21, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x29, 0xcb, + 0xe7, 0x39, 0xff, 0xff, 0xe7, 0x39, 0x49, 0x02, + 0x49, 0x02, 0x8c, 0xa3, 0xf7, 0xbd, 0xc6, 0x31, + 0x42, 0x51, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x29, 0xcb, 0x84, 0x21, 0xce, 0x73, + 0x52, 0xd5, 0x49, 0x02, 0x49, 0x02, 0x7b, 0xdf, + 0xe7, 0x39, 0xa5, 0x29, 0x3a, 0x0f, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xe7, 0x39, 0xff, 0xff, 0xe7, 0x39, 0x49, 0x02, + 0x49, 0x02, 0x29, 0xcb, 0x6b, 0x5b, 0x29, 0xcb, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x03, + 0x49, 0x03, 0x49, 0x02, 0x49, 0x02, 0x29, 0xcb, + 0x63, 0x59, 0x3a, 0x0f, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xde, 0xf7, 0xff, 0xff, 0xde, 0xf7, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0xb8, 0x81, 0xb0, 0x81, + 0x88, 0xc3, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x69, 0x03, 0x49, 0x02, 0x49, 0x02, + 0xc0, 0x41, 0x69, 0x03, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x63, 0x17, 0xde, 0xf7, 0x63, 0x17, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xc0, 0x41, 0xb8, 0x81, 0x98, 0xc3, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xc8, 0x41, 0xb8, 0x81, 0x49, 0x02, + 0xc8, 0x41, 0xa8, 0xc3, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xc0, 0x41, 0xc0, 0x41, 0x69, 0x03, 0x69, 0x03, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xd0, 0x01, 0xa8, 0xc3, 0x49, 0x02, + 0xc8, 0x41, 0xa8, 0xc3, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xa8, 0xc3, 0xd0, 0x01, 0xc0, 0x41, 0xc0, 0x41, + 0xd0, 0x01, 0xc0, 0x41, 0x69, 0x03, 0x49, 0x02, + 0x49, 0x02, 0xd0, 0x01, 0xc8, 0x41, 0xc8, 0x41, + 0xd0, 0x01, 0xd0, 0x01, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xd0, 0x01, 0xc8, 0x01, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0xa8, 0xc3, 0x98, 0xc3, 0x49, 0x02, + 0x49, 0x02, 0x98, 0xc3, 0xa8, 0xc3, 0xb8, 0x41, + 0xc8, 0x01, 0xc8, 0x41, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x98, 0xc3, 0x98, 0xc3, 0x98, 0xc3, 0x69, 0x03, + 0xc0, 0x41, 0xc0, 0x41, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xb8, 0x81, 0xd0, 0x01, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x98, 0xc3, 0xb8, 0x81, 0xc0, 0x41, + 0xc0, 0x41, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0xa8, 0xc3, 0xc0, 0x41, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, + 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, 0x49, 0x02, }; -Gfx ship1_sauce_ci4_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_sauce_ci4[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +Gfx ship1_spag1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_spag1_rgba16[] = { + 0xcc, 0x0b, 0xc4, 0x09, 0xcc, 0x93, 0xab, 0x4b, + 0xdd, 0x55, 0xe6, 0x19, 0xe5, 0xd9, 0xd4, 0x8f, + 0xd4, 0xd3, 0xbc, 0x0f, 0xcc, 0x8f, 0xdd, 0x97, + 0xe5, 0xd7, 0xbb, 0x8b, 0xd4, 0xd5, 0xcc, 0x8f, + 0xee, 0x5d, 0xbb, 0x8b, 0xdd, 0x97, 0xdd, 0x15, + 0xe6, 0x1d, 0xd4, 0x91, 0xdd, 0x57, 0xdd, 0x15, + 0xcc, 0x4d, 0xc3, 0x85, 0xc4, 0x09, 0xdd, 0x51, + 0xbb, 0xcb, 0xd4, 0x8f, 0xdd, 0x53, 0xc3, 0xcd, + 0xdd, 0x55, 0xdd, 0x53, 0xd5, 0x15, 0xe6, 0x1d, + 0xdd, 0x17, 0xee, 0x19, 0xd4, 0x8b, 0xc4, 0x4f, + 0xdd, 0x95, 0xdd, 0x55, 0xd5, 0x13, 0xe5, 0xd9, + 0xc4, 0x0b, 0xdd, 0xdb, 0xdd, 0xd9, 0xc4, 0x4b, + 0xe6, 0x5f, 0xdc, 0xd3, 0xdd, 0x15, 0xdd, 0xd9, + 0xe6, 0x19, 0xdd, 0x97, 0xdd, 0x13, 0xd5, 0x55, + 0xcc, 0x0b, 0xc4, 0x0b, 0xaa, 0x45, 0xd5, 0x57, + 0xdd, 0x57, 0xcc, 0x95, 0xcb, 0xc9, 0xbb, 0x47, + 0xd4, 0xd1, 0xdd, 0x97, 0xdd, 0x97, 0xdd, 0x97, + 0xee, 0x5d, 0xdd, 0x0f, 0xa2, 0x85, 0xbb, 0x47, + 0xb2, 0xc7, 0xdd, 0x57, 0xdd, 0x13, 0xe6, 0x1d, + 0xd4, 0x8d, 0xe6, 0x5d, 0xdd, 0x55, 0xc3, 0x8b, + 0xe6, 0x61, 0xdd, 0x13, 0xdd, 0x99, 0xc3, 0xc9, + 0xdd, 0xd9, 0xdd, 0x13, 0xe5, 0x99, 0xdd, 0xd9, + 0xdd, 0x15, 0xc4, 0x4d, 0xb3, 0x47, 0xe6, 0x5f, + 0xd4, 0xd1, 0xb2, 0xc5, 0xcc, 0x8f, 0xd4, 0xd3, + 0xdd, 0x55, 0xdd, 0x97, 0xd4, 0x8d, 0xe6, 0x5d, + 0xd4, 0xcf, 0xe5, 0xdb, 0xbb, 0xc9, 0xcc, 0x8f, + 0xc4, 0x91, 0xee, 0x61, 0xe5, 0xd9, 0xdc, 0xd3, + 0xe5, 0xdb, 0xcc, 0xd1, 0xdd, 0xd7, 0xe6, 0x19, + 0xe5, 0xd9, 0xe5, 0x95, 0xee, 0x61, 0xa2, 0x43, + 0xdd, 0xdb, 0xdd, 0x97, 0xdd, 0x19, 0xd4, 0xd3, + 0xe6, 0x19, 0xe6, 0x1d, 0xe5, 0xd7, 0xdd, 0x99, + 0xd4, 0x8d, 0xd4, 0xd5, 0xd4, 0xd3, 0xdd, 0x95, + 0xa1, 0xc3, 0xc4, 0x4f, 0xee, 0x5f, 0xe5, 0x95, + 0xdd, 0x97, 0xee, 0x1f, 0xc4, 0x4f, 0xaa, 0xc5, + 0xc4, 0x0f, 0xe6, 0x19, 0xe6, 0x5f, 0xc3, 0x87, + 0xee, 0x1f, 0xee, 0x1d, 0xc3, 0xcf, 0xdd, 0x57, + 0xcc, 0x4b, 0xdd, 0x13, 0xee, 0x5f, 0xd4, 0xd1, + 0xe6, 0x1b, 0xdd, 0x5b, 0xe6, 0x1b, 0xd5, 0x15, + 0xcc, 0x0d, 0xd4, 0xcf, 0xd4, 0xd3, 0xdd, 0x9b, + 0xcc, 0x4f, 0xdd, 0x99, 0x91, 0x43, 0xdd, 0x55, + 0xc3, 0xcd, 0xd4, 0xd1, 0xee, 0x1f, 0xdd, 0x55, + 0xdd, 0x55, 0xee, 0x9f, 0xcc, 0x8d, 0xc3, 0xc9, + 0xe5, 0xd9, 0xc4, 0x0f, 0xe6, 0x5f, 0xb2, 0x85, + 0xcc, 0xd3, 0xe5, 0x97, 0xdd, 0x55, 0xdd, 0x99, + 0xcc, 0x4d, 0xdd, 0x9b, 0xee, 0xa1, 0xb2, 0xc7, + 0xdd, 0x53, 0xcc, 0x4b, 0xdd, 0xd7, 0xd5, 0x15, + 0xd5, 0x13, 0xd4, 0x8f, 0xbb, 0x89, 0xbb, 0xd5, + 0xd4, 0x8f, 0xdd, 0x17, 0xdd, 0x57, 0xee, 0x5d, + 0xa2, 0x47, 0xe6, 0x1d, 0xdd, 0x97, 0xc4, 0x4b, + 0xdd, 0x55, 0xee, 0x61, 0xdd, 0x53, 0xdd, 0xdd, + 0xd4, 0xd5, 0xdd, 0x55, 0xe5, 0xd9, 0xd4, 0x8d, + 0xb3, 0x49, 0xee, 0x5f, 0xd4, 0x4b, 0xe5, 0xd9, + 0xd5, 0x13, 0xdd, 0x97, 0xe6, 0x1d, 0xcc, 0x4b, + 0xd5, 0x13, 0xd5, 0x13, 0xc4, 0x4f, 0xe6, 0x1b, + 0xb3, 0x8b, 0xe5, 0xdb, 0xdd, 0x57, 0xdd, 0x99, + 0xc4, 0x0d, 0xcc, 0x4d, 0xd4, 0xd3, 0xee, 0x1b, + 0xe6, 0x5f, 0xe6, 0x1b, 0xc4, 0x53, 0xbb, 0x47, + 0xcc, 0x8d, 0xe5, 0xdb, 0xdd, 0x55, 0xe5, 0x55, + 0xdd, 0x15, 0xee, 0x1b, 0xd5, 0x57, 0xdd, 0x97, + 0xdd, 0x9b, 0xe6, 0x1d, 0xe6, 0x1d, 0xd4, 0xd1, + 0xdd, 0x55, 0xdd, 0xd9, 0xdd, 0x55, 0xcc, 0x95, + 0xe5, 0xd9, 0xe5, 0xd9, 0xc4, 0x0b, 0xd5, 0x55, + 0xd4, 0x8d, 0xbb, 0x87, 0xcc, 0x8f, 0xe6, 0x1b, + 0xdd, 0x53, 0xdd, 0x13, 0xd5, 0x11, 0xe5, 0x97, + 0xe5, 0x53, 0xd4, 0xd9, 0xdd, 0x17, 0xbb, 0x8b, + 0xaa, 0xc7, 0xdd, 0x97, 0xdd, 0x55, 0xc3, 0xcb, + 0xdd, 0xd9, 0xdd, 0x55, 0xe5, 0x51, 0xe5, 0xd5, + 0xd4, 0x8d, 0xcc, 0x09, 0xdd, 0x55, 0xdd, 0x99, + 0xdd, 0x0f, 0xee, 0x5f, 0xbb, 0x45, 0xdd, 0x13, + 0xd4, 0xd3, 0xe5, 0xd9, 0xcc, 0x91, 0xcc, 0xd5, + 0xdd, 0xd9, 0xe6, 0x19, 0xdd, 0x11, 0xe6, 0x5d, + 0xcc, 0x4b, 0xd4, 0xcf, 0xe5, 0xd9, 0xe6, 0x19, + 0xdd, 0x57, 0xe6, 0x19, 0xe5, 0xd9, 0xdd, 0xdb, + 0xe6, 0x5d, 0xe5, 0xd9, 0xe6, 0x1b, 0xd4, 0xd1, + 0xd4, 0xd1, 0xd4, 0xd1, 0xd5, 0x11, 0xdd, 0x55, + 0xdd, 0x95, 0xdd, 0xd7, 0xe6, 0x1b, 0xd4, 0xd3, + 0xe5, 0x95, 0xdd, 0x97, 0xd5, 0x55, 0xcc, 0xd3, + 0xdd, 0x15, 0xe5, 0x97, 0xc3, 0x89, 0xc4, 0x0f, + 0xcc, 0x8d, 0xdc, 0xd1, 0xdd, 0x57, 0xdd, 0x53, + 0xcc, 0x4d, 0xdd, 0x97, 0xdd, 0x11, 0xd4, 0x8d, + 0xcc, 0x93, 0xdd, 0x55, 0xdd, 0x55, 0xd4, 0x8d, + 0xd4, 0x8f, 0xc4, 0x0f, 0xdd, 0x97, 0xe6, 0x1b, + 0xdd, 0x59, 0xc3, 0xcb, 0xc3, 0xcb, 0xc4, 0x0b, + 0xe5, 0xdb, 0xbb, 0x4b, 0xee, 0x5f, 0xc3, 0xc9, + 0xee, 0xa1, 0xe5, 0x55, 0xbb, 0x47, 0xcc, 0x8d, + 0xdd, 0x95, 0xe6, 0x19, 0xdd, 0xd9, 0xe6, 0x1b, + 0xe5, 0xdb, 0xdd, 0x97, 0xdd, 0x97, 0xe6, 0x1d, + 0xdd, 0x13, 0xe6, 0x1b, 0xe5, 0x97, 0xdd, 0x53, + 0xcc, 0x4b, 0xcc, 0x4b, 0xdd, 0x55, 0xcc, 0x8d, + 0xcc, 0x0d, 0xbb, 0xcf, 0xdd, 0x97, 0xd5, 0x11, + 0xd5, 0x11, 0xe5, 0xd9, 0xcc, 0x91, 0xc4, 0x0d, + 0xdd, 0x97, 0xdd, 0x55, 0xee, 0xa1, 0xbb, 0x4d, + 0xee, 0x1b, 0xdd, 0x55, 0xc4, 0x0d, 0x99, 0x85, + 0xaa, 0x83, 0xbb, 0x09, 0xdd, 0x57, 0xcc, 0x0d, + 0xcc, 0x4d, 0xd5, 0x17, 0xcc, 0x4f, 0xc3, 0x45, + 0xdd, 0x97, 0xe5, 0x97, 0xdd, 0x55, 0xd4, 0x8f, + 0xc4, 0x0d, 0xdd, 0x95, 0xe6, 0x1b, 0xd4, 0x8f, + 0xdd, 0xdb, 0xcc, 0xd3, 0xee, 0x1b, 0xdd, 0x57, + 0xe5, 0xdb, 0xd5, 0x17, 0xdd, 0x11, 0xdd, 0x17, + 0xee, 0x9f, 0xaa, 0x45, 0xe6, 0x5f, 0xdd, 0x53, + 0xdd, 0x53, 0xe6, 0x1f, 0xd5, 0x13, 0xc3, 0xcd, + 0xc4, 0x4d, 0xd5, 0x13, 0xc4, 0x11, 0xe5, 0xdb, + 0xe6, 0x1b, 0xc4, 0x4b, 0xdd, 0x97, 0xbb, 0x87, + 0xe6, 0x1f, 0xe5, 0xd9, 0xe5, 0xd9, 0xd5, 0x13, + 0xc4, 0x53, 0xd4, 0xd3, 0xe6, 0x1d, 0xcc, 0x49, + 0xd4, 0xd3, 0xd4, 0xd1, 0xee, 0x5d, 0xd5, 0x15, + 0xe5, 0x99, 0xe5, 0x99, 0xb3, 0x05, 0xb3, 0x8f, + 0xe6, 0x1b, 0xc3, 0x89, 0xee, 0x5f, 0xdd, 0x55, + 0xd4, 0xd1, 0xe5, 0x99, 0xe5, 0xd9, 0xdd, 0x97, + 0xc4, 0x4d, 0xaa, 0x87, 0xd5, 0x13, 0xe6, 0x1b, + 0xdd, 0x99, 0xe5, 0x97, 0xd4, 0xd1, 0xdd, 0x57, + 0xd4, 0xcf, 0xe6, 0x1d, 0xc3, 0x8b, 0xd4, 0x8d, + 0xd4, 0xd3, 0xcc, 0x93, 0xe5, 0x97, 0xd4, 0x8f, + 0xe6, 0x1d, 0xcb, 0xc7, 0xee, 0x5f, 0xe5, 0xdb, + 0xdd, 0x55, 0xee, 0x5f, 0xc4, 0x0b, 0xbb, 0xcf, + 0xe6, 0x1b, 0xcc, 0x4b, 0xee, 0xa1, 0xcc, 0x09, + 0xd5, 0x57, 0xc3, 0xc9, 0xee, 0x5f, 0xcc, 0x51, + 0xc4, 0x0d, 0xbb, 0xc9, 0xcc, 0x8f, 0xe5, 0x97, + 0xe5, 0xd7, 0xdd, 0xd9, 0xe6, 0x1d, 0xe5, 0xd7, + 0xdd, 0x95, 0xee, 0x5f, 0xd4, 0xd3, 0xcc, 0x4d, + 0xe5, 0xd9, 0xdd, 0xdb, 0xe5, 0xd9, 0xcc, 0x8d, + 0xee, 0x5f, 0xb2, 0x85, 0xee, 0x5d, 0xee, 0x61, + 0xcc, 0x8d, 0xe6, 0x1d, 0xd4, 0x8f, 0xcc, 0x93, + 0xe5, 0xd7, 0xdd, 0x57, 0xe6, 0x1d, 0xbb, 0x47, + 0xb2, 0xc7, 0xe5, 0xd9, 0xdd, 0xd9, 0xe6, 0x19, + 0xde, 0x17, 0xe6, 0x19, 0xdd, 0x97, 0xcc, 0x4f, + 0xaa, 0x85, 0xbb, 0x47, 0xc4, 0x09, 0xdd, 0x95, + 0xe5, 0x97, 0xdd, 0x57, 0xdd, 0x53, 0xe5, 0xd9, + 0xe6, 0x1b, 0xd4, 0x4b, 0xb2, 0x87, 0xcc, 0x4d, + 0xdd, 0x97, 0xcc, 0xcf, 0xe5, 0xd9, 0xe6, 0x1d, + 0xd4, 0xd3, 0xdd, 0x11, 0xdd, 0xdd, 0xd5, 0x15, + 0x91, 0xc3, 0xe6, 0x5d, 0xdd, 0x97, 0xbb, 0x47, + 0xd4, 0xd5, 0xd4, 0x8f, 0xcc, 0x49, 0xe6, 0x1d, + 0xd5, 0x17, 0xdd, 0x55, 0xc4, 0x0b, 0xc3, 0xc9, + 0xbb, 0x49, 0xc4, 0x0d, 0xc4, 0x51, 0xe5, 0xdb, + 0xc3, 0xc9, 0xcc, 0x91, 0xdd, 0x57, 0xc3, 0x89, + 0xdc, 0xcf, 0xdd, 0x13, 0xc3, 0x87, 0xe6, 0x1d, + 0xc4, 0x0b, 0xaa, 0x85, 0xe5, 0xdb, 0xdd, 0xdb, + 0xdd, 0x95, 0xcc, 0x8d, 0xc4, 0x4f, 0xe6, 0x1b, + 0xd4, 0x8f, 0xe5, 0xd9, 0xdd, 0x55, 0xe5, 0xd9, + 0xe6, 0x1b, 0xd4, 0xd3, 0xc3, 0x87, 0xd5, 0x59, + 0xdd, 0x0d, 0xdd, 0x95, 0xbb, 0x49, 0xc4, 0x0f, + 0xdd, 0x97, 0xcc, 0x91, 0xdd, 0x57, 0xee, 0x1f, + 0xd4, 0xd3, 0xaa, 0x45, 0xdd, 0x97, 0xd4, 0xcf, + 0xdd, 0x97, 0xdd, 0x55, 0xdd, 0x99, 0xd4, 0x8f, + 0xb2, 0xc5, 0xc4, 0x91, 0xdd, 0x53, 0xe6, 0x1d, + 0xdd, 0x55, 0xd5, 0x13, 0xee, 0x5f, 0xd4, 0x0b, + 0xe5, 0xd7, 0xdd, 0x97, 0xc4, 0x4f, 0xdd, 0x97, + 0xd5, 0x13, 0xdd, 0xd9, 0xd5, 0x57, 0xee, 0x1d, + 0xcc, 0x09, 0xc4, 0x51, 0xbb, 0x89, 0xa1, 0xc3, + 0xe5, 0xdb, 0xdd, 0x57, 0xd4, 0x8f, 0xe5, 0x57, + 0xe6, 0x1f, 0xa2, 0x03, 0xcc, 0x51, 0xe5, 0xd7, + 0xdd, 0x11, 0xe6, 0x1b, 0xdd, 0x53, 0x99, 0x83, + 0xc4, 0x93, 0xee, 0xa1, 0xdd, 0x13, 0xe6, 0x1b, + 0xd4, 0xd3, 0xdd, 0x53, 0xee, 0x61, 0xdd, 0x99, + 0xd5, 0x15, 0xdd, 0x11, 0xd4, 0xcf, 0xdd, 0xd9, + 0xdd, 0x15, 0xcc, 0x4b, 0xb3, 0x05, 0xd4, 0x95, + 0xdd, 0x57, 0xdd, 0x15, 0xa2, 0x85, 0xc3, 0xc9, + 0xe6, 0x61, 0xe6, 0x1f, 0xcc, 0x0b, 0xd5, 0x15, + 0xbb, 0xcf, 0xdd, 0x57, 0xbb, 0x8b, 0xbc, 0x11, + 0xd5, 0x55, 0xd4, 0x8f, 0xcc, 0x8f, 0xdd, 0xdb, + 0xd4, 0xcf, 0xdd, 0x57, 0xcc, 0x09, 0xee, 0x5f, + 0xcb, 0xc9, 0xc3, 0x8d, 0xe6, 0x1d, 0xb2, 0xc5, + 0xdd, 0xd9, 0xdd, 0x17, 0xcc, 0x91, 0xbb, 0x8b, + 0xdd, 0x53, 0xdd, 0x97, 0xe5, 0xd9, 0xe6, 0x1d, + 0xe5, 0xd7, 0xd5, 0x13, 0xdd, 0x99, 0xe5, 0xd7, + 0xee, 0xa1, 0xd5, 0x55, 0xbb, 0x45, 0xd4, 0xd3, + 0xcc, 0x4d, 0xe5, 0xd9, 0xc4, 0xd3, 0xde, 0x1d, + 0xdd, 0x51, 0xdd, 0x97, 0xdd, 0x59, 0xd4, 0x8f, + 0xcc, 0x4d, 0xdd, 0xd9, 0xd4, 0x4b, 0xee, 0x5f, + 0xd4, 0xd1, 0xd5, 0x15, 0xe6, 0x1b, 0xd4, 0x91, + 0xb3, 0x4d, 0xc4, 0x0f, 0xe6, 0x5d, 0xd4, 0xd1, + 0xd4, 0xd3, 0xdd, 0x11, 0xdd, 0x55, 0xdd, 0x17, + 0xd4, 0xcf, 0xc4, 0x0b, 0xb3, 0x49, 0xd4, 0xd1, + 0xee, 0xa1, 0xa2, 0x87, 0xb3, 0x09, 0xcc, 0x91, + 0xc4, 0x09, 0xd5, 0x13, 0xaa, 0xc9, 0xdd, 0x95, + 0xdd, 0x55, 0xcc, 0x4f, 0xb2, 0xc7, 0xdd, 0x53, + 0xe5, 0x57, 0xe6, 0x5f, 0xdd, 0x13, 0xee, 0x5d, + 0xbb, 0x49, 0xc4, 0x0f, 0xe6, 0x19, 0xe5, 0xd9, + 0xd4, 0xd1, 0xdd, 0x9b, 0xcc, 0x0d, 0xe6, 0x1b, + 0xd5, 0x13, 0xb2, 0xc5, 0xd5, 0x11, 0xee, 0x5d, + 0xd4, 0x8f, 0xcc, 0xd1, 0xcc, 0xd5, 0xdd, 0x55, + 0xee, 0x5f, 0xb3, 0x05, 0xcc, 0x53, 0xcc, 0x8f, + 0xcc, 0x8d, 0xcc, 0xd3, 0xe6, 0x1b, 0xe5, 0x95, + 0xdd, 0x55, 0xd4, 0xd3, 0xbb, 0x87, 0xd5, 0x53, + 0xe5, 0x17, 0xd4, 0x8f, 0xdd, 0x97, 0xe5, 0x97, + 0xcc, 0x8d, 0xd5, 0x55, 0xe6, 0x1b, 0xd4, 0x49, + 0xdd, 0x53, 0xe5, 0xd9, 0xc4, 0x0b, 0xee, 0x1d, + 0xd5, 0x11, 0xd5, 0x13, 0xdd, 0x95, 0xee, 0x1b, + 0xd4, 0xd3, 0xcc, 0x4b, 0xb3, 0x45, 0xc3, 0xcf, + 0xee, 0x5f, 0xbb, 0xcd, 0xdd, 0xdb, 0xd4, 0xd5, + 0xe5, 0xdd, 0xe6, 0x1b, 0xe5, 0xdb, 0xdd, 0x99, + 0xe5, 0x97, 0xcc, 0x91, 0xd5, 0x17, 0xe6, 0x1b, + 0xd5, 0x11, 0xd4, 0x51, 0xee, 0x5f, 0xd4, 0xd1, + 0xbb, 0x8b, 0xd4, 0xd3, 0xe6, 0x5f, 0xdd, 0x97, + 0xdd, 0x97, 0xc4, 0x09, 0xb2, 0x83, 0xe6, 0x1d, + 0xdc, 0xd1, 0xd4, 0x8f, 0xd4, 0x8d, 0xe5, 0x97, + 0xdd, 0xdb, 0xd4, 0x4d, 0xdd, 0xdb, 0xe5, 0xd7, + 0xdd, 0x99, 0xbb, 0x47, 0xc3, 0xcb, 0xee, 0x1b, + 0xee, 0x5f, 0xdc, 0xcd, 0xdd, 0x13, 0xdd, 0x13, + 0xee, 0x5f, 0xcc, 0x95, 0xcd, 0x17, 0xcc, 0x8f, + 0xd5, 0x13, 0xdd, 0x55, 0xe5, 0xd9, 0xdd, 0x99, + 0xe6, 0x1b, 0xdd, 0x55, 0xe5, 0x95, 0xc4, 0x09, + 0xc3, 0x89, 0xbc, 0x0f, 0xc4, 0x0d, 0xdd, 0x97, + 0xe5, 0xd9, 0xcc, 0xcf, 0xbb, 0xd3, 0xd5, 0x13, + 0xdd, 0x99, 0xd5, 0x15, 0xc4, 0x0f, 0xcc, 0x4f, + 0xd4, 0xd3, 0xbb, 0x8b, 0xd5, 0x57, 0xe5, 0x53, + 0xe5, 0xd9, 0xd4, 0x4f, 0xe6, 0x1b, 0xcc, 0x4f, + 0xe6, 0x1f, 0xe6, 0x1d, 0xcc, 0x8d, 0xdd, 0x95, + 0xe6, 0x1b, 0xee, 0x5b, 0xdd, 0x53, 0xdc, 0xcd, + 0xd5, 0x55, 0xdd, 0x57, 0xe5, 0xdb, 0xaa, 0xc5, + 0xa2, 0x03, 0xbc, 0x11, 0xe5, 0xdb, 0xd5, 0x17, + 0xdc, 0xd1, 0xcc, 0x93, 0xdd, 0xdb, 0xd5, 0x11, + 0xdd, 0x95, 0xe6, 0x1b, 0xcc, 0x09, 0xe5, 0x99, + 0xcc, 0x91, 0xd5, 0x17, 0xd4, 0xcf, 0xdd, 0x55, + 0xd5, 0x13, 0xe6, 0x1b, 0xdd, 0xd7, 0xd4, 0x8f, + 0xe5, 0x97, 0xe6, 0x1d, 0xcc, 0x4d, 0xc3, 0xc9, + 0xc4, 0x11, 0xe5, 0xdb, 0xdd, 0x97, 0xd4, 0x93, + 0xc3, 0xcb, 0xe6, 0x1d, 0xdd, 0x99, 0xc4, 0x51, + 0xdd, 0x57, 0xee, 0x1b, 0xdd, 0x53, 0xc3, 0xc9, + 0xb2, 0x85, 0xe6, 0x1f, 0xe5, 0x97, 0xdd, 0x55, + 0xd4, 0xcf, 0xd4, 0x8f, 0xdd, 0xd9, 0xd5, 0x55, + 0xd4, 0xd1, 0xd5, 0x55, 0xd4, 0x93, 0xe6, 0x1b, + 0xdd, 0x55, 0xd4, 0x8f, 0xcc, 0x8f, 0xe5, 0xdb, + 0xdd, 0x55, 0xe5, 0xd9, 0xe5, 0x97, 0xa2, 0x47, + 0xe6, 0x1b, 0xe6, 0x1b, 0xe6, 0x1b, 0xd4, 0x4b, + 0xd5, 0x17, 0xe5, 0xd9, 0xd4, 0xd3, 0xc3, 0xcb, + 0xdd, 0x55, 0xd4, 0x8b, 0xdd, 0x97, 0xcc, 0x8f, + 0xcc, 0x93, 0xe5, 0x97, 0xe6, 0x1d, 0xc3, 0xc9, + 0xc3, 0x8b, 0xe6, 0x5f, 0xe5, 0x93, 0xdd, 0x53, + 0xe6, 0x1b, 0xe5, 0x97, 0xe5, 0xd7, 0xdd, 0x53, + 0x91, 0x81, 0xb3, 0x09, 0xbb, 0x8b, 0xcc, 0xd5, + 0xdd, 0x13, 0xe5, 0x99, 0xd4, 0xd1, 0xe5, 0xd9, + 0xdd, 0x99, 0xe5, 0x95, 0xa2, 0x03, 0xbb, 0x89, + 0xc4, 0x11, 0xe5, 0xd9, 0xee, 0x1f, 0xbb, 0xcb, + 0xd4, 0xd1, 0xdd, 0x55, 0xdd, 0x55, 0xbb, 0x8b, + 0xe5, 0xd9, 0xe5, 0x95, 0xe5, 0x99, 0xe6, 0x5f, + 0xe6, 0x1b, 0xe6, 0x19, 0xdd, 0x95, 0xd4, 0xcf, + 0xdc, 0xcf, 0xe5, 0xdb, 0xd4, 0xcf, 0xd5, 0x15, + 0xc3, 0xcb, 0xcc, 0x4f, 0xe6, 0x1b, 0xbb, 0x89, + 0xdc, 0xcf, 0xd4, 0xcf, 0xee, 0x1d, 0xee, 0x5b, + 0xdc, 0xcd, 0xd4, 0xd7, 0xdd, 0x15, 0xcc, 0x8d, + 0xd5, 0x13, 0xdd, 0x11, 0xee, 0x61, 0xcc, 0x0d, + 0xd4, 0x91, 0xaa, 0x85, 0xdd, 0x55, 0xcc, 0xd7, + 0xee, 0x1b, 0xdd, 0x95, 0xdd, 0x0f, 0xe5, 0x53, + 0xcc, 0x8f, 0xcc, 0x4b, 0xd4, 0x8d, 0xdd, 0x99, + 0xdd, 0x97, 0xbb, 0x07, 0xc4, 0x4f, 0xd4, 0xd5, + 0xe6, 0x1d, 0xc4, 0x0b, 0xe5, 0xdb, 0xe5, 0x55, + 0xdd, 0x99, 0xee, 0x5b, 0xdd, 0x53, 0xd5, 0x11, + 0xc3, 0x8d, 0xcc, 0x8d, 0xed, 0xd9, 0xcc, 0xd7, + 0xdd, 0x97, 0xdd, 0xd7, 0xee, 0x1b, 0xcc, 0x93, + 0xc4, 0x0f, 0xcc, 0x93, 0xe6, 0x19, 0xdc, 0x8d, + 0xdd, 0x97, 0xe5, 0x97, 0xe5, 0x95, 0xd5, 0x13, + 0xe6, 0x1b, 0xdd, 0x55, 0xdd, 0x97, 0xdc, 0xcf, + 0xdd, 0x57, 0xc3, 0xc9, 0xd5, 0x15, 0xaa, 0x83, + 0xe6, 0x19, 0xdd, 0x99, 0xe5, 0x95, 0xdd, 0x59, }; -Gfx ship1_sauce_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ship1_sauce_pal_rgba16[] = { - 0x48, 0x01, +Gfx ship1_sauce_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_sauce_rgba16[] = { + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, 0x48, 0x01, + }; -Gfx ship1__32wood_rgba32_aligner[] = {gsSPEndDisplayList()}; -u8 ship1__32wood_rgba32[] = { - 0x64, 0x4d, 0x41, 0xff, 0x6c, 0x52, 0x44, 0xff, - 0x6c, 0x53, 0x44, 0xff, 0x64, 0x4e, 0x41, 0xff, - 0x5f, 0x4b, 0x40, 0xff, 0x63, 0x4d, 0x41, 0xff, - 0x67, 0x4f, 0x43, 0xff, 0x61, 0x4c, 0x40, 0xff, - 0x5f, 0x49, 0x3e, 0xff, 0x5d, 0x47, 0x3c, 0xff, - 0x5b, 0x45, 0x3a, 0xff, 0x5a, 0x45, 0x3a, 0xff, - 0x5b, 0x48, 0x3d, 0xff, 0x63, 0x4d, 0x40, 0xff, - 0x6b, 0x52, 0x42, 0xff, 0x72, 0x56, 0x44, 0xff, - 0x76, 0x59, 0x43, 0xff, 0x77, 0x5a, 0x44, 0xff, - 0x7b, 0x5b, 0x46, 0xff, 0x73, 0x57, 0x47, 0xff, - 0x69, 0x51, 0x45, 0xff, 0x76, 0x57, 0x47, 0xff, - 0x87, 0x5f, 0x47, 0xff, 0x89, 0x5c, 0x44, 0xff, - 0x7d, 0x58, 0x44, 0xff, 0x6c, 0x52, 0x43, 0xff, - 0x79, 0x58, 0x46, 0xff, 0x70, 0x55, 0x46, 0xff, - 0x67, 0x50, 0x43, 0xff, 0x74, 0x54, 0x42, 0xff, - 0x75, 0x52, 0x3f, 0xff, 0x61, 0x49, 0x3d, 0xff, - 0x66, 0x4e, 0x41, 0xff, 0x67, 0x50, 0x42, 0xff, - 0x6d, 0x53, 0x44, 0xff, 0x6d, 0x52, 0x44, 0xff, - 0x67, 0x4f, 0x42, 0xff, 0x68, 0x4f, 0x42, 0xff, - 0x6b, 0x50, 0x43, 0xff, 0x67, 0x4e, 0x42, 0xff, - 0x66, 0x4e, 0x41, 0xff, 0x64, 0x4c, 0x40, 0xff, - 0x62, 0x4b, 0x3f, 0xff, 0x5d, 0x49, 0x3d, 0xff, - 0x5d, 0x49, 0x3e, 0xff, 0x61, 0x4c, 0x3f, 0xff, - 0x68, 0x50, 0x42, 0xff, 0x70, 0x55, 0x44, 0xff, - 0x71, 0x56, 0x44, 0xff, 0x74, 0x58, 0x45, 0xff, - 0x73, 0x57, 0x45, 0xff, 0x6c, 0x53, 0x44, 0xff, - 0x6c, 0x53, 0x44, 0xff, 0x76, 0x57, 0x45, 0xff, - 0x7e, 0x59, 0x44, 0xff, 0x82, 0x59, 0x43, 0xff, - 0x78, 0x56, 0x43, 0xff, 0x69, 0x4f, 0x42, 0xff, - 0x74, 0x56, 0x45, 0xff, 0x78, 0x5a, 0x47, 0xff, - 0x77, 0x57, 0x45, 0xff, 0x79, 0x57, 0x44, 0xff, - 0x72, 0x54, 0x40, 0xff, 0x6b, 0x50, 0x43, 0xff, - 0x60, 0x49, 0x3e, 0xff, 0x65, 0x4d, 0x40, 0xff, - 0x6f, 0x52, 0x42, 0xff, 0x74, 0x55, 0x43, 0xff, - 0x73, 0x54, 0x43, 0xff, 0x70, 0x52, 0x43, 0xff, - 0x72, 0x53, 0x42, 0xff, 0x70, 0x52, 0x43, 0xff, - 0x6d, 0x51, 0x42, 0xff, 0x6a, 0x50, 0x42, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x64, 0x4d, 0x41, 0xff, - 0x5f, 0x4a, 0x3f, 0xff, 0x63, 0x4d, 0x40, 0xff, - 0x68, 0x50, 0x42, 0xff, 0x69, 0x51, 0x43, 0xff, - 0x6d, 0x53, 0x44, 0xff, 0x6a, 0x52, 0x42, 0xff, - 0x68, 0x51, 0x42, 0xff, 0x6b, 0x52, 0x42, 0xff, - 0x6c, 0x53, 0x44, 0xff, 0x6e, 0x52, 0x43, 0xff, - 0x77, 0x55, 0x42, 0xff, 0x7d, 0x58, 0x40, 0xff, - 0x74, 0x53, 0x41, 0xff, 0x6d, 0x50, 0x41, 0xff, - 0x6c, 0x50, 0x42, 0xff, 0x78, 0x57, 0x45, 0xff, - 0x7d, 0x58, 0x46, 0xff, 0x76, 0x55, 0x45, 0xff, - 0x70, 0x52, 0x41, 0xff, 0x64, 0x4b, 0x3f, 0xff, - 0x66, 0x4b, 0x3f, 0xff, 0x64, 0x4b, 0x3f, 0xff, - 0x69, 0x4f, 0x40, 0xff, 0x76, 0x54, 0x42, 0xff, - 0x7a, 0x56, 0x41, 0xff, 0x77, 0x54, 0x41, 0xff, - 0x77, 0x52, 0x40, 0xff, 0x74, 0x53, 0x42, 0xff, - 0x6d, 0x51, 0x41, 0xff, 0x6c, 0x51, 0x42, 0xff, - 0x6b, 0x50, 0x42, 0xff, 0x66, 0x4e, 0x41, 0xff, - 0x61, 0x4b, 0x3f, 0xff, 0x61, 0x4b, 0x3f, 0xff, - 0x65, 0x4f, 0x41, 0xff, 0x65, 0x4e, 0x40, 0xff, - 0x67, 0x50, 0x42, 0xff, 0x63, 0x4d, 0x40, 0xff, - 0x62, 0x4d, 0x40, 0xff, 0x63, 0x4d, 0x42, 0xff, - 0x66, 0x50, 0x42, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x73, 0x53, 0x40, 0xff, 0x7d, 0x56, 0x3f, 0xff, - 0x7d, 0x56, 0x42, 0xff, 0x73, 0x51, 0x41, 0xff, - 0x72, 0x52, 0x41, 0xff, 0x7a, 0x57, 0x44, 0xff, - 0x71, 0x52, 0x44, 0xff, 0x6b, 0x4f, 0x42, 0xff, - 0x6b, 0x4f, 0x40, 0xff, 0x60, 0x48, 0x3c, 0xff, - 0x7b, 0x55, 0x41, 0xff, 0x6e, 0x50, 0x3f, 0xff, - 0x6a, 0x4d, 0x3e, 0xff, 0x6f, 0x50, 0x3f, 0xff, - 0x7e, 0x57, 0x41, 0xff, 0x7e, 0x57, 0x41, 0xff, - 0x7c, 0x56, 0x41, 0xff, 0x72, 0x53, 0x41, 0xff, - 0x6c, 0x50, 0x41, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x6b, 0x50, 0x41, 0xff, 0x65, 0x4d, 0x3f, 0xff, - 0x62, 0x4b, 0x3e, 0xff, 0x62, 0x4c, 0x3f, 0xff, - 0x63, 0x4d, 0x40, 0xff, 0x66, 0x4f, 0x40, 0xff, - 0x64, 0x4e, 0x40, 0xff, 0x62, 0x4c, 0x3f, 0xff, - 0x5f, 0x4b, 0x3f, 0xff, 0x5e, 0x4a, 0x3f, 0xff, - 0x61, 0x4c, 0x41, 0xff, 0x66, 0x4d, 0x3f, 0xff, - 0x71, 0x51, 0x40, 0xff, 0x79, 0x55, 0x41, 0xff, - 0x7d, 0x56, 0x41, 0xff, 0x7c, 0x55, 0x42, 0xff, - 0x7a, 0x56, 0x42, 0xff, 0x79, 0x55, 0x42, 0xff, - 0x70, 0x51, 0x42, 0xff, 0x69, 0x4e, 0x41, 0xff, - 0x61, 0x49, 0x3e, 0xff, 0x5e, 0x47, 0x3b, 0xff, - 0x83, 0x58, 0x3f, 0xff, 0x79, 0x54, 0x3f, 0xff, - 0x68, 0x4b, 0x3b, 0xff, 0x6c, 0x4d, 0x3d, 0xff, - 0x78, 0x54, 0x40, 0xff, 0x81, 0x58, 0x42, 0xff, - 0x7d, 0x58, 0x42, 0xff, 0x78, 0x56, 0x43, 0xff, - 0x6b, 0x51, 0x42, 0xff, 0x67, 0x4e, 0x40, 0xff, - 0x68, 0x4e, 0x40, 0xff, 0x6c, 0x4f, 0x40, 0xff, - 0x69, 0x4d, 0x3e, 0xff, 0x64, 0x4c, 0x3e, 0xff, - 0x6a, 0x50, 0x42, 0xff, 0x6d, 0x52, 0x42, 0xff, - 0x6d, 0x52, 0x41, 0xff, 0x65, 0x4e, 0x40, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x5d, 0x49, 0x3d, 0xff, - 0x60, 0x49, 0x3e, 0xff, 0x61, 0x4a, 0x3d, 0xff, - 0x68, 0x4d, 0x3e, 0xff, 0x72, 0x52, 0x40, 0xff, - 0x73, 0x51, 0x41, 0xff, 0x74, 0x53, 0x41, 0xff, - 0x77, 0x53, 0x41, 0xff, 0x78, 0x55, 0x42, 0xff, - 0x75, 0x52, 0x42, 0xff, 0x6d, 0x50, 0x42, 0xff, - 0x64, 0x4b, 0x3f, 0xff, 0x69, 0x4c, 0x3f, 0xff, - 0x7c, 0x56, 0x3e, 0xff, 0x74, 0x51, 0x3c, 0xff, - 0x66, 0x4a, 0x3a, 0xff, 0x68, 0x4c, 0x3c, 0xff, - 0x70, 0x50, 0x3e, 0xff, 0x78, 0x55, 0x41, 0xff, - 0x7d, 0x58, 0x43, 0xff, 0x7a, 0x57, 0x44, 0xff, - 0x74, 0x55, 0x45, 0xff, 0x64, 0x4d, 0x40, 0xff, - 0x68, 0x4e, 0x3f, 0xff, 0x71, 0x52, 0x3f, 0xff, - 0x72, 0x51, 0x3e, 0xff, 0x6c, 0x50, 0x40, 0xff, - 0x71, 0x54, 0x41, 0xff, 0x77, 0x57, 0x43, 0xff, - 0x77, 0x57, 0x43, 0xff, 0x71, 0x53, 0x42, 0xff, - 0x64, 0x4d, 0x3f, 0xff, 0x5f, 0x48, 0x3c, 0xff, - 0x5c, 0x47, 0x3b, 0xff, 0x5d, 0x47, 0x3b, 0xff, - 0x63, 0x4b, 0x3d, 0xff, 0x6c, 0x4d, 0x3d, 0xff, - 0x6c, 0x4f, 0x40, 0xff, 0x6e, 0x50, 0x40, 0xff, - 0x74, 0x52, 0x41, 0xff, 0x73, 0x52, 0x40, 0xff, - 0x78, 0x54, 0x42, 0xff, 0x75, 0x53, 0x42, 0xff, - 0x6e, 0x50, 0x40, 0xff, 0x6c, 0x4f, 0x40, 0xff, - 0x6c, 0x4d, 0x3b, 0xff, 0x6d, 0x4c, 0x39, 0xff, - 0x61, 0x46, 0x38, 0xff, 0x60, 0x47, 0x39, 0xff, - 0x70, 0x50, 0x3e, 0xff, 0x70, 0x51, 0x3f, 0xff, - 0x78, 0x55, 0x42, 0xff, 0x7b, 0x58, 0x44, 0xff, - 0x72, 0x54, 0x44, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x69, 0x4f, 0x40, 0xff, 0x74, 0x52, 0x40, 0xff, - 0x74, 0x52, 0x40, 0xff, 0x73, 0x53, 0x42, 0xff, - 0x78, 0x57, 0x44, 0xff, 0x78, 0x57, 0x43, 0xff, - 0x7b, 0x58, 0x43, 0xff, 0x78, 0x57, 0x42, 0xff, - 0x6d, 0x51, 0x41, 0xff, 0x5d, 0x48, 0x3c, 0xff, - 0x5b, 0x46, 0x3b, 0xff, 0x5b, 0x46, 0x3a, 0xff, - 0x60, 0x49, 0x3d, 0xff, 0x6a, 0x4f, 0x40, 0xff, - 0x6c, 0x50, 0x40, 0xff, 0x6e, 0x51, 0x42, 0xff, - 0x71, 0x51, 0x41, 0xff, 0x74, 0x53, 0x41, 0xff, - 0x7a, 0x55, 0x42, 0xff, 0x75, 0x56, 0x42, 0xff, - 0x76, 0x53, 0x3f, 0xff, 0x75, 0x54, 0x42, 0xff, - 0x67, 0x4a, 0x3a, 0xff, 0x64, 0x48, 0x39, 0xff, - 0x5f, 0x46, 0x39, 0xff, 0x69, 0x4c, 0x3c, 0xff, - 0x6c, 0x4e, 0x3c, 0xff, 0x67, 0x4c, 0x3e, 0xff, - 0x6d, 0x51, 0x41, 0xff, 0x77, 0x55, 0x42, 0xff, - 0x77, 0x55, 0x42, 0xff, 0x6e, 0x50, 0x40, 0xff, - 0x6b, 0x4f, 0x40, 0xff, 0x6f, 0x51, 0x40, 0xff, - 0x6b, 0x4e, 0x3f, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x74, 0x55, 0x45, 0xff, 0x6c, 0x51, 0x42, 0xff, - 0x71, 0x51, 0x3f, 0xff, 0x71, 0x53, 0x40, 0xff, - 0x65, 0x4d, 0x3f, 0xff, 0x5f, 0x4a, 0x3e, 0xff, - 0x5c, 0x47, 0x3d, 0xff, 0x5e, 0x48, 0x3d, 0xff, - 0x63, 0x4b, 0x3f, 0xff, 0x6c, 0x52, 0x43, 0xff, - 0x73, 0x54, 0x43, 0xff, 0x75, 0x55, 0x42, 0xff, - 0x74, 0x53, 0x41, 0xff, 0x7b, 0x55, 0x42, 0xff, - 0x7b, 0x56, 0x42, 0xff, 0x78, 0x54, 0x41, 0xff, - 0x74, 0x54, 0x43, 0xff, 0x6d, 0x50, 0x41, 0xff, - 0x6c, 0x4c, 0x3c, 0xff, 0x6f, 0x4e, 0x3f, 0xff, - 0x65, 0x4b, 0x3d, 0xff, 0x6b, 0x4d, 0x3d, 0xff, - 0x76, 0x55, 0x3f, 0xff, 0x61, 0x49, 0x3d, 0xff, - 0x65, 0x4b, 0x3e, 0xff, 0x76, 0x55, 0x3f, 0xff, - 0x79, 0x54, 0x40, 0xff, 0x75, 0x53, 0x41, 0xff, - 0x6a, 0x4f, 0x3f, 0xff, 0x6b, 0x4f, 0x41, 0xff, - 0x67, 0x4e, 0x40, 0xff, 0x6b, 0x50, 0x43, 0xff, - 0x67, 0x4e, 0x42, 0xff, 0x65, 0x4d, 0x40, 0xff, - 0x65, 0x4d, 0x3f, 0xff, 0x6c, 0x51, 0x40, 0xff, - 0x6b, 0x52, 0x43, 0xff, 0x60, 0x4b, 0x3f, 0xff, - 0x67, 0x4d, 0x41, 0xff, 0x67, 0x4d, 0x41, 0xff, - 0x66, 0x4e, 0x41, 0xff, 0x70, 0x53, 0x43, 0xff, - 0x75, 0x56, 0x44, 0xff, 0x76, 0x54, 0x43, 0xff, - 0x76, 0x53, 0x41, 0xff, 0x7c, 0x56, 0x42, 0xff, - 0x7a, 0x55, 0x42, 0xff, 0x74, 0x52, 0x42, 0xff, - 0x6b, 0x4f, 0x41, 0xff, 0x67, 0x4b, 0x41, 0xff, - 0x6e, 0x4e, 0x3f, 0xff, 0x74, 0x52, 0x42, 0xff, - 0x74, 0x53, 0x42, 0xff, 0x6e, 0x51, 0x41, 0xff, - 0x6c, 0x4f, 0x40, 0xff, 0x6f, 0x50, 0x40, 0xff, - 0x67, 0x4c, 0x3e, 0xff, 0x6c, 0x4e, 0x3e, 0xff, - 0x76, 0x52, 0x3f, 0xff, 0x6f, 0x51, 0x3f, 0xff, - 0x68, 0x4e, 0x3f, 0xff, 0x68, 0x4e, 0x40, 0xff, - 0x6b, 0x50, 0x42, 0xff, 0x69, 0x4f, 0x42, 0xff, - 0x64, 0x4c, 0x41, 0xff, 0x65, 0x4e, 0x41, 0xff, - 0x65, 0x4e, 0x40, 0xff, 0x62, 0x4c, 0x3f, 0xff, - 0x66, 0x4f, 0x41, 0xff, 0x65, 0x4e, 0x42, 0xff, - 0x6b, 0x50, 0x44, 0xff, 0x66, 0x4e, 0x42, 0xff, - 0x64, 0x4d, 0x41, 0xff, 0x71, 0x54, 0x44, 0xff, - 0x74, 0x54, 0x44, 0xff, 0x6e, 0x51, 0x42, 0xff, - 0x6f, 0x50, 0x40, 0xff, 0x75, 0x53, 0x40, 0xff, - 0x76, 0x53, 0x41, 0xff, 0x6f, 0x50, 0x40, 0xff, - 0x67, 0x4d, 0x41, 0xff, 0x62, 0x49, 0x41, 0xff, - 0x6d, 0x4f, 0x41, 0xff, 0x73, 0x53, 0x44, 0xff, - 0x78, 0x55, 0x44, 0xff, 0x70, 0x52, 0x43, 0xff, - 0x70, 0x52, 0x43, 0xff, 0x6d, 0x50, 0x41, 0xff, - 0x68, 0x4d, 0x40, 0xff, 0x65, 0x4b, 0x3e, 0xff, - 0x6e, 0x50, 0x40, 0xff, 0x69, 0x4e, 0x3f, 0xff, - 0x67, 0x4d, 0x3e, 0xff, 0x69, 0x4e, 0x40, 0xff, - 0x6a, 0x50, 0x41, 0xff, 0x65, 0x4d, 0x40, 0xff, - 0x62, 0x4c, 0x40, 0xff, 0x61, 0x4b, 0x3f, 0xff, - 0x60, 0x4b, 0x3e, 0xff, 0x5d, 0x49, 0x3c, 0xff, - 0x5d, 0x49, 0x3e, 0xff, 0x6d, 0x53, 0x44, 0xff, - 0x6d, 0x54, 0x45, 0xff, 0x56, 0x44, 0x3c, 0xff, - 0x5b, 0x48, 0x3e, 0xff, 0x67, 0x4f, 0x42, 0xff, - 0x6f, 0x53, 0x43, 0xff, 0x6b, 0x4f, 0x42, 0xff, - 0x67, 0x4c, 0x3f, 0xff, 0x6a, 0x4e, 0x3f, 0xff, - 0x70, 0x50, 0x3f, 0xff, 0x6c, 0x4d, 0x3f, 0xff, - 0x63, 0x49, 0x3f, 0xff, 0x5f, 0x49, 0x40, 0xff, - 0x6b, 0x4f, 0x42, 0xff, 0x73, 0x53, 0x44, 0xff, - 0x76, 0x54, 0x44, 0xff, 0x74, 0x53, 0x44, 0xff, - 0x6b, 0x50, 0x42, 0xff, 0x69, 0x4f, 0x42, 0xff, - 0x61, 0x4b, 0x3f, 0xff, 0x62, 0x4b, 0x3f, 0xff, - 0x6e, 0x51, 0x42, 0xff, 0x71, 0x52, 0x42, 0xff, - 0x6a, 0x4e, 0x40, 0xff, 0x6b, 0x50, 0x40, 0xff, - 0x69, 0x4f, 0x41, 0xff, 0x67, 0x4f, 0x41, 0xff, - 0x64, 0x4d, 0x41, 0xff, 0x62, 0x4b, 0x3f, 0xff, - 0x5e, 0x48, 0x3b, 0xff, 0x57, 0x44, 0x38, 0xff, - 0x5d, 0x49, 0x3d, 0xff, 0x70, 0x54, 0x44, 0xff, - 0x74, 0x57, 0x46, 0xff, 0x57, 0x46, 0x3c, 0xff, - 0x57, 0x46, 0x3d, 0xff, 0x64, 0x4e, 0x41, 0xff, - 0x70, 0x53, 0x44, 0xff, 0x67, 0x4e, 0x42, 0xff, - 0x64, 0x4b, 0x3f, 0xff, 0x66, 0x4b, 0x3e, 0xff, - 0x6b, 0x4e, 0x3f, 0xff, 0x69, 0x4c, 0x3e, 0xff, - 0x62, 0x48, 0x3d, 0xff, 0x5e, 0x45, 0x3c, 0xff, - 0x6a, 0x4e, 0x41, 0xff, 0x71, 0x52, 0x43, 0xff, - 0x74, 0x53, 0x44, 0xff, 0x71, 0x52, 0x44, 0xff, - 0x6b, 0x50, 0x43, 0xff, 0x62, 0x4b, 0x3f, 0xff, - 0x5d, 0x48, 0x3e, 0xff, 0x60, 0x4b, 0x3f, 0xff, - 0x70, 0x52, 0x44, 0xff, 0x73, 0x52, 0x43, 0xff, - 0x71, 0x53, 0x42, 0xff, 0x70, 0x52, 0x41, 0xff, - 0x70, 0x53, 0x42, 0xff, 0x6e, 0x53, 0x43, 0xff, - 0x6d, 0x53, 0x44, 0xff, 0x68, 0x4f, 0x41, 0xff, - 0x5f, 0x4a, 0x3c, 0xff, 0x59, 0x44, 0x37, 0xff, - 0x5c, 0x48, 0x3b, 0xff, 0x6b, 0x52, 0x41, 0xff, - 0x6c, 0x52, 0x43, 0xff, 0x59, 0x46, 0x3d, 0xff, - 0x55, 0x43, 0x3a, 0xff, 0x6b, 0x51, 0x44, 0xff, - 0x70, 0x54, 0x44, 0xff, 0x6b, 0x51, 0x42, 0xff, - 0x62, 0x4a, 0x3e, 0xff, 0x63, 0x4a, 0x3e, 0xff, - 0x69, 0x4e, 0x40, 0xff, 0x68, 0x4c, 0x3f, 0xff, - 0x63, 0x49, 0x3e, 0xff, 0x60, 0x45, 0x3b, 0xff, - 0x68, 0x4d, 0x40, 0xff, 0x6b, 0x4f, 0x41, 0xff, - 0x72, 0x53, 0x43, 0xff, 0x71, 0x53, 0x43, 0xff, - 0x6b, 0x4f, 0x42, 0xff, 0x62, 0x4b, 0x3f, 0xff, - 0x5e, 0x49, 0x3e, 0xff, 0x61, 0x4b, 0x3f, 0xff, - 0x67, 0x4e, 0x40, 0xff, 0x6c, 0x4f, 0x40, 0xff, - 0x6f, 0x51, 0x40, 0xff, 0x72, 0x53, 0x41, 0xff, - 0x74, 0x54, 0x42, 0xff, 0x74, 0x56, 0x44, 0xff, - 0x6f, 0x54, 0x44, 0xff, 0x69, 0x51, 0x42, 0xff, - 0x5f, 0x4a, 0x3d, 0xff, 0x56, 0x42, 0x34, 0xff, - 0x5a, 0x45, 0x36, 0xff, 0x5f, 0x49, 0x3b, 0xff, - 0x64, 0x4d, 0x3f, 0xff, 0x57, 0x44, 0x3a, 0xff, - 0x55, 0x42, 0x38, 0xff, 0x5e, 0x4a, 0x3f, 0xff, - 0x68, 0x4f, 0x42, 0xff, 0x68, 0x4f, 0x41, 0xff, - 0x62, 0x4a, 0x3f, 0xff, 0x62, 0x4a, 0x3e, 0xff, - 0x63, 0x4a, 0x3e, 0xff, 0x6a, 0x4f, 0x41, 0xff, - 0x66, 0x4a, 0x3e, 0xff, 0x66, 0x49, 0x3e, 0xff, - 0x68, 0x4e, 0x40, 0xff, 0x6a, 0x4f, 0x41, 0xff, - 0x71, 0x52, 0x42, 0xff, 0x70, 0x52, 0x43, 0xff, - 0x69, 0x4f, 0x43, 0xff, 0x65, 0x4d, 0x40, 0xff, - 0x5f, 0x49, 0x3f, 0xff, 0x62, 0x4a, 0x3f, 0xff, - 0x69, 0x4f, 0x40, 0xff, 0x69, 0x4e, 0x3f, 0xff, - 0x6b, 0x4f, 0x3f, 0xff, 0x6d, 0x51, 0x40, 0xff, - 0x72, 0x54, 0x41, 0xff, 0x6d, 0x51, 0x41, 0xff, - 0x6a, 0x51, 0x41, 0xff, 0x5e, 0x4a, 0x3d, 0xff, - 0x59, 0x46, 0x39, 0xff, 0x54, 0x3f, 0x31, 0xff, - 0x55, 0x3f, 0x30, 0xff, 0x5d, 0x47, 0x37, 0xff, - 0x5e, 0x49, 0x3b, 0xff, 0x5a, 0x44, 0x39, 0xff, - 0x56, 0x42, 0x37, 0xff, 0x57, 0x44, 0x39, 0xff, - 0x5a, 0x47, 0x3c, 0xff, 0x62, 0x4c, 0x3f, 0xff, - 0x64, 0x4c, 0x40, 0xff, 0x63, 0x4c, 0x3f, 0xff, - 0x67, 0x4f, 0x3f, 0xff, 0x6a, 0x4e, 0x42, 0xff, - 0x6e, 0x4f, 0x42, 0xff, 0x72, 0x52, 0x42, 0xff, - 0x69, 0x4f, 0x40, 0xff, 0x6f, 0x52, 0x42, 0xff, - 0x6f, 0x52, 0x42, 0xff, 0x6f, 0x54, 0x43, 0xff, - 0x66, 0x4e, 0x42, 0xff, 0x60, 0x4b, 0x3f, 0xff, - 0x5f, 0x4a, 0x3e, 0xff, 0x66, 0x4d, 0x3f, 0xff, - 0x6a, 0x4f, 0x3f, 0xff, 0x6d, 0x4f, 0x3e, 0xff, - 0x6b, 0x4f, 0x3f, 0xff, 0x6e, 0x52, 0x40, 0xff, - 0x69, 0x50, 0x40, 0xff, 0x69, 0x50, 0x40, 0xff, - 0x62, 0x4b, 0x3d, 0xff, 0x5a, 0x46, 0x39, 0xff, - 0x53, 0x40, 0x33, 0xff, 0x52, 0x3d, 0x2e, 0xff, - 0x52, 0x3d, 0x2e, 0xff, 0x56, 0x41, 0x32, 0xff, - 0x62, 0x4c, 0x3b, 0xff, 0x5e, 0x49, 0x3b, 0xff, - 0x5c, 0x49, 0x3d, 0xff, 0x57, 0x44, 0x39, 0xff, - 0x57, 0x43, 0x37, 0xff, 0x5d, 0x49, 0x3d, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x68, 0x4e, 0x40, 0xff, - 0x74, 0x55, 0x43, 0xff, 0x77, 0x57, 0x44, 0xff, - 0x78, 0x58, 0x44, 0xff, 0x79, 0x58, 0x42, 0xff, - 0x6c, 0x51, 0x42, 0xff, 0x76, 0x56, 0x42, 0xff, - 0x79, 0x57, 0x44, 0xff, 0x73, 0x56, 0x44, 0xff, - 0x64, 0x4e, 0x41, 0xff, 0x5d, 0x49, 0x3e, 0xff, - 0x5f, 0x4a, 0x3e, 0xff, 0x66, 0x4d, 0x3e, 0xff, - 0x68, 0x4e, 0x3e, 0xff, 0x6e, 0x51, 0x3e, 0xff, - 0x70, 0x53, 0x40, 0xff, 0x6f, 0x53, 0x41, 0xff, - 0x69, 0x50, 0x40, 0xff, 0x65, 0x4e, 0x3e, 0xff, - 0x60, 0x4b, 0x3d, 0xff, 0x58, 0x45, 0x38, 0xff, - 0x53, 0x3f, 0x32, 0xff, 0x51, 0x3c, 0x2e, 0xff, - 0x4c, 0x38, 0x2b, 0xff, 0x51, 0x3e, 0x31, 0xff, - 0x68, 0x4d, 0x3d, 0xff, 0x69, 0x50, 0x40, 0xff, - 0x61, 0x4c, 0x3f, 0xff, 0x59, 0x46, 0x3a, 0xff, - 0x56, 0x42, 0x37, 0xff, 0x59, 0x44, 0x39, 0xff, - 0x66, 0x4d, 0x3f, 0xff, 0x71, 0x52, 0x41, 0xff, - 0x76, 0x56, 0x43, 0xff, 0x7b, 0x58, 0x43, 0xff, - 0x7a, 0x59, 0x42, 0xff, 0x7a, 0x59, 0x41, 0xff, - 0x74, 0x54, 0x42, 0xff, 0x7c, 0x58, 0x42, 0xff, - 0x82, 0x5a, 0x43, 0xff, 0x79, 0x57, 0x44, 0xff, - 0x64, 0x4d, 0x40, 0xff, 0x5b, 0x47, 0x3d, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x67, 0x4e, 0x3f, 0xff, - 0x6e, 0x50, 0x3f, 0xff, 0x6f, 0x52, 0x40, 0xff, - 0x70, 0x53, 0x40, 0xff, 0x70, 0x54, 0x42, 0xff, - 0x69, 0x50, 0x41, 0xff, 0x69, 0x51, 0x41, 0xff, - 0x66, 0x4f, 0x3e, 0xff, 0x62, 0x4c, 0x3d, 0xff, - 0x58, 0x43, 0x35, 0xff, 0x50, 0x3c, 0x2f, 0xff, - 0x56, 0x43, 0x37, 0xff, 0x56, 0x43, 0x37, 0xff, - 0x62, 0x4d, 0x3f, 0xff, 0x6a, 0x51, 0x42, 0xff, - 0x64, 0x4e, 0x41, 0xff, 0x5a, 0x46, 0x3c, 0xff, - 0x58, 0x44, 0x39, 0xff, 0x5a, 0x45, 0x39, 0xff, - 0x67, 0x4d, 0x3f, 0xff, 0x6c, 0x51, 0x41, 0xff, - 0x76, 0x55, 0x43, 0xff, 0x76, 0x55, 0x43, 0xff, - 0x76, 0x53, 0x41, 0xff, 0x73, 0x53, 0x42, 0xff, - 0x7c, 0x59, 0x42, 0xff, 0x80, 0x59, 0x42, 0xff, - 0x84, 0x59, 0x41, 0xff, 0x75, 0x55, 0x42, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x62, 0x4b, 0x3f, 0xff, - 0x64, 0x4d, 0x40, 0xff, 0x70, 0x52, 0x41, 0xff, - 0x76, 0x55, 0x42, 0xff, 0x77, 0x56, 0x42, 0xff, - 0x74, 0x56, 0x43, 0xff, 0x72, 0x56, 0x45, 0xff, - 0x66, 0x4f, 0x41, 0xff, 0x6a, 0x51, 0x41, 0xff, - 0x6d, 0x54, 0x41, 0xff, 0x66, 0x4e, 0x3e, 0xff, - 0x6b, 0x50, 0x3e, 0xff, 0x5e, 0x46, 0x37, 0xff, - 0x5e, 0x46, 0x38, 0xff, 0x59, 0x46, 0x3a, 0xff, - 0x6e, 0x53, 0x43, 0xff, 0x6c, 0x53, 0x44, 0xff, - 0x60, 0x4c, 0x40, 0xff, 0x5a, 0x47, 0x3d, 0xff, - 0x5b, 0x46, 0x3b, 0xff, 0x5c, 0x48, 0x3d, 0xff, - 0x62, 0x4b, 0x3f, 0xff, 0x6c, 0x51, 0x42, 0xff, - 0x70, 0x53, 0x44, 0xff, 0x73, 0x55, 0x44, 0xff, - 0x6f, 0x52, 0x43, 0xff, 0x6f, 0x53, 0x44, 0xff, - 0x77, 0x56, 0x42, 0xff, 0x81, 0x59, 0x41, 0xff, - 0x7a, 0x56, 0x40, 0xff, 0x72, 0x54, 0x3e, 0xff, - 0x64, 0x4d, 0x3f, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x70, 0x51, 0x41, 0xff, 0x76, 0x54, 0x42, 0xff, - 0x7b, 0x57, 0x43, 0xff, 0x7e, 0x5a, 0x44, 0xff, - 0x7b, 0x59, 0x45, 0xff, 0x6c, 0x55, 0x46, 0xff, - 0x60, 0x4b, 0x3f, 0xff, 0x68, 0x50, 0x41, 0xff, - 0x70, 0x55, 0x44, 0xff, 0x6a, 0x50, 0x3d, 0xff, - 0x58, 0x44, 0x37, 0xff, 0x69, 0x4e, 0x3e, 0xff, - 0x60, 0x49, 0x3b, 0xff, 0x6b, 0x4f, 0x3f, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x68, 0x4f, 0x42, 0xff, - 0x61, 0x4e, 0x42, 0xff, 0x5a, 0x47, 0x3d, 0xff, - 0x5a, 0x47, 0x3d, 0xff, 0x62, 0x4d, 0x40, 0xff, - 0x61, 0x4c, 0x40, 0xff, 0x66, 0x4f, 0x42, 0xff, - 0x6e, 0x52, 0x44, 0xff, 0x71, 0x55, 0x44, 0xff, - 0x6d, 0x52, 0x44, 0xff, 0x71, 0x56, 0x43, 0xff, - 0x70, 0x52, 0x41, 0xff, 0x76, 0x56, 0x42, 0xff, - 0x74, 0x54, 0x40, 0xff, 0x73, 0x54, 0x3f, 0xff, - 0x6a, 0x4f, 0x3f, 0xff, 0x6d, 0x52, 0x42, 0xff, - 0x74, 0x52, 0x42, 0xff, 0x75, 0x54, 0x41, 0xff, - 0x79, 0x57, 0x43, 0xff, 0x7a, 0x58, 0x44, 0xff, - 0x74, 0x56, 0x43, 0xff, 0x69, 0x4f, 0x40, 0xff, - 0x6a, 0x50, 0x3e, 0xff, 0x71, 0x54, 0x42, 0xff, - 0x68, 0x50, 0x3f, 0xff, 0x60, 0x48, 0x3b, 0xff, - 0x54, 0x41, 0x34, 0xff, 0x5d, 0x48, 0x3c, 0xff, - 0x67, 0x4e, 0x3c, 0xff, 0x6a, 0x50, 0x3f, 0xff, - 0x6b, 0x50, 0x3f, 0xff, 0x6e, 0x51, 0x43, 0xff, - 0x6a, 0x4f, 0x42, 0xff, 0x59, 0x46, 0x3c, 0xff, - 0x59, 0x46, 0x3c, 0xff, 0x60, 0x4b, 0x3f, 0xff, - 0x61, 0x4c, 0x40, 0xff, 0x64, 0x4d, 0x41, 0xff, - 0x6b, 0x50, 0x43, 0xff, 0x6a, 0x50, 0x42, 0xff, - 0x72, 0x55, 0x43, 0xff, 0x6b, 0x52, 0x42, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x6c, 0x50, 0x40, 0xff, - 0x74, 0x55, 0x41, 0xff, 0x71, 0x52, 0x40, 0xff, - 0x6b, 0x50, 0x40, 0xff, 0x6b, 0x50, 0x41, 0xff, - 0x6f, 0x51, 0x42, 0xff, 0x70, 0x52, 0x42, 0xff, - 0x73, 0x54, 0x43, 0xff, 0x6e, 0x52, 0x42, 0xff, - 0x69, 0x50, 0x40, 0xff, 0x67, 0x4e, 0x3e, 0xff, - 0x67, 0x4f, 0x3f, 0xff, 0x6a, 0x52, 0x41, 0xff, - 0x62, 0x4d, 0x3e, 0xff, 0x5c, 0x49, 0x3b, 0xff, - 0x55, 0x42, 0x36, 0xff, 0x54, 0x43, 0x36, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x64, 0x4d, 0x3f, 0xff, - 0x64, 0x4c, 0x3f, 0xff, 0x6a, 0x50, 0x41, 0xff, - 0x69, 0x4e, 0x42, 0xff, 0x57, 0x44, 0x3b, 0xff, - 0x55, 0x42, 0x38, 0xff, 0x61, 0x4b, 0x3f, 0xff, - 0x61, 0x4b, 0x3f, 0xff, 0x67, 0x4f, 0x42, 0xff, - 0x6a, 0x50, 0x42, 0xff, 0x65, 0x4e, 0x41, 0xff, - 0x61, 0x4b, 0x3e, 0xff, 0x5f, 0x4a, 0x3b, 0xff, - 0x69, 0x4f, 0x41, 0xff, 0x6a, 0x51, 0x41, 0xff, - 0x6b, 0x50, 0x40, 0xff, 0x6e, 0x51, 0x40, 0xff, - 0x69, 0x4f, 0x40, 0xff, 0x6d, 0x52, 0x42, 0xff, - 0x6d, 0x53, 0x43, 0xff, 0x6e, 0x52, 0x43, 0xff, - 0x6b, 0x52, 0x42, 0xff, 0x68, 0x50, 0x40, 0xff, - 0x66, 0x4f, 0x40, 0xff, 0x66, 0x4e, 0x3f, 0xff, - 0x68, 0x4f, 0x40, 0xff, 0x6a, 0x52, 0x42, 0xff, - 0x63, 0x4e, 0x40, 0xff, 0x5c, 0x49, 0x3d, 0xff, - 0x59, 0x46, 0x3a, 0xff, 0x57, 0x43, 0x37, 0xff, - 0x60, 0x4b, 0x3e, 0xff, 0x59, 0x46, 0x3a, 0xff, - 0x59, 0x45, 0x3a, 0xff, 0x5e, 0x49, 0x3d, 0xff, - 0x60, 0x4b, 0x3f, 0xff, 0x5b, 0x49, 0x3f, 0xff, - 0x59, 0x45, 0x3b, 0xff, 0x5d, 0x49, 0x3e, 0xff, - 0x63, 0x4d, 0x40, 0xff, 0x67, 0x4f, 0x42, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x66, 0x4f, 0x41, 0xff, - 0x5f, 0x49, 0x3d, 0xff, 0x5c, 0x47, 0x3a, 0xff, - 0x6f, 0x51, 0x42, 0xff, 0x6e, 0x50, 0x40, 0xff, - 0x6b, 0x50, 0x41, 0xff, 0x68, 0x4f, 0x40, 0xff, - 0x69, 0x4f, 0x41, 0xff, 0x6b, 0x50, 0x41, 0xff, - 0x71, 0x54, 0x43, 0xff, 0x70, 0x54, 0x43, 0xff, - 0x69, 0x50, 0x41, 0xff, 0x66, 0x4f, 0x41, 0xff, - 0x67, 0x4f, 0x40, 0xff, 0x6c, 0x52, 0x42, 0xff, - 0x6d, 0x53, 0x42, 0xff, 0x6f, 0x55, 0x43, 0xff, - 0x6d, 0x53, 0x42, 0xff, 0x69, 0x50, 0x42, 0xff, - 0x61, 0x4b, 0x3f, 0xff, 0x62, 0x49, 0x3d, 0xff, - 0x5b, 0x47, 0x3c, 0xff, 0x58, 0x45, 0x3a, 0xff, - 0x53, 0x41, 0x36, 0xff, 0x53, 0x41, 0x36, 0xff, - 0x57, 0x45, 0x3a, 0xff, 0x59, 0x48, 0x3e, 0xff, - 0x5f, 0x4b, 0x3f, 0xff, 0x62, 0x4a, 0x3e, 0xff, - 0x64, 0x4d, 0x40, 0xff, 0x69, 0x4f, 0x41, 0xff, - 0x69, 0x50, 0x42, 0xff, 0x67, 0x4f, 0x41, 0xff, - 0x60, 0x4a, 0x3e, 0xff, 0x5e, 0x48, 0x3c, 0xff, - 0x79, 0x57, 0x45, 0xff, 0x71, 0x54, 0x43, 0xff, - 0x6b, 0x50, 0x42, 0xff, 0x68, 0x4f, 0x42, 0xff, - 0x6a, 0x51, 0x43, 0xff, 0x6e, 0x52, 0x42, 0xff, - 0x73, 0x54, 0x43, 0xff, 0x70, 0x54, 0x42, 0xff, - 0x6a, 0x51, 0x42, 0xff, 0x66, 0x4f, 0x41, 0xff, - 0x6b, 0x52, 0x43, 0xff, 0x72, 0x55, 0x44, 0xff, - 0x75, 0x56, 0x43, 0xff, 0x74, 0x56, 0x43, 0xff, - 0x71, 0x55, 0x44, 0xff, 0x6d, 0x53, 0x43, 0xff, - 0x69, 0x4f, 0x42, 0xff, 0x69, 0x4f, 0x42, 0xff, - 0x65, 0x4e, 0x41, 0xff, 0x5a, 0x49, 0x3e, 0xff, - 0x55, 0x45, 0x3a, 0xff, 0x51, 0x41, 0x37, 0xff, - 0x54, 0x43, 0x39, 0xff, 0x5a, 0x49, 0x3e, 0xff, - 0x62, 0x4c, 0x40, 0xff, 0x68, 0x4f, 0x42, 0xff, - 0x6b, 0x51, 0x41, 0xff, 0x6a, 0x50, 0x42, 0xff, - 0x6b, 0x52, 0x43, 0xff, 0x65, 0x4f, 0x40, 0xff, - 0x63, 0x4c, 0x3f, 0xff, 0x64, 0x4b, 0x3d, 0xff, - 0x7b, 0x59, 0x46, 0xff, 0x74, 0x56, 0x45, 0xff, - 0x6c, 0x52, 0x44, 0xff, 0x6c, 0x52, 0x44, 0xff, - 0x6c, 0x53, 0x44, 0xff, 0x73, 0x54, 0x44, 0xff, - 0x75, 0x55, 0x42, 0xff, 0x71, 0x53, 0x41, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x67, 0x4f, 0x42, 0xff, - 0x70, 0x55, 0x44, 0xff, 0x76, 0x57, 0x45, 0xff, - 0x77, 0x57, 0x43, 0xff, 0x76, 0x56, 0x43, 0xff, - 0x72, 0x55, 0x44, 0xff, 0x6b, 0x52, 0x43, 0xff, - 0x6c, 0x52, 0x43, 0xff, 0x6c, 0x53, 0x44, 0xff, - 0x6c, 0x53, 0x43, 0xff, 0x66, 0x51, 0x43, 0xff, - 0x5a, 0x4b, 0x40, 0xff, 0x58, 0x49, 0x3f, 0xff, - 0x5c, 0x4a, 0x40, 0xff, 0x64, 0x4e, 0x42, 0xff, - 0x64, 0x4d, 0x41, 0xff, 0x6a, 0x51, 0x43, 0xff, - 0x6d, 0x53, 0x44, 0xff, 0x6f, 0x54, 0x45, 0xff, - 0x6a, 0x52, 0x43, 0xff, 0x69, 0x50, 0x43, 0xff, - 0x67, 0x4d, 0x40, 0xff, 0x6c, 0x50, 0x43, 0xff, - 0x6c, 0x53, 0x45, 0xff, 0x71, 0x55, 0x46, 0xff, - 0x6f, 0x53, 0x45, 0xff, 0x6b, 0x51, 0x44, 0xff, - 0x6d, 0x52, 0x44, 0xff, 0x74, 0x54, 0x43, 0xff, - 0x76, 0x55, 0x43, 0xff, 0x6c, 0x50, 0x40, 0xff, - 0x68, 0x4f, 0x41, 0xff, 0x6b, 0x52, 0x43, 0xff, - 0x75, 0x57, 0x45, 0xff, 0x76, 0x58, 0x45, 0xff, - 0x76, 0x57, 0x44, 0xff, 0x76, 0x58, 0x45, 0xff, - 0x6e, 0x54, 0x44, 0xff, 0x67, 0x50, 0x43, 0xff, - 0x66, 0x50, 0x42, 0xff, 0x6b, 0x52, 0x44, 0xff, - 0x6f, 0x56, 0x45, 0xff, 0x6b, 0x55, 0x44, 0xff, - 0x6b, 0x55, 0x46, 0xff, 0x64, 0x51, 0x44, 0xff, - 0x6f, 0x56, 0x46, 0xff, 0x6d, 0x54, 0x45, 0xff, - 0x66, 0x4e, 0x43, 0xff, 0x64, 0x4e, 0x42, 0xff, - 0x6c, 0x53, 0x45, 0xff, 0x6d, 0x54, 0x46, 0xff, - 0x6d, 0x54, 0x45, 0xff, 0x69, 0x50, 0x43, 0xff, - 0x6c, 0x51, 0x44, 0xff, 0x71, 0x54, 0x45, 0xff, - 0x69, 0x51, 0x44, 0xff, 0x6a, 0x51, 0x44, 0xff, - 0x6a, 0x51, 0x45, 0xff, 0x6b, 0x51, 0x44, 0xff, - 0x6c, 0x51, 0x43, 0xff, 0x71, 0x53, 0x43, 0xff, - 0x75, 0x52, 0x41, 0xff, 0x6f, 0x54, 0x43, 0xff, - 0x6a, 0x50, 0x41, 0xff, 0x75, 0x57, 0x44, 0xff, - 0x78, 0x58, 0x45, 0xff, 0x7c, 0x5a, 0x46, 0xff, - 0x77, 0x58, 0x46, 0xff, 0x75, 0x58, 0x47, 0xff, - 0x6b, 0x54, 0x45, 0xff, 0x63, 0x4e, 0x42, 0xff, - 0x62, 0x4e, 0x41, 0xff, 0x67, 0x51, 0x43, 0xff, - 0x6f, 0x56, 0x46, 0xff, 0x71, 0x58, 0x47, 0xff, - 0x73, 0x59, 0x47, 0xff, 0x72, 0x57, 0x45, 0xff, - 0x7a, 0x5a, 0x46, 0xff, 0x74, 0x56, 0x44, 0xff, - 0x65, 0x4e, 0x41, 0xff, 0x5d, 0x4a, 0x3f, 0xff, - 0x61, 0x4b, 0x40, 0xff, 0x66, 0x4e, 0x42, 0xff, - 0x69, 0x50, 0x43, 0xff, 0x6f, 0x53, 0x45, 0xff, - 0x6f, 0x53, 0x47, 0xff, 0x73, 0x55, 0x46, 0xff, - 0x6c, 0x52, 0x44, 0xff, 0x6c, 0x52, 0x45, 0xff, - 0x6e, 0x54, 0x46, 0xff, 0x6b, 0x52, 0x45, 0xff, - 0x6e, 0x53, 0x44, 0xff, 0x76, 0x55, 0x44, 0xff, - 0x75, 0x55, 0x43, 0xff, 0x74, 0x55, 0x43, 0xff, - 0x6e, 0x53, 0x42, 0xff, 0x75, 0x56, 0x42, 0xff, - 0x81, 0x5c, 0x45, 0xff, 0x7c, 0x5a, 0x45, 0xff, - 0x7b, 0x5a, 0x46, 0xff, 0x75, 0x59, 0x47, 0xff, - 0x6b, 0x53, 0x47, 0xff, 0x62, 0x4e, 0x42, 0xff, - 0x63, 0x4e, 0x41, 0xff, 0x68, 0x51, 0x43, 0xff, - 0x70, 0x57, 0x47, 0xff, 0x74, 0x5a, 0x48, 0xff, - 0x74, 0x59, 0x48, 0xff, 0x7c, 0x5c, 0x46, 0xff, - 0x78, 0x57, 0x47, 0xff, 0x77, 0x57, 0x43, 0xff, - 0x64, 0x4c, 0x3f, 0xff, 0x5e, 0x49, 0x3e, 0xff, - 0x5f, 0x4a, 0x3e, 0xff, 0x65, 0x4d, 0x40, 0xff, - 0x6b, 0x51, 0x44, 0xff, 0x6e, 0x53, 0x46, 0xff, - 0x70, 0x54, 0x47, 0xff, 0x73, 0x57, 0x48, 0xff, - 0x7a, 0x58, 0x45, 0xff, 0x6d, 0x53, 0x45, 0xff, - 0x6e, 0x53, 0x45, 0xff, 0x6c, 0x52, 0x44, 0xff, - 0x6f, 0x52, 0x44, 0xff, 0x78, 0x56, 0x44, 0xff, - 0x7c, 0x58, 0x44, 0xff, 0x72, 0x54, 0x42, 0xff, - 0x6b, 0x52, 0x41, 0xff, 0x76, 0x56, 0x43, 0xff, - 0x7e, 0x5b, 0x45, 0xff, 0x79, 0x5a, 0x45, 0xff, - 0x79, 0x5b, 0x46, 0xff, 0x74, 0x58, 0x46, 0xff, - 0x6a, 0x53, 0x45, 0xff, 0x69, 0x52, 0x44, 0xff, - 0x6c, 0x53, 0x44, 0xff, 0x6c, 0x53, 0x44, 0xff, - 0x6d, 0x55, 0x45, 0xff, 0x6e, 0x57, 0x47, 0xff, - 0x6e, 0x57, 0x46, 0xff, 0x74, 0x58, 0x45, 0xff, - 0x77, 0x58, 0x46, 0xff, 0x64, 0x4d, 0x41, 0xff, - 0x65, 0x4e, 0x41, 0xff, 0x5e, 0x4a, 0x3e, 0xff, - 0x61, 0x4a, 0x3e, 0xff, 0x6a, 0x52, 0x45, 0xff, - 0x74, 0x58, 0x49, 0xff, 0x76, 0x59, 0x49, 0xff, - 0x70, 0x55, 0x48, 0xff, 0x6d, 0x52, 0x47, 0xff, - 0x73, 0x56, 0x44, 0xff, 0x6e, 0x54, 0x44, 0xff, - 0x6a, 0x51, 0x44, 0xff, 0x6c, 0x52, 0x44, 0xff, - 0x70, 0x53, 0x44, 0xff, 0x79, 0x57, 0x44, 0xff, - 0x7b, 0x59, 0x42, 0xff, 0x78, 0x58, 0x42, 0xff, - 0x69, 0x50, 0x41, 0xff, 0x6a, 0x51, 0x41, 0xff, - 0x79, 0x5a, 0x45, 0xff, 0x77, 0x58, 0x44, 0xff, - 0x73, 0x56, 0x44, 0xff, 0x6e, 0x54, 0x44, 0xff, - 0x68, 0x50, 0x44, 0xff, 0x6e, 0x54, 0x45, 0xff, - 0x75, 0x57, 0x45, 0xff, 0x73, 0x57, 0x43, 0xff, - 0x74, 0x59, 0x45, 0xff, 0x6b, 0x54, 0x45, 0xff, - 0x67, 0x54, 0x45, 0xff, 0x73, 0x59, 0x47, 0xff, - 0x68, 0x51, 0x43, 0xff, 0x61, 0x4a, 0x3f, 0xff, - 0x5d, 0x49, 0x3f, 0xff, 0x5d, 0x48, 0x3c, 0xff, - 0x62, 0x4b, 0x3e, 0xff, 0x70, 0x55, 0x47, 0xff, - 0x7c, 0x5b, 0x4a, 0xff, 0x7d, 0x5b, 0x4b, 0xff, - 0x72, 0x58, 0x49, 0xff, 0x66, 0x50, 0x48, 0xff, +Gfx ship1__32wood_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1__32wood_rgba16[] = { + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x5a, 0x4f, 0x5a, 0x0f, 0x5a, 0x0f, + 0x5a, 0x4f, 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0xd1, 0x72, 0xd1, 0x7a, 0xd3, 0x72, 0xd3, + 0x6a, 0x91, 0x72, 0xd3, 0x83, 0x13, 0x8a, 0xd1, + 0x7a, 0xd1, 0x6a, 0x91, 0x7a, 0xd3, 0x72, 0x93, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x62, 0x4f, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0xd1, 0x72, 0xd1, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0xd1, 0x7a, 0xd1, 0x82, 0xd1, + 0x7a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x7a, 0xd3, + 0x72, 0xd1, 0x7a, 0xd1, 0x72, 0x91, 0x6a, 0x91, + 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x7a, 0xd1, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x7a, 0xd1, + 0x7a, 0xd3, 0x72, 0x91, 0x72, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x91, 0x62, 0x51, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x62, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x7a, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x7a, 0xd1, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x4f, + 0x7a, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x91, + 0x7a, 0xd1, 0x7a, 0xd1, 0x7a, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x62, 0x91, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x5a, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x72, 0x91, 0x7a, 0x91, + 0x7a, 0x91, 0x7a, 0x91, 0x7a, 0x91, 0x7a, 0x91, + 0x72, 0x91, 0x6a, 0x51, 0x62, 0x51, 0x5a, 0x4f, + 0x82, 0xd1, 0x7a, 0x91, 0x6a, 0x4f, 0x6a, 0x4f, + 0x7a, 0x91, 0x82, 0xd1, 0x7a, 0xd1, 0x7a, 0x91, + 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x51, 0x6a, 0x91, + 0x6a, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x5a, 0x4f, + 0x62, 0x51, 0x62, 0x4f, 0x6a, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x7a, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x6a, 0x51, + 0x7a, 0x91, 0x72, 0x8f, 0x62, 0x4f, 0x6a, 0x4f, + 0x72, 0x91, 0x7a, 0x91, 0x7a, 0xd1, 0x7a, 0xd1, + 0x72, 0x91, 0x62, 0x51, 0x6a, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0xd1, + 0x72, 0xd1, 0x72, 0x91, 0x62, 0x51, 0x62, 0x4f, + 0x5a, 0x4f, 0x5a, 0x4f, 0x62, 0x4f, 0x6a, 0x4f, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x4f, 0x6a, 0x4f, 0x62, 0x4f, 0x62, 0x4f, + 0x72, 0x91, 0x72, 0x91, 0x7a, 0x91, 0x7a, 0xd1, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd1, + 0x7a, 0xd1, 0x7a, 0xd1, 0x6a, 0x91, 0x5a, 0x4f, + 0x5a, 0x4f, 0x5a, 0x4f, 0x62, 0x4f, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x4f, 0x62, 0x4f, 0x62, 0x4f, 0x6a, 0x4f, + 0x6a, 0x4f, 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x5a, 0x4f, 0x5a, 0x4f, 0x62, 0x51, 0x6a, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x7a, 0x91, + 0x7a, 0x91, 0x7a, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x4f, 0x6a, 0x51, 0x62, 0x4f, 0x6a, 0x4f, + 0x72, 0x91, 0x62, 0x4f, 0x62, 0x51, 0x72, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x51, 0x6a, 0x91, 0x6a, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x51, 0x62, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x7a, 0x91, + 0x7a, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x51, + 0x6a, 0x51, 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x51, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x91, 0x62, 0x51, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x72, 0x91, 0x7a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x51, 0x6a, 0x51, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x5a, 0x4f, 0x5a, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x52, 0x0f, 0x5a, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x51, + 0x72, 0x91, 0x6a, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x5a, 0x4f, 0x5a, 0x0f, 0x5a, 0x4f, 0x72, 0x91, + 0x72, 0xd3, 0x5a, 0x4f, 0x5a, 0x4f, 0x62, 0x51, + 0x72, 0x91, 0x6a, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x51, 0x62, 0x4f, 0x5a, 0x0f, + 0x6a, 0x51, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x62, 0x4f, 0x5a, 0x0f, 0x5a, 0x4f, 0x6a, 0x91, + 0x6a, 0x91, 0x5a, 0x4f, 0x52, 0x0f, 0x6a, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x51, 0x62, 0x51, 0x62, 0x0f, + 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x62, 0x4f, 0x52, 0x0d, 0x5a, 0x0f, 0x62, 0x4f, + 0x62, 0x51, 0x5a, 0x0f, 0x52, 0x0f, 0x5a, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x91, 0x6a, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x5a, 0x4f, + 0x5a, 0x4f, 0x52, 0x0d, 0x52, 0x0d, 0x5a, 0x4f, + 0x5a, 0x4f, 0x5a, 0x0f, 0x52, 0x0f, 0x5a, 0x0f, + 0x5a, 0x4f, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x4f, 0x5a, 0x4f, + 0x52, 0x0d, 0x51, 0xcd, 0x51, 0xcd, 0x52, 0x0d, + 0x62, 0x4f, 0x5a, 0x4f, 0x5a, 0x4f, 0x5a, 0x0f, + 0x5a, 0x0f, 0x5a, 0x4f, 0x62, 0x51, 0x6a, 0x51, + 0x72, 0x91, 0x72, 0xd1, 0x7a, 0xd1, 0x7a, 0xd1, + 0x6a, 0x91, 0x72, 0x91, 0x7a, 0xd1, 0x72, 0x91, + 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x4f, 0x5a, 0x0f, + 0x52, 0x0d, 0x51, 0xcd, 0x49, 0xcb, 0x52, 0x0d, + 0x6a, 0x4f, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x52, 0x0f, 0x5a, 0x0f, 0x62, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd1, 0x7a, 0xd1, + 0x72, 0x91, 0x7a, 0xd1, 0x82, 0xd1, 0x7a, 0xd1, + 0x62, 0x51, 0x5a, 0x4f, 0x62, 0x51, 0x6a, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x91, 0x62, 0x4f, + 0x5a, 0x0d, 0x51, 0xcd, 0x52, 0x0f, 0x52, 0x0f, + 0x62, 0x51, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x0f, 0x5a, 0x0f, 0x6a, 0x51, 0x6a, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x7a, 0xd1, 0x82, 0xd1, 0x82, 0xd1, 0x72, 0x91, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x62, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, + 0x6a, 0x91, 0x5a, 0x4f, 0x5a, 0x4f, 0x5a, 0x4f, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x4f, 0x5a, 0x4f, 0x62, 0x51, 0x6a, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x72, 0x91, 0x82, 0xd1, 0x7a, 0x91, 0x72, 0x91, + 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x7a, 0xd1, 0x7a, 0xd1, 0x7a, 0xd1, 0x6a, 0x93, + 0x62, 0x51, 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x8f, + 0x5a, 0x0f, 0x6a, 0x51, 0x62, 0x4f, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x4f, 0x62, 0x51, 0x62, 0x51, 0x62, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x7a, 0xd1, 0x7a, 0xd1, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x91, 0x62, 0x4f, + 0x52, 0x0d, 0x5a, 0x4f, 0x6a, 0x4f, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x5a, 0x4f, + 0x5a, 0x4f, 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x52, 0x0f, 0x52, 0x0f, 0x62, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x51, 0x5a, 0x0f, + 0x52, 0x0f, 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x62, 0x51, 0x62, 0x51, 0x62, 0x4f, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x91, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x4f, 0x5a, 0x0f, 0x62, 0x51, 0x5a, 0x4f, + 0x5a, 0x0f, 0x5a, 0x4f, 0x62, 0x51, 0x5a, 0x51, + 0x5a, 0x0f, 0x5a, 0x51, 0x62, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x62, 0x91, 0x62, 0x4f, 0x5a, 0x4f, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x62, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x62, 0x51, 0x62, 0x4f, 0x5a, 0x4f, 0x5a, 0x0f, + 0x52, 0x0f, 0x52, 0x0f, 0x5a, 0x0f, 0x5a, 0x51, + 0x62, 0x51, 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x4f, + 0x7a, 0xd1, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x62, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x51, 0x5a, 0x51, + 0x52, 0x0f, 0x52, 0x0f, 0x52, 0x0f, 0x5a, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x62, 0x91, 0x62, 0x51, 0x62, 0x4f, + 0x7a, 0xd3, 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, 0x72, 0xd1, + 0x72, 0xd1, 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x62, 0x91, + 0x5a, 0x51, 0x5a, 0x51, 0x5a, 0x51, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x51, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x93, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x72, 0xd1, 0x72, 0xd1, + 0x72, 0xd1, 0x72, 0xd1, 0x6a, 0x91, 0x6a, 0x91, + 0x62, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x93, 0x62, 0x91, 0x6a, 0x93, 0x6a, 0x91, + 0x62, 0x51, 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x93, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0xd1, 0x7a, 0xd1, 0x7a, 0xd3, + 0x72, 0xd3, 0x72, 0xd3, 0x6a, 0x91, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x6a, 0x93, 0x72, 0xd3, + 0x72, 0xd3, 0x72, 0xd1, 0x7a, 0xd3, 0x72, 0x91, + 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x93, 0x72, 0x93, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x93, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x82, 0xd1, 0x7a, 0xd1, + 0x7a, 0xd3, 0x72, 0xd3, 0x6a, 0x93, 0x62, 0x51, + 0x62, 0x51, 0x6a, 0x91, 0x72, 0xd3, 0x72, 0xd3, + 0x72, 0xd3, 0x7a, 0xd3, 0x7a, 0xd3, 0x72, 0xd1, + 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, 0x62, 0x51, + 0x6a, 0x91, 0x6a, 0x93, 0x72, 0x93, 0x72, 0xd3, + 0x7a, 0xd1, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x7a, 0x91, 0x7a, 0xd1, 0x72, 0x91, + 0x6a, 0x91, 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd1, + 0x7a, 0xd3, 0x72, 0xd3, 0x6a, 0x91, 0x6a, 0x91, + 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0xd3, + 0x6a, 0xd3, 0x72, 0xd1, 0x72, 0xd3, 0x62, 0x51, + 0x62, 0x51, 0x5a, 0x51, 0x62, 0x51, 0x6a, 0x91, + 0x72, 0xd3, 0x72, 0xd3, 0x72, 0x93, 0x6a, 0x93, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd1, 0x7a, 0xd1, + 0x6a, 0x91, 0x6a, 0x91, 0x7a, 0xd1, 0x72, 0xd1, + 0x72, 0x91, 0x6a, 0x91, 0x6a, 0x91, 0x6a, 0x91, + 0x72, 0xd1, 0x72, 0xd1, 0x72, 0xd1, 0x6a, 0x91, + 0x6a, 0x91, 0x72, 0xd3, 0x6a, 0x91, 0x62, 0x51, + 0x5a, 0x51, 0x5a, 0x4f, 0x62, 0x51, 0x72, 0x93, + 0x7a, 0xd3, 0x7a, 0xd3, 0x72, 0xd3, 0x62, 0x93, }; @@ -4229,18 +1934,465 @@ u8 ship1_wood2_rgba16[] = { }; -Vtx ship1_Spaghetti_mesh_vtx_cull[8] = { +Gfx ship1_shinyengine_ci8_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_shinyengine_ci8[] = { + 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x0a, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x0b, 0x0c, 0x09, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0a, 0x10, 0x05, 0x11, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x13, 0x14, + 0x15, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x17, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0b, 0x18, 0x05, 0x19, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x1a, 0x14, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x1d, 0x05, 0x11, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x1a, 0x14, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1e, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0a, 0x00, 0x05, 0x1f, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x05, 0x1a, 0x14, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0a, 0x21, 0x05, 0x11, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x1a, 0x14, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x17, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x01, 0x22, 0x05, 0x19, 0x23, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x1a, 0x14, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0c, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x1a, 0x15, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x0f, 0x05, 0x05, 0x05, 0x11, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x1a, 0x15, + 0x15, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x0a, 0x09, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x13, 0x14, + 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x0a, 0x26, 0x05, 0x05, 0x05, 0x05, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x13, 0x14, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x0a, 0x0d, 0x05, 0x05, 0x05, 0x05, 0x23, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x05, 0x27, 0x14, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x0b, 0x12, 0x05, 0x05, 0x05, 0x19, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x28, 0x29, 0x14, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x03, 0x22, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x28, 0x29, 0x14, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x2a, 0x11, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x1a, 0x14, 0x15, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x17, 0x05, 0x05, 0x05, 0x05, 0x11, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x13, 0x14, 0x14, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0a, + 0x10, 0x05, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x22, 0x1a, 0x14, 0x15, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0a, + 0x26, 0x05, 0x05, 0x05, 0x05, 0x23, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x22, 0x13, 0x14, 0x2b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0a, + 0x21, 0x05, 0x05, 0x05, 0x05, 0x23, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x22, 0x13, 0x14, 0x2b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x00, 0x05, 0x05, 0x05, 0x05, 0x23, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x22, 0x2c, 0x13, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x00, 0x05, 0x05, 0x05, 0x19, 0x18, 0x00, 0x16, + 0x23, 0x00, 0x00, 0x00, 0x22, 0x05, 0x24, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x16, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, 0x16, + 0x23, 0x00, 0x00, 0x00, 0x22, 0x05, 0x24, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x17, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x04, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, 0x12, + 0x20, 0x00, 0x00, 0x00, 0x22, 0x05, 0x24, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, + 0x18, 0x05, 0x05, 0x05, 0x19, 0x04, 0x00, 0x04, + 0x22, 0x00, 0x00, 0x00, 0x11, 0x05, 0x24, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x04, 0x05, 0x05, 0x05, 0x11, 0x12, 0x00, 0x04, + 0x24, 0x00, 0x00, 0x00, 0x11, 0x05, 0x11, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x17, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x16, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, 0x04, + 0x1d, 0x16, 0x00, 0x00, 0x12, 0x05, 0x18, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x16, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, 0x18, + 0x11, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x04, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, 0x18, + 0x19, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x26, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, + 0x20, 0x05, 0x05, 0x05, 0x24, 0x16, 0x00, 0x18, + 0x19, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x16, 0x23, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2d, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, + 0x22, 0x05, 0x05, 0x05, 0x22, 0x16, 0x00, 0x18, + 0x19, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x05, 0x1d, 0x16, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, + 0x22, 0x05, 0x05, 0x05, 0x23, 0x00, 0x00, 0x23, + 0x05, 0x1f, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x05, 0x05, 0x12, 0x00, 0x00, 0x00, 0x00, + +}; + +Gfx ship1_shinyengine_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_shinyengine_pal_rgba16[] = { + 0x6b, 0x5b, 0xde, 0xf7, 0xff, 0xff, 0xe7, 0x39, + 0x52, 0x95, 0x00, 0x01, 0x18, 0x85, 0x49, 0x8d, + 0x62, 0xd7, 0xa5, 0x29, 0xf7, 0xbd, 0xef, 0x7b, + 0xce, 0x73, 0x73, 0x9d, 0x5a, 0x95, 0xb5, 0xad, + 0xad, 0x6b, 0x10, 0x85, 0x5a, 0xd7, 0x28, 0xc7, + 0x51, 0x8d, 0x51, 0xcf, 0x63, 0x19, 0xbd, 0xef, + 0x4a, 0x53, 0x08, 0x43, 0x20, 0x85, 0x6b, 0x19, + 0xc6, 0x31, 0x21, 0x09, 0x84, 0x21, 0x18, 0xc7, + 0x39, 0xcf, 0x7b, 0xdf, 0x31, 0x8d, 0x42, 0x11, + 0x29, 0x4b, 0x5a, 0x53, 0x94, 0xa5, 0x31, 0x09, + 0x10, 0x43, 0x41, 0x4b, 0xd6, 0xb5, 0x52, 0x53, + 0x08, 0x01, 0x8c, 0x63, +}; + +Gfx ship1_enginepiece_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_enginepiece_rgba16[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb2, 0x53, 0xaa, 0x53, 0xa2, 0x53, 0xa2, 0x53, + 0xa2, 0x53, 0xa2, 0x53, 0xa2, 0x53, 0xa2, 0x53, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb2, 0x53, 0xaa, 0x53, 0xaa, 0x53, + 0xb2, 0x53, 0xb2, 0x53, 0xaa, 0x53, 0xa2, 0x53, + 0xa2, 0x53, 0xa2, 0x53, 0xa2, 0x53, 0x9a, 0x11, + 0x8a, 0x11, 0x92, 0x11, 0x9a, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb2, 0x53, 0xb2, 0x53, 0xb2, 0x53, 0xaa, 0x53, + 0xaa, 0x53, 0xaa, 0x53, 0xa2, 0x53, 0xa2, 0x11, + 0x9a, 0x11, 0x9a, 0x11, 0x92, 0x11, 0x92, 0x11, + 0x92, 0x11, 0x92, 0x11, 0x9a, 0x11, 0x89, 0xcf, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb2, 0x53, 0xb2, 0x53, + 0xb2, 0x53, 0xaa, 0x53, 0xaa, 0x53, 0xa2, 0x53, + 0xa2, 0x11, 0x9a, 0x11, 0x9a, 0x11, 0x9a, 0x11, + 0x92, 0x11, 0x92, 0x11, 0x89, 0xcf, 0x89, 0xcf, + 0x92, 0x11, 0x92, 0x11, 0x89, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x81, 0xcf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb2, 0x53, 0xb2, 0x53, 0xb2, 0x53, + 0xaa, 0x53, 0xaa, 0x53, 0xa2, 0x53, 0x9a, 0x11, + 0x9a, 0x11, 0x92, 0x11, 0x92, 0x11, 0x92, 0x11, + 0x89, 0xcf, 0x89, 0xcf, 0x89, 0xcf, 0x89, 0xcf, + 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xaa, 0x53, 0xb2, 0x53, 0xaa, 0x53, 0xaa, 0x53, + 0xa2, 0x53, 0xa2, 0x11, 0x9a, 0x11, 0x92, 0x11, + 0x92, 0x11, 0x89, 0xcf, 0x89, 0xcf, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x89, 0xcf, + 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, 0x79, 0x8d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa2, 0x53, 0xaa, 0x53, 0xa2, 0x53, 0xa2, 0x53, + 0x9a, 0x11, 0x92, 0x11, 0x92, 0x11, 0x92, 0x11, + 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x89, 0xcf, + 0x89, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x79, 0x8d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x53, + 0xaa, 0x53, 0xa2, 0x53, 0x9a, 0x11, 0x9a, 0x11, + 0x92, 0x11, 0x92, 0x11, 0x89, 0xcf, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, 0x71, 0x8d, + 0x69, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xaa, 0x53, 0xb2, 0x53, + 0xaa, 0x53, 0xa2, 0x53, 0x9a, 0x11, 0x92, 0x11, + 0x92, 0x11, 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x79, 0x8d, 0x71, 0x8d, + 0x71, 0x8d, 0x71, 0x8d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa2, 0x11, 0xaa, 0x53, + 0xa2, 0x53, 0xa2, 0x11, 0x9a, 0x11, 0x92, 0x11, + 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x79, 0xcf, 0x79, 0x8d, 0x79, 0x8d, + 0x79, 0xcf, 0x79, 0x8d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9a, 0x11, 0x9a, 0x11, + 0x9a, 0x11, 0x9a, 0x11, 0x92, 0x11, 0x92, 0x11, + 0x89, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x79, 0xcf, 0x79, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x71, 0x8d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa2, 0x53, 0xa2, 0x53, 0x9a, 0x11, + 0x9a, 0x11, 0x92, 0x11, 0x92, 0x11, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0x8d, 0x69, 0x4b, 0x59, 0x4b, 0x00, 0x00, + 0x00, 0x00, 0xa2, 0x11, 0xa2, 0x53, 0xa2, 0x53, + 0x9a, 0x11, 0x92, 0x11, 0x89, 0xcf, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x79, 0x8d, + 0x71, 0x8d, 0x69, 0x8d, 0x69, 0x8d, 0x00, 0x00, + 0x00, 0x00, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x7b, 0xdf, 0x7b, 0xdf, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, 0x7b, 0xdf, + 0x7b, 0xdf, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, + 0x7b, 0xdf, 0x7b, 0xdf, 0x6b, 0x5b, 0x6b, 0x5b, + 0x6b, 0x5b, 0x6b, 0x5b, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, + 0x7b, 0xdf, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x7b, 0xdf, 0x7b, 0xdf, + 0x7b, 0xdf, 0x7b, 0xdf, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x7b, 0xdf, + 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x7b, 0xdf, 0x7b, 0xdf, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x7b, 0xdf, + 0x7b, 0xdf, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x7b, 0xdf, 0x7b, 0xdf, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x89, 0xcf, 0x92, 0x11, 0x89, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, 0x71, 0x8d, + 0x69, 0x8d, 0x61, 0x4b, 0x59, 0x4b, 0x00, 0x00, + 0x00, 0x00, 0x89, 0xcf, 0x89, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x79, 0xcf, 0x79, 0x8d, 0x71, 0x8d, + 0x69, 0x8d, 0x59, 0x4b, 0x51, 0x09, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x79, 0x8d, 0x79, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, + 0x79, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x79, 0xcf, 0x79, 0x8d, 0x71, 0x8d, + 0x69, 0x4b, 0x59, 0x4b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x71, 0x8d, 0x81, 0xcf, + 0x89, 0xcf, 0x81, 0xcf, 0x79, 0xcf, 0x79, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x79, 0x8d, 0x71, 0x8d, 0x69, 0x8d, + 0x61, 0x4b, 0x59, 0x4b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x79, 0x8d, 0x79, 0x8d, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, + 0x79, 0x8d, 0x71, 0x8d, 0x69, 0x8d, 0x61, 0x4b, + 0x59, 0x4b, 0x51, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8d, + 0x69, 0x8d, 0x71, 0x8d, 0x79, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x79, 0xcf, 0x79, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, 0x79, 0xcf, + 0x79, 0x8d, 0x71, 0x8d, 0x69, 0x4b, 0x59, 0x4b, + 0x51, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x61, 0x4b, 0x79, 0x8d, 0x79, 0xcf, 0x79, 0xcf, + 0x79, 0x8d, 0x79, 0xcf, 0x79, 0xcf, 0x79, 0xcf, + 0x79, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x79, 0xcf, 0x79, 0xcf, 0x79, 0x8d, 0x79, 0x8d, + 0x71, 0x8d, 0x69, 0x8d, 0x61, 0x4b, 0x59, 0x4b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x69, 0x8d, 0x79, 0x8d, 0x79, 0x8d, 0x79, 0x8d, + 0x79, 0x8d, 0x79, 0x8d, 0x79, 0x8d, 0x79, 0x8d, + 0x79, 0xcf, 0x79, 0xcf, 0x81, 0xcf, 0x81, 0xcf, + 0x81, 0xcf, 0x81, 0xcf, 0x81, 0xcf, 0x79, 0xcf, + 0x79, 0xcf, 0x79, 0x8d, 0x71, 0x8d, 0x71, 0x8d, + 0x69, 0x8d, 0x61, 0x4b, 0x59, 0x4b, 0x51, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x69, 0x8d, 0x69, 0x8d, 0x71, 0x8d, + 0x71, 0x8d, 0x71, 0x8d, 0x71, 0x8d, 0x71, 0x8d, + 0x79, 0x8d, 0x79, 0xcf, 0x79, 0xcf, 0x79, 0xcf, + 0x79, 0xcf, 0x79, 0xcf, 0x79, 0xcf, 0x79, 0x8d, + 0x79, 0x8d, 0x71, 0x8d, 0x69, 0x8d, 0x61, 0x4b, + 0x61, 0x4b, 0x59, 0x4b, 0x51, 0x09, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x61, 0x4b, 0x69, 0x4b, + 0x61, 0x4b, 0x69, 0x4b, 0x69, 0x8d, 0x71, 0x8d, + 0x79, 0x8d, 0x71, 0x8d, 0x71, 0x8d, 0x79, 0x8d, + 0x79, 0x8d, 0x79, 0x8d, 0x71, 0x8d, 0x71, 0x8d, + 0x71, 0x8d, 0x69, 0x8d, 0x61, 0x4b, 0x59, 0x4b, + 0x51, 0x09, 0x49, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x51, 0x09, 0x61, 0x4b, 0x69, 0x8d, 0x71, 0x8d, + 0x69, 0x8d, 0x69, 0x8d, 0x69, 0x8d, 0x71, 0x8d, + 0x71, 0x8d, 0x71, 0x8d, 0x69, 0x8d, 0x61, 0x4b, + 0x61, 0x4b, 0x61, 0x4b, 0x59, 0x4b, 0x51, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x59, 0x4b, 0x69, 0x4b, 0x61, 0x4b, + 0x59, 0x4b, 0x61, 0x4b, 0x69, 0x4b, 0x69, 0x8d, + 0x69, 0x4b, 0x61, 0x4b, 0x61, 0x4b, 0x59, 0x4b, + 0x51, 0x09, 0x51, 0x09, 0x49, 0x09, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x09, 0x59, 0x4b, 0x59, 0x4b, 0x59, 0x09, + 0x51, 0x09, 0x49, 0x09, 0x51, 0x09, 0x49, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +Gfx ship1_metal1_i8_copy_aligner[] = {gsSPEndDisplayList()}; +u8 ship1_metal1_i8_copy[] = { + 0x45, 0x45, 0x45, 0x45, 0x45, 0x4b, 0x52, 0x52, + 0x52, 0x52, 0x4b, 0x4b, 0x4b, 0x45, 0x45, 0x45, + 0x45, 0x45, 0x4b, 0x52, 0x52, 0x6e, 0x8e, 0x8e, + 0x8e, 0x72, 0x72, 0x6e, 0x60, 0x4b, 0x45, 0x45, + 0x3e, 0x45, 0x4b, 0x5a, 0x52, 0x67, 0x72, 0x72, + 0x72, 0x7b, 0xa5, 0x8e, 0x6e, 0x60, 0x4b, 0x45, + 0x3e, 0x45, 0x4b, 0x5a, 0x5a, 0x4b, 0x4b, 0x4b, + 0x60, 0x6e, 0x6e, 0x8e, 0x8e, 0x67, 0x67, 0x45, + 0x3e, 0x3e, 0x52, 0x52, 0x52, 0x4b, 0x4b, 0x4b, + 0x52, 0x52, 0x5a, 0x72, 0x7b, 0x8e, 0x67, 0x4b, + 0x45, 0x45, 0x52, 0x52, 0x4b, 0x4b, 0x45, 0x45, + 0x4b, 0x52, 0x52, 0x60, 0x7b, 0x6e, 0x5a, 0x4b, + 0x45, 0x45, 0x4b, 0x4b, 0x4b, 0x4b, 0x45, 0x45, + 0x45, 0x4b, 0x52, 0x5a, 0x6e, 0x6e, 0x5a, 0x4b, + 0x3e, 0x3e, 0x3d, 0x45, 0x4b, 0x4b, 0x45, 0x45, + 0x45, 0x45, 0x4b, 0x5a, 0x67, 0x60, 0x52, 0x45, + 0x45, 0x3e, 0x45, 0x4b, 0x45, 0x45, 0x45, 0x4b, + 0x4b, 0x4b, 0x45, 0x52, 0x60, 0x67, 0x52, 0x45, + 0x4b, 0x3e, 0x45, 0x4b, 0x4b, 0x45, 0x45, 0x4b, + 0x4b, 0x4b, 0x45, 0x4b, 0x60, 0x6e, 0x5a, 0x45, + 0x4b, 0x3d, 0x36, 0x45, 0x52, 0x4b, 0x45, 0x45, + 0x45, 0x4b, 0x4b, 0x4b, 0x60, 0x67, 0x5a, 0x45, + 0x3e, 0x38, 0x33, 0x38, 0x4b, 0x52, 0x45, 0x45, + 0x45, 0x4b, 0x4b, 0x4b, 0x5a, 0x5a, 0x4b, 0x45, + 0x36, 0x38, 0x36, 0x33, 0x38, 0x45, 0x3e, 0x3e, + 0x3e, 0x45, 0x45, 0x4b, 0x4b, 0x52, 0x4b, 0x45, + 0x33, 0x33, 0x32, 0x32, 0x32, 0x32, 0x38, 0x3e, + 0x4b, 0x45, 0x45, 0x52, 0x52, 0x4b, 0x4b, 0x45, + 0x38, 0x33, 0x32, 0x33, 0x32, 0x30, 0x3d, 0x3d, + 0x38, 0x38, 0x3e, 0x45, 0x4b, 0x4b, 0x45, 0x45, + 0x45, 0x45, 0x38, 0x36, 0x3d, 0x3d, 0x3e, 0x38, + 0x36, 0x38, 0x3e, 0x3e, 0x45, 0x45, 0x45, 0x45, + +}; + +Vtx ship1_spag1_003_mesh_vtx_cull[8] = { {{ {-202, -32, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, {{ {-202, -32, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, {{ {-202, 784, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, {{ {-202, 784, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, - {{ {202, -32, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, - {{ {202, -32, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, - {{ {202, 784, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, - {{ {202, 784, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {230, -32, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {230, -32, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {230, 784, 465}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {230, 784, -387}, 0, {0, 0}, {0, 0, 0, 0} }}, }; -Vtx ship1_Spaghetti_mesh_vtx_0[108] = { +Vtx ship1_spag1_003_mesh_vtx_0[86] = { {{ {186, 80, 111}, 0, {336, 654}, {109, 202, 37, 255} }}, {{ {132, 231, -340}, 0, {1439, -16}, {79, 215, 165, 255} }}, {{ {196, 172, 130}, 0, {291, 247}, {120, 238, 39, 255} }}, @@ -4269,50 +2421,20 @@ Vtx ship1_Spaghetti_mesh_vtx_0[108] = { {{ {-152, 0, 25}, 0, {546, 1008}, {182, 153, 7, 255} }}, {{ {87, 231, -300}, 0, {1340, -16}, {176, 44, 88, 255} }}, {{ {0, 231, -322}, 0, {1393, -16}, {0, 48, 118, 255} }}, - {{ {0, 68, -256}, 0, {1232, 704}, {0, 85, 95, 255} }}, + {{ {0, 68, -256}, 0, {1232, 704}, {0, 48, 118, 255} }}, {{ {-87, 231, -300}, 0, {1340, -16}, {80, 44, 88, 255} }}, - {{ {-65, 68, -240}, 0, {1192, 704}, {77, 77, 65, 255} }}, + {{ {-65, 68, -240}, 0, {1192, 704}, {94, 41, 75, 255} }}, {{ {-143, 172, 113}, 0, {332, 247}, {100, 67, 216, 255} }}, {{ {-143, 172, 113}, 0, {332, 247}, {100, 67, 216, 255} }}, - {{ {-106, 68, 30}, 0, {533, 704}, {93, 84, 238, 255} }}, - {{ {-65, 68, -240}, 0, {1192, 704}, {77, 77, 65, 255} }}, + {{ {-106, 68, 30}, 0, {533, 704}, {116, 50, 242, 255} }}, + {{ {-65, 68, -240}, 0, {1192, 704}, {94, 41, 75, 255} }}, {{ {0, 172, 265}, 0, {-41, 247}, {0, 97, 174, 255} }}, - {{ {0, 68, 144}, 0, {256, 704}, {0, 107, 188, 255} }}, - {{ {106, 68, 30}, 0, {533, 704}, {163, 84, 238, 255} }}, + {{ {0, 68, 144}, 0, {256, 704}, {0, 97, 174, 255} }}, + {{ {106, 68, 30}, 0, {533, 704}, {140, 50, 242, 255} }}, {{ {143, 172, 113}, 0, {332, 247}, {156, 67, 216, 255} }}, - {{ {65, 68, -240}, 0, {1192, 704}, {179, 77, 65, 255} }}, + {{ {65, 68, -240}, 0, {1192, 704}, {162, 41, 75, 255} }}, {{ {87, 231, -300}, 0, {1340, -16}, {176, 44, 88, 255} }}, - {{ {0, 68, -256}, 0, {1232, 704}, {0, 85, 95, 255} }}, - {{ {0, 32, -175}, 0, {1035, 865}, {0, 123, 31, 255} }}, - {{ {-28, 32, -168}, 0, {1018, 865}, {36, 120, 21, 255} }}, - {{ {-46, 32, -50}, 0, {730, 865}, {41, 120, 254, 255} }}, - {{ {0, 32, 0}, 0, {609, 865}, {0, 125, 233, 255} }}, - {{ {46, 32, -50}, 0, {730, 865}, {215, 120, 254, 255} }}, - {{ {28, 32, -168}, 0, {1018, 865}, {220, 120, 21, 255} }}, - {{ {8, 188, 144}, 0, {256, 176}, {139, 30, 38, 255} }}, - {{ {3, 185, 140}, 0, {265, 189}, {207, 72, 93, 255} }}, - {{ {3, 176, 147}, 0, {249, 226}, {227, 218, 118, 255} }}, - {{ {0, 176, 147}, 0, {249, 226}, {0, 240, 126, 255} }}, - {{ {0, 185, 140}, 0, {265, 189}, {0, 78, 100, 255} }}, - {{ {-3, 185, 140}, 0, {265, 189}, {49, 72, 93, 255} }}, - {{ {-3, 176, 147}, 0, {249, 226}, {29, 218, 118, 255} }}, - {{ {-8, 188, 144}, 0, {256, 176}, {117, 30, 38, 255} }}, - {{ {-8, 179, 151}, 0, {240, 213}, {70, 193, 85, 255} }}, - {{ {-8, 192, 149}, 0, {243, 158}, {117, 226, 218, 255} }}, - {{ {-8, 183, 156}, 0, {227, 195}, {70, 158, 40, 255} }}, - {{ {-3, 195, 153}, 0, {234, 145}, {49, 184, 163, 255} }}, - {{ {-3, 186, 160}, 0, {218, 182}, {29, 133, 7, 255} }}, - {{ {0, 195, 153}, 0, {234, 145}, {0, 178, 156, 255} }}, - {{ {0, 186, 160}, 0, {218, 182}, {0, 130, 240, 255} }}, - {{ {3, 186, 160}, 0, {218, 182}, {227, 133, 7, 255} }}, - {{ {0, 195, 153}, 0, {234, 145}, {0, 178, 156, 255} }}, - {{ {3, 195, 153}, 0, {234, 145}, {207, 184, 163, 255} }}, - {{ {3, 186, 160}, 0, {218, 182}, {227, 133, 7, 255} }}, - {{ {8, 183, 156}, 0, {227, 195}, {186, 158, 40, 255} }}, - {{ {8, 192, 149}, 0, {243, 158}, {139, 226, 218, 255} }}, - {{ {8, 179, 151}, 0, {240, 213}, {186, 193, 85, 255} }}, - {{ {8, 188, 144}, 0, {256, 176}, {139, 30, 38, 255} }}, - {{ {3, 176, 147}, 0, {249, 226}, {227, 218, 118, 255} }}, + {{ {0, 68, -256}, 0, {1232, 704}, {0, 48, 118, 255} }}, {{ {25, 24, -216}, 0, {-1669, 496}, {104, 183, 0, 255} }}, {{ {0, 24, -241}, 0, {-1669, 1008}, {0, 183, 152, 255} }}, {{ {0, 655, -241}, 0, {2661, 1008}, {0, 73, 152, 255} }}, @@ -4335,8 +2457,16 @@ Vtx ship1_Spaghetti_mesh_vtx_0[108] = { {{ {202, 338, -161}, 0, {1520, 496}, {44, 214, 111, 255} }}, {{ {202, 354, -186}, 0, {1520, -16}, {77, 101, 0, 255} }}, {{ {0, 354, -186}, 0, {496, -16}, {0, 127, 0, 255} }}, + {{ {0, 338, -211}, 0, {496, 496}, {0, 0, 129, 255} }}, {{ {-202, 354, -186}, 0, {-528, -16}, {179, 101, 0, 255} }}, + {{ {0, 354, -186}, 0, {496, -16}, {0, 127, 0, 255} }}, + {{ {-202, 338, -211}, 0, {-528, 496}, {185, 0, 151, 255} }}, {{ {-202, 338, -161}, 0, {-528, 496}, {212, 214, 111, 255} }}, + {{ {-202, 322, -186}, 0, {-528, 1008}, {179, 155, 0, 255} }}, + {{ {0, 338, -161}, 0, {496, 496}, {0, 211, 119, 255} }}, + {{ {202, 338, -161}, 0, {1520, 496}, {44, 214, 111, 255} }}, + {{ {202, 322, -186}, 0, {1520, 1008}, {77, 155, 0, 255} }}, + {{ {202, 354, -186}, 0, {1520, -16}, {77, 101, 0, 255} }}, {{ {202, 627, -161}, 0, {1520, 496}, {44, 39, 113, 255} }}, {{ {202, 611, -186}, 0, {1520, 1008}, {77, 155, 0, 255} }}, {{ {202, 627, -211}, 0, {1520, 496}, {71, 0, 151, 255} }}, @@ -4351,8 +2481,8 @@ Vtx ship1_Spaghetti_mesh_vtx_0[108] = { {{ {-202, 627, -211}, 0, {-528, 496}, {185, 0, 151, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_0[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_0 + 0, 32, 0), +Gfx ship1_spag1_003_mesh_tri_0[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_0 + 0, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), gsSP2Triangles(4, 3, 0, 0, 5, 4, 0, 0), gsSP2Triangles(5, 0, 6, 0, 0, 7, 6, 0), @@ -4375,68 +2505,45 @@ Gfx ship1_Spaghetti_mesh_tri_0[] = { gsSP2Triangles(24, 19, 21, 0, 24, 21, 23, 0), gsSP2Triangles(26, 27, 28, 0, 29, 28, 27, 0), gsSP2Triangles(29, 30, 28, 0, 31, 30, 29, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_0 + 32, 32, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_0 + 32, 32, 0), gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), gsSP2Triangles(3, 6, 5, 0, 6, 7, 5, 0), gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), - gsSP2Triangles(7, 9, 10, 0, 2, 10, 9, 0), - gsSP2Triangles(2, 11, 10, 0, 1, 11, 2, 0), - gsSP2Triangles(1, 12, 11, 0, 4, 12, 1, 0), - gsSP2Triangles(4, 13, 12, 0, 4, 14, 13, 0), - gsSP2Triangles(4, 5, 14, 0, 5, 15, 14, 0), - gsSP2Triangles(5, 7, 15, 0, 7, 10, 15, 0), - gsSP2Triangles(13, 15, 10, 0, 13, 10, 11, 0), - gsSP2Triangles(13, 11, 12, 0, 13, 14, 15, 0), - gsSP2Triangles(16, 17, 18, 0, 17, 19, 18, 0), - gsSP2Triangles(17, 20, 19, 0, 21, 19, 20, 0), - gsSP2Triangles(21, 22, 19, 0, 23, 22, 21, 0), - gsSP2Triangles(23, 24, 22, 0, 25, 24, 23, 0), - gsSP2Triangles(25, 26, 24, 0, 27, 26, 25, 0), - gsSP2Triangles(27, 28, 26, 0, 29, 28, 27, 0), - gsSP2Triangles(29, 30, 28, 0, 29, 31, 30, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_0 + 64, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), - gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 11, 9, 0), - gsSP2Triangles(11, 8, 12, 0, 8, 10, 12, 0), - gsSP2Triangles(13, 12, 10, 0, 14, 13, 10, 0), - gsSP2Triangles(14, 10, 15, 0, 16, 15, 10, 0), - gsSP2Triangles(16, 10, 9, 0, 16, 9, 11, 0), - gsSP2Triangles(11, 15, 16, 0, 11, 17, 15, 0), - gsSP2Triangles(11, 12, 17, 0, 18, 17, 12, 0), - gsSP2Triangles(13, 18, 12, 0, 18, 19, 17, 0), - gsSP2Triangles(19, 15, 17, 0, 19, 14, 15, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 23, 21, 0), - gsSP2Triangles(20, 24, 23, 0, 25, 24, 20, 0), - gsSP2Triangles(25, 20, 26, 0, 20, 22, 26, 0), - gsSP2Triangles(27, 26, 22, 0, 27, 22, 28, 0), - gsSP2Triangles(21, 28, 22, 0, 21, 29, 28, 0), - gsSP2Triangles(21, 30, 29, 0, 21, 23, 30, 0), - gsSP2Triangles(31, 30, 23, 0, 31, 23, 24, 0), - gsSP2Triangles(25, 31, 24, 0, 29, 31, 25, 0), - gsSP2Triangles(29, 25, 27, 0, 25, 26, 27, 0), - gsSP2Triangles(29, 27, 28, 0, 29, 30, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_0 + 96, 12, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 0, 5, 0), - gsSP2Triangles(0, 2, 5, 0, 6, 5, 2, 0), - gsSP2Triangles(7, 6, 2, 0, 7, 2, 1, 0), - gsSP2Triangles(3, 7, 1, 0, 3, 8, 7, 0), - gsSP2Triangles(3, 9, 8, 0, 4, 9, 3, 0), - gsSP2Triangles(4, 10, 9, 0, 6, 10, 4, 0), - gsSP2Triangles(6, 4, 5, 0, 6, 11, 10, 0), - gsSP2Triangles(7, 11, 6, 0, 7, 8, 11, 0), - gsSP2Triangles(9, 11, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 13, 11, 0), + gsSP2Triangles(13, 10, 14, 0, 10, 12, 14, 0), + gsSP2Triangles(15, 14, 12, 0, 16, 15, 12, 0), + gsSP2Triangles(16, 12, 17, 0, 18, 17, 12, 0), + gsSP2Triangles(18, 12, 11, 0, 18, 11, 13, 0), + gsSP2Triangles(13, 17, 18, 0, 13, 19, 17, 0), + gsSP2Triangles(13, 14, 19, 0, 20, 19, 14, 0), + gsSP2Triangles(15, 20, 14, 0, 20, 21, 19, 0), + gsSP2Triangles(21, 17, 19, 0, 21, 16, 17, 0), + gsSP2Triangles(22, 23, 24, 0, 22, 25, 23, 0), + gsSP2Triangles(22, 26, 25, 0, 27, 26, 22, 0), + gsSP2Triangles(27, 22, 28, 0, 22, 24, 28, 0), + gsSP2Triangles(29, 28, 24, 0, 29, 24, 30, 0), + gsSP2Triangles(23, 30, 24, 0, 23, 31, 30, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_0 + 64, 22, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 1, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 4, 5, 0, 2, 4, 6, 0), + gsSP2Triangles(2, 6, 7, 0, 6, 8, 7, 0), + gsSP2Triangles(2, 7, 9, 0, 2, 1, 4, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 11, 10, 0), + gsSP2Triangles(14, 13, 10, 0, 14, 10, 15, 0), + gsSP2Triangles(10, 12, 15, 0, 16, 15, 12, 0), + gsSP2Triangles(17, 16, 12, 0, 17, 12, 11, 0), + gsSP2Triangles(13, 17, 11, 0, 13, 18, 17, 0), + gsSP2Triangles(13, 19, 18, 0, 14, 19, 13, 0), + gsSP2Triangles(14, 20, 19, 0, 16, 20, 14, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 21, 20, 0), + gsSP2Triangles(17, 21, 16, 0, 17, 18, 21, 0), + gsSP2Triangles(19, 21, 18, 0, 19, 20, 21, 0), gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_1[58] = { - {{ {0, 0, 132}, 0, {-1092, -580}, {129, 0, 0, 255} }}, - {{ {0, 25, 107}, 0, {-1092, -1092}, {129, 0, 0, 255} }}, - {{ {0, 0, 81}, 0, {-580, -1092}, {129, 0, 0, 255} }}, - {{ {0, -25, 107}, 0, {-580, -580}, {129, 0, 0, 255} }}, +Vtx ship1_spag1_003_mesh_vtx_1[44] = { {{ {0, -32, -138}, 0, {-580, -580}, {0, 134, 221, 255} }}, {{ {-25, -7, -138}, 0, {-580, -1092}, {134, 0, 221, 255} }}, {{ {0, -7, -172}, 0, {-580, -580}, {0, 0, 129, 255} }}, @@ -4457,654 +2564,65 @@ Vtx ship1_Spaghetti_mesh_vtx_1[58] = { {{ {0, -7, 120}, 0, {-580, -1092}, {0, 0, 127, 255} }}, {{ {0, -7, 120}, 0, {-1092, -1092}, {0, 0, 127, 255} }}, {{ {0, -7, 120}, 0, {-1092, -580}, {0, 0, 127, 255} }}, - {{ {0, 198, 154}, 0, {-949, -723}, {0, 100, 78, 255} }}, - {{ {10, 191, 145}, 0, {-723, -723}, {123, 24, 236, 255} }}, - {{ {0, 209, 132}, 0, {-949, -723}, {0, 102, 180, 255} }}, - {{ {0, 153, 196}, 0, {-949, -723}, {0, 123, 223, 255} }}, - {{ {-10, 191, 145}, 0, {-723, -723}, {133, 24, 236, 255} }}, - {{ {-16, 144, 183}, 0, {-723, -723}, {206, 91, 184, 255} }}, - {{ {0, 185, 137}, 0, {-723, -949}, {0, 205, 140, 255} }}, - {{ {0, 209, 132}, 0, {-723, -723}, {0, 102, 180, 255} }}, - {{ {16, 144, 183}, 0, {-723, -723}, {50, 91, 184, 255} }}, - {{ {0, 185, 137}, 0, {-723, -949}, {0, 205, 140, 255} }}, - {{ {10, 191, 145}, 0, {-723, -723}, {123, 24, 236, 255} }}, - {{ {0, 153, 196}, 0, {-949, -723}, {0, 123, 223, 255} }}, - {{ {0, 166, 211}, 0, {-1092, -580}, {0, 122, 36, 255} }}, - {{ {-16, 144, 183}, 0, {-723, -723}, {206, 91, 184, 255} }}, - {{ {-36, 144, 183}, 0, {-580, -580}, {152, 58, 211, 255} }}, - {{ {0, 121, 155}, 0, {-580, -1092}, {0, 249, 129, 255} }}, - {{ {0, 134, 171}, 0, {-723, -949}, {0, 60, 144, 255} }}, - {{ {36, 144, 183}, 0, {-580, -580}, {104, 58, 211, 255} }}, - {{ {0, 131, 239}, 0, {-1092, -580}, {0, 7, 127, 255} }}, - {{ {-36, 109, 211}, 0, {-580, -580}, {152, 198, 45, 255} }}, - {{ {0, 86, 182}, 0, {-580, -1092}, {0, 134, 220, 255} }}, - {{ {36, 109, 211}, 0, {-580, -580}, {104, 198, 45, 255} }}, + {{ {41, 40, -264}, 0, {-580, -1092}, {130, 0, 12, 255} }}, + {{ {59, 58, -264}, 0, {-1092, -1092}, {0, 126, 12, 255} }}, + {{ {59, 67, -360}, 0, {-1092, -1092}, {0, 107, 187, 255} }}, + {{ {87, 40, -360}, 0, {-1092, -580}, {107, 0, 187, 255} }}, + {{ {78, 40, -264}, 0, {-1092, -580}, {126, 0, 12, 255} }}, + {{ {59, 12, -360}, 0, {-580, -580}, {0, 149, 187, 255} }}, + {{ {59, 21, -264}, 0, {-580, -580}, {0, 130, 12, 255} }}, + {{ {32, 40, -360}, 0, {-580, -1092}, {149, 0, 187, 255} }}, {{ {-7, 655, -216}, 0, {246, -836}, {202, 115, 0, 255} }}, {{ {0, 655, -208}, 0, {246, -908}, {0, 115, 54, 255} }}, {{ {0, 688, -208}, 0, {246, -908}, {0, 0, 127, 255} }}, {{ {7, 688, -216}, 0, {246, -836}, {127, 0, 0, 255} }}, + {{ {0, 655, -208}, 0, {246, -908}, {0, 115, 54, 255} }}, {{ {7, 655, -216}, 0, {246, -836}, {54, 115, 0, 255} }}, + {{ {7, 688, -216}, 0, {246, -836}, {127, 0, 0, 255} }}, {{ {0, 688, -223}, 0, {246, -764}, {221, 0, 134, 255} }}, {{ {0, 655, -223}, 0, {246, -764}, {0, 115, 202, 255} }}, {{ {-7, 688, -216}, 0, {246, -836}, {129, 0, 0, 255} }}, + {{ {-7, 655, -216}, 0, {246, -836}, {202, 115, 0, 255} }}, + {{ {0, 688, -208}, 0, {246, -908}, {0, 0, 127, 255} }}, {{ {0, 784, -208}, 0, {246, -908}, {0, 73, 104, 255} }}, {{ {7, 784, -216}, 0, {246, -836}, {104, 73, 0, 255} }}, {{ {0, 784, -223}, 0, {246, -764}, {201, 66, 162, 255} }}, {{ {-7, 784, -216}, 0, {246, -836}, {152, 73, 0, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_1[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_1 + 0, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 7, 5, 4, 0), - gsSP2Triangles(8, 7, 4, 0, 8, 4, 9, 0), - gsSP2Triangles(9, 4, 10, 0, 11, 8, 9, 0), - gsSP2Triangles(8, 11, 12, 0, 12, 11, 13, 0), - gsSP2Triangles(11, 9, 13, 0, 13, 9, 14, 0), - gsSP2Triangles(12, 13, 5, 0, 5, 13, 15, 0), - gsSP2Triangles(7, 12, 5, 0, 8, 12, 7, 0), - gsSP2Triangles(8, 16, 7, 0, 8, 17, 16, 0), - gsSP2Triangles(11, 17, 8, 0, 11, 18, 17, 0), - gsSP2Triangles(12, 18, 11, 0, 12, 19, 18, 0), - gsSP2Triangles(7, 19, 12, 0, 7, 16, 19, 0), - gsSP2Triangles(16, 20, 19, 0, 19, 21, 18, 0), - gsSP2Triangles(18, 22, 17, 0, 17, 23, 16, 0), - gsSP2Triangles(24, 25, 26, 0, 27, 25, 24, 0), - gsSP2Triangles(27, 24, 28, 0, 24, 26, 28, 0), - gsSP2Triangles(27, 28, 29, 0, 29, 28, 30, 0), - gsSP2Triangles(28, 31, 30, 0, 25, 30, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_1 + 32, 26, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), - gsSP2Triangles(0, 3, 4, 0, 5, 4, 3, 0), - gsSP2Triangles(5, 6, 4, 0, 7, 6, 5, 0), - gsSP2Triangles(7, 5, 8, 0, 5, 1, 8, 0), - gsSP2Triangles(0, 8, 1, 0, 8, 0, 9, 0), - gsSP2Triangles(0, 4, 9, 0, 10, 9, 4, 0), - gsSP2Triangles(10, 4, 6, 0, 10, 6, 11, 0), - gsSP2Triangles(11, 6, 7, 0, 11, 7, 12, 0), - gsSP2Triangles(13, 12, 7, 0, 13, 7, 9, 0), - gsSP2Triangles(8, 9, 7, 0, 10, 13, 9, 0), - gsSP2Triangles(13, 10, 12, 0, 11, 12, 10, 0), - gsSP2Triangles(14, 15, 16, 0, 15, 17, 16, 0), - gsSP2Triangles(15, 18, 17, 0, 18, 19, 17, 0), - gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), - gsSP2Triangles(20, 14, 21, 0, 14, 16, 21, 0), - gsSP2Triangles(21, 16, 22, 0, 16, 23, 22, 0), - gsSP2Triangles(16, 17, 23, 0, 17, 24, 23, 0), - gsSP2Triangles(17, 19, 24, 0, 19, 25, 24, 0), - gsSP2Triangles(19, 21, 25, 0, 21, 22, 25, 0), - gsSP2Triangles(22, 24, 25, 0, 22, 23, 24, 0), - gsSPEndDisplayList(), -}; - -Vtx ship1_Spaghetti_mesh_vtx_2[357] = { - {{ {0, 195, 133}, 0, {608, 355}, {0, 78, 100, 255} }}, - {{ {3, 195, 133}, 0, {666, 401}, {207, 72, 93, 255} }}, - {{ {3, 200, 128}, 0, {666, 401}, {227, 123, 249, 255} }}, - {{ {8, 203, 132}, 0, {683, 549}, {186, 98, 216, 255} }}, - {{ {8, 197, 137}, 0, {683, 549}, {139, 30, 38, 255} }}, - {{ {8, 207, 138}, 0, {591, 666}, {186, 63, 171, 255} }}, - {{ {8, 202, 142}, 0, {591, 666}, {139, 226, 218, 255} }}, - {{ {3, 210, 141}, 0, {443, 683}, {227, 38, 138, 255} }}, - {{ {3, 204, 146}, 0, {443, 683}, {207, 184, 163, 255} }}, - {{ {0, 210, 141}, 0, {384, 637}, {0, 16, 130, 255} }}, - {{ {0, 204, 146}, 0, {384, 637}, {0, 178, 156, 255} }}, - {{ {-3, 204, 146}, 0, {443, 683}, {49, 184, 163, 255} }}, - {{ {-3, 210, 141}, 0, {443, 683}, {29, 38, 138, 255} }}, - {{ {-8, 202, 142}, 0, {591, 666}, {117, 226, 218, 255} }}, - {{ {-8, 207, 138}, 0, {591, 666}, {70, 63, 171, 255} }}, - {{ {-8, 197, 137}, 0, {683, 549}, {117, 30, 38, 255} }}, - {{ {-8, 203, 132}, 0, {683, 549}, {70, 98, 216, 255} }}, - {{ {-3, 195, 133}, 0, {666, 401}, {49, 72, 93, 255} }}, - {{ {-3, 200, 128}, 0, {666, 401}, {29, 123, 249, 255} }}, - {{ {0, 200, 128}, 0, {608, 355}, {0, 126, 16, 255} }}, - {{ {7, 195, 122}, 0, {837, 306}, {38, 8, 135, 255} }}, - {{ {16, 201, 130}, 0, {871, 603}, {91, 40, 177, 255} }}, - {{ {16, 209, 140}, 0, {686, 837}, {91, 86, 237, 255} }}, - {{ {7, 215, 148}, 0, {389, 871}, {38, 119, 23, 255} }}, - {{ {0, 215, 148}, 0, {272, 778}, {0, 126, 16, 255} }}, - {{ {-7, 215, 148}, 0, {389, 871}, {218, 119, 23, 255} }}, - {{ {-16, 209, 140}, 0, {686, 837}, {165, 86, 237, 255} }}, - {{ {-16, 201, 130}, 0, {871, 603}, {165, 40, 177, 255} }}, - {{ {-7, 195, 122}, 0, {837, 306}, {218, 8, 135, 255} }}, - {{ {0, 195, 122}, 0, {720, 214}, {0, 16, 130, 255} }}, - {{ {7, 190, 126}, 0, {837, 306}, {39, 4, 135, 255} }}, - {{ {16, 195, 134}, 0, {871, 603}, {93, 37, 178, 255} }}, - {{ {16, 204, 145}, 0, {686, 837}, {93, 85, 239, 255} }}, - {{ {16, 195, 134}, 0, {871, 603}, {93, 37, 178, 255} }}, - {{ {16, 201, 130}, 0, {871, 603}, {91, 40, 177, 255} }}, - {{ {16, 209, 140}, 0, {686, 837}, {91, 86, 237, 255} }}, - {{ {7, 209, 152}, 0, {389, 871}, {39, 118, 26, 255} }}, - {{ {7, 215, 148}, 0, {389, 871}, {38, 119, 23, 255} }}, - {{ {0, 209, 152}, 0, {272, 778}, {0, 126, 16, 255} }}, - {{ {0, 215, 148}, 0, {272, 778}, {0, 126, 16, 255} }}, - {{ {-7, 215, 148}, 0, {389, 871}, {218, 119, 23, 255} }}, - {{ {-7, 209, 152}, 0, {389, 871}, {217, 118, 26, 255} }}, - {{ {-16, 209, 140}, 0, {686, 837}, {165, 86, 237, 255} }}, - {{ {-16, 204, 145}, 0, {686, 837}, {163, 85, 239, 255} }}, - {{ {-16, 201, 130}, 0, {871, 603}, {165, 40, 177, 255} }}, - {{ {-16, 195, 134}, 0, {871, 603}, {163, 37, 178, 255} }}, - {{ {-7, 195, 122}, 0, {837, 306}, {218, 8, 135, 255} }}, - {{ {-7, 190, 126}, 0, {837, 306}, {217, 4, 135, 255} }}, - {{ {0, 195, 122}, 0, {720, 214}, {0, 16, 130, 255} }}, - {{ {0, 190, 126}, 0, {720, 214}, {0, 16, 130, 255} }}, - {{ {7, 190, 126}, 0, {837, 306}, {39, 4, 135, 255} }}, - {{ {0, 159, 87}, 0, {1405, -651}, {0, 100, 178, 255} }}, - {{ {7, 164, 93}, 0, {1410, -418}, {23, 116, 209, 255} }}, - {{ {7, 180, 134}, 0, {837, 306}, {39, 138, 230, 255} }}, - {{ {36, 162, 111}, 0, {1754, 200}, {216, 166, 80, 255} }}, - {{ {36, 172, 103}, 0, {1754, 200}, {216, 100, 189, 255} }}, - {{ {50, 173, 105}, 0, {1962, 432}, {63, 95, 200, 255} }}, - {{ {46, 177, 111}, 0, {1788, 497}, {248, 120, 214, 255} }}, - {{ {16, 186, 141}, 0, {871, 603}, {93, 171, 17, 255} }}, - {{ {58, 186, 141}, 0, {1595, 1176}, {222, 147, 55, 255} }}, - {{ {58, 195, 134}, 0, {1595, 1176}, {222, 81, 164, 255} }}, - {{ {66, 202, 143}, 0, {1578, 1487}, {35, 120, 232, 255} }}, - {{ {58, 204, 145}, 0, {1410, 1410}, {222, 109, 201, 255} }}, - {{ {16, 194, 152}, 0, {686, 837}, {93, 219, 78, 255} }}, - {{ {46, 212, 175}, 0, {792, 1754}, {248, 136, 42, 255} }}, - {{ {16, 194, 152}, 0, {686, 837}, {93, 219, 78, 255} }}, - {{ {16, 204, 145}, 0, {686, 837}, {93, 85, 239, 255} }}, - {{ {46, 222, 168}, 0, {792, 1754}, {248, 70, 151, 255} }}, - {{ {7, 209, 152}, 0, {389, 871}, {39, 118, 26, 255} }}, - {{ {43, 230, 179}, 0, {560, 1962}, {242, 125, 239, 255} }}, - {{ {36, 227, 175}, 0, {495, 1788}, {216, 90, 176, 255} }}, - {{ {7, 200, 160}, 0, {389, 871}, {39, 252, 121, 255} }}, - {{ {7, 225, 193}, 0, {-184, 1595}, {23, 140, 47, 255} }}, - {{ {7, 235, 185}, 0, {-184, 1595}, {23, 74, 155, 255} }}, - {{ {0, 209, 152}, 0, {272, 778}, {0, 126, 16, 255} }}, - {{ {5, 240, 191}, 0, {-330, 1708}, {54, 108, 217, 255} }}, - {{ {0, 240, 191}, 0, {-413, 1643}, {0, 100, 178, 255} }}, - {{ {-7, 235, 185}, 0, {-184, 1595}, {233, 74, 155, 255} }}, - {{ {-7, 209, 152}, 0, {389, 871}, {217, 118, 26, 255} }}, - {{ {-7, 225, 193}, 0, {-184, 1595}, {233, 140, 47, 255} }}, - {{ {-7, 200, 160}, 0, {389, 871}, {217, 252, 121, 255} }}, - {{ {-36, 227, 175}, 0, {495, 1788}, {40, 90, 176, 255} }}, - {{ {-43, 230, 179}, 0, {560, 1962}, {14, 125, 239, 255} }}, - {{ {-46, 222, 168}, 0, {792, 1754}, {8, 70, 151, 255} }}, - {{ {-16, 204, 145}, 0, {686, 837}, {163, 85, 239, 255} }}, - {{ {-46, 212, 175}, 0, {792, 1754}, {8, 136, 42, 255} }}, - {{ {-16, 194, 152}, 0, {686, 837}, {163, 219, 78, 255} }}, - {{ {-58, 204, 145}, 0, {1410, 1410}, {34, 109, 201, 255} }}, - {{ {-66, 202, 143}, 0, {1578, 1487}, {221, 120, 232, 255} }}, - {{ {-58, 195, 134}, 0, {1595, 1176}, {34, 81, 164, 255} }}, - {{ {-16, 195, 134}, 0, {871, 603}, {163, 37, 178, 255} }}, - {{ {-58, 186, 141}, 0, {1595, 1176}, {34, 147, 55, 255} }}, - {{ {-16, 186, 141}, 0, {871, 603}, {163, 171, 17, 255} }}, - {{ {-46, 177, 111}, 0, {1788, 497}, {8, 120, 214, 255} }}, - {{ {-50, 173, 105}, 0, {1962, 432}, {193, 95, 200, 255} }}, - {{ {-36, 172, 103}, 0, {1754, 200}, {40, 100, 189, 255} }}, - {{ {-16, 195, 134}, 0, {871, 603}, {163, 37, 178, 255} }}, - {{ {-7, 190, 126}, 0, {837, 306}, {217, 4, 135, 255} }}, - {{ {-36, 172, 103}, 0, {1754, 200}, {40, 100, 189, 255} }}, - {{ {-36, 162, 111}, 0, {1754, 200}, {40, 166, 80, 255} }}, - {{ {-7, 180, 134}, 0, {837, 306}, {217, 138, 230, 255} }}, - {{ {-7, 164, 93}, 0, {1410, -418}, {233, 116, 209, 255} }}, - {{ {0, 190, 126}, 0, {720, 214}, {0, 16, 130, 255} }}, - {{ {0, 159, 87}, 0, {1405, -651}, {0, 100, 178, 255} }}, - {{ {-5, 159, 87}, 0, {1487, -586}, {202, 65, 161, 255} }}, - {{ {0, 145, 69}, 0, {1721, -1050}, {0, 67, 148, 255} }}, - {{ {5, 159, 87}, 0, {1487, -586}, {54, 65, 161, 255} }}, - {{ {7, 164, 93}, 0, {1410, -418}, {23, 116, 209, 255} }}, - {{ {43, 169, 100}, 0, {1938, 223}, {242, 48, 139, 255} }}, - {{ {36, 172, 103}, 0, {1754, 200}, {216, 100, 189, 255} }}, - {{ {7, 154, 101}, 0, {1410, -418}, {23, 182, 101, 255} }}, - {{ {7, 180, 134}, 0, {837, 306}, {39, 138, 230, 255} }}, - {{ {0, 180, 134}, 0, {720, 214}, {0, 130, 240, 255} }}, - {{ {7, 171, 140}, 0, {837, 306}, {38, 137, 233, 255} }}, - {{ {16, 177, 148}, 0, {871, 603}, {91, 170, 19, 255} }}, - {{ {16, 186, 141}, 0, {871, 603}, {93, 171, 17, 255} }}, - {{ {36, 162, 111}, 0, {1754, 200}, {216, 166, 80, 255} }}, - {{ {50, 163, 113}, 0, {1962, 432}, {63, 178, 78, 255} }}, - {{ {43, 159, 107}, 0, {1938, 223}, {242, 131, 17, 255} }}, - {{ {5, 149, 95}, 0, {1487, -586}, {54, 148, 39, 255} }}, - {{ {0, 149, 95}, 0, {1405, -651}, {0, 156, 78, 255} }}, - {{ {-7, 171, 140}, 0, {837, 306}, {218, 137, 233, 255} }}, - {{ {0, 171, 140}, 0, {720, 214}, {0, 130, 240, 255} }}, - {{ {0, 176, 147}, 0, {608, 355}, {0, 240, 126, 255} }}, - {{ {3, 176, 147}, 0, {666, 401}, {227, 218, 118, 255} }}, - {{ {8, 179, 151}, 0, {683, 549}, {186, 193, 85, 255} }}, - {{ {16, 185, 159}, 0, {686, 837}, {91, 216, 79, 255} }}, - {{ {16, 194, 152}, 0, {686, 837}, {93, 219, 78, 255} }}, - {{ {16, 194, 152}, 0, {686, 837}, {93, 219, 78, 255} }}, - {{ {16, 186, 141}, 0, {871, 603}, {93, 171, 17, 255} }}, - {{ {58, 186, 141}, 0, {1595, 1176}, {222, 147, 55, 255} }}, - {{ {66, 193, 151}, 0, {1578, 1487}, {35, 203, 110, 255} }}, - {{ {66, 187, 143}, 0, {1708, 1322}, {35, 136, 24, 255} }}, - {{ {46, 168, 118}, 0, {1788, 497}, {248, 186, 105, 255} }}, - {{ {58, 195, 134}, 0, {1595, 1176}, {222, 81, 164, 255} }}, - {{ {46, 177, 111}, 0, {1788, 497}, {248, 120, 214, 255} }}, - {{ {66, 197, 135}, 0, {1708, 1322}, {35, 53, 146, 255} }}, - {{ {66, 202, 143}, 0, {1578, 1487}, {35, 120, 232, 255} }}, - {{ {89, 196, 135}, 0, {2117, 1626}, {44, 15, 138, 255} }}, - {{ {89, 203, 144}, 0, {1966, 1816}, {44, 118, 15, 255} }}, - {{ {50, 216, 181}, 0, {769, 1938}, {63, 161, 56, 255} }}, - {{ {50, 226, 173}, 0, {769, 1938}, {63, 78, 178, 255} }}, - {{ {58, 204, 145}, 0, {1410, 1410}, {222, 109, 201, 255} }}, - {{ {46, 222, 168}, 0, {792, 1754}, {248, 70, 151, 255} }}, - {{ {58, 194, 152}, 0, {1410, 1410}, {222, 175, 92, 255} }}, - {{ {46, 212, 175}, 0, {792, 1754}, {248, 136, 42, 255} }}, - {{ {43, 220, 186}, 0, {560, 1962}, {242, 208, 117, 255} }}, - {{ {67, 226, 193}, 0, {844, 2441}, {91, 172, 29, 255} }}, - {{ {67, 236, 186}, 0, {844, 2441}, {91, 49, 182, 255} }}, - {{ {43, 230, 179}, 0, {560, 1962}, {242, 125, 239, 255} }}, - {{ {59, 240, 192}, 0, {602, 2469}, {228, 122, 20, 255} }}, - {{ {5, 230, 199}, 0, {-330, 1708}, {54, 191, 95, 255} }}, - {{ {5, 240, 191}, 0, {-330, 1708}, {54, 108, 217, 255} }}, - {{ {36, 227, 175}, 0, {495, 1788}, {216, 90, 176, 255} }}, - {{ {7, 235, 185}, 0, {-184, 1595}, {23, 74, 155, 255} }}, - {{ {36, 218, 183}, 0, {495, 1788}, {216, 156, 67, 255} }}, - {{ {7, 200, 160}, 0, {389, 871}, {39, 252, 121, 255} }}, - {{ {7, 191, 166}, 0, {389, 871}, {38, 248, 121, 255} }}, - {{ {0, 191, 166}, 0, {272, 778}, {0, 240, 126, 255} }}, - {{ {0, 200, 160}, 0, {272, 778}, {0, 240, 126, 255} }}, - {{ {0, 200, 160}, 0, {272, 778}, {0, 240, 126, 255} }}, - {{ {7, 200, 160}, 0, {389, 871}, {39, 252, 121, 255} }}, - {{ {7, 225, 193}, 0, {-184, 1595}, {23, 140, 47, 255} }}, - {{ {0, 230, 199}, 0, {-413, 1643}, {0, 156, 78, 255} }}, - {{ {5, 230, 199}, 0, {-330, 1708}, {54, 191, 95, 255} }}, - {{ {36, 218, 183}, 0, {495, 1788}, {216, 156, 67, 255} }}, - {{ {7, 235, 185}, 0, {-184, 1595}, {23, 74, 155, 255} }}, - {{ {43, 220, 186}, 0, {560, 1962}, {242, 208, 117, 255} }}, - {{ {58, 194, 152}, 0, {1410, 1410}, {222, 175, 92, 255} }}, - {{ {46, 212, 175}, 0, {792, 1754}, {248, 136, 42, 255} }}, - {{ {46, 222, 168}, 0, {792, 1754}, {248, 70, 151, 255} }}, - {{ {16, 186, 141}, 0, {871, 603}, {93, 171, 17, 255} }}, - {{ {46, 168, 118}, 0, {1788, 497}, {248, 186, 105, 255} }}, - {{ {46, 177, 111}, 0, {1788, 497}, {248, 120, 214, 255} }}, - {{ {50, 163, 113}, 0, {1962, 432}, {63, 178, 78, 255} }}, - {{ {66, 187, 143}, 0, {1708, 1322}, {35, 136, 24, 255} }}, - {{ {50, 173, 105}, 0, {1962, 432}, {63, 95, 200, 255} }}, - {{ {67, 163, 93}, 0, {2469, 390}, {91, 84, 227, 255} }}, - {{ {67, 154, 100}, 0, {2469, 390}, {91, 207, 74, 255} }}, - {{ {59, 149, 94}, 0, {2441, 148}, {228, 134, 236, 255} }}, - {{ {43, 159, 107}, 0, {1938, 223}, {242, 131, 17, 255} }}, - {{ {43, 169, 100}, 0, {1938, 223}, {242, 48, 139, 255} }}, - {{ {5, 159, 87}, 0, {1487, -586}, {54, 65, 161, 255} }}, - {{ {5, 149, 95}, 0, {1487, -586}, {54, 148, 39, 255} }}, - {{ {5, 145, 69}, 0, {1816, -974}, {84, 39, 170, 255} }}, - {{ {5, 135, 76}, 0, {1816, -974}, {84, 163, 16, 255} }}, - {{ {0, 135, 76}, 0, {1721, -1050}, {0, 135, 38, 255} }}, - {{ {0, 149, 95}, 0, {1405, -651}, {0, 156, 78, 255} }}, - {{ {-5, 149, 95}, 0, {1487, -586}, {202, 148, 39, 255} }}, - {{ {-7, 154, 101}, 0, {1410, -418}, {233, 182, 101, 255} }}, - {{ {-7, 180, 134}, 0, {837, 306}, {217, 138, 230, 255} }}, - {{ {-7, 164, 93}, 0, {1410, -418}, {233, 116, 209, 255} }}, - {{ {-7, 154, 101}, 0, {1410, -418}, {233, 182, 101, 255} }}, - {{ {-7, 164, 93}, 0, {1410, -418}, {233, 116, 209, 255} }}, - {{ {-36, 172, 103}, 0, {1754, 200}, {40, 100, 189, 255} }}, - {{ {-43, 169, 100}, 0, {1938, 223}, {14, 48, 139, 255} }}, - {{ {-5, 159, 87}, 0, {1487, -586}, {202, 65, 161, 255} }}, - {{ {-43, 159, 107}, 0, {1938, 223}, {14, 131, 17, 255} }}, - {{ {-5, 149, 95}, 0, {1487, -586}, {202, 148, 39, 255} }}, - {{ {-5, 145, 69}, 0, {1816, -974}, {172, 39, 170, 255} }}, - {{ {0, 145, 69}, 0, {1721, -1050}, {0, 67, 148, 255} }}, - {{ {0, 136, 67}, 0, {1819, -1174}, {0, 178, 156, 255} }}, - {{ {5, 145, 69}, 0, {1816, -974}, {84, 39, 170, 255} }}, - {{ {5, 159, 87}, 0, {1487, -586}, {54, 65, 161, 255} }}, - {{ {5, 135, 76}, 0, {1816, -974}, {84, 163, 16, 255} }}, - {{ {0, 135, 76}, 0, {1721, -1050}, {0, 135, 38, 255} }}, - {{ {-5, 135, 76}, 0, {1816, -974}, {172, 163, 16, 255} }}, - {{ {16, 194, 152}, 0, {686, 837}, {93, 219, 78, 255} }}, - {{ {7, 191, 166}, 0, {389, 871}, {38, 248, 121, 255} }}, - {{ {16, 185, 159}, 0, {686, 837}, {91, 216, 79, 255} }}, - {{ {8, 183, 156}, 0, {591, 666}, {186, 158, 40, 255} }}, - {{ {3, 186, 160}, 0, {443, 683}, {227, 133, 7, 255} }}, - {{ {0, 191, 166}, 0, {272, 778}, {0, 240, 126, 255} }}, - {{ {0, 186, 160}, 0, {384, 637}, {0, 130, 240, 255} }}, - {{ {-3, 186, 160}, 0, {443, 683}, {29, 133, 7, 255} }}, - {{ {-7, 191, 166}, 0, {389, 871}, {218, 248, 121, 255} }}, - {{ {-7, 200, 160}, 0, {389, 871}, {217, 252, 121, 255} }}, - {{ {0, 200, 160}, 0, {272, 778}, {0, 240, 126, 255} }}, - {{ {-7, 225, 193}, 0, {-184, 1595}, {233, 140, 47, 255} }}, - {{ {-5, 230, 199}, 0, {-330, 1708}, {202, 191, 95, 255} }}, - {{ {0, 230, 199}, 0, {-413, 1643}, {0, 156, 78, 255} }}, - {{ {-5, 244, 217}, 0, {-634, 2117}, {172, 217, 86, 255} }}, - {{ {0, 244, 217}, 0, {-729, 2042}, {0, 189, 108, 255} }}, - {{ {5, 244, 217}, 0, {-634, 2117}, {84, 217, 86, 255} }}, - {{ {5, 244, 217}, 0, {-634, 2117}, {84, 217, 86, 255} }}, - {{ {0, 230, 199}, 0, {-413, 1643}, {0, 156, 78, 255} }}, - {{ {5, 230, 199}, 0, {-330, 1708}, {54, 191, 95, 255} }}, - {{ {5, 240, 191}, 0, {-330, 1708}, {54, 108, 217, 255} }}, - {{ {5, 254, 210}, 0, {-634, 2117}, {84, 93, 240, 255} }}, - {{ {0, 240, 191}, 0, {-413, 1643}, {0, 100, 178, 255} }}, - {{ {0, 254, 210}, 0, {-729, 2042}, {0, 121, 218, 255} }}, - {{ {-5, 254, 210}, 0, {-634, 2117}, {172, 93, 240, 255} }}, - {{ {-5, 240, 191}, 0, {-330, 1708}, {202, 108, 217, 255} }}, - {{ {-7, 235, 185}, 0, {-184, 1595}, {233, 74, 155, 255} }}, - {{ {-36, 227, 175}, 0, {495, 1788}, {40, 90, 176, 255} }}, - {{ {-36, 218, 183}, 0, {495, 1788}, {40, 156, 67, 255} }}, - {{ {-7, 225, 193}, 0, {-184, 1595}, {233, 140, 47, 255} }}, - {{ {-5, 230, 199}, 0, {-330, 1708}, {202, 191, 95, 255} }}, - {{ {-43, 220, 186}, 0, {560, 1962}, {14, 208, 117, 255} }}, - {{ {-43, 230, 179}, 0, {560, 1962}, {14, 125, 239, 255} }}, - {{ {-5, 244, 217}, 0, {-634, 2117}, {172, 217, 86, 255} }}, - {{ {0, 253, 219}, 0, {-827, 2166}, {0, 78, 100, 255} }}, - {{ {0, 244, 217}, 0, {-729, 2042}, {0, 189, 108, 255} }}, - {{ {16, 185, 159}, 0, {686, 837}, {91, 216, 79, 255} }}, - {{ {8, 183, 156}, 0, {591, 666}, {186, 158, 40, 255} }}, - {{ {8, 179, 151}, 0, {683, 549}, {186, 193, 85, 255} }}, - {{ {-7, 154, 101}, 0, {1410, -418}, {233, 182, 101, 255} }}, - {{ {-36, 172, 103}, 0, {1754, 200}, {40, 100, 189, 255} }}, - {{ {-36, 162, 111}, 0, {1754, 200}, {40, 166, 80, 255} }}, - {{ {-43, 159, 107}, 0, {1938, 223}, {14, 131, 17, 255} }}, - {{ {-50, 163, 113}, 0, {1962, 432}, {193, 178, 78, 255} }}, - {{ {-16, 186, 141}, 0, {871, 603}, {163, 171, 17, 255} }}, - {{ {-7, 180, 134}, 0, {837, 306}, {217, 138, 230, 255} }}, - {{ {-16, 177, 148}, 0, {871, 603}, {165, 170, 19, 255} }}, - {{ {-7, 171, 140}, 0, {837, 306}, {218, 137, 233, 255} }}, - {{ {-3, 176, 147}, 0, {666, 401}, {29, 218, 118, 255} }}, - {{ {-7, 171, 140}, 0, {837, 306}, {218, 137, 233, 255} }}, - {{ {0, 176, 147}, 0, {608, 355}, {0, 240, 126, 255} }}, - {{ {-3, 176, 147}, 0, {666, 401}, {29, 218, 118, 255} }}, - {{ {0, 171, 140}, 0, {720, 214}, {0, 130, 240, 255} }}, - {{ {-16, 177, 148}, 0, {871, 603}, {165, 170, 19, 255} }}, - {{ {-8, 179, 151}, 0, {683, 549}, {70, 193, 85, 255} }}, - {{ {-16, 185, 159}, 0, {686, 837}, {165, 216, 79, 255} }}, - {{ {-8, 183, 156}, 0, {591, 666}, {70, 158, 40, 255} }}, - {{ {-7, 191, 166}, 0, {389, 871}, {218, 248, 121, 255} }}, - {{ {-3, 186, 160}, 0, {443, 683}, {29, 133, 7, 255} }}, - {{ {-16, 194, 152}, 0, {686, 837}, {163, 219, 78, 255} }}, - {{ {-16, 186, 141}, 0, {871, 603}, {163, 171, 17, 255} }}, - {{ {-58, 186, 141}, 0, {1595, 1176}, {34, 147, 55, 255} }}, - {{ {-66, 193, 151}, 0, {1578, 1487}, {221, 203, 110, 255} }}, - {{ {-58, 194, 152}, 0, {1410, 1410}, {34, 175, 92, 255} }}, - {{ {-58, 204, 145}, 0, {1410, 1410}, {34, 109, 201, 255} }}, - {{ {-46, 222, 168}, 0, {792, 1754}, {8, 70, 151, 255} }}, - {{ {-50, 226, 173}, 0, {769, 1938}, {193, 78, 178, 255} }}, - {{ {-66, 202, 143}, 0, {1578, 1487}, {221, 120, 232, 255} }}, - {{ {-50, 216, 181}, 0, {769, 1938}, {193, 161, 56, 255} }}, - {{ {-89, 203, 144}, 0, {1966, 1816}, {212, 118, 15, 255} }}, - {{ {-89, 196, 135}, 0, {2117, 1626}, {212, 15, 138, 255} }}, - {{ {-66, 197, 135}, 0, {1708, 1322}, {221, 53, 146, 255} }}, - {{ {-58, 195, 134}, 0, {1595, 1176}, {34, 81, 164, 255} }}, - {{ {-46, 177, 111}, 0, {1788, 497}, {8, 120, 214, 255} }}, - {{ {-46, 168, 118}, 0, {1788, 497}, {8, 186, 105, 255} }}, - {{ {-66, 187, 143}, 0, {1708, 1322}, {221, 136, 24, 255} }}, - {{ {-89, 186, 142}, 0, {2117, 1626}, {212, 138, 241, 255} }}, - {{ {-89, 193, 151}, 0, {1966, 1816}, {212, 241, 118, 255} }}, - {{ {-96, 195, 143}, 0, {2166, 1819}, {129, 0, 0, 255} }}, - {{ {-50, 173, 105}, 0, {1962, 432}, {193, 95, 200, 255} }}, - {{ {-50, 163, 113}, 0, {1962, 432}, {193, 178, 78, 255} }}, - {{ {-50, 163, 113}, 0, {1962, 432}, {193, 178, 78, 255} }}, - {{ {-50, 173, 105}, 0, {1962, 432}, {193, 95, 200, 255} }}, - {{ {-67, 163, 93}, 0, {2469, 390}, {165, 84, 227, 255} }}, - {{ {-59, 159, 86}, 0, {2441, 148}, {28, 11, 133, 255} }}, - {{ {-43, 169, 100}, 0, {1938, 223}, {14, 48, 139, 255} }}, - {{ {-36, 172, 103}, 0, {1754, 200}, {40, 100, 189, 255} }}, - {{ {-59, 149, 94}, 0, {2441, 148}, {28, 134, 236, 255} }}, - {{ {-68, 153, 89}, 0, {2613, 251}, {166, 201, 185, 255} }}, - {{ {-67, 154, 100}, 0, {2469, 390}, {165, 207, 74, 255} }}, - {{ {-43, 159, 107}, 0, {1938, 223}, {14, 131, 17, 255} }}, - {{ {-89, 186, 142}, 0, {2117, 1626}, {212, 138, 241, 255} }}, - {{ {-89, 193, 151}, 0, {1966, 1816}, {212, 241, 118, 255} }}, - {{ {-96, 195, 143}, 0, {2166, 1819}, {129, 0, 0, 255} }}, - {{ {-16, 186, 141}, 0, {871, 603}, {163, 171, 17, 255} }}, - {{ {-16, 177, 148}, 0, {871, 603}, {165, 170, 19, 255} }}, - {{ {-16, 185, 159}, 0, {686, 837}, {165, 216, 79, 255} }}, - {{ {-5, 149, 95}, 0, {1487, -586}, {202, 148, 39, 255} }}, - {{ {-7, 154, 101}, 0, {1410, -418}, {233, 182, 101, 255} }}, - {{ {-58, 194, 152}, 0, {1410, 1410}, {34, 175, 92, 255} }}, - {{ {-46, 222, 168}, 0, {792, 1754}, {8, 70, 151, 255} }}, - {{ {-46, 212, 175}, 0, {792, 1754}, {8, 136, 42, 255} }}, - {{ {-50, 216, 181}, 0, {769, 1938}, {193, 161, 56, 255} }}, - {{ {-43, 220, 186}, 0, {560, 1962}, {14, 208, 117, 255} }}, - {{ {-7, 200, 160}, 0, {389, 871}, {217, 252, 121, 255} }}, - {{ {-16, 194, 152}, 0, {686, 837}, {163, 219, 78, 255} }}, - {{ {-7, 191, 166}, 0, {389, 871}, {218, 248, 121, 255} }}, - {{ {-36, 218, 183}, 0, {495, 1788}, {40, 156, 67, 255} }}, - {{ {-36, 227, 175}, 0, {495, 1788}, {40, 90, 176, 255} }}, - {{ {-66, 193, 151}, 0, {1578, 1487}, {221, 203, 110, 255} }}, - {{ {-46, 177, 111}, 0, {1788, 497}, {8, 120, 214, 255} }}, - {{ {-46, 168, 118}, 0, {1788, 497}, {8, 186, 105, 255} }}, - {{ {-66, 187, 143}, 0, {1708, 1322}, {221, 136, 24, 255} }}, - {{ {66, 197, 135}, 0, {1708, 1322}, {35, 53, 146, 255} }}, - {{ {50, 173, 105}, 0, {1962, 432}, {63, 95, 200, 255} }}, - {{ {46, 177, 111}, 0, {1788, 497}, {248, 120, 214, 255} }}, - {{ {66, 187, 143}, 0, {1708, 1322}, {35, 136, 24, 255} }}, - {{ {89, 186, 142}, 0, {2117, 1626}, {44, 138, 241, 255} }}, - {{ {89, 196, 135}, 0, {2117, 1626}, {44, 15, 138, 255} }}, - {{ {96, 195, 143}, 0, {2166, 1819}, {127, 0, 0, 255} }}, - {{ {89, 203, 144}, 0, {1966, 1816}, {44, 118, 15, 255} }}, - {{ {89, 193, 151}, 0, {1966, 1816}, {44, 241, 118, 255} }}, - {{ {66, 193, 151}, 0, {1578, 1487}, {35, 203, 110, 255} }}, - {{ {43, 169, 100}, 0, {1938, 223}, {242, 48, 139, 255} }}, - {{ {36, 172, 103}, 0, {1754, 200}, {216, 100, 189, 255} }}, - {{ {59, 159, 86}, 0, {2441, 148}, {228, 11, 133, 255} }}, - {{ {67, 163, 93}, 0, {2469, 390}, {91, 84, 227, 255} }}, - {{ {68, 153, 89}, 0, {2613, 251}, {90, 201, 185, 255} }}, - {{ {67, 154, 100}, 0, {2469, 390}, {91, 207, 74, 255} }}, - {{ {59, 149, 94}, 0, {2441, 148}, {228, 134, 236, 255} }}, - {{ {-46, 222, 168}, 0, {792, 1754}, {8, 70, 151, 255} }}, - {{ {-50, 226, 173}, 0, {769, 1938}, {193, 78, 178, 255} }}, - {{ {-43, 230, 179}, 0, {560, 1962}, {14, 125, 239, 255} }}, - {{ {-67, 236, 186}, 0, {844, 2441}, {165, 49, 182, 255} }}, - {{ {-67, 226, 193}, 0, {844, 2441}, {165, 172, 29, 255} }}, - {{ {-50, 216, 181}, 0, {769, 1938}, {193, 161, 56, 255} }}, - {{ {-43, 220, 186}, 0, {560, 1962}, {14, 208, 117, 255} }}, - {{ {-59, 231, 200}, 0, {602, 2469}, {28, 245, 123, 255} }}, - {{ {-59, 240, 192}, 0, {602, 2469}, {28, 122, 20, 255} }}, - {{ {-68, 236, 197}, 0, {741, 2613}, {166, 55, 71, 255} }}, - {{ {43, 220, 186}, 0, {560, 1962}, {242, 208, 117, 255} }}, - {{ {67, 226, 193}, 0, {844, 2441}, {91, 172, 29, 255} }}, - {{ {59, 231, 200}, 0, {602, 2469}, {228, 245, 123, 255} }}, - {{ {68, 236, 197}, 0, {741, 2613}, {90, 55, 71, 255} }}, - {{ {67, 236, 186}, 0, {844, 2441}, {91, 49, 182, 255} }}, - {{ {67, 236, 186}, 0, {844, 2441}, {91, 49, 182, 255} }}, - {{ {59, 240, 192}, 0, {602, 2469}, {228, 122, 20, 255} }}, - {{ {68, 236, 197}, 0, {741, 2613}, {90, 55, 71, 255} }}, - {{ {59, 231, 200}, 0, {602, 2469}, {228, 245, 123, 255} }}, - {{ {43, 220, 186}, 0, {560, 1962}, {242, 208, 117, 255} }}, -}; - -Gfx ship1_Spaghetti_mesh_tri_2[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 0, 32, 0), +Gfx ship1_spag1_003_mesh_tri_1[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_1 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 0, 5, 0), + gsSP2Triangles(5, 0, 6, 0, 7, 4, 5, 0), + gsSP2Triangles(4, 7, 8, 0, 8, 7, 9, 0), + gsSP2Triangles(7, 5, 9, 0, 9, 5, 10, 0), + gsSP2Triangles(8, 9, 1, 0, 1, 9, 11, 0), + gsSP2Triangles(3, 8, 1, 0, 4, 8, 3, 0), + gsSP2Triangles(4, 12, 3, 0, 4, 13, 12, 0), + gsSP2Triangles(7, 13, 4, 0, 7, 14, 13, 0), + gsSP2Triangles(8, 14, 7, 0, 8, 15, 14, 0), + gsSP2Triangles(3, 15, 8, 0, 3, 12, 15, 0), + gsSP2Triangles(12, 16, 15, 0, 15, 17, 14, 0), + gsSP2Triangles(14, 18, 13, 0, 13, 19, 12, 0), + gsSP2Triangles(20, 21, 22, 0, 21, 23, 22, 0), + gsSP2Triangles(21, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(26, 20, 27, 0, 20, 22, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_1 + 32, 12, 0), gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), - gsSP2Triangles(8, 10, 9, 0, 11, 9, 10, 0), - gsSP2Triangles(11, 12, 9, 0, 13, 12, 11, 0), - gsSP2Triangles(13, 14, 12, 0, 15, 14, 13, 0), - gsSP2Triangles(15, 16, 14, 0, 17, 16, 15, 0), - gsSP2Triangles(17, 18, 16, 0, 0, 18, 17, 0), - gsSP2Triangles(0, 19, 18, 0, 0, 2, 19, 0), - gsSP2Triangles(20, 19, 2, 0, 21, 20, 2, 0), - gsSP2Triangles(21, 2, 3, 0, 22, 21, 3, 0), - gsSP2Triangles(22, 3, 5, 0, 23, 22, 5, 0), - gsSP2Triangles(23, 5, 7, 0, 24, 23, 7, 0), - gsSP2Triangles(24, 7, 9, 0, 24, 9, 12, 0), - gsSP2Triangles(24, 12, 25, 0, 25, 12, 14, 0), - gsSP2Triangles(25, 14, 26, 0, 26, 14, 16, 0), - gsSP2Triangles(26, 16, 27, 0, 27, 16, 18, 0), - gsSP2Triangles(27, 18, 28, 0, 28, 18, 19, 0), - gsSP2Triangles(28, 19, 29, 0, 20, 29, 19, 0), - gsSP2Triangles(30, 29, 20, 0, 31, 30, 20, 0), - gsSP1Triangle(31, 20, 21, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 32, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), - gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), - gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), - gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0), - gsSP2Triangles(11, 10, 12, 0, 11, 12, 13, 0), - gsSP2Triangles(13, 12, 14, 0, 13, 14, 15, 0), - gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), - gsSP2Triangles(18, 17, 16, 0, 19, 17, 18, 0), - gsSP2Triangles(19, 18, 20, 0, 21, 20, 18, 0), - gsSP2Triangles(22, 21, 18, 0, 22, 18, 23, 0), - gsSP2Triangles(23, 18, 1, 0, 1, 24, 23, 0), - gsSP2Triangles(1, 25, 24, 0, 26, 25, 1, 0), - gsSP2Triangles(27, 26, 1, 0, 27, 1, 28, 0), - gsSP2Triangles(28, 1, 0, 0, 0, 29, 28, 0), - gsSP2Triangles(0, 30, 29, 0, 31, 30, 0, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 64, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(3, 2, 4, 0, 4, 5, 3, 0), - gsSP2Triangles(4, 6, 5, 0, 7, 6, 4, 0), - gsSP2Triangles(8, 7, 4, 0, 8, 4, 9, 0), - gsSP2Triangles(9, 4, 10, 0, 10, 11, 9, 0), - gsSP2Triangles(10, 12, 11, 0, 13, 12, 10, 0), - gsSP2Triangles(10, 14, 13, 0, 15, 13, 14, 0), - gsSP2Triangles(15, 14, 16, 0, 16, 14, 17, 0), - gsSP2Triangles(18, 17, 14, 0, 19, 18, 14, 0), - gsSP2Triangles(14, 20, 19, 0, 21, 19, 20, 0), - gsSP2Triangles(21, 20, 22, 0, 22, 20, 23, 0), - gsSP2Triangles(24, 23, 20, 0, 25, 24, 20, 0), - gsSP2Triangles(20, 26, 25, 0, 27, 25, 26, 0), - gsSP2Triangles(27, 26, 28, 0, 28, 26, 29, 0), - gsSP2Triangles(30, 29, 26, 0, 31, 30, 26, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 96, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(3, 1, 4, 0, 4, 1, 5, 0), - gsSP2Triangles(5, 1, 6, 0, 5, 6, 7, 0), - gsSP2Triangles(7, 8, 5, 0, 9, 8, 7, 0), - gsSP2Triangles(9, 7, 10, 0, 11, 10, 7, 0), - gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), - gsSP2Triangles(14, 13, 11, 0, 15, 14, 11, 0), - gsSP2Triangles(14, 15, 16, 0, 16, 15, 17, 0), - gsSP2Triangles(15, 18, 17, 0, 15, 19, 18, 0), - gsSP2Triangles(19, 15, 20, 0, 20, 21, 19, 0), - gsSP2Triangles(20, 22, 21, 0, 22, 20, 14, 0), - gsSP2Triangles(14, 20, 13, 0, 22, 14, 23, 0), - gsSP2Triangles(24, 23, 14, 0, 14, 16, 24, 0), - gsSP2Triangles(24, 16, 4, 0, 16, 25, 4, 0), - gsSP2Triangles(16, 26, 25, 0, 16, 17, 26, 0), - gsSP2Triangles(17, 27, 26, 0, 17, 28, 27, 0), - gsSP2Triangles(18, 28, 17, 0, 18, 29, 28, 0), - gsSP2Triangles(30, 29, 18, 0, 19, 30, 18, 0), - gsSP1Triangle(19, 31, 30, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 128, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), - gsSP2Triangles(2, 4, 3, 0, 4, 2, 5, 0), - gsSP2Triangles(5, 2, 6, 0, 5, 6, 7, 0), - gsSP2Triangles(8, 7, 6, 0, 9, 8, 6, 0), - gsSP2Triangles(10, 8, 9, 0, 10, 9, 11, 0), - gsSP2Triangles(3, 11, 9, 0, 12, 3, 9, 0), - gsSP2Triangles(12, 9, 13, 0, 13, 9, 14, 0), - gsSP2Triangles(13, 14, 15, 0, 16, 15, 14, 0), - gsSP2Triangles(0, 16, 14, 0, 3, 16, 0, 0), - gsSP2Triangles(12, 16, 3, 0, 12, 17, 16, 0), - gsSP2Triangles(17, 12, 18, 0, 18, 12, 19, 0), - gsSP2Triangles(19, 12, 13, 0, 19, 13, 20, 0), - gsSP2Triangles(21, 20, 13, 0, 21, 13, 15, 0), - gsSP2Triangles(21, 22, 20, 0, 18, 22, 21, 0), - gsSP2Triangles(23, 18, 21, 0, 23, 21, 24, 0), - gsSP2Triangles(24, 21, 25, 0, 24, 25, 26, 0), - gsSP2Triangles(27, 26, 25, 0, 28, 27, 25, 0), - gsSP2Triangles(18, 27, 28, 0, 17, 18, 28, 0), - gsSP2Triangles(28, 0, 17, 0, 0, 28, 29, 0), - gsSP2Triangles(28, 30, 29, 0, 28, 31, 30, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 160, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), - gsSP2Triangles(2, 4, 3, 0, 4, 2, 5, 0), - gsSP2Triangles(5, 2, 6, 0, 4, 5, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 11, 12, 13, 0), - gsSP2Triangles(14, 12, 11, 0, 15, 12, 14, 0), - gsSP2Triangles(15, 14, 16, 0, 14, 17, 16, 0), - gsSP2Triangles(14, 18, 17, 0, 19, 18, 14, 0), - gsSP2Triangles(19, 14, 20, 0, 19, 20, 21, 0), - gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), - gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), - gsSP2Triangles(26, 25, 23, 0, 26, 23, 27, 0), - gsSP2Triangles(26, 27, 28, 0, 29, 28, 27, 0), - gsSP2Triangles(27, 30, 29, 0, 30, 31, 29, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 192, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(3, 1, 4, 0, 5, 3, 4, 0), - gsSP2Triangles(5, 4, 6, 0, 6, 4, 7, 0), - gsSP2Triangles(8, 7, 4, 0, 8, 9, 7, 0), - gsSP2Triangles(8, 10, 9, 0, 8, 11, 10, 0), - gsSP2Triangles(12, 9, 10, 0, 9, 12, 13, 0), - gsSP2Triangles(9, 13, 14, 0, 13, 6, 14, 0), - gsSP2Triangles(6, 7, 14, 0, 14, 7, 9, 0), - gsSP2Triangles(15, 16, 17, 0, 16, 18, 17, 0), - gsSP2Triangles(16, 19, 18, 0, 20, 19, 16, 0), - gsSP2Triangles(20, 21, 19, 0, 20, 22, 21, 0), - gsSP2Triangles(20, 23, 22, 0, 24, 23, 20, 0), - gsSP2Triangles(24, 20, 25, 0, 26, 24, 25, 0), - gsSP2Triangles(25, 27, 26, 0, 25, 28, 27, 0), - gsSP2Triangles(29, 27, 28, 0, 29, 28, 30, 0), - gsSP1Triangle(31, 30, 28, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 224, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(0, 3, 4, 0, 4, 3, 5, 0), - gsSP2Triangles(4, 5, 6, 0, 7, 6, 5, 0), - gsSP2Triangles(7, 5, 8, 0, 9, 8, 5, 0), - gsSP2Triangles(8, 9, 10, 0, 11, 10, 9, 0), - gsSP2Triangles(11, 9, 12, 0, 13, 11, 12, 0), - gsSP2Triangles(13, 14, 11, 0, 13, 15, 14, 0), - gsSP2Triangles(13, 8, 15, 0, 16, 8, 13, 0), - gsSP2Triangles(16, 7, 8, 0, 17, 7, 16, 0), - gsSP2Triangles(16, 18, 17, 0, 0, 17, 18, 0), - gsSP2Triangles(17, 0, 4, 0, 4, 6, 17, 0), - gsSP2Triangles(7, 17, 6, 0, 8, 10, 15, 0), - gsSP2Triangles(19, 20, 21, 0, 22, 23, 24, 0), - gsSP2Triangles(25, 22, 24, 0, 26, 25, 24, 0), - gsSP2Triangles(27, 26, 24, 0, 24, 28, 27, 0), - gsSP2Triangles(28, 29, 27, 0, 28, 30, 29, 0), - gsSP1Triangle(29, 30, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 256, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 2, 5, 0, 6, 4, 5, 0), - gsSP2Triangles(6, 5, 7, 0, 8, 6, 7, 0), - gsSP2Triangles(8, 7, 9, 0, 10, 6, 8, 0), - gsSP2Triangles(11, 6, 10, 0, 12, 11, 10, 0), - gsSP2Triangles(10, 13, 12, 0, 10, 14, 13, 0), - gsSP2Triangles(10, 15, 14, 0, 14, 15, 16, 0), - gsSP2Triangles(17, 16, 15, 0, 17, 15, 18, 0), - gsSP2Triangles(19, 17, 18, 0, 19, 18, 13, 0), - gsSP2Triangles(13, 18, 20, 0, 21, 20, 18, 0), - gsSP2Triangles(21, 18, 22, 0, 23, 22, 18, 0), - gsSP2Triangles(22, 23, 24, 0, 25, 24, 23, 0), - gsSP2Triangles(25, 23, 12, 0, 26, 25, 12, 0), - gsSP2Triangles(13, 26, 12, 0, 27, 26, 13, 0), - gsSP2Triangles(27, 13, 28, 0, 13, 20, 28, 0), - gsSP2Triangles(28, 20, 29, 0, 21, 29, 20, 0), - gsSP2Triangles(29, 21, 27, 0, 27, 21, 22, 0), - gsSP2Triangles(27, 22, 26, 0, 26, 22, 30, 0), - gsSP2Triangles(22, 24, 30, 0, 26, 30, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 288, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(3, 1, 4, 0, 5, 4, 1, 0), - gsSP2Triangles(6, 3, 4, 0, 7, 3, 6, 0), - gsSP2Triangles(6, 8, 7, 0, 6, 0, 8, 0), - gsSP2Triangles(6, 9, 0, 0, 6, 4, 9, 0), - gsSP2Triangles(0, 2, 8, 0, 8, 2, 7, 0), - gsSP2Triangles(3, 7, 2, 0, 10, 11, 12, 0), - gsSP2Triangles(13, 14, 15, 0, 9, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 18, 20, 0), - gsSP2Triangles(22, 21, 20, 0, 23, 22, 20, 0), - gsSP2Triangles(20, 24, 23, 0, 24, 25, 23, 0), - gsSP2Triangles(23, 26, 22, 0, 23, 27, 26, 0), - gsSP2Triangles(21, 28, 18, 0, 13, 29, 30, 0), - gsSP2Triangles(13, 30, 0, 0, 31, 0, 30, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 320, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 0, 5, 0), - gsSP2Triangles(6, 4, 5, 0, 5, 7, 6, 0), - gsSP2Triangles(8, 6, 7, 0, 9, 8, 7, 0), - gsSP2Triangles(4, 8, 9, 0, 4, 9, 3, 0), - gsSP2Triangles(4, 6, 8, 0, 1, 10, 11, 0), - gsSP2Triangles(12, 10, 1, 0, 12, 1, 13, 0), - gsSP2Triangles(12, 13, 14, 0, 15, 14, 13, 0), - gsSP2Triangles(16, 14, 15, 0, 14, 16, 12, 0), - gsSP2Triangles(16, 10, 12, 0, 17, 18, 19, 0), - gsSP2Triangles(19, 18, 20, 0, 21, 20, 18, 0), - gsSP2Triangles(21, 18, 22, 0, 23, 21, 22, 0), - gsSP2Triangles(23, 24, 21, 0, 23, 25, 24, 0), - gsSP2Triangles(23, 19, 25, 0, 19, 20, 25, 0), - gsSP2Triangles(20, 26, 25, 0, 26, 20, 21, 0), - gsSP2Triangles(21, 24, 26, 0, 24, 25, 26, 0), - gsSP2Triangles(27, 28, 29, 0, 28, 30, 29, 0), - gsSP1Triangle(30, 28, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_2 + 352, 5, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP1Triangle(4, 3, 1, 0), + gsSP2Triangles(5, 7, 8, 0, 7, 9, 8, 0), + gsSP2Triangles(7, 2, 9, 0, 2, 10, 9, 0), + gsSP2Triangles(2, 3, 10, 0, 3, 11, 10, 0), + gsSP2Triangles(3, 5, 11, 0, 5, 8, 11, 0), + gsSP2Triangles(8, 10, 11, 0, 8, 9, 10, 0), gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_3[15] = { +Vtx ship1_spag1_003_mesh_vtx_2[15] = { {{ {0, 338, -161}, 0, {496, 1008}, {0, 211, 119, 255} }}, {{ {202, 338, -161}, 0, {1008, 1008}, {44, 214, 111, 255} }}, {{ {202, 389, -113}, 0, {1008, 828}, {0, 194, 111, 255} }}, @@ -5122,8 +2640,8 @@ Vtx ship1_Spaghetti_mesh_vtx_3[15] = { {{ {-202, 627, -161}, 0, {-16, -16}, {212, 39, 113, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_3[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_3 + 0, 15, 0), +Gfx ship1_spag1_003_mesh_tri_2[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_2 + 0, 15, 0), gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), gsSP2Triangles(5, 4, 6, 0, 5, 6, 7, 0), @@ -5135,7 +2653,7 @@ Gfx ship1_Spaghetti_mesh_tri_3[] = { gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_4[12] = { +Vtx ship1_spag1_003_mesh_vtx_3[12] = { {{ {192, 80, 111}, 0, {-446, 619}, {125, 240, 237, 255} }}, {{ {137, 172, -290}, 0, {2227, 12}, {125, 247, 237, 255} }}, {{ {202, 172, 130}, 0, {-574, 12}, {125, 247, 237, 255} }}, @@ -5150,8 +2668,8 @@ Vtx ship1_Spaghetti_mesh_vtx_4[12] = { {{ {-115, 0, -250}, 0, {-993, 1164}, {121, 33, 19, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_4[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_4 + 0, 12, 0), +Gfx ship1_spag1_003_mesh_tri_3[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_3 + 0, 12, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), gsSP2Triangles(6, 7, 8, 0, 6, 9, 7, 0), @@ -5159,236 +2677,154 @@ Gfx ship1_Spaghetti_mesh_tri_4[] = { gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_5[43] = { - {{ {-57, 222, 6}, 0, {-2207, 1018}, {190, 101, 41, 255} }}, - {{ {22, 222, 38}, 0, {-1540, 1018}, {26, 104, 68, 255} }}, - {{ {0, 250, -47}, 0, {-1873, 440}, {0, 127, 0, 255} }}, - {{ {-35, 160, 91}, 0, {-1873, 1595}, {216, 62, 104, 255} }}, - {{ {-98, 145, 43}, 0, {-2540, 1595}, {155, 47, 61, 255} }}, - {{ {-79, 60, 91}, 0, {-2207, 2173}, {175, 22, 96, 255} }}, - {{ {0, 60, 123}, 0, {-1540, 2173}, {254, 24, 125, 255} }}, - {{ {37, 145, 98}, 0, {-1206, 1595}, {42, 51, 108, 255} }}, - {{ {79, 60, 91}, 0, {-873, 2173}, {83, 22, 93, 255} }}, - {{ {93, 160, 38}, 0, {-539, 1595}, {97, 57, 59, 255} }}, - {{ {128, 60, 6}, 0, {-206, 2173}, {121, 20, 34, 255} }}, - {{ {121, 145, -47}, 0, {128, 1595}, {119, 44, 0, 255} }}, - {{ {128, 60, -99}, 0, {461, 2173}, {121, 20, 222, 255} }}, - {{ {93, 160, -132}, 0, {795, 1595}, {97, 57, 197, 255} }}, - {{ {79, 60, -184}, 0, {1128, 2173}, {83, 22, 163, 255} }}, - {{ {37, 145, -191}, 0, {1462, 1595}, {42, 51, 148, 255} }}, - {{ {0, 60, -216}, 0, {1795, 2173}, {254, 24, 131, 255} }}, - {{ {-35, 160, -184}, 0, {2129, 1595}, {216, 62, 152, 255} }}, - {{ {-79, 60, -184}, 0, {2462, 2173}, {175, 22, 160, 255} }}, - {{ {-98, 145, -136}, 0, {2796, 1595}, {155, 47, 195, 255} }}, - {{ {-128, 60, -99}, 0, {3129, 2173}, {134, 20, 225, 255} }}, - {{ {-115, 160, -47}, 0, {3463, 1595}, {141, 54, 0, 255} }}, - {{ {-128, 60, 6}, 0, {3796, 2173}, {134, 20, 31, 255} }}, - {{ {-98, 145, 43}, 0, {4130, 1595}, {155, 47, 61, 255} }}, - {{ {-79, 60, 91}, 0, {4463, 2173}, {175, 22, 96, 255} }}, - {{ {-57, 222, 6}, 0, {3796, 1018}, {190, 101, 41, 255} }}, - {{ {-57, 222, -99}, 0, {3129, 1018}, {190, 101, 215, 255} }}, - {{ {0, 250, -47}, 0, {3463, 440}, {0, 127, 0, 255} }}, - {{ {22, 222, 38}, 0, {-873, 1018}, {26, 104, 68, 255} }}, - {{ {71, 222, -47}, 0, {-206, 1018}, {80, 99, 0, 255} }}, - {{ {0, 250, -47}, 0, {-539, 440}, {0, 127, 0, 255} }}, - {{ {22, 222, -132}, 0, {1795, 1018}, {26, 104, 188, 255} }}, - {{ {22, 222, -132}, 0, {1795, 1018}, {26, 104, 188, 255} }}, - {{ {-35, 160, -184}, 0, {2129, 1595}, {216, 62, 152, 255} }}, - {{ {-57, 222, -99}, 0, {2462, 1018}, {190, 101, 215, 255} }}, - {{ {-98, 145, -136}, 0, {2796, 1595}, {155, 47, 195, 255} }}, - {{ {0, 250, -47}, 0, {2129, 440}, {0, 127, 0, 255} }}, - {{ {121, 145, -47}, 0, {128, 1595}, {119, 44, 0, 255} }}, - {{ {93, 160, -132}, 0, {795, 1595}, {97, 57, 197, 255} }}, - {{ {71, 222, -47}, 0, {461, 1018}, {80, 99, 0, 255} }}, - {{ {22, 222, -132}, 0, {1128, 1018}, {26, 104, 188, 255} }}, - {{ {37, 145, -191}, 0, {1462, 1595}, {42, 51, 148, 255} }}, - {{ {0, 250, -47}, 0, {795, 440}, {0, 127, 0, 255} }}, +Vtx ship1_spag1_003_mesh_vtx_4[17] = { + {{ {-143, 166, 113}, 0, {-516, 524}, {255, 126, 13, 255} }}, + {{ {0, 166, 265}, 0, {-559, 1620}, {0, 127, 0, 255} }}, + {{ {143, 166, 113}, 0, {494, 1311}, {1, 126, 13, 255} }}, + {{ {-43, 208, -135}, 0, {729, -346}, {252, 126, 16, 255} }}, + {{ {41, 208, -141}, 0, {1050, -143}, {2, 126, 17, 255} }}, + {{ {73, 207, -138}, 0, {1154, -42}, {11, 126, 16, 255} }}, + {{ {82, 208, -162}, 0, {1268, -127}, {13, 125, 15, 255} }}, + {{ {87, 225, -300}, 0, {1780, -746}, {1, 126, 13, 255} }}, + {{ {77, 220, -251}, 0, {1569, -550}, {6, 126, 14, 255} }}, + {{ {73, 214, -195}, 0, {1357, -306}, {10, 126, 15, 255} }}, + {{ {50, 218, -236}, 0, {1419, -557}, {0, 126, 13, 255} }}, + {{ {58, 214, -199}, 0, {1316, -361}, {1, 126, 13, 255} }}, + {{ {50, 211, -168}, 0, {1176, -244}, {3, 126, 14, 255} }}, + {{ {32, 211, -171}, 0, {1122, -306}, {255, 126, 13, 255} }}, + {{ {20, 209, -144}, 0, {985, -215}, {0, 126, 13, 255} }}, + {{ {-109, 202, -137}, 0, {502, -537}, {243, 125, 17, 255} }}, + {{ {-74, 209, -160}, 0, {710, -548}, {246, 126, 17, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_5[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_5 + 0, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 5, 3, 4, 0), - gsSP2Triangles(5, 6, 3, 0, 6, 7, 3, 0), - gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), +Gfx ship1_spag1_003_mesh_tri_4[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_4 + 0, 17, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 2, 7, 6, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 6, 8, 0), gsSP2Triangles(8, 10, 9, 0, 10, 11, 9, 0), - gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), - gsSP2Triangles(12, 14, 13, 0, 14, 15, 13, 0), - gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), - gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), - gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), - gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0), - gsSP2Triangles(22, 24, 23, 0, 21, 23, 25, 0), - gsSP2Triangles(26, 21, 25, 0, 26, 25, 27, 0), - gsSP2Triangles(19, 21, 26, 0, 3, 7, 1, 0), - gsSP2Triangles(7, 9, 28, 0, 28, 9, 29, 0), - gsSP2Triangles(9, 11, 29, 0, 28, 29, 30, 0), - gsSP1Triangle(15, 17, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_5 + 32, 11, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(0, 2, 4, 0, 5, 6, 7, 0), - gsSP2Triangles(7, 6, 8, 0, 6, 9, 8, 0), - gsSP1Triangle(7, 8, 10, 0), + gsSP2Triangles(11, 12, 9, 0, 11, 13, 12, 0), + gsSP2Triangles(13, 4, 12, 0, 13, 14, 4, 0), + gsSP2Triangles(4, 14, 3, 0, 15, 0, 3, 0), + gsSP1Triangle(16, 15, 3, 0), gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_6[43] = { - {{ {-39, 257, -5}, 0, {-564, 242}, {197, 99, 53, 255} }}, - {{ {26, 257, 10}, 0, {-397, 242}, {34, 102, 67, 255} }}, - {{ {0, 279, -47}, 0, {-480, 98}, {0, 127, 0, 255} }}, - {{ {-13, 209, 52}, 0, {-480, 387}, {232, 58, 111, 255} }}, - {{ {-66, 197, 24}, 0, {-647, 387}, {167, 45, 79, 255} }}, - {{ {-46, 131, 56}, 0, {-564, 531}, {193, 20, 108, 255} }}, - {{ {18, 131, 71}, 0, {-397, 531}, {14, 21, 124, 255} }}, - {{ {44, 197, 50}, 0, {-314, 387}, {54, 48, 104, 255} }}, - {{ {76, 131, 41}, 0, {-230, 531}, {92, 21, 85, 255} }}, - {{ {81, 209, 3}, 0, {-147, 387}, {103, 56, 48, 255} }}, - {{ {105, 131, -23}, 0, {-63, 531}, {124, 20, 19, 255} }}, - {{ {93, 197, -58}, 0, {20, 387}, {118, 44, 238, 255} }}, - {{ {93, 131, -95}, 0, {103, 531}, {113, 19, 202, 255} }}, - {{ {63, 209, -114}, 0, {187, 387}, {86, 55, 180, 255} }}, - {{ {46, 131, -149}, 0, {270, 531}, {66, 20, 149, 255} }}, - {{ {13, 197, -150}, 0, {353, 387}, {25, 48, 141, 255} }}, - {{ {-18, 131, -164}, 0, {437, 531}, {238, 21, 132, 255} }}, - {{ {-42, 209, -138}, 0, {520, 387}, {205, 58, 156, 255} }}, - {{ {-76, 131, -134}, 0, {604, 531}, {166, 21, 168, 255} }}, - {{ {-85, 197, -99}, 0, {687, 387}, {149, 46, 206, 255} }}, - {{ {-105, 131, -71}, 0, {770, 531}, {131, 19, 240, 255} }}, - {{ {-88, 209, -36}, 0, {854, 387}, {142, 54, 17, 255} }}, - {{ {-93, 131, 2}, 0, {937, 531}, {142, 19, 51, 255} }}, - {{ {-66, 197, 24}, 0, {1020, 387}, {167, 45, 79, 255} }}, - {{ {-46, 131, 56}, 0, {1104, 531}, {193, 20, 108, 255} }}, - {{ {-39, 257, -5}, 0, {937, 242}, {197, 99, 53, 255} }}, - {{ {-50, 257, -77}, 0, {770, 242}, {186, 100, 222, 255} }}, - {{ {0, 279, -47}, 0, {854, 98}, {0, 127, 0, 255} }}, - {{ {26, 257, 10}, 0, {-230, 242}, {34, 102, 67, 255} }}, - {{ {55, 257, -53}, 0, {-63, 242}, {79, 98, 244, 255} }}, - {{ {0, 279, -47}, 0, {-147, 98}, {0, 127, 0, 255} }}, - {{ {8, 257, -107}, 0, {437, 242}, {16, 101, 181, 255} }}, - {{ {8, 257, -107}, 0, {437, 242}, {16, 101, 181, 255} }}, - {{ {-42, 209, -138}, 0, {520, 387}, {205, 58, 156, 255} }}, - {{ {-50, 257, -77}, 0, {604, 242}, {186, 100, 222, 255} }}, - {{ {-85, 197, -99}, 0, {687, 387}, {149, 46, 206, 255} }}, - {{ {0, 279, -47}, 0, {520, 98}, {0, 127, 0, 255} }}, - {{ {93, 197, -58}, 0, {20, 387}, {118, 44, 238, 255} }}, - {{ {63, 209, -114}, 0, {187, 387}, {86, 55, 180, 255} }}, - {{ {55, 257, -53}, 0, {103, 242}, {79, 98, 244, 255} }}, - {{ {8, 257, -107}, 0, {270, 242}, {16, 101, 181, 255} }}, - {{ {13, 197, -150}, 0, {353, 387}, {25, 48, 141, 255} }}, - {{ {0, 279, -47}, 0, {187, 98}, {0, 127, 0, 255} }}, +Vtx ship1_spag1_003_mesh_vtx_5[16] = { + {{ {-87, 225, -300}, 0, {574, -621}, {255, 126, 12, 255} }}, + {{ {-109, 202, -137}, 0, {243, -277}, {243, 125, 17, 255} }}, + {{ {-74, 209, -160}, 0, {347, -282}, {246, 126, 17, 255} }}, + {{ {50, 218, -236}, 0, {702, -287}, {0, 126, 13, 255} }}, + {{ {32, 211, -171}, 0, {553, -161}, {255, 126, 13, 255} }}, + {{ {-43, 208, -135}, 0, {356, -181}, {252, 126, 16, 255} }}, + {{ {20, 209, -144}, 0, {484, -116}, {0, 126, 13, 255} }}, + {{ {58, 214, -199}, 0, {650, -189}, {1, 126, 13, 255} }}, + {{ {0, 225, -322}, 0, {767, -552}, {1, 127, 10, 255} }}, + {{ {87, 225, -300}, 0, {882, -381}, {1, 126, 13, 255} }}, + {{ {77, 220, -251}, 0, {777, -283}, {6, 126, 14, 255} }}, + {{ {82, 208, -162}, 0, {626, -72}, {13, 125, 15, 255} }}, + {{ {73, 214, -195}, 0, {671, -161}, {10, 126, 15, 255} }}, + {{ {50, 211, -168}, 0, {580, -130}, {3, 126, 14, 255} }}, + {{ {73, 207, -138}, 0, {569, -29}, {11, 126, 16, 255} }}, + {{ {41, 208, -141}, 0, {517, -80}, {2, 126, 17, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_6[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_6 + 0, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 5, 3, 4, 0), - gsSP2Triangles(5, 6, 3, 0, 6, 7, 3, 0), - gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), - gsSP2Triangles(8, 10, 9, 0, 10, 11, 9, 0), - gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), - gsSP2Triangles(12, 14, 13, 0, 14, 15, 13, 0), - gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), - gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), - gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), - gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0), - gsSP2Triangles(22, 24, 23, 0, 21, 23, 25, 0), - gsSP2Triangles(26, 21, 25, 0, 26, 25, 27, 0), - gsSP2Triangles(19, 21, 26, 0, 3, 7, 1, 0), - gsSP2Triangles(7, 9, 28, 0, 28, 9, 29, 0), - gsSP2Triangles(9, 11, 29, 0, 28, 29, 30, 0), - gsSP1Triangle(15, 17, 31, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_6 + 32, 11, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(0, 2, 4, 0, 5, 6, 7, 0), - gsSP2Triangles(7, 6, 8, 0, 6, 9, 8, 0), - gsSP1Triangle(7, 8, 10, 0), +Gfx ship1_spag1_003_mesh_tri_5[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_5 + 0, 16, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 2, 5, 4, 0), + gsSP2Triangles(5, 6, 4, 0, 4, 7, 3, 0), + gsSP2Triangles(8, 0, 3, 0, 9, 8, 3, 0), + gsSP2Triangles(10, 9, 3, 0, 11, 12, 13, 0), + gsSP2Triangles(13, 14, 11, 0, 13, 15, 14, 0), gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_7[79] = { - {{ {-4, 215, -14}, 0, {-1117, 1963}, {0, 129, 0, 255} }}, - {{ {24, 236, 6}, 0, {-656, 1165}, {92, 199, 67, 255} }}, - {{ {-15, 236, 19}, 0, {-1577, 1165}, {221, 199, 108, 255} }}, - {{ {6, 271, 19}, 0, {-1117, 367}, {35, 57, 108, 255} }}, - {{ {30, 271, -14}, 0, {-195, 367}, {114, 57, 0, 255} }}, - {{ {24, 236, -34}, 0, {266, 1165}, {92, 199, 189, 255} }}, - {{ {-4, 215, -14}, 0, {-195, 1963}, {0, 129, 0, 255} }}, - {{ {6, 271, -47}, 0, {726, 367}, {35, 57, 148, 255} }}, - {{ {-15, 236, -47}, 0, {1187, 1165}, {221, 199, 148, 255} }}, - {{ {-4, 215, -14}, 0, {726, 1963}, {0, 129, 0, 255} }}, - {{ {-32, 271, -34}, 0, {1648, 367}, {164, 57, 189, 255} }}, - {{ {-39, 236, -14}, 0, {2109, 1165}, {142, 199, 0, 255} }}, - {{ {-4, 215, -14}, 0, {1648, 1963}, {0, 129, 0, 255} }}, - {{ {-32, 271, 6}, 0, {2569, 367}, {164, 57, 67, 255} }}, - {{ {-15, 236, 19}, 0, {3030, 1165}, {221, 199, 108, 255} }}, - {{ {-4, 215, -14}, 0, {2569, 1963}, {0, 129, 0, 255} }}, - {{ {-4, 292, -14}, 0, {2109, -431}, {0, 127, 0, 255} }}, - {{ {-4, 292, -14}, 0, {-656, -431}, {0, 127, 0, 255} }}, - {{ {-4, 292, -14}, 0, {1187, -431}, {0, 127, 0, 255} }}, - {{ {-4, 292, -14}, 0, {266, -431}, {0, 127, 0, 255} }}, - {{ {-32, 271, 6}, 0, {-2038, 367}, {164, 57, 67, 255} }}, - {{ {-4, 292, -14}, 0, {-1577, -431}, {0, 127, 0, 255} }}, - {{ {-29, 206, -55}, 0, {-1117, 1963}, {72, 164, 51, 255} }}, - {{ {-23, 245, -46}, 0, {-656, 1165}, {92, 37, 80, 255} }}, - {{ {-56, 226, -33}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, - {{ {-58, 264, -48}, 0, {-1117, 367}, {230, 99, 74, 255} }}, - {{ {-33, 267, -79}, 0, {-195, 367}, {59, 109, 228, 255} }}, - {{ {-14, 231, -83}, 0, {266, 1165}, {119, 247, 213, 255} }}, - {{ {-29, 206, -55}, 0, {-195, 1963}, {72, 164, 51, 255} }}, - {{ {-45, 241, -108}, 0, {726, 367}, {18, 25, 133, 255} }}, - {{ {-42, 203, -93}, 0, {1187, 1165}, {26, 157, 182, 255} }}, - {{ {-29, 206, -55}, 0, {726, 1963}, {72, 164, 51, 255} }}, - {{ {-42, 203, -93}, 0, {1187, 1165}, {26, 157, 182, 255} }}, - {{ {-78, 222, -95}, 0, {1648, 367}, {164, 219, 176, 255} }}, - {{ {-45, 241, -108}, 0, {726, 367}, {18, 25, 133, 255} }}, - {{ {-68, 200, -62}, 0, {2109, 1165}, {197, 147, 28, 255} }}, - {{ {-29, 206, -55}, 0, {1648, 1963}, {72, 164, 51, 255} }}, - {{ {-87, 236, -58}, 0, {2569, 367}, {137, 9, 43, 255} }}, - {{ {-56, 226, -33}, 0, {3030, 1165}, {238, 231, 123, 255} }}, - {{ {-29, 206, -55}, 0, {2569, 1963}, {72, 164, 51, 255} }}, - {{ {-72, 261, -86}, 0, {2109, -431}, {184, 92, 205, 255} }}, - {{ {-58, 264, -48}, 0, {-1117, 367}, {230, 99, 74, 255} }}, - {{ {-33, 267, -79}, 0, {-195, 367}, {59, 109, 228, 255} }}, - {{ {-72, 261, -86}, 0, {-656, -431}, {184, 92, 205, 255} }}, - {{ {-72, 261, -86}, 0, {1187, -431}, {184, 92, 205, 255} }}, - {{ {-72, 261, -86}, 0, {266, -431}, {184, 92, 205, 255} }}, - {{ {-56, 226, -33}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, - {{ {-87, 236, -58}, 0, {-2038, 367}, {137, 9, 43, 255} }}, - {{ {-72, 261, -86}, 0, {-1577, -431}, {184, 92, 205, 255} }}, - {{ {80, 185, -84}, 0, {-1117, 1963}, {72, 164, 51, 255} }}, - {{ {86, 225, -76}, 0, {-656, 1165}, {92, 37, 80, 255} }}, - {{ {53, 206, -63}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, - {{ {50, 243, -77}, 0, {-1117, 367}, {230, 99, 74, 255} }}, - {{ {76, 246, -108}, 0, {-195, 367}, {59, 109, 228, 255} }}, - {{ {94, 211, -113}, 0, {266, 1165}, {119, 247, 213, 255} }}, - {{ {80, 185, -84}, 0, {-195, 1963}, {72, 164, 51, 255} }}, - {{ {64, 221, -137}, 0, {726, 367}, {18, 25, 133, 255} }}, - {{ {66, 183, -122}, 0, {1187, 1165}, {26, 157, 182, 255} }}, - {{ {80, 185, -84}, 0, {726, 1963}, {72, 164, 51, 255} }}, - {{ {30, 202, -124}, 0, {1648, 367}, {164, 219, 176, 255} }}, - {{ {40, 180, -91}, 0, {2109, 1165}, {197, 147, 28, 255} }}, - {{ {80, 185, -84}, 0, {1648, 1963}, {72, 164, 51, 255} }}, - {{ {22, 216, -87}, 0, {2569, 367}, {137, 9, 43, 255} }}, - {{ {53, 206, -63}, 0, {3030, 1165}, {238, 231, 123, 255} }}, - {{ {80, 185, -84}, 0, {2569, 1963}, {72, 164, 51, 255} }}, - {{ {53, 206, -63}, 0, {3030, 1165}, {238, 231, 123, 255} }}, - {{ {40, 180, -91}, 0, {2109, 1165}, {197, 147, 28, 255} }}, - {{ {30, 202, -124}, 0, {1648, 367}, {164, 219, 176, 255} }}, - {{ {22, 216, -87}, 0, {2569, 367}, {137, 9, 43, 255} }}, - {{ {37, 241, -115}, 0, {2109, -431}, {184, 92, 205, 255} }}, - {{ {50, 243, -77}, 0, {-1117, 367}, {230, 99, 74, 255} }}, - {{ {76, 246, -108}, 0, {-195, 367}, {59, 109, 228, 255} }}, - {{ {37, 241, -115}, 0, {-656, -431}, {184, 92, 205, 255} }}, - {{ {64, 221, -137}, 0, {726, 367}, {18, 25, 133, 255} }}, - {{ {37, 241, -115}, 0, {1187, -431}, {184, 92, 205, 255} }}, - {{ {37, 241, -115}, 0, {266, -431}, {184, 92, 205, 255} }}, - {{ {53, 206, -63}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, - {{ {22, 216, -87}, 0, {-2038, 367}, {137, 9, 43, 255} }}, - {{ {37, 241, -115}, 0, {-1577, -431}, {184, 92, 205, 255} }}, +Vtx ship1_spag1_003_mesh_vtx_6[79] = { + {{ {-57, 204, -203}, 0, {-1117, 1963}, {72, 164, 51, 255} }}, + {{ {-53, 228, -197}, 0, {-656, 1165}, {92, 37, 80, 255} }}, + {{ {-74, 217, -189}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, + {{ {-75, 240, -198}, 0, {-1117, 367}, {230, 99, 74, 255} }}, + {{ {-59, 242, -218}, 0, {-195, 367}, {59, 109, 228, 255} }}, + {{ {-48, 220, -221}, 0, {266, 1165}, {119, 247, 213, 255} }}, + {{ {-57, 204, -203}, 0, {-195, 1963}, {72, 164, 51, 255} }}, + {{ {-67, 226, -236}, 0, {726, 367}, {18, 25, 133, 255} }}, + {{ {-65, 202, -227}, 0, {1187, 1165}, {26, 157, 182, 255} }}, + {{ {-57, 204, -203}, 0, {726, 1963}, {72, 164, 51, 255} }}, + {{ {-88, 214, -228}, 0, {1648, 367}, {164, 219, 176, 255} }}, + {{ {-82, 200, -207}, 0, {2109, 1165}, {197, 147, 28, 255} }}, + {{ {-57, 204, -203}, 0, {1648, 1963}, {72, 164, 51, 255} }}, + {{ {-93, 223, -204}, 0, {2569, 367}, {137, 9, 43, 255} }}, + {{ {-74, 217, -189}, 0, {3030, 1165}, {238, 231, 123, 255} }}, + {{ {-57, 204, -203}, 0, {2569, 1963}, {72, 164, 51, 255} }}, + {{ {-84, 239, -222}, 0, {2109, -431}, {184, 92, 205, 255} }}, + {{ {-84, 239, -222}, 0, {-656, -431}, {184, 92, 205, 255} }}, + {{ {-84, 239, -222}, 0, {1187, -431}, {184, 92, 205, 255} }}, + {{ {-84, 239, -222}, 0, {266, -431}, {184, 92, 205, 255} }}, + {{ {-93, 223, -204}, 0, {-2038, 367}, {137, 9, 43, 255} }}, + {{ {-84, 239, -222}, 0, {-1577, -431}, {184, 92, 205, 255} }}, + {{ {43, 194, -126}, 0, {-1117, 1963}, {72, 164, 51, 255} }}, + {{ {47, 223, -119}, 0, {-656, 1165}, {92, 37, 80, 255} }}, + {{ {22, 209, -109}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, + {{ {20, 237, -120}, 0, {-1117, 367}, {230, 99, 74, 255} }}, + {{ {40, 240, -144}, 0, {-195, 367}, {59, 109, 228, 255} }}, + {{ {53, 213, -147}, 0, {266, 1165}, {119, 247, 213, 255} }}, + {{ {43, 194, -126}, 0, {-195, 1963}, {72, 164, 51, 255} }}, + {{ {31, 220, -165}, 0, {726, 367}, {18, 25, 133, 255} }}, + {{ {32, 192, -154}, 0, {1187, 1165}, {26, 157, 182, 255} }}, + {{ {43, 194, -126}, 0, {726, 1963}, {72, 164, 51, 255} }}, + {{ {32, 192, -154}, 0, {1187, 1165}, {26, 157, 182, 255} }}, + {{ {6, 206, -155}, 0, {1648, 367}, {164, 219, 176, 255} }}, + {{ {31, 220, -165}, 0, {726, 367}, {18, 25, 133, 255} }}, + {{ {13, 190, -131}, 0, {2109, 1165}, {197, 147, 28, 255} }}, + {{ {43, 194, -126}, 0, {1648, 1963}, {72, 164, 51, 255} }}, + {{ {-1, 217, -127}, 0, {2569, 367}, {137, 9, 43, 255} }}, + {{ {22, 209, -109}, 0, {3030, 1165}, {238, 231, 123, 255} }}, + {{ {43, 194, -126}, 0, {2569, 1963}, {72, 164, 51, 255} }}, + {{ {10, 236, -149}, 0, {2109, -431}, {184, 92, 205, 255} }}, + {{ {20, 237, -120}, 0, {-1117, 367}, {230, 99, 74, 255} }}, + {{ {40, 240, -144}, 0, {-195, 367}, {59, 109, 228, 255} }}, + {{ {10, 236, -149}, 0, {-656, -431}, {184, 92, 205, 255} }}, + {{ {10, 236, -149}, 0, {1187, -431}, {184, 92, 205, 255} }}, + {{ {10, 236, -149}, 0, {266, -431}, {184, 92, 205, 255} }}, + {{ {22, 209, -109}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, + {{ {-1, 217, -127}, 0, {-2038, 367}, {137, 9, 43, 255} }}, + {{ {10, 236, -149}, 0, {-1577, -431}, {184, 92, 205, 255} }}, + {{ {55, 208, -255}, 0, {-1117, 1963}, {72, 164, 51, 255} }}, + {{ {59, 238, -248}, 0, {-656, 1165}, {92, 37, 80, 255} }}, + {{ {34, 224, -238}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, + {{ {32, 252, -249}, 0, {-1117, 367}, {230, 99, 74, 255} }}, + {{ {52, 254, -273}, 0, {-195, 367}, {59, 109, 228, 255} }}, + {{ {66, 227, -276}, 0, {266, 1165}, {119, 247, 213, 255} }}, + {{ {55, 208, -255}, 0, {-195, 1963}, {72, 164, 51, 255} }}, + {{ {43, 235, -294}, 0, {726, 367}, {18, 25, 133, 255} }}, + {{ {44, 207, -283}, 0, {1187, 1165}, {26, 157, 182, 255} }}, + {{ {55, 208, -255}, 0, {726, 1963}, {72, 164, 51, 255} }}, + {{ {18, 221, -284}, 0, {1648, 367}, {164, 219, 176, 255} }}, + {{ {25, 204, -260}, 0, {2109, 1165}, {197, 147, 28, 255} }}, + {{ {55, 208, -255}, 0, {1648, 1963}, {72, 164, 51, 255} }}, + {{ {11, 231, -257}, 0, {2569, 367}, {137, 9, 43, 255} }}, + {{ {34, 224, -238}, 0, {3030, 1165}, {238, 231, 123, 255} }}, + {{ {55, 208, -255}, 0, {2569, 1963}, {72, 164, 51, 255} }}, + {{ {34, 224, -238}, 0, {3030, 1165}, {238, 231, 123, 255} }}, + {{ {25, 204, -260}, 0, {2109, 1165}, {197, 147, 28, 255} }}, + {{ {18, 221, -284}, 0, {1648, 367}, {164, 219, 176, 255} }}, + {{ {11, 231, -257}, 0, {2569, 367}, {137, 9, 43, 255} }}, + {{ {22, 250, -278}, 0, {2109, -431}, {184, 92, 205, 255} }}, + {{ {32, 252, -249}, 0, {-1117, 367}, {230, 99, 74, 255} }}, + {{ {52, 254, -273}, 0, {-195, 367}, {59, 109, 228, 255} }}, + {{ {22, 250, -278}, 0, {-656, -431}, {184, 92, 205, 255} }}, + {{ {43, 235, -294}, 0, {726, 367}, {18, 25, 133, 255} }}, + {{ {22, 250, -278}, 0, {1187, -431}, {184, 92, 205, 255} }}, + {{ {22, 250, -278}, 0, {266, -431}, {184, 92, 205, 255} }}, + {{ {34, 224, -238}, 0, {-1577, 1165}, {238, 231, 123, 255} }}, + {{ {11, 231, -257}, 0, {-2038, 367}, {137, 9, 43, 255} }}, + {{ {22, 250, -278}, 0, {-1577, -431}, {184, 92, 205, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_7[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_7 + 0, 32, 0), +Gfx ship1_spag1_003_mesh_tri_6[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_6 + 0, 32, 0), gsSP2Triangles(0, 1, 2, 0, 2, 1, 3, 0), gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), gsSP2Triangles(1, 6, 5, 0, 5, 7, 4, 0), @@ -5403,7 +2839,7 @@ Gfx ship1_Spaghetti_mesh_tri_7[] = { gsSP2Triangles(23, 26, 25, 0, 23, 27, 26, 0), gsSP2Triangles(23, 28, 27, 0, 27, 29, 26, 0), gsSP2Triangles(27, 30, 29, 0, 31, 30, 27, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_7 + 32, 32, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_6 + 32, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), gsSP2Triangles(4, 3, 0, 0, 3, 5, 1, 0), gsSP2Triangles(3, 6, 5, 0, 7, 6, 3, 0), @@ -5417,7 +2853,7 @@ Gfx ship1_Spaghetti_mesh_tri_7[] = { gsSP2Triangles(25, 27, 24, 0, 25, 28, 27, 0), gsSP2Triangles(29, 28, 25, 0, 28, 30, 27, 0), gsSP1Triangle(28, 31, 30, 0), - gsSPVertex(ship1_Spaghetti_mesh_vtx_7 + 64, 15, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_6 + 64, 15, 0), gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), gsSP2Triangles(6, 7, 8, 0, 9, 3, 10, 0), gsSP2Triangles(7, 9, 11, 0, 12, 6, 13, 0), @@ -5425,44 +2861,19 @@ Gfx ship1_Spaghetti_mesh_tri_7[] = { gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_8[12] = { - {{ {-100, 353, 93}, 0, {-16, -16}, {78, 74, 188, 255} }}, - {{ {-121, 357, 74}, 0, {1008, -16}, {78, 74, 188, 255} }}, - {{ {-115, 367, 91}, 0, {-16, -16}, {78, 74, 188, 255} }}, - {{ {-70, 261, 28}, 0, {-16, 1008}, {78, 74, 188, 255} }}, - {{ {-78, 263, 21}, 0, {1008, 1008}, {78, 74, 188, 255} }}, - {{ {-86, 258, 6}, 0, {1008, 1008}, {78, 74, 188, 255} }}, - {{ {-66, 252, 23}, 0, {240, 1008}, {78, 74, 188, 255} }}, - {{ {-56, 252, 34}, 0, {-16, 1008}, {78, 74, 188, 255} }}, - {{ {-44, 208, 1}, 0, {240, 1008}, {78, 74, 188, 255} }}, - {{ {-75, 254, 14}, 0, {752, 1008}, {78, 74, 188, 255} }}, - {{ {-53, 208, -10}, 0, {752, 1008}, {78, 74, 188, 255} }}, - {{ {-64, 211, -19}, 0, {1008, 1008}, {78, 74, 188, 255} }}, -}; - -Gfx ship1_Spaghetti_mesh_tri_8[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_8 + 0, 12, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), - gsSP2Triangles(3, 4, 1, 0, 5, 4, 3, 0), - gsSP2Triangles(3, 6, 5, 0, 3, 7, 6, 0), - gsSP2Triangles(6, 7, 8, 0, 6, 9, 5, 0), - gsSP2Triangles(9, 6, 10, 0, 5, 9, 11, 0), - gsSPEndDisplayList(), -}; - -Vtx ship1_Spaghetti_mesh_vtx_9[3] = { +Vtx ship1_spag1_003_mesh_vtx_7[3] = { {{ {0, 688, -223}, 0, {-16, 762}, {221, 0, 134, 255} }}, {{ {0, 784, -223}, 0, {-16, -262}, {201, 66, 162, 255} }}, {{ {0, 737, -387}, 0, {1018, 764}, {129, 0, 0, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_9[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_9 + 0, 3, 0), +Gfx ship1_spag1_003_mesh_tri_7[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_7 + 0, 3, 0), gsSP1Triangle(0, 1, 2, 0), gsSPEndDisplayList(), }; -Vtx ship1_Spaghetti_mesh_vtx_10[17] = { +Vtx ship1_spag1_003_mesh_vtx_8[17] = { {{ {33, 172, 304}, 0, {582, 1395}, {0, 126, 240, 255} }}, {{ {0, 217, 453}, 0, {496, 1901}, {0, 121, 219, 255} }}, {{ {44, 217, 453}, 0, {611, 1901}, {0, 121, 219, 255} }}, @@ -5482,8 +2893,8 @@ Vtx ship1_Spaghetti_mesh_vtx_10[17] = { {{ {-44, 217, 453}, 0, {381, 1901}, {0, 121, 219, 255} }}, }; -Gfx ship1_Spaghetti_mesh_tri_10[] = { - gsSPVertex(ship1_Spaghetti_mesh_vtx_10 + 0, 17, 0), +Gfx ship1_spag1_003_mesh_tri_8[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_8 + 0, 17, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), gsSP2Triangles(4, 3, 0, 0, 4, 0, 5, 0), gsSP2Triangles(5, 6, 4, 0, 7, 6, 5, 0), @@ -5496,12 +2907,546 @@ Gfx ship1_Spaghetti_mesh_tri_10[] = { gsSPEndDisplayList(), }; +Vtx ship1_spag1_003_mesh_vtx_9[276] = { + {{ {0, 230, -84}, 0, {-529, 495}, {204, 204, 152, 255} }}, + {{ {0, 230, 113}, 0, {-529, 495}, {255, 199, 114, 255} }}, + {{ {0, 234, -84}, 0, {-529, 495}, {226, 0, 133, 255} }}, + {{ {0, 270, -84}, 0, {-529, 495}, {226, 0, 133, 255} }}, + {{ {0, 277, 124}, 0, {-529, 495}, {255, 90, 90, 255} }}, + {{ {0, 277, -84}, 0, {-529, 495}, {214, 85, 171, 255} }}, + {{ {0, 195, -84}, 0, {111, 111}, {0, 0, 129, 255} }}, + {{ {42, 209, -84}, 0, {111, 37}, {30, 63, 150, 255} }}, + {{ {86, 188, -84}, 0, {3, -17}, {36, 74, 160, 255} }}, + {{ {70, 104, -84}, 0, {-145, -17}, {0, 0, 129, 255} }}, + {{ {0, 104, -84}, 0, {-145, 111}, {0, 0, 129, 255} }}, + {{ {-70, 104, -84}, 0, {-145, -17}, {0, 0, 129, 255} }}, + {{ {-42, 209, -84}, 0, {111, 37}, {226, 63, 150, 255} }}, + {{ {-86, 188, -84}, 0, {3, -17}, {220, 74, 160, 255} }}, + {{ {-70, 104, -84}, 0, {-145, -17}, {131, 232, 0, 255} }}, + {{ {-70, 104, 132}, 0, {-145, -273}, {131, 232, 0, 255} }}, + {{ {-86, 188, 132}, 0, {3, -273}, {131, 232, 0, 255} }}, + {{ {-86, 188, -84}, 0, {3, -17}, {131, 232, 0, 255} }}, + {{ {42, 209, -84}, 0, {165, -17}, {30, 63, 150, 255} }}, + {{ {42, 209, 26}, 0, {165, -96}, {55, 114, 0, 255} }}, + {{ {86, 188, 132}, 0, {3, -273}, {55, 114, 0, 255} }}, + {{ {42, 209, 132}, 0, {165, -273}, {55, 114, 0, 255} }}, + {{ {84, 239, 109}, 0, {166, -96}, {0, 0, 127, 255} }}, + {{ {84, 266, 109}, 0, {166, -96}, {0, 0, 127, 255} }}, + {{ {75, 271, 109}, 0, {168, -96}, {0, 0, 127, 255} }}, + {{ {42, 236, 109}, 0, {173, -96}, {0, 0, 127, 255} }}, + {{ {0, 271, 109}, 0, {228, -96}, {0, 0, 127, 255} }}, + {{ {0, 236, 109}, 0, {226, -96}, {0, 0, 127, 255} }}, + {{ {-42, 236, 109}, 0, {173, -96}, {0, 0, 127, 255} }}, + {{ {-75, 271, 109}, 0, {168, -96}, {0, 0, 127, 255} }}, + {{ {-84, 239, 109}, 0, {166, -96}, {0, 0, 127, 255} }}, + {{ {-84, 266, 109}, 0, {166, -96}, {0, 0, 127, 255} }}, + {{ {90, 234, 113}, 0, {165, -96}, {76, 185, 74, 255} }}, + {{ {90, 234, -84}, 0, {165, -17}, {88, 0, 164, 255} }}, + {{ {90, 270, -84}, 0, {165, -17}, {86, 52, 179, 255} }}, + {{ {90, 270, 113}, 0, {165, -96}, {102, 47, 60, 255} }}, + {{ {77, 277, -84}, 0, {165, -17}, {23, 93, 173, 255} }}, + {{ {77, 277, 124}, 0, {165, -96}, {46, 73, 93, 255} }}, + {{ {0, 277, 124}, 0, {239, -96}, {255, 90, 90, 255} }}, + {{ {0, 277, -84}, 0, {239, -17}, {214, 85, 171, 255} }}, + {{ {-77, 277, -84}, 0, {165, -17}, {233, 93, 173, 255} }}, + {{ {-77, 277, 124}, 0, {165, -96}, {210, 73, 93, 255} }}, + {{ {-90, 270, 113}, 0, {165, -96}, {154, 47, 60, 255} }}, + {{ {-90, 270, -84}, 0, {165, -17}, {170, 52, 179, 255} }}, + {{ {-90, 234, 113}, 0, {165, -96}, {180, 185, 74, 255} }}, + {{ {-90, 234, -84}, 0, {165, -17}, {168, 0, 164, 255} }}, + {{ {-84, 239, 113}, 0, {166, -96}, {41, 38, 114, 255} }}, + {{ {-84, 266, 113}, 0, {166, -96}, {44, 180, 92, 255} }}, + {{ {-84, 239, 108}, 0, {166, -96}, {112, 60, 0, 255} }}, + {{ {-42, 236, 108}, 0, {173, -96}, {3, 127, 0, 255} }}, + {{ {-42, 236, 113}, 0, {173, -96}, {3, 89, 91, 255} }}, + {{ {-42, 230, 113}, 0, {165, -96}, {252, 198, 113, 255} }}, + {{ {-90, 234, 26}, 0, {165, -96}, {247, 129, 0, 255} }}, + {{ {-42, 230, 26}, 0, {165, -96}, {247, 129, 0, 255} }}, + {{ {-90, 234, -84}, 0, {165, -17}, {247, 129, 0, 255} }}, + {{ {-42, 230, -84}, 0, {165, -17}, {163, 169, 0, 255} }}, + {{ {-42, 230, -84}, 0, {165, -17}, {0, 198, 143, 255} }}, + {{ {-42, 230, 86}, 0, {165, -96}, {183, 183, 73, 255} }}, + {{ {0, 230, 113}, 0, {239, -96}, {255, 199, 114, 255} }}, + {{ {0, 236, 113}, 0, {226, -96}, {0, 90, 90, 255} }}, + {{ {42, 236, 113}, 0, {173, -96}, {253, 89, 91, 255} }}, + {{ {42, 230, 113}, 0, {165, -96}, {3, 165, 89, 255} }}, + {{ {84, 239, 113}, 0, {166, -96}, {215, 38, 114, 255} }}, + {{ {42, 230, 26}, 0, {165, -96}, {9, 129, 0, 255} }}, + {{ {42, 230, -84}, 0, {165, -17}, {0, 0, 129, 255} }}, + {{ {42, 230, 26}, 0, {165, -96}, {9, 129, 0, 255} }}, + {{ {42, 230, 113}, 0, {165, -96}, {3, 165, 89, 255} }}, + {{ {90, 234, 26}, 0, {165, -96}, {9, 129, 0, 255} }}, + {{ {90, 234, 113}, 0, {165, -96}, {76, 185, 74, 255} }}, + {{ {90, 234, -84}, 0, {165, -17}, {9, 129, 0, 255} }}, + {{ {42, 230, -84}, 0, {165, -17}, {93, 169, 0, 255} }}, + {{ {90, 270, -84}, 0, {111, 37}, {86, 52, 179, 255} }}, + {{ {0, 277, -84}, 0, {111, 111}, {214, 85, 171, 255} }}, + {{ {77, 277, -84}, 0, {111, 37}, {23, 93, 173, 255} }}, + {{ {0, 270, -84}, 0, {111, 111}, {226, 0, 133, 255} }}, + {{ {90, 234, -84}, 0, {111, 37}, {88, 0, 164, 255} }}, + {{ {0, 234, -84}, 0, {111, 111}, {226, 0, 133, 255} }}, + {{ {42, 230, -84}, 0, {111, 37}, {0, 0, 129, 255} }}, + {{ {0, 230, -84}, 0, {111, 111}, {204, 204, 152, 255} }}, + {{ {-42, 230, -84}, 0, {111, 37}, {0, 198, 143, 255} }}, + {{ {-42, 230, 86}, 0, {165, -96}, {183, 183, 73, 255} }}, + {{ {0, 230, 86}, 0, {239, -96}, {0, 166, 90, 255} }}, + {{ {0, 230, 113}, 0, {239, -96}, {255, 199, 114, 255} }}, + {{ {0, 230, -84}, 0, {-529, 495}, {204, 204, 152, 255} }}, + {{ {-42, 230, 113}, 0, {165, -96}, {252, 198, 113, 255} }}, + {{ {0, 195, 86}, 0, {239, -96}, {0, 0, 127, 255} }}, + {{ {-42, 209, 86}, 0, {165, -96}, {175, 0, 98, 255} }}, + {{ {-42, 209, -84}, 0, {-529, 495}, {175, 0, 158, 255} }}, + {{ {-42, 230, -84}, 0, {-529, 495}, {163, 169, 0, 255} }}, + {{ {42, 230, 86}, 0, {165, -96}, {73, 183, 73, 255} }}, + {{ {42, 209, 86}, 0, {165, -96}, {81, 0, 98, 255} }}, + {{ {42, 230, -84}, 0, {-529, 495}, {93, 169, 0, 255} }}, + {{ {42, 209, -84}, 0, {-529, 495}, {81, 0, 158, 255} }}, + {{ {-42, 209, 26}, 0, {165, -96}, {201, 114, 0, 255} }}, + {{ {-42, 209, -84}, 0, {165, -17}, {226, 63, 150, 255} }}, + {{ {-86, 188, -84}, 0, {3, -17}, {220, 74, 160, 255} }}, + {{ {-86, 188, -84}, 0, {3, -17}, {220, 74, 160, 255} }}, + {{ {-42, 209, 132}, 0, {165, -273}, {201, 114, 0, 255} }}, + {{ {-42, 209, 26}, 0, {165, -96}, {201, 114, 0, 255} }}, + {{ {-86, 188, 132}, 0, {3, -273}, {201, 114, 0, 255} }}, + {{ {-42, 230, -84}, 0, {111, 37}, {0, 198, 143, 255} }}, + {{ {-90, 234, -84}, 0, {111, 37}, {168, 0, 164, 255} }}, + {{ {0, 234, -84}, 0, {111, 111}, {226, 0, 133, 255} }}, + {{ {0, 270, -84}, 0, {111, 111}, {226, 0, 133, 255} }}, + {{ {-90, 270, -84}, 0, {111, 37}, {170, 52, 179, 255} }}, + {{ {0, 277, -84}, 0, {111, 111}, {214, 85, 171, 255} }}, + {{ {-77, 277, -84}, 0, {111, 37}, {233, 93, 173, 255} }}, + {{ {0, 236, 113}, 0, {226, -96}, {0, 90, 90, 255} }}, + {{ {-42, 236, 113}, 0, {173, -96}, {3, 89, 91, 255} }}, + {{ {-42, 230, 113}, 0, {165, -96}, {252, 198, 113, 255} }}, + {{ {0, 236, 21}, 0, {226, -96}, {0, 127, 0, 255} }}, + {{ {42, 236, 21}, 0, {173, -96}, {252, 127, 0, 255} }}, + {{ {42, 236, 113}, 0, {173, -96}, {253, 89, 91, 255} }}, + {{ {84, 239, 21}, 0, {166, -96}, {163, 87, 0, 255} }}, + {{ {84, 239, 113}, 0, {166, -96}, {215, 38, 114, 255} }}, + {{ {84, 266, 21}, 0, {166, -96}, {147, 191, 0, 255} }}, + {{ {84, 266, 113}, 0, {166, -96}, {212, 180, 92, 255} }}, + {{ {90, 234, 113}, 0, {165, -96}, {76, 185, 74, 255} }}, + {{ {90, 270, 113}, 0, {165, -96}, {102, 47, 60, 255} }}, + {{ {75, 271, 124}, 0, {168, -96}, {17, 170, 92, 255} }}, + {{ {77, 277, 124}, 0, {165, -96}, {46, 73, 93, 255} }}, + {{ {0, 271, 124}, 0, {228, -96}, {0, 166, 90, 255} }}, + {{ {0, 277, 124}, 0, {239, -96}, {255, 90, 90, 255} }}, + {{ {-75, 271, 124}, 0, {168, -96}, {239, 170, 92, 255} }}, + {{ {-77, 277, 124}, 0, {165, -96}, {210, 73, 93, 255} }}, + {{ {-84, 266, 113}, 0, {166, -96}, {44, 180, 92, 255} }}, + {{ {-90, 270, 113}, 0, {165, -96}, {154, 47, 60, 255} }}, + {{ {-84, 266, 21}, 0, {166, -96}, {76, 154, 0, 255} }}, + {{ {-84, 266, 113}, 0, {166, -96}, {44, 180, 92, 255} }}, + {{ {-84, 239, 108}, 0, {166, -96}, {112, 60, 0, 255} }}, + {{ {-84, 266, 21}, 0, {166, -96}, {76, 154, 0, 255} }}, + {{ {-75, 271, 124}, 0, {168, -96}, {239, 170, 92, 255} }}, + {{ {-75, 271, 21}, 0, {168, -96}, {31, 133, 0, 255} }}, + {{ {0, 271, 124}, 0, {228, -96}, {0, 166, 90, 255} }}, + {{ {0, 271, 21}, 0, {228, -96}, {0, 129, 0, 255} }}, + {{ {75, 271, 124}, 0, {168, -96}, {17, 170, 92, 255} }}, + {{ {75, 271, 21}, 0, {168, -96}, {225, 133, 0, 255} }}, + {{ {84, 266, 113}, 0, {166, -96}, {212, 180, 92, 255} }}, + {{ {84, 266, 21}, 0, {166, -96}, {147, 191, 0, 255} }}, + {{ {-42, 236, 113}, 0, {173, -96}, {3, 89, 91, 255} }}, + {{ {0, 236, 21}, 0, {226, -96}, {0, 127, 0, 255} }}, + {{ {-42, 236, 108}, 0, {173, -96}, {3, 127, 0, 255} }}, + {{ {42, 209, 26}, 0, {165, -96}, {216, 121, 0, 255} }}, + {{ {0, 195, 148}, 0, {239, -273}, {0, 127, 0, 255} }}, + {{ {42, 209, 132}, 0, {165, -273}, {216, 121, 0, 255} }}, + {{ {0, 195, 26}, 0, {239, -96}, {0, 127, 0, 255} }}, + {{ {-42, 209, 26}, 0, {165, -96}, {40, 121, 0, 255} }}, + {{ {-42, 209, 132}, 0, {165, -273}, {40, 121, 0, 255} }}, + {{ {70, 104, 132}, 0, {-145, -273}, {25, 3, 125, 255} }}, + {{ {86, 188, 132}, 0, {3, -273}, {0, 0, 127, 255} }}, + {{ {42, 209, 132}, 0, {111, -326}, {27, 7, 124, 255} }}, + {{ {0, 195, 148}, 0, {111, -401}, {0, 7, 127, 255} }}, + {{ {0, 104, 148}, 0, {-145, -401}, {0, 0, 127, 255} }}, + {{ {-70, 104, 132}, 0, {-145, -273}, {231, 3, 125, 255} }}, + {{ {-42, 209, 132}, 0, {111, -326}, {229, 7, 124, 255} }}, + {{ {-86, 188, 132}, 0, {3, -273}, {0, 0, 127, 255} }}, + {{ {70, 104, -84}, 0, {-145, -17}, {125, 232, 0, 255} }}, + {{ {86, 188, -84}, 0, {3, -17}, {125, 232, 0, 255} }}, + {{ {86, 188, 132}, 0, {3, -273}, {125, 232, 0, 255} }}, + {{ {70, 104, 132}, 0, {-145, -273}, {125, 232, 0, 255} }}, + {{ {42, 209, -84}, 0, {111, 37}, {81, 0, 158, 255} }}, + {{ {0, 273, -84}, 0, {111, 111}, {0, 0, 129, 255} }}, + {{ {42, 273, -84}, 0, {111, 37}, {0, 0, 129, 255} }}, + {{ {0, 195, -84}, 0, {111, 111}, {0, 0, 129, 255} }}, + {{ {-42, 209, -84}, 0, {111, 37}, {175, 0, 158, 255} }}, + {{ {-42, 273, -84}, 0, {111, 37}, {0, 0, 129, 255} }}, + {{ {0, 230, 113}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {0, 230, -84}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {0, 230, 86}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {42, 230, 86}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {42, 230, 113}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {42, 230, -84}, 0, {-529, 495}, {0, 129, 0, 255} }}, + {{ {60, 182, 118}, 0, {495, 495}, {252, 18, 126, 255} }}, + {{ {69, 167, 101}, 0, {495, -529}, {34, 134, 254, 255} }}, + {{ {128, 184, 101}, 0, {495, -529}, {86, 163, 254, 255} }}, + {{ {111, 197, 83}, 0, {-529, -529}, {10, 243, 130, 255} }}, + {{ {60, 182, 83}, 0, {-529, -529}, {252, 19, 131, 255} }}, + {{ {105, 210, 101}, 0, {-529, 495}, {168, 91, 6, 255} }}, + {{ {51, 196, 101}, 0, {-529, 495}, {224, 123, 1, 255} }}, + {{ {116, 197, 118}, 0, {495, 495}, {17, 237, 124, 255} }}, + {{ {153, 247, 101}, 0, {495, -529}, {122, 36, 252, 255} }}, + {{ {137, 252, 83}, 0, {-529, -529}, {20, 71, 153, 255} }}, + {{ {120, 257, 101}, 0, {-529, 495}, {179, 101, 4, 255} }}, + {{ {137, 252, 118}, 0, {495, 495}, {24, 70, 103, 255} }}, + {{ {60, 182, 66}, 0, {495, 495}, {252, 18, 126, 255} }}, + {{ {69, 167, 49}, 0, {495, -529}, {34, 134, 254, 255} }}, + {{ {128, 184, 49}, 0, {495, -529}, {86, 163, 254, 255} }}, + {{ {111, 197, 31}, 0, {-529, -529}, {10, 243, 130, 255} }}, + {{ {60, 182, 31}, 0, {-529, -529}, {252, 19, 131, 255} }}, + {{ {105, 210, 49}, 0, {-529, 495}, {168, 91, 6, 255} }}, + {{ {51, 196, 49}, 0, {-529, 495}, {224, 123, 1, 255} }}, + {{ {116, 197, 66}, 0, {495, 495}, {17, 237, 124, 255} }}, + {{ {116, 197, 66}, 0, {495, 495}, {17, 237, 124, 255} }}, + {{ {128, 184, 49}, 0, {495, -529}, {86, 163, 254, 255} }}, + {{ {153, 247, 49}, 0, {495, -529}, {122, 36, 252, 255} }}, + {{ {137, 252, 31}, 0, {-529, -529}, {20, 71, 153, 255} }}, + {{ {111, 197, 31}, 0, {-529, -529}, {10, 243, 130, 255} }}, + {{ {120, 257, 49}, 0, {-529, 495}, {179, 101, 4, 255} }}, + {{ {105, 210, 49}, 0, {-529, 495}, {168, 91, 6, 255} }}, + {{ {137, 252, 66}, 0, {495, 495}, {24, 70, 103, 255} }}, + {{ {60, 182, 21}, 0, {495, 495}, {252, 18, 126, 255} }}, + {{ {69, 167, 4}, 0, {495, -529}, {34, 134, 254, 255} }}, + {{ {128, 184, 4}, 0, {495, -529}, {86, 163, 254, 255} }}, + {{ {111, 197, -13}, 0, {-529, -529}, {10, 243, 130, 255} }}, + {{ {60, 182, -13}, 0, {-529, -529}, {252, 19, 131, 255} }}, + {{ {105, 210, 4}, 0, {-529, 495}, {168, 91, 6, 255} }}, + {{ {51, 196, 4}, 0, {-529, 495}, {224, 123, 1, 255} }}, + {{ {116, 197, 21}, 0, {495, 495}, {17, 237, 124, 255} }}, + {{ {153, 247, 4}, 0, {495, -529}, {122, 36, 252, 255} }}, + {{ {137, 252, -13}, 0, {-529, -529}, {20, 71, 153, 255} }}, + {{ {120, 257, 4}, 0, {-529, 495}, {179, 101, 4, 255} }}, + {{ {137, 252, 21}, 0, {495, 495}, {24, 70, 103, 255} }}, + {{ {60, 182, -31}, 0, {495, 495}, {252, 18, 126, 255} }}, + {{ {69, 167, -48}, 0, {495, -529}, {34, 134, 254, 255} }}, + {{ {128, 184, -48}, 0, {495, -529}, {86, 163, 254, 255} }}, + {{ {111, 197, -65}, 0, {-529, -529}, {10, 243, 130, 255} }}, + {{ {60, 182, -65}, 0, {-529, -529}, {252, 19, 131, 255} }}, + {{ {105, 210, -48}, 0, {-529, 495}, {168, 91, 6, 255} }}, + {{ {51, 196, -48}, 0, {-529, 495}, {224, 123, 1, 255} }}, + {{ {116, 197, -31}, 0, {495, 495}, {17, 237, 124, 255} }}, + {{ {153, 247, -48}, 0, {495, -529}, {122, 36, 252, 255} }}, + {{ {137, 252, -65}, 0, {-529, -529}, {20, 71, 153, 255} }}, + {{ {120, 257, -48}, 0, {-529, 495}, {179, 101, 4, 255} }}, + {{ {137, 252, -31}, 0, {495, 495}, {24, 70, 103, 255} }}, + {{ {-60, 182, 118}, 0, {495, 495}, {4, 18, 126, 255} }}, + {{ {-128, 184, 101}, 0, {495, -529}, {170, 163, 254, 255} }}, + {{ {-69, 167, 101}, 0, {495, -529}, {222, 134, 254, 255} }}, + {{ {-116, 197, 118}, 0, {495, 495}, {239, 237, 124, 255} }}, + {{ {-51, 196, 101}, 0, {-529, 495}, {32, 123, 1, 255} }}, + {{ {-105, 210, 101}, 0, {-529, 495}, {88, 91, 6, 255} }}, + {{ {-60, 182, 83}, 0, {-529, -529}, {4, 19, 131, 255} }}, + {{ {-111, 197, 83}, 0, {-529, -529}, {246, 243, 130, 255} }}, + {{ {-137, 252, 83}, 0, {-529, -529}, {236, 71, 153, 255} }}, + {{ {-153, 247, 101}, 0, {495, -529}, {134, 36, 252, 255} }}, + {{ {-137, 252, 118}, 0, {495, 495}, {232, 70, 103, 255} }}, + {{ {-120, 257, 101}, 0, {-529, 495}, {77, 101, 4, 255} }}, + {{ {-60, 182, 66}, 0, {495, 495}, {4, 18, 126, 255} }}, + {{ {-128, 184, 49}, 0, {495, -529}, {170, 163, 254, 255} }}, + {{ {-69, 167, 49}, 0, {495, -529}, {222, 134, 254, 255} }}, + {{ {-116, 197, 66}, 0, {495, 495}, {239, 237, 124, 255} }}, + {{ {-51, 196, 49}, 0, {-529, 495}, {32, 123, 1, 255} }}, + {{ {-105, 210, 49}, 0, {-529, 495}, {88, 91, 6, 255} }}, + {{ {-60, 182, 31}, 0, {-529, -529}, {4, 19, 131, 255} }}, + {{ {-111, 197, 31}, 0, {-529, -529}, {246, 243, 130, 255} }}, + {{ {-137, 252, 31}, 0, {-529, -529}, {236, 71, 153, 255} }}, + {{ {-153, 247, 49}, 0, {495, -529}, {134, 36, 252, 255} }}, + {{ {-137, 252, 66}, 0, {495, 495}, {232, 70, 103, 255} }}, + {{ {-120, 257, 49}, 0, {-529, 495}, {77, 101, 4, 255} }}, + {{ {-60, 139, 21}, 0, {495, 495}, {27, 112, 53, 255} }}, + {{ {-128, 184, 4}, 0, {495, -529}, {155, 188, 218, 255} }}, + {{ {-69, 167, 4}, 0, {495, -529}, {234, 178, 158, 255} }}, + {{ {-116, 154, 21}, 0, {495, 495}, {97, 184, 39, 255} }}, + {{ {-51, 154, 4}, 0, {-529, 495}, {21, 81, 96, 255} }}, + {{ {-105, 167, 4}, 0, {-529, 495}, {59, 64, 93, 255} }}, + {{ {-60, 182, -13}, 0, {-529, -529}, {5, 27, 124, 255} }}, + {{ {-111, 197, -13}, 0, {-529, -529}, {41, 230, 139, 255} }}, + {{ {-128, 184, 4}, 0, {495, -529}, {155, 188, 218, 255} }}, + {{ {-137, 252, -13}, 0, {-529, -529}, {246, 78, 157, 255} }}, + {{ {-111, 197, -13}, 0, {-529, -529}, {41, 230, 139, 255} }}, + {{ {-153, 247, 4}, 0, {495, -529}, {135, 34, 240, 255} }}, + {{ {-116, 154, 21}, 0, {495, 495}, {97, 184, 39, 255} }}, + {{ {-137, 252, 21}, 0, {495, 495}, {228, 74, 99, 255} }}, + {{ {-105, 167, 4}, 0, {-529, 495}, {59, 64, 93, 255} }}, + {{ {-120, 257, 4}, 0, {-529, 495}, {86, 92, 18, 255} }}, + {{ {-60, 182, -31}, 0, {495, 495}, {4, 18, 126, 255} }}, + {{ {-128, 184, -48}, 0, {495, -529}, {170, 163, 254, 255} }}, + {{ {-69, 167, -48}, 0, {495, -529}, {222, 134, 254, 255} }}, + {{ {-116, 197, -31}, 0, {495, 495}, {239, 237, 124, 255} }}, + {{ {-51, 196, -48}, 0, {-529, 495}, {32, 123, 1, 255} }}, + {{ {-105, 210, -48}, 0, {-529, 495}, {88, 91, 6, 255} }}, + {{ {-60, 182, -65}, 0, {-529, -529}, {4, 19, 131, 255} }}, + {{ {-111, 197, -65}, 0, {-529, -529}, {246, 243, 130, 255} }}, + {{ {-137, 252, -65}, 0, {-529, -529}, {236, 71, 153, 255} }}, + {{ {-153, 247, -48}, 0, {495, -529}, {134, 36, 252, 255} }}, + {{ {-137, 252, -31}, 0, {495, 495}, {232, 70, 103, 255} }}, + {{ {-120, 257, -48}, 0, {-529, 495}, {77, 101, 4, 255} }}, +}; + +Gfx ship1_spag1_003_mesh_tri_9[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(9, 10, 6, 0, 6, 10, 11, 0), + gsSP2Triangles(11, 12, 6, 0, 11, 13, 12, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(8, 18, 19, 0, 19, 20, 8, 0), + gsSP2Triangles(19, 21, 20, 0, 22, 23, 24, 0), + gsSP2Triangles(25, 22, 24, 0, 24, 26, 25, 0), + gsSP2Triangles(27, 25, 26, 0, 28, 27, 26, 0), + gsSP2Triangles(26, 29, 28, 0, 28, 29, 30, 0), + gsSP1Triangle(29, 31, 30, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(4, 6, 5, 0, 4, 7, 6, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 9, 6, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 8, 11, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(14, 10, 12, 0, 14, 15, 10, 0), + gsSP2Triangles(15, 14, 16, 0, 14, 17, 16, 0), + gsSP2Triangles(14, 18, 17, 0, 18, 14, 12, 0), + gsSP2Triangles(18, 12, 19, 0, 19, 12, 20, 0), + gsSP2Triangles(19, 20, 21, 0, 21, 20, 22, 0), + gsSP2Triangles(21, 22, 23, 0, 24, 19, 21, 0), + gsSP2Triangles(25, 24, 19, 0, 19, 26, 25, 0), + gsSP2Triangles(27, 19, 26, 0, 28, 27, 26, 0), + gsSP2Triangles(28, 26, 29, 0, 30, 28, 29, 0), + gsSP2Triangles(30, 29, 0, 0, 31, 0, 29, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 64, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 4, 0), + gsSP2Triangles(1, 5, 3, 0, 1, 6, 5, 0), + gsSP2Triangles(7, 8, 9, 0, 7, 10, 8, 0), + gsSP2Triangles(11, 10, 7, 0, 11, 12, 10, 0), + gsSP2Triangles(13, 12, 11, 0, 13, 14, 12, 0), + gsSP2Triangles(15, 12, 14, 0, 16, 15, 14, 0), + gsSP2Triangles(16, 14, 17, 0, 18, 17, 16, 0), + gsSP2Triangles(18, 19, 17, 0, 17, 18, 20, 0), + gsSP2Triangles(17, 20, 16, 0, 21, 17, 16, 0), + gsSP2Triangles(21, 16, 22, 0, 22, 16, 23, 0), + gsSP2Triangles(23, 16, 24, 0, 21, 25, 17, 0), + gsSP2Triangles(21, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 96, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 5, 6, 0, 5, 7, 6, 0), + gsSP2Triangles(5, 8, 7, 0, 8, 9, 7, 0), + gsSP2Triangles(8, 10, 9, 0, 11, 12, 13, 0), + gsSP2Triangles(12, 11, 14, 0, 11, 15, 14, 0), + gsSP2Triangles(11, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), + gsSP2Triangles(18, 20, 19, 0, 20, 18, 21, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 20, 22, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(25, 24, 26, 0, 27, 25, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 27, 29, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 128, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 2, 4, 0), + gsSP2Triangles(5, 3, 4, 0, 5, 4, 6, 0), + gsSP2Triangles(7, 5, 6, 0, 7, 6, 8, 0), + gsSP2Triangles(9, 7, 8, 0, 9, 8, 10, 0), + gsSP2Triangles(11, 12, 13, 0, 14, 15, 16, 0), + gsSP2Triangles(14, 17, 15, 0, 18, 15, 17, 0), + gsSP2Triangles(18, 19, 15, 0, 20, 21, 22, 0), + gsSP2Triangles(23, 20, 22, 0, 24, 20, 23, 0), + gsSP2Triangles(25, 24, 23, 0, 26, 25, 23, 0), + gsSP2Triangles(27, 25, 26, 0, 28, 29, 30, 0), + gsSP1Triangle(28, 30, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 160, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 1, 3, 0, 4, 5, 1, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(10, 6, 9, 0, 9, 11, 10, 0), + gsSP2Triangles(12, 13, 14, 0, 13, 15, 14, 0), + gsSP2Triangles(13, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), + gsSP2Triangles(18, 12, 19, 0, 12, 14, 19, 0), + gsSP2Triangles(19, 14, 20, 0, 14, 21, 20, 0), + gsSP2Triangles(14, 15, 21, 0, 15, 22, 21, 0), + gsSP2Triangles(15, 17, 22, 0, 17, 23, 22, 0), + gsSP2Triangles(17, 19, 23, 0, 19, 20, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 25, 27, 26, 0), + gsSP2Triangles(25, 28, 27, 0, 28, 29, 27, 0), + gsSP2Triangles(28, 30, 29, 0, 30, 31, 29, 0), + gsSP2Triangles(30, 24, 31, 0, 24, 26, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 192, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), + gsSP2Triangles(6, 0, 7, 0, 0, 2, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 9, 11, 10, 0), + gsSP2Triangles(9, 12, 11, 0, 12, 13, 11, 0), + gsSP2Triangles(12, 14, 13, 0, 14, 15, 13, 0), + gsSP2Triangles(14, 8, 15, 0, 8, 10, 15, 0), + gsSP2Triangles(15, 10, 16, 0, 10, 17, 16, 0), + gsSP2Triangles(10, 11, 17, 0, 11, 18, 17, 0), + gsSP2Triangles(11, 13, 18, 0, 13, 19, 18, 0), + gsSP2Triangles(13, 15, 19, 0, 15, 16, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 21, 23, 22, 0), + gsSP2Triangles(21, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(26, 20, 27, 0, 20, 22, 27, 0), + gsSP2Triangles(27, 22, 28, 0, 22, 29, 28, 0), + gsSP2Triangles(22, 23, 29, 0, 23, 30, 29, 0), + gsSP2Triangles(23, 25, 30, 0, 25, 31, 30, 0), + gsSP2Triangles(25, 27, 31, 0, 27, 28, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 224, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(2, 7, 6, 0, 2, 1, 7, 0), + gsSP2Triangles(1, 8, 7, 0, 1, 9, 8, 0), + gsSP2Triangles(3, 9, 1, 0, 3, 10, 9, 0), + gsSP2Triangles(5, 10, 3, 0, 5, 11, 10, 0), + gsSP2Triangles(7, 11, 5, 0, 7, 8, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 15, 13, 0), + gsSP2Triangles(16, 15, 12, 0, 16, 17, 15, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(14, 19, 18, 0, 14, 13, 19, 0), + gsSP2Triangles(13, 20, 19, 0, 13, 21, 20, 0), + gsSP2Triangles(15, 21, 13, 0, 15, 22, 21, 0), + gsSP2Triangles(17, 22, 15, 0, 17, 23, 22, 0), + gsSP2Triangles(19, 23, 17, 0, 19, 20, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 27, 25, 0), + gsSP2Triangles(28, 27, 24, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), + gsSP2Triangles(26, 31, 30, 0, 26, 25, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_9 + 256, 20, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(2, 7, 6, 0, 2, 1, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 11, 9, 0), + gsSP2Triangles(12, 11, 8, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(10, 15, 14, 0, 10, 9, 15, 0), + gsSP2Triangles(9, 16, 15, 0, 9, 17, 16, 0), + gsSP2Triangles(11, 17, 9, 0, 11, 18, 17, 0), + gsSP2Triangles(13, 18, 11, 0, 13, 19, 18, 0), + gsSP2Triangles(15, 19, 13, 0, 15, 16, 19, 0), + gsSPEndDisplayList(), +}; + +Vtx ship1_spag1_003_mesh_vtx_10[36] = { + {{ {87, 40, -360}, 0, {-16, 1008}, {107, 0, 187, 255} }}, + {{ {59, 12, -360}, 0, {1008, 1008}, {0, 149, 187, 255} }}, + {{ {32, 40, -360}, 0, {1008, -16}, {149, 0, 187, 255} }}, + {{ {59, 67, -360}, 0, {-16, -16}, {0, 107, 187, 255} }}, + {{ {120, 257, 101}, 0, {-16, 1008}, {179, 101, 4, 255} }}, + {{ {137, 252, 118}, 0, {1008, 1008}, {24, 70, 103, 255} }}, + {{ {153, 247, 101}, 0, {1008, -16}, {122, 36, 252, 255} }}, + {{ {137, 252, 83}, 0, {-16, -16}, {20, 71, 153, 255} }}, + {{ {120, 257, 49}, 0, {-16, 1008}, {179, 101, 4, 255} }}, + {{ {137, 252, 66}, 0, {1008, 1008}, {24, 70, 103, 255} }}, + {{ {153, 247, 49}, 0, {1008, -16}, {122, 36, 252, 255} }}, + {{ {137, 252, 31}, 0, {-16, -16}, {20, 71, 153, 255} }}, + {{ {120, 257, 4}, 0, {-16, 1008}, {179, 101, 4, 255} }}, + {{ {137, 252, 21}, 0, {1008, 1008}, {24, 70, 103, 255} }}, + {{ {153, 247, 4}, 0, {1008, -16}, {122, 36, 252, 255} }}, + {{ {137, 252, -13}, 0, {-16, -16}, {20, 71, 153, 255} }}, + {{ {120, 257, -48}, 0, {-16, 1008}, {179, 101, 4, 255} }}, + {{ {137, 252, -31}, 0, {1008, 1008}, {24, 70, 103, 255} }}, + {{ {153, 247, -48}, 0, {1008, -16}, {122, 36, 252, 255} }}, + {{ {137, 252, -65}, 0, {-16, -16}, {20, 71, 153, 255} }}, + {{ {-120, 257, 101}, 0, {-16, 1008}, {77, 101, 4, 255} }}, + {{ {-137, 252, 83}, 0, {-16, -16}, {236, 71, 153, 255} }}, + {{ {-153, 247, 101}, 0, {1008, -16}, {134, 36, 252, 255} }}, + {{ {-137, 252, 118}, 0, {1008, 1008}, {232, 70, 103, 255} }}, + {{ {-120, 257, 49}, 0, {-16, 1008}, {77, 101, 4, 255} }}, + {{ {-137, 252, 31}, 0, {-16, -16}, {236, 71, 153, 255} }}, + {{ {-153, 247, 49}, 0, {1008, -16}, {134, 36, 252, 255} }}, + {{ {-137, 252, 66}, 0, {1008, 1008}, {232, 70, 103, 255} }}, + {{ {-120, 257, 4}, 0, {-16, 1008}, {86, 92, 18, 255} }}, + {{ {-137, 252, -13}, 0, {-16, -16}, {246, 78, 157, 255} }}, + {{ {-153, 247, 4}, 0, {1008, -16}, {135, 34, 240, 255} }}, + {{ {-137, 252, 21}, 0, {1008, 1008}, {228, 74, 99, 255} }}, + {{ {-120, 257, -48}, 0, {-16, 1008}, {77, 101, 4, 255} }}, + {{ {-137, 252, -65}, 0, {-16, -16}, {236, 71, 153, 255} }}, + {{ {-153, 247, -48}, 0, {1008, -16}, {134, 36, 252, 255} }}, + {{ {-137, 252, -31}, 0, {1008, 1008}, {232, 70, 103, 255} }}, +}; + +Gfx ship1_spag1_003_mesh_tri_10[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_10 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_10 + 32, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +Vtx ship1_spag1_003_mesh_vtx_11[10] = { + {{ {84, 239, 111}, 0, {2058, 924}, {0, 0, 127, 255} }}, + {{ {84, 266, 111}, 0, {2058, 117}, {0, 0, 127, 255} }}, + {{ {75, 271, 111}, 0, {1900, -16}, {0, 0, 127, 255} }}, + {{ {42, 236, 111}, 0, {1285, 1008}, {0, 0, 127, 255} }}, + {{ {0, 271, 111}, 0, {496, -16}, {0, 0, 127, 255} }}, + {{ {0, 236, 111}, 0, {496, 1008}, {0, 0, 127, 255} }}, + {{ {-42, 236, 111}, 0, {-293, 1008}, {0, 0, 127, 255} }}, + {{ {-75, 271, 111}, 0, {-908, -16}, {0, 0, 127, 255} }}, + {{ {-84, 239, 111}, 0, {-1066, 924}, {0, 0, 127, 255} }}, + {{ {-84, 266, 111}, 0, {-1066, 117}, {0, 0, 127, 255} }}, +}; + +Gfx ship1_spag1_003_mesh_tri_11[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_11 + 0, 10, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(2, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 5, 4, 0, 4, 7, 6, 0), + gsSP2Triangles(6, 7, 8, 0, 7, 9, 8, 0), + gsSPEndDisplayList(), +}; + +Vtx ship1_spag1_003_mesh_vtx_12[8] = { + {{ {-78, 40, -264}, 0, {-580, -1092}, {130, 0, 12, 255} }}, + {{ {-60, 58, -264}, 0, {-1092, -1092}, {0, 126, 12, 255} }}, + {{ {-60, 67, -360}, 0, {-1092, -1092}, {0, 107, 187, 255} }}, + {{ {-32, 40, -360}, 0, {-1092, -580}, {107, 0, 187, 255} }}, + {{ {-41, 40, -264}, 0, {-1092, -580}, {126, 0, 12, 255} }}, + {{ {-60, 12, -360}, 0, {-580, -580}, {0, 149, 187, 255} }}, + {{ {-60, 21, -264}, 0, {-580, -580}, {0, 130, 12, 255} }}, + {{ {-87, 40, -360}, 0, {-580, -1092}, {149, 0, 187, 255} }}, +}; + +Gfx ship1_spag1_003_mesh_tri_12[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_12 + 0, 8, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), + gsSP2Triangles(6, 0, 7, 0, 0, 2, 7, 0), + gsSPEndDisplayList(), +}; + +Vtx ship1_spag1_003_mesh_vtx_13[4] = { + {{ {-32, 40, -360}, 0, {-16, 1008}, {107, 0, 187, 255} }}, + {{ {-60, 12, -360}, 0, {1008, 1008}, {0, 149, 187, 255} }}, + {{ {-87, 40, -360}, 0, {1008, -16}, {149, 0, 187, 255} }}, + {{ {-60, 67, -360}, 0, {-16, -16}, {0, 107, 187, 255} }}, +}; + +Gfx ship1_spag1_003_mesh_tri_13[] = { + gsSPVertex(ship1_spag1_003_mesh_vtx_13 + 0, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList(), +}; + Gfx mat_ship1_boat1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_wood_rgba16), @@ -5512,19 +3457,13 @@ Gfx mat_ship1_boat1[] = { gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_boat1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - Gfx mat_ship1_metal1[] = { - gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), - gsSPClearGeometryMode(G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(960, 960, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, ship1_metal1_i8), @@ -5535,190 +3474,98 @@ Gfx mat_ship1_metal1[] = { gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_metal1[] = { - gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -Gfx mat_ship1_wood1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ship1__32wood_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 29), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ship1__32wood_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ship1_wood1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), - gsSPEndDisplayList(), -}; - Gfx mat_ship1_sail[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ship1_sail2_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 50), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ship1_sail2_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_sail2_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_sail[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), - gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), - gsSPEndDisplayList(), -}; - Gfx mat_ship1_logo[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, ship1_hmpainted_rgba32), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_hmpainted_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_logo[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - Gfx mat_ship1_spag1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, ship1_spag1_rgba32), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 4095, 64), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(0, 0, 0, 252, 252), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ship1_spag1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -Gfx mat_ship1_sauce1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ship1_sauce_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 0), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, ship1_sauce_ci4), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 63, 2048), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 1, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), - gsDPSetTileSize(0, 0, 0, 60, 60), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ship1_sauce1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), - gsSPEndDisplayList(), -}; - -Gfx mat_ship1_meat1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 179, 145, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, ship1__32wood_rgba32), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_spag1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_meat1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), +Gfx mat_ship1_sauce1[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -Gfx mat_ship1_fork1[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_sauce_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 255, 512), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTileSize(0, 0, 0, 60, 60), gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_fork1[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), +Gfx mat_ship1_meat1[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 179, 145, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1__32wood_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; Gfx mat_ship1_flag[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_flag_rgba16), @@ -5729,19 +3576,13 @@ Gfx mat_ship1_flag[] = { gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_flag[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - Gfx mat_ship1_wood2[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 173, 173, 173, 255), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_wood2_rgba16), @@ -5752,56 +3593,117 @@ Gfx mat_ship1_wood2[] = { gsSPEndDisplayList(), }; -Gfx mat_revert_ship1_wood2[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), +Gfx mat_ship1_engine[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_RGBA16 | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(1984, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ship1_shinyengine_pal_rgba16), + gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadTLUTCmd(5, 45), + gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ship1_shinyengine_ci8), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 511, 512), + gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; -Gfx ship1_Spaghetti_mesh[] = { +Gfx mat_ship1_black[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 0, 0, 0, 255), + gsSPEndDisplayList(), +}; + +Gfx mat_ship1_engine2[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ship1_enginepiece_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPEndDisplayList(), +}; + +Gfx mat_ship1_metal1_001[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(960, 960, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, ship1_metal1_i8_copy), + gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 127, 1024), + gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 2, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTileSize(0, 0, 0, 60, 60), + gsSPEndDisplayList(), +}; + +Gfx mat_ship1_black_001[] = { + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_FOG | G_LIGHTING | G_SHADING_SMOOTH), + gsSPClearGeometryMode(G_CULL_FRONT | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE), + gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 0, 0, 0, 255), + gsSPEndDisplayList(), +}; + +Gfx ship1_spag1_mesh[] = { gsSPClearGeometryMode(G_LIGHTING), - gsSPVertex(ship1_Spaghetti_mesh_vtx_cull + 0, 8, 0), + gsSPVertex(ship1_spag1_003_mesh_vtx_cull + 0, 8, 0), gsSPSetGeometryMode(G_LIGHTING), gsSPCullDisplayList(0, 7), gsSPDisplayList(mat_ship1_boat1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_0), - gsSPDisplayList(mat_revert_ship1_boat1), + gsSPDisplayList(ship1_spag1_003_mesh_tri_0), gsSPDisplayList(mat_ship1_metal1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_1), - gsSPDisplayList(mat_revert_ship1_metal1), - gsSPDisplayList(mat_ship1_wood1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_2), - gsSPDisplayList(mat_revert_ship1_wood1), + gsSPDisplayList(ship1_spag1_003_mesh_tri_1), gsSPDisplayList(mat_ship1_sail), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_3), - gsSPDisplayList(mat_revert_ship1_sail), + gsSPDisplayList(ship1_spag1_003_mesh_tri_2), gsSPDisplayList(mat_ship1_logo), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_4), - gsSPDisplayList(mat_revert_ship1_logo), + gsSPDisplayList(ship1_spag1_003_mesh_tri_3), gsSPDisplayList(mat_ship1_spag1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_5), - gsSPDisplayList(mat_revert_ship1_spag1), + gsSPDisplayList(ship1_spag1_003_mesh_tri_4), gsSPDisplayList(mat_ship1_sauce1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_6), - gsSPDisplayList(mat_revert_ship1_sauce1), + gsSPDisplayList(ship1_spag1_003_mesh_tri_5), gsSPDisplayList(mat_ship1_meat1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_7), - gsSPDisplayList(mat_revert_ship1_meat1), - gsSPDisplayList(mat_ship1_fork1), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_8), - gsSPDisplayList(mat_revert_ship1_fork1), + gsSPDisplayList(ship1_spag1_003_mesh_tri_6), gsSPDisplayList(mat_ship1_flag), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_9), - gsSPDisplayList(mat_revert_ship1_flag), + gsSPDisplayList(ship1_spag1_003_mesh_tri_7), gsSPDisplayList(mat_ship1_wood2), - gsSPDisplayList(ship1_Spaghetti_mesh_tri_10), - gsSPDisplayList(mat_revert_ship1_wood2), - gsDPPipeSync(), - gsSPSetGeometryMode(G_LIGHTING), - gsSPClearGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 0), + gsSPDisplayList(ship1_spag1_003_mesh_tri_8), + gsSPDisplayList(mat_ship1_engine), + gsSPDisplayList(ship1_spag1_003_mesh_tri_9), + gsSPDisplayList(mat_ship1_black), + gsSPDisplayList(ship1_spag1_003_mesh_tri_10), + gsSPDisplayList(mat_ship1_engine2), + gsSPDisplayList(ship1_spag1_003_mesh_tri_11), + gsSPDisplayList(mat_ship1_metal1_001), + gsSPDisplayList(ship1_spag1_003_mesh_tri_12), + gsSPDisplayList(mat_ship1_black_001), + gsSPDisplayList(ship1_spag1_003_mesh_tri_13), gsSPEndDisplayList(), }; @@ -5809,6 +3711,9 @@ Gfx ship1_Spaghetti_mesh[] = { + + + Gfx wheels_metal1_i8_aligner[] = {gsSPEndDisplayList()}; u8 wheels_metal1_i8[] = { 0x45, 0x45, 0x45, 0x45, 0x45, 0x4b, 0x52, 0x52, @@ -6009,6 +3914,15 @@ Vtx wheels_Spaghetti_002_mesh_vtx_0[111] = { }; Gfx wheels_Spaghetti_002_mesh_tri_0[] = { + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2), + gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + + gsSPClearGeometryMode(G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH), + gsSPVertex(wheels_Spaghetti_002_mesh_vtx_0 + 0, 32, 0), gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), gsSP2Triangles(4, 3, 0, 0, 4, 0, 5, 0), diff --git a/courses/harbour/ship_model.h b/courses/harbour/ship_model.h index 2372d0b89..8d5def6c8 100644 --- a/courses/harbour/ship_model.h +++ b/courses/harbour/ship_model.h @@ -2,63 +2,59 @@ extern u8 ship1_wood_rgba16[]; extern u8 ship1_metal1_i8[]; -extern u8 ship1__32wood_ci8[]; -extern u8 ship1__32wood_pal_rgba16[]; -extern u8 ship1_sail2_ci8[]; -extern u8 ship1_sail2_pal_rgba16[]; -extern u8 ship1_hmpainted_rgba32[]; -extern u8 ship1_spag1_rgba32[]; -extern u8 ship1_sauce_ci4[]; -extern u8 ship1_sauce_pal_rgba16[]; -extern u8 ship1__32wood_rgba32[]; +extern u8 ship1_sail2_rgba16[]; +extern u8 ship1_hmpainted_rgba16[]; +extern u8 ship1_spag1_rgba16[]; +extern u8 ship1_sauce_rgba16[]; +extern u8 ship1__32wood_rgba16[]; extern u8 ship1_flag_rgba16[]; extern u8 ship1_wood2_rgba16[]; -extern Vtx ship1_Spaghetti_mesh_vtx_cull[8]; -extern Vtx ship1_Spaghetti_mesh_vtx_0[108]; -extern Gfx ship1_Spaghetti_mesh_tri_0[]; -extern Vtx ship1_Spaghetti_mesh_vtx_1[58]; -extern Gfx ship1_Spaghetti_mesh_tri_1[]; -extern Vtx ship1_Spaghetti_mesh_vtx_2[357]; -extern Gfx ship1_Spaghetti_mesh_tri_2[]; -extern Vtx ship1_Spaghetti_mesh_vtx_3[15]; -extern Gfx ship1_Spaghetti_mesh_tri_3[]; -extern Vtx ship1_Spaghetti_mesh_vtx_4[12]; -extern Gfx ship1_Spaghetti_mesh_tri_4[]; -extern Vtx ship1_Spaghetti_mesh_vtx_5[43]; -extern Gfx ship1_Spaghetti_mesh_tri_5[]; -extern Vtx ship1_Spaghetti_mesh_vtx_6[43]; -extern Gfx ship1_Spaghetti_mesh_tri_6[]; -extern Vtx ship1_Spaghetti_mesh_vtx_7[79]; -extern Gfx ship1_Spaghetti_mesh_tri_7[]; -extern Vtx ship1_Spaghetti_mesh_vtx_8[12]; -extern Gfx ship1_Spaghetti_mesh_tri_8[]; -extern Vtx ship1_Spaghetti_mesh_vtx_9[3]; -extern Gfx ship1_Spaghetti_mesh_tri_9[]; -extern Vtx ship1_Spaghetti_mesh_vtx_10[17]; -extern Gfx ship1_Spaghetti_mesh_tri_10[]; +extern u8 ship1_shinyengine_ci8[]; +extern u8 ship1_shinyengine_pal_rgba16[]; +extern u8 ship1_enginepiece_rgba16[]; +extern Vtx ship1_spag1_mesh_vtx_cull[8]; +extern Vtx ship1_spag1_mesh_vtx_0[86]; +extern Gfx ship1_spag1_mesh_tri_0[]; +extern Vtx ship1_spag1_mesh_vtx_1[32]; +extern Gfx ship1_spag1_mesh_tri_1[]; +extern Vtx ship1_spag1_mesh_vtx_2[15]; +extern Gfx ship1_spag1_mesh_tri_2[]; +extern Vtx ship1_spag1_mesh_vtx_3[12]; +extern Gfx ship1_spag1_mesh_tri_3[]; +extern Vtx ship1_spag1_mesh_vtx_4[17]; +extern Gfx ship1_spag1_mesh_tri_4[]; +extern Vtx ship1_spag1_mesh_vtx_5[16]; +extern Gfx ship1_spag1_mesh_tri_5[]; +extern Vtx ship1_spag1_mesh_vtx_6[79]; +extern Gfx ship1_spag1_mesh_tri_6[]; +extern Vtx ship1_spag1_mesh_vtx_7[3]; +extern Gfx ship1_spag1_mesh_tri_7[]; +extern Vtx ship1_spag1_mesh_vtx_8[17]; +extern Gfx ship1_spag1_mesh_tri_8[]; +extern Vtx ship1_spag1_mesh_vtx_9[254]; +extern Gfx ship1_spag1_mesh_tri_9[]; +extern Vtx ship1_spag1_mesh_vtx_10[32]; +extern Gfx ship1_spag1_mesh_tri_10[]; +extern Vtx ship1_spag1_mesh_vtx_11[10]; +extern Gfx ship1_spag1_mesh_tri_11[]; extern Gfx mat_ship1_boat1[]; -extern Gfx mat_revert_ship1_boat1[]; extern Gfx mat_ship1_metal1[]; -extern Gfx mat_revert_ship1_metal1[]; -extern Gfx mat_ship1_wood1[]; -extern Gfx mat_revert_ship1_wood1[]; extern Gfx mat_ship1_sail[]; -extern Gfx mat_revert_ship1_sail[]; extern Gfx mat_ship1_logo[]; -extern Gfx mat_revert_ship1_logo[]; extern Gfx mat_ship1_spag1[]; -extern Gfx mat_revert_ship1_spag1[]; extern Gfx mat_ship1_sauce1[]; -extern Gfx mat_revert_ship1_sauce1[]; extern Gfx mat_ship1_meat1[]; -extern Gfx mat_revert_ship1_meat1[]; -extern Gfx mat_ship1_fork1[]; -extern Gfx mat_revert_ship1_fork1[]; extern Gfx mat_ship1_flag[]; -extern Gfx mat_revert_ship1_flag[]; extern Gfx mat_ship1_wood2[]; -extern Gfx mat_revert_ship1_wood2[]; -extern Gfx ship1_Spaghetti_mesh[]; +extern Gfx mat_ship1_engine[]; +extern Gfx mat_ship1_black[]; +extern Gfx mat_ship1_engine2[]; +extern Gfx ship1_spag1_mesh[]; + + + + + extern u8 wheels_metal1_i8[]; extern u8 wheels_tire_i8[]; diff --git a/courses/harbour/track.c b/courses/harbour/track.c index ecbe68702..cf27be1a9 100644 --- a/courses/harbour/track.c +++ b/courses/harbour/track.c @@ -1,87 +1,273 @@ #include #include +#include "port/Game.h" + Lights1 ground_f3d_material_013_lights = gdSPDefLights1( 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49); -Gfx ground_woodPlanks1_ci4_aligner[] = {gsSPEndDisplayList()}; -u8 ground_woodPlanks1_ci4[] = { - 0x01, 0x00, 0x01, 0x01, 0x12, 0x21, 0x12, 0x34, - 0x22, 0x20, 0x22, 0x25, 0x24, 0x55, 0x62, 0x00, - 0x37, 0x89, 0xa9, 0x74, 0x89, 0xbc, 0x77, 0x97, - 0x54, 0x44, 0x63, 0x43, 0x42, 0x2a, 0x43, 0x42, - 0x85, 0x7c, 0xcb, 0x8d, 0xd7, 0x55, 0x85, 0xbb, - 0xbc, 0xbc, 0xcc, 0xc8, 0x7a, 0x79, 0x87, 0xcb, - 0x5b, 0x79, 0x73, 0xb7, 0xb8, 0xc7, 0xbc, 0x79, - 0x99, 0x98, 0x87, 0x75, 0x8c, 0xdc, 0xbc, 0xcc, - 0x9b, 0xcc, 0xb9, 0x87, 0xd8, 0x99, 0x97, 0x8b, - 0xa8, 0x38, 0x88, 0x94, 0xcc, 0x3c, 0xc7, 0xa5, - 0x83, 0x85, 0x87, 0xb5, 0xbc, 0xc3, 0x7d, 0xcc, - 0x58, 0x94, 0x33, 0x94, 0x44, 0x5a, 0x7b, 0xc9, - 0xb7, 0xd3, 0xa5, 0x54, 0x44, 0x79, 0x79, 0xc5, - 0xb9, 0x28, 0x95, 0xbb, 0xc7, 0xa7, 0x77, 0xcb, - 0xd9, 0x9b, 0xd7, 0x95, 0x3b, 0x57, 0xb5, 0x8b, - 0xd7, 0x23, 0x58, 0xd5, 0x57, 0x98, 0x7b, 0x77, - 0x89, 0x74, 0x54, 0x83, 0x43, 0xa5, 0x97, 0x54, - 0x43, 0x34, 0x32, 0x43, 0x23, 0x34, 0x43, 0x44, - 0xee, 0xee, 0x66, 0x66, 0xe6, 0xee, 0xe6, 0x6e, - 0xee, 0x66, 0xee, 0xee, 0xee, 0xe6, 0xee, 0xee, - 0x53, 0x54, 0x25, 0xaa, 0x55, 0x55, 0x51, 0x44, - 0x54, 0x83, 0x54, 0x55, 0x43, 0x59, 0x55, 0x45, - 0x77, 0x7b, 0x99, 0x98, 0x55, 0x57, 0xb7, 0x83, - 0x83, 0x33, 0x35, 0x33, 0x43, 0x59, 0x38, 0x34, - 0x43, 0x43, 0x43, 0x54, 0x44, 0x43, 0x43, 0x48, - 0x45, 0x35, 0x35, 0x23, 0x34, 0x33, 0x53, 0x58, - 0x84, 0x43, 0x44, 0x58, 0x85, 0x83, 0x35, 0x53, - 0x83, 0x34, 0x44, 0x45, 0x83, 0x43, 0x85, 0x88, - 0x45, 0x54, 0x80, 0x43, 0x4a, 0x39, 0x83, 0x58, - 0x35, 0x33, 0x53, 0x38, 0x53, 0x45, 0x53, 0x9a, - 0x43, 0x35, 0x34, 0xa8, 0x87, 0x7a, 0x53, 0x38, - 0x55, 0x34, 0x53, 0x38, 0x53, 0x45, 0x57, 0x85, - 0x35, 0x43, 0x88, 0x7a, 0x78, 0x95, 0x57, 0xb3, - 0x48, 0x53, 0x59, 0x54, 0x8b, 0x77, 0x59, 0xa8, - 0x35, 0x43, 0x5b, 0x88, 0x58, 0x73, 0x55, 0x53, - 0x38, 0x53, 0x73, 0x5a, 0x55, 0x83, 0x7b, 0xdd, - 0x45, 0x79, 0x87, 0xa7, 0xb7, 0x99, 0x7b, 0xb8, - 0x78, 0x93, 0x35, 0x85, 0xa4, 0x57, 0x35, 0xbb, - 0x87, 0x4a, 0xb9, 0x79, 0xb3, 0x99, 0x54, 0x48, - 0x8a, 0x89, 0x58, 0x88, 0x39, 0xa3, 0x5b, 0xda, - 0x59, 0x78, 0x78, 0xa9, 0x88, 0x59, 0x58, 0xa5, - 0x98, 0x54, 0x47, 0x7a, 0xa5, 0x7a, 0x53, 0x57, - 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x2e, 0xee, - 0x66, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x06, - 0x47, 0xa5, 0xb7, 0x99, 0x78, 0x7b, 0x7b, 0x7c, - 0xcb, 0x5b, 0x83, 0xbc, 0xbb, 0x5a, 0x83, 0xa9, - 0x7c, 0x7c, 0xba, 0x7b, 0xbc, 0xbc, 0x79, 0x7b, - 0x77, 0xb8, 0xb3, 0xcb, 0xc9, 0xdc, 0xb7, 0xad, - 0xc7, 0xc5, 0x77, 0x53, 0x73, 0x98, 0xaa, 0x55, - 0x99, 0xc5, 0x53, 0x85, 0x4d, 0xbb, 0xb1, 0x54, - 0x58, 0x7a, 0x7b, 0x79, 0xac, 0x79, 0x7b, 0xda, - 0x37, 0x7d, 0xd8, 0xdd, 0xdb, 0xcc, 0xac, 0x7b, - 0x8a, 0x7c, 0xbd, 0x77, 0x79, 0x94, 0x8b, 0x78, - 0x77, 0xd7, 0xaa, 0x5c, 0xcc, 0xcb, 0x88, 0x5a, - 0x47, 0xb7, 0xa7, 0x79, 0x9b, 0xb8, 0x97, 0x9d, - 0x7b, 0xad, 0x58, 0x38, 0x7d, 0xb9, 0x48, 0x85, - 0x7c, 0xbb, 0x9b, 0xcb, 0xc9, 0x77, 0x55, 0xa5, - 0x8a, 0x94, 0x98, 0x3a, 0xda, 0xac, 0x97, 0x9b, - 0x9c, 0x83, 0x87, 0x85, 0xc5, 0x79, 0x88, 0x8a, - 0xbb, 0x95, 0x8a, 0x58, 0xba, 0xa7, 0xac, 0xb5, - 0x49, 0x58, 0x99, 0xac, 0x95, 0x98, 0x7a, 0x38, - 0x3a, 0x35, 0x75, 0xa5, 0x57, 0x7c, 0x55, 0xaa, - 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x6e, - 0xee, 0xee, 0xee, 0xe6, 0xee, 0x66, 0xee, 0xee, +Gfx ground_woodPlanks1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_woodPlanks1_rgba16[] = { + 0x20, 0xc5, 0x31, 0x49, 0x20, 0xc5, 0x20, 0xc5, + 0x20, 0xc5, 0x31, 0x49, 0x20, 0xc5, 0x31, 0x49, + 0x31, 0x49, 0x39, 0x49, 0x39, 0x49, 0x31, 0x49, + 0x31, 0x49, 0x39, 0x49, 0x5a, 0x0d, 0x49, 0xcb, + 0x39, 0x49, 0x39, 0x49, 0x39, 0x49, 0x20, 0xc5, + 0x39, 0x49, 0x39, 0x49, 0x39, 0x49, 0x62, 0x4f, + 0x39, 0x49, 0x49, 0xcb, 0x62, 0x4f, 0x62, 0x4f, + 0x10, 0x83, 0x39, 0x49, 0x20, 0xc5, 0x20, 0xc5, + 0x5a, 0x0d, 0x8b, 0x13, 0x72, 0x91, 0x7a, 0xd3, + 0x7a, 0xd1, 0x7a, 0xd3, 0x8b, 0x13, 0x49, 0xcb, + 0x72, 0x91, 0x7a, 0xd3, 0x93, 0x55, 0xa3, 0x97, + 0x8b, 0x13, 0x8b, 0x13, 0x7a, 0xd3, 0x8b, 0x13, + 0x62, 0x4f, 0x49, 0xcb, 0x49, 0xcb, 0x49, 0xcb, + 0x10, 0x83, 0x5a, 0x0d, 0x49, 0xcb, 0x5a, 0x0d, + 0x49, 0xcb, 0x39, 0x49, 0x39, 0x49, 0x7a, 0xd1, + 0x49, 0xcb, 0x5a, 0x0d, 0x49, 0xcb, 0x39, 0x49, + 0x72, 0x91, 0x62, 0x4f, 0x8b, 0x13, 0xa3, 0x97, + 0xa3, 0x97, 0x93, 0x55, 0x72, 0x91, 0x8b, 0x55, + 0x8b, 0x55, 0x8b, 0x13, 0x62, 0x4f, 0x62, 0x4f, + 0x72, 0x91, 0x62, 0x4f, 0x93, 0x55, 0x93, 0x55, + 0x93, 0x55, 0xa3, 0x97, 0x93, 0x55, 0xa3, 0x97, + 0xa3, 0x97, 0xa3, 0x97, 0xa3, 0x97, 0x72, 0x91, + 0x8b, 0x13, 0x7a, 0xd1, 0x8b, 0x13, 0x7a, 0xd3, + 0x72, 0x91, 0x8b, 0x13, 0xa3, 0x97, 0x93, 0x55, + 0x62, 0x4f, 0x93, 0x55, 0x8b, 0x13, 0x7a, 0xd3, + 0x8b, 0x13, 0x5a, 0x0d, 0x93, 0x55, 0x8b, 0x13, + 0x93, 0x55, 0x72, 0x91, 0xa3, 0x97, 0x8b, 0x13, + 0x93, 0x55, 0xa3, 0x97, 0x8b, 0x13, 0x7a, 0xd3, + 0x7a, 0xd3, 0x7a, 0xd3, 0x7a, 0xd3, 0x72, 0x91, + 0x72, 0x91, 0x8b, 0x13, 0x8b, 0x13, 0x62, 0x4f, + 0x72, 0x91, 0xa3, 0x97, 0x8b, 0x55, 0xa3, 0x97, + 0x93, 0x55, 0xa3, 0x97, 0xa3, 0x97, 0xa3, 0x97, + 0x7a, 0xd3, 0x93, 0x55, 0xa3, 0x97, 0xa3, 0x97, + 0x93, 0x55, 0x7a, 0xd3, 0x72, 0x91, 0x8b, 0x13, + 0x8b, 0x55, 0x72, 0x91, 0x7a, 0xd3, 0x7a, 0xd3, + 0x7a, 0xd3, 0x8b, 0x13, 0x72, 0x91, 0x93, 0x55, + 0x7a, 0xd1, 0x72, 0x91, 0x5a, 0x0d, 0x72, 0x91, + 0x72, 0x91, 0x72, 0x91, 0x7a, 0xd3, 0x49, 0xcb, + 0xa3, 0x97, 0xa3, 0x97, 0x5a, 0x0d, 0xa3, 0x97, + 0xa3, 0x97, 0x8b, 0x13, 0x7a, 0xd1, 0x62, 0x4f, + 0x72, 0x91, 0x5a, 0x0d, 0x72, 0x91, 0x62, 0x4f, + 0x72, 0x91, 0x8b, 0x13, 0x93, 0x55, 0x62, 0x4f, + 0x93, 0x55, 0xa3, 0x97, 0xa3, 0x97, 0x5a, 0x0d, + 0x8b, 0x13, 0x8b, 0x55, 0xa3, 0x97, 0xa3, 0x97, + 0x62, 0x4f, 0x72, 0x91, 0x7a, 0xd3, 0x49, 0xcb, + 0x5a, 0x0d, 0x5a, 0x0d, 0x7a, 0xd3, 0x49, 0xcb, + 0x49, 0xcb, 0x49, 0xcb, 0x62, 0x4f, 0x7a, 0xd1, + 0x8b, 0x13, 0x93, 0x55, 0xa3, 0x97, 0x7a, 0xd3, + 0x93, 0x55, 0x8b, 0x13, 0x8b, 0x55, 0x5a, 0x0d, + 0x7a, 0xd1, 0x62, 0x4f, 0x62, 0x4f, 0x49, 0xcb, + 0x49, 0xcb, 0x49, 0xcb, 0x8b, 0x13, 0x7a, 0xd3, + 0x8b, 0x13, 0x7a, 0xd3, 0xa3, 0x97, 0x62, 0x4f, + 0x93, 0x55, 0x7a, 0xd3, 0x39, 0x49, 0x72, 0x91, + 0x7a, 0xd3, 0x62, 0x4f, 0x93, 0x55, 0x93, 0x55, + 0xa3, 0x97, 0x8b, 0x13, 0x7a, 0xd1, 0x8b, 0x13, + 0x8b, 0x13, 0x8b, 0x13, 0xa3, 0x97, 0x93, 0x55, + 0x8b, 0x55, 0x7a, 0xd3, 0x7a, 0xd3, 0x93, 0x55, + 0x8b, 0x55, 0x8b, 0x13, 0x7a, 0xd3, 0x62, 0x4f, + 0x5a, 0x0d, 0x93, 0x55, 0x62, 0x4f, 0x8b, 0x13, + 0x93, 0x55, 0x62, 0x4f, 0x72, 0x91, 0x93, 0x55, + 0x8b, 0x55, 0x8b, 0x13, 0x39, 0x49, 0x5a, 0x0d, + 0x62, 0x4f, 0x72, 0x91, 0x8b, 0x55, 0x62, 0x4f, + 0x62, 0x4f, 0x8b, 0x13, 0x7a, 0xd3, 0x72, 0x91, + 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x13, 0x8b, 0x13, + 0x72, 0x91, 0x7a, 0xd3, 0x8b, 0x13, 0x49, 0xcb, + 0x62, 0x4f, 0x49, 0xcb, 0x72, 0x91, 0x5a, 0x0d, + 0x49, 0xcb, 0x5a, 0x0d, 0x7a, 0xd1, 0x62, 0x4f, + 0x7a, 0xd3, 0x8b, 0x13, 0x62, 0x4f, 0x49, 0xcb, + 0x49, 0xcb, 0x5a, 0x0d, 0x5a, 0x0d, 0x49, 0xcb, + 0x5a, 0x0d, 0x39, 0x49, 0x49, 0xcb, 0x5a, 0x0d, + 0x39, 0x49, 0x5a, 0x0d, 0x5a, 0x0d, 0x49, 0xcb, + 0x49, 0xcb, 0x5a, 0x0d, 0x49, 0xcb, 0x49, 0xcb, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x10, 0x83, 0x10, 0x83, 0x10, 0x83, 0x10, 0x83, + 0x00, 0x01, 0x10, 0x83, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x10, 0x83, 0x10, 0x83, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x10, 0x83, 0x10, 0x83, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x10, 0x83, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x62, 0x4f, 0x5a, 0x0d, 0x62, 0x4f, 0x49, 0xcb, + 0x39, 0x49, 0x62, 0x4f, 0x7a, 0xd1, 0x7a, 0xd1, + 0x62, 0x4f, 0x62, 0x4f, 0x62, 0x4f, 0x62, 0x4f, + 0x62, 0x4f, 0x31, 0x49, 0x49, 0xcb, 0x49, 0xcb, + 0x62, 0x4f, 0x49, 0xcb, 0x72, 0x91, 0x5a, 0x0d, + 0x62, 0x4f, 0x49, 0xcb, 0x62, 0x4f, 0x62, 0x4f, + 0x49, 0xcb, 0x5a, 0x0d, 0x62, 0x4f, 0x7a, 0xd3, + 0x62, 0x4f, 0x62, 0x4f, 0x49, 0xcb, 0x62, 0x4f, + 0x8b, 0x13, 0x8b, 0x13, 0x8b, 0x13, 0x93, 0x55, + 0x7a, 0xd3, 0x7a, 0xd3, 0x7a, 0xd3, 0x72, 0x91, + 0x62, 0x4f, 0x62, 0x4f, 0x62, 0x4f, 0x8b, 0x13, + 0x93, 0x55, 0x8b, 0x13, 0x72, 0x91, 0x5a, 0x0d, + 0x72, 0x91, 0x5a, 0x0d, 0x5a, 0x0d, 0x5a, 0x0d, + 0x5a, 0x0d, 0x62, 0x4f, 0x5a, 0x0d, 0x5a, 0x0d, + 0x49, 0xcb, 0x5a, 0x0d, 0x62, 0x4f, 0x7a, 0xd3, + 0x5a, 0x0d, 0x72, 0x91, 0x5a, 0x0d, 0x49, 0xcb, + 0x49, 0xcb, 0x5a, 0x0d, 0x49, 0xcb, 0x5a, 0x0d, + 0x49, 0xcb, 0x5a, 0x0d, 0x62, 0x4f, 0x49, 0xcb, + 0x49, 0xcb, 0x49, 0xcb, 0x49, 0xcb, 0x5a, 0x0d, + 0x49, 0xcb, 0x5a, 0x0d, 0x49, 0xcb, 0x72, 0x91, + 0x49, 0xcb, 0x62, 0x4f, 0x5a, 0x0d, 0x62, 0x4f, + 0x5a, 0x0d, 0x62, 0x4f, 0x39, 0x49, 0x5a, 0x0d, + 0x5a, 0x0d, 0x49, 0xcb, 0x5a, 0x0d, 0x5a, 0x0d, + 0x62, 0x4f, 0x5a, 0x0d, 0x62, 0x4f, 0x72, 0x91, + 0x72, 0x91, 0x49, 0xcb, 0x49, 0xcb, 0x5a, 0x0d, + 0x49, 0xcb, 0x49, 0xcb, 0x62, 0x4f, 0x72, 0x91, + 0x72, 0x91, 0x62, 0x4f, 0x72, 0x91, 0x5a, 0x0d, + 0x5a, 0x0d, 0x62, 0x4f, 0x62, 0x4f, 0x5a, 0x0d, + 0x72, 0x91, 0x5a, 0x0d, 0x5a, 0x0d, 0x49, 0xcb, + 0x49, 0xcb, 0x49, 0xcb, 0x49, 0xcb, 0x62, 0x4f, + 0x72, 0x91, 0x5a, 0x0d, 0x49, 0xcb, 0x5a, 0x0d, + 0x72, 0x91, 0x62, 0x4f, 0x72, 0x91, 0x72, 0x91, + 0x49, 0xcb, 0x62, 0x4f, 0x62, 0x4f, 0x49, 0xcb, + 0x72, 0x91, 0x20, 0xc5, 0x49, 0xcb, 0x5a, 0x0d, + 0x49, 0xcb, 0x7a, 0xd1, 0x5a, 0x0d, 0x7a, 0xd3, + 0x72, 0x91, 0x5a, 0x0d, 0x62, 0x4f, 0x72, 0x91, + 0x5a, 0x0d, 0x62, 0x4f, 0x5a, 0x0d, 0x5a, 0x0d, + 0x62, 0x4f, 0x5a, 0x0d, 0x5a, 0x0d, 0x72, 0x91, + 0x62, 0x4f, 0x5a, 0x0d, 0x49, 0xcb, 0x62, 0x4f, + 0x62, 0x4f, 0x5a, 0x0d, 0x7a, 0xd3, 0x7a, 0xd1, + 0x49, 0xcb, 0x5a, 0x0d, 0x5a, 0x0d, 0x62, 0x4f, + 0x5a, 0x0d, 0x49, 0xcb, 0x7a, 0xd1, 0x72, 0x91, + 0x72, 0x91, 0x8b, 0x13, 0x8b, 0x13, 0x7a, 0xd1, + 0x62, 0x4f, 0x5a, 0x0d, 0x5a, 0x0d, 0x72, 0x91, + 0x62, 0x4f, 0x62, 0x4f, 0x5a, 0x0d, 0x49, 0xcb, + 0x62, 0x4f, 0x5a, 0x0d, 0x5a, 0x0d, 0x72, 0x91, + 0x62, 0x4f, 0x5a, 0x0d, 0x49, 0xcb, 0x62, 0x4f, + 0x62, 0x4f, 0x8b, 0x13, 0x72, 0x91, 0x62, 0x4f, + 0x5a, 0x0d, 0x62, 0x4f, 0x49, 0xcb, 0x5a, 0x0d, + 0x72, 0x91, 0x72, 0x91, 0x8b, 0x13, 0x7a, 0xd1, + 0x8b, 0x13, 0x72, 0x91, 0x7a, 0xd3, 0x62, 0x4f, + 0x62, 0x4f, 0x8b, 0x13, 0x93, 0x55, 0x5a, 0x0d, + 0x49, 0xcb, 0x72, 0x91, 0x62, 0x4f, 0x5a, 0x0d, + 0x62, 0x4f, 0x7a, 0xd3, 0x62, 0x4f, 0x49, 0xcb, + 0x72, 0x91, 0x93, 0x55, 0x8b, 0x13, 0x8b, 0x13, + 0x62, 0x4f, 0x7a, 0xd3, 0x7a, 0xd1, 0x72, 0x91, + 0x5a, 0x0d, 0x62, 0x4f, 0x49, 0xcb, 0x5a, 0x0d, + 0x62, 0x4f, 0x93, 0x55, 0x72, 0x91, 0x72, 0x91, + 0x62, 0x4f, 0x72, 0x91, 0x8b, 0x13, 0x5a, 0x0d, + 0x62, 0x4f, 0x62, 0x4f, 0x62, 0x4f, 0x5a, 0x0d, + 0x5a, 0x0d, 0x72, 0x91, 0x62, 0x4f, 0x5a, 0x0d, + 0x8b, 0x13, 0x5a, 0x0d, 0x62, 0x4f, 0x7a, 0xd1, + 0x62, 0x4f, 0x62, 0x4f, 0x72, 0x91, 0x5a, 0x0d, + 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x55, 0x8b, 0x55, + 0x49, 0xcb, 0x62, 0x4f, 0x8b, 0x13, 0x7a, 0xd3, + 0x72, 0x91, 0x8b, 0x13, 0x7a, 0xd1, 0x8b, 0x13, + 0x93, 0x55, 0x8b, 0x13, 0x7a, 0xd3, 0x7a, 0xd3, + 0x8b, 0x13, 0x93, 0x55, 0x93, 0x55, 0x72, 0x91, + 0x8b, 0x13, 0x72, 0x91, 0x7a, 0xd3, 0x5a, 0x0d, + 0x5a, 0x0d, 0x62, 0x4f, 0x72, 0x91, 0x62, 0x4f, + 0x7a, 0xd1, 0x49, 0xcb, 0x62, 0x4f, 0x8b, 0x13, + 0x5a, 0x0d, 0x62, 0x4f, 0x93, 0x55, 0x93, 0x55, + 0x72, 0x91, 0x8b, 0x13, 0x49, 0xcb, 0x7a, 0xd1, + 0x93, 0x55, 0x7a, 0xd3, 0x8b, 0x13, 0x7a, 0xd3, + 0x93, 0x55, 0x5a, 0x0d, 0x7a, 0xd3, 0x7a, 0xd3, + 0x62, 0x4f, 0x49, 0xcb, 0x49, 0xcb, 0x72, 0x91, + 0x72, 0x91, 0x7a, 0xd1, 0x72, 0x91, 0x7a, 0xd3, + 0x62, 0x4f, 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, + 0x5a, 0x0d, 0x7a, 0xd3, 0x7a, 0xd1, 0x5a, 0x0d, + 0x62, 0x4f, 0x93, 0x55, 0x8b, 0x55, 0x7a, 0xd1, + 0x62, 0x4f, 0x7a, 0xd3, 0x8b, 0x13, 0x72, 0x91, + 0x8b, 0x13, 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd3, + 0x72, 0x91, 0x72, 0x91, 0x62, 0x4f, 0x7a, 0xd3, + 0x62, 0x4f, 0x72, 0x91, 0x7a, 0xd1, 0x62, 0x4f, + 0x7a, 0xd3, 0x72, 0x91, 0x62, 0x4f, 0x49, 0xcb, + 0x49, 0xcb, 0x8b, 0x13, 0x8b, 0x13, 0x7a, 0xd1, + 0x7a, 0xd1, 0x62, 0x4f, 0x8b, 0x13, 0x7a, 0xd1, + 0x62, 0x4f, 0x5a, 0x0d, 0x62, 0x4f, 0x8b, 0x13, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x39, 0x49, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x10, 0x83, 0x10, 0x83, 0x10, 0x83, 0x20, 0xc5, + 0x20, 0xc5, 0x20, 0xc5, 0x20, 0xc5, 0x20, 0xc5, + 0x20, 0xc5, 0x20, 0xc5, 0x10, 0x83, 0x20, 0xc5, + 0x20, 0xc5, 0x20, 0xc5, 0x20, 0xc5, 0x10, 0x83, + 0x49, 0xcb, 0x8b, 0x13, 0x7a, 0xd1, 0x62, 0x4f, + 0x93, 0x55, 0x8b, 0x13, 0x7a, 0xd3, 0x7a, 0xd3, + 0x8b, 0x13, 0x72, 0x91, 0x8b, 0x13, 0x93, 0x55, + 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x13, 0xa3, 0x97, + 0xa3, 0x97, 0x93, 0x55, 0x62, 0x4f, 0x93, 0x55, + 0x72, 0x91, 0x5a, 0x0d, 0x93, 0x55, 0xa3, 0x97, + 0x93, 0x55, 0x93, 0x55, 0x62, 0x4f, 0x7a, 0xd1, + 0x72, 0x91, 0x5a, 0x0d, 0x7a, 0xd1, 0x7a, 0xd3, + 0x8b, 0x13, 0xa3, 0x97, 0x8b, 0x13, 0xa3, 0x97, + 0x93, 0x55, 0x7a, 0xd1, 0x8b, 0x13, 0x93, 0x55, + 0x93, 0x55, 0xa3, 0x97, 0x93, 0x55, 0xa3, 0x97, + 0x8b, 0x13, 0x7a, 0xd3, 0x8b, 0x13, 0x93, 0x55, + 0x8b, 0x13, 0x8b, 0x13, 0x93, 0x55, 0x72, 0x91, + 0x93, 0x55, 0x5a, 0x0d, 0xa3, 0x97, 0x93, 0x55, + 0xa3, 0x97, 0x7a, 0xd3, 0x8b, 0x55, 0xa3, 0x97, + 0x93, 0x55, 0x8b, 0x13, 0x7a, 0xd1, 0x8b, 0x55, + 0xa3, 0x97, 0x8b, 0x13, 0xa3, 0x97, 0x62, 0x4f, + 0x8b, 0x13, 0x8b, 0x13, 0x62, 0x4f, 0x5a, 0x0d, + 0x8b, 0x13, 0x5a, 0x0d, 0x7a, 0xd3, 0x72, 0x91, + 0x7a, 0xd1, 0x7a, 0xd1, 0x62, 0x4f, 0x62, 0x4f, + 0x7a, 0xd3, 0x7a, 0xd3, 0xa3, 0x97, 0x62, 0x4f, + 0x62, 0x4f, 0x5a, 0x0d, 0x72, 0x91, 0x62, 0x4f, + 0x49, 0xcb, 0x8b, 0x55, 0x93, 0x55, 0x93, 0x55, + 0x93, 0x55, 0x31, 0x49, 0x62, 0x4f, 0x49, 0xcb, + 0x62, 0x4f, 0x72, 0x91, 0x8b, 0x13, 0x7a, 0xd1, + 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x13, 0x7a, 0xd3, + 0x7a, 0xd1, 0xa3, 0x97, 0x8b, 0x13, 0x7a, 0xd3, + 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x55, 0x7a, 0xd1, + 0x5a, 0x0d, 0x8b, 0x13, 0x8b, 0x13, 0x8b, 0x55, + 0x8b, 0x55, 0x72, 0x91, 0x8b, 0x55, 0x8b, 0x55, + 0x8b, 0x55, 0x93, 0x55, 0xa3, 0x97, 0xa3, 0x97, + 0x7a, 0xd1, 0xa3, 0x97, 0x8b, 0x13, 0x93, 0x55, + 0x72, 0x91, 0x7a, 0xd1, 0x8b, 0x13, 0xa3, 0x97, + 0x93, 0x55, 0x8b, 0x55, 0x8b, 0x13, 0x8b, 0x13, + 0x8b, 0x13, 0x7a, 0xd3, 0x7a, 0xd3, 0x49, 0xcb, + 0x72, 0x91, 0x93, 0x55, 0x8b, 0x13, 0x72, 0x91, + 0x8b, 0x13, 0x8b, 0x13, 0x8b, 0x55, 0x8b, 0x13, + 0x7a, 0xd1, 0x7a, 0xd1, 0x62, 0x4f, 0xa3, 0x97, + 0xa3, 0x97, 0xa3, 0x97, 0xa3, 0x97, 0x93, 0x55, + 0x72, 0x91, 0x72, 0x91, 0x62, 0x4f, 0x7a, 0xd1, + 0x49, 0xcb, 0x8b, 0x13, 0x93, 0x55, 0x8b, 0x13, + 0x7a, 0xd1, 0x8b, 0x13, 0x8b, 0x13, 0x7a, 0xd3, + 0x7a, 0xd3, 0x93, 0x55, 0x93, 0x55, 0x72, 0x91, + 0x7a, 0xd3, 0x8b, 0x13, 0x7a, 0xd3, 0x8b, 0x55, + 0x8b, 0x13, 0x93, 0x55, 0x7a, 0xd1, 0x8b, 0x55, + 0x62, 0x4f, 0x72, 0x91, 0x5a, 0x0d, 0x72, 0x91, + 0x8b, 0x13, 0x8b, 0x55, 0x93, 0x55, 0x7a, 0xd3, + 0x49, 0xcb, 0x72, 0x91, 0x72, 0x91, 0x62, 0x4f, + 0x8b, 0x13, 0xa3, 0x97, 0x93, 0x55, 0x93, 0x55, + 0x7a, 0xd3, 0x93, 0x55, 0xa3, 0x97, 0x93, 0x55, + 0xa3, 0x97, 0x7a, 0xd3, 0x8b, 0x13, 0x8b, 0x13, + 0x62, 0x4f, 0x62, 0x4f, 0x7a, 0xd1, 0x62, 0x4f, + 0x72, 0x91, 0x7a, 0xd1, 0x7a, 0xd3, 0x49, 0xcb, + 0x7a, 0xd3, 0x72, 0x91, 0x5a, 0x0d, 0x7a, 0xd1, + 0x8b, 0x55, 0x7a, 0xd1, 0x7a, 0xd1, 0xa3, 0x97, + 0x7a, 0xd3, 0x8b, 0x13, 0x7a, 0xd3, 0x93, 0x55, + 0x7a, 0xd3, 0xa3, 0x97, 0x72, 0x91, 0x5a, 0x0d, + 0x72, 0x91, 0x8b, 0x13, 0x72, 0x91, 0x62, 0x4f, + 0xa3, 0x97, 0x62, 0x4f, 0x8b, 0x13, 0x7a, 0xd3, + 0x72, 0x91, 0x72, 0x91, 0x72, 0x91, 0x7a, 0xd1, + 0x93, 0x55, 0x93, 0x55, 0x7a, 0xd3, 0x62, 0x4f, + 0x72, 0x91, 0x7a, 0xd1, 0x62, 0x4f, 0x72, 0x91, + 0x93, 0x55, 0x7a, 0xd1, 0x7a, 0xd1, 0x8b, 0x13, + 0x7a, 0xd1, 0xa3, 0x97, 0x93, 0x55, 0x62, 0x4f, + 0x49, 0xcb, 0x7a, 0xd3, 0x62, 0x4f, 0x72, 0x91, + 0x7a, 0xd3, 0x7a, 0xd3, 0x7a, 0xd1, 0xa3, 0x97, + 0x7a, 0xd3, 0x62, 0x4f, 0x7a, 0xd3, 0x72, 0x91, + 0x8b, 0x13, 0x7a, 0xd1, 0x5a, 0x0d, 0x72, 0x91, + 0x5a, 0x0d, 0x7a, 0xd1, 0x5a, 0x0d, 0x62, 0x4f, + 0x8b, 0x13, 0x62, 0x4f, 0x7a, 0xd1, 0x62, 0x4f, + 0x62, 0x4f, 0x8b, 0x13, 0x8b, 0x13, 0xa3, 0x97, + 0x62, 0x4f, 0x62, 0x4f, 0x7a, 0xd1, 0x7a, 0xd1, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x10, 0x83, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x10, 0x83, + 0x00, 0x01, 0x00, 0x01, 0x10, 0x83, 0x10, 0x83, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, }; -Gfx ground_woodPlanks1_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ground_woodPlanks1_pal_rgba16[] = { - 0x20, 0xc5, 0x31, 0x49, 0x39, 0x49, 0x5a, 0x0d, - 0x49, 0xcb, 0x62, 0x4f, 0x10, 0x83, 0x8b, 0x13, - 0x72, 0x91, 0x7a, 0xd3, 0x7a, 0xd1, 0x93, 0x55, - 0xa3, 0x97, 0x8b, 0x55, 0x00, 0x01, -}; - Gfx ground_seamless_wood_texture_free_76_rgba16_aligner[] = {gsSPEndDisplayList()}; u8 ground_seamless_wood_texture_free_76_rgba16[] = { 0x32, 0x4f, 0x32, 0x4f, 0x32, 0x4f, 0x32, 0x4f, @@ -343,187 +529,265 @@ u8 ground_seamless_wood_texture_free_76_rgba16[] = { }; -Gfx ground_door1_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ground_door1_ci8[] = { - 0x00, 0x01, 0x01, 0x00, 0x02, 0x03, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, 0x05, 0x05, - 0x05, 0x06, 0x06, 0x07, 0x07, 0x05, 0x01, 0x05, - 0x08, 0x08, 0x05, 0x08, 0x08, 0x08, 0x08, 0x09, - 0x00, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, - 0x11, 0x12, 0x13, 0x14, 0x13, 0x14, 0x14, 0x15, - 0x15, 0x16, 0x16, 0x17, 0x16, 0x18, 0x19, 0x1a, - 0x1b, 0x19, 0x1c, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, - 0x00, 0x21, 0x22, 0x23, 0x24, 0x10, 0x15, 0x25, - 0x26, 0x27, 0x26, 0x28, 0x28, 0x29, 0x29, 0x19, - 0x19, 0x29, 0x29, 0x2a, 0x29, 0x29, 0x29, 0x25, - 0x25, 0x2b, 0x21, 0x2c, 0x2d, 0x2e, 0x1f, 0x20, - 0x2f, 0x2f, 0x2d, 0x23, 0x30, 0x2b, 0x31, 0x32, - 0x33, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x34, - 0x34, 0x28, 0x28, 0x35, 0x35, 0x28, 0x28, 0x36, - 0x37, 0x31, 0x38, 0x29, 0x2d, 0x2e, 0x1f, 0x1f, - 0x39, 0x3a, 0x18, 0x19, 0x2b, 0x3b, 0x3b, 0x3c, - 0x3c, 0x3d, 0x3d, 0x28, 0x3e, 0x3b, 0x3f, 0x40, - 0x40, 0x3b, 0x3b, 0x28, 0x3e, 0x3e, 0x28, 0x41, - 0x42, 0x3f, 0x43, 0x44, 0x45, 0x21, 0x46, 0x47, - 0x48, 0x2f, 0x19, 0x19, 0x42, 0x3c, 0x28, 0x49, - 0x49, 0x28, 0x28, 0x4a, 0x4a, 0x28, 0x28, 0x19, - 0x19, 0x28, 0x28, 0x3b, 0x3b, 0x31, 0x28, 0x36, - 0x4b, 0x28, 0x4c, 0x4d, 0x4e, 0x4f, 0x1f, 0x50, - 0x3a, 0x3a, 0x51, 0x52, 0x53, 0x54, 0x28, 0x49, - 0x49, 0x2b, 0x55, 0x31, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x3e, 0x28, 0x3d, 0x3d, 0x28, 0x28, 0x37, - 0x36, 0x31, 0x41, 0x56, 0x57, 0x21, 0x46, 0x58, - 0x48, 0x3a, 0x51, 0x51, 0x53, 0x59, 0x28, 0x49, - 0x49, 0x31, 0x28, 0x31, 0x31, 0x28, 0x28, 0x22, - 0x22, 0x3e, 0x28, 0x5a, 0x5a, 0x31, 0x31, 0x37, - 0x37, 0x28, 0x5b, 0x5c, 0x1d, 0x21, 0x58, 0x58, - 0x39, 0x3a, 0x23, 0x23, 0x42, 0x4e, 0x28, 0x36, - 0x49, 0x28, 0x28, 0x40, 0x5d, 0x31, 0x28, 0x22, - 0x23, 0x56, 0x42, 0x5e, 0x40, 0x28, 0x28, 0x36, - 0x37, 0x31, 0x41, 0x41, 0x1d, 0x21, 0x58, 0x58, - 0x39, 0x3a, 0x23, 0x23, 0x42, 0x5f, 0x3e, 0x36, - 0x49, 0x28, 0x28, 0x28, 0x31, 0x3e, 0x28, 0x23, - 0x18, 0x60, 0x42, 0x28, 0x28, 0x28, 0x31, 0x37, - 0x37, 0x31, 0x41, 0x41, 0x07, 0x21, 0x58, 0x58, - 0x48, 0x3a, 0x22, 0x23, 0x3c, 0x31, 0x3e, 0x49, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x23, - 0x23, 0x3e, 0x28, 0x62, 0x3b, 0x28, 0x28, 0x37, - 0x36, 0x28, 0x63, 0x63, 0x07, 0x64, 0x65, 0x66, - 0x4f, 0x2c, 0x22, 0x22, 0x42, 0x3e, 0x3e, 0x49, - 0x61, 0x3e, 0x3e, 0x28, 0x28, 0x28, 0x28, 0x23, - 0x23, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x2a, 0x2a, 0x07, 0x64, 0x46, 0x46, - 0x67, 0x67, 0x22, 0x68, 0x55, 0x25, 0x25, 0x69, - 0x30, 0x31, 0x55, 0x30, 0x6a, 0x30, 0x30, 0x63, - 0x5e, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x6b, - 0x6c, 0x4c, 0x13, 0x5d, 0x5d, 0x21, 0x47, 0x46, - 0x67, 0x67, 0x6d, 0x6d, 0x5e, 0x28, 0x28, 0x36, - 0x4b, 0x28, 0x28, 0x55, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x36, - 0x37, 0x3e, 0x29, 0x2a, 0x07, 0x2e, 0x46, 0x46, - 0x67, 0x67, 0x51, 0x51, 0x6e, 0x28, 0x28, 0x49, - 0x49, 0x28, 0x28, 0x69, 0x69, 0x28, 0x28, 0x22, - 0x22, 0x60, 0x6f, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x36, 0x70, 0x71, 0x6c, 0x1d, 0x1e, 0x46, 0x58, - 0x39, 0x39, 0x72, 0x72, 0x73, 0x28, 0x28, 0x49, - 0x49, 0x2b, 0x2b, 0x55, 0x55, 0x3f, 0x74, 0x22, - 0x22, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x36, - 0x36, 0x70, 0x25, 0x25, 0x1d, 0x21, 0x46, 0x46, - 0x48, 0x39, 0x75, 0x19, 0x6e, 0x28, 0x28, 0x61, - 0x61, 0x76, 0x28, 0x55, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x3b, 0x3f, 0x77, 0x29, 0x31, 0x28, 0x36, - 0x37, 0x70, 0x25, 0x25, 0x2d, 0x1e, 0x46, 0x47, - 0x67, 0x67, 0x19, 0x19, 0x6b, 0x29, 0x29, 0x3c, - 0x3c, 0x42, 0x42, 0x31, 0x28, 0x31, 0x28, 0x22, - 0x23, 0x63, 0x60, 0x78, 0x77, 0x31, 0x31, 0x36, - 0x37, 0x70, 0x6c, 0x6c, 0x36, 0x1e, 0x79, 0x46, - 0x48, 0x3a, 0x19, 0x19, 0x42, 0x28, 0x3e, 0x49, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x60, 0x28, 0x31, 0x28, 0x31, 0x0a, - 0x7a, 0x7a, 0x7b, 0x7c, 0x7d, 0x1e, 0x06, 0x50, - 0x3a, 0x2f, 0x22, 0x23, 0x25, 0x28, 0x28, 0x61, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x60, 0x28, 0x3e, 0x7e, 0x7e, 0x2c, - 0x2c, 0x7f, 0x80, 0x81, 0x22, 0x21, 0x66, 0x82, - 0x2f, 0x2f, 0x22, 0x22, 0x2a, 0x3e, 0x3e, 0x61, - 0x61, 0x28, 0x28, 0x29, 0x73, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x6f, 0x28, 0x28, 0x83, 0x83, 0x84, - 0x84, 0x85, 0x86, 0x87, 0x2d, 0x1e, 0x58, 0x1f, - 0x21, 0x2c, 0x22, 0x22, 0x55, 0x3b, 0x3b, 0x69, - 0x69, 0x28, 0x28, 0x88, 0x62, 0x28, 0x28, 0x3d, - 0x89, 0x28, 0x28, 0x25, 0x25, 0x89, 0x8a, 0x2c, - 0x2c, 0x2c, 0x8b, 0x8b, 0x8c, 0x66, 0x46, 0x46, - 0x67, 0x67, 0x22, 0x22, 0x2b, 0x25, 0x3b, 0x07, - 0x36, 0x28, 0x3e, 0x28, 0x3e, 0x31, 0x28, 0x18, - 0x18, 0x3e, 0x28, 0x25, 0x5c, 0x28, 0x31, 0x8d, - 0x40, 0x44, 0x6c, 0x6c, 0x07, 0x66, 0x47, 0x1f, - 0x67, 0x67, 0x19, 0x18, 0x41, 0x28, 0x28, 0x61, - 0x61, 0x28, 0x28, 0x62, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x63, 0x5b, 0x5b, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x89, 0x5c, 0x1d, 0x66, 0x50, 0x1f, - 0x67, 0x67, 0x51, 0x8e, 0x2a, 0x28, 0x28, 0x61, - 0x61, 0x42, 0x42, 0x28, 0x28, 0x28, 0x28, 0x2d, - 0x2d, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x6f, 0x60, 0x29, 0x66, 0x1f, 0x1f, - 0x8f, 0x8f, 0x19, 0x90, 0x2b, 0x3f, 0x3f, 0x2b, - 0x2b, 0x3f, 0x3b, 0x28, 0x28, 0x3b, 0x74, 0x28, - 0x28, 0x3b, 0x3b, 0x28, 0x28, 0x28, 0x28, 0x6b, - 0x41, 0x31, 0x5c, 0x3b, 0x2d, 0x66, 0x50, 0x1f, - 0x91, 0x67, 0x22, 0x23, 0x92, 0x3e, 0x55, 0x49, - 0x49, 0x28, 0x28, 0x62, 0x62, 0x28, 0x28, 0x18, - 0x22, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x36, - 0x37, 0x55, 0x2a, 0x29, 0x30, 0x66, 0x1f, 0x1f, - 0x93, 0x94, 0x95, 0x96, 0x13, 0x2b, 0x28, 0x1d, - 0x97, 0x98, 0x74, 0x28, 0x28, 0x28, 0x28, 0x4b, - 0x4b, 0x3b, 0x3b, 0x28, 0x28, 0x28, 0x31, 0x37, - 0x37, 0x55, 0x14, 0x99, 0x2d, 0x66, 0x1f, 0x1f, - 0x9a, 0x9b, 0x9c, 0x9d, 0x4f, 0x10, 0x9e, 0x9f, - 0x9f, 0xa0, 0xa0, 0x29, 0x62, 0x3e, 0x28, 0x44, - 0xa1, 0xa0, 0xa0, 0x5a, 0x5a, 0x28, 0x28, 0xa2, - 0xa3, 0x2d, 0x2c, 0x2c, 0x2d, 0x1e, 0x1f, 0x1f, - 0x93, 0x67, 0xa4, 0xa4, 0x17, 0xa4, 0xa5, 0x10, - 0x10, 0xa6, 0xa7, 0xa6, 0xa7, 0xa6, 0xa8, 0x95, - 0xa9, 0xaa, 0xaa, 0xab, 0xab, 0xa8, 0xa6, 0xac, - 0xa8, 0x0c, 0x4b, 0x4b, 0x1d, 0x4f, 0x1f, 0x1f, - 0x93, 0x93, 0x2c, 0x2c, 0xad, 0xae, 0xad, 0xad, - 0xad, 0x2c, 0x2c, 0xaf, 0x8f, 0xb0, 0x8f, 0xb0, - 0xb0, 0xae, 0xae, 0xae, 0xb1, 0x7f, 0x2c, 0xad, - 0xb0, 0xb0, 0xae, 0xaf, 0xaf, 0x21, 0x96, 0x02, - 0xb2, 0xb3, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x04, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0xb4, 0xb5, 0x66, - -}; - -Gfx ground_door1_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ground_door1_pal_rgba16[] = { - 0x7c, 0x5d, 0x84, 0x5d, 0x31, 0x03, 0x31, 0x01, - 0x84, 0x9d, 0x84, 0x9f, 0x84, 0x5f, 0x49, 0x41, - 0x8c, 0x9f, 0x7b, 0x91, 0x21, 0x49, 0x6a, 0x43, - 0x6a, 0x83, 0x72, 0x85, 0x6a, 0x41, 0x62, 0x01, - 0x20, 0xc1, 0x20, 0x81, 0x60, 0xc3, 0x59, 0x03, - 0x61, 0x03, 0x49, 0xc1, 0x7a, 0xc5, 0x72, 0xc5, - 0x41, 0x41, 0x41, 0x81, 0x28, 0x81, 0x28, 0xc1, - 0x38, 0x81, 0x49, 0x01, 0x08, 0x83, 0x9d, 0x25, - 0x9d, 0x23, 0x08, 0x43, 0x39, 0x01, 0x39, 0x41, - 0x00, 0x41, 0x79, 0xc7, 0x79, 0x87, 0x71, 0x87, - 0xb4, 0x17, 0x71, 0x85, 0x69, 0x45, 0xab, 0xd5, - 0x00, 0x01, 0x41, 0x01, 0x08, 0x81, 0x52, 0xd3, - 0xa3, 0x93, 0xb4, 0x15, 0x59, 0x85, 0x59, 0x83, - 0x41, 0x43, 0x82, 0x09, 0x51, 0x41, 0x51, 0x01, - 0x79, 0x85, 0x5a, 0xd5, 0x52, 0xd5, 0x79, 0xc5, - 0xab, 0xd3, 0x8a, 0x47, 0xb4, 0x57, 0x81, 0xc5, - 0x9b, 0x0f, 0x9a, 0x8b, 0x9a, 0xcb, 0x50, 0xc1, - 0x50, 0xc3, 0x7a, 0xc1, 0xa5, 0x65, 0xa5, 0x25, - 0x5a, 0xd3, 0x51, 0x43, 0x7a, 0x07, 0x59, 0x41, - 0x79, 0xc9, 0x81, 0xc9, 0xab, 0x93, 0x08, 0x41, - 0x9d, 0x65, 0x6a, 0x45, 0x62, 0x85, 0x61, 0x05, - 0x93, 0x11, 0xac, 0x15, 0x92, 0x8b, 0x51, 0x81, - 0xa5, 0x67, 0x9b, 0x11, 0x82, 0x07, 0x8a, 0x49, - 0x81, 0xc7, 0x9b, 0x4f, 0x9b, 0x0d, 0xb3, 0x93, - 0xa2, 0xcd, 0x59, 0x43, 0x71, 0xc5, 0x9a, 0xcd, - 0x00, 0x43, 0x10, 0x43, 0x10, 0x83, 0x5b, 0x15, - 0x49, 0x83, 0xa3, 0xd3, 0x9b, 0x93, 0x92, 0x89, - 0x92, 0x49, 0x30, 0xc1, 0x61, 0x45, 0xa3, 0x0d, - 0xbc, 0x57, 0x92, 0x4b, 0x62, 0x45, 0x69, 0x85, - 0x82, 0x05, 0x49, 0x81, 0xac, 0x17, 0x71, 0x45, - 0x71, 0x43, 0x8c, 0xa1, 0x21, 0x09, 0x30, 0x41, - 0x69, 0x01, 0x61, 0xc1, 0x31, 0x8d, 0x00, 0x03, - 0x10, 0xc9, 0x52, 0xd7, 0x18, 0xc3, 0x18, 0xc9, +Gfx ground_door1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_door1_rgba16[] = { + 0x7c, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x7c, 0x5d, + 0x31, 0x03, 0x31, 0x01, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x9d, + 0x84, 0x9d, 0x84, 0x5d, 0x84, 0x9f, 0x84, 0x9f, + 0x84, 0x9f, 0x84, 0x5f, 0x84, 0x5f, 0x49, 0x41, + 0x49, 0x41, 0x84, 0x9f, 0x84, 0x5d, 0x84, 0x9f, + 0x8c, 0x9f, 0x8c, 0x9f, 0x84, 0x9f, 0x8c, 0x9f, + 0x8c, 0x9f, 0x8c, 0x9f, 0x8c, 0x9f, 0x7b, 0x91, + 0x7c, 0x5d, 0x21, 0x49, 0x6a, 0x43, 0x6a, 0x83, + 0x72, 0x85, 0x6a, 0x41, 0x62, 0x01, 0x20, 0xc1, + 0x20, 0x81, 0x60, 0xc3, 0x59, 0x03, 0x61, 0x03, + 0x59, 0x03, 0x61, 0x03, 0x61, 0x03, 0x49, 0xc1, + 0x49, 0xc1, 0x7a, 0xc5, 0x7a, 0xc5, 0x72, 0xc5, + 0x7a, 0xc5, 0x41, 0x41, 0x41, 0x81, 0x28, 0x81, + 0x28, 0xc1, 0x41, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x49, 0x01, 0x08, 0x83, 0x9d, 0x25, 0x9d, 0x23, + 0x7c, 0x5d, 0x08, 0x43, 0x39, 0x01, 0x39, 0x41, + 0x00, 0x41, 0x20, 0xc1, 0x49, 0xc1, 0x79, 0xc7, + 0x79, 0x87, 0x71, 0x87, 0x79, 0x87, 0xb4, 0x17, + 0xb4, 0x17, 0x71, 0x85, 0x71, 0x85, 0x41, 0x81, + 0x41, 0x81, 0x71, 0x85, 0x71, 0x85, 0x69, 0x45, + 0x71, 0x85, 0x71, 0x85, 0x71, 0x85, 0x79, 0xc7, + 0x79, 0xc7, 0xab, 0xd5, 0x08, 0x43, 0x00, 0x01, + 0x41, 0x01, 0x08, 0x81, 0x9d, 0x25, 0x9d, 0x23, + 0x52, 0xd3, 0x52, 0xd3, 0x41, 0x01, 0x39, 0x41, + 0xa3, 0x93, 0xab, 0xd5, 0xb4, 0x15, 0x59, 0x85, + 0x59, 0x83, 0xb4, 0x15, 0xb4, 0x15, 0xb4, 0x15, + 0xb4, 0x15, 0xb4, 0x15, 0xb4, 0x15, 0x41, 0x43, + 0x41, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x82, 0x09, + 0x82, 0x09, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x15, 0x79, 0x85, 0x71, 0x85, + 0x41, 0x01, 0x08, 0x81, 0x9d, 0x25, 0x9d, 0x25, + 0x5a, 0xd5, 0x52, 0xd5, 0x41, 0x41, 0x41, 0x81, + 0xab, 0xd5, 0x79, 0xc5, 0x79, 0xc5, 0xab, 0xd3, + 0xab, 0xd3, 0x8a, 0x47, 0x8a, 0x47, 0xb4, 0x17, + 0xb4, 0x57, 0x79, 0xc5, 0x81, 0xc5, 0x9b, 0x0f, + 0x9b, 0x0f, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x57, 0xb4, 0x57, 0xb4, 0x17, 0x9a, 0x8b, + 0x9a, 0xcb, 0x81, 0xc5, 0x50, 0xc1, 0x50, 0xc3, + 0x7a, 0xc1, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x25, + 0x5a, 0xd3, 0x52, 0xd3, 0x41, 0x81, 0x41, 0x81, + 0x9a, 0xcb, 0xab, 0xd3, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x7a, 0x07, + 0x7a, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x81, + 0x41, 0x81, 0xb4, 0x17, 0xb4, 0x17, 0x79, 0xc5, + 0x79, 0xc5, 0xb4, 0x15, 0xb4, 0x17, 0x51, 0x41, + 0x59, 0x41, 0xb4, 0x17, 0x79, 0xc9, 0x81, 0xc9, + 0xab, 0x93, 0x08, 0x41, 0x9d, 0x25, 0x9d, 0x65, + 0x52, 0xd5, 0x52, 0xd5, 0x6a, 0x45, 0x62, 0x85, + 0x61, 0x05, 0x93, 0x11, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xab, 0xd5, 0xac, 0x15, 0xb4, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x57, 0xb4, 0x17, 0x8a, 0x47, + 0x8a, 0x47, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xb4, 0x15, 0x9a, 0x8b, 0x92, 0x8b, + 0x51, 0x81, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x67, + 0x5a, 0xd3, 0x52, 0xd5, 0x6a, 0x45, 0x6a, 0x45, + 0x61, 0x05, 0x9b, 0x11, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x15, + 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x57, 0xb4, 0x17, 0x82, 0x07, + 0x82, 0x07, 0xb4, 0x15, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x8a, 0x49, 0x81, 0xc7, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd5, 0x52, 0xd5, 0x39, 0x41, 0x39, 0x41, + 0x9a, 0xcb, 0xab, 0x93, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x9b, 0x0f, + 0x9b, 0x4f, 0xb4, 0x15, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x41, 0x92, 0x8b, 0x9a, 0xcb, 0x9b, 0x0d, + 0x9b, 0x0f, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x15, 0x9a, 0x8b, 0x9a, 0x8b, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd5, 0x52, 0xd5, 0x39, 0x41, 0x39, 0x41, + 0x9a, 0xcb, 0xb3, 0x93, 0xb4, 0x57, 0x51, 0x41, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x15, 0xb4, 0x57, 0xb4, 0x17, 0x39, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0x9a, 0xcb, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x15, 0x9a, 0x8b, 0x9a, 0x8b, + 0x49, 0x41, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd3, 0x52, 0xd5, 0x39, 0x01, 0x39, 0x41, + 0xab, 0xd3, 0xb4, 0x15, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x41, + 0x39, 0x41, 0xb4, 0x57, 0xb4, 0x17, 0x71, 0xc5, + 0x79, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xb4, 0x17, 0x9a, 0xcd, 0x9a, 0xcd, + 0x49, 0x41, 0x00, 0x43, 0x10, 0x43, 0x10, 0x83, + 0x08, 0x41, 0x00, 0x01, 0x39, 0x01, 0x39, 0x01, + 0x9a, 0xcb, 0xb4, 0x57, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x57, 0xb4, 0x57, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x41, + 0x39, 0x41, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x69, 0x45, 0x69, 0x45, + 0x49, 0x41, 0x00, 0x43, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x39, 0x01, 0x49, 0x83, + 0xac, 0x15, 0x79, 0xc7, 0x79, 0xc7, 0xa3, 0xd3, + 0xa3, 0x93, 0xb4, 0x15, 0xac, 0x15, 0xa3, 0x93, + 0x9b, 0x93, 0xa3, 0x93, 0xa3, 0x93, 0x9a, 0xcd, + 0x9b, 0x0d, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x92, 0x89, + 0x92, 0x49, 0x79, 0xc9, 0x59, 0x03, 0x9b, 0x4f, + 0x9b, 0x4f, 0x08, 0x43, 0xa5, 0x25, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x30, 0xc1, 0x30, 0xc1, + 0x9b, 0x0d, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x59, 0x41, 0xb4, 0x17, 0xb4, 0x17, 0xac, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x57, 0x71, 0x85, 0x69, 0x45, + 0x49, 0x41, 0x08, 0x81, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x6a, 0x45, 0x6a, 0x45, + 0x61, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0xa3, 0xd3, + 0xa3, 0xd3, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xa2, 0xcd, 0xa3, 0x0d, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xbc, 0x57, 0x92, 0x4b, 0x92, 0x49, + 0x49, 0x01, 0x08, 0x83, 0xa5, 0x65, 0xa5, 0x67, + 0x5a, 0xd5, 0x5a, 0xd5, 0x62, 0x45, 0x62, 0x45, + 0x69, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xab, 0xd5, 0xab, 0xd5, 0xac, 0x15, + 0xac, 0x15, 0x81, 0xc5, 0x82, 0x05, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x41, 0xbc, 0x57, 0x79, 0xc7, 0x79, 0xc7, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x65, + 0x5a, 0xd3, 0x5a, 0xd5, 0x49, 0x81, 0x41, 0x81, + 0x61, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xac, 0x17, 0xb4, 0x17, 0xac, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0x79, 0xc5, 0x81, 0xc5, 0x71, 0x45, + 0x71, 0x85, 0xb4, 0x15, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xbc, 0x57, 0x79, 0xc7, 0x79, 0xc7, + 0x41, 0x01, 0x08, 0x83, 0xa5, 0x65, 0xa5, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x41, 0x81, 0x41, 0x81, + 0x92, 0x89, 0x71, 0x85, 0x71, 0x85, 0xab, 0xd3, + 0xab, 0xd3, 0x9a, 0xcb, 0x9a, 0xcb, 0xb4, 0x15, + 0xb4, 0x17, 0xb4, 0x15, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x41, 0x9a, 0xcd, 0xa2, 0xcd, 0x71, 0x43, + 0x71, 0x45, 0xb4, 0x15, 0xb4, 0x15, 0x51, 0x41, + 0x51, 0x01, 0xbc, 0x57, 0x92, 0x49, 0x92, 0x49, + 0x51, 0x41, 0x08, 0x83, 0x8c, 0xa1, 0xa5, 0x65, + 0x5a, 0xd3, 0x52, 0xd5, 0x41, 0x81, 0x41, 0x81, + 0x9a, 0xcb, 0xb4, 0x17, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa2, 0xcd, 0xb4, 0x17, + 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x15, 0x21, 0x49, + 0x21, 0x09, 0x21, 0x09, 0x30, 0x41, 0x69, 0x01, + 0x61, 0xc1, 0x08, 0x83, 0x84, 0x5f, 0x9d, 0x65, + 0x52, 0xd5, 0x52, 0xd3, 0x39, 0x01, 0x39, 0x41, + 0x79, 0xc7, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa2, 0xcd, 0xb4, 0x17, + 0xb4, 0x57, 0x31, 0x8d, 0x31, 0x8d, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x03, 0x10, 0xc9, 0x52, 0xd7, + 0x39, 0x01, 0x08, 0x43, 0x10, 0x83, 0x18, 0xc3, + 0x52, 0xd3, 0x52, 0xd3, 0x39, 0x01, 0x39, 0x01, + 0x69, 0x45, 0xb4, 0x57, 0xb4, 0x57, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x69, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa3, 0x0d, 0xb4, 0x17, + 0xb4, 0x17, 0x18, 0xc9, 0x18, 0xc9, 0x8a, 0x05, 0x8a, 0x05, 0x60, 0x81, 0x21, 0x4b, 0x29, 0x8f, - 0x69, 0xc5, 0x8a, 0x07, 0x08, 0x03, 0x31, 0x49, - 0x89, 0xc7, 0x93, 0x0f, 0x6a, 0x85, 0x63, 0x15, - 0x41, 0x83, 0x63, 0x55, 0x61, 0x43, 0x63, 0x17, - 0x5b, 0x55, 0x18, 0x81, 0x18, 0x83, 0x49, 0x03, - 0x7a, 0x05, 0x69, 0x43, 0x63, 0x57, 0x5b, 0x17, - 0x62, 0x43, 0x62, 0x41, 0x52, 0x41, 0x9b, 0x91, - 0xa2, 0xcb, 0x51, 0x03, 0x68, 0xc1, 0x58, 0xc1, - 0x72, 0xc3, 0x59, 0xc1, 0x52, 0x01, 0x4a, 0x01, - 0x52, 0x03, 0x10, 0x81, 0x51, 0xc1, 0x83, 0x0b, - 0x10, 0x41, 0x6b, 0x55, 0x6b, 0x13, 0x63, 0x13, - 0x6b, 0x15, 0x6b, 0x53, 0x18, 0xc5, 0x29, 0x45, - 0x21, 0x01, 0x29, 0x03, + 0x41, 0x01, 0x08, 0x83, 0xa5, 0x67, 0x9d, 0x25, + 0x08, 0x43, 0x00, 0x01, 0x39, 0x01, 0x39, 0x01, + 0xac, 0x15, 0x79, 0xc5, 0x79, 0xc5, 0xa3, 0xd3, + 0xa3, 0xd3, 0xb4, 0x17, 0xb4, 0x17, 0x69, 0xc5, + 0x71, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x8a, 0x47, + 0x8a, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x79, 0xc7, + 0x79, 0xc7, 0x8a, 0x07, 0x08, 0x03, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x31, 0x49, 0x31, 0x49, + 0x89, 0xc7, 0x10, 0x83, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x39, 0x01, 0x39, 0x01, + 0xab, 0xd5, 0x79, 0xc7, 0x79, 0xc5, 0x49, 0x41, + 0x51, 0x41, 0xb4, 0x17, 0xb4, 0x57, 0xb4, 0x17, + 0xb4, 0x57, 0xb4, 0x15, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xb4, 0x57, 0xb4, 0x17, 0x79, 0xc7, + 0x81, 0xc7, 0xb4, 0x17, 0xb4, 0x15, 0x93, 0x0f, + 0x9b, 0x0f, 0x50, 0xc3, 0x92, 0x49, 0x92, 0x49, + 0x49, 0x41, 0x10, 0x83, 0xa5, 0x25, 0x9d, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x41, 0x81, 0x41, 0x41, + 0x9a, 0x8b, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0xc5, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0x9a, 0xcd, 0x8a, 0x49, + 0x8a, 0x49, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x8a, 0x07, 0x81, 0xc7, + 0x49, 0x01, 0x10, 0x83, 0x9d, 0x65, 0x9d, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x6a, 0x45, 0x6a, 0x85, + 0x69, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0x9a, 0xcb, 0x9a, 0xcb, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x01, + 0x41, 0x01, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0xa3, 0x0d, 0xa2, 0xcd, + 0x71, 0x85, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x15, 0x63, 0x15, 0x41, 0x81, 0x41, 0x83, + 0xab, 0xd5, 0x81, 0xc5, 0x81, 0xc5, 0xab, 0xd5, + 0xab, 0xd5, 0x81, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0x79, 0xc5, 0x82, 0x05, 0xb4, 0x17, + 0xb4, 0x17, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x92, 0x89, + 0x9a, 0x8b, 0xb4, 0x15, 0x81, 0xc7, 0x79, 0xc5, + 0x41, 0x01, 0x10, 0x83, 0x9d, 0x65, 0x9d, 0x25, + 0x63, 0x55, 0x5b, 0x15, 0x39, 0x01, 0x39, 0x41, + 0x61, 0x43, 0xb4, 0x57, 0xac, 0x15, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0xc5, + 0x71, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x39, 0x01, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xac, 0x15, 0x69, 0x45, 0x71, 0x85, + 0xa3, 0x93, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x5b, 0x55, 0x18, 0x81, 0x18, 0x83, + 0x59, 0x03, 0xab, 0xd5, 0xb4, 0x17, 0x49, 0x01, + 0x49, 0x03, 0x7a, 0x05, 0x82, 0x05, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x41, + 0x59, 0x41, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xac, 0x15, 0x61, 0x03, 0x69, 0x43, + 0x41, 0x01, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x57, 0x5b, 0x17, 0x62, 0x43, 0x62, 0x41, + 0x08, 0x41, 0x20, 0xc1, 0x52, 0x41, 0x9b, 0x91, + 0x9b, 0x91, 0xa2, 0xcb, 0xa2, 0xcb, 0x71, 0x85, + 0x71, 0xc5, 0xb4, 0x57, 0xb4, 0x17, 0x50, 0xc3, + 0x51, 0x03, 0xa2, 0xcb, 0xa2, 0xcb, 0x82, 0x07, + 0x82, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x68, 0xc1, + 0x58, 0xc1, 0x41, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x41, 0x01, 0x08, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x5b, 0x15, 0x72, 0xc3, 0x72, 0xc3, + 0x72, 0xc5, 0x72, 0xc3, 0x59, 0xc1, 0x20, 0xc1, + 0x20, 0xc1, 0x52, 0x01, 0x4a, 0x01, 0x52, 0x01, + 0x4a, 0x01, 0x52, 0x01, 0x52, 0x03, 0x18, 0x81, + 0x10, 0x81, 0x51, 0xc1, 0x51, 0xc1, 0x83, 0x0b, + 0x83, 0x0b, 0x52, 0x03, 0x52, 0x01, 0x10, 0x41, + 0x52, 0x03, 0x6a, 0x83, 0x59, 0x41, 0x59, 0x41, + 0x49, 0x01, 0x08, 0x41, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x63, 0x17, 0x00, 0x01, 0x00, 0x01, + 0x6b, 0x55, 0x6b, 0x13, 0x6b, 0x55, 0x6b, 0x55, + 0x6b, 0x55, 0x00, 0x01, 0x00, 0x01, 0x63, 0x13, + 0x63, 0x15, 0x6b, 0x15, 0x63, 0x15, 0x6b, 0x15, + 0x6b, 0x15, 0x6b, 0x13, 0x6b, 0x13, 0x6b, 0x13, + 0x6b, 0x53, 0x00, 0x03, 0x00, 0x01, 0x6b, 0x55, + 0x6b, 0x15, 0x6b, 0x15, 0x6b, 0x13, 0x63, 0x13, + 0x63, 0x13, 0x08, 0x43, 0x18, 0x83, 0x31, 0x03, + 0x18, 0xc5, 0x29, 0x45, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x9d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x21, 0x01, 0x29, 0x03, 0x10, 0x83, + }; Gfx ground_seamless_green_lush_grass_texture_seamless_green_lush_grass_texture_fresh_backdrop_144751691_rgba16_aligner[] = {gsSPEndDisplayList()}; @@ -787,154 +1051,267 @@ u8 ground_seamless_green_lush_grass_texture_seamless_green_lush_grass_texture_fr }; -Gfx ground_sand_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ground_sand_ci8[] = { - 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, - 0x06, 0x05, 0x07, 0x03, 0x03, 0x03, 0x05, 0x07, - 0x08, 0x09, 0x00, 0x0a, 0x03, 0x08, 0x01, 0x07, - 0x01, 0x02, 0x03, 0x0b, 0x08, 0x01, 0x03, 0x04, - 0x03, 0x03, 0x03, 0x0c, 0x03, 0x03, 0x0d, 0x07, - 0x05, 0x05, 0x07, 0x03, 0x0a, 0x03, 0x00, 0x04, - 0x07, 0x04, 0x05, 0x01, 0x03, 0x03, 0x06, 0x0c, - 0x03, 0x06, 0x03, 0x04, 0x00, 0x01, 0x0e, 0x08, - 0x03, 0x05, 0x05, 0x07, 0x03, 0x01, 0x03, 0x08, - 0x03, 0x08, 0x07, 0x0a, 0x03, 0x01, 0x03, 0x03, - 0x03, 0x03, 0x08, 0x05, 0x03, 0x06, 0x0e, 0x08, - 0x04, 0x0c, 0x03, 0x08, 0x03, 0x01, 0x08, 0x07, - 0x0f, 0x05, 0x10, 0x05, 0x0f, 0x11, 0x0a, 0x03, - 0x01, 0x04, 0x03, 0x03, 0x03, 0x07, 0x04, 0x0a, - 0x12, 0x13, 0x03, 0x14, 0x01, 0x03, 0x01, 0x03, - 0x03, 0x03, 0x15, 0x16, 0x17, 0x0a, 0x02, 0x0a, - 0x0d, 0x05, 0x05, 0x05, 0x05, 0x07, 0x03, 0x08, - 0x0f, 0x08, 0x08, 0x05, 0x01, 0x0a, 0x0c, 0x0c, - 0x0a, 0x0f, 0x15, 0x0c, 0x05, 0x00, 0x05, 0x0a, - 0x0a, 0x03, 0x03, 0x01, 0x0d, 0x03, 0x0c, 0x01, - 0x11, 0x04, 0x18, 0x03, 0x08, 0x19, 0x04, 0x0c, - 0x03, 0x01, 0x19, 0x08, 0x18, 0x03, 0x19, 0x05, - 0x14, 0x03, 0x0a, 0x05, 0x03, 0x14, 0x0c, 0x07, - 0x03, 0x14, 0x19, 0x11, 0x01, 0x0c, 0x01, 0x03, - 0x04, 0x03, 0x03, 0x10, 0x0a, 0x03, 0x01, 0x05, - 0x03, 0x08, 0x16, 0x11, 0x03, 0x01, 0x03, 0x03, - 0x0a, 0x01, 0x03, 0x03, 0x03, 0x0a, 0x03, 0x07, - 0x07, 0x03, 0x11, 0x03, 0x06, 0x0f, 0x03, 0x19, - 0x08, 0x16, 0x00, 0x02, 0x01, 0x1a, 0x13, 0x03, - 0x0d, 0x03, 0x19, 0x04, 0x03, 0x01, 0x03, 0x07, - 0x03, 0x03, 0x03, 0x04, 0x01, 0x03, 0x1b, 0x03, - 0x14, 0x07, 0x03, 0x03, 0x03, 0x07, 0x03, 0x02, - 0x18, 0x05, 0x08, 0x01, 0x03, 0x1b, 0x03, 0x18, - 0x03, 0x08, 0x06, 0x18, 0x0c, 0x01, 0x01, 0x01, - 0x01, 0x07, 0x03, 0x04, 0x08, 0x03, 0x05, 0x07, - 0x0a, 0x0a, 0x01, 0x03, 0x17, 0x0a, 0x05, 0x05, - 0x0c, 0x01, 0x01, 0x16, 0x08, 0x12, 0x18, 0x18, - 0x02, 0x0f, 0x04, 0x08, 0x05, 0x18, 0x1a, 0x05, - 0x08, 0x07, 0x04, 0x0d, 0x0a, 0x01, 0x08, 0x03, - 0x1a, 0x1c, 0x0d, 0x05, 0x00, 0x03, 0x01, 0x08, - 0x01, 0x01, 0x14, 0x1a, 0x03, 0x07, 0x01, 0x0d, - 0x16, 0x05, 0x18, 0x05, 0x07, 0x01, 0x03, 0x03, - 0x10, 0x11, 0x16, 0x03, 0x04, 0x06, 0x05, 0x0a, - 0x06, 0x03, 0x05, 0x1a, 0x01, 0x03, 0x0a, 0x02, - 0x03, 0x00, 0x03, 0x11, 0x05, 0x04, 0x03, 0x03, - 0x08, 0x1d, 0x05, 0x0c, 0x02, 0x08, 0x0c, 0x0f, - 0x03, 0x01, 0x03, 0x03, 0x03, 0x07, 0x03, 0x07, - 0x05, 0x17, 0x03, 0x05, 0x11, 0x02, 0x05, 0x04, - 0x05, 0x06, 0x03, 0x05, 0x04, 0x1e, 0x0f, 0x08, - 0x1a, 0x04, 0x1e, 0x1f, 0x03, 0x01, 0x03, 0x0a, - 0x01, 0x02, 0x01, 0x00, 0x04, 0x03, 0x07, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x07, 0x04, 0x03, 0x01, - 0x05, 0x1b, 0x03, 0x07, 0x11, 0x03, 0x14, 0x08, - 0x05, 0x01, 0x03, 0x07, 0x05, 0x03, 0x01, 0x03, - 0x01, 0x0c, 0x01, 0x19, 0x19, 0x01, 0x04, 0x04, - 0x06, 0x08, 0x03, 0x01, 0x03, 0x0a, 0x08, 0x02, - 0x18, 0x0c, 0x04, 0x1a, 0x11, 0x03, 0x1a, 0x05, - 0x03, 0x20, 0x05, 0x02, 0x00, 0x05, 0x14, 0x06, - 0x18, 0x0a, 0x19, 0x16, 0x03, 0x0c, 0x01, 0x08, - 0x04, 0x01, 0x07, 0x03, 0x05, 0x08, 0x05, 0x03, - 0x01, 0x07, 0x17, 0x04, 0x05, 0x02, 0x05, 0x1f, - 0x20, 0x03, 0x03, 0x18, 0x1f, 0x0a, 0x04, 0x0b, - 0x01, 0x05, 0x03, 0x03, 0x03, 0x03, 0x08, 0x01, - 0x04, 0x04, 0x16, 0x02, 0x0c, 0x07, 0x07, 0x0a, - 0x21, 0x12, 0x11, 0x0c, 0x06, 0x0f, 0x03, 0x03, - 0x0a, 0x07, 0x22, 0x11, 0x07, 0x05, 0x05, 0x0a, - 0x19, 0x01, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x12, - 0x05, 0x0a, 0x08, 0x08, 0x08, 0x23, 0x23, 0x04, - 0x05, 0x0a, 0x12, 0x01, 0x03, 0x03, 0x0a, 0x0c, - 0x03, 0x01, 0x01, 0x0f, 0x05, 0x1f, 0x0c, 0x03, - 0x01, 0x0e, 0x10, 0x22, 0x01, 0x09, 0x03, 0x03, - 0x0f, 0x03, 0x18, 0x05, 0x1f, 0x05, 0x20, 0x00, - 0x0c, 0x06, 0x03, 0x01, 0x03, 0x0c, 0x09, 0x03, - 0x0c, 0x0a, 0x03, 0x0c, 0x00, 0x01, 0x16, 0x04, - 0x11, 0x06, 0x23, 0x08, 0x03, 0x07, 0x08, 0x07, - 0x0a, 0x04, 0x07, 0x01, 0x0a, 0x01, 0x03, 0x18, - 0x05, 0x05, 0x11, 0x03, 0x08, 0x03, 0x0f, 0x03, - 0x04, 0x05, 0x03, 0x0c, 0x00, 0x04, 0x03, 0x05, - 0x19, 0x01, 0x04, 0x0c, 0x01, 0x05, 0x04, 0x00, - 0x01, 0x16, 0x04, 0x0c, 0x01, 0x01, 0x01, 0x0c, - 0x03, 0x04, 0x0a, 0x01, 0x19, 0x08, 0x04, 0x01, - 0x01, 0x15, 0x01, 0x18, 0x03, 0x04, 0x04, 0x01, - 0x05, 0x01, 0x03, 0x03, 0x11, 0x07, 0x0c, 0x1b, - 0x03, 0x24, 0x25, 0x0c, 0x04, 0x01, 0x0a, 0x0f, - 0x04, 0x05, 0x05, 0x01, 0x1f, 0x03, 0x01, 0x01, - 0x06, 0x05, 0x01, 0x05, 0x03, 0x04, 0x01, 0x07, - 0x01, 0x03, 0x0e, 0x0a, 0x03, 0x12, 0x03, 0x05, - 0x0c, 0x07, 0x01, 0x07, 0x03, 0x03, 0x18, 0x14, - 0x03, 0x01, 0x00, 0x0c, 0x02, 0x14, 0x06, 0x03, - 0x01, 0x03, 0x05, 0x0c, 0x06, 0x05, 0x0f, 0x0b, - 0x03, 0x04, 0x17, 0x02, 0x05, 0x04, 0x05, 0x03, - 0x03, 0x08, 0x03, 0x05, 0x03, 0x05, 0x05, 0x06, - 0x07, 0x24, 0x0c, 0x0c, 0x0c, 0x07, 0x19, 0x03, - 0x08, 0x05, 0x05, 0x03, 0x19, 0x03, 0x08, 0x05, - 0x26, 0x04, 0x03, 0x0a, 0x11, 0x0f, 0x0c, 0x01, - 0x03, 0x03, 0x14, 0x00, 0x03, 0x05, 0x00, 0x03, - 0x08, 0x06, 0x03, 0x03, 0x01, 0x22, 0x01, 0x0d, - 0x03, 0x05, 0x05, 0x03, 0x03, 0x01, 0x01, 0x0c, - 0x01, 0x03, 0x15, 0x11, 0x07, 0x03, 0x04, 0x05, - 0x05, 0x18, 0x05, 0x01, 0x08, 0x03, 0x05, 0x05, - 0x18, 0x03, 0x01, 0x08, 0x03, 0x0c, 0x07, 0x0c, - 0x03, 0x15, 0x04, 0x04, 0x01, 0x27, 0x0f, 0x03, - 0x01, 0x03, 0x04, 0x0c, 0x03, 0x08, 0x0c, 0x16, - 0x03, 0x14, 0x19, 0x03, 0x03, 0x19, 0x01, 0x03, - 0x03, 0x01, 0x05, 0x03, 0x0f, 0x05, 0x0c, 0x00, - 0x15, 0x05, 0x01, 0x01, 0x1c, 0x03, 0x10, 0x03, - 0x0c, 0x00, 0x03, 0x06, 0x0a, 0x01, 0x0f, 0x14, - 0x05, 0x03, 0x03, 0x01, 0x14, 0x03, 0x0c, 0x0f, - 0x0f, 0x0a, 0x07, 0x01, 0x05, 0x08, 0x14, 0x01, - 0x03, 0x03, 0x0f, 0x03, 0x01, 0x03, 0x03, 0x0d, - 0x08, 0x11, 0x03, 0x18, 0x05, 0x1f, 0x0e, 0x0f, - 0x05, 0x05, 0x03, 0x08, 0x28, 0x08, 0x03, 0x03, - 0x06, 0x04, 0x11, 0x03, 0x08, 0x03, 0x01, 0x22, - 0x03, 0x04, 0x0e, 0x06, 0x0b, 0x01, 0x03, 0x05, - 0x00, 0x0b, 0x01, 0x01, 0x01, 0x05, 0x06, 0x16, - 0x00, 0x04, 0x07, 0x06, 0x0a, 0x04, 0x11, 0x03, - 0x03, 0x03, 0x29, 0x0c, 0x06, 0x18, 0x14, 0x16, - 0x03, 0x04, 0x08, 0x05, 0x15, 0x01, 0x05, 0x03, - 0x01, 0x22, 0x06, 0x03, 0x08, 0x03, 0x03, 0x03, - 0x29, 0x05, 0x14, 0x03, 0x01, 0x0a, 0x0e, 0x01, - 0x16, 0x08, 0x07, 0x03, 0x08, 0x03, 0x05, 0x1f, - 0x03, 0x14, 0x03, 0x08, 0x08, 0x0c, 0x11, 0x04, - 0x07, 0x19, 0x08, 0x03, 0x08, 0x03, 0x03, 0x04, - 0x07, 0x0c, 0x11, 0x00, 0x1a, 0x08, 0x03, 0x0f, - 0x0f, 0x03, 0x03, 0x07, 0x0f, 0x0c, 0x03, 0x0f, - 0x19, 0x03, 0x0b, 0x01, 0x03, 0x04, 0x17, 0x03, - 0x06, 0x0d, 0x0c, 0x03, 0x03, 0x03, 0x06, 0x03, - 0x0a, 0x11, 0x01, 0x0c, 0x01, 0x07, 0x2a, 0x03, +Gfx ground_sand_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_sand_rgba16[] = { + 0xe5, 0x9b, 0xfe, 0x1d, 0xfe, 0x1d, 0xfe, 0x1d, + 0xf5, 0x9d, 0xfd, 0xdd, 0xfd, 0xdb, 0xfe, 0x1f, + 0xf5, 0x9b, 0xfe, 0x1f, 0xfd, 0xdf, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xfe, 0x1f, 0xfd, 0xdf, + 0xed, 0x9b, 0xd5, 0x1b, 0xe5, 0x9b, 0xe5, 0x5b, + 0xfd, 0xdd, 0xed, 0x9b, 0xfe, 0x1d, 0xfd, 0xdf, + 0xfe, 0x1d, 0xf5, 0x9d, 0xfd, 0xdd, 0xfe, 0x1b, + 0xed, 0x9b, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdb, + 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xf5, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xdd, 0x59, 0xfd, 0xdf, + 0xfe, 0x1f, 0xfe, 0x1f, 0xfd, 0xdf, 0xfd, 0xdd, + 0xe5, 0x5b, 0xfd, 0xdd, 0xe5, 0x9b, 0xfd, 0xdb, + 0xfd, 0xdf, 0xfd, 0xdb, 0xfe, 0x1f, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0xdd, 0xf5, 0x9b, 0xf5, 0xdd, + 0xfd, 0xdd, 0xf5, 0x9b, 0xfd, 0xdd, 0xfd, 0xdb, + 0xe5, 0x9b, 0xfe, 0x1d, 0xfd, 0x9b, 0xed, 0x9b, + 0xfd, 0xdd, 0xfe, 0x1f, 0xfe, 0x1f, 0xfd, 0xdf, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xed, 0x9b, + 0xfd, 0xdd, 0xed, 0x9b, 0xfd, 0xdf, 0xe5, 0x5b, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xed, 0x9b, 0xfe, 0x1f, + 0xfd, 0xdd, 0xf5, 0x9b, 0xfd, 0x9b, 0xed, 0x9b, + 0xfd, 0xdb, 0xf5, 0xdd, 0xfd, 0xdd, 0xed, 0x9b, + 0xfd, 0xdd, 0xfe, 0x1d, 0xed, 0x9b, 0xfd, 0xdf, + 0xed, 0x9d, 0xfe, 0x1f, 0xcc, 0xd9, 0xfe, 0x1f, + 0xed, 0x9d, 0xdd, 0x19, 0xe5, 0x5b, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdb, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdf, 0xfd, 0xdb, 0xe5, 0x5b, + 0xed, 0x5b, 0xf6, 0x1f, 0xfd, 0xdd, 0xf5, 0xdb, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xdd, 0x1b, 0xd5, 0x19, + 0xed, 0xdd, 0xe5, 0x5b, 0xf5, 0x9d, 0xe5, 0x5b, + 0xdd, 0x59, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, + 0xfe, 0x1f, 0xfd, 0xdf, 0xfd, 0xdd, 0xed, 0x9b, + 0xed, 0x9d, 0xed, 0x9b, 0xed, 0x9b, 0xfe, 0x1f, + 0xfe, 0x1d, 0xe5, 0x5b, 0xf5, 0xdd, 0xf5, 0xdd, + 0xe5, 0x5b, 0xed, 0x9d, 0xdd, 0x1b, 0xf5, 0xdd, + 0xfe, 0x1f, 0xe5, 0x9b, 0xfe, 0x1f, 0xe5, 0x5b, + 0xe5, 0x5b, 0xfd, 0xdd, 0xfd, 0xdd, 0xfe, 0x1d, + 0xdd, 0x59, 0xfd, 0xdd, 0xf5, 0xdd, 0xfe, 0x1d, + 0xdd, 0x19, 0xfd, 0xdb, 0xe5, 0x59, 0xfd, 0xdd, + 0xed, 0x9b, 0xdd, 0x5b, 0xfd, 0xdb, 0xf5, 0xdd, + 0xfd, 0xdd, 0xfe, 0x1d, 0xdd, 0x5b, 0xed, 0x9b, + 0xe5, 0x59, 0xfd, 0xdd, 0xdd, 0x5b, 0xfe, 0x1f, + 0xf5, 0xdb, 0xfd, 0xdd, 0xe5, 0x5b, 0xfe, 0x1f, + 0xfd, 0xdd, 0xf5, 0xdb, 0xf5, 0xdd, 0xfd, 0xdf, + 0xfd, 0xdd, 0xf5, 0xdb, 0xdd, 0x5b, 0xdd, 0x19, + 0xfe, 0x1d, 0xf5, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, + 0xfd, 0xdb, 0xfd, 0xdd, 0xfd, 0xdd, 0xcc, 0xd9, + 0xe5, 0x5b, 0xfd, 0xdd, 0xfe, 0x1d, 0xfe, 0x1f, + 0xfd, 0xdd, 0xed, 0x9b, 0xd5, 0x19, 0xdd, 0x19, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xe5, 0x5b, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xe5, 0x5b, 0xfd, 0xdd, 0xfd, 0xdf, + 0xfd, 0xdf, 0xfd, 0xdd, 0xdd, 0x19, 0xfd, 0xdd, + 0xf5, 0x9b, 0xed, 0x9d, 0xfd, 0xdd, 0xdd, 0x5b, + 0xed, 0x9b, 0xd5, 0x19, 0xe5, 0x9b, 0xf5, 0x9d, + 0xfe, 0x1d, 0xd4, 0xd9, 0xf6, 0x1f, 0xfd, 0xdd, + 0xdd, 0x59, 0xfd, 0xdd, 0xdd, 0x5b, 0xfd, 0xdb, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdf, + 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdb, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0x9d, 0xfd, 0xdd, + 0xf5, 0xdb, 0xfd, 0xdf, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdf, 0xfd, 0xdd, 0xf5, 0x9d, + 0xe5, 0x59, 0xfe, 0x1f, 0xed, 0x9b, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0x9d, 0xfd, 0xdd, 0xe5, 0x59, + 0xfd, 0xdd, 0xed, 0x9b, 0xf5, 0x9b, 0xe5, 0x59, + 0xf5, 0xdd, 0xfe, 0x1d, 0xfe, 0x1d, 0xfe, 0x1d, + 0xfe, 0x1d, 0xfd, 0xdf, 0xfd, 0xdd, 0xfd, 0xdb, + 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, 0xfd, 0xdf, + 0xe5, 0x5b, 0xe5, 0x5b, 0xfe, 0x1d, 0xfd, 0xdd, + 0xed, 0xdd, 0xe5, 0x5b, 0xfe, 0x1f, 0xfe, 0x1f, + 0xf5, 0xdd, 0xfe, 0x1d, 0xfe, 0x1d, 0xd5, 0x19, + 0xed, 0x9b, 0xed, 0x5b, 0xe5, 0x59, 0xe5, 0x59, + 0xf5, 0x9d, 0xed, 0x9d, 0xfd, 0xdb, 0xed, 0x9b, + 0xfe, 0x1f, 0xe5, 0x59, 0xd4, 0xd9, 0xfe, 0x1f, + 0xed, 0x9b, 0xfd, 0xdf, 0xfd, 0xdb, 0xdd, 0x59, + 0xe5, 0x5b, 0xfe, 0x1d, 0xed, 0x9b, 0xfd, 0xdd, + 0xd4, 0xd9, 0xd5, 0x5b, 0xdd, 0x59, 0xfe, 0x1f, + 0xe5, 0x9b, 0xfd, 0xdd, 0xfe, 0x1d, 0xed, 0x9b, + 0xfe, 0x1d, 0xfe, 0x1d, 0xf5, 0xdb, 0xd4, 0xd9, + 0xfd, 0xdd, 0xfd, 0xdf, 0xfe, 0x1d, 0xdd, 0x59, + 0xd5, 0x19, 0xfe, 0x1f, 0xe5, 0x59, 0xfe, 0x1f, + 0xfd, 0xdf, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xcc, 0xd9, 0xdd, 0x19, 0xd5, 0x19, 0xfd, 0xdd, + 0xfd, 0xdb, 0xf5, 0x9b, 0xfe, 0x1f, 0xe5, 0x5b, + 0xf5, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, 0xd4, 0xd9, + 0xfe, 0x1d, 0xfd, 0xdd, 0xe5, 0x5b, 0xf5, 0x9d, + 0xfd, 0xdd, 0xe5, 0x9b, 0xfd, 0xdd, 0xdd, 0x19, + 0xfe, 0x1f, 0xfd, 0xdb, 0xfd, 0xdd, 0xfd, 0xdd, + 0xed, 0x9b, 0xe5, 0x99, 0xfe, 0x1f, 0xf5, 0xdd, + 0xf5, 0x9d, 0xed, 0x9b, 0xf5, 0xdd, 0xed, 0x9d, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdf, 0xfd, 0xdd, 0xfd, 0xdf, + 0xfe, 0x1f, 0xed, 0xdd, 0xfd, 0xdd, 0xfe, 0x1f, + 0xdd, 0x19, 0xf5, 0x9d, 0xfe, 0x1f, 0xfd, 0xdb, + 0xfe, 0x1f, 0xf5, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, + 0xfd, 0xdb, 0xcc, 0xd7, 0xed, 0x9d, 0xed, 0x9b, + 0xd4, 0xd9, 0xfd, 0xdb, 0xcc, 0xd7, 0xf5, 0xdf, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, 0xe5, 0x5b, + 0xfe, 0x1d, 0xf5, 0x9d, 0xfe, 0x1d, 0xe5, 0x9b, + 0xfd, 0xdb, 0xfd, 0xdd, 0xfd, 0xdf, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdf, 0xfd, 0xdb, 0xfd, 0xdd, 0xfe, 0x1d, + 0xfe, 0x1f, 0xfd, 0x9d, 0xfd, 0xdd, 0xfd, 0xdf, + 0xdd, 0x19, 0xfd, 0xdd, 0xf5, 0xdb, 0xed, 0x9b, + 0xfe, 0x1f, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdf, + 0xfe, 0x1f, 0xfd, 0xdd, 0xfe, 0x1d, 0xfd, 0xdd, + 0xfe, 0x1d, 0xf5, 0xdd, 0xfe, 0x1d, 0xdd, 0x5b, + 0xdd, 0x5b, 0xfe, 0x1d, 0xfd, 0xdb, 0xfd, 0xdb, + 0xf5, 0x9b, 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1d, + 0xfd, 0xdd, 0xe5, 0x5b, 0xed, 0x9b, 0xf5, 0x9d, + 0xe5, 0x59, 0xf5, 0xdd, 0xfd, 0xdb, 0xd4, 0xd9, + 0xdd, 0x19, 0xfd, 0xdd, 0xd4, 0xd9, 0xfe, 0x1f, + 0xfd, 0xdd, 0xd5, 0x17, 0xfe, 0x1f, 0xf5, 0x9d, + 0xe5, 0x9b, 0xfe, 0x1f, 0xf5, 0xdb, 0xf5, 0x9b, + 0xe5, 0x59, 0xe5, 0x5b, 0xdd, 0x5b, 0xd5, 0x19, + 0xfd, 0xdd, 0xf5, 0xdd, 0xfe, 0x1d, 0xed, 0x9b, + 0xfd, 0xdb, 0xfe, 0x1d, 0xfd, 0xdf, 0xfd, 0xdd, + 0xfe, 0x1f, 0xed, 0x9b, 0xfe, 0x1f, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdf, 0xed, 0xdd, 0xfd, 0xdb, + 0xfe, 0x1f, 0xf5, 0x9d, 0xfe, 0x1f, 0xf5, 0xdf, + 0xd5, 0x17, 0xfd, 0xdd, 0xfd, 0xdd, 0xe5, 0x59, + 0xf5, 0xdf, 0xe5, 0x5b, 0xfd, 0xdb, 0xfe, 0x1b, + 0xfe, 0x1d, 0xfe, 0x1f, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xed, 0x9b, 0xfe, 0x1d, + 0xfd, 0xdb, 0xfd, 0xdb, 0xd5, 0x19, 0xf5, 0x9d, + 0xf5, 0xdd, 0xfd, 0xdf, 0xfd, 0xdf, 0xe5, 0x5b, + 0xe5, 0x19, 0xed, 0x5b, 0xdd, 0x19, 0xf5, 0xdd, + 0xf5, 0x9b, 0xed, 0x9d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xe5, 0x5b, 0xfd, 0xdf, 0xed, 0x59, 0xdd, 0x19, + 0xfd, 0xdf, 0xfe, 0x1f, 0xfe, 0x1f, 0xe5, 0x5b, + 0xdd, 0x5b, 0xfe, 0x1d, 0xf5, 0xdf, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xed, 0x5b, + 0xfe, 0x1f, 0xe5, 0x5b, 0xed, 0x9b, 0xed, 0x9b, + 0xed, 0x9b, 0xe5, 0x9d, 0xe5, 0x9d, 0xfd, 0xdb, + 0xfe, 0x1f, 0xe5, 0x5b, 0xed, 0x5b, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0xdd, 0xe5, 0x5b, 0xf5, 0xdd, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfe, 0x1d, 0xed, 0x9d, + 0xfe, 0x1f, 0xf5, 0xdf, 0xf5, 0xdd, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0x9b, 0xcc, 0xd9, 0xed, 0x59, + 0xfe, 0x1d, 0xd5, 0x1b, 0xfd, 0xdd, 0xfd, 0xdd, + 0xed, 0x9d, 0xfd, 0xdd, 0xe5, 0x59, 0xfe, 0x1f, + 0xf5, 0xdf, 0xfe, 0x1f, 0xd5, 0x17, 0xe5, 0x9b, + 0xf5, 0xdd, 0xf5, 0x9b, 0xfd, 0xdd, 0xfe, 0x1d, + 0xfd, 0xdd, 0xf5, 0xdd, 0xd5, 0x1b, 0xfd, 0xdd, + 0xf5, 0xdd, 0xe5, 0x5b, 0xfd, 0xdd, 0xf5, 0xdd, + 0xe5, 0x9b, 0xfe, 0x1d, 0xd5, 0x19, 0xfd, 0xdb, + 0xdd, 0x19, 0xf5, 0x9b, 0xe5, 0x9d, 0xed, 0x9b, + 0xfd, 0xdd, 0xfd, 0xdf, 0xed, 0x9b, 0xfd, 0xdf, + 0xe5, 0x5b, 0xfd, 0xdb, 0xfd, 0xdf, 0xfe, 0x1d, + 0xe5, 0x5b, 0xfe, 0x1d, 0xfd, 0xdd, 0xe5, 0x59, + 0xfe, 0x1f, 0xfe, 0x1f, 0xdd, 0x19, 0xfd, 0xdd, + 0xed, 0x9b, 0xfd, 0xdd, 0xed, 0x9d, 0xfd, 0xdd, + 0xfd, 0xdb, 0xfe, 0x1f, 0xfd, 0xdd, 0xf5, 0xdd, + 0xe5, 0x9b, 0xfd, 0xdb, 0xfd, 0xdd, 0xfe, 0x1f, + 0xdd, 0x5b, 0xfe, 0x1d, 0xfd, 0xdb, 0xf5, 0xdd, + 0xfe, 0x1d, 0xfe, 0x1f, 0xfd, 0xdb, 0xe5, 0x9b, + 0xfe, 0x1d, 0xd5, 0x19, 0xfd, 0xdb, 0xf5, 0xdd, + 0xfe, 0x1d, 0xfe, 0x1d, 0xfe, 0x1d, 0xf5, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdb, 0xe5, 0x5b, 0xfe, 0x1d, + 0xdd, 0x5b, 0xed, 0x9b, 0xfd, 0xdb, 0xfe, 0x1d, + 0xfe, 0x1d, 0xdd, 0x1b, 0xfe, 0x1d, 0xe5, 0x59, + 0xfd, 0xdd, 0xfd, 0xdb, 0xfd, 0xdb, 0xfe, 0x1d, + 0xfe, 0x1f, 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, + 0xdd, 0x19, 0xfd, 0xdf, 0xf5, 0xdd, 0xfd, 0x9d, + 0xfd, 0xdd, 0xed, 0x99, 0xe5, 0x5d, 0xf5, 0xdd, + 0xfd, 0xdb, 0xfe, 0x1d, 0xe5, 0x5b, 0xed, 0x9d, + 0xfd, 0xdb, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1d, + 0xf5, 0xdf, 0xfd, 0xdd, 0xfe, 0x1d, 0xfe, 0x1d, + 0xf5, 0x9b, 0xfe, 0x1f, 0xfe, 0x1d, 0xfe, 0x1f, + 0xfd, 0xdd, 0xfd, 0xdb, 0xfe, 0x1d, 0xfd, 0xdf, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0x9b, 0xe5, 0x5b, + 0xfd, 0xdd, 0xed, 0x5b, 0xfd, 0xdd, 0xfe, 0x1f, + 0xf5, 0xdd, 0xfd, 0xdf, 0xfe, 0x1d, 0xfd, 0xdf, + 0xfd, 0xdd, 0xfd, 0xdd, 0xe5, 0x59, 0xf5, 0xdb, + 0xfd, 0xdd, 0xfe, 0x1d, 0xe5, 0x9b, 0xf5, 0xdd, + 0xf5, 0x9d, 0xf5, 0xdb, 0xf5, 0x9b, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfe, 0x1f, 0xf5, 0xdd, + 0xf5, 0x9b, 0xfe, 0x1f, 0xed, 0x9d, 0xfe, 0x1b, + 0xfd, 0xdd, 0xfd, 0xdb, 0xed, 0xdd, 0xf5, 0x9d, + 0xfe, 0x1f, 0xfd, 0xdb, 0xfe, 0x1f, 0xfd, 0xdd, + 0xfd, 0xdd, 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, + 0xfd, 0xdd, 0xfe, 0x1f, 0xfe, 0x1f, 0xf5, 0x9b, + 0xfd, 0xdf, 0xed, 0x99, 0xf5, 0xdd, 0xf5, 0xdd, + 0xf5, 0xdd, 0xfd, 0xdf, 0xdd, 0x5b, 0xfd, 0xdd, + 0xed, 0x9b, 0xfe, 0x1f, 0xfe, 0x1f, 0xfd, 0xdd, + 0xdd, 0x5b, 0xfd, 0xdd, 0xed, 0x9b, 0xfe, 0x1f, + 0xe5, 0x1b, 0xfd, 0xdb, 0xfd, 0xdd, 0xe5, 0x5b, + 0xdd, 0x19, 0xed, 0x9d, 0xf5, 0xdd, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0xdd, 0xf5, 0xdb, 0xe5, 0x9b, + 0xfd, 0xdd, 0xfe, 0x1f, 0xe5, 0x9b, 0xfd, 0xdd, + 0xed, 0x9b, 0xf5, 0x9b, 0xfd, 0xdd, 0xfd, 0xdd, + 0xfe, 0x1d, 0xed, 0x59, 0xfe, 0x1d, 0xdd, 0x59, + 0xfd, 0xdd, 0xfe, 0x1f, 0xfe, 0x1f, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfe, 0x1d, 0xf5, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdd, 0xdd, 0x1b, 0xdd, 0x19, + 0xfd, 0xdf, 0xfd, 0xdd, 0xfd, 0xdb, 0xfe, 0x1f, + 0xfe, 0x1f, 0xe5, 0x59, 0xfe, 0x1f, 0xfe, 0x1d, + 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, 0xfe, 0x1f, + 0xe5, 0x59, 0xfd, 0xdd, 0xfe, 0x1d, 0xed, 0x9b, + 0xfd, 0xdd, 0xf5, 0xdd, 0xfd, 0xdf, 0xf5, 0xdd, + 0xfd, 0xdd, 0xdd, 0x1b, 0xfd, 0xdb, 0xfd, 0xdb, + 0xfe, 0x1d, 0xcc, 0x97, 0xed, 0x9d, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdb, 0xf5, 0xdd, + 0xfd, 0xdd, 0xed, 0x9b, 0xf5, 0xdd, 0xd5, 0x19, + 0xfd, 0xdd, 0xf5, 0xdb, 0xdd, 0x5b, 0xfd, 0xdd, + 0xfd, 0xdd, 0xdd, 0x5b, 0xfe, 0x1d, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfe, 0x1d, 0xfe, 0x1f, 0xfd, 0xdd, + 0xed, 0x9d, 0xfe, 0x1f, 0xf5, 0xdd, 0xe5, 0x9b, + 0xdd, 0x1b, 0xfe, 0x1f, 0xfe, 0x1d, 0xfe, 0x1d, + 0xd5, 0x5b, 0xfd, 0xdd, 0xcc, 0xd9, 0xfd, 0xdd, + 0xf5, 0xdd, 0xe5, 0x9b, 0xfd, 0xdd, 0xf5, 0x9b, + 0xe5, 0x5b, 0xfe, 0x1d, 0xed, 0x9d, 0xf5, 0xdb, + 0xfe, 0x1f, 0xfd, 0xdd, 0xfd, 0xdd, 0xfe, 0x1d, + 0xf5, 0xdb, 0xfd, 0xdd, 0xf5, 0xdd, 0xed, 0x9d, + 0xed, 0x9d, 0xe5, 0x5b, 0xfd, 0xdf, 0xfe, 0x1d, + 0xfe, 0x1f, 0xed, 0x9b, 0xf5, 0xdb, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0xdd, 0xed, 0x9d, 0xfd, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdd, 0xfd, 0xdd, 0xdd, 0x59, + 0xed, 0x9b, 0xdd, 0x19, 0xfd, 0xdd, 0xe5, 0x59, + 0xfe, 0x1f, 0xf5, 0xdf, 0xfd, 0x9b, 0xed, 0x9d, + 0xfe, 0x1f, 0xfe, 0x1f, 0xfd, 0xdd, 0xed, 0x9b, + 0xcd, 0x19, 0xed, 0x9b, 0xfd, 0xdd, 0xfd, 0xdd, + 0xf5, 0x9b, 0xfd, 0xdb, 0xdd, 0x19, 0xfd, 0xdd, + 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1d, 0xed, 0x59, + 0xfd, 0xdd, 0xfd, 0xdb, 0xfd, 0x9b, 0xf5, 0x9b, + 0xfe, 0x1b, 0xfe, 0x1d, 0xfd, 0xdd, 0xfe, 0x1f, + 0xe5, 0x9b, 0xfe, 0x1b, 0xfe, 0x1d, 0xfe, 0x1d, + 0xfe, 0x1d, 0xfe, 0x1f, 0xf5, 0x9b, 0xd5, 0x19, + 0xe5, 0x9b, 0xfd, 0xdb, 0xfd, 0xdf, 0xf5, 0x9b, + 0xe5, 0x5b, 0xfd, 0xdb, 0xdd, 0x19, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xd4, 0xd7, 0xf5, 0xdd, + 0xf5, 0x9b, 0xe5, 0x59, 0xf5, 0xdb, 0xd5, 0x19, + 0xfd, 0xdd, 0xfd, 0xdb, 0xed, 0x9b, 0xfe, 0x1f, + 0xdd, 0x1b, 0xfe, 0x1d, 0xfe, 0x1f, 0xfd, 0xdd, + 0xfe, 0x1d, 0xed, 0x59, 0xf5, 0x9b, 0xfd, 0xdd, + 0xed, 0x9b, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, + 0xd4, 0xd7, 0xfe, 0x1f, 0xf5, 0xdb, 0xfd, 0xdd, + 0xfe, 0x1d, 0xe5, 0x5b, 0xfd, 0x9b, 0xfe, 0x1d, + 0xd5, 0x19, 0xed, 0x9b, 0xfd, 0xdf, 0xfd, 0xdd, + 0xed, 0x9b, 0xfd, 0xdd, 0xfe, 0x1f, 0xf5, 0xdf, + 0xfd, 0xdd, 0xf5, 0xdb, 0xfd, 0xdd, 0xed, 0x9b, + 0xed, 0x9b, 0xf5, 0xdd, 0xdd, 0x19, 0xfd, 0xdb, + 0xfd, 0xdf, 0xdd, 0x5b, 0xed, 0x9b, 0xfd, 0xdd, + 0xed, 0x9b, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdb, + 0xfd, 0xdf, 0xf5, 0xdd, 0xdd, 0x19, 0xe5, 0x9b, + 0xd4, 0xd9, 0xed, 0x9b, 0xfd, 0xdd, 0xed, 0x9d, + 0xed, 0x9d, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdf, + 0xed, 0x9d, 0xf5, 0xdd, 0xfd, 0xdd, 0xed, 0x9d, + 0xdd, 0x5b, 0xfd, 0xdd, 0xfe, 0x1b, 0xfe, 0x1d, + 0xfd, 0xdd, 0xfd, 0xdb, 0xed, 0xdd, 0xfd, 0xdd, + 0xf5, 0x9b, 0xdd, 0x59, 0xf5, 0xdd, 0xfd, 0xdd, + 0xfd, 0xdd, 0xfd, 0xdd, 0xf5, 0x9b, 0xfd, 0xdd, + 0xe5, 0x5b, 0xdd, 0x19, 0xfe, 0x1d, 0xf5, 0xdd, + 0xfe, 0x1d, 0xfd, 0xdf, 0xf6, 0x1d, 0xfd, 0xdd, }; -Gfx ground_sand_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ground_sand_pal_rgba16[] = { - 0xe5, 0x9b, 0xfe, 0x1d, 0xf5, 0x9d, 0xfd, 0xdd, - 0xfd, 0xdb, 0xfe, 0x1f, 0xf5, 0x9b, 0xfd, 0xdf, - 0xed, 0x9b, 0xd5, 0x1b, 0xe5, 0x5b, 0xfe, 0x1b, - 0xf5, 0xdd, 0xdd, 0x59, 0xfd, 0x9b, 0xed, 0x9d, - 0xcc, 0xd9, 0xdd, 0x19, 0xed, 0x5b, 0xf6, 0x1f, - 0xf5, 0xdb, 0xdd, 0x1b, 0xd5, 0x19, 0xed, 0xdd, - 0xe5, 0x59, 0xdd, 0x5b, 0xd4, 0xd9, 0xfd, 0x9d, - 0xd5, 0x5b, 0xe5, 0x99, 0xcc, 0xd7, 0xf5, 0xdf, - 0xd5, 0x17, 0xe5, 0x19, 0xed, 0x59, 0xe5, 0x9d, - 0xed, 0x99, 0xe5, 0x5d, 0xe5, 0x1b, 0xcc, 0x97, - 0xcd, 0x19, 0xd4, 0xd7, 0xf6, 0x1d, -}; - Gfx ground_window_rgba16_aligner[] = {gsSPEndDisplayList()}; u8 ground_window_rgba16[] = { 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, @@ -944,1319 +1321,2455 @@ u8 ground_window_rgba16[] = { }; -Gfx ground_parascode_rgba32_aligner[] = {gsSPEndDisplayList()}; -u8 ground_parascode_rgba32[] = { - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0xff, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0xff, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, - 0xe8, 0x43, 0x43, 0x00, 0xe8, 0x43, 0x43, 0x00, +Gfx ground_parascode_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_parascode_rgba16[] = { + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x11, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x11, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, + 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, 0xe2, 0x10, }; -Gfx ground_keyboardArt_i8_aligner[] = {gsSPEndDisplayList()}; -u8 ground_keyboardArt_i8[] = { - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, - 0x20, 0x01, 0x0d, 0x23, 0x20, 0x20, 0x16, 0x1c, - 0x08, 0x0b, 0x21, 0x0b, 0x18, 0x11, 0x03, 0x20, - 0x0a, 0x20, 0x01, 0x1d, 0x04, 0x0c, 0x23, 0x08, - 0x1a, 0x21, 0x06, 0x18, 0x08, 0x20, 0x02, 0x1e, - 0x22, 0x11, 0x1c, 0x06, 0x1a, 0x22, 0x08, 0x19, - 0x06, 0x05, 0x05, 0x17, 0x21, 0x14, 0x1d, 0x02, - 0x0c, 0x22, 0x02, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x02, 0x20, 0x23, 0x20, 0x20, 0x13, 0x1c, - 0x08, 0x0b, 0x21, 0x0b, 0x18, 0x23, 0x03, 0x20, - 0x0a, 0x20, 0x02, 0x1d, 0x04, 0x15, 0x23, 0x08, - 0x1a, 0x21, 0x06, 0x18, 0x08, 0x20, 0x04, 0x1e, - 0x22, 0x17, 0x1c, 0x06, 0x1a, 0x22, 0x08, 0x19, - 0x06, 0x04, 0x05, 0x17, 0x24, 0x14, 0x1d, 0x02, - 0x0c, 0x33, 0x02, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x02, 0x1e, 0x1e, 0x20, 0x20, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x20, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x20, 0x01, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x01, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, - 0x13, 0x13, 0x0c, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x02, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x02, 0x06, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x08, 0x08, 0x05, 0x05, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x02, 0x20, - 0x20, 0x05, 0x1e, 0x23, 0x0c, 0x1a, 0x02, 0x17, - 0x20, 0x06, 0x28, 0x20, 0x08, 0x1f, 0x15, 0x58, - 0x21, 0x02, 0x15, 0x0f, 0x15, 0x1e, 0x02, 0x13, - 0x23, 0x0f, 0x1b, 0x23, 0x13, 0x21, 0x03, 0x1b, - 0x20, 0x09, 0x1a, 0x0d, 0x57, 0x57, 0x53, 0x52, - 0x1a, 0x05, 0x0a, 0x15, 0x23, 0x13, 0x1c, 0x06, - 0x0c, 0x22, 0x02, 0x03, 0x1b, 0x20, 0x08, 0x1a, - 0x18, 0x02, 0x20, 0x0f, 0x13, 0x24, 0x02, 0x21, - 0x20, 0x02, 0x16, 0x20, 0x16, 0x1b, 0x02, 0x16, - 0x20, 0x06, 0x1c, 0x20, 0x08, 0x1f, 0x16, 0x1a, - 0x20, 0x02, 0x19, 0x16, 0x1c, 0x1e, 0x02, 0x18, - 0x1d, 0x06, 0x1c, 0x20, 0x1b, 0x20, 0x03, 0x1c, - 0x20, 0x09, 0x1b, 0x16, 0x17, 0x1a, 0x1b, 0x1c, - 0x16, 0x02, 0x04, 0x1a, 0x21, 0x1a, 0x1d, 0x06, - 0x15, 0x21, 0x02, 0x02, 0x1c, 0x20, 0x08, 0x1b, - 0x16, 0x02, 0x20, 0x16, 0x20, 0x17, 0x02, 0x21, - 0x20, 0x08, 0x21, 0x1a, 0x1d, 0x06, 0x50, 0x1c, - 0x08, 0x32, 0x06, 0x06, 0x20, 0x02, 0x47, 0x0c, - 0x07, 0x1e, 0x24, 0x57, 0x24, 0x17, 0x1f, 0x23, - 0x13, 0x1d, 0x02, 0x12, 0x23, 0x0c, 0x49, 0x02, - 0x08, 0x20, 0x06, 0x57, 0x0a, 0x0a, 0x18, 0x1a, - 0x0c, 0x08, 0x11, 0x15, 0x23, 0x13, 0x1c, 0x06, - 0x0c, 0x22, 0x02, 0x06, 0x1b, 0x20, 0x09, 0x54, - 0x11, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x04, 0x21, - 0x20, 0x02, 0x20, 0x33, 0x1d, 0x06, 0x17, 0x1c, - 0x08, 0x1a, 0x06, 0x06, 0x20, 0x02, 0x17, 0x0d, - 0x08, 0x1e, 0x25, 0x17, 0x24, 0x08, 0x1f, 0x23, - 0x13, 0x1d, 0x02, 0x12, 0x23, 0x0c, 0x1b, 0x02, - 0x08, 0x20, 0x06, 0x3c, 0x0a, 0x0a, 0x18, 0x1a, - 0x0c, 0x02, 0x08, 0x15, 0x23, 0x13, 0x1c, 0x06, - 0x0c, 0x23, 0x02, 0x02, 0x1b, 0x20, 0x09, 0x1a, - 0x0f, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x02, 0x21, - 0x20, 0x00, 0x07, 0x07, 0x07, 0x0b, 0x07, 0x07, - 0x07, 0x07, 0x12, 0x0f, 0x07, 0x06, 0x07, 0x08, - 0x0a, 0x07, 0x07, 0x07, 0x07, 0x01, 0x07, 0x07, - 0x07, 0x07, 0x11, 0x07, 0x07, 0x07, 0x07, 0x06, - 0x07, 0x07, 0x11, 0x07, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x00, 0x02, 0x07, 0x07, 0x07, 0x07, 0x12, - 0x07, 0x07, 0x0f, 0x00, 0x07, 0x07, 0x07, 0x07, - 0x07, 0x10, 0x07, 0x07, 0x13, 0x1d, 0x00, 0x21, - 0x20, 0x06, 0x20, 0x4e, 0x56, 0x1d, 0x46, 0x17, - 0x02, 0x12, 0x23, 0x05, 0x23, 0x0a, 0x09, 0x22, - 0x06, 0x3c, 0x20, 0x08, 0x1f, 0x23, 0x57, 0x1d, - 0x13, 0x57, 0x23, 0x13, 0x1d, 0x03, 0x17, 0x23, - 0x08, 0x1a, 0x21, 0x04, 0x17, 0x1a, 0x1b, 0x1c, - 0x0c, 0x06, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x05, 0x1b, 0x20, 0x09, 0x1a, - 0x11, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x03, 0x21, - 0x20, 0x04, 0x20, 0x19, 0x1c, 0x1d, 0x13, 0x17, - 0x02, 0x12, 0x23, 0x05, 0x1a, 0x0a, 0x09, 0x22, - 0x06, 0x18, 0x20, 0x08, 0x1f, 0x23, 0x17, 0x1d, - 0x0a, 0x15, 0x23, 0x0a, 0x1d, 0x03, 0x17, 0x23, - 0x08, 0x1a, 0x21, 0x04, 0x17, 0x1a, 0x1b, 0x1c, - 0x0c, 0x04, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x02, 0x1b, 0x20, 0x09, 0x1a, - 0x11, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x02, 0x21, - 0x20, 0x08, 0x0f, 0x18, 0x1a, 0x1c, 0x1e, 0x16, - 0x1a, 0x23, 0x1c, 0x1a, 0x05, 0x18, 0x22, 0x09, - 0x1b, 0x0d, 0x03, 0x20, 0x0a, 0x15, 0x0f, 0x16, - 0x1d, 0x24, 0x1d, 0x1c, 0x16, 0x1a, 0x22, 0x17, - 0x17, 0x09, 0x08, 0x17, 0x1a, 0x1a, 0x1c, 0x1d, - 0x0c, 0x08, 0x20, 0x20, 0x20, 0x14, 0x1d, 0x02, - 0x21, 0x21, 0x20, 0x06, 0x1b, 0x20, 0x09, 0x1a, - 0x0c, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x04, 0x21, - 0x20, 0x08, 0x23, 0x57, 0x1a, 0x1c, 0x1e, 0x15, - 0x1a, 0x23, 0x12, 0x57, 0x05, 0x4a, 0x22, 0x09, - 0x1f, 0x18, 0x03, 0x20, 0x0a, 0x15, 0x1a, 0x15, - 0x57, 0x24, 0x1a, 0x1c, 0x15, 0x57, 0x22, 0x1e, - 0x57, 0x09, 0x08, 0x17, 0x1a, 0x1a, 0x1c, 0x1d, - 0x0c, 0x08, 0x20, 0x20, 0x21, 0x14, 0x1d, 0x02, - 0x21, 0x21, 0x20, 0x06, 0x1b, 0x20, 0x09, 0x1a, - 0x11, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x04, 0x21, - 0x20, 0x02, 0x16, 0x13, 0x13, 0x13, 0x13, 0x05, - 0x13, 0x13, 0x16, 0x13, 0x05, 0x13, 0x14, 0x0b, - 0x14, 0x16, 0x03, 0x13, 0x02, 0x13, 0x16, 0x05, - 0x13, 0x16, 0x16, 0x13, 0x05, 0x13, 0x13, 0x16, - 0x13, 0x0f, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, - 0x16, 0x02, 0x20, 0x20, 0x21, 0x13, 0x13, 0x02, - 0x21, 0x21, 0x20, 0x02, 0x13, 0x13, 0x0e, 0x13, - 0x16, 0x02, 0x13, 0x16, 0x13, 0x1d, 0x02, 0x22, - 0x20, 0x04, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0a, 0x04, 0x08, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, - 0x0c, 0x0c, 0x06, 0x02, 0x0a, 0x0a, 0x0a, 0x0a, - 0x0a, 0x0a, 0x0a, 0x0a, 0x13, 0x1d, 0x02, 0x22, - 0x20, 0x06, 0x22, 0x1a, 0x1d, 0x0c, 0x17, 0x1a, - 0x0a, 0x0a, 0x1a, 0x1c, 0x02, 0x18, 0x1a, 0x1b, - 0x1b, 0x1a, 0x1a, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, - 0x1d, 0x1d, 0x0d, 0x0b, 0x1a, 0x1e, 0x02, 0x18, - 0x1a, 0x06, 0x11, 0x1a, 0x06, 0x1e, 0x1a, 0x1b, - 0x0c, 0x06, 0x0c, 0x15, 0x23, 0x14, 0x1e, 0x02, - 0x14, 0x24, 0x0a, 0x04, 0x16, 0x1a, 0x1e, 0x1e, - 0x1d, 0x02, 0x20, 0x0c, 0x13, 0x1d, 0x03, 0x22, - 0x20, 0x02, 0x03, 0x03, 0x03, 0x06, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x0a, 0x04, 0x04, 0x04, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, 0x03, - 0x03, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x0b, - 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x0d, 0x03, 0x03, 0x03, 0x03, 0x02, 0x22, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x24, 0x25, 0x24, - 0x22, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x22, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x22, - 0x23, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x23, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x21, 0x23, 0x25, 0x25, 0x24, - 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x24, 0x24, 0x21, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x21, 0x22, 0x21, 0x21, 0x23, - 0x23, 0x22, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x23, +Gfx ground_road4_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_road4_rgba16[] = { + 0x7b, 0x11, 0xac, 0x5b, 0x72, 0xd1, 0xac, 0x5b, + 0xac, 0x5b, 0xac, 0x5b, 0xac, 0x5b, 0xb4, 0xe1, + 0xa4, 0x59, 0x8b, 0x53, 0x49, 0xcb, 0x49, 0xcb, + 0x49, 0xcb, 0x83, 0x53, 0xa4, 0x17, 0xa4, 0x19, + 0xac, 0x9b, 0x9c, 0x17, 0x9b, 0xd7, 0x93, 0x95, + 0xa4, 0x17, 0xa4, 0x59, 0x8b, 0x95, 0xa4, 0x19, + 0xa4, 0x19, 0xa4, 0x19, 0x72, 0xd1, 0x9b, 0xd5, + 0x9b, 0xd5, 0xa4, 0x19, 0x93, 0x95, 0x93, 0x95, + 0xac, 0x5b, 0x62, 0x8f, 0xa4, 0x17, 0x8b, 0x53, + 0xa4, 0x19, 0xa4, 0x17, 0x8b, 0x95, 0x9c, 0x17, + 0xb4, 0x9d, 0x93, 0x95, 0x72, 0xd1, 0x72, 0xd1, + 0x8b, 0x53, 0xa4, 0x17, 0xb4, 0x9f, 0xb4, 0xdf, + 0xa4, 0x19, 0xa4, 0x19, 0x93, 0x95, 0x72, 0xd1, + 0xa4, 0x17, 0xa4, 0x17, 0xa4, 0x59, 0x8b, 0x53, + 0xac, 0x5b, 0x9c, 0x17, 0x9c, 0x17, 0x8b, 0x95, + 0x9b, 0xd7, 0x83, 0x53, 0x8b, 0x95, 0x7b, 0x13, + 0x8b, 0x95, 0x8b, 0x95, 0x31, 0x49, 0x93, 0x95, + 0x8b, 0x95, 0x8b, 0x53, 0x72, 0xd1, 0xa4, 0x19, + 0xac, 0x9b, 0xa4, 0x59, 0x93, 0xd5, 0x9b, 0xd7, + 0xac, 0x9b, 0xb4, 0xe1, 0xb4, 0xdf, 0xb4, 0xdf, + 0xac, 0x5b, 0xac, 0x9d, 0x8b, 0x93, 0xa4, 0x17, + 0xac, 0x9b, 0xa4, 0x59, 0x93, 0x95, 0xa4, 0x17, + 0x72, 0xd1, 0xa4, 0x17, 0x8b, 0x53, 0xac, 0x9b, + 0x7b, 0x11, 0xa4, 0x17, 0x7b, 0x13, 0x9b, 0xd7, + 0xac, 0x59, 0x73, 0x11, 0x72, 0xd1, 0x62, 0x8f, + 0x9b, 0xd7, 0x8b, 0x95, 0x9b, 0xd7, 0xa4, 0x17, + 0xac, 0x9d, 0x8b, 0x95, 0x83, 0x53, 0x8b, 0x53, + 0xac, 0x5b, 0xb4, 0xdf, 0xb4, 0xe1, 0xac, 0x5b, + 0xac, 0x5b, 0x83, 0x53, 0xac, 0x9b, 0x8b, 0x53, + 0xac, 0x5b, 0xa4, 0x59, 0xa4, 0x59, 0x83, 0x53, + 0x93, 0x95, 0x6a, 0xcf, 0xa4, 0x59, 0xa4, 0x17, + 0xa4, 0x17, 0x9b, 0xd5, 0xa4, 0x17, 0x7b, 0x13, + 0xac, 0x5b, 0x9b, 0xd5, 0x6a, 0x8f, 0x8b, 0x95, + 0x93, 0xd5, 0xac, 0x9d, 0xa4, 0x59, 0xac, 0x9b, + 0xac, 0x9b, 0xa4, 0x19, 0x72, 0xd1, 0x8b, 0x53, + 0xa4, 0x59, 0xb4, 0x9f, 0xac, 0x9d, 0xac, 0x5b, + 0x9b, 0xd7, 0xac, 0x5b, 0x83, 0x53, 0xac, 0x59, + 0xac, 0x59, 0xac, 0x5b, 0xac, 0x59, 0x93, 0x95, + 0x4a, 0x0b, 0x93, 0xd5, 0x83, 0x53, 0xb4, 0x9d, + 0xa4, 0x17, 0x9c, 0x17, 0x93, 0x95, 0x93, 0x95, + 0xa4, 0x19, 0x93, 0xd5, 0x93, 0x95, 0x93, 0x95, + 0xa4, 0x17, 0xb4, 0xdf, 0xac, 0x9b, 0xa4, 0x17, + 0xa4, 0x17, 0xa4, 0x19, 0xac, 0x5b, 0x83, 0x53, + 0xac, 0x5b, 0xac, 0x5b, 0x93, 0x95, 0xa4, 0x19, + 0x9b, 0xd7, 0xac, 0x9b, 0xb4, 0xe1, 0xac, 0x9b, + 0xac, 0x59, 0xb4, 0x9d, 0xac, 0x9d, 0x73, 0x11, + 0x8b, 0x95, 0x73, 0x11, 0xac, 0x59, 0xa4, 0x17, + 0x8b, 0x95, 0x9c, 0x17, 0x9c, 0x17, 0xa4, 0x17, + 0x8b, 0x53, 0x9b, 0xd7, 0x8b, 0x95, 0x8b, 0x95, + 0xac, 0x9b, 0xa4, 0x59, 0xac, 0x9b, 0x73, 0x11, + 0x9b, 0xd5, 0xac, 0x5b, 0xa4, 0x59, 0x93, 0x95, + 0xa4, 0x17, 0xa4, 0x17, 0x9b, 0xd7, 0x8b, 0x93, + 0xa4, 0x17, 0xac, 0x5b, 0xac, 0x9d, 0xac, 0x9b, + 0xa4, 0x59, 0x9b, 0xd7, 0xa4, 0x17, 0x93, 0x95, + 0x72, 0xd1, 0xac, 0x9d, 0xa4, 0x59, 0xac, 0x9d, + 0xa4, 0x19, 0xa4, 0x17, 0xa4, 0x19, 0xac, 0x9d, + 0xac, 0x5b, 0x83, 0x53, 0x93, 0x95, 0xa4, 0x59, + 0x9b, 0xd7, 0xb4, 0x9d, 0xac, 0x5b, 0x93, 0x95, + 0x7b, 0x13, 0xb4, 0x9d, 0xac, 0x5b, 0xa4, 0x17, + 0xac, 0x5b, 0xa4, 0x59, 0xac, 0x9b, 0xac, 0x9b, + 0x8b, 0x95, 0x9c, 0x17, 0x9b, 0xd7, 0xac, 0x9d, + 0x93, 0x95, 0x9b, 0xd7, 0x9b, 0xd7, 0x73, 0x11, + 0xa4, 0x19, 0xa4, 0x19, 0xb4, 0xe1, 0xac, 0x9b, + 0xac, 0x9d, 0xac, 0x5b, 0xac, 0x9b, 0xa4, 0x17, + 0xa4, 0x59, 0xa4, 0x17, 0x6a, 0xd1, 0xa4, 0x59, + 0xac, 0x9b, 0xac, 0x5b, 0xa4, 0x59, 0x9b, 0xd7, + 0x8b, 0x93, 0x9b, 0xd7, 0xac, 0x9b, 0xac, 0x9b, + 0xac, 0x9b, 0xac, 0x9b, 0xac, 0x9b, 0xb4, 0x9d, + 0xa4, 0x59, 0x93, 0x95, 0xa4, 0x17, 0x83, 0x53, + 0xa4, 0x19, 0x93, 0x95, 0x8b, 0x53, 0x93, 0xd5, + 0xa4, 0x59, 0xb4, 0xe1, 0xa4, 0x17, 0xac, 0x9b, + 0xac, 0x9b, 0xb4, 0xe1, 0xac, 0x9b, 0xb4, 0xe1, + 0xb4, 0xdf, 0x9b, 0xd7, 0x8b, 0x95, 0x8b, 0x53, + 0x93, 0x95, 0x8b, 0x95, 0x93, 0xd5, 0x8b, 0x53, + 0x6a, 0x8f, 0x8b, 0x53, 0xa4, 0x17, 0xac, 0x9b, + 0xb4, 0xe1, 0xac, 0x9b, 0xb4, 0xdf, 0xac, 0x9d, + 0x9c, 0x17, 0xa4, 0x19, 0x83, 0x53, 0xac, 0x9b, + 0x9b, 0xd7, 0x93, 0x95, 0x9b, 0xd7, 0x9b, 0xd7, + 0xac, 0x5b, 0xa4, 0x17, 0xac, 0x5b, 0x8b, 0x95, + 0xb4, 0xe1, 0xb4, 0xe1, 0xb4, 0x9f, 0xac, 0x9b, + 0xb4, 0xdf, 0x9c, 0x17, 0x83, 0x53, 0x72, 0xd1, + 0x83, 0x53, 0x93, 0xd5, 0x93, 0x95, 0x8b, 0x95, + 0x93, 0xd5, 0x8b, 0x53, 0xac, 0x9b, 0xac, 0x9b, + 0xac, 0x9d, 0xac, 0x5b, 0x9b, 0xd7, 0x93, 0x95, + 0x93, 0x95, 0x83, 0x53, 0x9b, 0xd7, 0xa4, 0x19, + 0x9b, 0xd7, 0xac, 0x9b, 0xa4, 0x17, 0xac, 0x5b, + 0x93, 0xd5, 0xa4, 0x17, 0x5a, 0x4d, 0x9b, 0xd7, + 0xa4, 0x19, 0xac, 0x9b, 0x9b, 0xd7, 0xa4, 0x19, + 0xac, 0x5b, 0xa4, 0x17, 0x8b, 0x53, 0x9b, 0xd7, + 0x93, 0x95, 0xa4, 0x19, 0xa4, 0x17, 0xa4, 0x17, + 0x93, 0x95, 0xa4, 0x17, 0x93, 0x95, 0x8b, 0x95, + 0x83, 0x53, 0x93, 0x95, 0x8b, 0x95, 0x7b, 0x13, + 0x9b, 0xd5, 0xa4, 0x19, 0x9c, 0x17, 0xa4, 0x19, + 0x9b, 0xd7, 0xa4, 0x17, 0xb4, 0xe1, 0xac, 0x9b, + 0x93, 0x95, 0x83, 0x53, 0x8b, 0x95, 0x72, 0xd1, + 0x7b, 0x13, 0x7b, 0x11, 0xa4, 0x17, 0x73, 0x11, + 0xac, 0x9b, 0x9b, 0xd7, 0xac, 0x9b, 0xa4, 0x59, + 0x8b, 0x95, 0x93, 0xd5, 0xa4, 0x17, 0xac, 0x9b, + 0x9b, 0xd7, 0x93, 0x95, 0x93, 0xd5, 0x72, 0xd1, + 0x83, 0x53, 0x9b, 0xd5, 0x83, 0x53, 0x83, 0x53, + 0x8b, 0x53, 0xa4, 0x17, 0x93, 0xd5, 0x8b, 0x95, + 0x9c, 0x17, 0x9c, 0x17, 0xb4, 0xe1, 0xac, 0x9b, + 0x9b, 0xd7, 0x93, 0xd5, 0xac, 0x5b, 0x9b, 0xd7, + 0x8b, 0x95, 0x8b, 0x93, 0x7b, 0x13, 0x93, 0x95, + 0xb4, 0xdf, 0xac, 0x9b, 0xac, 0x5b, 0xac, 0x9d, + 0x8b, 0x95, 0x93, 0x95, 0xac, 0x5b, 0xa4, 0x19, + 0xac, 0x9b, 0xa4, 0x17, 0xa4, 0x59, 0x73, 0x11, + 0x83, 0x53, 0x83, 0x53, 0x72, 0xd1, 0x73, 0x11, + 0x8b, 0x53, 0xa4, 0x17, 0x7b, 0x11, 0x8b, 0x95, + 0x8b, 0x53, 0x9c, 0x17, 0xac, 0x9b, 0xac, 0x9b, + 0x9b, 0xd7, 0xa4, 0x17, 0x9c, 0x17, 0xac, 0x9b, + 0xa4, 0x19, 0xa4, 0x17, 0x9c, 0x17, 0x62, 0x4f, + 0xb4, 0xe1, 0xac, 0x5b, 0xa4, 0x17, 0xac, 0x5b, + 0x9c, 0x17, 0xa4, 0x59, 0xa4, 0x19, 0xa4, 0x59, + 0x9b, 0xd7, 0xac, 0x9b, 0xa4, 0x19, 0x93, 0x95, + 0x93, 0x95, 0x8b, 0x95, 0x8b, 0x53, 0x93, 0xd5, + 0xa4, 0x17, 0xac, 0x9d, 0x93, 0xd5, 0x93, 0xd5, + 0xa4, 0x17, 0x8b, 0x95, 0x8b, 0x95, 0xac, 0x5b, + 0x93, 0xd5, 0x7b, 0x11, 0x72, 0xd1, 0x8b, 0x95, + 0xac, 0x5b, 0x9c, 0x17, 0x93, 0xd5, 0x83, 0x53, + 0xb4, 0xe1, 0xa4, 0x17, 0xa4, 0x17, 0x9b, 0xd5, + 0xa4, 0x17, 0xa4, 0x19, 0x9c, 0x17, 0x72, 0xd1, + 0x72, 0xd1, 0x8b, 0x93, 0x8b, 0x93, 0x49, 0xcb, + 0x93, 0x95, 0x93, 0x95, 0x62, 0x4f, 0x83, 0x53, + 0x93, 0xd5, 0xa4, 0x19, 0xac, 0x9d, 0xac, 0x9b, + 0xa4, 0x17, 0x8b, 0x53, 0x83, 0x53, 0x8b, 0x53, + 0x83, 0x53, 0x7b, 0x11, 0x7b, 0x13, 0x8b, 0x95, + 0x8b, 0x95, 0xa4, 0x17, 0x83, 0x53, 0x62, 0x4f, + 0x93, 0xd5, 0xa4, 0x59, 0x93, 0x95, 0xa4, 0x59, + 0x9b, 0xd7, 0xac, 0x9d, 0x9c, 0x17, 0x93, 0x95, + 0x93, 0x95, 0xa4, 0x17, 0x9c, 0x17, 0x9c, 0x17, + 0x93, 0xd5, 0x9c, 0x17, 0x62, 0x8f, 0x72, 0xd1, + 0x62, 0x8f, 0xa4, 0x17, 0xac, 0x9b, 0x9b, 0xd7, + 0xa4, 0x17, 0x8b, 0x53, 0x9b, 0xd7, 0x93, 0x95, + 0x93, 0x95, 0xa4, 0x17, 0xa4, 0x59, 0xa4, 0x59, + 0xa4, 0x59, 0x93, 0xd5, 0x73, 0x11, 0x93, 0x95, + 0x9b, 0xd7, 0x93, 0x95, 0xb4, 0x9d, 0xac, 0x9d, + 0xac, 0x9d, 0xb4, 0x9d, 0xb4, 0x9d, 0xac, 0x5b, + 0xac, 0x5b, 0xb4, 0x9d, 0xac, 0x9d, 0xa4, 0x59, + 0xac, 0x5b, 0xa4, 0x17, 0x7b, 0x11, 0x72, 0xd1, + 0x9b, 0xd7, 0x9c, 0x17, 0xac, 0x9b, 0xa4, 0x59, + 0x93, 0xd5, 0xa4, 0x17, 0xa4, 0x17, 0xa4, 0x17, + 0x83, 0x53, 0xa4, 0x59, 0xb4, 0x9d, 0xa4, 0x19, + 0x93, 0xd5, 0x93, 0x95, 0x93, 0x95, 0x93, 0x95, + 0xa4, 0x59, 0xa4, 0x19, 0xb4, 0xdf, 0xac, 0x9b, + 0xb4, 0xe1, 0xac, 0x9d, 0xa4, 0x59, 0xb4, 0xdf, + 0xb4, 0x9d, 0x9b, 0xd7, 0x9b, 0xd7, 0x9b, 0xd7, + 0x9c, 0x17, 0xa4, 0x19, 0x72, 0xd1, 0x93, 0xd5, + 0x93, 0xd5, 0x9c, 0x17, 0xa4, 0x59, 0xac, 0x9d, + 0xa4, 0x19, 0xa4, 0x17, 0x8b, 0x95, 0x8b, 0x95, + 0x6a, 0x8f, 0xac, 0x5b, 0xac, 0x9b, 0xac, 0x5b, + 0x8b, 0x95, 0x93, 0x95, 0x83, 0x53, 0xa4, 0x59, + 0xa4, 0x59, 0x93, 0xd5, 0x93, 0xd5, 0xac, 0x5b, + 0x8b, 0x95, 0x93, 0x95, 0x83, 0x53, 0x9b, 0xd7, + 0xac, 0x9b, 0x93, 0xd5, 0x49, 0xcb, 0x6a, 0x8f, + 0x7b, 0x13, 0x9c, 0x17, 0xa4, 0x17, 0xa4, 0x17, + 0xac, 0x59, 0x83, 0x53, 0xa4, 0x17, 0xa4, 0x19, + 0xb4, 0xe1, 0xac, 0x9b, 0xac, 0x9d, 0xa4, 0x17, + 0x8b, 0x95, 0x9b, 0xd7, 0xac, 0x9b, 0xb4, 0x9f, + 0xac, 0x9b, 0xa4, 0x17, 0xac, 0x5b, 0xa4, 0x19, + 0xa4, 0x59, 0x9c, 0x17, 0xa4, 0x17, 0xa4, 0x17, + 0xa4, 0x17, 0x72, 0xd1, 0x6a, 0x8f, 0x9b, 0xd7, + 0xa4, 0x17, 0xa4, 0x17, 0x83, 0x53, 0x62, 0x4f, + 0x7b, 0x13, 0xa4, 0x17, 0xac, 0x9b, 0xb4, 0xe1, + 0xb4, 0x9d, 0x93, 0x95, 0x93, 0x95, 0xb4, 0x9d, + 0xa4, 0x19, 0xac, 0x9b, 0xb4, 0x9d, 0xac, 0x5b, + 0x72, 0xd1, 0x72, 0xd1, 0x9c, 0x17, 0xac, 0x5b, + 0xac, 0x5b, 0xac, 0x5b, 0x83, 0x53, 0xac, 0x5b, + 0xb4, 0xdf, 0x93, 0xd5, 0xac, 0x59, 0xb4, 0x9d, + 0xac, 0x9b, 0xa4, 0x19, 0xac, 0x9b, 0xa4, 0x17, + 0xac, 0x9d, 0xa4, 0x17, 0xac, 0x5b, 0xa4, 0x19, + 0x93, 0x95, 0x9b, 0xd5, 0xac, 0x9d, 0xb4, 0xe1, + 0xa4, 0x17, 0x8b, 0x95, 0xac, 0x59, 0x9c, 0x17, + 0xa4, 0x17, 0x93, 0xd5, 0x9c, 0x17, 0x93, 0x95, + 0x83, 0x53, 0x8b, 0x53, 0xa4, 0x17, 0xb4, 0x9d, + 0xb4, 0xdf, 0xa4, 0x17, 0xac, 0x9b, 0x83, 0x53, + 0x9b, 0xd5, 0xa4, 0x59, 0x93, 0xd5, 0xac, 0x5b, + 0xa4, 0x19, 0xa4, 0x19, 0xac, 0x9d, 0xb4, 0xe1, + 0xa4, 0x17, 0xac, 0x9b, 0xac, 0x9b, 0xac, 0x59, + 0xa4, 0x59, 0x9c, 0x17, 0x9c, 0x17, 0xac, 0x9d, + 0x93, 0xd5, 0x8b, 0x53, 0xa4, 0x19, 0xb4, 0x9d, + 0xa4, 0x17, 0xa4, 0x59, 0x9c, 0x17, 0xa4, 0x19, + 0x93, 0x95, 0xa4, 0x17, 0xac, 0x5b, 0xa4, 0x59, + 0xb4, 0x9d, 0xb4, 0x9d, 0x9b, 0xd5, 0xa4, 0x59, + 0xac, 0x5b, 0x93, 0x95, 0x93, 0x95, 0xa4, 0x19, + 0x9b, 0xd7, 0x72, 0xd1, 0xac, 0x9b, 0xb4, 0xe1, + 0xb4, 0xe1, 0xa4, 0x17, 0xa4, 0x17, 0xac, 0x9b, + 0x9c, 0x17, 0x9b, 0xd7, 0xac, 0x9b, 0xa4, 0x17, + 0x9b, 0xd7, 0x83, 0x53, 0xac, 0x9b, 0x93, 0x95, + 0x93, 0x95, 0x93, 0xd5, 0x9b, 0xd7, 0x8b, 0x53, + 0x9b, 0xd5, 0x73, 0x11, 0x93, 0x95, 0x8b, 0x53, + 0xa4, 0x19, 0xa4, 0x19, 0x93, 0xd5, 0x6a, 0x8f, + 0x8b, 0x93, 0xa4, 0x19, 0x9b, 0xd7, 0x93, 0xd5, + 0xa4, 0x17, 0xa4, 0x17, 0xac, 0x9b, 0xb4, 0xdf, + 0xac, 0x9b, 0xa4, 0x17, 0x8b, 0x53, 0x8b, 0x95, + 0xa4, 0x17, 0xac, 0x5b, 0x9b, 0xd7, 0xa4, 0x59, + 0x9b, 0xd7, 0x9b, 0xd7, 0x9b, 0xd7, 0xa4, 0x17, + 0x93, 0xd5, 0x93, 0xd5, 0x9b, 0xd7, 0xac, 0x9d, + 0x9c, 0x17, 0x93, 0xd5, 0x7b, 0x11, 0x93, 0xd5, + 0xac, 0x9b, 0xa4, 0x59, 0x8b, 0x53, 0x9b, 0xd7, + 0x93, 0x95, 0xa4, 0x17, 0x93, 0x95, 0xac, 0x5b, + 0xa4, 0x19, 0xac, 0x9b, 0xb4, 0xdf, 0xac, 0x9d, + 0xb4, 0xdf, 0xa4, 0x17, 0x8b, 0x53, 0x93, 0x95, + 0xa4, 0x17, 0x83, 0x53, 0x9b, 0xd7, 0xa4, 0x17, + 0x9c, 0x17, 0xac, 0x59, 0xb4, 0x9d, 0xac, 0x9d, + 0xa4, 0x59, 0xa4, 0x17, 0x9b, 0xd7, 0xa4, 0x59, + 0xb4, 0xdf, 0x8b, 0x95, 0xac, 0x5b, 0x8b, 0x95, + 0xac, 0x5b, 0x8b, 0x95, 0x9b, 0xd7, 0x6a, 0xcf, + 0x9b, 0xd7, 0xac, 0x5b, 0xac, 0x9b, 0x8b, 0x95, + 0xac, 0x5b, 0xac, 0x9d, 0xb4, 0x9d, 0xa4, 0x17, + 0xb4, 0x9d, 0xac, 0x9b, 0x8b, 0x95, 0xa4, 0x19, + 0x93, 0x95, 0xac, 0x5b, 0xa4, 0x17, 0xac, 0x9b, + 0xac, 0x9b, 0xb4, 0x9d, 0xb4, 0xe1, 0xac, 0x9b, + 0xac, 0x9b, 0xac, 0x9b, 0xa4, 0x59, 0xa4, 0x59, + 0x93, 0xd5, 0x9b, 0xd7, 0x72, 0xd1, 0x93, 0xd5, + 0x9b, 0xd7, 0x93, 0xd5, 0x7b, 0x13, 0xa4, 0x19, + 0xac, 0x5b, 0xac, 0x9d, 0xa4, 0x17, 0x9b, 0xd7, + 0x9b, 0xd7, 0xb4, 0x9d, 0xa4, 0x17, 0x93, 0xd5, + 0xa4, 0x17, 0xb4, 0xdf, 0xac, 0x9b, 0xa4, 0x19, + 0xac, 0x9b, 0xa4, 0x17, 0xb4, 0xe1, 0xac, 0x9b, + 0xac, 0x9b, 0xac, 0x9b, 0xac, 0x9b, 0x9b, 0xd7, + 0x8b, 0x95, 0xac, 0x9b, 0xa4, 0x17, 0x8b, 0x95, + 0x62, 0x8f, 0x62, 0x8f, 0x62, 0x8f, 0x62, 0x8f, + 0xa4, 0x17, 0xa4, 0x17, 0xac, 0x5b, 0xa4, 0x17, + 0xb4, 0xe1, 0xac, 0x9d, 0xac, 0x9d, 0xac, 0x9b, + 0xa4, 0x59, 0xac, 0x9d, 0x9b, 0xd7, 0x5a, 0x4d, + 0x93, 0xd5, 0xa4, 0x17, 0xac, 0x5b, 0xa4, 0x17, + 0x8b, 0x95, 0x93, 0x95, 0xac, 0x9b, 0xb4, 0xe1, + 0xac, 0x9b, 0xb4, 0xdf, 0xa4, 0x59, 0x9b, 0xd7, + 0x8b, 0x95, 0xa4, 0x17, 0xac, 0x5b, 0x5a, 0x4d, + 0x93, 0xd5, 0x83, 0x53, 0x8b, 0x53, 0x7b, 0x11, + 0x93, 0xd5, 0x83, 0x53, 0x9b, 0xd5, 0x9b, 0xd7, + 0x9b, 0xd7, 0xac, 0x9d, 0xac, 0x5b, 0xac, 0x9b, + 0xa4, 0x17, 0xac, 0x5b, 0x93, 0xd5, 0x93, 0x95, + 0x73, 0x11, 0xa4, 0x17, 0xa4, 0x59, 0xac, 0x5b, + 0xa4, 0x19, 0x9b, 0xd7, 0xac, 0x9d, 0xb4, 0xe1, + 0xb4, 0xdf, 0xac, 0x9b, 0xac, 0x5b, 0x9c, 0x17, + 0xa4, 0x59, 0xac, 0x5b, 0x8b, 0x53, 0xa4, 0x17, + 0x9b, 0xd7, 0xb4, 0xe1, 0xac, 0x9b, 0xac, 0x9b, + 0xac, 0x5b, 0xa4, 0x19, 0x83, 0x53, 0x9b, 0xd7, + 0xac, 0x9b, 0x8b, 0x53, 0xb4, 0x9f, 0xa4, 0x59, + 0xa4, 0x17, 0xac, 0x5b, 0xac, 0x9d, 0xa4, 0x19, + 0xac, 0x5b, 0xa4, 0x19, 0xb4, 0x9d, 0xb4, 0xdf, + 0xa4, 0x59, 0xac, 0x5b, 0xb4, 0x9d, 0xb4, 0xe1, + 0xac, 0x9d, 0xb4, 0xdf, 0xac, 0x9b, 0xb4, 0xdf, + 0xac, 0x5b, 0xa4, 0x59, 0x8b, 0x53, 0x8b, 0x95, + 0xa4, 0x19, 0xac, 0x9b, 0xb4, 0xe1, 0xac, 0x9b, + 0xb4, 0x9d, 0x9b, 0xd7, 0x8b, 0x53, 0x5a, 0x4d, + 0x83, 0x53, 0xa4, 0x59, 0x93, 0xd5, 0xac, 0x9d, + 0xa4, 0x59, 0xb4, 0xe1, 0xb4, 0x9d, 0xb4, 0xdf, + 0xac, 0x9d, 0xb4, 0xdf, 0xb4, 0x9f, 0xac, 0x5b, + 0xac, 0x5b, 0xa4, 0x17, 0xb4, 0xe1, 0xac, 0x9b, + 0xac, 0x9b, 0xac, 0x9b, 0xb4, 0xdf, 0xb4, 0xdf, + 0xb4, 0xdf, 0xa4, 0x19, 0x93, 0xd5, 0x8b, 0x53, + 0x93, 0xd5, 0x9b, 0xd7, 0x9b, 0xd5, 0x9c, 0x17, + 0x93, 0x95, 0x93, 0xd5, 0x62, 0x4f, 0x31, 0x49, }; -Gfx ground_grayishtoblue_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ground_grayishtoblue_ci8[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, - 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x02, 0x10, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, - 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, - 0x10, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, - 0x0a, 0x0b, 0x12, 0x0d, 0x13, 0x0f, 0x11, 0x14, - 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x0a, - 0x0b, 0x12, 0x0d, 0x0e, 0x0f, 0x15, 0x14, 0x16, - 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, - 0x12, 0x0d, 0x0e, 0x0f, 0x11, 0x14, 0x16, 0x17, - 0x06, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x18, - 0x0d, 0x13, 0x0f, 0x11, 0x11, 0x16, 0x17, 0x19, - 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0d, 0x0d, - 0x0e, 0x0f, 0x11, 0x14, 0x16, 0x17, 0x19, 0x1a, - 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x13, - 0x0f, 0x11, 0x14, 0x16, 0x17, 0x19, 0x1a, 0x1b, - 0x08, 0x0a, 0x0a, 0x0b, 0x0d, 0x0d, 0x13, 0x0f, - 0x11, 0x14, 0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, - 0x09, 0x0a, 0x0b, 0x0d, 0x0d, 0x13, 0x0f, 0x11, - 0x14, 0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1c, - 0x0a, 0x0b, 0x0d, 0x0d, 0x13, 0x0f, 0x11, 0x14, - 0x16, 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, - 0x0b, 0x12, 0x0d, 0x13, 0x0f, 0x11, 0x14, 0x16, - 0x17, 0x19, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, 0x1e, - 0x12, 0x0d, 0x0e, 0x0f, 0x11, 0x14, 0x16, 0x17, - 0x19, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, 0x1f, 0x20, - 0x0d, 0x13, 0x0f, 0x11, 0x14, 0x16, 0x17, 0x21, - 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, 0x1f, 0x22, 0x23, - 0x13, 0x0f, 0x11, 0x14, 0x16, 0x17, 0x19, 0x1a, - 0x1b, 0x1c, 0x1c, 0x1d, 0x1f, 0x20, 0x23, 0x24, +Gfx ground_keyboardArt_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_keyboardArt_rgba16[] = { + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x10, 0x85, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x00, 0x01, 0x08, 0x43, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x00, 0x01, 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x08, 0x43, 0x00, 0x01, 0x08, 0x43, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, + 0x08, 0x43, 0x31, 0x8d, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x10, 0x85, 0x10, 0x85, + 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, + 0x10, 0x85, 0x10, 0x85, 0x08, 0x43, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x29, 0x4b, 0x21, 0x09, + 0x08, 0x43, 0x21, 0x09, 0x18, 0xc7, 0x5a, 0xd7, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x10, 0x85, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x10, 0x85, + 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, 0x21, 0x09, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x10, 0x85, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x18, 0xc7, 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, 0x08, 0x43, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x18, 0xc7, 0x00, 0x01, 0x21, 0x09, 0x10, 0x85, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x21, 0x09, + 0x18, 0xc7, 0x18, 0xc7, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x00, 0x01, 0x00, 0x01, 0x18, 0xc7, + 0x21, 0x09, 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x18, 0xc7, 0x00, 0x01, 0x21, 0x09, 0x18, 0xc7, + 0x21, 0x09, 0x18, 0xc7, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x52, 0x95, 0x18, 0xc7, + 0x08, 0x43, 0x31, 0x8d, 0x08, 0x43, 0x08, 0x43, + 0x21, 0x09, 0x00, 0x01, 0x4a, 0x53, 0x08, 0x43, + 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, 0x5a, 0xd7, + 0x21, 0x09, 0x18, 0xc7, 0x21, 0x09, 0x21, 0x09, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x10, 0x85, + 0x21, 0x09, 0x08, 0x43, 0x4a, 0x53, 0x00, 0x01, + 0x08, 0x43, 0x21, 0x09, 0x08, 0x43, 0x5a, 0xd7, + 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, 0x08, 0x43, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x52, 0x95, + 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, 0x31, 0x8d, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x18, 0xc7, 0x08, 0x43, 0x08, 0x43, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x10, 0x85, + 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x10, 0x85, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x00, 0x01, + 0x08, 0x43, 0x21, 0x09, 0x08, 0x43, 0x39, 0xcf, + 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x00, 0x01, 0x08, 0x43, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, 0x08, 0x43, + 0x08, 0x43, 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, 0x10, 0x85, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x00, 0x01, 0x00, 0x01, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, + 0x08, 0x43, 0x08, 0x43, 0x10, 0x85, 0x00, 0x01, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x10, 0x85, 0x08, 0x43, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x4a, 0x53, + 0x52, 0x95, 0x21, 0x09, 0x4a, 0x53, 0x18, 0xc7, + 0x00, 0x01, 0x10, 0x85, 0x21, 0x09, 0x08, 0x43, + 0x21, 0x09, 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, + 0x08, 0x43, 0x39, 0xcf, 0x21, 0x09, 0x08, 0x43, + 0x21, 0x09, 0x21, 0x09, 0x5a, 0xd7, 0x21, 0x09, + 0x10, 0x85, 0x5a, 0xd7, 0x21, 0x09, 0x10, 0x85, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x21, 0x09, 0x10, 0x85, 0x18, 0xc7, + 0x00, 0x01, 0x10, 0x85, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, + 0x21, 0x09, 0x21, 0x09, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x00, 0x01, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x00, 0x01, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x10, 0x85, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x10, 0x85, 0x18, 0xc7, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x08, 0x43, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x5a, 0xd7, + 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x21, 0x09, 0x10, 0x85, 0x5a, 0xd7, + 0x08, 0x43, 0x4a, 0x53, 0x21, 0x09, 0x08, 0x43, + 0x21, 0x09, 0x18, 0xc7, 0x00, 0x01, 0x21, 0x09, + 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x5a, 0xd7, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x5a, 0xd7, 0x21, 0x09, 0x21, 0x09, + 0x5a, 0xd7, 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, + 0x08, 0x43, 0x08, 0x43, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, + 0x10, 0x85, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, 0x10, 0x85, + 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, 0x08, 0x43, + 0x10, 0x85, 0x10, 0x85, 0x18, 0xc7, 0x10, 0x85, + 0x08, 0x43, 0x10, 0x85, 0x10, 0x85, 0x08, 0x43, + 0x10, 0x85, 0x18, 0xc7, 0x00, 0x01, 0x10, 0x85, + 0x00, 0x01, 0x10, 0x85, 0x18, 0xc7, 0x08, 0x43, + 0x10, 0x85, 0x18, 0xc7, 0x18, 0xc7, 0x10, 0x85, + 0x08, 0x43, 0x10, 0x85, 0x10, 0x85, 0x18, 0xc7, + 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, + 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, + 0x18, 0xc7, 0x00, 0x01, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x10, 0x85, 0x10, 0x85, 0x00, 0x01, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x00, 0x01, + 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, + 0x18, 0xc7, 0x00, 0x01, 0x10, 0x85, 0x18, 0xc7, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x00, 0x01, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x00, 0x01, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x08, 0x43, 0x21, 0x09, 0x18, 0xc7, + 0x21, 0x09, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, 0x18, 0xc7, + 0x00, 0x01, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x10, 0x85, 0x08, 0x43, + 0x18, 0xc7, 0x21, 0x09, 0x00, 0x01, 0x18, 0xc7, + 0x18, 0xc7, 0x08, 0x43, 0x10, 0x85, 0x18, 0xc7, + 0x08, 0x43, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x08, 0x43, 0x08, 0x43, 0x08, 0x43, 0x18, 0xc7, + 0x21, 0x09, 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, + 0x10, 0x85, 0x21, 0x09, 0x08, 0x43, 0x00, 0x01, + 0x18, 0xc7, 0x18, 0xc7, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, 0x08, 0x43, + 0x10, 0x85, 0x21, 0x09, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x08, 0x43, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x08, 0x43, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x08, 0x43, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x08, 0x43, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x10, 0x85, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, }; -Gfx ground_grayishtoblue_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ground_grayishtoblue_pal_rgba16[] = { - 0xbe, 0xb9, 0xb6, 0x79, 0xae, 0x79, 0xae, 0x39, - 0xa6, 0x37, 0x9d, 0xf7, 0x95, 0xb7, 0x8d, 0x77, - 0x85, 0x75, 0x85, 0x35, 0x7d, 0x35, 0x74, 0xf5, - 0x6c, 0xf5, 0x6c, 0xb3, 0x64, 0xb3, 0x5c, 0x73, - 0xae, 0x37, 0x54, 0x33, 0x6c, 0xf3, 0x64, 0x73, - 0x54, 0x31, 0x5c, 0x33, 0x4b, 0xf1, 0x43, 0xf1, - 0x6c, 0xb5, 0x43, 0xb1, 0x3b, 0x71, 0x33, 0x6f, - 0x2b, 0x2f, 0x22, 0xef, 0x1a, 0xef, 0x1a, 0xed, - 0x12, 0xad, 0x3b, 0xb1, 0x1a, 0xad, 0x12, 0x6d, - 0x0a, 0x6d, -}; - -Gfx ground_heart1_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 ground_heart1_ci8[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, - 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x04, - 0x04, 0x05, 0x05, 0x03, 0x06, 0x01, 0x00, 0x00, - 0x07, 0x00, 0x01, 0x08, 0x02, 0x09, 0x05, 0x05, - 0x05, 0x0a, 0x0b, 0x04, 0x03, 0x06, 0x01, 0x00, - 0x07, 0x00, 0x01, 0x08, 0x08, 0x01, 0x01, 0x01, - 0x06, 0x03, 0x03, 0x04, 0x04, 0x09, 0x09, 0x00, - 0x07, 0x07, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, - 0x02, 0x02, 0x08, 0x05, 0x0a, 0x04, 0x09, 0x01, - 0x00, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, - 0x01, 0x02, 0x02, 0x06, 0x0a, 0x03, 0x08, 0x01, - 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x01, 0x02, 0x08, 0x03, 0x03, 0x08, 0x01, - 0x07, 0x07, 0x07, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x08, 0x09, 0x06, 0x02, 0x00, - 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x02, 0x06, 0x09, 0x02, 0x00, - 0x01, 0x07, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x01, 0x06, 0x03, 0x08, 0x00, - 0x01, 0x07, 0x0c, 0x00, 0x02, 0x01, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x06, 0x09, 0x08, 0x00, - 0x07, 0x0d, 0x0e, 0x0d, 0x01, 0x02, 0x00, 0x00, - 0x00, 0x01, 0x01, 0x01, 0x08, 0x08, 0x01, 0x00, - 0x0c, 0x0d, 0x0c, 0x0e, 0x0d, 0x00, 0x07, 0x07, - 0x07, 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x00, - 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0d, 0x07, - 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, - 0x0d, 0x0e, 0x0f, 0x0e, 0x0f, 0x10, 0x07, 0x07, - 0x0d, 0x0d, 0x07, 0x00, 0x01, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x0d, 0x0c, 0x07, 0x07, 0x07, 0x0d, - 0x0c, 0x0d, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, +Gfx ground_parking_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_parking_rgba16[] = { + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x55, 0x52, 0x95, 0x52, 0xd7, + 0x5a, 0xd7, 0x5b, 0x17, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0xf7, 0xbd, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0xd5, 0xf7, 0xbd, + 0x52, 0x95, 0x52, 0x95, 0x5b, 0x17, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5b, 0x17, 0x63, 0x19, 0x5a, 0xd7, 0xce, 0x73, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0xd7, 0xff, 0xff, 0x5b, 0x17, 0x5a, 0xd7, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x17, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0xef, 0x7d, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xfd, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xde, 0xf7, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, 0x52, 0x97, + 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, + 0x5a, 0xd7, 0xef, 0x7b, 0x63, 0x19, 0x5a, 0xd7, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0xff, 0xff, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xe7, 0x39, + 0x52, 0x97, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xde, 0xf7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0xef, 0x7b, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0xff, 0xff, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0x95, 0x52, 0x95, 0x52, 0x95, 0xe7, 0x39, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x17, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x53, 0xd6, 0xb5, + 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, + 0x5a, 0x95, 0x5a, 0xd7, 0xff, 0xff, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, + 0x5a, 0xd7, 0xff, 0xff, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xfd, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xd6, 0xb5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0xce, 0x73, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0xf7, 0xbd, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd5, 0x5a, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xbd, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0xef, 0x7b, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xe7, 0x39, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x55, 0xe7, 0x39, + 0x52, 0x95, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0xff, 0xff, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x55, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xbd, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xef, 0xbb, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, + 0x5a, 0xd7, 0xe7, 0x39, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xe7, 0x39, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x55, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xd6, 0xb5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0xe6, 0xf7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0xef, 0x7b, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0xc6, 0x31, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xbf, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5b, 0x19, 0x5a, 0xd7, + 0x5a, 0xd7, 0xd6, 0xb7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xf7, 0xbd, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0xd6, 0xf7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xef, 0x39, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0xf7, 0x7b, 0x4a, 0x53, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0xde, 0xf7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0xe7, 0x39, + 0x52, 0x95, 0x5a, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5b, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0xef, 0x7b, 0x4a, 0x53, + 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd9, + 0x5a, 0xd7, 0xff, 0xff, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x63, 0x19, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd5, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0x97, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5b, 0x17, 0x5a, 0xd7, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd5, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x97, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x62, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x4a, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0x95, 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0xd5, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0xd7, 0x5a, 0xd7, + 0x63, 0x19, 0x6b, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x62, 0xd9, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x62, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x97, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x5b, 0x19, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0xd5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x55, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x97, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x93, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0x97, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x5b, 0x17, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0xd5, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xbd, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0xe7, 0x39, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xef, 0x7b, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5b, 0x17, 0x63, 0x19, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xd6, 0xb3, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0x52, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x5a, 0xd7, 0x5b, 0x17, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xc6, 0x31, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xd6, 0xb5, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xbd, 0xef, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xff, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xc6, 0x31, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x5a, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0xf7, 0x7d, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x55, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0x4a, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xe7, 0x39, + 0x63, 0x17, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0x97, 0x63, 0x19, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xe7, 0x39, + 0x5a, 0xd7, 0x52, 0x97, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xbb, + 0x5a, 0x95, 0x5a, 0xd7, 0x62, 0xd9, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xef, 0x7b, + 0x5a, 0xd7, 0x5a, 0xd7, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x93, 0x52, 0x95, 0xc6, 0x31, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, + 0x5a, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xef, 0x7b, + 0x5a, 0xd7, 0x5b, 0x17, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xe7, 0x39, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x4a, 0x53, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0xe7, 0x39, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x62, 0xd9, 0x5a, 0xd7, 0x5a, 0xd7, 0xe7, 0x39, + 0x5a, 0xd7, 0x5a, 0xd7, 0x4a, 0x53, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xe7, 0x39, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xfd, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x62, 0xd9, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x55, 0x52, 0x95, 0xe7, 0x39, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xfd, + 0x62, 0xd9, 0x5a, 0xd7, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xe7, 0x39, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xd6, 0xb5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd9, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x52, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xef, 0x7b, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, 0xf7, 0xff, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0xde, 0xf7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xce, 0x73, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xde, 0xf7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xff, 0xff, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x93, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xef, 0x7b, + 0x5a, 0xd7, 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0xd6, 0xb5, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, 0xff, 0xff, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, 0xf7, 0xbb, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x52, 0x95, 0xf7, 0xbd, + 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xef, 0x7b, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0xe7, 0x39, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x5a, 0x97, 0x5a, 0xd7, 0xf7, 0xbd, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5b, 0x17, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x52, 0xd5, 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xff, 0xff, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0xf7, 0xbd, + 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, 0x4a, 0x55, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, 0x63, 0x19, + 0x5a, 0xd7, 0x62, 0xd9, 0x5a, 0xd7, 0xde, 0xf7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x5a, 0xd7, 0xff, 0xff, + 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0xf7, 0xbd, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x63, 0x19, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x52, 0x95, 0x5a, 0xd7, }; -Gfx ground_heart1_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 ground_heart1_pal_rgba16[] = { - 0x68, 0x01, 0x80, 0x01, 0x98, 0x01, 0xf8, 0x03, - 0xfa, 0x95, 0xf8, 0xc9, 0xc8, 0x01, 0x50, 0x01, - 0xb0, 0x01, 0xe0, 0x03, 0xf9, 0x8d, 0xfb, 0x9d, - 0x38, 0x01, 0x40, 0x01, 0x28, 0x01, 0x20, 0x01, - 0x10, 0x01, +Gfx ground_noparking_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_noparking_rgba16[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xe8, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x01, 0xf0, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x01, 0xf0, 0x01, 0xff, 0xff, 0xe0, 0x01, + 0xe8, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, + 0xe8, 0x01, 0xff, 0xff, 0xe8, 0x01, 0xff, 0xff, + 0xd8, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0x01, 0xf0, 0x01, 0xff, 0xff, 0xe0, 0x01, + 0xe8, 0x01, 0xff, 0xff, 0xf7, 0xbd, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x01, + 0xff, 0xff, 0xd8, 0x01, 0xe0, 0x01, 0xff, 0xff, + 0xd8, 0x01, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc8, 0x01, 0xd0, 0x01, 0xff, 0xff, 0xc8, 0x01, + 0xc0, 0x01, 0xf7, 0xbd, 0xc6, 0x31, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, + 0xff, 0xff, 0xc0, 0x01, 0xc8, 0x01, 0xff, 0xff, + 0xc0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xa8, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xbd, 0xde, 0xf7, 0xb5, 0xad, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xa8, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xa0, 0x01, 0x98, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc8, 0x01, 0xc8, 0x01, 0xff, 0xff, 0xb0, 0x01, + 0x90, 0x01, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0xf7, 0xbd, + 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, + 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, + 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, + 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, + 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, 0xf7, 0xbd, + 0xe7, 0x39, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x01, + 0xd0, 0x01, 0xff, 0xff, 0xf7, 0xbd, 0xf7, 0xbd, + 0xa8, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, 0x98, 0x01, + 0xa0, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, 0xe8, 0x01, + 0xf7, 0xbd, 0xe0, 0x01, 0xf7, 0xbd, 0xe0, 0x01, + 0xf7, 0xbd, 0xe0, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, + 0xe8, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, 0xb0, 0x01, + 0x90, 0x01, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x01, + 0xff, 0xff, 0xd0, 0x01, 0xf7, 0xbd, 0xa8, 0x01, + 0xf7, 0xbd, 0xa8, 0x01, 0xf7, 0xbd, 0xb0, 0x01, + 0xf7, 0xbd, 0xc8, 0x01, 0xf7, 0xbd, 0xe8, 0x01, + 0xf7, 0xbd, 0xe0, 0x01, 0xf7, 0xbd, 0xe0, 0x01, + 0xf7, 0xbd, 0xe0, 0x01, 0xe0, 0x01, 0xf7, 0xbd, + 0xf0, 0x01, 0xf7, 0xbd, 0xd0, 0x01, 0xef, 0x7b, + 0xe7, 0x39, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x01, + 0xff, 0xff, 0xb8, 0x01, 0xf7, 0xbd, 0xa8, 0x01, + 0xf7, 0xbd, 0xb8, 0x01, 0xf7, 0xbd, 0xc8, 0x01, + 0xc8, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, 0xe0, 0x01, + 0xe0, 0x01, 0xf7, 0xbd, 0xf7, 0xbd, 0xd8, 0x01, + 0xf7, 0xbd, 0xd8, 0x01, 0xf7, 0xbd, 0xd0, 0x01, + 0xe0, 0x01, 0xf7, 0xbd, 0xd8, 0x01, 0xef, 0x7b, + 0x90, 0x01, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x01, + 0xc0, 0x01, 0xff, 0xff, 0xf7, 0xbd, 0x90, 0x01, + 0xb0, 0x01, 0xc8, 0x01, 0xef, 0x7b, 0xc8, 0x01, + 0xef, 0x7b, 0xc8, 0x01, 0xef, 0x7b, 0xd0, 0x01, + 0xef, 0x7b, 0xc8, 0x01, 0xef, 0x7b, 0xc8, 0x01, + 0xef, 0x7b, 0xc0, 0x01, 0xef, 0x7b, 0xc0, 0x01, + 0xc8, 0x01, 0xef, 0x7b, 0xc8, 0x01, 0xef, 0x7b, + 0x98, 0x01, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, + 0xff, 0xff, 0xef, 0x7b, 0xe7, 0x39, 0x88, 0x01, + 0xde, 0xf7, 0xb0, 0x01, 0xde, 0xf7, 0x98, 0x01, + 0xde, 0xf7, 0x98, 0x01, 0xde, 0xf7, 0xa0, 0x01, + 0xde, 0xf7, 0xa0, 0x01, 0xde, 0xf7, 0x98, 0x01, + 0xde, 0xf7, 0x90, 0x01, 0xde, 0xf7, 0xde, 0xf7, + 0x90, 0x01, 0xde, 0xf7, 0x90, 0x01, 0xde, 0xf7, + 0x90, 0x01, 0xce, 0x73, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, + 0xe7, 0x39, 0xce, 0x73, 0xbd, 0xef, 0x98, 0x01, + 0xbd, 0xef, 0x88, 0x01, 0xbd, 0xef, 0x68, 0x01, + 0xbd, 0xef, 0x70, 0x01, 0xbd, 0xef, 0x70, 0x01, + 0xbd, 0xef, 0x70, 0x01, 0xbd, 0xef, 0x70, 0x01, + 0xbd, 0xef, 0x70, 0x01, 0xbd, 0xef, 0xbd, 0xef, + 0x70, 0x01, 0xbd, 0xef, 0xbd, 0xef, 0x70, 0x01, + 0x88, 0x01, 0xbd, 0xef, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xb5, + 0xad, 0x6b, 0x9c, 0xe7, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, + 0x94, 0xa5, 0x94, 0xa5, 0x94, 0xa5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xbd, 0xef, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xbd, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xad, 0x6b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xad, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xa5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa5, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, + 0xf0, 0x01, 0xe8, 0x01, 0xe0, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x01, 0xf0, 0x01, 0xe8, 0x01, + 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, + 0xe8, 0x01, 0xe0, 0x01, 0xd0, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x01, 0xe8, 0x01, 0xe0, 0x01, + 0xd0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xb5, 0xad, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xb5, 0xad, + 0x6b, 0x5b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +Gfx ground_flag_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_flag_rgba16[] = { + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, 0xf9, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, 0xf1, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, 0xe9, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, 0xe1, 0xc1, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, 0xd9, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, 0xc9, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, 0xb9, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, 0xb1, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, 0xa9, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, 0xa1, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, 0x99, 0x41, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, 0x81, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, 0x79, 0x01, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, 0x70, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, 0x68, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, 0x60, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, 0x58, 0xc1, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, 0x50, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, 0x48, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, 0x30, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, 0x28, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, 0x20, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, 0x18, 0x41, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + +}; + +Gfx ground_paraseye_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ground_paraseye_rgba16[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x14, + 0xa4, 0x5a, 0x9c, 0x1a, 0x8b, 0xd9, 0x83, 0x99, + 0x7b, 0x59, 0x7b, 0x19, 0x6a, 0xd4, 0x5a, 0x50, + 0x51, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa3, 0xd6, 0x9b, 0xd9, 0x9c, 0x1b, + 0xa4, 0xa1, 0xa4, 0xe5, 0xa4, 0xe5, 0x9c, 0xa5, + 0x94, 0x65, 0x8c, 0x23, 0x83, 0xe1, 0x6b, 0x1b, + 0x62, 0x55, 0x72, 0xd9, 0x72, 0xd4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x92, + 0xa4, 0x1b, 0xa4, 0x5d, 0xb4, 0xe3, 0xbd, 0x69, + 0xce, 0x31, 0xce, 0x73, 0xd6, 0x75, 0xce, 0x75, + 0xce, 0x35, 0xc6, 0x35, 0xbd, 0xf3, 0xb5, 0x6f, + 0xa4, 0xeb, 0x9c, 0x65, 0x8b, 0x9f, 0x8b, 0x9b, + 0x7b, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7a, 0xcd, 0x7b, 0x13, + 0xbd, 0x69, 0xde, 0xb5, 0xef, 0x3b, 0xef, 0x7d, + 0xe7, 0x3b, 0xde, 0xf9, 0xd6, 0xb7, 0xce, 0x77, + 0xce, 0x79, 0xce, 0x79, 0xce, 0x79, 0xce, 0x79, + 0xce, 0x79, 0xd6, 0xb9, 0xd6, 0x77, 0xc5, 0xad, + 0x8b, 0xdd, 0x6a, 0xd3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x62, 0x4d, 0x73, 0x13, 0xb5, 0x69, + 0xef, 0x39, 0xf7, 0xbd, 0xff, 0xbf, 0xff, 0xbf, + 0xf7, 0xbf, 0xef, 0x7d, 0xde, 0xfb, 0xce, 0x77, + 0xce, 0x37, 0xce, 0x39, 0xce, 0x39, 0xce, 0x39, + 0xce, 0x79, 0xce, 0x79, 0xd6, 0xb9, 0xde, 0xb7, + 0xd6, 0x75, 0x94, 0x63, 0x62, 0x51, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7b, 0x11, 0x6b, 0x17, 0xb5, 0xab, 0xe7, 0x39, + 0xf7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbf, 0xef, 0x7d, 0xd6, 0xb9, + 0xce, 0x37, 0xc6, 0x37, 0xc6, 0x37, 0xc6, 0x37, + 0xc6, 0x37, 0xce, 0x77, 0xce, 0x77, 0xd6, 0xf9, + 0xe7, 0x39, 0xce, 0x73, 0x94, 0x21, 0x6a, 0x93, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0x95, + 0x83, 0x99, 0xad, 0x6b, 0xde, 0xf7, 0xf7, 0xbd, + 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0x7d, 0xde, 0xf9, + 0xce, 0x35, 0xc6, 0x35, 0xc6, 0x35, 0xc6, 0x37, + 0xc6, 0x37, 0xce, 0x37, 0xce, 0x77, 0xd6, 0xb7, + 0xde, 0xf9, 0xe7, 0x39, 0xd6, 0x75, 0xa4, 0xa5, + 0x83, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x8b, 0x92, 0x83, 0x99, + 0xad, 0x29, 0xce, 0x75, 0xe7, 0x3b, 0xf7, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xef, 0x79, 0xbd, 0xef, + 0x94, 0xa5, 0x8c, 0x65, 0x94, 0xa7, 0xa5, 0x2d, + 0xb5, 0xb1, 0xc6, 0x35, 0xce, 0x35, 0xce, 0x77, + 0xde, 0xb9, 0xe7, 0x3b, 0xef, 0x3b, 0xde, 0x75, + 0x9c, 0x21, 0x7a, 0xd2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7b, 0x55, 0xa4, 0xe7, + 0xce, 0x35, 0xd6, 0xb7, 0xe7, 0x3b, 0xf7, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf7, 0xbd, 0xd6, 0xb5, 0x84, 0x1f, + 0x42, 0x11, 0x39, 0xcf, 0x42, 0x11, 0x52, 0x95, + 0x73, 0x9f, 0xa5, 0x2b, 0xc6, 0x35, 0xce, 0x77, + 0xd6, 0xb9, 0xde, 0xfd, 0xef, 0x3d, 0xef, 0x3d, + 0xbd, 0x6b, 0x7a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7b, 0x10, 0x83, 0x97, 0xc6, 0x31, + 0xce, 0x77, 0xce, 0x77, 0xde, 0xf9, 0xef, 0x7d, + 0xf7, 0xbf, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfd, + 0xf7, 0xbd, 0xe7, 0x39, 0xad, 0x69, 0x52, 0x95, + 0x29, 0x4b, 0x21, 0x09, 0x29, 0x49, 0x29, 0x4b, + 0x39, 0xd1, 0x6b, 0x5d, 0xa5, 0x2d, 0xc6, 0x35, + 0xd6, 0xb9, 0xde, 0xfd, 0xef, 0x3f, 0xf7, 0x7d, + 0xde, 0x75, 0x8b, 0xdd, 0x7a, 0xd4, 0x00, 0x00, + 0x00, 0x00, 0x8b, 0x95, 0x94, 0x5f, 0xd6, 0xb5, + 0xd6, 0xb7, 0xce, 0x77, 0xd6, 0x77, 0xde, 0xf9, + 0xef, 0x3b, 0xef, 0x7b, 0xef, 0x79, 0xe7, 0x39, + 0xd6, 0xf5, 0xb5, 0xad, 0x6b, 0x59, 0x39, 0xcd, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x4b, 0x29, 0x4b, + 0x29, 0x4b, 0x42, 0x11, 0x73, 0x9f, 0xb5, 0x6f, + 0xd6, 0xb9, 0xde, 0xfb, 0xe7, 0x3d, 0xef, 0x7d, + 0xef, 0x3b, 0xb5, 0x29, 0x93, 0xdd, 0x00, 0x00, + 0x8b, 0x4e, 0x8b, 0x95, 0xb5, 0x67, 0xd6, 0xb7, + 0xd6, 0xb7, 0xce, 0x77, 0xce, 0x35, 0xce, 0x75, + 0xbd, 0xf1, 0xb5, 0xad, 0xb5, 0xad, 0xad, 0x6b, + 0x94, 0xa5, 0x6b, 0x5b, 0x39, 0xcd, 0x29, 0x4b, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x4b, 0x29, 0x4b, 0x4a, 0x55, 0x94, 0xa7, + 0xce, 0x77, 0xde, 0xfb, 0xe7, 0x3d, 0xef, 0x7d, + 0xef, 0x7d, 0xd6, 0x73, 0x93, 0xdd, 0x6a, 0x0c, + 0x83, 0x0e, 0x94, 0x19, 0xbd, 0xed, 0xd6, 0xb7, + 0xce, 0xb7, 0xce, 0x77, 0xc6, 0x35, 0xb5, 0xaf, + 0x73, 0x9d, 0x52, 0x95, 0x52, 0x95, 0x52, 0x95, + 0x4a, 0x51, 0x39, 0xcf, 0x29, 0x4b, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x21, 0x49, 0x29, 0x49, 0x31, 0x8f, 0x6b, 0x5d, + 0xc5, 0xf3, 0xde, 0xb9, 0xe7, 0x3d, 0xef, 0x3d, + 0xef, 0x7d, 0xde, 0xf9, 0x9c, 0x63, 0x62, 0x0e, + 0x83, 0x10, 0x9c, 0x5d, 0xce, 0x71, 0xd6, 0xb7, + 0xce, 0xb7, 0xce, 0x77, 0xc5, 0xf3, 0x94, 0xa7, + 0x42, 0x13, 0x29, 0x4b, 0x29, 0x4b, 0x31, 0x8b, + 0x29, 0x4b, 0x29, 0x4b, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x21, 0x49, 0x21, 0x09, 0x29, 0x4b, 0x4a, 0x53, + 0xa5, 0x2b, 0xde, 0xb9, 0xe7, 0x3d, 0xef, 0x3d, + 0xef, 0x7d, 0xe7, 0x3b, 0xa4, 0xa7, 0x62, 0x50, + 0x83, 0x53, 0x9c, 0xa1, 0xce, 0x73, 0xd6, 0xf9, + 0xce, 0xb7, 0xce, 0x77, 0xbd, 0xf3, 0x73, 0xa1, + 0x31, 0x8f, 0x29, 0x4b, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x21, 0x49, 0x21, 0x09, 0x21, 0x09, 0x31, 0x8d, + 0x84, 0x21, 0xde, 0xb7, 0xef, 0x3d, 0xe7, 0x3d, + 0xe7, 0x7d, 0xe7, 0x7d, 0xac, 0xe9, 0x6a, 0x93, + 0x8b, 0x97, 0xa4, 0xe5, 0xd6, 0xb7, 0xde, 0xf9, + 0xd6, 0xb7, 0xce, 0x77, 0xbd, 0xf3, 0x73, 0x5f, + 0x31, 0x8d, 0x21, 0x09, 0x29, 0x49, 0x29, 0x49, + 0x21, 0x09, 0x21, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x21, 0x49, 0x21, 0x49, 0x21, 0x09, 0x31, 0x8d, + 0x7b, 0xdf, 0xde, 0xf9, 0xef, 0x7d, 0xe7, 0x7d, + 0xe7, 0x7d, 0xef, 0x7d, 0xb5, 0x27, 0x72, 0xd3, + 0x8b, 0x97, 0xa4, 0xe5, 0xd6, 0xb7, 0xde, 0xf9, + 0xd6, 0xb9, 0xce, 0x77, 0xbd, 0xf3, 0x73, 0x9f, + 0x31, 0x8d, 0x21, 0x09, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x21, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x49, 0x21, 0x09, 0x31, 0x8d, + 0x7b, 0xe1, 0xde, 0xb7, 0xef, 0x3d, 0xe7, 0x3d, + 0xe7, 0x7b, 0xe7, 0x39, 0xac, 0xe5, 0x72, 0xd1, + 0x83, 0x13, 0x9c, 0x61, 0xce, 0x75, 0xde, 0xfb, + 0xde, 0xf9, 0xce, 0x77, 0xc5, 0xf3, 0x84, 0x23, + 0x31, 0x8f, 0x21, 0x09, 0x21, 0x09, 0x29, 0x49, + 0x29, 0x49, 0x29, 0x8b, 0x31, 0x8d, 0x39, 0xcd, + 0x39, 0xcf, 0x39, 0xcf, 0x39, 0xcd, 0x39, 0xcd, + 0x31, 0x8b, 0x29, 0x4b, 0x29, 0x4b, 0x39, 0xcf, + 0x8c, 0x65, 0xde, 0xf9, 0xe7, 0x3d, 0xe7, 0x3d, + 0xe7, 0x3b, 0xde, 0xf7, 0xa4, 0xa3, 0x6a, 0x8f, + 0x82, 0xd0, 0x93, 0xdb, 0xc5, 0xf1, 0xde, 0xfb, + 0xe6, 0xfb, 0xde, 0xb9, 0xce, 0x75, 0x9c, 0xe9, + 0x41, 0xd1, 0x21, 0x0b, 0x29, 0x49, 0x29, 0x4b, + 0x31, 0x8b, 0x3a, 0x0f, 0x4a, 0x51, 0x52, 0x93, + 0x52, 0x93, 0x52, 0x95, 0x52, 0x93, 0x52, 0x93, + 0x42, 0x11, 0x31, 0xcd, 0x29, 0x4b, 0x4a, 0x53, + 0xad, 0x6d, 0xde, 0xfb, 0xef, 0x3d, 0xe7, 0x3d, + 0xe7, 0x3b, 0xce, 0x73, 0x94, 0x1d, 0x6a, 0x4c, + 0x82, 0xce, 0x8b, 0x57, 0xb5, 0x69, 0xe6, 0xfb, + 0xe7, 0x3d, 0xe6, 0xfb, 0xd6, 0xb9, 0xbd, 0xf1, + 0x52, 0x97, 0x29, 0x4b, 0x29, 0x4b, 0x31, 0x8b, + 0x3a, 0x0f, 0x4a, 0x53, 0x5a, 0xd7, 0x5b, 0x17, + 0x63, 0x17, 0x63, 0x17, 0x63, 0x17, 0x5b, 0x17, + 0x52, 0x93, 0x39, 0xcf, 0x31, 0x8d, 0x63, 0x1b, + 0xce, 0x75, 0xe7, 0x3b, 0xef, 0x7d, 0xe7, 0x7d, + 0xdf, 0x39, 0xad, 0x6b, 0x7b, 0x57, 0x6a, 0x4c, + 0x9b, 0x50, 0x8b, 0x13, 0x9c, 0x61, 0xde, 0xf9, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe6, 0xfb, 0xd6, 0xb7, + 0x7b, 0xe1, 0x39, 0xd1, 0x29, 0x4b, 0x31, 0x8d, + 0x42, 0x51, 0x52, 0xd5, 0x63, 0x19, 0x63, 0x59, + 0x6b, 0x59, 0x6b, 0x59, 0x63, 0x59, 0x63, 0x17, + 0x52, 0x95, 0x42, 0x11, 0x4a, 0x53, 0x94, 0xa5, + 0xde, 0xf9, 0xe7, 0x3b, 0xef, 0x3d, 0xe7, 0x3d, + 0xd6, 0xb7, 0x84, 0x21, 0x62, 0x93, 0x72, 0x8e, + 0x00, 0x00, 0x7a, 0xd1, 0x83, 0x59, 0xce, 0x33, + 0xe6, 0xfb, 0xef, 0x3d, 0xe7, 0x3d, 0xde, 0xfb, + 0xb5, 0xaf, 0x6b, 0x5d, 0x39, 0xcf, 0x31, 0x8d, + 0x42, 0x11, 0x52, 0xd5, 0x63, 0x59, 0x6b, 0x59, + 0x63, 0x59, 0x63, 0x59, 0x63, 0x17, 0x5a, 0xd5, + 0x52, 0x53, 0x52, 0x95, 0x7b, 0xdf, 0xc5, 0xf1, + 0xe7, 0x3b, 0xe7, 0x3d, 0xe7, 0x3b, 0xe7, 0x3b, + 0xc6, 0x33, 0x6b, 0x19, 0x49, 0xcd, 0x00, 0x00, + 0x00, 0x00, 0x82, 0xce, 0x83, 0x13, 0xb5, 0x29, + 0xe6, 0xf9, 0xef, 0x3b, 0xef, 0x3d, 0xef, 0x3d, + 0xde, 0xf9, 0xb5, 0xaf, 0x73, 0x9d, 0x42, 0x53, + 0x42, 0x51, 0x4a, 0x93, 0x5a, 0xd7, 0x5b, 0x17, + 0x5b, 0x17, 0x5b, 0x17, 0x5a, 0xd7, 0x52, 0x95, + 0x5a, 0xd7, 0x84, 0x21, 0xbd, 0xef, 0xde, 0xf9, + 0xe7, 0x3b, 0xe7, 0x3d, 0xe7, 0x3b, 0xe7, 0x3b, + 0xad, 0x6d, 0x5a, 0x53, 0x39, 0x4a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x93, 0x53, 0x9c, 0x1d, + 0xde, 0x73, 0xef, 0x39, 0xef, 0x3d, 0xef, 0x7d, + 0xe7, 0x3b, 0xd6, 0xb7, 0xb5, 0xaf, 0x84, 0x63, + 0x63, 0x19, 0x52, 0x95, 0x4a, 0x93, 0x52, 0x95, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd9, 0x6b, 0x9d, + 0x94, 0xa5, 0xbd, 0xf1, 0xde, 0xf9, 0xe7, 0x3b, + 0xe7, 0x3d, 0xe7, 0x3b, 0xde, 0xf9, 0xce, 0x33, + 0x94, 0x63, 0x5a, 0x53, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa3, 0x94, 0x8b, 0x57, + 0xb4, 0xe5, 0xe6, 0xf7, 0xef, 0x3b, 0xef, 0x3d, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3b, 0xd6, 0xb5, + 0xb5, 0xad, 0x9c, 0xa7, 0x84, 0x21, 0x7b, 0xe1, + 0x84, 0x23, 0x8c, 0x65, 0xa5, 0x29, 0xbd, 0xf1, + 0xd6, 0xb9, 0xe7, 0x3b, 0xe7, 0x3d, 0xe7, 0x3d, + 0xef, 0x3d, 0xe6, 0xfb, 0xd6, 0x73, 0x9c, 0xa3, + 0x83, 0x99, 0x6a, 0xd2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x95, + 0x83, 0x99, 0xbd, 0xed, 0xe7, 0x39, 0xe7, 0x3d, + 0xef, 0x7d, 0xef, 0x7d, 0xef, 0x3d, 0xe7, 0x3b, + 0xde, 0xf9, 0xd6, 0xb7, 0xd6, 0x77, 0xd6, 0x77, + 0xd6, 0x77, 0xd6, 0xb7, 0xde, 0xb9, 0xde, 0xfb, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x7d, 0xe7, 0x3d, + 0xef, 0x7d, 0xde, 0xb7, 0xa4, 0xe5, 0x7b, 0x57, + 0x7b, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x93, 0xd7, 0x94, 0x5d, 0xc6, 0x2f, 0xe6, 0xf9, + 0xef, 0x3d, 0xef, 0x3d, 0xef, 0x3d, 0xef, 0x3d, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x7d, + 0xe7, 0x7d, 0xe7, 0x7d, 0xe7, 0x3b, 0xe7, 0x3b, + 0xde, 0xf7, 0xad, 0x27, 0x73, 0x15, 0x72, 0xd1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x8b, 0xd5, 0x9c, 0x9d, 0xc5, 0xab, + 0xde, 0xb5, 0xe7, 0x3b, 0xe7, 0x3b, 0xe7, 0x3d, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x7d, + 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, 0xe7, 0x3d, + 0xe7, 0x3d, 0xe7, 0x3b, 0xde, 0xf7, 0xce, 0x31, + 0xac, 0xe5, 0x7b, 0x57, 0x72, 0xd1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x93, 0xd5, 0x9c, 0x19, + 0xac, 0xe5, 0xc5, 0xef, 0xd6, 0xb5, 0xde, 0xf9, + 0xe7, 0x3b, 0xe7, 0x3b, 0xe7, 0x3b, 0xe7, 0x3b, + 0xe7, 0x3b, 0xe7, 0x3b, 0xdf, 0x3b, 0xd6, 0xf9, + 0xce, 0x75, 0xc5, 0xef, 0xb5, 0x69, 0xa4, 0xa1, + 0x8b, 0x99, 0x7a, 0xd3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0x50, + 0x8b, 0x55, 0x9c, 0x1d, 0xac, 0xa3, 0xb5, 0x27, + 0xc5, 0xad, 0xc6, 0x2f, 0xce, 0x31, 0xce, 0x31, + 0xc6, 0x2f, 0xc5, 0xed, 0xbd, 0xab, 0xad, 0x27, + 0xa4, 0xa1, 0x93, 0xdb, 0x8b, 0x57, 0x8b, 0x55, + 0x8b, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x93, 0x92, 0x93, 0x95, 0xa3, 0xd7, + 0xa4, 0x5b, 0xac, 0x9f, 0xac, 0x9f, 0xac, 0x9f, + 0xa4, 0x5f, 0xa4, 0x5d, 0x9c, 0x1b, 0x9b, 0xd9, + 0x9b, 0x95, 0x8b, 0x13, 0x8b, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x14, + 0xac, 0x16, 0xa3, 0xd6, 0x9b, 0x95, 0x93, 0x95, + 0x9b, 0x97, 0xa4, 0x19, 0xb4, 0x5a, 0xb4, 0x5a, + 0xbc, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; Vtx ground_map_mesh_vtx_cull[8] = { @@ -2469,7 +3982,7 @@ Gfx ground_map_mesh_tri_2[] = { gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_3[157] = { +Vtx ground_map_mesh_vtx_3[176] = { {{ {98, -123, -131}, 0, {4047, -1151}, {0, 127, 0, 255} }}, {{ {54, -123, 56}, 0, {3090, -1373}, {0, 127, 0, 255} }}, {{ {43, -123, 215}, 0, {2276, -1433}, {0, 127, 0, 255} }}, @@ -2496,18 +4009,18 @@ Vtx ground_map_mesh_vtx_3[157] = { {{ {1039, -132, 939}, 0, {-1417, 3655}, {10, 127, 1, 255} }}, {{ {1126, -139, 948}, 0, {-1465, 4098}, {8, 127, 1, 255} }}, {{ {1223, -144, 990}, 0, {-1681, 4596}, {3, 127, 0, 255} }}, - {{ {1004, -134, 162}, 0, {2549, 3474}, {6, 127, 5, 255} }}, + {{ {1004, -134, 162}, 0, {2549, 3474}, {6, 127, 2, 255} }}, {{ {746, -123, 114}, 0, {2793, 2157}, {3, 127, 255, 255} }}, - {{ {729, -123, -86}, 0, {3814, 2073}, {0, 127, 2, 255} }}, - {{ {837, -114, -16}, 0, {3460, 2624}, {238, 122, 31, 255} }}, - {{ {1006, -108, 14}, 0, {3200, 3486}, {8, 124, 27, 255} }}, - {{ {1104, -130, -11}, 0, {3432, 3985}, {14, 126, 6, 255} }}, - {{ {1004, -134, 162}, 0, {2549, 3474}, {6, 127, 5, 255} }}, + {{ {729, -123, -86}, 0, {3814, 2073}, {1, 127, 1, 255} }}, + {{ {837, -121, -16}, 0, {3460, 2624}, {249, 126, 16, 255} }}, + {{ {1006, -121, 14}, 0, {3200, 3486}, {4, 126, 14, 255} }}, + {{ {1104, -130, -11}, 0, {3432, 3985}, {10, 127, 4, 255} }}, + {{ {1004, -134, 162}, 0, {2549, 3474}, {6, 127, 2, 255} }}, {{ {1177, -144, -45}, 0, {3605, 4357}, {3, 127, 0, 255} }}, - {{ {1104, -130, -11}, 0, {3432, 3985}, {14, 126, 6, 255} }}, + {{ {1104, -130, -11}, 0, {3432, 3985}, {10, 127, 4, 255} }}, {{ {1247, -144, 545}, 0, {595, 4715}, {4, 127, 0, 255} }}, {{ {746, -123, 114}, 0, {2793, 2157}, {3, 127, 255, 255} }}, - {{ {729, -123, -86}, 0, {3814, 2073}, {0, 127, 2, 255} }}, + {{ {729, -123, -86}, 0, {3814, 2073}, {1, 127, 1, 255} }}, {{ {101, -123, 388}, 0, {1397, -1134}, {0, 127, 0, 255} }}, {{ {170, -123, -242}, 0, {4611, -782}, {0, 127, 0, 255} }}, {{ {331, -123, -316}, 0, {4990, 42}, {0, 127, 0, 255} }}, @@ -2553,73 +4066,92 @@ Vtx ground_map_mesh_vtx_3[157] = { {{ {203, -123, -367}, 0, {5253, -612}, {0, 127, 0, 255} }}, {{ {149, -123, -621}, 0, {6545, -891}, {253, 127, 253, 255} }}, {{ {262, -123, -390}, 0, {5365, -315}, {0, 127, 0, 255} }}, - {{ {397, -123, -464}, 0, {5748, 376}, {0, 127, 0, 255} }}, + {{ {357, -123, -434}, 0, {5748, 376}, {0, 127, 0, 255} }}, {{ {339, -123, -403}, 0, {5433, 82}, {0, 127, 0, 255} }}, - {{ {442, -123, -464}, 0, {5748, 606}, {0, 127, 0, 255} }}, + {{ {442, -123, -434}, 0, {5748, 606}, {0, 127, 0, 255} }}, {{ {368, -123, -408}, 0, {5457, 227}, {0, 127, 0, 255} }}, - {{ {487, -123, -459}, 0, {5720, 836}, {0, 127, 0, 255} }}, + {{ {487, -123, -434}, 0, {5720, 836}, {0, 127, 0, 255} }}, {{ {390, -123, -404}, 0, {5440, 343}, {0, 127, 0, 255} }}, {{ {474, -123, -392}, 0, {5376, 768}, {0, 127, 0, 255} }}, {{ {568, -123, -334}, 0, {5082, 1250}, {0, 127, 0, 255} }}, - {{ {778, -123, -384}, 0, {5339, 2320}, {0, 127, 251, 255} }}, + {{ {582, -123, -434}, 0, {5596, 1320}, {0, 127, 0, 255} }}, {{ {745, -123, -182}, 0, {4307, 2153}, {251, 127, 254, 255} }}, + {{ {778, -123, -384}, 0, {5339, 2320}, {0, 127, 251, 255} }}, + {{ {1011, -108, -234}, 0, {4573, 3512}, {15, 126, 251, 255} }}, + {{ {816, -114, -132}, 0, {4049, 2518}, {251, 127, 255, 255} }}, {{ {1011, -108, -234}, 0, {4573, 3512}, {15, 126, 251, 255} }}, {{ {816, -114, -132}, 0, {4049, 2518}, {251, 127, 255, 255} }}, {{ {915, -114, -80}, 0, {3786, 3024}, {1, 127, 5, 255} }}, - {{ {915, -114, -80}, 0, {3786, 3024}, {1, 127, 5, 255} }}, {{ {1008, -118, -63}, 0, {3698, 3496}, {9, 127, 5, 255} }}, - {{ {1011, -108, -234}, 0, {4573, 3512}, {15, 126, 251, 255} }}, {{ {986, -116, -53}, 0, {3649, 3385}, {1, 127, 5, 255} }}, {{ {1099, -128, -104}, 0, {3905, 3959}, {21, 125, 5, 255} }}, {{ {1144, -138, -139}, 0, {4084, 4188}, {30, 123, 251, 255} }}, {{ {1159, -144, -149}, 0, {4138, 4266}, {22, 125, 249, 255} }}, {{ {1031, -144, -557}, 0, {6220, 3612}, {4, 127, 252, 255} }}, {{ {778, -123, -384}, 0, {5339, 2320}, {0, 127, 251, 255} }}, - {{ {770, -144, -983}, 0, {8394, 2280}, {1, 127, 254, 255} }}, - {{ {534, -144, -1101}, 0, {8999, 1078}, {1, 127, 253, 255} }}, - {{ {490, -123, -750}, 0, {7206, 850}, {3, 127, 252, 255} }}, - {{ {334, -123, -787}, 0, {7394, 56}, {255, 127, 252, 255} }}, - {{ {239, -144, -1170}, 0, {9351, -428}, {255, 127, 254, 255} }}, - {{ {-31, -144, -905}, 0, {7998, -1811}, {253, 127, 253, 255} }}, - {{ {149, -123, -621}, 0, {6545, -891}, {253, 127, 253, 255} }}, - {{ {-220, -144, -652}, 0, {6705, -2774}, {253, 127, 254, 255} }}, - {{ {-22, -123, -434}, 0, {5594, -1763}, {251, 127, 254, 255} }}, - {{ {-402, -144, -50}, 0, {3630, -3704}, {252, 127, 255, 255} }}, - {{ {-138, -123, 112}, 0, {2805, -2355}, {252, 127, 255, 255} }}, - {{ {-511, -144, 555}, 0, {541, -4260}, {252, 127, 0, 255} }}, - {{ {-247, -123, 560}, 0, {515, -2913}, {250, 127, 0, 255} }}, - {{ {-151, -123, 1033}, 0, {-1900, -2422}, {251, 127, 1, 255} }}, - {{ {-416, -144, 1141}, 0, {-2448, -3772}, {252, 127, 1, 255} }}, - {{ {-18, -123, 1516}, 0, {-4366, -1743}, {251, 127, 3, 255} }}, - {{ {-206, -144, 1736}, 0, {-5488, -2704}, {253, 127, 2, 255} }}, - {{ {166, -123, 1691}, 0, {-5260, -802}, {253, 127, 3, 255} }}, - {{ {34, -144, 1996}, 0, {-6818, -1478}, {253, 127, 3, 255} }}, - {{ {343, -123, 1874}, 0, {-6191, 101}, {254, 127, 5, 255} }}, - {{ {317, -144, 2212}, 0, {-7921, -31}, {255, 127, 3, 255} }}, - {{ {525, -144, 2203}, 0, {-7872, 1031}, {1, 127, 3, 255} }}, - {{ {490, -123, 1837}, 0, {-6005, 849}, {1, 127, 4, 255} }}, - {{ {632, -123, 1796}, 0, {-5796, 1577}, {3, 127, 3, 255} }}, - {{ {490, -123, 1837}, 0, {-6005, 849}, {1, 127, 4, 255} }}, - {{ {525, -144, 2203}, 0, {-7872, 1031}, {1, 127, 3, 255} }}, - {{ {763, -144, 2121}, 0, {-7456, 2244}, {2, 127, 2, 255} }}, - {{ {1019, -144, 1709}, 0, {-5353, 3552}, {4, 127, 2, 255} }}, + {{ {829, -128, -434}, 0, {5590, 2580}, {7, 127, 252, 255} }}, + {{ {829, -140, -766}, 0, {7290, 2580}, {7, 127, 252, 255} }}, + {{ {872, -142, -777}, 0, {7345, 2802}, {7, 127, 252, 255} }}, + {{ {893, -144, -782}, 0, {7371, 2907}, {4, 127, 254, 255} }}, + {{ {777, -125, -434}, 0, {5590, 2317}, {5, 127, 252, 255} }}, + {{ {761, -125, -434}, 0, {5590, 2235}, {5, 127, 251, 255} }}, + {{ {739, -123, -434}, 0, {5590, 2123}, {4, 127, 253, 255} }}, + {{ {582, -123, -434}, 0, {5590, 1344}, {0, 127, 0, 255} }}, {{ {817, -123, 1438}, 0, {-3965, 2521}, {4, 127, 2, 255} }}, {{ {1214, -144, 1175}, 0, {-2626, 4546}, {4, 127, 1, 255} }}, {{ {966, -123, 1076}, 0, {-2120, 3284}, {6, 127, 1, 255} }}, + {{ {1019, -144, 1709}, 0, {-5353, 3552}, {4, 127, 2, 255} }}, + {{ {632, -123, 1796}, 0, {-5796, 1577}, {3, 127, 3, 255} }}, {{ {492, -123, 1472}, 0, {-4141, 860}, {0, 127, 0, 255} }}, + {{ {490, -123, 1837}, 0, {-6005, 849}, {1, 127, 4, 255} }}, {{ {447, -123, 1484}, 0, {-4203, 631}, {0, 127, 0, 255} }}, {{ {297, -123, 1396}, 0, {-3750, -136}, {0, 127, 0, 255} }}, {{ {402, -123, 1495}, 0, {-4260, 400}, {0, 127, 0, 255} }}, {{ {166, -123, 1691}, 0, {-5260, -802}, {253, 127, 3, 255} }}, {{ {-18, -123, 1516}, 0, {-4366, -1743}, {251, 127, 3, 255} }}, - {{ {343, -123, 1874}, 0, {-6191, 101}, {254, 127, 5, 255} }}, - {{ {397, -123, -464}, 0, {5748, 376}, {0, 127, 0, 255} }}, - {{ {334, -123, -787}, 0, {7394, 56}, {255, 127, 252, 255} }}, + {{ {-206, -144, 1736}, 0, {-5488, -2704}, {253, 127, 2, 255} }}, + {{ {-416, -144, 1141}, 0, {-2448, -3772}, {252, 127, 1, 255} }}, + {{ {-18, -123, 1516}, 0, {-4366, -1743}, {251, 127, 3, 255} }}, + {{ {-151, -123, 1033}, 0, {-1900, -2422}, {251, 127, 1, 255} }}, + {{ {-416, -144, 1141}, 0, {-2448, -3772}, {252, 127, 1, 255} }}, + {{ {-511, -144, 555}, 0, {541, -4260}, {252, 127, 0, 255} }}, + {{ {-247, -123, 560}, 0, {515, -2913}, {250, 127, 0, 255} }}, + {{ {-138, -123, 112}, 0, {2805, -2355}, {252, 127, 255, 255} }}, + {{ {-402, -144, -50}, 0, {3630, -3704}, {252, 127, 255, 255} }}, + {{ {-22, -123, -434}, 0, {5594, -1763}, {251, 127, 254, 255} }}, + {{ {-220, -144, -652}, 0, {6705, -2774}, {253, 127, 254, 255} }}, {{ {149, -123, -621}, 0, {6545, -891}, {253, 127, 253, 255} }}, + {{ {-31, -144, -905}, 0, {7998, -1811}, {253, 127, 253, 255} }}, + {{ {334, -123, -787}, 0, {7394, 56}, {255, 127, 252, 255} }}, + {{ {357, -123, -434}, 0, {5748, 376}, {0, 127, 0, 255} }}, {{ {490, -123, -750}, 0, {7206, 850}, {3, 127, 252, 255} }}, - {{ {442, -123, -464}, 0, {5748, 606}, {0, 127, 0, 255} }}, - {{ {487, -123, -459}, 0, {5720, 836}, {0, 127, 0, 255} }}, - {{ {778, -123, -384}, 0, {5339, 2320}, {0, 127, 251, 255} }}, + {{ {442, -123, -434}, 0, {5748, 606}, {0, 127, 0, 255} }}, + {{ {487, -123, -434}, 0, {5720, 836}, {0, 127, 0, 255} }}, + {{ {582, -123, -633}, 0, {6609, 1320}, {4, 127, 253, 255} }}, + {{ {582, -123, -434}, 0, {5596, 1320}, {0, 127, 0, 255} }}, + {{ {582, -133, -838}, 0, {7654, 1320}, {8, 127, 250, 255} }}, + {{ {534, -144, -1101}, 0, {8999, 1078}, {1, 127, 253, 255} }}, + {{ {624, -136, -838}, 0, {7654, 1534}, {5, 127, 251, 255} }}, + {{ {770, -144, -983}, 0, {8394, 2280}, {1, 127, 254, 255} }}, + {{ {772, -139, -838}, 0, {7654, 2290}, {5, 127, 252, 255} }}, + {{ {829, -142, -838}, 0, {7654, 2580}, {7, 127, 252, 255} }}, + {{ {860, -144, -836}, 0, {7645, 2739}, {4, 127, 254, 255} }}, + {{ {239, -144, -1170}, 0, {9351, -428}, {255, 127, 254, 255} }}, + {{ {166, -123, 1691}, 0, {-5260, -802}, {253, 127, 3, 255} }}, + {{ {-206, -144, 1736}, 0, {-5488, -2704}, {253, 127, 2, 255} }}, + {{ {34, -144, 1996}, 0, {-6818, -1478}, {253, 127, 3, 255} }}, + {{ {343, -123, 1874}, 0, {-6191, 101}, {254, 127, 5, 255} }}, + {{ {317, -144, 2212}, 0, {-7921, -31}, {255, 127, 3, 255} }}, + {{ {525, -144, 2203}, 0, {-7872, 1031}, {1, 127, 3, 255} }}, + {{ {343, -123, 1874}, 0, {-6191, 101}, {254, 127, 5, 255} }}, + {{ {525, -144, 2203}, 0, {-7872, 1031}, {1, 127, 3, 255} }}, + {{ {490, -123, 1837}, 0, {-6005, 849}, {1, 127, 4, 255} }}, + {{ {632, -123, 1796}, 0, {-5796, 1577}, {3, 127, 3, 255} }}, + {{ {763, -144, 2121}, 0, {-7456, 2244}, {2, 127, 2, 255} }}, + {{ {1019, -144, 1709}, 0, {-5353, 3552}, {4, 127, 2, 255} }}, + {{ {402, -123, 1495}, 0, {-4260, 400}, {0, 127, 0, 255} }}, + {{ {166, -123, 1691}, 0, {-5260, -802}, {253, 127, 3, 255} }}, + {{ {447, -123, 1484}, 0, {-4203, 631}, {0, 127, 0, 255} }}, {{ {97, -123, 627}, 0, {176, -1158}, {0, 127, 0, 255} }}, {{ {109, -123, 938}, 0, {-1413, -1092}, {0, 127, 0, 255} }}, {{ {743, -123, 550}, 0, {568, 2143}, {0, 127, 0, 255} }}, @@ -2674,43 +4206,51 @@ Gfx ground_map_mesh_tri_3[] = { gsSP2Triangles(21, 20, 22, 0, 23, 21, 22, 0), gsSP2Triangles(23, 22, 24, 0, 24, 25, 23, 0), gsSP2Triangles(25, 26, 23, 0, 27, 23, 26, 0), - gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), - gsSP2Triangles(29, 28, 30, 0, 29, 30, 31, 0), + gsSP2Triangles(27, 26, 28, 0, 28, 29, 27, 0), + gsSP2Triangles(30, 29, 28, 0, 30, 28, 31, 0), gsSPVertex(ground_map_mesh_vtx_3 + 96, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(2, 1, 4, 0, 2, 4, 5, 0), - gsSP2Triangles(2, 5, 6, 0, 2, 6, 7, 0), - gsSP2Triangles(8, 2, 7, 0, 8, 7, 9, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 10, 13, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), - gsSP2Triangles(17, 16, 18, 0, 17, 18, 19, 0), - gsSP2Triangles(19, 18, 20, 0, 19, 20, 21, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 20, 23, 0), - gsSP2Triangles(24, 22, 23, 0, 24, 23, 25, 0), - gsSP2Triangles(26, 24, 25, 0, 26, 25, 27, 0), - gsSP2Triangles(28, 26, 27, 0, 28, 27, 29, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_3 + 128, 29, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), - gsSP2Triangles(5, 4, 6, 0, 5, 6, 7, 0), - gsSP2Triangles(8, 0, 5, 0, 8, 1, 0, 0), - gsSP2Triangles(8, 9, 1, 0, 9, 8, 10, 0), - gsSP2Triangles(10, 11, 9, 0, 11, 10, 12, 0), - gsSP2Triangles(10, 13, 12, 0, 11, 12, 14, 0), - gsSP2Triangles(11, 14, 1, 0, 11, 1, 9, 0), - gsSP2Triangles(15, 16, 17, 0, 15, 18, 16, 0), - gsSP2Triangles(15, 19, 18, 0, 20, 18, 19, 0), - gsSP2Triangles(20, 21, 18, 0, 22, 23, 24, 0), - gsSP2Triangles(25, 24, 23, 0, 25, 26, 24, 0), - gsSP2Triangles(27, 24, 26, 0, 24, 27, 28, 0), - gsSP1Triangle(28, 22, 24, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(2, 4, 3, 0, 0, 3, 5, 0), + gsSP2Triangles(0, 5, 6, 0, 0, 6, 7, 0), + gsSP2Triangles(0, 7, 8, 0, 9, 0, 8, 0), + gsSP2Triangles(10, 9, 8, 0, 8, 11, 10, 0), + gsSP2Triangles(8, 12, 11, 0, 8, 13, 12, 0), + gsSP2Triangles(10, 14, 9, 0, 9, 14, 15, 0), + gsSP2Triangles(9, 15, 16, 0, 16, 17, 9, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 21, 19, 0), + gsSP2Triangles(22, 21, 18, 0, 23, 22, 18, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 23, 26, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 26, 28, 0, 26, 29, 28, 0), + gsSP2Triangles(28, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(ground_map_mesh_vtx_3 + 128, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 6, 3, 0, 7, 6, 5, 0), + gsSP2Triangles(7, 8, 6, 0, 9, 8, 7, 0), + gsSP2Triangles(9, 10, 8, 0, 11, 10, 9, 0), + gsSP2Triangles(12, 11, 9, 0, 12, 13, 11, 0), + gsSP2Triangles(12, 14, 13, 0, 15, 13, 14, 0), + gsSP2Triangles(15, 16, 13, 0, 15, 17, 16, 0), + gsSP2Triangles(13, 16, 18, 0, 18, 19, 13, 0), + gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), + gsSP2Triangles(20, 22, 21, 0, 21, 22, 23, 0), + gsSP2Triangles(23, 24, 21, 0, 11, 13, 19, 0), + gsSP2Triangles(11, 19, 25, 0, 11, 25, 10, 0), + gsSP2Triangles(26, 27, 28, 0, 29, 26, 28, 0), + gsSP2Triangles(29, 28, 30, 0, 29, 30, 31, 0), + gsSPVertex(ground_map_mesh_vtx_3 + 160, 16, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), + gsSP2Triangles(3, 1, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 0, 2, 0, 6, 7, 0, 0), + gsSP2Triangles(6, 2, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), + gsSP2Triangles(14, 11, 13, 0, 11, 14, 15, 0), + gsSP1Triangle(15, 9, 11, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_4[182] = { +Vtx ground_map_mesh_vtx_4[192] = { {{ {-338, -144, -475}, 0, {3471, -1703}, {0, 127, 0, 255} }}, {{ {-406, -144, -317}, 0, {3011, -1868}, {0, 127, 0, 255} }}, {{ {-480, -144, -76}, 0, {2311, -2026}, {0, 127, 0, 255} }}, @@ -2764,22 +4304,19 @@ Vtx ground_map_mesh_vtx_4[182] = { {{ {770, -144, -983}, 0, {5036, 1609}, {1, 127, 254, 255} }}, {{ {719, -144, -1101}, 0, {5283, 1418}, {0, 127, 0, 255} }}, {{ {818, -144, -1034}, 0, {5178, 1728}, {0, 127, 0, 255} }}, + {{ {930, -144, -873}, 0, {4690, 2011}, {0, 127, 0, 255} }}, + {{ {860, -144, -836}, 0, {4581, 1840}, {4, 127, 254, 255} }}, {{ {903, -144, -963}, 0, {4958, 1940}, {0, 127, 0, 255} }}, - {{ {1033, -144, -803}, 0, {4469, 2268}, {0, 127, 0, 255} }}, - {{ {1138, -144, -613}, 0, {3882, 2539}, {0, 127, 0, 255} }}, - {{ {1031, -144, -557}, 0, {3716, 2279}, {4, 127, 252, 255} }}, - {{ {1172, -144, -159}, 0, {2509, 2937}, {0, 127, 0, 255} }}, - {{ {1159, -144, -149}, 0, {2481, 2906}, {22, 125, 249, 255} }}, - {{ {1204, -144, -414}, 0, {3279, 2856}, {0, 127, 0, 255} }}, + {{ {962, -144, -890}, 0, {4735, 2089}, {0, 127, 0, 255} }}, {{ {1196, -144, -54}, 0, {2204, 3008}, {0, 127, 0, 255} }}, {{ {1177, -144, -45}, 0, {2178, 2949}, {3, 127, 0, 255} }}, {{ {1247, -144, 545}, 0, {496, 2949}, {4, 127, 0, 255} }}, {{ {1447, -144, 545}, 0, {496, 3535}, {13, 126, 0, 255} }}, {{ {1223, -144, 990}, 0, {-847, 2949}, {3, 127, 0, 255} }}, - {{ {1447, -144, 545}, 0, {496, 3535}, {13, 126, 0, 255} }}, - {{ {1247, -144, 545}, 0, {496, 2949}, {4, 127, 0, 255} }}, {{ {1270, -144, 1024}, 0, {-949, 3089}, {0, 127, 0, 255} }}, {{ {1331, -144, 1110}, 0, {-1192, 3259}, {0, 127, 0, 255} }}, + {{ {1447, -144, 545}, 0, {496, 3535}, {13, 126, 0, 255} }}, + {{ {1331, -144, 1110}, 0, {-1192, 3259}, {0, 127, 0, 255} }}, {{ {1341, -144, 1167}, 0, {-1359, 3288}, {0, 127, 0, 255} }}, {{ {1431, -144, 1236}, 0, {-1545, 3535}, {13, 126, 3, 255} }}, {{ {1335, -144, 1209}, 0, {-1483, 3276}, {0, 127, 0, 255} }}, @@ -2807,12 +4344,12 @@ Vtx ground_map_mesh_vtx_4[182] = { {{ {-226, -144, 1955}, 0, {-3519, -1428}, {0, 127, 0, 255} }}, {{ {-381, -144, 1912}, 0, {-3303, -1926}, {244, 126, 7, 255} }}, {{ {-310, -144, 1841}, 0, {-3181, -1709}, {0, 127, 0, 255} }}, - {{ {-381, -144, 1912}, 0, {-3303, -1926}, {244, 126, 7, 255} }}, - {{ {-310, -144, 1841}, 0, {-3181, -1709}, {0, 127, 0, 255} }}, {{ {-401, -144, 1625}, 0, {-2583, -1907}, {0, 127, 0, 255} }}, {{ {-596, -144, 1206}, 0, {-1403, -2344}, {242, 126, 3, 255} }}, {{ {-487, -144, 1355}, 0, {-1852, -2077}, {0, 127, 0, 255} }}, + {{ {-487, -144, 1355}, 0, {-1852, -2077}, {0, 127, 0, 255} }}, {{ {-536, -144, 1184}, 0, {-1353, -2155}, {0, 127, 0, 255} }}, + {{ {-596, -144, 1206}, 0, {-1403, -2344}, {242, 126, 3, 255} }}, {{ {-574, -144, 1040}, 0, {-918, -2297}, {0, 127, 0, 255} }}, {{ {-622, -144, 797}, 0, {-171, -2506}, {0, 127, 0, 255} }}, {{ {-684, -144, 584}, 0, {496, -2762}, {242, 126, 0, 255} }}, @@ -2839,11 +4376,11 @@ Vtx ground_map_mesh_vtx_4[182] = { {{ {579, -144, -1254}, 0, {5589, 951}, {0, 127, 0, 255} }}, {{ {673, -144, -1211}, 0, {5512, 1241}, {0, 127, 0, 255} }}, {{ {757, -144, -1172}, 0, {5466, 1498}, {0, 127, 0, 255} }}, - {{ {757, -144, -1172}, 0, {5466, 1498}, {0, 127, 0, 255} }}, {{ {937, -144, -1159}, 0, {5527, 2017}, {11, 126, 245, 255} }}, - {{ {609, -144, -1360}, 0, {5823, 1002}, {4, 126, 242, 255} }}, {{ {871, -144, -1089}, 0, {5332, 1855}, {0, 127, 0, 255} }}, {{ {962, -144, -1022}, 0, {5121, 2084}, {0, 127, 0, 255} }}, + {{ {937, -144, -1159}, 0, {5527, 2017}, {11, 126, 245, 255} }}, + {{ {962, -144, -1022}, 0, {5121, 2084}, {0, 127, 0, 255} }}, {{ {1103, -144, -840}, 0, {4568, 2440}, {0, 127, 0, 255} }}, {{ {1236, -144, -665}, 0, {4032, 2776}, {12, 126, 250, 255} }}, {{ {1176, -144, -705}, 0, {4160, 2627}, {0, 127, 0, 255} }}, @@ -2871,12 +4408,12 @@ Vtx ground_map_mesh_vtx_4[182] = { {{ {-381, -144, 1912}, 0, {-3303, -1926}, {244, 126, 7, 255} }}, {{ {-578, -184, 2001}, 0, {-3604, -2460}, {236, 125, 11, 255} }}, {{ {-774, -183, 1255}, 0, {-1554, -2911}, {230, 124, 6, 255} }}, - {{ {-381, -144, 1912}, 0, {-3303, -1926}, {244, 126, 7, 255} }}, {{ {-596, -144, 1206}, 0, {-1403, -2344}, {242, 126, 3, 255} }}, - {{ {-774, -183, 1255}, 0, {-1554, -2911}, {230, 124, 6, 255} }}, {{ {-684, -144, 584}, 0, {496, -2762}, {242, 126, 0, 255} }}, {{ {-880, -183, 609}, 0, {496, -3362}, {231, 124, 0, 255} }}, + {{ {-684, -144, 584}, 0, {496, -2762}, {242, 126, 0, 255} }}, {{ {-759, -183, -155}, 0, {2546, -2911}, {230, 124, 250, 255} }}, + {{ {-880, -183, 609}, 0, {496, -3362}, {231, 124, 0, 255} }}, {{ {-580, -144, -110}, 0, {2395, -2344}, {242, 126, 253, 255} }}, {{ {-370, -144, -730}, 0, {4295, -1926}, {243, 126, 250, 255} }}, {{ {-514, -183, -846}, 0, {4596, -2460}, {232, 124, 243, 255} }}, @@ -2893,6 +4430,19 @@ Vtx ground_map_mesh_vtx_4[182] = { {{ {1449, -144, -156}, 0, {2537, 3535}, {13, 126, 253, 255} }}, {{ {1653, -183, -197}, 0, {2677, 4121}, {23, 125, 251, 255} }}, {{ {1648, -184, 545}, 0, {496, 4121}, {25, 125, 0, 255} }}, + {{ {1031, -144, -557}, 0, {3716, 2279}, {4, 127, 252, 255} }}, + {{ {1159, -144, -149}, 0, {2481, 2906}, {22, 125, 249, 255} }}, + {{ {1172, -144, -159}, 0, {2509, 2937}, {0, 127, 0, 255} }}, + {{ {1138, -144, -613}, 0, {3882, 2539}, {0, 127, 0, 255} }}, + {{ {1204, -144, -414}, 0, {3279, 2856}, {0, 127, 0, 255} }}, + {{ {893, -144, -782}, 0, {4415, 1924}, {4, 127, 254, 255} }}, + {{ {1033, -144, -803}, 0, {4469, 2268}, {0, 127, 0, 255} }}, + {{ {995, -144, -829}, 0, {4550, 2174}, {0, 127, 0, 255} }}, + {{ {1204, -144, -414}, 0, {789, 125}, {0, 127, 0, 255} }}, + {{ {1172, -144, -159}, 0, {265, 326}, {0, 127, 0, 255} }}, + {{ {1205, -144, -218}, 0, {417, 343}, {0, 127, 0, 255} }}, + {{ {1210, -144, -396}, 0, {761, 158}, {0, 127, 0, 255} }}, + {{ {1220, -144, -303}, 0, {595, 285}, {0, 127, 0, 255} }}, }; Gfx ground_map_mesh_tri_4[] = { @@ -2921,80 +4471,77 @@ Gfx ground_map_mesh_tri_4[] = { gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), gsSP2Triangles(12, 16, 15, 0, 12, 17, 16, 0), gsSP2Triangles(18, 16, 17, 0, 18, 19, 16, 0), - gsSP2Triangles(18, 20, 19, 0, 18, 21, 20, 0), - gsSP2Triangles(18, 22, 21, 0, 18, 23, 22, 0), - gsSP2Triangles(18, 24, 23, 0, 25, 23, 24, 0), - gsSP2Triangles(24, 26, 25, 0, 25, 27, 23, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSP2Triangles(18, 20, 19, 0, 20, 18, 21, 0), + gsSP2Triangles(18, 22, 21, 0, 21, 23, 20, 0), + gsSP2Triangles(21, 24, 23, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 29, 28, 27, 0), + gsSP2Triangles(29, 30, 28, 0, 28, 30, 31, 0), gsSPVertex(ground_map_mesh_vtx_4 + 64, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(1, 3, 4, 0, 1, 4, 5, 0), - gsSP2Triangles(5, 6, 1, 0, 5, 7, 6, 0), - gsSP2Triangles(6, 7, 8, 0, 8, 9, 6, 0), - gsSP2Triangles(8, 10, 9, 0, 10, 11, 9, 0), - gsSP2Triangles(11, 12, 9, 0, 9, 12, 13, 0), - gsSP2Triangles(13, 14, 9, 0, 13, 15, 14, 0), - gsSP2Triangles(14, 15, 16, 0, 16, 17, 14, 0), - gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), - gsSP2Triangles(19, 20, 17, 0, 17, 20, 21, 0), - gsSP2Triangles(21, 22, 17, 0, 21, 23, 22, 0), - gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), - gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), - gsSP2Triangles(27, 28, 25, 0, 25, 28, 29, 0), - gsSP2Triangles(29, 30, 25, 0, 29, 31, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(2, 4, 3, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 6, 3, 0, 5, 7, 6, 0), + gsSP2Triangles(7, 8, 6, 0, 8, 9, 6, 0), + gsSP2Triangles(6, 9, 10, 0, 10, 11, 6, 0), + gsSP2Triangles(10, 12, 11, 0, 11, 12, 13, 0), + gsSP2Triangles(13, 14, 11, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 16, 17, 14, 0), + gsSP2Triangles(14, 17, 18, 0, 18, 19, 14, 0), + gsSP2Triangles(18, 20, 19, 0, 19, 20, 21, 0), + gsSP2Triangles(21, 22, 19, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 24, 25, 22, 0), + gsSP2Triangles(22, 25, 26, 0, 26, 27, 22, 0), + gsSP2Triangles(26, 28, 27, 0, 27, 28, 29, 0), + gsSP2Triangles(29, 30, 27, 0, 29, 31, 30, 0), gsSPVertex(ground_map_mesh_vtx_4 + 96, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(2, 3, 4, 0, 4, 5, 2, 0), + gsSP2Triangles(4, 6, 5, 0, 5, 6, 7, 0), + gsSP2Triangles(7, 8, 5, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 10, 11, 8, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 13, 0), + gsSP2Triangles(13, 14, 8, 0, 13, 15, 14, 0), + gsSP2Triangles(15, 16, 14, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 18, 19, 16, 0), + gsSP2Triangles(16, 19, 20, 0, 20, 21, 16, 0), + gsSP2Triangles(20, 22, 21, 0, 21, 22, 23, 0), + gsSP2Triangles(23, 24, 21, 0, 23, 25, 24, 0), + gsSP2Triangles(25, 26, 24, 0, 26, 27, 24, 0), + gsSP2Triangles(24, 27, 28, 0, 28, 29, 24, 0), + gsSP2Triangles(28, 30, 29, 0, 29, 30, 31, 0), + gsSPVertex(ground_map_mesh_vtx_4 + 128, 32, 0), gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), gsSP2Triangles(2, 4, 3, 0, 4, 5, 3, 0), gsSP2Triangles(5, 6, 3, 0, 3, 6, 7, 0), - gsSP2Triangles(7, 8, 3, 0, 7, 9, 8, 0), - gsSP2Triangles(8, 9, 10, 0, 10, 11, 8, 0), - gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), - gsSP2Triangles(13, 14, 11, 0, 11, 14, 15, 0), - gsSP2Triangles(11, 15, 16, 0, 16, 17, 11, 0), - gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), - gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), - gsSP2Triangles(21, 22, 19, 0, 19, 22, 23, 0), - gsSP2Triangles(23, 24, 19, 0, 23, 25, 24, 0), - gsSP2Triangles(24, 25, 26, 0, 26, 27, 24, 0), - gsSP2Triangles(26, 28, 27, 0, 28, 29, 27, 0), - gsSP2Triangles(29, 30, 27, 0, 27, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_4 + 128, 32, 0), + gsSP2Triangles(8, 3, 7, 0, 7, 9, 8, 0), + gsSP2Triangles(9, 10, 8, 0, 10, 11, 8, 0), + gsSP2Triangles(10, 12, 11, 0, 8, 11, 13, 0), + gsSP2Triangles(14, 13, 11, 0, 14, 15, 13, 0), + gsSP2Triangles(14, 16, 15, 0, 14, 17, 16, 0), + gsSP2Triangles(18, 16, 17, 0, 18, 19, 16, 0), + gsSP2Triangles(18, 20, 19, 0, 18, 21, 20, 0), + gsSP2Triangles(22, 20, 21, 0, 22, 23, 20, 0), + gsSP2Triangles(22, 24, 23, 0, 22, 25, 24, 0), + gsSP2Triangles(26, 24, 25, 0, 26, 27, 24, 0), + gsSP2Triangles(26, 28, 27, 0, 26, 29, 28, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 31, 28, 0), + gsSPVertex(ground_map_mesh_vtx_4 + 160, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(1, 3, 4, 0, 1, 4, 5, 0), - gsSP2Triangles(5, 6, 1, 0, 5, 7, 6, 0), - gsSP2Triangles(7, 8, 6, 0, 8, 9, 6, 0), - gsSP2Triangles(6, 9, 10, 0, 11, 6, 10, 0), - gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), - gsSP2Triangles(13, 14, 11, 0, 13, 15, 14, 0), - gsSP2Triangles(11, 14, 16, 0, 17, 16, 14, 0), - gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), - gsSP2Triangles(17, 20, 19, 0, 21, 19, 20, 0), + gsSP2Triangles(4, 1, 3, 0, 4, 5, 1, 0), + gsSP2Triangles(4, 6, 5, 0, 4, 7, 6, 0), + gsSP2Triangles(8, 6, 7, 0, 8, 9, 6, 0), + gsSP2Triangles(8, 10, 9, 0, 8, 11, 10, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 13, 10, 0), + gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), + gsSP2Triangles(16, 14, 15, 0, 16, 17, 14, 0), + gsSP2Triangles(16, 18, 17, 0, 19, 20, 21, 0), gsSP2Triangles(21, 22, 19, 0, 21, 23, 22, 0), - gsSP2Triangles(21, 24, 23, 0, 25, 23, 24, 0), - gsSP2Triangles(25, 26, 23, 0, 25, 27, 26, 0), - gsSP2Triangles(25, 28, 27, 0, 29, 27, 28, 0), + gsSP2Triangles(24, 19, 22, 0, 24, 22, 25, 0), + gsSP2Triangles(25, 26, 24, 0, 27, 28, 29, 0), gsSP2Triangles(29, 30, 27, 0, 29, 31, 30, 0), - gsSPVertex(ground_map_mesh_vtx_4 + 160, 22, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(3, 4, 2, 0, 3, 5, 4, 0), - gsSP2Triangles(3, 6, 5, 0, 7, 5, 6, 0), - gsSP2Triangles(7, 8, 5, 0, 7, 9, 8, 0), - gsSP2Triangles(7, 10, 9, 0, 11, 9, 10, 0), - gsSP2Triangles(11, 12, 9, 0, 11, 13, 12, 0), - gsSP2Triangles(11, 14, 13, 0, 15, 13, 14, 0), - gsSP2Triangles(15, 16, 13, 0, 15, 17, 16, 0), - gsSP2Triangles(15, 18, 17, 0, 19, 17, 18, 0), - gsSP2Triangles(19, 20, 17, 0, 19, 21, 20, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_5[27] = { - {{ {394, 84, 1498}, 0, {54, 20}, {75, 215, 162, 255} }}, - {{ {400, 99, 1496}, 0, {51, 12}, {42, 181, 162, 255} }}, - {{ {407, 93, 1504}, 0, {54, 20}, {39, 179, 163, 255} }}, - {{ {400, 99, 1496}, 0, {52, 12}, {42, 181, 162, 255} }}, - {{ {407, 99, 1495}, 0, {48, 12}, {251, 173, 160, 255} }}, - {{ {407, 93, 1504}, 0, {52, 12}, {39, 179, 163, 255} }}, +Vtx ground_map_mesh_vtx_5[29] = { {{ {522, 412, 744}, 0, {27, 43}, {127, 255, 0, 255} }}, {{ {520, 269, 742}, 0, {29, 133}, {127, 255, 0, 255} }}, {{ {520, 269, 681}, 0, {67, 133}, {127, 255, 0, 255} }}, @@ -3014,19 +4561,28 @@ Vtx ground_map_mesh_vtx_5[27] = { {{ {319, 304, 322}, 0, {474, 8}, {0, 127, 0, 255} }}, {{ {376, 304, 322}, 0, {474, 112}, {0, 127, 0, 255} }}, {{ {376, 304, 264}, 0, {579, 112}, {0, 127, 0, 255} }}, - {{ {413, 99, 1495}, 0, {44, 12}, {251, 171, 162, 255} }}, - {{ {407, 93, 1504}, 0, {48, 12}, {39, 179, 163, 255} }}, + {{ {722, -124, 265}, 0, {4, 98}, {27, 151, 190, 255} }}, + {{ {715, -123, 262}, 0, {10, 96}, {248, 163, 170, 255} }}, + {{ {717, -121, 260}, 0, {7, 92}, {242, 167, 167, 255} }}, + {{ {728, -121, 264}, 0, {7, 92}, {72, 167, 201, 255} }}, + {{ {728, -123, 268}, 0, {10, 96}, {65, 163, 200, 255} }}, + {{ {725, -117, 261}, 0, {3, 85}, {52, 239, 142, 255} }}, + {{ {728, -121, 264}, 0, {7, 92}, {50, 210, 149, 255} }}, + {{ {722, -124, 265}, 0, {2, 92}, {22, 143, 203, 255} }}, + {{ {721, -117, 260}, 0, {3, 85}, {37, 239, 136, 255} }}, + {{ {717, -121, 260}, 0, {7, 92}, {43, 211, 145, 255} }}, }; Gfx ground_map_mesh_tri_5[] = { - gsSPVertex(ground_map_mesh_vtx_5 + 0, 27, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), - gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), - gsSP2Triangles(14, 15, 16, 0, 17, 14, 16, 0), - gsSP2Triangles(16, 18, 17, 0, 16, 19, 18, 0), - gsSP2Triangles(18, 20, 17, 0, 21, 22, 23, 0), - gsSP2Triangles(21, 23, 24, 0, 4, 25, 26, 0), + gsSPVertex(ground_map_mesh_vtx_5 + 0, 29, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 11, 8, 10, 0), + gsSP2Triangles(10, 12, 11, 0, 10, 13, 12, 0), + gsSP2Triangles(12, 14, 11, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 22, 23, 0, 24, 25, 26, 0), + gsSP2Triangles(24, 26, 27, 0, 26, 28, 27, 0), gsSPEndDisplayList(), }; @@ -3043,85 +4599,50 @@ Gfx ground_map_mesh_tri_6[] = { gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_7[13] = { - {{ {388, 105, 1513}, 0, {498, 184}, {129, 255, 254, 255} }}, - {{ {388, 107, 1525}, 0, {548, 175}, {129, 255, 254, 255} }}, - {{ {388, 116, 1518}, 0, {520, 136}, {129, 255, 254, 255} }}, - {{ {413, 99, 1495}, 0, {467, 208}, {251, 171, 162, 255} }}, - {{ {407, 99, 1495}, 0, {496, 208}, {251, 173, 160, 255} }}, - {{ {406, 102, 1494}, 0, {496, 195}, {250, 183, 152, 255} }}, - {{ {427, 105, 1511}, 0, {498, 184}, {126, 255, 240, 255} }}, - {{ {428, 116, 1516}, 0, {520, 136}, {126, 255, 240, 255} }}, - {{ {429, 107, 1522}, 0, {548, 175}, {126, 255, 240, 255} }}, - {{ {406, 107, 1489}, 0, {398, 175}, {251, 162, 171, 255} }}, - {{ {406, 102, 1494}, 0, {421, 195}, {250, 183, 152, 255} }}, - {{ {401, 107, 1495}, 0, {421, 172}, {176, 181, 192, 255} }}, - {{ {412, 107, 1494}, 0, {421, 172}, {73, 181, 184, 255} }}, +Vtx ground_map_mesh_vtx_7[9] = { + {{ {995, -144, -829}, 0, {1508, 488}, {0, 127, 0, 255} }}, + {{ {1033, -144, -803}, 0, {2098, 866}, {0, 127, 0, 255} }}, + {{ {962, -144, -890}, 0, {988, -415}, {0, 127, 0, 255} }}, + {{ {930, -144, -873}, 0, {488, -166}, {0, 127, 0, 255} }}, + {{ {893, -144, -782}, 0, {-102, 1173}, {4, 127, 254, 255} }}, + {{ {860, -144, -836}, 0, {-617, 384}, {4, 127, 254, 255} }}, + {{ {872, -142, -777}, 0, {-423, 1248}, {7, 127, 252, 255} }}, + {{ {829, -142, -838}, 0, {-1106, 357}, {7, 127, 252, 255} }}, + {{ {829, -140, -766}, 0, {-1106, 1407}, {7, 127, 252, 255} }}, }; Gfx ground_map_mesh_tri_7[] = { - gsSPVertex(ground_map_mesh_vtx_7 + 0, 13, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), - gsSP1Triangle(9, 12, 10, 0), + gsSPVertex(ground_map_mesh_vtx_7 + 0, 9, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(3, 4, 0, 0, 3, 5, 4, 0), + gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), + gsSP1Triangle(8, 6, 7, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_8[5] = { - {{ {722, -124, 265}, 0, {141, 897}, {27, 151, 190, 255} }}, - {{ {715, -123, 262}, 0, {191, 882}, {248, 163, 170, 255} }}, - {{ {717, -121, 260}, 0, {170, 847}, {242, 167, 167, 255} }}, - {{ {728, -121, 264}, 0, {170, 847}, {72, 167, 201, 255} }}, - {{ {728, -123, 268}, 0, {191, 882}, {65, 163, 200, 255} }}, -}; - -Gfx ground_map_mesh_tri_8[] = { - gsSPVertex(ground_map_mesh_vtx_8 + 0, 5, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 4, 0), - gsSPEndDisplayList(), -}; - -Vtx ground_map_mesh_vtx_9[6] = { +Vtx ground_map_mesh_vtx_8[12] = { {{ {715, -123, 262}, 0, {191, 882}, {248, 163, 170, 255} }}, {{ {714, -118, 259}, 0, {190, 847}, {220, 185, 157, 255} }}, {{ {717, -121, 260}, 0, {170, 847}, {242, 167, 167, 255} }}, {{ {728, -123, 268}, 0, {191, 882}, {65, 163, 200, 255} }}, {{ {728, -121, 264}, 0, {170, 847}, {72, 167, 201, 255} }}, {{ {731, -118, 266}, 0, {190, 847}, {94, 185, 209, 255} }}, + {{ {714, -118, 259}, 0, {193, 807}, {1, 238, 130, 255} }}, + {{ {721, -117, 260}, 0, {140, 794}, {37, 239, 136, 255} }}, + {{ {717, -121, 260}, 0, {170, 847}, {43, 211, 145, 255} }}, + {{ {731, -118, 266}, 0, {193, 807}, {87, 238, 165, 255} }}, + {{ {728, -121, 264}, 0, {170, 847}, {50, 210, 149, 255} }}, + {{ {725, -117, 261}, 0, {140, 794}, {52, 239, 142, 255} }}, }; -Gfx ground_map_mesh_tri_9[] = { - gsSPVertex(ground_map_mesh_vtx_9 + 0, 6, 0), +Gfx ground_map_mesh_tri_8[] = { + gsSPVertex(ground_map_mesh_vtx_8 + 0, 12, 0), gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_10[12] = { - {{ {706, -103, 288}, 0, {368, 496}, {68, 242, 106, 255} }}, - {{ {676, -85, 276}, 0, {112, 240}, {133, 14, 30, 255} }}, - {{ {695, -112, 283}, 0, {112, 496}, {216, 153, 63, 255} }}, - {{ {687, -76, 280}, 0, {368, 240}, {242, 103, 73, 255} }}, - {{ {707, -103, 286}, 0, {624, 496}, {123, 242, 226, 255} }}, - {{ {696, -112, 281}, 0, {624, 752}, {14, 153, 183, 255} }}, - {{ {695, -112, 283}, 0, {368, 752}, {216, 153, 63, 255} }}, - {{ {677, -85, 274}, 0, {624, 1008}, {188, 14, 150, 255} }}, - {{ {676, -85, 276}, 0, {368, 1008}, {133, 14, 30, 255} }}, - {{ {688, -76, 278}, 0, {624, 240}, {40, 103, 193, 255} }}, - {{ {676, -85, 276}, 0, {368, -16}, {133, 14, 30, 255} }}, - {{ {677, -85, 274}, 0, {624, -16}, {188, 14, 150, 255} }}, -}; - -Gfx ground_map_mesh_tri_10[] = { - gsSPVertex(ground_map_mesh_vtx_10 + 0, 12, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 5, 4, 0, 0), - gsSP2Triangles(5, 0, 6, 0, 7, 5, 6, 0), - gsSP2Triangles(7, 6, 8, 0, 4, 9, 3, 0), - gsSP2Triangles(9, 10, 3, 0, 9, 11, 10, 0), - gsSPEndDisplayList(), -}; - -Vtx ground_map_mesh_vtx_11[51] = { +Vtx ground_map_mesh_vtx_9[64] = { {{ {731, -84, 295}, 0, {1190, 253}, {36, 58, 149, 255} }}, {{ {732, -84, 295}, 0, {1234, 261}, {60, 37, 151, 255} }}, {{ {732, -85, 295}, 0, {1234, 261}, {61, 38, 151, 255} }}, @@ -3130,6 +4651,18 @@ Vtx ground_map_mesh_vtx_11[51] = { {{ {732, -84, 295}, 0, {1190, 253}, {60, 37, 151, 255} }}, {{ {732, -85, 295}, 0, {1190, 253}, {87, 33, 170, 255} }}, {{ {733, -83, 297}, 0, {1159, 264}, {84, 30, 166, 255} }}, + {{ {706, -103, 288}, 0, {-639, 349}, {68, 242, 106, 255} }}, + {{ {676, -85, 276}, 0, {-1151, 165}, {133, 14, 30, 255} }}, + {{ {695, -112, 283}, 0, {-1151, 349}, {216, 153, 63, 255} }}, + {{ {687, -76, 280}, 0, {-639, 165}, {242, 103, 73, 255} }}, + {{ {707, -103, 286}, 0, {-127, 349}, {123, 242, 226, 255} }}, + {{ {696, -112, 281}, 0, {-127, 533}, {14, 153, 183, 255} }}, + {{ {695, -112, 283}, 0, {-639, 533}, {216, 153, 63, 255} }}, + {{ {677, -85, 274}, 0, {-127, 717}, {188, 14, 150, 255} }}, + {{ {676, -85, 276}, 0, {-639, 717}, {133, 14, 30, 255} }}, + {{ {688, -76, 278}, 0, {-127, 165}, {40, 103, 193, 255} }}, + {{ {676, -85, 276}, 0, {-639, -19}, {133, 14, 30, 255} }}, + {{ {677, -85, 274}, 0, {-127, -19}, {188, 14, 150, 255} }}, {{ {707, -103, 286}, 0, {-29, -5}, {123, 242, 226, 255} }}, {{ {696, -112, 281}, 0, {-29, 709}, {14, 153, 183, 255} }}, {{ {677, -85, 274}, 0, {2047, 709}, {188, 14, 150, 255} }}, @@ -3143,21 +4676,22 @@ Vtx ground_map_mesh_vtx_11[51] = { {{ {720, -96, 289}, 0, {534, 643}, {197, 19, 145, 255} }}, {{ {726, -91, 289}, 0, {542, 639}, {16, 26, 133, 255} }}, {{ {724, -103, 290}, 0, {527, 639}, {23, 209, 140, 255} }}, + {{ {720, -96, 289}, 0, {534, 643}, {197, 19, 145, 255} }}, + {{ {726, -91, 289}, 0, {542, 639}, {16, 26, 133, 255} }}, {{ {729, -93, 291}, 0, {505, 634}, {52, 11, 140, 255} }}, {{ {733, -94, 292}, 0, {542, 639}, {82, 249, 159, 255} }}, {{ {732, -102, 294}, 0, {534, 643}, {101, 195, 210, 255} }}, {{ {737, -91, 297}, 0, {549, 643}, {123, 249, 226, 255} }}, {{ {732, -100, 297}, 0, {542, 648}, {42, 218, 114, 255} }}, {{ {736, -91, 299}, 0, {556, 648}, {54, 233, 113, 255} }}, + {{ {733, -79, 298}, 0, {586, 648}, {45, 114, 33, 255} }}, {{ {736, -84, 299}, 0, {571, 648}, {87, 67, 64, 255} }}, {{ {737, -91, 297}, 0, {564, 643}, {123, 249, 226, 255} }}, {{ {721, -108, 293}, 0, {512, 648}, {197, 144, 8, 255} }}, + {{ {720, -94, 292}, 0, {542, 648}, {147, 38, 53, 255} }}, {{ {717, -101, 291}, 0, {527, 648}, {133, 225, 249, 255} }}, {{ {724, -103, 290}, 0, {520, 643}, {23, 209, 140, 255} }}, - {{ {721, -108, 293}, 0, {512, 648}, {197, 144, 8, 255} }}, - {{ {732, -102, 294}, 0, {534, 643}, {101, 195, 210, 255} }}, {{ {729, -107, 296}, 0, {527, 648}, {33, 147, 56, 255} }}, - {{ {732, -100, 297}, 0, {542, 648}, {42, 218, 114, 255} }}, {{ {726, -91, 289}, 0, {1098, 433}, {16, 26, 133, 255} }}, {{ {724, -85, 292}, 0, {1099, 430}, {217, 74, 161, 255} }}, {{ {731, -88, 293}, 0, {1090, 427}, {62, 43, 154, 255} }}, @@ -3175,1576 +4709,368 @@ Vtx ground_map_mesh_vtx_11[51] = { {{ {729, -93, 291}, 0, {1092, 431}, {52, 11, 140, 255} }}, }; -Gfx ground_map_mesh_tri_11[] = { - gsSPVertex(ground_map_mesh_vtx_11 + 0, 32, 0), +Gfx ground_map_mesh_tri_9[] = { + gsSPVertex(ground_map_mesh_vtx_9 + 0, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 4, 0), gsSP2Triangles(0, 4, 5, 0, 6, 5, 4, 0), gsSP2Triangles(6, 4, 7, 0, 2, 5, 6, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 13, 12, 15, 0), - gsSP2Triangles(12, 16, 15, 0, 16, 12, 17, 0), - gsSP2Triangles(17, 18, 16, 0, 18, 17, 19, 0), - gsSP2Triangles(20, 18, 19, 0, 20, 19, 21, 0), - gsSP2Triangles(22, 20, 21, 0, 22, 23, 20, 0), - gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), - gsSP2Triangles(24, 26, 25, 0, 25, 26, 15, 0), - gsSP2Triangles(26, 27, 15, 0, 26, 28, 27, 0), - gsSP2Triangles(15, 29, 25, 0, 29, 15, 16, 0), - gsSP2Triangles(16, 30, 29, 0, 18, 30, 16, 0), - gsSP2Triangles(29, 30, 18, 0, 29, 18, 31, 0), - gsSP1Triangle(29, 31, 23, 0), - gsSPVertex(ground_map_mesh_vtx_11 + 32, 19, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(0, 2, 3, 0, 4, 5, 6, 0), - gsSP2Triangles(6, 5, 7, 0, 5, 8, 7, 0), - gsSP2Triangles(5, 9, 8, 0, 10, 8, 9, 0), - gsSP2Triangles(11, 10, 9, 0, 11, 12, 10, 0), - gsSP2Triangles(13, 12, 11, 0, 13, 11, 14, 0), - gsSP2Triangles(13, 14, 15, 0, 16, 15, 14, 0), - gsSP2Triangles(16, 7, 15, 0, 6, 7, 16, 0), - gsSP2Triangles(6, 16, 17, 0, 6, 17, 18, 0), - gsSP1Triangle(4, 6, 18, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 11, 9, 0), + gsSP2Triangles(12, 11, 8, 0, 13, 12, 8, 0), + gsSP2Triangles(13, 8, 14, 0, 15, 13, 14, 0), + gsSP2Triangles(15, 14, 16, 0, 12, 17, 11, 0), + gsSP2Triangles(17, 18, 11, 0, 17, 19, 18, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 25, 24, 27, 0), + gsSP2Triangles(24, 28, 27, 0, 28, 24, 29, 0), + gsSP2Triangles(29, 30, 28, 0, 30, 29, 31, 0), + gsSPVertex(ground_map_mesh_vtx_9 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 5, 0, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(6, 8, 7, 0, 7, 8, 9, 0), + gsSP2Triangles(8, 10, 9, 0, 8, 11, 10, 0), + gsSP2Triangles(9, 12, 7, 0, 12, 9, 13, 0), + gsSP2Triangles(13, 14, 12, 0, 1, 14, 13, 0), + gsSP2Triangles(12, 14, 1, 0, 12, 1, 15, 0), + gsSP2Triangles(12, 15, 5, 0, 12, 5, 16, 0), + gsSP2Triangles(7, 16, 5, 0, 12, 16, 7, 0), + gsSP2Triangles(17, 18, 19, 0, 19, 18, 20, 0), + gsSP2Triangles(18, 21, 20, 0, 18, 22, 21, 0), + gsSP2Triangles(23, 21, 22, 0, 24, 23, 22, 0), + gsSP2Triangles(24, 25, 23, 0, 26, 25, 24, 0), + gsSP2Triangles(26, 24, 27, 0, 26, 27, 28, 0), + gsSP2Triangles(29, 28, 27, 0, 29, 20, 28, 0), + gsSP2Triangles(19, 20, 29, 0, 19, 29, 30, 0), + gsSP2Triangles(19, 30, 31, 0, 17, 19, 31, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_12[367] = { - {{ {1537, 28, 445}, 0, {-638, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 435}, 0, {-1041, -580}, {126, 15, 255, 255} }}, - {{ {1537, 31, 444}, 0, {-636, -580}, {127, 1, 1, 255} }}, - {{ {1537, 30, 435}, 0, {-7060, -580}, {126, 15, 255, 255} }}, - {{ {1537, 30, 422}, 0, {370, -580}, {127, 0, 0, 255} }}, - {{ {1537, 31, 444}, 0, {3078, -580}, {127, 1, 1, 255} }}, - {{ {1537, 30, 487}, 0, {-760, -580}, {127, 0, 0, 255} }}, - {{ {1537, 29, 478}, 0, {-864, -580}, {127, 250, 0, 255} }}, - {{ {1537, 30, 478}, 0, {-864, -580}, {127, 251, 0, 255} }}, - {{ {1537, 29, 478}, 0, {-871, -580}, {127, 249, 1, 255} }}, - {{ {1537, 28, 464}, 0, {-725, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 478}, 0, {-867, -580}, {127, 251, 0, 255} }}, - {{ {1537, 28, 445}, 0, {-640, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 435}, 0, {-1044, -580}, {126, 239, 254, 255} }}, - {{ {1537, 30, 435}, 0, {-1039, -580}, {126, 15, 255, 255} }}, - {{ {1537, 29, 435}, 0, {-1049, -580}, {127, 249, 0, 255} }}, - {{ {1537, 30, 422}, 0, {-610, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 435}, 0, {-1040, -580}, {126, 15, 255, 255} }}, - {{ {1537, -6, 455}, 0, {-685, -580}, {127, 6, 0, 255} }}, - {{ {1537, -6, 446}, 0, {-986, -580}, {127, 0, 0, 255} }}, - {{ {1537, -5, 455}, 0, {-677, -580}, {127, 7, 255, 255} }}, - {{ {1537, -6, 467}, 0, {-929, -580}, {127, 0, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-690, -580}, {127, 6, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-688, -580}, {127, 7, 0, 255} }}, - {{ {1537, 5, 556}, 0, {-888, -580}, {127, 0, 0, 255} }}, - {{ {1537, 6, 543}, 0, {-1160, -580}, {125, 20, 1, 255} }}, - {{ {1537, 8, 505}, 0, {-644, -580}, {127, 0, 0, 255} }}, - {{ {1515, 28, 445}, 0, {-638, -580}, {129, 0, 0, 255} }}, - {{ {1515, 31, 444}, 0, {-636, -580}, {129, 1, 1, 255} }}, - {{ {1515, 30, 435}, 0, {-1041, -580}, {130, 15, 255, 255} }}, - {{ {1515, 30, 435}, 0, {-7060, -580}, {130, 15, 255, 255} }}, - {{ {1515, 31, 444}, 0, {3078, -580}, {129, 1, 1, 255} }}, - {{ {1515, 30, 422}, 0, {370, -580}, {129, 0, 0, 255} }}, - {{ {1515, 30, 487}, 0, {-760, -580}, {129, 0, 0, 255} }}, - {{ {1515, 30, 478}, 0, {-864, -580}, {129, 251, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-864, -580}, {129, 250, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-871, -580}, {129, 249, 1, 255} }}, - {{ {1515, 30, 478}, 0, {-867, -580}, {129, 251, 0, 255} }}, - {{ {1515, 28, 464}, 0, {-725, -580}, {129, 0, 0, 255} }}, - {{ {1515, 28, 445}, 0, {-640, -580}, {129, 0, 0, 255} }}, - {{ {1515, 30, 435}, 0, {-1039, -580}, {130, 15, 255, 255} }}, - {{ {1515, 30, 435}, 0, {-1044, -580}, {130, 239, 253, 255} }}, - {{ {1515, 29, 435}, 0, {-1049, -580}, {129, 249, 0, 255} }}, - {{ {1515, 30, 435}, 0, {-1040, -580}, {130, 15, 255, 255} }}, - {{ {1515, 30, 422}, 0, {-610, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-685, -580}, {129, 6, 0, 255} }}, - {{ {1515, -5, 455}, 0, {-677, -580}, {129, 7, 255, 255} }}, - {{ {1515, -6, 446}, 0, {-986, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 467}, 0, {-929, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-688, -580}, {129, 7, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-690, -580}, {129, 6, 0, 255} }}, - {{ {1515, 5, 556}, 0, {-888, -580}, {129, 0, 0, 255} }}, - {{ {1515, 8, 505}, 0, {-644, -580}, {129, 0, 0, 255} }}, - {{ {1515, 6, 543}, 0, {-1160, -580}, {131, 21, 1, 255} }}, - {{ {1515, -22, 542}, 0, {-961, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 556}, 0, {-956, -580}, {129, 0, 0, 255} }}, - {{ {1515, 5, 556}, 0, {-902, -580}, {129, 0, 0, 255} }}, - {{ {1515, 4, 542}, 0, {-1019, -580}, {129, 0, 0, 255} }}, - {{ {1515, 6, 543}, 0, {-1022, -580}, {131, 21, 1, 255} }}, - {{ {1537, -6, 446}, 0, {-987, -580}, {127, 0, 0, 255} }}, - {{ {1537, 18, 438}, 0, {-1015, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 435}, 0, {-1044, -580}, {126, 239, 254, 255} }}, - {{ {1537, -5, 455}, 0, {-677, -580}, {127, 7, 255, 255} }}, - {{ {1537, -6, 446}, 0, {-987, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 435}, 0, {-1044, -580}, {126, 239, 254, 255} }}, - {{ {1537, 2, 453}, 0, {-666, -580}, {127, 0, 0, 255} }}, - {{ {1537, 28, 445}, 0, {-639, -580}, {127, 0, 0, 255} }}, - {{ {1537, -4, 455}, 0, {-674, -580}, {127, 0, 0, 255} }}, - {{ {1515, 41, 519}, 0, {-701, -580}, {0, 89, 91, 255} }}, - {{ {1515, 18, 519}, 0, {-758, -580}, {0, 247, 127, 255} }}, - {{ {1537, 18, 519}, 0, {-758, -580}, {0, 247, 127, 255} }}, - {{ {1537, 41, 519}, 0, {-701, -580}, {0, 89, 91, 255} }}, - {{ {1515, 42, 486}, 0, {-750, -580}, {0, 95, 85, 255} }}, - {{ {1515, -22, 494}, 0, {-803, -580}, {0, 5, 127, 255} }}, - {{ {1537, -22, 494}, 0, {-803, -580}, {0, 5, 127, 255} }}, - {{ {1537, 42, 486}, 0, {-750, -580}, {0, 95, 85, 255} }}, - {{ {1515, 41, 556}, 0, {-833, -580}, {0, 90, 90, 255} }}, - {{ {1515, -22, 556}, 0, {-956, -580}, {0, 166, 90, 255} }}, - {{ {1537, -22, 556}, 0, {-956, -580}, {0, 166, 90, 255} }}, - {{ {1537, 41, 556}, 0, {-833, -580}, {0, 90, 90, 255} }}, - {{ {1515, -6, 455}, 0, {-684, -580}, {129, 6, 0, 255} }}, - {{ {1515, -6, 446}, 0, {-987, -580}, {129, 0, 0, 255} }}, - {{ {1515, -21, 451}, 0, {-955, -580}, {129, 255, 0, 255} }}, - {{ {1515, -21, 462}, 0, {-943, -580}, {129, 255, 0, 255} }}, - {{ {1515, -22, 462}, 0, {-949, -580}, {129, 255, 0, 255} }}, - {{ {1515, -22, 451}, 0, {-949, -580}, {129, 255, 0, 255} }}, - {{ {1515, -6, 467}, 0, {-930, -580}, {129, 0, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-860, -580}, {0, 250, 129, 255} }}, - {{ {1515, 30, 478}, 0, {-862, -580}, {0, 130, 244, 255} }}, - {{ {1537, 30, 478}, 0, {-862, -580}, {0, 130, 244, 255} }}, - {{ {1537, 29, 478}, 0, {-860, -580}, {0, 250, 129, 255} }}, - {{ {1515, -22, 480}, 0, {-807, -580}, {0, 164, 168, 255} }}, - {{ {1537, -22, 480}, 0, {-807, -580}, {0, 164, 168, 255} }}, - {{ {1537, 42, 467}, 0, {-748, -580}, {0, 93, 170, 255} }}, - {{ {1515, 42, 467}, 0, {-748, -580}, {0, 93, 170, 255} }}, - {{ {1515, 42, 486}, 0, {-750, -580}, {0, 95, 85, 255} }}, - {{ {1537, 42, 486}, 0, {-750, -580}, {0, 95, 85, 255} }}, - {{ {1537, 41, 422}, 0, {-633, -580}, {0, 93, 169, 255} }}, - {{ {1515, 41, 422}, 0, {-633, -580}, {0, 93, 169, 255} }}, - {{ {1515, 42, 442}, 0, {-635, -580}, {0, 94, 86, 255} }}, - {{ {1537, 42, 442}, 0, {-635, -580}, {0, 94, 86, 255} }}, - {{ {1515, 29, 435}, 0, {-1037, -580}, {0, 251, 127, 255} }}, - {{ {1515, -22, 432}, 0, {-1090, -580}, {0, 164, 88, 255} }}, - {{ {1537, -22, 432}, 0, {-1090, -580}, {0, 164, 88, 255} }}, - {{ {1537, 29, 435}, 0, {-1037, -580}, {0, 251, 127, 255} }}, - {{ {1515, 30, 435}, 0, {-1035, -580}, {0, 134, 37, 255} }}, - {{ {1537, 30, 435}, 0, {-1035, -580}, {0, 134, 37, 255} }}, - {{ {1537, -19, 463}, 0, {-938, -580}, {0, 224, 123, 255} }}, - {{ {1515, -19, 463}, 0, {-938, -580}, {0, 224, 123, 255} }}, - {{ {1515, -21, 462}, 0, {-945, -580}, {0, 233, 125, 255} }}, - {{ {1537, -22, 462}, 0, {-949, -580}, {0, 160, 83, 255} }}, - {{ {1515, -22, 462}, 0, {-949, -580}, {0, 160, 83, 255} }}, - {{ {1537, -21, 462}, 0, {-945, -580}, {0, 233, 125, 255} }}, - {{ {1537, 18, 519}, 0, {-758, -580}, {0, 247, 127, 255} }}, - {{ {1515, 18, 519}, 0, {-758, -580}, {0, 247, 127, 255} }}, - {{ {1515, 16, 518}, 0, {-762, -580}, {0, 86, 93, 255} }}, - {{ {1537, 16, 518}, 0, {-762, -580}, {0, 86, 93, 255} }}, - {{ {1537, -4, 455}, 0, {-691, -580}, {127, 0, 0, 255} }}, - {{ {1537, 28, 464}, 0, {-725, -580}, {127, 0, 0, 255} }}, - {{ {1537, 29, 478}, 0, {-871, -580}, {127, 249, 1, 255} }}, - {{ {1537, -6, 467}, 0, {-929, -580}, {127, 0, 0, 255} }}, - {{ {1537, 18, 475}, 0, {-897, -580}, {127, 0, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-688, -580}, {127, 7, 0, 255} }}, - {{ {1537, -22, 556}, 0, {-955, -580}, {0, 166, 90, 255} }}, - {{ {1515, -22, 556}, 0, {-955, -580}, {0, 166, 90, 255} }}, - {{ {1515, -22, 542}, 0, {-961, -580}, {0, 167, 165, 255} }}, - {{ {1537, -22, 542}, 0, {-961, -580}, {0, 167, 165, 255} }}, - {{ {1537, -22, 519}, 0, {-1087, -580}, {0, 167, 91, 255} }}, - {{ {1515, -22, 519}, 0, {-1087, -580}, {0, 167, 91, 255} }}, - {{ {1515, -22, 505}, 0, {-1092, -580}, {0, 166, 166, 255} }}, - {{ {1537, -22, 505}, 0, {-1092, -580}, {0, 166, 166, 255} }}, - {{ {1537, 16, 518}, 0, {-763, -580}, {0, 86, 93, 255} }}, - {{ {1515, 16, 518}, 0, {-763, -580}, {0, 86, 93, 255} }}, - {{ {1515, 16, 543}, 0, {-768, -580}, {0, 90, 166, 255} }}, - {{ {1537, 16, 543}, 0, {-768, -580}, {0, 90, 166, 255} }}, - {{ {1537, -22, 462}, 0, {-948, -580}, {0, 160, 83, 255} }}, - {{ {1515, -22, 462}, 0, {-948, -580}, {0, 160, 83, 255} }}, - {{ {1515, -22, 451}, 0, {-950, -580}, {0, 161, 172, 255} }}, - {{ {1537, -22, 451}, 0, {-950, -580}, {0, 161, 172, 255} }}, - {{ {1537, -22, 432}, 0, {-1090, -580}, {0, 164, 88, 255} }}, - {{ {1515, -22, 432}, 0, {-1090, -580}, {0, 164, 88, 255} }}, - {{ {1515, -22, 418}, 0, {-1092, -580}, {0, 166, 167, 255} }}, - {{ {1537, -22, 418}, 0, {-1092, -580}, {0, 166, 167, 255} }}, - {{ {1537, -22, 418}, 0, {-1424, -580}, {0, 166, 167, 255} }}, - {{ {1515, -22, 418}, 0, {-1424, -580}, {0, 166, 167, 255} }}, - {{ {1515, -22, 418}, 0, {-575, -580}, {0, 1, 129, 255} }}, - {{ {1537, -22, 418}, 0, {-575, -580}, {0, 1, 129, 255} }}, - {{ {1515, 39, 442}, 0, {-640, -580}, {0, 21, 125, 255} }}, - {{ {1515, 33, 443}, 0, {-649, -580}, {0, 34, 122, 255} }}, - {{ {1537, 33, 443}, 0, {-649, -580}, {0, 34, 122, 255} }}, - {{ {1537, 39, 442}, 0, {-640, -580}, {0, 21, 125, 255} }}, - {{ {1537, -22, 494}, 0, {-803, -580}, {0, 5, 127, 255} }}, - {{ {1515, -22, 494}, 0, {-803, -580}, {0, 5, 127, 255} }}, - {{ {1515, -22, 494}, 0, {-807, -580}, {0, 167, 90, 255} }}, - {{ {1537, -22, 494}, 0, {-807, -580}, {0, 167, 90, 255} }}, - {{ {1537, -22, 494}, 0, {-805, -580}, {0, 167, 90, 255} }}, - {{ {1515, -22, 494}, 0, {-805, -580}, {0, 167, 90, 255} }}, - {{ {1515, -22, 480}, 0, {-808, -580}, {0, 164, 168, 255} }}, - {{ {1537, -22, 480}, 0, {-808, -580}, {0, 164, 168, 255} }}, - {{ {1537, 41, 542}, 0, {-829, -580}, {0, 88, 165, 255} }}, - {{ {1515, 41, 542}, 0, {-829, -580}, {0, 88, 165, 255} }}, - {{ {1515, 41, 556}, 0, {-834, -580}, {0, 90, 90, 255} }}, - {{ {1537, 41, 556}, 0, {-834, -580}, {0, 90, 90, 255} }}, - {{ {1537, 6, 543}, 0, {-1021, -580}, {0, 170, 163, 255} }}, - {{ {1515, 6, 543}, 0, {-1021, -580}, {0, 170, 163, 255} }}, - {{ {1515, 6, 518}, 0, {-1026, -580}, {0, 169, 93, 255} }}, - {{ {1537, 6, 518}, 0, {-1026, -580}, {0, 169, 93, 255} }}, - {{ {1537, 41, 505}, 0, {-697, -580}, {0, 90, 166, 255} }}, - {{ {1515, 41, 505}, 0, {-697, -580}, {0, 90, 166, 255} }}, - {{ {1515, 41, 519}, 0, {-702, -580}, {0, 89, 91, 255} }}, - {{ {1537, 41, 519}, 0, {-702, -580}, {0, 89, 91, 255} }}, - {{ {1515, 33, 443}, 0, {-649, -580}, {0, 34, 122, 255} }}, - {{ {1515, 2, 453}, 0, {-677, -580}, {0, 35, 122, 255} }}, - {{ {1537, 2, 453}, 0, {-677, -580}, {0, 35, 122, 255} }}, - {{ {1537, 33, 443}, 0, {-649, -580}, {0, 34, 122, 255} }}, - {{ {1537, 4, 542}, 0, {-1016, -580}, {0, 8, 129, 255} }}, - {{ {1515, 4, 542}, 0, {-1016, -580}, {0, 8, 129, 255} }}, - {{ {1515, 6, 543}, 0, {-1021, -580}, {0, 170, 163, 255} }}, - {{ {1537, 6, 543}, 0, {-1021, -580}, {0, 170, 163, 255} }}, - {{ {1537, 6, 518}, 0, {-1027, -580}, {0, 169, 93, 255} }}, - {{ {1515, 6, 518}, 0, {-1027, -580}, {0, 169, 93, 255} }}, - {{ {1515, 4, 519}, 0, {-1031, -580}, {0, 8, 127, 255} }}, - {{ {1537, 4, 519}, 0, {-1031, -580}, {0, 8, 127, 255} }}, - {{ {1515, -22, 480}, 0, {-809, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 494}, 0, {-807, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 494}, 0, {-803, -580}, {129, 0, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-864, -580}, {129, 250, 0, 255} }}, - {{ {1515, -22, 494}, 0, {-803, -580}, {129, 0, 0, 255} }}, - {{ {1515, 30, 487}, 0, {-760, -580}, {129, 0, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-864, -580}, {129, 250, 0, 255} }}, - {{ {1515, 42, 442}, 0, {-635, -580}, {129, 1, 0, 255} }}, - {{ {1515, 41, 422}, 0, {-633, -580}, {129, 1, 0, 255} }}, - {{ {1515, 30, 422}, 0, {-621, -580}, {129, 0, 0, 255} }}, - {{ {1515, 38, 442}, 0, {-642, -580}, {129, 1, 0, 255} }}, - {{ {1515, 31, 444}, 0, {-652, -580}, {129, 1, 1, 255} }}, - {{ {1515, 29, 478}, 0, {-867, -580}, {0, 228, 124, 255} }}, - {{ {1515, 18, 475}, 0, {-893, -580}, {0, 222, 122, 255} }}, - {{ {1537, 18, 475}, 0, {-893, -580}, {0, 222, 122, 255} }}, - {{ {1537, 29, 478}, 0, {-867, -580}, {0, 228, 124, 255} }}, - {{ {1515, 30, 478}, 0, {-865, -580}, {0, 130, 244, 255} }}, - {{ {1537, 30, 478}, 0, {-865, -580}, {0, 130, 244, 255} }}, - {{ {1515, 4, 542}, 0, {-1016, -580}, {0, 8, 129, 255} }}, - {{ {1537, 4, 542}, 0, {-1016, -580}, {0, 8, 129, 255} }}, - {{ {1537, -22, 542}, 0, {-960, -580}, {0, 167, 165, 255} }}, - {{ {1515, -22, 542}, 0, {-960, -580}, {0, 167, 165, 255} }}, - {{ {1515, -5, 455}, 0, {-688, -580}, {0, 14, 126, 255} }}, - {{ {1515, -6, 455}, 0, {-690, -580}, {0, 127, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-690, -580}, {0, 127, 0, 255} }}, - {{ {1537, -5, 455}, 0, {-688, -580}, {0, 14, 126, 255} }}, - {{ {1515, -4, 455}, 0, {-686, -580}, {0, 21, 125, 255} }}, - {{ {1537, -4, 455}, 0, {-686, -580}, {0, 21, 125, 255} }}, - {{ {1537, -4, 455}, 0, {-697, -580}, {0, 23, 131, 255} }}, - {{ {1515, -4, 455}, 0, {-697, -580}, {0, 23, 131, 255} }}, - {{ {1515, 39, 467}, 0, {-743, -580}, {0, 22, 131, 255} }}, - {{ {1537, 39, 467}, 0, {-743, -580}, {0, 22, 131, 255} }}, - {{ {1515, 42, 442}, 0, {-635, -580}, {0, 94, 86, 255} }}, - {{ {1515, 39, 442}, 0, {-640, -580}, {0, 21, 125, 255} }}, - {{ {1537, 39, 442}, 0, {-640, -580}, {0, 21, 125, 255} }}, - {{ {1537, 42, 442}, 0, {-635, -580}, {0, 94, 86, 255} }}, - {{ {1537, -22, 418}, 0, {-580, -580}, {0, 1, 129, 255} }}, - {{ {1515, -22, 418}, 0, {-580, -580}, {0, 1, 129, 255} }}, - {{ {1515, 41, 422}, 0, {-633, -580}, {0, 93, 169, 255} }}, - {{ {1537, 41, 422}, 0, {-633, -580}, {0, 93, 169, 255} }}, - {{ {1515, 4, 519}, 0, {-1031, -580}, {0, 8, 127, 255} }}, - {{ {1515, -22, 519}, 0, {-1088, -580}, {0, 167, 91, 255} }}, - {{ {1537, -22, 519}, 0, {-1088, -580}, {0, 167, 91, 255} }}, - {{ {1537, 4, 519}, 0, {-1031, -580}, {0, 8, 127, 255} }}, - {{ {1515, 30, 435}, 0, {-1030, -580}, {0, 218, 135, 255} }}, - {{ {1515, 30, 435}, 0, {-1032, -580}, {0, 134, 37, 255} }}, - {{ {1537, 30, 435}, 0, {-1032, -580}, {0, 134, 37, 255} }}, - {{ {1537, 30, 435}, 0, {-1030, -580}, {0, 218, 135, 255} }}, - {{ {1515, 18, 438}, 0, {-1003, -580}, {0, 218, 135, 255} }}, - {{ {1537, 18, 438}, 0, {-1003, -580}, {0, 218, 135, 255} }}, - {{ {1537, -19, 450}, 0, {-959, -580}, {0, 218, 135, 255} }}, - {{ {1537, -21, 451}, 0, {-955, -580}, {0, 228, 132, 255} }}, - {{ {1515, -21, 451}, 0, {-955, -580}, {0, 228, 132, 255} }}, - {{ {1515, -19, 450}, 0, {-959, -580}, {0, 218, 135, 255} }}, - {{ {1537, -21, 451}, 0, {-955, -580}, {127, 255, 0, 255} }}, - {{ {1537, -6, 446}, 0, {-987, -580}, {127, 0, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-689, -580}, {127, 6, 0, 255} }}, - {{ {1537, -22, 451}, 0, {-949, -580}, {127, 255, 0, 255} }}, - {{ {1537, -21, 462}, 0, {-943, -580}, {127, 255, 0, 255} }}, - {{ {1537, -6, 467}, 0, {-930, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 462}, 0, {-946, -580}, {127, 255, 0, 255} }}, - {{ {1515, 2, 453}, 0, {-677, -580}, {0, 35, 122, 255} }}, - {{ {1515, -4, 455}, 0, {-686, -580}, {0, 21, 125, 255} }}, - {{ {1537, -4, 455}, 0, {-686, -580}, {0, 21, 125, 255} }}, - {{ {1537, 2, 453}, 0, {-677, -580}, {0, 35, 122, 255} }}, - {{ {1537, 39, 467}, 0, {-743, -580}, {127, 1, 0, 255} }}, - {{ {1537, 42, 467}, 0, {-747, -580}, {127, 1, 0, 255} }}, - {{ {1537, 42, 486}, 0, {-750, -580}, {127, 1, 0, 255} }}, - {{ {1537, 42, 486}, 0, {-750, -580}, {127, 1, 0, 255} }}, - {{ {1537, 30, 478}, 0, {-867, -580}, {127, 251, 0, 255} }}, - {{ {1537, 39, 467}, 0, {-743, -580}, {127, 1, 0, 255} }}, - {{ {1537, 30, 487}, 0, {-760, -580}, {127, 0, 0, 255} }}, - {{ {1537, 28, 464}, 0, {-726, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 422}, 0, {-621, -580}, {127, 0, 0, 255} }}, - {{ {1537, 41, 422}, 0, {-632, -580}, {127, 1, 0, 255} }}, - {{ {1537, 42, 442}, 0, {-635, -580}, {127, 1, 0, 255} }}, - {{ {1537, 38, 442}, 0, {-642, -580}, {127, 1, 0, 255} }}, - {{ {1537, 31, 444}, 0, {-652, -580}, {127, 1, 1, 255} }}, - {{ {1515, 30, 435}, 0, {-1044, -580}, {130, 239, 253, 255} }}, - {{ {1515, 18, 438}, 0, {-1015, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 446}, 0, {-986, -580}, {129, 0, 0, 255} }}, - {{ {1515, 28, 445}, 0, {-640, -580}, {129, 0, 0, 255} }}, - {{ {1515, -4, 455}, 0, {-675, -580}, {129, 0, 0, 255} }}, - {{ {1515, -5, 455}, 0, {-677, -580}, {129, 7, 255, 255} }}, - {{ {1515, 2, 453}, 0, {-666, -580}, {129, 0, 0, 255} }}, - {{ {1515, 29, 435}, 0, {-1049, -580}, {129, 249, 0, 255} }}, - {{ {1515, 30, 422}, 0, {-610, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 418}, 0, {-561, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 432}, 0, {-1100, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 418}, 0, {-1412, -580}, {129, 0, 0, 255} }}, - {{ {1515, 29, 478}, 0, {-871, -580}, {129, 249, 1, 255} }}, - {{ {1515, 28, 464}, 0, {-726, -580}, {129, 0, 0, 255} }}, - {{ {1515, -4, 455}, 0, {-690, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 467}, 0, {-929, -580}, {129, 0, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-688, -580}, {129, 7, 0, 255} }}, - {{ {1515, 18, 475}, 0, {-897, -580}, {129, 0, 0, 255} }}, - {{ {1537, -6, 455}, 0, {-695, -580}, {0, 12, 130, 255} }}, - {{ {1537, -6, 455}, 0, {-693, -580}, {0, 127, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-693, -580}, {0, 127, 0, 255} }}, - {{ {1515, -6, 455}, 0, {-695, -580}, {0, 12, 130, 255} }}, - {{ {1515, -6, 455}, 0, {-695, -580}, {0, 12, 130, 255} }}, - {{ {1537, -4, 455}, 0, {-697, -580}, {0, 23, 131, 255} }}, - {{ {1537, -6, 455}, 0, {-695, -580}, {0, 12, 130, 255} }}, - {{ {1515, -4, 455}, 0, {-697, -580}, {0, 23, 131, 255} }}, - {{ {1537, 8, 505}, 0, {-629, -580}, {127, 0, 0, 255} }}, - {{ {1537, 41, 505}, 0, {-696, -580}, {127, 0, 0, 255} }}, - {{ {1537, 41, 519}, 0, {-701, -580}, {127, 0, 0, 255} }}, - {{ {1537, 16, 518}, 0, {-755, -580}, {127, 0, 0, 255} }}, - {{ {1537, 18, 519}, 0, {-761, -580}, {127, 0, 0, 255} }}, - {{ {1537, 16, 543}, 0, {-767, -580}, {127, 0, 0, 255} }}, - {{ {1537, 5, 556}, 0, {-907, -580}, {127, 0, 0, 255} }}, - {{ {1537, 41, 556}, 0, {-833, -580}, {127, 0, 0, 255} }}, - {{ {1537, 41, 542}, 0, {-828, -580}, {127, 0, 0, 255} }}, - {{ {1537, 18, 543}, 0, {-770, -580}, {127, 0, 0, 255} }}, - {{ {1515, 18, 475}, 0, {-893, -580}, {0, 222, 122, 255} }}, - {{ {1515, -19, 463}, 0, {-938, -580}, {0, 224, 123, 255} }}, - {{ {1537, -19, 463}, 0, {-938, -580}, {0, 224, 123, 255} }}, - {{ {1537, 18, 475}, 0, {-893, -580}, {0, 222, 122, 255} }}, - {{ {1515, 41, 505}, 0, {-698, -580}, {0, 90, 166, 255} }}, - {{ {1537, 41, 505}, 0, {-698, -580}, {0, 90, 166, 255} }}, - {{ {1537, -22, 505}, 0, {-1151, -580}, {0, 166, 166, 255} }}, - {{ {1515, -22, 505}, 0, {-1151, -580}, {0, 166, 166, 255} }}, - {{ {1537, -22, 418}, 0, {-1412, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 418}, 0, {-568, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 422}, 0, {-610, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 432}, 0, {-1416, -580}, {127, 0, 0, 255} }}, - {{ {1537, 29, 435}, 0, {-1049, -580}, {127, 249, 0, 255} }}, - {{ {1537, 4, 519}, 0, {-1042, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 519}, 0, {-1143, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 505}, 0, {-1148, -580}, {127, 0, 0, 255} }}, - {{ {1537, 6, 518}, 0, {-1031, -580}, {127, 0, 0, 255} }}, - {{ {1537, 8, 505}, 0, {-631, -580}, {127, 0, 0, 255} }}, - {{ {1537, 8, 505}, 0, {-631, -580}, {127, 0, 0, 255} }}, - {{ {1537, 6, 543}, 0, {-1048, -580}, {125, 20, 1, 255} }}, - {{ {1537, 6, 518}, 0, {-1031, -580}, {127, 0, 0, 255} }}, - {{ {1537, 39, 467}, 0, {-743, -580}, {0, 22, 131, 255} }}, - {{ {1515, 39, 467}, 0, {-743, -580}, {0, 22, 131, 255} }}, - {{ {1515, 42, 467}, 0, {-748, -580}, {0, 93, 170, 255} }}, - {{ {1537, 42, 467}, 0, {-748, -580}, {0, 93, 170, 255} }}, - {{ {1515, 42, 486}, 0, {-750, -580}, {129, 1, 0, 255} }}, - {{ {1515, 42, 467}, 0, {-748, -580}, {129, 1, 0, 255} }}, - {{ {1515, 39, 467}, 0, {-743, -580}, {129, 1, 0, 255} }}, - {{ {1515, 30, 478}, 0, {-865, -580}, {129, 251, 0, 255} }}, - {{ {1515, 28, 464}, 0, {-726, -580}, {129, 0, 0, 255} }}, - {{ {1515, 30, 487}, 0, {-760, -580}, {129, 0, 0, 255} }}, - {{ {1537, -22, 451}, 0, {-949, -580}, {0, 161, 172, 255} }}, - {{ {1515, -22, 451}, 0, {-949, -580}, {0, 161, 172, 255} }}, - {{ {1515, -21, 451}, 0, {-954, -580}, {0, 228, 132, 255} }}, - {{ {1537, -21, 451}, 0, {-954, -580}, {0, 228, 132, 255} }}, - {{ {1515, 18, 543}, 0, {-773, -580}, {0, 252, 129, 255} }}, - {{ {1515, 41, 542}, 0, {-829, -580}, {0, 88, 165, 255} }}, - {{ {1537, 41, 542}, 0, {-829, -580}, {0, 88, 165, 255} }}, - {{ {1537, 18, 543}, 0, {-773, -580}, {0, 252, 129, 255} }}, - {{ {1515, 16, 543}, 0, {-768, -580}, {0, 90, 166, 255} }}, - {{ {1537, 16, 543}, 0, {-768, -580}, {0, 90, 166, 255} }}, - {{ {1537, -22, 494}, 0, {-803, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 494}, 0, {-807, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 480}, 0, {-807, -580}, {127, 0, 0, 255} }}, - {{ {1537, 30, 487}, 0, {-760, -580}, {127, 0, 0, 255} }}, - {{ {1537, 29, 478}, 0, {-864, -580}, {127, 250, 0, 255} }}, - {{ {1515, 41, 519}, 0, {-701, -580}, {129, 0, 0, 255} }}, - {{ {1515, 41, 505}, 0, {-697, -580}, {129, 0, 0, 255} }}, - {{ {1515, 8, 505}, 0, {-629, -580}, {129, 0, 0, 255} }}, - {{ {1515, 16, 518}, 0, {-764, -580}, {129, 0, 0, 255} }}, - {{ {1515, 8, 505}, 0, {-629, -580}, {129, 0, 0, 255} }}, - {{ {1515, 5, 556}, 0, {-907, -580}, {129, 0, 0, 255} }}, - {{ {1515, 16, 518}, 0, {-764, -580}, {129, 0, 0, 255} }}, - {{ {1515, 16, 543}, 0, {-760, -580}, {129, 0, 0, 255} }}, - {{ {1515, 41, 542}, 0, {-829, -580}, {129, 0, 0, 255} }}, - {{ {1515, 41, 556}, 0, {-833, -580}, {129, 0, 0, 255} }}, - {{ {1515, 18, 543}, 0, {-770, -580}, {129, 0, 0, 255} }}, - {{ {1515, 18, 519}, 0, {-761, -580}, {129, 0, 0, 255} }}, - {{ {1515, 41, 519}, 0, {-701, -580}, {129, 0, 0, 255} }}, - {{ {1537, 5, 556}, 0, {-902, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 556}, 0, {-956, -580}, {127, 0, 0, 255} }}, - {{ {1537, -22, 542}, 0, {-960, -580}, {127, 0, 0, 255} }}, - {{ {1537, 6, 543}, 0, {-1022, -580}, {125, 20, 1, 255} }}, - {{ {1537, 4, 542}, 0, {-1019, -580}, {127, 0, 0, 255} }}, - {{ {1515, 8, 505}, 0, {-620, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 505}, 0, {-1148, -580}, {129, 0, 0, 255} }}, - {{ {1515, -22, 519}, 0, {-1098, -580}, {129, 0, 0, 255} }}, - {{ {1515, 6, 518}, 0, {-1053, -580}, {129, 0, 0, 255} }}, - {{ {1515, 4, 519}, 0, {-1042, -580}, {129, 0, 0, 255} }}, - {{ {1515, 6, 543}, 0, {-1048, -580}, {131, 21, 1, 255} }}, +Vtx ground_map_mesh_vtx_10[11] = { + {{ {829, -128, -434}, 0, {-16, 1008}, {7, 127, 252, 255} }}, + {{ {829, -140, -766}, 0, {1671, 1008}, {7, 127, 252, 255} }}, + {{ {829, -142, -838}, 0, {2032, 1008}, {7, 127, 252, 255} }}, + {{ {772, -139, -838}, 0, {2032, 772}, {5, 127, 252, 255} }}, + {{ {777, -125, -434}, 0, {-16, 794}, {5, 127, 252, 255} }}, + {{ {761, -125, -434}, 0, {-16, 728}, {5, 127, 251, 255} }}, + {{ {624, -136, -838}, 0, {2032, 158}, {5, 127, 251, 255} }}, + {{ {582, -133, -838}, 0, {2032, -16}, {8, 127, 250, 255} }}, + {{ {582, -123, -633}, 0, {995, -16}, {4, 127, 253, 255} }}, + {{ {739, -123, -434}, 0, {-16, 637}, {4, 127, 253, 255} }}, + {{ {582, -123, -434}, 0, {-16, -16}, {0, 127, 0, 255} }}, +}; + +Gfx ground_map_mesh_tri_10[] = { + gsSPVertex(ground_map_mesh_vtx_10 + 0, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 4, 3, 0), + gsSP2Triangles(5, 3, 6, 0, 5, 6, 7, 0), + gsSP2Triangles(5, 7, 8, 0, 8, 9, 5, 0), + gsSP1Triangle(8, 10, 9, 0), + gsSPEndDisplayList(), +}; + +Vtx ground_map_mesh_vtx_11[8] = { + {{ {825, -150, -689}, 0, {1008, 1008}, {180, 90, 48, 255} }}, + {{ {909, -50, -742}, 0, {1008, 72}, {180, 90, 48, 255} }}, + {{ {831, -50, -866}, 0, {-16, 72}, {180, 90, 48, 255} }}, + {{ {747, -150, -813}, 0, {-16, 1008}, {180, 90, 48, 255} }}, + {{ {831, -150, -866}, 0, {1008, 1008}, {107, 0, 188, 255} }}, + {{ {831, -50, -866}, 0, {1008, 72}, {107, 0, 188, 255} }}, + {{ {909, -50, -742}, 0, {-16, 72}, {107, 0, 188, 255} }}, + {{ {909, -150, -742}, 0, {-16, 1008}, {107, 0, 188, 255} }}, +}; + +Gfx ground_map_mesh_tri_11[] = { + gsSPVertex(ground_map_mesh_vtx_11 + 0, 8, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSPEndDisplayList(), +}; + +Vtx ground_map_mesh_vtx_12[169] = { + {{ {706, -115, 304}, 0, {543, 766}, {209, 233, 116, 255} }}, + {{ {721, -119, 299}, 0, {519, 766}, {30, 146, 55, 255} }}, + {{ {721, -113, 304}, 0, {496, 766}, {248, 35, 122, 255} }}, + {{ {707, -120, 260}, 0, {263, 242}, {211, 195, 154, 255} }}, + {{ {714, -118, 259}, 0, {190, 242}, {1, 238, 130, 255} }}, + {{ {715, -123, 262}, 0, {191, 277}, {241, 137, 215, 255} }}, + {{ {728, -123, 268}, 0, {191, 277}, {39, 137, 236, 255} }}, + {{ {731, -118, 266}, 0, {190, 242}, {87, 238, 165, 255} }}, + {{ {735, -120, 271}, 0, {263, 242}, {103, 195, 213, 255} }}, + {{ {719, -124, 270}, 0, {170, 403}, {0, 129, 255, 255} }}, + {{ {715, -123, 262}, 0, {217, 323}, {241, 137, 215, 255} }}, + {{ {722, -124, 265}, 0, {149, 323}, {22, 143, 203, 255} }}, + {{ {728, -123, 268}, 0, {217, 323}, {39, 137, 236, 255} }}, + {{ {702, -120, 273}, 0, {449, 242}, {172, 178, 53, 255} }}, + {{ {709, -123, 279}, 0, {543, 242}, {213, 137, 253, 255} }}, + {{ {701, -114, 276}, 0, {496, 161}, {134, 17, 226, 255} }}, + {{ {699, -114, 269}, 0, {403, 161}, {130, 16, 249, 255} }}, + {{ {703, -108, 273}, 0, {449, 81}, {169, 85, 36, 255} }}, + {{ {709, -107, 279}, 0, {543, 81}, {214, 119, 240, 255} }}, + {{ {716, -103, 278}, 0, {496, 0}, {243, 122, 34, 255} }}, + {{ {708, -104, 268}, 0, {403, 0}, {221, 121, 236, 255} }}, + {{ {701, -109, 265}, 0, {356, 81}, {155, 60, 208, 255} }}, + {{ {708, -108, 261}, 0, {263, 81}, {219, 69, 156, 255} }}, + {{ {708, -104, 268}, 0, {310, 0}, {221, 121, 236, 255} }}, + {{ {721, -104, 266}, 0, {217, 0}, {19, 117, 210, 255} }}, + {{ {716, -103, 278}, 0, {263, -80}, {243, 122, 34, 255} }}, + {{ {729, -104, 276}, 0, {310, 0}, {39, 121, 10, 255} }}, + {{ {734, -108, 271}, 0, {263, 81}, {96, 69, 210, 255} }}, + {{ {723, -108, 262}, 0, {170, 81}, {40, 70, 157, 255} }}, + {{ {730, -113, 265}, 0, {217, 161}, {84, 22, 163, 255} }}, + {{ {736, -114, 273}, 0, {310, 161}, {123, 2, 224, 255} }}, + {{ {736, -109, 279}, 0, {356, 81}, {106, 60, 36, 255} }}, + {{ {734, -108, 271}, 0, {263, 81}, {96, 69, 210, 255} }}, + {{ {729, -108, 284}, 0, {449, 81}, {38, 85, 87, 255} }}, + {{ {736, -109, 279}, 0, {356, 81}, {106, 60, 36, 255} }}, + {{ {729, -104, 276}, 0, {403, 0}, {39, 121, 10, 255} }}, + {{ {716, -103, 278}, 0, {496, 0}, {243, 122, 34, 255} }}, + {{ {721, -107, 284}, 0, {543, 81}, {41, 119, 17, 255} }}, + {{ {729, -114, 287}, 0, {496, 161}, {109, 17, 63, 255} }}, + {{ {735, -114, 284}, 0, {403, 161}, {96, 16, 82, 255} }}, + {{ {730, -120, 285}, 0, {449, 242}, {24, 178, 97, 255} }}, + {{ {720, -123, 284}, 0, {543, 242}, {33, 137, 28, 255} }}, + {{ {740, -117, 282}, 0, {403, 161}, {252, 116, 52, 255} }}, + {{ {741, -122, 283}, 0, {449, 242}, {14, 193, 110, 255} }}, + {{ {735, -121, 279}, 0, {356, 242}, {63, 148, 232, 255} }}, + {{ {720, -123, 284}, 0, {403, 323}, {33, 137, 28, 255} }}, + {{ {728, -123, 268}, 0, {310, 323}, {39, 137, 236, 255} }}, + {{ {719, -124, 270}, 0, {356, 403}, {0, 129, 255, 255} }}, + {{ {735, -120, 271}, 0, {263, 242}, {103, 195, 213, 255} }}, + {{ {736, -114, 273}, 0, {310, 161}, {123, 2, 224, 255} }}, + {{ {731, -118, 266}, 0, {193, 203}, {87, 238, 165, 255} }}, + {{ {730, -113, 265}, 0, {263, 242}, {84, 22, 163, 255} }}, + {{ {739, -122, 279}, 0, {356, 242}, {170, 172, 215, 255} }}, + {{ {744, -113, 277}, 0, {403, 161}, {243, 122, 31, 255} }}, + {{ {753, -124, 280}, 0, {449, 242}, {84, 202, 78, 255} }}, + {{ {738, -123, 267}, 0, {356, 242}, {150, 206, 207, 255} }}, + {{ {754, -117, 256}, 0, {403, 161}, {33, 109, 200, 255} }}, + {{ {756, -123, 259}, 0, {449, 242}, {112, 196, 4, 255} }}, + {{ {750, -122, 256}, 0, {356, 242}, {182, 199, 170, 255} }}, + {{ {755, -122, 253}, 0, {403, 161}, {47, 220, 143, 255} }}, + {{ {755, -122, 253}, 0, {356, 242}, {47, 220, 143, 255} }}, + {{ {755, -122, 253}, 0, {449, 242}, {47, 220, 143, 255} }}, + {{ {709, -123, 279}, 0, {543, 766}, {213, 137, 253, 255} }}, + {{ {701, -118, 281}, 0, {518, 766}, {195, 149, 224, 255} }}, + {{ {701, -114, 276}, 0, {496, 766}, {134, 17, 226, 255} }}, + {{ {711, -123, 290}, 0, {543, 766}, {245, 132, 27, 255} }}, + {{ {698, -119, 290}, 0, {519, 766}, {196, 146, 19, 255} }}, + {{ {706, -115, 304}, 0, {496, 766}, {209, 233, 116, 255} }}, + {{ {721, -119, 299}, 0, {519, 766}, {30, 146, 55, 255} }}, + {{ {725, -118, 291}, 0, {518, 766}, {66, 149, 19, 255} }}, + {{ {720, -123, 284}, 0, {543, 766}, {33, 137, 28, 255} }}, + {{ {729, -114, 287}, 0, {496, 766}, {109, 17, 63, 255} }}, + {{ {726, -113, 301}, 0, {496, 766}, {106, 67, 19, 255} }}, + {{ {729, -113, 293}, 0, {496, 766}, {83, 61, 74, 255} }}, + {{ {710, -103, 295}, 0, {543, 766}, {239, 119, 41, 255} }}, + {{ {719, -104, 289}, 0, {543, 766}, {54, 115, 251, 255} }}, + {{ {721, -107, 284}, 0, {543, 766}, {41, 119, 17, 255} }}, + {{ {715, -106, 281}, 0, {590, 766}, {252, 127, 10, 255} }}, + {{ {710, -103, 295}, 0, {590, 766}, {239, 119, 41, 255} }}, + {{ {707, -104, 283}, 0, {543, 766}, {221, 115, 215, 255} }}, + {{ {709, -107, 279}, 0, {543, 766}, {214, 119, 240, 255} }}, + {{ {697, -113, 279}, 0, {496, 766}, {145, 61, 252, 255} }}, + {{ {693, -113, 288}, 0, {496, 766}, {166, 67, 196, 255} }}, + {{ {695, -113, 293}, 0, {496, 766}, {177, 35, 94, 255} }}, + {{ {721, -113, 304}, 0, {496, 766}, {248, 35, 122, 255} }}, + {{ {693, -116, 275}, 0, {518, 199}, {232, 151, 68, 255} }}, + {{ {692, -114, 275}, 0, {496, 161}, {152, 69, 21, 255} }}, + {{ {691, -124, 270}, 0, {518, 199}, {229, 142, 208, 255} }}, + {{ {697, -113, 279}, 0, {496, 161}, {145, 61, 252, 255} }}, + {{ {701, -118, 281}, 0, {518, 199}, {195, 149, 224, 255} }}, + {{ {701, -114, 276}, 0, {496, 161}, {134, 17, 226, 255} }}, + {{ {694, -115, 272}, 0, {496, 161}, {22, 46, 140, 255} }}, + {{ {691, -124, 270}, 0, {496, 161}, {229, 142, 208, 255} }}, + {{ {688, -118, 289}, 0, {519, 202}, {46, 140, 26, 255} }}, + {{ {686, -116, 289}, 0, {496, 161}, {164, 55, 67, 255} }}, + {{ {684, -124, 288}, 0, {519, 202}, {204, 140, 249, 255} }}, + {{ {695, -113, 293}, 0, {496, 161}, {177, 35, 94, 255} }}, + {{ {698, -119, 290}, 0, {519, 202}, {196, 146, 19, 255} }}, + {{ {693, -113, 288}, 0, {496, 161}, {166, 67, 196, 255} }}, + {{ {687, -116, 287}, 0, {496, 161}, {215, 47, 145, 255} }}, + {{ {684, -124, 288}, 0, {496, 161}, {204, 140, 249, 255} }}, + {{ {704, -117, 236}, 0, {403, 161}, {15, 109, 193, 255} }}, + {{ {707, -122, 239}, 0, {356, 242}, {113, 199, 245, 255} }}, + {{ {705, -122, 233}, 0, {403, 161}, {44, 220, 143, 255} }}, + {{ {708, -123, 255}, 0, {356, 242}, {111, 206, 38, 255} }}, + {{ {697, -113, 258}, 0, {403, 161}, {244, 122, 31, 255} }}, + {{ {701, -123, 236}, 0, {449, 242}, {173, 196, 181, 255} }}, + {{ {705, -122, 233}, 0, {449, 242}, {44, 220, 143, 255} }}, + {{ {688, -124, 254}, 0, {449, 242}, {141, 202, 254, 255} }}, + {{ {705, -122, 233}, 0, {356, 242}, {44, 220, 143, 255} }}, + {{ {699, -122, 263}, 0, {356, 242}, {90, 172, 30, 255} }}, + {{ {695, -122, 264}, 0, {449, 242}, {170, 193, 70, 255} }}, + {{ {702, -121, 266}, 0, {356, 242}, {227, 148, 195, 255} }}, + {{ {697, -117, 264}, 0, {403, 161}, {223, 116, 40, 255} }}, + {{ {702, -120, 273}, 0, {449, 242}, {172, 178, 53, 255} }}, + {{ {709, -123, 279}, 0, {403, 323}, {213, 137, 253, 255} }}, + {{ {715, -123, 262}, 0, {310, 323}, {241, 137, 215, 255} }}, + {{ {707, -120, 260}, 0, {263, 242}, {211, 195, 154, 255} }}, + {{ {705, -114, 261}, 0, {310, 161}, {190, 2, 148, 255} }}, + {{ {699, -114, 269}, 0, {403, 161}, {130, 16, 249, 255} }}, + {{ {701, -109, 265}, 0, {356, 81}, {155, 60, 208, 255} }}, + {{ {708, -108, 261}, 0, {263, 81}, {219, 69, 156, 255} }}, + {{ {715, -113, 259}, 0, {217, 161}, {4, 22, 131, 255} }}, + {{ {723, -108, 262}, 0, {170, 81}, {40, 70, 157, 255} }}, + {{ {721, -104, 266}, 0, {217, 0}, {19, 117, 210, 255} }}, + {{ {714, -118, 259}, 0, {193, 203}, {1, 238, 130, 255} }}, + {{ {705, -114, 261}, 0, {310, 161}, {190, 2, 148, 255} }}, + {{ {715, -113, 259}, 0, {217, 161}, {4, 22, 131, 255} }}, + {{ {707, -120, 260}, 0, {263, 242}, {211, 195, 154, 255} }}, + {{ {721, -117, 260}, 0, {140, 190}, {37, 239, 136, 255} }}, + {{ {723, -108, 262}, 0, {124, 161}, {40, 70, 157, 255} }}, + {{ {725, -117, 261}, 0, {124, 188}, {52, 239, 142, 255} }}, + {{ {695, -122, 264}, 0, {449, 242}, {170, 193, 70, 255} }}, + {{ {697, -113, 258}, 0, {403, 161}, {244, 122, 31, 255} }}, + {{ {688, -124, 254}, 0, {449, 242}, {141, 202, 254, 255} }}, + {{ {715, -123, 262}, 0, {310, 323}, {241, 137, 215, 255} }}, + {{ {719, -124, 270}, 0, {356, 403}, {0, 129, 255, 255} }}, + {{ {709, -123, 279}, 0, {403, 323}, {213, 137, 253, 255} }}, + {{ {731, -118, 266}, 0, {193, 203}, {87, 238, 165, 255} }}, + {{ {725, -117, 261}, 0, {140, 190}, {52, 239, 142, 255} }}, + {{ {730, -113, 265}, 0, {217, 161}, {84, 22, 163, 255} }}, + {{ {721, -107, 284}, 0, {543, 81}, {41, 119, 17, 255} }}, + {{ {716, -103, 278}, 0, {607, 31}, {243, 122, 34, 255} }}, + {{ {715, -106, 281}, 0, {590, 81}, {252, 127, 10, 255} }}, + {{ {709, -107, 279}, 0, {543, 81}, {214, 119, 240, 255} }}, + {{ {720, -123, 284}, 0, {543, 766}, {33, 137, 28, 255} }}, + {{ {711, -123, 290}, 0, {588, 766}, {245, 132, 27, 255} }}, + {{ {715, -124, 281}, 0, {588, 766}, {254, 129, 4, 255} }}, + {{ {709, -123, 279}, 0, {543, 766}, {213, 137, 253, 255} }}, + {{ {735, -116, 292}, 0, {518, 199}, {226, 151, 66, 255} }}, + {{ {740, -124, 290}, 0, {518, 199}, {53, 142, 240, 255} }}, + {{ {736, -114, 293}, 0, {496, 161}, {61, 69, 88, 255} }}, + {{ {729, -113, 293}, 0, {496, 161}, {83, 61, 74, 255} }}, + {{ {729, -114, 287}, 0, {496, 161}, {109, 17, 63, 255} }}, + {{ {736, -115, 289}, 0, {496, 161}, {64, 46, 157, 255} }}, + {{ {740, -124, 290}, 0, {496, 161}, {53, 142, 240, 255} }}, + {{ {725, -118, 291}, 0, {518, 199}, {66, 149, 19, 255} }}, + {{ {729, -118, 305}, 0, {519, 202}, {205, 140, 243, 255} }}, + {{ {733, -124, 308}, 0, {519, 202}, {42, 140, 31, 255} }}, + {{ {730, -116, 307}, 0, {496, 161}, {20, 55, 113, 255} }}, + {{ {721, -113, 304}, 0, {496, 161}, {248, 35, 122, 255} }}, + {{ {726, -113, 301}, 0, {496, 161}, {106, 67, 19, 255} }}, + {{ {731, -116, 305}, 0, {496, 161}, {106, 47, 204, 255} }}, + {{ {733, -124, 308}, 0, {496, 161}, {42, 140, 31, 255} }}, + {{ {721, -119, 299}, 0, {519, 202}, {30, 146, 55, 255} }}, + {{ {719, -124, 270}, 0, {563, 323}, {0, 129, 255, 255} }}, + {{ {715, -124, 281}, 0, {571, 292}, {254, 129, 4, 255} }}, + {{ {709, -123, 279}, 0, {543, 242}, {213, 137, 253, 255} }}, + {{ {720, -123, 284}, 0, {543, 242}, {33, 137, 28, 255} }}, }; Gfx ground_map_mesh_tri_12[] = { - gsSPVertex(ground_map_mesh_vtx_12 + 0, 30, 0), + gsSPVertex(ground_map_mesh_vtx_12 + 0, 32, 0), gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 30, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 26, 27, 24, 0), - gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), + gsSP2Triangles(9, 11, 12, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 16, 15, 17, 0), + gsSP2Triangles(15, 18, 17, 0, 17, 18, 19, 0), + gsSP2Triangles(17, 19, 20, 0, 16, 17, 21, 0), + gsSP2Triangles(22, 21, 17, 0, 22, 17, 23, 0), + gsSP2Triangles(22, 23, 24, 0, 25, 24, 23, 0), + gsSP2Triangles(25, 26, 24, 0, 24, 26, 27, 0), + gsSP2Triangles(24, 27, 28, 0, 29, 28, 27, 0), + gsSP2Triangles(29, 27, 30, 0, 30, 27, 31, 0), + gsSPVertex(ground_map_mesh_vtx_12 + 32, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 1, 3, 0, 4, 5, 1, 0), + gsSP2Triangles(6, 1, 5, 0, 1, 6, 7, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 6, 9, 0), + gsSP2Triangles(8, 10, 7, 0, 8, 11, 10, 0), + gsSP2Triangles(12, 11, 8, 0, 12, 8, 13, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 15, 14, 0), + gsSP2Triangles(16, 12, 14, 0, 16, 17, 12, 0), + gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), + gsSP2Triangles(7, 12, 17, 0, 10, 12, 7, 0), + gsSP2Triangles(10, 20, 12, 0, 21, 20, 10, 0), + gsSP2Triangles(11, 21, 10, 0, 11, 22, 21, 0), + gsSP2Triangles(20, 22, 11, 0, 12, 20, 11, 0), + gsSP2Triangles(20, 23, 22, 0, 21, 23, 20, 0), + gsSP2Triangles(24, 23, 21, 0, 25, 24, 21, 0), + gsSP2Triangles(25, 21, 22, 0, 23, 25, 22, 0), + gsSP2Triangles(23, 26, 25, 0, 24, 26, 23, 0), + gsSP2Triangles(24, 27, 26, 0, 26, 28, 25, 0), + gsSP2Triangles(25, 29, 24, 0, 1, 7, 2, 0), + gsSP1Triangle(7, 17, 2, 0), gsSPVertex(ground_map_mesh_vtx_12 + 62, 31, 0), - gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), - gsSP2Triangles(2, 4, 3, 0, 3, 5, 0, 0), - gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), - gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), - gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), - gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), - gsSP2Triangles(21, 24, 18, 0, 25, 26, 27, 0), - gsSP2Triangles(25, 27, 28, 0, 25, 28, 29, 0), - gsSP1Triangle(28, 30, 29, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 93, 30, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(8, 11, 12, 0, 11, 13, 12, 0), - gsSP2Triangles(14, 15, 16, 0, 16, 17, 14, 0), - gsSP2Triangles(16, 18, 17, 0, 17, 19, 14, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 26, 27, 24, 0), - gsSP2Triangles(26, 28, 27, 0, 27, 29, 24, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 123, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 155, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 29, 30, 0, 30, 31, 28, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 187, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(5, 6, 3, 0, 5, 7, 6, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(8, 11, 12, 0, 11, 13, 12, 0), - gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), - gsSP2Triangles(18, 21, 22, 0, 21, 23, 22, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 219, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 8, 11, 0, 12, 11, 13, 0), - gsSP2Triangles(12, 13, 14, 0, 14, 15, 12, 0), - gsSP2Triangles(15, 16, 12, 0, 16, 17, 12, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 18, 20, 0), - gsSP2Triangles(20, 22, 21, 0, 20, 23, 22, 0), - gsSP2Triangles(22, 24, 21, 0, 25, 26, 27, 0), - gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 251, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(3, 6, 5, 0, 3, 7, 6, 0), + gsSP2Triangles(3, 8, 7, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 6, 7, 0, 10, 7, 11, 0), + gsSP2Triangles(12, 10, 11, 0, 12, 11, 13, 0), + gsSP2Triangles(14, 13, 11, 0, 14, 11, 9, 0), + gsSP2Triangles(15, 13, 14, 0, 16, 13, 15, 0), + gsSP2Triangles(16, 15, 17, 0, 15, 18, 17, 0), + gsSP2Triangles(18, 19, 17, 0, 18, 2, 19, 0), + gsSP2Triangles(19, 12, 17, 0, 19, 20, 12, 0), + gsSP2Triangles(20, 19, 1, 0, 20, 1, 4, 0), + gsSP2Triangles(12, 20, 21, 0, 5, 12, 21, 0), + gsSP2Triangles(4, 5, 21, 0, 5, 22, 12, 0), + gsSP2Triangles(12, 22, 10, 0, 23, 24, 25, 0), + gsSP2Triangles(26, 24, 23, 0, 26, 23, 27, 0), + gsSP2Triangles(28, 27, 23, 0, 28, 23, 29, 0), + gsSP2Triangles(29, 23, 30, 0, 24, 29, 30, 0), + gsSP2Triangles(28, 29, 24, 0, 28, 24, 26, 0), + gsSPVertex(ground_map_mesh_vtx_12 + 93, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(3, 0, 4, 0, 5, 4, 0, 0), + gsSP2Triangles(5, 0, 6, 0, 6, 0, 7, 0), + gsSP2Triangles(1, 6, 7, 0, 5, 6, 1, 0), + gsSP2Triangles(5, 1, 3, 0, 8, 9, 10, 0), + gsSP2Triangles(11, 9, 8, 0, 11, 8, 12, 0), + gsSP2Triangles(12, 8, 13, 0, 13, 8, 14, 0), + gsSP2Triangles(12, 13, 15, 0, 11, 15, 13, 0), + gsSP2Triangles(11, 13, 9, 0, 9, 13, 16, 0), + gsSP2Triangles(17, 15, 11, 0, 17, 18, 15, 0), + gsSP2Triangles(19, 18, 17, 0, 19, 17, 20, 0), + gsSP2Triangles(17, 12, 20, 0, 17, 11, 12, 0), + gsSP2Triangles(18, 20, 12, 0, 21, 20, 18, 0), + gsSP2Triangles(19, 21, 18, 0, 19, 22, 21, 0), + gsSP2Triangles(23, 22, 19, 0, 24, 23, 19, 0), + gsSP2Triangles(24, 19, 25, 0, 25, 19, 26, 0), + gsSP2Triangles(19, 20, 26, 0, 21, 26, 20, 0), + gsSP2Triangles(25, 26, 27, 0, 25, 27, 28, 0), + gsSP2Triangles(29, 25, 28, 0, 29, 28, 30, 0), + gsSP1Triangle(28, 31, 30, 0), + gsSPVertex(ground_map_mesh_vtx_12 + 125, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(1, 4, 2, 0, 5, 6, 7, 0), - gsSP2Triangles(7, 8, 5, 0, 8, 9, 5, 0), - gsSP2Triangles(10, 11, 12, 0, 13, 10, 12, 0), - gsSP2Triangles(12, 14, 13, 0, 12, 15, 14, 0), - gsSP2Triangles(14, 16, 13, 0, 17, 18, 19, 0), - gsSP2Triangles(19, 20, 17, 0, 19, 21, 20, 0), - gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), - gsSP2Triangles(24, 26, 25, 0, 25, 27, 22, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 283, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(6, 8, 7, 0, 4, 7, 9, 0), - gsSP2Triangles(9, 10, 4, 0, 9, 11, 10, 0), - gsSP2Triangles(9, 12, 11, 0, 9, 13, 12, 0), - gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), - gsSP2Triangles(22, 23, 24, 0, 24, 25, 22, 0), - gsSP2Triangles(24, 26, 25, 0, 27, 28, 29, 0), - gsSP2Triangles(30, 27, 29, 0, 29, 31, 30, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 315, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), - gsSP2Triangles(9, 10, 7, 0, 9, 11, 10, 0), - gsSP2Triangles(10, 12, 7, 0, 13, 14, 15, 0), - gsSP2Triangles(13, 15, 16, 0, 17, 18, 19, 0), - gsSP2Triangles(17, 19, 20, 0, 20, 21, 17, 0), - gsSP2Triangles(20, 22, 21, 0, 23, 24, 25, 0), - gsSP2Triangles(25, 26, 23, 0, 25, 27, 26, 0), - gsSP2Triangles(28, 29, 30, 0, 31, 28, 30, 0), - gsSPVertex(ground_map_mesh_vtx_12 + 347, 20, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), - gsSP2Triangles(4, 6, 3, 0, 2, 7, 8, 0), - gsSP2Triangles(9, 10, 11, 0, 11, 12, 9, 0), - gsSP2Triangles(11, 13, 12, 0, 14, 15, 16, 0), - gsSP2Triangles(14, 16, 17, 0, 16, 18, 17, 0), - gsSP1Triangle(17, 19, 14, 0), + gsSP2Triangles(0, 2, 4, 0, 4, 2, 5, 0), + gsSP2Triangles(6, 4, 5, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 14, 15, 0), + gsSP2Triangles(15, 14, 5, 0, 16, 17, 18, 0), + gsSP2Triangles(19, 18, 17, 0, 20, 21, 22, 0), + gsSP2Triangles(23, 22, 21, 0, 24, 25, 26, 0), + gsSP2Triangles(24, 26, 27, 0, 26, 28, 27, 0), + gsSP2Triangles(26, 29, 28, 0, 26, 30, 29, 0), + gsSP2Triangles(29, 30, 24, 0, 28, 29, 24, 0), + gsSP2Triangles(28, 24, 31, 0, 24, 27, 31, 0), + gsSPVertex(ground_map_mesh_vtx_12 + 157, 12, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 3, 0, 2, 5, 4, 0), + gsSP2Triangles(2, 6, 5, 0, 5, 6, 0, 0), + gsSP2Triangles(4, 5, 0, 0, 4, 0, 7, 0), + gsSP2Triangles(0, 3, 7, 0, 8, 9, 10, 0), + gsSP1Triangle(11, 9, 8, 0), gsSPEndDisplayList(), }; -Vtx ground_map_mesh_vtx_13[710] = { - {{ {1529, 19, 338}, 0, {-738, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 350}, 0, {-698, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 350}, 0, {-1092, -580}, {199, 0, 114, 255} }}, - {{ {1529, 27, 338}, 0, {-777, -580}, {199, 114, 0, 255} }}, - {{ {1529, 27, 333}, 0, {-733, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 389}, 0, {-972, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 387}, 0, {-969, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 385}, 0, {-966, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 393}, 0, {-626, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 392}, 0, {-629, -580}, {129, 0, 0, 255} }}, - {{ {1529, 40, 391}, 0, {-632, -580}, {129, 0, 0, 255} }}, - {{ {1529, 40, 391}, 0, {-636, -580}, {129, 0, 0, 255} }}, - {{ {1529, 47, 383}, 0, {-963, -580}, {129, 0, 0, 255} }}, - {{ {1529, 46, 382}, 0, {-960, -580}, {129, 0, 0, 255} }}, - {{ {1529, 43, 379}, 0, {-953, -580}, {129, 0, 0, 255} }}, - {{ {1529, 44, 380}, 0, {-956, -580}, {129, 0, 0, 255} }}, - {{ {1529, 39, 390}, 0, {-637, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 378}, 0, {-923, -580}, {129, 0, 0, 255} }}, - {{ {1529, 36, 377}, 0, {-942, -580}, {129, 0, 0, 255} }}, - {{ {1529, 40, 378}, 0, {-948, -580}, {129, 0, 0, 255} }}, - {{ {1529, 42, 379}, 0, {-952, -580}, {129, 0, 0, 255} }}, - {{ {1529, 38, 377}, 0, {-945, -580}, {129, 0, 0, 255} }}, - {{ {1529, 50, 391}, 0, {-975, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 393}, 0, {-625, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 394}, 0, {-621, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 397}, 0, {-996, -580}, {129, 0, 0, 255} }}, - {{ {1529, 42, 395}, 0, {-618, -580}, {129, 0, 0, 255} }}, - {{ {1529, 42, 396}, 0, {-615, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 396}, 0, {-612, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 397}, 0, {-609, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 398}, 0, {-607, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 398}, 0, {-604, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 397}, 0, {-996, -580}, {129, 0, 0, 255} }}, - {{ {1529, 41, 398}, 0, {-604, -580}, {129, 0, 0, 255} }}, - {{ {1529, 40, 399}, 0, {-601, -580}, {129, 0, 0, 255} }}, - {{ {1529, 40, 400}, 0, {-598, -580}, {129, 0, 0, 255} }}, - {{ {1529, 39, 400}, 0, {-596, -580}, {129, 0, 0, 255} }}, - {{ {1529, 38, 400}, 0, {-593, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {129, 0, 0, 255} }}, - {{ {1529, 38, 401}, 0, {-590, -580}, {129, 0, 0, 255} }}, - {{ {1529, 37, 401}, 0, {-587, -580}, {129, 0, 0, 255} }}, - {{ {1529, 36, 401}, 0, {-583, -580}, {129, 0, 0, 255} }}, - {{ {1529, 34, 401}, 0, {-580, -580}, {129, 0, 0, 255} }}, - {{ {1529, 33, 401}, 0, {-729, -580}, {129, 0, 0, 255} }}, - {{ {1529, 32, 401}, 0, {-726, -580}, {129, 0, 0, 255} }}, - {{ {1529, 31, 401}, 0, {-722, -580}, {129, 0, 0, 255} }}, - {{ {1529, 30, 401}, 0, {-719, -580}, {129, 0, 0, 255} }}, - {{ {1529, 29, 400}, 0, {-716, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 400}, 0, {-713, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 400}, 0, {-711, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 399}, 0, {-708, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 398}, 0, {-705, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 397}, 0, {-702, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 397}, 0, {-700, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 396}, 0, {-697, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 395}, 0, {-694, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 394}, 0, {-691, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 378}, 0, {-923, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 394}, 0, {-688, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 393}, 0, {-685, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 393}, 0, {-683, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 392}, 0, {-680, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 391}, 0, {-677, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 391}, 0, {-674, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 391}, 0, {-674, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 390}, 0, {-670, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 378}, 0, {-923, -580}, {129, 0, 0, 255} }}, - {{ {1529, 29, 390}, 0, {-667, -580}, {129, 0, 0, 255} }}, - {{ {1529, 30, 390}, 0, {-666, -580}, {129, 0, 0, 255} }}, - {{ {1529, 31, 389}, 0, {-662, -580}, {129, 0, 0, 255} }}, - {{ {1529, 32, 389}, 0, {-659, -580}, {129, 0, 0, 255} }}, - {{ {1529, 33, 389}, 0, {-656, -580}, {129, 0, 0, 255} }}, - {{ {1529, 35, 389}, 0, {-650, -580}, {129, 0, 0, 255} }}, - {{ {1529, 36, 389}, 0, {-647, -580}, {129, 0, 0, 255} }}, - {{ {1529, 37, 390}, 0, {-643, -580}, {129, 0, 0, 255} }}, - {{ {1529, 38, 390}, 0, {-640, -580}, {129, 0, 0, 255} }}, - {{ {1529, 39, 390}, 0, {-637, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 387}, 0, {-896, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 381}, 0, {-911, -580}, {129, 0, 0, 255} }}, - {{ {1529, 24, 380}, 0, {-917, -580}, {129, 0, 0, 255} }}, - {{ {1529, 25, 379}, 0, {-920, -580}, {129, 0, 0, 255} }}, - {{ {1529, 23, 381}, 0, {-914, -580}, {129, 0, 0, 255} }}, - {{ {1536, 27, 373}, 0, {-1053, -580}, {0, 166, 90, 255} }}, - {{ {1529, 27, 373}, 0, {-1092, -580}, {0, 166, 90, 255} }}, - {{ {1529, 27, 350}, 0, {-1092, -580}, {0, 166, 90, 255} }}, - {{ {1536, 27, 350}, 0, {-1092, -580}, {0, 166, 90, 255} }}, - {{ {1536, 27, 350}, 0, {-1092, -580}, {0, 166, 90, 255} }}, - {{ {1529, 19, 350}, 0, {-698, -580}, {0, 166, 90, 255} }}, - {{ {1536, 19, 350}, 0, {-698, -580}, {0, 166, 90, 255} }}, - {{ {1529, 19, 338}, 0, {-738, -580}, {0, 166, 166, 255} }}, - {{ {1536, 19, 338}, 0, {-738, -580}, {0, 166, 166, 255} }}, - {{ {1529, 27, 338}, 0, {-777, -580}, {0, 166, 166, 255} }}, - {{ {1536, 27, 338}, 0, {-777, -580}, {0, 166, 166, 255} }}, - {{ {1536, 27, 338}, 0, {-778, -580}, {0, 166, 166, 255} }}, - {{ {1529, 27, 338}, 0, {-1092, -580}, {0, 166, 166, 255} }}, - {{ {1529, 27, 333}, 0, {-1092, -580}, {0, 166, 166, 255} }}, - {{ {1536, 27, 333}, 0, {-817, -580}, {0, 166, 166, 255} }}, - {{ {1536, 38, 373}, 0, {-1013, -580}, {0, 44, 119, 255} }}, - {{ {1529, 27, 373}, 0, {-1053, -580}, {0, 166, 90, 255} }}, - {{ {1536, 27, 373}, 0, {-1053, -580}, {0, 166, 90, 255} }}, - {{ {1529, 38, 373}, 0, {-1013, -580}, {0, 44, 119, 255} }}, - {{ {1536, 66, 350}, 0, {-974, -580}, {0, 115, 54, 255} }}, - {{ {1529, 66, 350}, 0, {-974, -580}, {0, 115, 54, 255} }}, - {{ {1536, 66, 338}, 0, {-935, -580}, {0, 90, 166, 255} }}, - {{ {1529, 66, 338}, 0, {-935, -580}, {0, 90, 166, 255} }}, - {{ {1536, 37, 338}, 0, {-895, -580}, {0, 90, 166, 255} }}, - {{ {1529, 37, 338}, 0, {-895, -580}, {0, 90, 166, 255} }}, - {{ {1536, 37, 333}, 0, {-856, -580}, {0, 90, 166, 255} }}, - {{ {1529, 37, 333}, 0, {-856, -580}, {0, 90, 166, 255} }}, - {{ {1529, 27, 333}, 0, {-817, -580}, {0, 166, 166, 255} }}, - {{ {1536, 20, 384}, 0, {-904, -580}, {127, 0, 0, 255} }}, - {{ {1536, 21, 383}, 0, {-907, -580}, {127, 0, 0, 255} }}, - {{ {1536, 22, 381}, 0, {-911, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 386}, 0, {-899, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 378}, 0, {-923, -580}, {127, 0, 0, 255} }}, - {{ {1536, 24, 380}, 0, {-917, -580}, {127, 0, 0, 255} }}, - {{ {1536, 23, 381}, 0, {-914, -580}, {127, 0, 0, 255} }}, - {{ {1536, 25, 379}, 0, {-920, -580}, {127, 0, 0, 255} }}, - {{ {1536, 29, 377}, 0, {-928, -580}, {127, 0, 0, 255} }}, - {{ {1536, 31, 377}, 0, {-933, -580}, {127, 0, 0, 255} }}, - {{ {1536, 36, 377}, 0, {-942, -580}, {127, 0, 0, 255} }}, - {{ {1536, 34, 377}, 0, {-939, -580}, {127, 0, 0, 255} }}, - {{ {1536, 43, 379}, 0, {-953, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 378}, 0, {-948, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 377}, 0, {-945, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 378}, 0, {-948, -580}, {127, 0, 0, 255} }}, - {{ {1536, 42, 379}, 0, {-952, -580}, {127, 0, 0, 255} }}, - {{ {1536, 43, 379}, 0, {-953, -580}, {127, 0, 0, 255} }}, - {{ {1536, 44, 380}, 0, {-956, -580}, {127, 0, 0, 255} }}, - {{ {1536, 46, 382}, 0, {-960, -580}, {127, 0, 0, 255} }}, - {{ {1536, 48, 385}, 0, {-966, -580}, {127, 0, 0, 255} }}, - {{ {1536, 47, 383}, 0, {-963, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 390}, 0, {-640, -580}, {127, 0, 0, 255} }}, - {{ {1536, 39, 390}, 0, {-637, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 391}, 0, {-636, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 391}, 0, {-632, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 389}, 0, {-972, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 387}, 0, {-969, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 392}, 0, {-629, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 393}, 0, {-626, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 393}, 0, {-625, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 394}, 0, {-621, -580}, {127, 0, 0, 255} }}, - {{ {1536, 42, 395}, 0, {-618, -580}, {127, 0, 0, 255} }}, - {{ {1536, 42, 396}, 0, {-615, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 396}, 0, {-612, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 397}, 0, {-609, -580}, {127, 0, 0, 255} }}, - {{ {1536, 45, 402}, 0, {-1015, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 396}, 0, {-993, -580}, {127, 0, 0, 255} }}, - {{ {1536, 50, 393}, 0, {-980, -580}, {127, 0, 0, 255} }}, - {{ {1536, 50, 391}, 0, {-975, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 395}, 0, {-986, -580}, {127, 0, 0, 255} }}, - {{ {1536, 18, 390}, 0, {-890, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 387}, 0, {-896, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 386}, 0, {-899, -580}, {127, 0, 0, 255} }}, - {{ {1536, 18, 398}, 0, {-877, -580}, {127, 0, 0, 255} }}, - {{ {1536, 21, 407}, 0, {-860, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 393}, 0, {-685, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 386}, 0, {-899, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 393}, 0, {-683, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 393}, 0, {-685, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 392}, 0, {-680, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 391}, 0, {-677, -580}, {127, 0, 0, 255} }}, - {{ {1536, 28, 391}, 0, {-674, -580}, {127, 0, 0, 255} }}, - {{ {1536, 28, 390}, 0, {-670, -580}, {127, 0, 0, 255} }}, - {{ {1536, 29, 390}, 0, {-667, -580}, {127, 0, 0, 255} }}, - {{ {1536, 30, 390}, 0, {-666, -580}, {127, 0, 0, 255} }}, - {{ {1536, 31, 389}, 0, {-662, -580}, {127, 0, 0, 255} }}, - {{ {1536, 32, 389}, 0, {-659, -580}, {127, 0, 0, 255} }}, - {{ {1536, 33, 389}, 0, {-656, -580}, {127, 0, 0, 255} }}, - {{ {1536, 35, 389}, 0, {-650, -580}, {127, 0, 0, 255} }}, - {{ {1536, 43, 379}, 0, {-953, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 378}, 0, {-923, -580}, {127, 0, 0, 255} }}, - {{ {1536, 36, 389}, 0, {-647, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 390}, 0, {-643, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 390}, 0, {-640, -580}, {127, 0, 0, 255} }}, - {{ {1536, 18, 398}, 0, {-877, -580}, {127, 0, 0, 255} }}, - {{ {1536, 18, 394}, 0, {-884, -580}, {127, 0, 0, 255} }}, - {{ {1536, 18, 390}, 0, {-890, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 403}, 0, {-868, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 402}, 0, {-871, -580}, {127, 0, 0, 255} }}, - {{ {1536, 21, 407}, 0, {-860, -580}, {127, 0, 0, 255} }}, - {{ {1536, 20, 406}, 0, {-863, -580}, {127, 0, 0, 255} }}, - {{ {1536, 23, 410}, 0, {-854, -580}, {127, 0, 0, 255} }}, - {{ {1536, 22, 408}, 0, {-857, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 412}, 0, {-847, -580}, {127, 0, 0, 255} }}, - {{ {1536, 36, 415}, 0, {-832, -580}, {127, 0, 0, 255} }}, - {{ {1536, 63, 406}, 0, {-800, -580}, {127, 0, 0, 255} }}, - {{ {1536, 53, 401}, 0, {-1027, -580}, {127, 0, 0, 255} }}, - {{ {1536, 45, 402}, 0, {-1015, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 401}, 0, {-590, -580}, {127, 0, 0, 255} }}, - {{ {1536, 45, 402}, 0, {-1015, -580}, {127, 0, 0, 255} }}, - {{ {1536, 21, 407}, 0, {-860, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 401}, 0, {-587, -580}, {127, 0, 0, 255} }}, - {{ {1536, 36, 401}, 0, {-583, -580}, {127, 0, 0, 255} }}, - {{ {1536, 34, 401}, 0, {-580, -580}, {127, 0, 0, 255} }}, - {{ {1536, 33, 401}, 0, {-729, -580}, {127, 0, 0, 255} }}, - {{ {1536, 32, 401}, 0, {-726, -580}, {127, 0, 0, 255} }}, - {{ {1536, 31, 401}, 0, {-722, -580}, {127, 0, 0, 255} }}, - {{ {1536, 30, 401}, 0, {-719, -580}, {127, 0, 0, 255} }}, - {{ {1536, 29, 400}, 0, {-716, -580}, {127, 0, 0, 255} }}, - {{ {1536, 28, 400}, 0, {-713, -580}, {127, 0, 0, 255} }}, - {{ {1536, 28, 400}, 0, {-711, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 399}, 0, {-708, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 398}, 0, {-705, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 397}, 0, {-702, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 397}, 0, {-700, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 396}, 0, {-697, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 395}, 0, {-694, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 394}, 0, {-691, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 394}, 0, {-688, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 393}, 0, {-685, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 400}, 0, {-593, -580}, {127, 0, 0, 255} }}, - {{ {1536, 39, 400}, 0, {-596, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 400}, 0, {-598, -580}, {127, 0, 0, 255} }}, - {{ {1536, 40, 399}, 0, {-601, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 398}, 0, {-604, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 398}, 0, {-607, -580}, {127, 0, 0, 255} }}, - {{ {1536, 41, 397}, 0, {-609, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 412}, 0, {-847, -580}, {127, 0, 0, 255} }}, - {{ {1536, 25, 411}, 0, {-850, -580}, {127, 0, 0, 255} }}, - {{ {1536, 23, 410}, 0, {-854, -580}, {127, 0, 0, 255} }}, - {{ {1536, 30, 413}, 0, {-841, -580}, {127, 0, 0, 255} }}, - {{ {1536, 28, 412}, 0, {-844, -580}, {127, 0, 0, 255} }}, - {{ {1536, 26, 412}, 0, {-847, -580}, {127, 0, 0, 255} }}, - {{ {1536, 36, 415}, 0, {-832, -580}, {127, 0, 0, 255} }}, - {{ {1536, 32, 414}, 0, {-838, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 414}, 0, {-819, -580}, {127, 0, 0, 255} }}, - {{ {1536, 42, 415}, 0, {-825, -580}, {127, 0, 0, 255} }}, - {{ {1536, 55, 413}, 0, {-813, -580}, {127, 0, 0, 255} }}, - {{ {1536, 63, 406}, 0, {-800, -580}, {127, 0, 0, 255} }}, - {{ {1536, 60, 410}, 0, {-806, -580}, {127, 0, 0, 255} }}, - {{ {1536, 62, 408}, 0, {-803, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 411}, 0, {-809, -580}, {127, 0, 0, 255} }}, - {{ {1536, 52, 414}, 0, {-816, -580}, {127, 0, 0, 255} }}, - {{ {1536, 65, 401}, 0, {-794, -580}, {127, 0, 0, 255} }}, - {{ {1536, 64, 403}, 0, {-797, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 395}, 0, {-787, -580}, {127, 0, 0, 255} }}, - {{ {1536, 64, 384}, 0, {-762, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 394}, 0, {-1062, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 394}, 0, {-1059, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 395}, 0, {-1056, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 395}, 0, {-1053, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 396}, 0, {-1051, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 396}, 0, {-1050, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 397}, 0, {-1048, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 397}, 0, {-1046, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 398}, 0, {-1045, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 398}, 0, {-1043, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 398}, 0, {-1042, -580}, {127, 0, 0, 255} }}, - {{ {1536, 56, 399}, 0, {-1040, -580}, {127, 0, 0, 255} }}, - {{ {1536, 56, 399}, 0, {-1037, -580}, {127, 0, 0, 255} }}, - {{ {1536, 55, 400}, 0, {-1034, -580}, {127, 0, 0, 255} }}, - {{ {1536, 54, 400}, 0, {-1031, -580}, {127, 0, 0, 255} }}, - {{ {1536, 53, 401}, 0, {-1027, -580}, {127, 0, 0, 255} }}, - {{ {1536, 54, 400}, 0, {-1031, -580}, {127, 0, 0, 255} }}, - {{ {1536, 63, 406}, 0, {-800, -580}, {127, 0, 0, 255} }}, - {{ {1536, 58, 394}, 0, {-1062, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 393}, 0, {-1065, -580}, {127, 0, 0, 255} }}, - {{ {1536, 64, 384}, 0, {-762, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 393}, 0, {-1069, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 392}, 0, {-1072, -580}, {127, 0, 0, 255} }}, - {{ {1536, 56, 392}, 0, {-1075, -580}, {127, 0, 0, 255} }}, - {{ {1536, 56, 392}, 0, {-1078, -580}, {127, 0, 0, 255} }}, - {{ {1536, 55, 391}, 0, {-1081, -580}, {127, 0, 0, 255} }}, - {{ {1536, 55, 391}, 0, {-1084, -580}, {127, 0, 0, 255} }}, - {{ {1536, 57, 379}, 0, {-737, -580}, {127, 0, 0, 255} }}, - {{ {1536, 53, 391}, 0, {-1091, -580}, {127, 0, 0, 255} }}, - {{ {1536, 55, 378}, 0, {-1092, -580}, {127, 0, 0, 255} }}, - {{ {1536, 61, 381}, 0, {-749, -580}, {127, 0, 0, 255} }}, - {{ {1536, 59, 380}, 0, {-743, -580}, {127, 0, 0, 255} }}, - {{ {1536, 62, 382}, 0, {-756, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 395}, 0, {-787, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 398}, 0, {-790, -580}, {127, 0, 0, 255} }}, - {{ {1536, 65, 401}, 0, {-794, -580}, {127, 0, 0, 255} }}, - {{ {1536, 65, 389}, 0, {-775, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 392}, 0, {-781, -580}, {127, 0, 0, 255} }}, - {{ {1536, 65, 386}, 0, {-768, -580}, {127, 0, 0, 255} }}, - {{ {1536, 49, 396}, 0, {-993, -580}, {127, 0, 0, 255} }}, - {{ {1536, 48, 397}, 0, {-996, -580}, {127, 0, 0, 255} }}, - {{ {1536, 48, 399}, 0, {-1002, -580}, {127, 0, 0, 255} }}, - {{ {1536, 45, 402}, 0, {-1015, -580}, {127, 0, 0, 255} }}, - {{ {1536, 46, 400}, 0, {-1009, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 333}, 0, {-817, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 333}, 0, {-856, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 338}, 0, {-895, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 338}, 0, {-871, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 333}, 0, {-817, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 338}, 0, {-895, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 350}, 0, {-659, -580}, {127, 0, 0, 255} }}, - {{ {1536, 52, 350}, 0, {-620, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 338}, 0, {-935, -580}, {127, 0, 0, 255} }}, - {{ {1536, 37, 362}, 0, {-580, -580}, {127, 0, 0, 255} }}, - {{ {1536, 66, 350}, 0, {-974, -580}, {127, 0, 0, 255} }}, - {{ {1536, 38, 373}, 0, {-1013, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 350}, 0, {-1083, -580}, {127, 0, 0, 255} }}, - {{ {1536, 27, 373}, 0, {-1053, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 350}, 0, {-698, -580}, {127, 0, 0, 255} }}, - {{ {1536, 19, 338}, 0, {-738, -580}, {127, 0, 0, 255} }}, - {{ {1529, 36, 377}, 0, {-942, -580}, {129, 0, 0, 255} }}, - {{ {1529, 34, 377}, 0, {-939, -580}, {129, 0, 0, 255} }}, - {{ {1529, 31, 377}, 0, {-933, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 378}, 0, {-923, -580}, {129, 0, 0, 255} }}, - {{ {1529, 29, 377}, 0, {-928, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 381}, 0, {-911, -580}, {129, 0, 0, 255} }}, - {{ {1529, 21, 383}, 0, {-907, -580}, {129, 0, 0, 255} }}, - {{ {1529, 20, 384}, 0, {-904, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 387}, 0, {-896, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 386}, 0, {-899, -580}, {129, 0, 0, 255} }}, - {{ {1529, 18, 390}, 0, {-890, -580}, {129, 0, 0, 255} }}, - {{ {1529, 18, 394}, 0, {-884, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 402}, 0, {-871, -580}, {129, 0, 0, 255} }}, - {{ {1529, 18, 398}, 0, {-877, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {129, 0, 0, 255} }}, - {{ {1529, 20, 406}, 0, {-863, -580}, {129, 0, 0, 255} }}, - {{ {1529, 19, 403}, 0, {-868, -580}, {129, 0, 0, 255} }}, - {{ {1529, 21, 407}, 0, {-860, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {129, 0, 0, 255} }}, - {{ {1529, 23, 410}, 0, {-854, -580}, {129, 0, 0, 255} }}, - {{ {1529, 25, 411}, 0, {-850, -580}, {129, 0, 0, 255} }}, - {{ {1529, 28, 412}, 0, {-844, -580}, {129, 0, 0, 255} }}, - {{ {1529, 26, 412}, 0, {-847, -580}, {129, 0, 0, 255} }}, - {{ {1529, 42, 415}, 0, {-825, -580}, {129, 0, 0, 255} }}, - {{ {1529, 32, 414}, 0, {-838, -580}, {129, 0, 0, 255} }}, - {{ {1529, 30, 413}, 0, {-841, -580}, {129, 0, 0, 255} }}, - {{ {1529, 36, 415}, 0, {-832, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 414}, 0, {-819, -580}, {129, 0, 0, 255} }}, - {{ {1529, 52, 414}, 0, {-816, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 411}, 0, {-809, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 413}, 0, {-813, -580}, {129, 0, 0, 255} }}, - {{ {1529, 64, 403}, 0, {-797, -580}, {129, 0, 0, 255} }}, - {{ {1529, 62, 408}, 0, {-803, -580}, {129, 0, 0, 255} }}, - {{ {1529, 60, 410}, 0, {-806, -580}, {129, 0, 0, 255} }}, - {{ {1529, 63, 406}, 0, {-800, -580}, {129, 0, 0, 255} }}, - {{ {1529, 65, 401}, 0, {-794, -580}, {129, 0, 0, 255} }}, - {{ {1529, 66, 398}, 0, {-790, -580}, {129, 0, 0, 255} }}, - {{ {1529, 66, 392}, 0, {-781, -580}, {129, 0, 0, 255} }}, - {{ {1529, 66, 395}, 0, {-787, -580}, {129, 0, 0, 255} }}, - {{ {1529, 62, 382}, 0, {-756, -580}, {129, 0, 0, 255} }}, - {{ {1529, 65, 386}, 0, {-768, -580}, {129, 0, 0, 255} }}, - {{ {1529, 65, 389}, 0, {-775, -580}, {129, 0, 0, 255} }}, - {{ {1529, 64, 384}, 0, {-762, -580}, {129, 0, 0, 255} }}, - {{ {1529, 61, 381}, 0, {-749, -580}, {129, 0, 0, 255} }}, - {{ {1529, 59, 380}, 0, {-743, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 378}, 0, {-1092, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 379}, 0, {-737, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 391}, 0, {-1081, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 391}, 0, {-1084, -580}, {129, 0, 0, 255} }}, - {{ {1529, 53, 391}, 0, {-1091, -580}, {129, 0, 0, 255} }}, - {{ {1529, 62, 382}, 0, {-756, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 391}, 0, {-1081, -580}, {129, 0, 0, 255} }}, - {{ {1529, 56, 392}, 0, {-1078, -580}, {129, 0, 0, 255} }}, - {{ {1529, 56, 392}, 0, {-1075, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 392}, 0, {-1072, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 393}, 0, {-1069, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 393}, 0, {-1065, -580}, {129, 0, 0, 255} }}, - {{ {1529, 64, 403}, 0, {-797, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 394}, 0, {-1062, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 394}, 0, {-1059, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 395}, 0, {-1056, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 395}, 0, {-1053, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 396}, 0, {-1051, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 396}, 0, {-1050, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 397}, 0, {-1048, -580}, {129, 0, 0, 255} }}, - {{ {1529, 58, 397}, 0, {-1046, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 398}, 0, {-1045, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 398}, 0, {-1043, -580}, {129, 0, 0, 255} }}, - {{ {1529, 57, 398}, 0, {-1042, -580}, {129, 0, 0, 255} }}, - {{ {1529, 56, 399}, 0, {-1040, -580}, {129, 0, 0, 255} }}, - {{ {1529, 56, 399}, 0, {-1037, -580}, {129, 0, 0, 255} }}, - {{ {1529, 55, 400}, 0, {-1034, -580}, {129, 0, 0, 255} }}, - {{ {1529, 54, 400}, 0, {-1031, -580}, {129, 0, 0, 255} }}, - {{ {1529, 53, 401}, 0, {-1027, -580}, {129, 0, 0, 255} }}, - {{ {1529, 45, 402}, 0, {-1015, -580}, {129, 0, 0, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 397}, 0, {-996, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 399}, 0, {-1002, -580}, {129, 0, 0, 255} }}, - {{ {1529, 46, 400}, 0, {-1009, -580}, {129, 0, 0, 255} }}, - {{ {1529, 42, 415}, 0, {-825, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 396}, 0, {-993, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 395}, 0, {-986, -580}, {129, 0, 0, 255} }}, - {{ {1529, 48, 397}, 0, {-996, -580}, {129, 0, 0, 255} }}, - {{ {1529, 49, 395}, 0, {-986, -580}, {129, 0, 0, 255} }}, - {{ {1529, 50, 391}, 0, {-975, -580}, {129, 0, 0, 255} }}, - {{ {1529, 50, 393}, 0, {-980, -580}, {129, 0, 0, 255} }}, - {{ {1529, 38, 373}, 0, {-1013, -580}, {129, 0, 0, 255} }}, - {{ {1529, 66, 350}, 0, {-974, -580}, {129, 0, 0, 255} }}, - {{ {1529, 66, 338}, 0, {-935, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 373}, 0, {-1053, -580}, {129, 0, 0, 255} }}, - {{ {1529, 52, 350}, 0, {-620, -580}, {129, 0, 0, 255} }}, - {{ {1529, 37, 338}, 0, {-895, -580}, {129, 0, 0, 255} }}, - {{ {1529, 37, 350}, 0, {-659, -580}, {129, 0, 0, 255} }}, - {{ {1529, 37, 333}, 0, {-856, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 333}, 0, {-817, -580}, {129, 0, 0, 255} }}, - {{ {1529, 27, 350}, 0, {-916, -580}, {199, 0, 114, 255} }}, - {{ {1529, 37, 362}, 0, {-580, -580}, {129, 0, 0, 255} }}, - {{ {1536, 29, 377}, 0, {-928, -580}, {0, 219, 135, 255} }}, - {{ {1529, 29, 377}, 0, {-928, -580}, {0, 219, 135, 255} }}, - {{ {1529, 31, 377}, 0, {-933, -580}, {0, 236, 131, 255} }}, - {{ {1536, 27, 378}, 0, {-923, -580}, {0, 204, 140, 255} }}, - {{ {1529, 27, 378}, 0, {-923, -580}, {0, 204, 140, 255} }}, - {{ {1536, 25, 379}, 0, {-920, -580}, {0, 193, 146, 255} }}, - {{ {1529, 25, 379}, 0, {-920, -580}, {0, 193, 146, 255} }}, - {{ {1536, 24, 380}, 0, {-917, -580}, {0, 183, 152, 255} }}, - {{ {1529, 24, 380}, 0, {-917, -580}, {0, 183, 152, 255} }}, - {{ {1536, 23, 381}, 0, {-914, -580}, {0, 173, 160, 255} }}, - {{ {1529, 23, 381}, 0, {-914, -580}, {0, 173, 160, 255} }}, - {{ {1536, 22, 381}, 0, {-911, -580}, {0, 164, 168, 255} }}, - {{ {1529, 22, 381}, 0, {-911, -580}, {0, 164, 168, 255} }}, - {{ {1536, 21, 383}, 0, {-907, -580}, {0, 156, 178, 255} }}, - {{ {1529, 21, 383}, 0, {-907, -580}, {0, 156, 178, 255} }}, - {{ {1536, 20, 384}, 0, {-904, -580}, {0, 148, 189, 255} }}, - {{ {1529, 20, 384}, 0, {-904, -580}, {0, 148, 189, 255} }}, - {{ {1536, 19, 386}, 0, {-899, -580}, {0, 141, 203, 255} }}, - {{ {1529, 20, 384}, 0, {-904, -580}, {0, 148, 189, 255} }}, - {{ {1536, 20, 384}, 0, {-904, -580}, {0, 148, 189, 255} }}, - {{ {1529, 19, 386}, 0, {-899, -580}, {0, 141, 203, 255} }}, - {{ {1536, 19, 387}, 0, {-896, -580}, {0, 135, 218, 255} }}, - {{ {1529, 19, 387}, 0, {-896, -580}, {0, 135, 218, 255} }}, - {{ {1536, 18, 390}, 0, {-890, -580}, {0, 131, 235, 255} }}, - {{ {1529, 18, 390}, 0, {-890, -580}, {0, 131, 235, 255} }}, - {{ {1536, 18, 394}, 0, {-884, -580}, {0, 129, 252, 255} }}, - {{ {1529, 18, 394}, 0, {-884, -580}, {0, 129, 252, 255} }}, - {{ {1536, 18, 398}, 0, {-877, -580}, {0, 130, 13, 255} }}, - {{ {1529, 18, 398}, 0, {-877, -580}, {0, 130, 13, 255} }}, - {{ {1536, 19, 402}, 0, {-871, -580}, {0, 132, 29, 255} }}, - {{ {1529, 19, 402}, 0, {-871, -580}, {0, 132, 29, 255} }}, - {{ {1536, 19, 403}, 0, {-868, -580}, {0, 137, 45, 255} }}, - {{ {1529, 19, 403}, 0, {-868, -580}, {0, 137, 45, 255} }}, - {{ {1536, 20, 406}, 0, {-863, -580}, {0, 144, 61, 255} }}, - {{ {1529, 20, 406}, 0, {-863, -580}, {0, 144, 61, 255} }}, - {{ {1536, 21, 407}, 0, {-860, -580}, {0, 153, 74, 255} }}, - {{ {1529, 21, 407}, 0, {-860, -580}, {0, 153, 74, 255} }}, - {{ {1536, 22, 408}, 0, {-857, -580}, {0, 162, 85, 255} }}, - {{ {1529, 22, 408}, 0, {-857, -580}, {0, 162, 85, 255} }}, - {{ {1536, 23, 410}, 0, {-854, -580}, {0, 172, 95, 255} }}, - {{ {1529, 23, 410}, 0, {-854, -580}, {0, 172, 95, 255} }}, - {{ {1536, 25, 411}, 0, {-850, -580}, {0, 182, 103, 255} }}, - {{ {1529, 25, 411}, 0, {-850, -580}, {0, 182, 103, 255} }}, - {{ {1536, 26, 412}, 0, {-847, -580}, {0, 191, 109, 255} }}, - {{ {1529, 26, 412}, 0, {-847, -580}, {0, 191, 109, 255} }}, - {{ {1536, 28, 412}, 0, {-844, -580}, {0, 201, 115, 255} }}, - {{ {1529, 28, 412}, 0, {-844, -580}, {0, 201, 115, 255} }}, - {{ {1536, 30, 413}, 0, {-841, -580}, {0, 212, 119, 255} }}, - {{ {1529, 30, 413}, 0, {-841, -580}, {0, 212, 119, 255} }}, - {{ {1536, 32, 414}, 0, {-838, -580}, {0, 226, 123, 255} }}, - {{ {1529, 30, 413}, 0, {-841, -580}, {0, 212, 119, 255} }}, - {{ {1536, 30, 413}, 0, {-841, -580}, {0, 212, 119, 255} }}, - {{ {1529, 32, 414}, 0, {-838, -580}, {0, 226, 123, 255} }}, - {{ {1536, 36, 415}, 0, {-832, -580}, {0, 241, 126, 255} }}, - {{ {1529, 36, 415}, 0, {-832, -580}, {0, 241, 126, 255} }}, - {{ {1536, 42, 415}, 0, {-825, -580}, {0, 2, 127, 255} }}, - {{ {1529, 42, 415}, 0, {-825, -580}, {0, 2, 127, 255} }}, - {{ {1536, 49, 414}, 0, {-819, -580}, {0, 19, 126, 255} }}, - {{ {1529, 49, 414}, 0, {-819, -580}, {0, 19, 126, 255} }}, - {{ {1536, 52, 414}, 0, {-816, -580}, {0, 35, 122, 255} }}, - {{ {1529, 52, 414}, 0, {-816, -580}, {0, 35, 122, 255} }}, - {{ {1536, 55, 413}, 0, {-813, -580}, {0, 51, 116, 255} }}, - {{ {1529, 55, 413}, 0, {-813, -580}, {0, 51, 116, 255} }}, - {{ {1536, 58, 411}, 0, {-809, -580}, {0, 68, 107, 255} }}, - {{ {1529, 58, 411}, 0, {-809, -580}, {0, 68, 107, 255} }}, - {{ {1536, 60, 410}, 0, {-806, -580}, {0, 85, 95, 255} }}, - {{ {1529, 60, 410}, 0, {-806, -580}, {0, 85, 95, 255} }}, - {{ {1536, 62, 408}, 0, {-803, -580}, {0, 98, 80, 255} }}, - {{ {1529, 62, 408}, 0, {-803, -580}, {0, 98, 80, 255} }}, - {{ {1536, 63, 406}, 0, {-800, -580}, {0, 110, 64, 255} }}, - {{ {1529, 63, 406}, 0, {-800, -580}, {0, 110, 64, 255} }}, - {{ {1536, 64, 403}, 0, {-797, -580}, {0, 118, 47, 255} }}, - {{ {1529, 64, 403}, 0, {-797, -580}, {0, 118, 47, 255} }}, - {{ {1536, 65, 401}, 0, {-794, -580}, {0, 123, 30, 255} }}, - {{ {1529, 65, 401}, 0, {-794, -580}, {0, 123, 30, 255} }}, - {{ {1536, 66, 398}, 0, {-790, -580}, {0, 126, 14, 255} }}, - {{ {1529, 66, 398}, 0, {-790, -580}, {0, 126, 14, 255} }}, - {{ {1536, 66, 395}, 0, {-787, -580}, {0, 127, 1, 255} }}, - {{ {1529, 66, 395}, 0, {-787, -580}, {0, 127, 1, 255} }}, - {{ {1536, 66, 392}, 0, {-781, -580}, {0, 126, 244, 255} }}, - {{ {1529, 66, 392}, 0, {-781, -580}, {0, 126, 244, 255} }}, - {{ {1536, 65, 389}, 0, {-775, -580}, {0, 124, 229, 255} }}, - {{ {1529, 66, 392}, 0, {-781, -580}, {0, 126, 244, 255} }}, - {{ {1536, 66, 392}, 0, {-781, -580}, {0, 126, 244, 255} }}, - {{ {1529, 65, 389}, 0, {-775, -580}, {0, 124, 229, 255} }}, - {{ {1536, 65, 386}, 0, {-768, -580}, {0, 118, 210, 255} }}, - {{ {1529, 65, 386}, 0, {-768, -580}, {0, 118, 210, 255} }}, - {{ {1536, 64, 384}, 0, {-762, -580}, {0, 109, 191, 255} }}, - {{ {1529, 64, 384}, 0, {-762, -580}, {0, 109, 191, 255} }}, - {{ {1536, 62, 382}, 0, {-756, -580}, {0, 97, 175, 255} }}, - {{ {1529, 62, 382}, 0, {-756, -580}, {0, 97, 175, 255} }}, - {{ {1536, 61, 381}, 0, {-749, -580}, {0, 83, 160, 255} }}, - {{ {1529, 61, 381}, 0, {-749, -580}, {0, 83, 160, 255} }}, - {{ {1536, 59, 380}, 0, {-743, -580}, {0, 67, 148, 255} }}, - {{ {1529, 59, 380}, 0, {-743, -580}, {0, 67, 148, 255} }}, - {{ {1536, 57, 379}, 0, {-737, -580}, {0, 51, 140, 255} }}, - {{ {1529, 57, 379}, 0, {-737, -580}, {0, 51, 140, 255} }}, - {{ {1536, 55, 378}, 0, {-1092, -580}, {0, 190, 148, 255} }}, - {{ {1529, 55, 378}, 0, {-1092, -580}, {0, 190, 148, 255} }}, - {{ {1536, 53, 391}, 0, {-1091, -580}, {0, 151, 72, 255} }}, - {{ {1529, 53, 391}, 0, {-1091, -580}, {0, 151, 72, 255} }}, - {{ {1536, 55, 391}, 0, {-1084, -580}, {0, 217, 121, 255} }}, - {{ {1529, 55, 391}, 0, {-1084, -580}, {0, 217, 121, 255} }}, - {{ {1536, 55, 391}, 0, {-1081, -580}, {0, 204, 116, 255} }}, - {{ {1529, 55, 391}, 0, {-1081, -580}, {0, 204, 116, 255} }}, - {{ {1536, 56, 392}, 0, {-1078, -580}, {0, 191, 109, 255} }}, - {{ {1529, 56, 392}, 0, {-1078, -580}, {0, 191, 109, 255} }}, - {{ {1536, 56, 392}, 0, {-1075, -580}, {0, 177, 100, 255} }}, - {{ {1529, 56, 392}, 0, {-1075, -580}, {0, 177, 100, 255} }}, - {{ {1536, 57, 392}, 0, {-1072, -580}, {0, 164, 88, 255} }}, - {{ {1529, 57, 392}, 0, {-1072, -580}, {0, 164, 88, 255} }}, - {{ {1536, 57, 393}, 0, {-1069, -580}, {0, 153, 74, 255} }}, - {{ {1529, 57, 393}, 0, {-1069, -580}, {0, 153, 74, 255} }}, - {{ {1536, 57, 393}, 0, {-1065, -580}, {0, 144, 60, 255} }}, - {{ {1529, 57, 393}, 0, {-1069, -580}, {0, 153, 74, 255} }}, - {{ {1536, 57, 393}, 0, {-1069, -580}, {0, 153, 74, 255} }}, - {{ {1529, 57, 393}, 0, {-1065, -580}, {0, 144, 60, 255} }}, - {{ {1536, 58, 394}, 0, {-1062, -580}, {0, 137, 45, 255} }}, - {{ {1529, 58, 394}, 0, {-1062, -580}, {0, 137, 45, 255} }}, - {{ {1536, 58, 394}, 0, {-1059, -580}, {0, 132, 29, 255} }}, - {{ {1529, 58, 394}, 0, {-1059, -580}, {0, 132, 29, 255} }}, - {{ {1536, 58, 395}, 0, {-1056, -580}, {0, 130, 14, 255} }}, - {{ {1529, 58, 395}, 0, {-1056, -580}, {0, 130, 14, 255} }}, - {{ {1536, 58, 395}, 0, {-1053, -580}, {0, 129, 1, 255} }}, - {{ {1529, 58, 395}, 0, {-1053, -580}, {0, 129, 1, 255} }}, - {{ {1536, 58, 396}, 0, {-1051, -580}, {0, 129, 245, 255} }}, - {{ {1529, 58, 396}, 0, {-1051, -580}, {0, 129, 245, 255} }}, - {{ {1536, 58, 396}, 0, {-1050, -580}, {0, 131, 233, 255} }}, - {{ {1529, 58, 396}, 0, {-1050, -580}, {0, 131, 233, 255} }}, - {{ {1536, 58, 397}, 0, {-1048, -580}, {0, 134, 221, 255} }}, - {{ {1529, 58, 397}, 0, {-1048, -580}, {0, 134, 221, 255} }}, - {{ {1536, 58, 397}, 0, {-1046, -580}, {0, 138, 209, 255} }}, - {{ {1529, 58, 397}, 0, {-1046, -580}, {0, 138, 209, 255} }}, - {{ {1536, 57, 398}, 0, {-1045, -580}, {0, 143, 198, 255} }}, - {{ {1529, 57, 398}, 0, {-1045, -580}, {0, 143, 198, 255} }}, - {{ {1536, 57, 398}, 0, {-1043, -580}, {0, 149, 187, 255} }}, - {{ {1529, 57, 398}, 0, {-1043, -580}, {0, 149, 187, 255} }}, - {{ {1536, 57, 398}, 0, {-1042, -580}, {0, 157, 177, 255} }}, - {{ {1529, 57, 398}, 0, {-1042, -580}, {0, 157, 177, 255} }}, - {{ {1536, 56, 399}, 0, {-1040, -580}, {0, 166, 166, 255} }}, - {{ {1529, 56, 399}, 0, {-1040, -580}, {0, 166, 166, 255} }}, - {{ {1536, 56, 399}, 0, {-1037, -580}, {0, 180, 155, 255} }}, - {{ {1529, 56, 399}, 0, {-1037, -580}, {0, 180, 155, 255} }}, - {{ {1536, 55, 400}, 0, {-1034, -580}, {0, 196, 144, 255} }}, - {{ {1529, 55, 400}, 0, {-1034, -580}, {0, 196, 144, 255} }}, - {{ {1536, 54, 400}, 0, {-1031, -580}, {0, 211, 137, 255} }}, - {{ {1529, 55, 400}, 0, {-1034, -580}, {0, 196, 144, 255} }}, - {{ {1536, 55, 400}, 0, {-1034, -580}, {0, 196, 144, 255} }}, - {{ {1529, 54, 400}, 0, {-1031, -580}, {0, 211, 137, 255} }}, - {{ {1536, 53, 401}, 0, {-1027, -580}, {0, 228, 132, 255} }}, - {{ {1529, 53, 401}, 0, {-1027, -580}, {0, 228, 132, 255} }}, - {{ {1536, 45, 402}, 0, {-1015, -580}, {0, 112, 197, 255} }}, - {{ {1529, 45, 402}, 0, {-1015, -580}, {0, 112, 197, 255} }}, - {{ {1536, 46, 400}, 0, {-1009, -580}, {0, 98, 80, 255} }}, - {{ {1529, 46, 400}, 0, {-1009, -580}, {0, 98, 80, 255} }}, - {{ {1536, 48, 399}, 0, {-1002, -580}, {0, 107, 68, 255} }}, - {{ {1529, 48, 399}, 0, {-1002, -580}, {0, 107, 68, 255} }}, - {{ {1536, 48, 397}, 0, {-996, -580}, {0, 115, 55, 255} }}, - {{ {1529, 48, 397}, 0, {-996, -580}, {0, 115, 55, 255} }}, - {{ {1536, 49, 396}, 0, {-993, -580}, {0, 120, 41, 255} }}, - {{ {1529, 49, 396}, 0, {-993, -580}, {0, 120, 41, 255} }}, - {{ {1536, 49, 395}, 0, {-986, -580}, {0, 124, 25, 255} }}, - {{ {1529, 49, 395}, 0, {-986, -580}, {0, 124, 25, 255} }}, - {{ {1536, 50, 393}, 0, {-980, -580}, {0, 127, 8, 255} }}, - {{ {1529, 50, 393}, 0, {-980, -580}, {0, 127, 8, 255} }}, - {{ {1536, 50, 391}, 0, {-975, -580}, {0, 127, 248, 255} }}, - {{ {1529, 50, 391}, 0, {-975, -580}, {0, 127, 248, 255} }}, - {{ {1536, 49, 389}, 0, {-972, -580}, {0, 125, 232, 255} }}, - {{ {1529, 49, 389}, 0, {-972, -580}, {0, 125, 232, 255} }}, - {{ {1536, 49, 387}, 0, {-969, -580}, {0, 120, 215, 255} }}, - {{ {1529, 49, 387}, 0, {-969, -580}, {0, 120, 215, 255} }}, - {{ {1536, 48, 385}, 0, {-966, -580}, {0, 113, 198, 255} }}, - {{ {1529, 48, 385}, 0, {-966, -580}, {0, 113, 198, 255} }}, - {{ {1536, 47, 383}, 0, {-963, -580}, {0, 104, 183, 255} }}, - {{ {1529, 47, 383}, 0, {-963, -580}, {0, 104, 183, 255} }}, - {{ {1536, 46, 382}, 0, {-960, -580}, {0, 94, 170, 255} }}, - {{ {1529, 46, 382}, 0, {-960, -580}, {0, 94, 170, 255} }}, - {{ {1536, 44, 380}, 0, {-956, -580}, {0, 82, 159, 255} }}, - {{ {1529, 46, 382}, 0, {-960, -580}, {0, 94, 170, 255} }}, - {{ {1536, 46, 382}, 0, {-960, -580}, {0, 94, 170, 255} }}, - {{ {1529, 44, 380}, 0, {-956, -580}, {0, 82, 159, 255} }}, - {{ {1536, 43, 379}, 0, {-953, -580}, {0, 70, 150, 255} }}, - {{ {1529, 43, 379}, 0, {-953, -580}, {0, 70, 150, 255} }}, - {{ {1536, 42, 379}, 0, {-952, -580}, {0, 59, 144, 255} }}, - {{ {1529, 42, 379}, 0, {-952, -580}, {0, 59, 144, 255} }}, - {{ {1536, 40, 378}, 0, {-948, -580}, {0, 45, 137, 255} }}, - {{ {1529, 40, 378}, 0, {-948, -580}, {0, 45, 137, 255} }}, - {{ {1536, 38, 377}, 0, {-945, -580}, {0, 30, 132, 255} }}, - {{ {1529, 38, 377}, 0, {-945, -580}, {0, 30, 132, 255} }}, - {{ {1536, 36, 377}, 0, {-942, -580}, {0, 14, 130, 255} }}, - {{ {1529, 36, 377}, 0, {-942, -580}, {0, 14, 130, 255} }}, - {{ {1536, 34, 377}, 0, {-939, -580}, {0, 254, 129, 255} }}, - {{ {1529, 34, 377}, 0, {-939, -580}, {0, 254, 129, 255} }}, - {{ {1536, 31, 377}, 0, {-933, -580}, {0, 236, 131, 255} }}, - {{ {1529, 31, 377}, 0, {-933, -580}, {0, 236, 131, 255} }}, - {{ {1536, 29, 377}, 0, {-928, -580}, {0, 219, 135, 255} }}, - {{ {1536, 32, 389}, 0, {-659, -580}, {0, 16, 126, 255} }}, - {{ {1529, 32, 389}, 0, {-659, -580}, {0, 16, 126, 255} }}, - {{ {1529, 31, 389}, 0, {-662, -580}, {0, 29, 124, 255} }}, - {{ {1536, 33, 389}, 0, {-656, -580}, {0, 3, 127, 255} }}, - {{ {1529, 33, 389}, 0, {-656, -580}, {0, 3, 127, 255} }}, - {{ {1536, 35, 389}, 0, {-650, -580}, {0, 242, 126, 255} }}, - {{ {1529, 35, 389}, 0, {-650, -580}, {0, 242, 126, 255} }}, - {{ {1536, 36, 389}, 0, {-647, -580}, {0, 227, 124, 255} }}, - {{ {1529, 36, 389}, 0, {-647, -580}, {0, 227, 124, 255} }}, - {{ {1536, 37, 390}, 0, {-643, -580}, {0, 212, 119, 255} }}, - {{ {1529, 37, 390}, 0, {-643, -580}, {0, 212, 119, 255} }}, - {{ {1536, 38, 390}, 0, {-640, -580}, {0, 197, 112, 255} }}, - {{ {1529, 38, 390}, 0, {-640, -580}, {0, 197, 112, 255} }}, - {{ {1536, 39, 390}, 0, {-637, -580}, {0, 183, 104, 255} }}, - {{ {1529, 38, 390}, 0, {-640, -580}, {0, 197, 112, 255} }}, - {{ {1536, 38, 390}, 0, {-640, -580}, {0, 197, 112, 255} }}, - {{ {1529, 39, 390}, 0, {-637, -580}, {0, 183, 104, 255} }}, - {{ {1536, 40, 391}, 0, {-636, -580}, {0, 172, 95, 255} }}, - {{ {1529, 40, 391}, 0, {-636, -580}, {0, 172, 95, 255} }}, - {{ {1536, 40, 391}, 0, {-632, -580}, {0, 161, 85, 255} }}, - {{ {1529, 40, 391}, 0, {-632, -580}, {0, 161, 85, 255} }}, - {{ {1536, 41, 392}, 0, {-629, -580}, {0, 150, 70, 255} }}, - {{ {1529, 41, 392}, 0, {-629, -580}, {0, 150, 70, 255} }}, - {{ {1536, 41, 393}, 0, {-626, -580}, {0, 142, 56, 255} }}, - {{ {1529, 41, 393}, 0, {-626, -580}, {0, 142, 56, 255} }}, - {{ {1536, 41, 393}, 0, {-625, -580}, {0, 136, 43, 255} }}, - {{ {1529, 41, 393}, 0, {-625, -580}, {0, 136, 43, 255} }}, - {{ {1536, 41, 394}, 0, {-621, -580}, {0, 132, 27, 255} }}, - {{ {1529, 41, 394}, 0, {-621, -580}, {0, 132, 27, 255} }}, - {{ {1536, 42, 395}, 0, {-618, -580}, {0, 129, 9, 255} }}, - {{ {1529, 42, 395}, 0, {-618, -580}, {0, 129, 9, 255} }}, - {{ {1536, 42, 396}, 0, {-615, -580}, {0, 129, 248, 255} }}, - {{ {1529, 42, 396}, 0, {-615, -580}, {0, 129, 248, 255} }}, - {{ {1536, 41, 396}, 0, {-612, -580}, {0, 132, 231, 255} }}, - {{ {1529, 41, 396}, 0, {-612, -580}, {0, 132, 231, 255} }}, - {{ {1536, 41, 397}, 0, {-609, -580}, {0, 136, 215, 255} }}, - {{ {1529, 41, 397}, 0, {-609, -580}, {0, 136, 215, 255} }}, - {{ {1536, 41, 398}, 0, {-607, -580}, {0, 141, 203, 255} }}, - {{ {1529, 41, 398}, 0, {-607, -580}, {0, 141, 203, 255} }}, - {{ {1536, 41, 398}, 0, {-604, -580}, {0, 148, 188, 255} }}, - {{ {1529, 41, 398}, 0, {-604, -580}, {0, 148, 188, 255} }}, - {{ {1536, 40, 399}, 0, {-601, -580}, {0, 159, 174, 255} }}, - {{ {1529, 40, 399}, 0, {-601, -580}, {0, 159, 174, 255} }}, - {{ {1536, 40, 400}, 0, {-598, -580}, {0, 169, 163, 255} }}, - {{ {1529, 40, 400}, 0, {-598, -580}, {0, 169, 163, 255} }}, - {{ {1536, 39, 400}, 0, {-596, -580}, {0, 180, 154, 255} }}, - {{ {1529, 40, 400}, 0, {-598, -580}, {0, 169, 163, 255} }}, - {{ {1536, 40, 400}, 0, {-598, -580}, {0, 169, 163, 255} }}, - {{ {1529, 39, 400}, 0, {-596, -580}, {0, 180, 154, 255} }}, - {{ {1536, 38, 400}, 0, {-593, -580}, {0, 193, 145, 255} }}, - {{ {1529, 38, 400}, 0, {-593, -580}, {0, 193, 145, 255} }}, - {{ {1536, 38, 401}, 0, {-590, -580}, {0, 209, 138, 255} }}, - {{ {1529, 38, 401}, 0, {-590, -580}, {0, 209, 138, 255} }}, - {{ {1536, 37, 401}, 0, {-587, -580}, {0, 225, 133, 255} }}, - {{ {1529, 37, 401}, 0, {-587, -580}, {0, 225, 133, 255} }}, - {{ {1536, 36, 401}, 0, {-583, -580}, {0, 238, 130, 255} }}, - {{ {1529, 36, 401}, 0, {-583, -580}, {0, 238, 130, 255} }}, - {{ {1536, 34, 401}, 0, {-580, -580}, {0, 250, 129, 255} }}, - {{ {1529, 34, 401}, 0, {-580, -580}, {0, 250, 129, 255} }}, - {{ {1536, 33, 401}, 0, {-729, -580}, {0, 6, 129, 255} }}, - {{ {1529, 33, 401}, 0, {-729, -580}, {0, 6, 129, 255} }}, - {{ {1536, 32, 401}, 0, {-726, -580}, {0, 18, 130, 255} }}, - {{ {1529, 32, 401}, 0, {-726, -580}, {0, 18, 130, 255} }}, - {{ {1536, 31, 401}, 0, {-722, -580}, {0, 32, 133, 255} }}, - {{ {1529, 31, 401}, 0, {-722, -580}, {0, 32, 133, 255} }}, - {{ {1536, 30, 401}, 0, {-719, -580}, {0, 47, 138, 255} }}, - {{ {1529, 30, 401}, 0, {-719, -580}, {0, 47, 138, 255} }}, - {{ {1536, 29, 400}, 0, {-716, -580}, {0, 62, 145, 255} }}, - {{ {1529, 29, 400}, 0, {-716, -580}, {0, 62, 145, 255} }}, - {{ {1536, 28, 400}, 0, {-713, -580}, {0, 75, 154, 255} }}, - {{ {1529, 28, 400}, 0, {-713, -580}, {0, 75, 154, 255} }}, - {{ {1536, 28, 400}, 0, {-711, -580}, {0, 86, 162, 255} }}, - {{ {1529, 28, 400}, 0, {-711, -580}, {0, 86, 162, 255} }}, - {{ {1536, 27, 399}, 0, {-708, -580}, {0, 96, 173, 255} }}, - {{ {1529, 27, 399}, 0, {-708, -580}, {0, 96, 173, 255} }}, - {{ {1536, 27, 398}, 0, {-705, -580}, {0, 106, 187, 255} }}, - {{ {1529, 27, 398}, 0, {-705, -580}, {0, 106, 187, 255} }}, - {{ {1536, 26, 397}, 0, {-702, -580}, {0, 114, 201, 255} }}, - {{ {1529, 27, 398}, 0, {-705, -580}, {0, 106, 187, 255} }}, - {{ {1536, 27, 398}, 0, {-705, -580}, {0, 106, 187, 255} }}, - {{ {1529, 26, 397}, 0, {-702, -580}, {0, 114, 201, 255} }}, - {{ {1536, 26, 397}, 0, {-700, -580}, {0, 120, 214, 255} }}, - {{ {1529, 26, 397}, 0, {-700, -580}, {0, 120, 214, 255} }}, - {{ {1536, 26, 396}, 0, {-697, -580}, {0, 124, 230, 255} }}, - {{ {1529, 26, 396}, 0, {-697, -580}, {0, 124, 230, 255} }}, - {{ {1536, 26, 395}, 0, {-694, -580}, {0, 127, 247, 255} }}, - {{ {1529, 26, 395}, 0, {-694, -580}, {0, 127, 247, 255} }}, - {{ {1536, 26, 394}, 0, {-691, -580}, {0, 127, 8, 255} }}, - {{ {1529, 26, 394}, 0, {-691, -580}, {0, 127, 8, 255} }}, - {{ {1536, 26, 394}, 0, {-688, -580}, {0, 124, 26, 255} }}, - {{ {1529, 26, 394}, 0, {-688, -580}, {0, 124, 26, 255} }}, - {{ {1536, 26, 393}, 0, {-685, -580}, {0, 120, 42, 255} }}, - {{ {1529, 26, 393}, 0, {-685, -580}, {0, 120, 42, 255} }}, - {{ {1536, 26, 393}, 0, {-683, -580}, {0, 115, 55, 255} }}, - {{ {1529, 26, 393}, 0, {-683, -580}, {0, 115, 55, 255} }}, - {{ {1536, 27, 392}, 0, {-680, -580}, {0, 107, 69, 255} }}, - {{ {1529, 27, 392}, 0, {-680, -580}, {0, 107, 69, 255} }}, - {{ {1536, 27, 391}, 0, {-677, -580}, {0, 96, 83, 255} }}, - {{ {1529, 27, 391}, 0, {-677, -580}, {0, 96, 83, 255} }}, - {{ {1536, 28, 391}, 0, {-674, -580}, {0, 83, 96, 255} }}, - {{ {1529, 28, 391}, 0, {-674, -580}, {0, 83, 96, 255} }}, - {{ {1536, 28, 390}, 0, {-670, -580}, {0, 68, 107, 255} }}, - {{ {1529, 28, 390}, 0, {-670, -580}, {0, 68, 107, 255} }}, - {{ {1536, 29, 390}, 0, {-667, -580}, {0, 54, 115, 255} }}, - {{ {1529, 29, 390}, 0, {-667, -580}, {0, 54, 115, 255} }}, - {{ {1536, 30, 390}, 0, {-666, -580}, {0, 42, 120, 255} }}, - {{ {1529, 30, 390}, 0, {-666, -580}, {0, 42, 120, 255} }}, - {{ {1536, 31, 389}, 0, {-662, -580}, {0, 29, 124, 255} }}, - {{ {1529, 31, 389}, 0, {-662, -580}, {0, 29, 124, 255} }}, - {{ {1536, 32, 389}, 0, {-659, -580}, {0, 16, 126, 255} }}, - {{ {1529, 31, 389}, 0, {-662, -580}, {0, 29, 124, 255} }}, - {{ {1536, 31, 389}, 0, {-662, -580}, {0, 29, 124, 255} }}, - {{ {1536, 37, 362}, 0, {-580, -580}, {0, 53, 141, 255} }}, - {{ {1529, 37, 362}, 0, {-580, -580}, {0, 53, 141, 255} }}, - {{ {1529, 52, 350}, 0, {-620, -580}, {0, 137, 44, 255} }}, - {{ {1536, 37, 350}, 0, {-659, -580}, {0, 90, 90, 255} }}, - {{ {1529, 37, 350}, 0, {-659, -580}, {0, 90, 90, 255} }}, - {{ {1536, 52, 350}, 0, {-620, -580}, {0, 137, 44, 255} }}, +Vtx ground_map_mesh_vtx_13[8] = { + {{ {736, -114, 271}, 0, {1008, 1008}, {99, 27, 182, 255} }}, + {{ {730, -115, 262}, 0, {1008, -16}, {99, 27, 182, 255} }}, + {{ {728, -105, 263}, 0, {-16, -16}, {99, 27, 182, 255} }}, + {{ {734, -104, 272}, 0, {-16, 1008}, {99, 27, 182, 255} }}, + {{ {708, -116, 258}, 0, {1008, -16}, {1, 27, 132, 255} }}, + {{ {707, -106, 260}, 0, {-16, -16}, {1, 27, 132, 255} }}, + {{ {717, -105, 260}, 0, {-16, 1008}, {1, 27, 132, 255} }}, + {{ {718, -115, 258}, 0, {1008, 1008}, {1, 27, 132, 255} }}, }; Gfx ground_map_mesh_tri_13[] = { - gsSPVertex(ground_map_mesh_vtx_13 + 0, 32, 0), + gsSPVertex(ground_map_mesh_vtx_13 + 0, 8, 0), gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(3, 2, 4, 0, 5, 6, 7, 0), - gsSP2Triangles(8, 5, 7, 0, 7, 9, 8, 0), - gsSP2Triangles(7, 10, 9, 0, 7, 11, 10, 0), - gsSP2Triangles(7, 12, 11, 0, 11, 12, 13, 0), - gsSP2Triangles(11, 13, 14, 0, 13, 15, 14, 0), - gsSP2Triangles(16, 11, 14, 0, 16, 14, 17, 0), - gsSP2Triangles(14, 18, 17, 0, 14, 19, 18, 0), - gsSP2Triangles(14, 20, 19, 0, 19, 21, 18, 0), - gsSP2Triangles(8, 22, 5, 0, 22, 8, 23, 0), - gsSP2Triangles(22, 23, 24, 0, 25, 22, 24, 0), - gsSP2Triangles(25, 24, 26, 0, 25, 26, 27, 0), - gsSP2Triangles(25, 27, 28, 0, 25, 28, 29, 0), - gsSP2Triangles(25, 29, 30, 0, 25, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 32, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), - gsSP2Triangles(6, 0, 5, 0, 5, 7, 6, 0), - gsSP2Triangles(7, 8, 6, 0, 8, 9, 6, 0), - gsSP2Triangles(9, 10, 6, 0, 10, 11, 6, 0), - gsSP2Triangles(11, 12, 6, 0, 12, 13, 6, 0), - gsSP2Triangles(13, 14, 6, 0, 14, 15, 6, 0), - gsSP2Triangles(15, 16, 6, 0, 16, 17, 6, 0), - gsSP2Triangles(17, 18, 6, 0, 18, 19, 6, 0), - gsSP2Triangles(19, 20, 6, 0, 20, 21, 6, 0), - gsSP2Triangles(21, 22, 6, 0, 22, 23, 6, 0), - gsSP2Triangles(23, 24, 6, 0, 24, 25, 6, 0), - gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), - gsSP2Triangles(27, 28, 25, 0, 28, 29, 25, 0), - gsSP2Triangles(29, 30, 25, 0, 30, 31, 25, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 64, 30, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(3, 4, 2, 0, 4, 5, 2, 0), - gsSP2Triangles(5, 6, 2, 0, 6, 7, 2, 0), - gsSP2Triangles(7, 8, 2, 0, 8, 9, 2, 0), - gsSP2Triangles(9, 10, 2, 0, 10, 11, 2, 0), - gsSP2Triangles(11, 12, 2, 0, 2, 13, 14, 0), - gsSP2Triangles(2, 15, 13, 0, 2, 16, 15, 0), - gsSP2Triangles(2, 17, 16, 0, 16, 18, 15, 0), - gsSP2Triangles(19, 20, 21, 0, 19, 21, 22, 0), - gsSP2Triangles(23, 21, 24, 0, 23, 24, 25, 0), - gsSP2Triangles(25, 24, 26, 0, 25, 26, 27, 0), - gsSP2Triangles(27, 26, 28, 0, 27, 28, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 94, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0), - gsSP2Triangles(8, 7, 4, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(3, 15, 14, 0, 3, 16, 15, 0), - gsSP2Triangles(17, 18, 19, 0, 20, 17, 19, 0), - gsSP2Triangles(20, 19, 21, 0, 19, 22, 21, 0), - gsSP2Triangles(19, 23, 22, 0, 22, 24, 21, 0), - gsSP2Triangles(21, 25, 26, 0, 21, 26, 27, 0), - gsSP2Triangles(26, 28, 27, 0, 21, 27, 29, 0), - gsSP2Triangles(27, 30, 29, 0, 27, 31, 30, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 126, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 2, 3, 4, 0), - gsSP2Triangles(2, 4, 5, 0, 4, 6, 5, 0), - gsSP2Triangles(2, 5, 7, 0, 5, 8, 7, 0), - gsSP2Triangles(5, 9, 8, 0, 10, 9, 5, 0), - gsSP2Triangles(10, 5, 11, 0, 5, 12, 11, 0), - gsSP2Triangles(13, 10, 11, 0, 14, 13, 11, 0), - gsSP2Triangles(15, 14, 11, 0, 16, 15, 11, 0), - gsSP2Triangles(17, 16, 11, 0, 11, 18, 17, 0), - gsSP2Triangles(11, 19, 18, 0, 11, 20, 19, 0), - gsSP2Triangles(11, 21, 20, 0, 11, 22, 21, 0), - gsSP2Triangles(11, 23, 22, 0, 11, 24, 23, 0), - gsSP2Triangles(23, 25, 22, 0, 26, 27, 28, 0), - gsSP2Triangles(29, 26, 28, 0, 30, 29, 28, 0), - gsSP1Triangle(30, 28, 31, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 158, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(0, 4, 3, 0, 0, 5, 4, 0), - gsSP2Triangles(0, 6, 5, 0, 0, 7, 6, 0), - gsSP2Triangles(0, 8, 7, 0, 0, 9, 8, 0), - gsSP2Triangles(0, 10, 9, 0, 0, 11, 10, 0), - gsSP2Triangles(0, 12, 11, 0, 0, 13, 12, 0), - gsSP2Triangles(0, 14, 13, 0, 13, 15, 12, 0), - gsSP2Triangles(13, 16, 15, 0, 13, 17, 16, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 22, 18, 0), - gsSP2Triangles(23, 21, 18, 0, 23, 24, 21, 0), - gsSP2Triangles(25, 26, 23, 0, 27, 25, 23, 0), - gsSP2Triangles(28, 27, 23, 0, 29, 28, 23, 0), - gsSP2Triangles(30, 29, 23, 0, 31, 30, 23, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 190, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), - gsSP2Triangles(4, 3, 2, 0, 5, 4, 2, 0), - gsSP2Triangles(2, 6, 5, 0, 2, 7, 6, 0), - gsSP2Triangles(2, 8, 7, 0, 2, 9, 8, 0), - gsSP2Triangles(2, 10, 9, 0, 2, 11, 10, 0), - gsSP2Triangles(2, 12, 11, 0, 2, 13, 12, 0), - gsSP2Triangles(2, 14, 13, 0, 2, 15, 14, 0), - gsSP2Triangles(2, 16, 15, 0, 2, 17, 16, 0), - gsSP2Triangles(2, 18, 17, 0, 2, 19, 18, 0), - gsSP2Triangles(2, 20, 19, 0, 2, 21, 20, 0), - gsSP2Triangles(0, 22, 1, 0, 22, 23, 1, 0), - gsSP2Triangles(23, 24, 1, 0, 1, 24, 25, 0), - gsSP2Triangles(1, 25, 26, 0, 1, 26, 27, 0), - gsSP2Triangles(1, 27, 28, 0, 29, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 222, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), - gsSP2Triangles(3, 4, 0, 0, 5, 6, 3, 0), - gsSP2Triangles(7, 5, 3, 0, 8, 7, 3, 0), - gsSP2Triangles(8, 9, 7, 0, 8, 10, 9, 0), - gsSP2Triangles(9, 11, 7, 0, 7, 12, 5, 0), - gsSP2Triangles(13, 14, 8, 0, 15, 13, 8, 0), - gsSP2Triangles(16, 15, 8, 0, 17, 16, 8, 0), - gsSP2Triangles(18, 17, 8, 0, 19, 18, 8, 0), - gsSP2Triangles(20, 19, 8, 0, 21, 20, 8, 0), - gsSP2Triangles(22, 21, 8, 0, 23, 22, 8, 0), - gsSP2Triangles(24, 23, 8, 0, 25, 24, 8, 0), - gsSP2Triangles(26, 25, 8, 0, 27, 26, 8, 0), - gsSP2Triangles(28, 27, 8, 0, 29, 28, 8, 0), - gsSP2Triangles(30, 29, 8, 0, 31, 30, 8, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 254, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(7, 8, 5, 0, 8, 9, 5, 0), - gsSP2Triangles(9, 10, 5, 0, 10, 11, 5, 0), - gsSP2Triangles(11, 12, 5, 0, 11, 13, 12, 0), - gsSP2Triangles(13, 14, 12, 0, 12, 15, 5, 0), - gsSP2Triangles(12, 16, 15, 0, 15, 17, 5, 0), - gsSP2Triangles(18, 19, 20, 0, 21, 22, 18, 0), - gsSP2Triangles(5, 21, 18, 0, 5, 23, 21, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 286, 31, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(2, 4, 3, 0, 2, 5, 4, 0), - gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), - gsSP2Triangles(7, 8, 6, 0, 6, 8, 9, 0), - gsSP2Triangles(8, 10, 9, 0, 6, 9, 0, 0), - gsSP2Triangles(9, 11, 0, 0, 11, 12, 0, 0), - gsSP2Triangles(0, 3, 6, 0, 13, 14, 15, 0), - gsSP2Triangles(13, 15, 16, 0, 15, 17, 16, 0), - gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), - gsSP2Triangles(20, 22, 21, 0, 21, 23, 24, 0), - gsSP2Triangles(21, 24, 25, 0, 24, 26, 25, 0), - gsSP2Triangles(21, 25, 27, 0, 25, 28, 27, 0), - gsSP2Triangles(25, 29, 28, 0, 28, 30, 27, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 317, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(2, 4, 3, 0, 0, 3, 5, 0), - gsSP2Triangles(3, 6, 5, 0, 3, 7, 6, 0), - gsSP2Triangles(6, 8, 5, 0, 5, 9, 10, 0), - gsSP2Triangles(5, 10, 11, 0, 10, 12, 11, 0), - gsSP2Triangles(5, 11, 13, 0, 11, 14, 13, 0), - gsSP2Triangles(11, 15, 14, 0, 14, 16, 13, 0), - gsSP2Triangles(13, 17, 18, 0, 13, 18, 19, 0), - gsSP2Triangles(18, 20, 19, 0, 13, 19, 21, 0), - gsSP2Triangles(19, 22, 21, 0, 19, 23, 22, 0), - gsSP2Triangles(22, 24, 21, 0, 21, 25, 26, 0), - gsSP2Triangles(21, 26, 27, 0, 26, 28, 27, 0), - gsSP2Triangles(21, 27, 29, 0, 27, 30, 29, 0), - gsSP1Triangle(27, 31, 30, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 349, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(0, 3, 4, 0, 0, 4, 5, 0), - gsSP2Triangles(0, 5, 6, 0, 7, 0, 6, 0), - gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0), - gsSP2Triangles(7, 9, 10, 0, 7, 10, 11, 0), - gsSP2Triangles(7, 11, 12, 0, 7, 12, 13, 0), - gsSP2Triangles(7, 13, 14, 0, 7, 14, 15, 0), - gsSP2Triangles(7, 15, 16, 0, 7, 16, 17, 0), - gsSP2Triangles(7, 17, 18, 0, 7, 18, 19, 0), - gsSP2Triangles(7, 19, 20, 0, 7, 20, 21, 0), - gsSP2Triangles(7, 21, 22, 0, 7, 22, 23, 0), - gsSP2Triangles(7, 23, 24, 0, 25, 7, 24, 0), - gsSP2Triangles(25, 24, 26, 0, 24, 27, 26, 0), - gsSP2Triangles(24, 28, 27, 0, 25, 29, 7, 0), - gsSP1Triangle(26, 30, 31, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 381, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), - gsSP2Triangles(6, 8, 7, 0, 6, 9, 8, 0), - gsSP2Triangles(10, 8, 9, 0, 7, 10, 9, 0), - gsSP2Triangles(9, 11, 7, 0, 11, 12, 7, 0), - gsSP2Triangles(13, 7, 12, 0, 7, 14, 10, 0), - gsSP2Triangles(8, 14, 7, 0, 15, 16, 17, 0), - gsSP2Triangles(18, 16, 15, 0, 18, 19, 16, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 413, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 445, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 477, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 509, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 541, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 573, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 19, 20, 21, 0), - gsSP2Triangles(22, 20, 19, 0, 22, 23, 20, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 605, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 637, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 669, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), - gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), - gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 17, 15, 0), - gsSP2Triangles(18, 17, 16, 0, 18, 19, 17, 0), - gsSP2Triangles(20, 19, 18, 0, 20, 21, 19, 0), - gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), - gsSP2Triangles(24, 23, 22, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 25, 24, 0, 26, 27, 25, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSPVertex(ground_map_mesh_vtx_13 + 701, 9, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(6, 4, 3, 0, 6, 7, 4, 0), - gsSP2Triangles(8, 7, 6, 0, 8, 5, 7, 0), - gsSP1Triangle(3, 5, 8, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), gsSPEndDisplayList(), }; @@ -4753,16 +5079,12 @@ Gfx mat_ground_dock[] = { gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ground_woodPlanks1_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 14), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, ground_woodPlanks1_ci4), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 255, 1024), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0, 0, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_woodPlanks1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_MIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; @@ -4771,7 +5093,6 @@ Gfx mat_revert_ground_dock[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -4802,15 +5123,11 @@ Gfx mat_ground_door1[] = { gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ground_door1_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 181), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ground_door1_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_door1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; @@ -4819,7 +5136,6 @@ Gfx mat_revert_ground_door1[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -4850,16 +5166,12 @@ Gfx mat_ground_sand[] = { gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ground_sand_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 42), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ground_sand_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_sand_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; @@ -4868,7 +5180,6 @@ Gfx mat_revert_ground_sand[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -4903,10 +5214,10 @@ Gfx mat_ground_f3dlite_material_001[] = { gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 102, 95, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, ground_parascode_rgba32), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 64), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_parascode_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -4918,35 +5229,23 @@ Gfx mat_revert_ground_f3dlite_material_001[] = { gsSPEndDisplayList(), }; -Gfx mat_ground_f3dlite_material_009[] = { +Gfx mat_ground_path[] = { gsSPSetGeometryMode(G_FOG), gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 235, 235, 235, 255), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_road4_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; -Gfx mat_revert_ground_f3dlite_material_009[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -Gfx mat_ground_f3d_material_005[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 0, 0, 0, 255), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ground_f3d_material_005[] = { +Gfx mat_revert_ground_path[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), @@ -4970,23 +5269,6 @@ Gfx mat_revert_ground_f3d_material_006[] = { gsSPEndDisplayList(), }; -Gfx mat_ground_f3d_material_012[] = { - gsSPSetGeometryMode(G_FOG), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 56, 56, 56, 255), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ground_f3d_material_012[] = { - gsSPClearGeometryMode(G_FOG), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - Gfx mat_ground_f3d_material_013[] = { gsSPSetGeometryMode(G_FOG), gsSPClearGeometryMode(G_CLIPPING), @@ -4995,10 +5277,10 @@ Gfx mat_ground_f3d_material_013[] = { gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, ground_keyboardArt_i8), - gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 735, 256), - gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_keyboardArt_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1471, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 88), gsSPEndDisplayList(), }; @@ -5010,58 +5292,95 @@ Gfx mat_revert_ground_f3d_material_013[] = { gsSPEndDisplayList(), }; -Gfx mat_ground_HM[] = { - gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), +Gfx mat_ground_parking[] = { + gsSPSetGeometryMode(G_FOG), gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), - gsSPTexture(960, 960, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ground_grayishtoblue_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 36), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ground_grayishtoblue_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 127, 1024), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), - gsDPSetTileSize(0, 0, 0, 60, 60), - gsSPEndDisplayList(), -}; - -Gfx mat_revert_ground_HM[] = { - gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), - gsSPSetGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), - gsSPEndDisplayList(), -}; - -Gfx mat_ground__64[] = { - gsSPSetGeometryMode(G_FOG | G_TEXTURE_GEN), - gsSPClearGeometryMode(G_CLIPPING), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), - gsSPTexture(960, 960, 0, 0, 1), + gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ground_heart1_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 16), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, ground_heart1_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 127, 1024), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), - gsDPSetTileSize(0, 0, 0, 60, 60), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_parking_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; -Gfx mat_revert_ground__64[] = { - gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), +Gfx mat_revert_ground_parking[] = { + gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), + gsSPEndDisplayList(), +}; + +Gfx mat_ground_sign[] = { + gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_noparking_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ground_sign[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ground_f3d_material_001[] = { + gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_flag_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_MIRROR, 5, 0, G_TX_CLAMP | G_TX_MIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 252, 252), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ground_f3d_material_001[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ground_f3d_material_014[] = { + gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ground_paraseye_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_MIRROR, 6, 0, G_TX_CLAMP | G_TX_MIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 508, 508), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ground_f3d_material_014[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), gsSPEndDisplayList(), }; @@ -5091,27 +5410,27 @@ Gfx ground_map_mesh[] = { gsSPDisplayList(mat_ground_f3dlite_material_001), gsSPDisplayList(ground_map_mesh_tri_6), gsSPDisplayList(mat_revert_ground_f3dlite_material_001), - gsSPDisplayList(mat_ground_f3dlite_material_009), + gsSPDisplayList(mat_ground_path), gsSPDisplayList(ground_map_mesh_tri_7), - gsSPDisplayList(mat_revert_ground_f3dlite_material_009), - gsSPDisplayList(mat_ground_f3d_material_005), - gsSPDisplayList(ground_map_mesh_tri_8), - gsSPDisplayList(mat_revert_ground_f3d_material_005), + gsSPDisplayList(mat_revert_ground_path), gsSPDisplayList(mat_ground_f3d_material_006), - gsSPDisplayList(ground_map_mesh_tri_9), + gsSPDisplayList(ground_map_mesh_tri_8), gsSPDisplayList(mat_revert_ground_f3d_material_006), - gsSPDisplayList(mat_ground_f3d_material_012), - gsSPDisplayList(ground_map_mesh_tri_10), - gsSPDisplayList(mat_revert_ground_f3d_material_012), gsSPDisplayList(mat_ground_f3d_material_013), - gsSPDisplayList(ground_map_mesh_tri_11), + gsSPDisplayList(ground_map_mesh_tri_9), gsSPDisplayList(mat_revert_ground_f3d_material_013), - gsSPDisplayList(mat_ground_HM), + gsSPDisplayList(mat_ground_parking), + gsSPDisplayList(ground_map_mesh_tri_10), + gsSPDisplayList(mat_revert_ground_parking), + gsSPDisplayList(mat_ground_sign), + gsSPDisplayList(ground_map_mesh_tri_11), + gsSPDisplayList(mat_revert_ground_sign), + gsSPDisplayList(mat_ground_f3d_material_001), gsSPDisplayList(ground_map_mesh_tri_12), - gsSPDisplayList(mat_revert_ground_HM), - gsSPDisplayList(mat_ground__64), + gsSPDisplayList(mat_revert_ground_f3d_material_001), + gsSPDisplayList(mat_ground_f3d_material_014), gsSPDisplayList(ground_map_mesh_tri_13), - gsSPDisplayList(mat_revert_ground__64), + gsSPDisplayList(mat_revert_ground_f3d_material_014), gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), @@ -5121,6 +5440,12 @@ Gfx ground_map_mesh[] = { }; + + + + + + Gfx road_road4_rgba32_aligner[] = {gsSPEndDisplayList()}; u8 road_road4_rgba32[] = { 0x7a, 0x62, 0x45, 0xff, 0xaa, 0x8d, 0x68, 0xff, @@ -6664,137 +6989,264 @@ Gfx bush_map_004_mesh[] = { gsSPTexture(65535, 65535, 0, 0, 0), gsSPEndDisplayList(), }; - -Gfx castle_brick1_i8_aligner[] = {gsSPEndDisplayList()}; -u8 castle_brick1_i8[] = { - 0x58, 0x4d, 0x3e, 0x59, 0x4d, 0x5b, 0x54, 0x43, - 0x5d, 0x55, 0x3c, 0x67, 0x6a, 0x63, 0x40, 0x3b, - 0x2a, 0x42, 0x51, 0x2a, 0x37, 0x60, 0x4a, 0x2c, - 0x4a, 0x50, 0x42, 0x40, 0x30, 0x5f, 0x1a, 0x39, - 0x4b, 0x3b, 0x44, 0x11, 0x5c, 0x54, 0x66, 0x5c, - 0x5c, 0x62, 0x3e, 0x58, 0x60, 0x42, 0x57, 0x5d, - 0x30, 0x2c, 0x4d, 0x42, 0x18, 0x3b, 0x55, 0x3b, - 0x7d, 0x63, 0x23, 0x69, 0x38, 0x42, 0x22, 0x40, - 0x3b, 0x3e, 0x44, 0x50, 0x49, 0x54, 0x62, 0x47, - 0x4a, 0x44, 0x6e, 0x4e, 0x5c, 0x67, 0x66, 0x30, - 0x2d, 0x32, 0x3b, 0x49, 0x34, 0x47, 0x4b, 0x17, - 0x62, 0x3f, 0x5c, 0x50, 0x3f, 0x44, 0x43, 0x49, - 0x32, 0x4b, 0x2c, 0x4b, 0x3b, 0x3c, 0x49, 0x51, - 0x4a, 0x49, 0x50, 0x46, 0x42, 0x2c, 0x35, 0x2d, - 0x25, 0x5c, 0x67, 0x38, 0x55, 0x32, 0x50, 0x13, - 0x38, 0x42, 0x4a, 0x4d, 0x42, 0x47, 0x29, 0x34, - 0x6a, 0x71, 0x3b, 0x4d, 0x34, 0x4d, 0x4b, 0x5b, - 0x46, 0x20, 0x44, 0x72, 0x60, 0x7c, 0x6b, 0x62, - 0x1b, 0x57, 0x42, 0x32, 0x3f, 0x30, 0x40, 0x42, - 0x3c, 0x66, 0x51, 0x6a, 0x7b, 0x34, 0x69, 0x50, - 0x38, 0x2d, 0x4e, 0x6a, 0x54, 0x44, 0x3f, 0x44, - 0x4b, 0x5f, 0x44, 0x32, 0x58, 0x35, 0x58, 0x43, - 0x1e, 0x27, 0x54, 0x40, 0x6d, 0x37, 0x32, 0x29, - 0x6b, 0x5d, 0x5c, 0x49, 0x6a, 0x11, 0x44, 0x20, - 0x1f, 0x1e, 0x2e, 0x2e, 0x20, 0x23, 0x25, 0x2a, - 0x22, 0x22, 0x42, 0x60, 0x44, 0x2d, 0x3c, 0x52, - 0x25, 0x20, 0x32, 0x1f, 0x40, 0x2e, 0x42, 0x11, - 0x1b, 0x2c, 0x38, 0x27, 0x1b, 0x10, 0x10, 0x13, - 0x1e, 0x31, 0x64, 0x6b, 0x6f, 0xa7, 0x7d, 0x82, - 0x8e, 0x79, 0x63, 0x67, 0x5c, 0x52, 0x64, 0x6d, - 0x86, 0xb3, 0x80, 0xa7, 0x95, 0xa3, 0x69, 0x59, - 0x25, 0x63, 0xb5, 0x78, 0x5b, 0x74, 0x92, 0x75, - 0x49, 0x43, 0x58, 0x4e, 0x57, 0x6d, 0x67, 0x66, - 0x6a, 0x7c, 0x7d, 0x7b, 0x3f, 0x55, 0x6d, 0x5f, - 0x74, 0x63, 0x6f, 0x5d, 0x67, 0xa6, 0x3f, 0x4d, - 0x6e, 0x43, 0x6b, 0x39, 0x58, 0x64, 0x55, 0x47, - 0x31, 0x4d, 0x50, 0x54, 0x55, 0x3c, 0x82, 0x5c, - 0x6f, 0x50, 0x4b, 0x47, 0x5b, 0x4b, 0x3e, 0x3b, - 0x39, 0x51, 0x58, 0x60, 0x5d, 0x60, 0x47, 0x78, - 0x88, 0x32, 0x69, 0x55, 0x66, 0x63, 0x7b, 0x49, - 0x1e, 0x3e, 0x46, 0x6d, 0x5c, 0x6f, 0x74, 0x39, - 0x3c, 0x58, 0x57, 0x7d, 0x49, 0x39, 0x4e, 0x2c, - 0x43, 0x4d, 0x4e, 0x34, 0x43, 0x2e, 0x67, 0x6b, - 0x40, 0x3b, 0x39, 0x51, 0x50, 0x4a, 0x52, 0x79, - 0x2a, 0x5f, 0x23, 0x49, 0x6e, 0x5c, 0x6b, 0x43, - 0x5c, 0x4d, 0x4d, 0x44, 0x31, 0x5c, 0x3e, 0x3b, - 0x57, 0x63, 0x58, 0x49, 0x32, 0x4a, 0x6f, 0x76, - 0x47, 0x25, 0x5f, 0x52, 0x55, 0x60, 0x52, 0x76, - 0x4a, 0x60, 0x50, 0x7c, 0x40, 0x69, 0x57, 0x32, - 0x38, 0x31, 0x54, 0x50, 0x34, 0x4d, 0x2a, 0x43, - 0x2e, 0x23, 0x40, 0x4d, 0x3b, 0x30, 0x3e, 0x3c, - 0x4b, 0x23, 0x4d, 0x6e, 0x42, 0x3f, 0x2d, 0x43, - 0x5f, 0x52, 0x49, 0x5f, 0x47, 0x4a, 0x2c, 0x35, - 0x29, 0x30, 0x42, 0x29, 0x39, 0x2d, 0x54, 0x49, - 0x3e, 0x37, 0x23, 0x2e, 0x37, 0x3e, 0x55, 0x52, - 0x3c, 0x29, 0x2a, 0x6e, 0x58, 0x5d, 0x62, 0x30, - 0x44, 0x52, 0x64, 0x52, 0x63, 0x38, 0x23, 0x51, - 0x38, 0x37, 0x29, 0x4a, 0x39, 0x40, 0x4b, 0x66, - 0x34, 0x29, 0x3e, 0x30, 0x34, 0x40, 0x5d, 0x5d, - 0x31, 0x34, 0x38, 0x6d, 0x4d, 0x5f, 0x60, 0x43, - 0x38, 0x50, 0x42, 0x47, 0x32, 0x35, 0x62, 0x42, - 0x34, 0x44, 0x54, 0x40, 0x40, 0x5c, 0x50, 0x71, - 0x4d, 0x3e, 0x57, 0x42, 0x32, 0x38, 0x3e, 0x54, - 0x35, 0x35, 0x54, 0x3b, 0x5b, 0x4a, 0x83, 0x49, - 0x34, 0x6a, 0x5c, 0x42, 0x52, 0x58, 0x5d, 0x79, - 0x87, 0x5c, 0x67, 0x5d, 0x5b, 0x63, 0x37, 0x35, - 0x22, 0x43, 0x46, 0x46, 0x35, 0x32, 0x32, 0x40, - 0x49, 0x43, 0x4e, 0x57, 0x4d, 0x60, 0x63, 0x4a, - 0x31, 0x59, 0x43, 0x32, 0x8e, 0x52, 0x3b, 0x67, - 0x58, 0x5c, 0x5f, 0x3e, 0x4a, 0x51, 0x4e, 0x3b, - 0x6d, 0x4a, 0x32, 0x3b, 0x35, 0x2e, 0x4e, 0x54, - 0x26, 0x42, 0x4b, 0x38, 0x4e, 0x6a, 0x35, 0x58, - 0x1e, 0x3c, 0x3b, 0x43, 0x47, 0x55, 0x22, 0x2a, - 0x3b, 0x20, 0x22, 0x11, 0x1f, 0x47, 0x49, 0x34, - 0x4b, 0x3b, 0x1b, 0x20, 0x34, 0x1b, 0x1f, 0x11, - 0x1c, 0x32, 0x23, 0x15, 0x1b, 0x25, 0x1a, 0x22, - 0x87, 0x6b, 0x83, 0x6d, 0x8a, 0x51, 0x5c, 0x58, - 0x6b, 0x78, 0x5b, 0x72, 0x67, 0x86, 0x75, 0x86, - 0x69, 0x59, 0x7f, 0x74, 0x6e, 0x32, 0x26, 0x46, - 0x60, 0x46, 0x5c, 0x54, 0x83, 0x6f, 0x74, 0x64, - 0x44, 0x80, 0x51, 0x58, 0x58, 0x5b, 0x4b, 0x52, - 0x8b, 0x7f, 0x7b, 0x6e, 0x5f, 0x5f, 0x5c, 0x59, - 0x5c, 0x40, 0x44, 0x47, 0x69, 0x4d, 0x1c, 0x46, - 0x57, 0x63, 0x7c, 0x57, 0x5f, 0x8d, 0x43, 0x4b, - 0x43, 0x58, 0x6d, 0x51, 0x6f, 0x5b, 0x75, 0x43, - 0x60, 0x6b, 0x52, 0x54, 0x51, 0x7f, 0x40, 0x60, - 0x49, 0x47, 0x4a, 0x59, 0x50, 0x55, 0x47, 0x47, - 0x4d, 0x6a, 0x66, 0x59, 0x46, 0x4e, 0x5f, 0x47, - 0x44, 0x7d, 0x84, 0x84, 0x87, 0x47, 0x47, 0x3f, - 0x43, 0x4d, 0x39, 0x51, 0x8f, 0x5b, 0x46, 0x52, - 0x4e, 0x49, 0x3f, 0x3c, 0x32, 0x2d, 0x2c, 0x54, - 0x35, 0x17, 0x1e, 0x47, 0x42, 0x4e, 0x40, 0x55, - 0x3f, 0x64, 0x69, 0x52, 0x54, 0x7b, 0x3f, 0x69, - 0x2d, 0x54, 0x74, 0x66, 0x46, 0x37, 0x40, 0x57, - 0x3f, 0x4b, 0x49, 0x40, 0x5c, 0x2c, 0x14, 0x30, - 0x38, 0x3b, 0x42, 0x47, 0x49, 0x54, 0x3b, 0x39, - 0x42, 0x8a, 0x60, 0x64, 0x83, 0x9a, 0x57, 0x4a, - 0x32, 0x59, 0x43, 0x75, 0x4e, 0x0c, 0x39, 0x5f, - 0x51, 0x6a, 0x4e, 0x6b, 0x3e, 0x25, 0x30, 0x51, - 0x43, 0x59, 0x50, 0x3b, 0x2a, 0x38, 0x46, 0x1f, - 0x66, 0x1e, 0x5b, 0x9a, 0x66, 0x55, 0x5f, 0x79, - 0x49, 0x88, 0x8f, 0x2a, 0x78, 0x49, 0x69, 0x4a, - 0x55, 0x52, 0x5b, 0x58, 0x4e, 0x2a, 0x31, 0x4e, - 0x64, 0x5d, 0x83, 0x50, 0x4b, 0x4b, 0x4b, 0x49, - 0x57, 0x55, 0x6b, 0x55, 0x4e, 0x74, 0x34, 0x79, - 0x59, 0x75, 0xdc, 0x39, 0x4b, 0x67, 0x44, 0x3e, - 0x40, 0x49, 0x6f, 0x7b, 0x7f, 0x18, 0x3e, 0x1c, - 0x35, 0x55, 0x54, 0x63, 0x3e, 0x47, 0x47, 0x64, - 0x42, 0x5b, 0x42, 0x51, 0x14, 0x47, 0x42, 0x95, - 0x72, 0x63, 0x5b, 0x4d, 0x3f, 0x44, 0x58, 0x43, - 0x52, 0x6e, 0x60, 0x6f, 0x79, 0x32, 0x38, 0x3b, - 0x2e, 0x3c, 0x66, 0x47, 0x2d, 0x46, 0x46, 0x3f, - 0x4e, 0x3c, 0x43, 0x58, 0x49, 0x5d, 0x5c, 0x63, - 0x52, 0x5f, 0x5c, 0x30, 0x4a, 0x55, 0x43, 0x54, - 0x60, 0x66, 0x51, 0x4d, 0x5b, 0x51, 0x4e, 0x3f, - 0x6a, 0x3c, 0x34, 0x44, 0x44, 0x44, 0x46, 0x44, - 0x51, 0x60, 0x32, 0x6e, 0x38, 0x62, 0x57, 0x4a, - 0x4a, 0x4b, 0x4d, 0x4b, 0x44, 0x3b, 0x38, 0x30, - 0x4a, 0x3f, 0x86, 0x39, 0x51, 0x23, 0x38, 0x47, - 0x42, 0x43, 0x52, 0x43, 0x47, 0x3c, 0x5b, 0x52, - 0x50, 0x32, 0x20, 0x3f, 0x63, 0x22, 0x25, 0x29, - 0x3f, 0x54, 0x69, 0x44, 0x42, 0x44, 0x47, 0x3c, - 0x44, 0x37, 0x5b, 0x43, 0x2d, 0x39, 0x39, 0x58, - 0x39, 0x4d, 0x44, 0x6d, 0x2e, 0x75, 0x5c, 0x66, - 0x22, 0x1f, 0x1b, 0x1c, 0x22, 0x25, 0x29, 0x29, - 0x2e, 0x1c, 0x1e, 0x1f, 0x1e, 0x1a, 0x18, 0x18, - 0x20, 0x1a, 0x2c, 0x2e, 0x27, 0x1b, 0x3f, 0x3f, - 0x62, 0x3b, 0x5f, 0x55, 0x31, 0x4d, 0x32, 0x49, +Gfx castle_brick1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 castle_brick1_rgba16[] = { + 0x5a, 0xd7, 0x4a, 0x53, 0x42, 0x11, 0x5a, 0xd7, + 0x4a, 0x53, 0x5a, 0xd7, 0x52, 0x95, 0x42, 0x11, + 0x5a, 0xd7, 0x52, 0x95, 0x39, 0xcf, 0x6b, 0x5b, + 0x6b, 0x5b, 0x63, 0x19, 0x42, 0x11, 0x39, 0xcf, + 0x29, 0x4b, 0x42, 0x11, 0x52, 0x95, 0x29, 0x4b, + 0x39, 0xcf, 0x63, 0x19, 0x4a, 0x53, 0x29, 0x4b, + 0x4a, 0x53, 0x52, 0x95, 0x42, 0x11, 0x42, 0x11, + 0x31, 0x8d, 0x63, 0x19, 0x18, 0xc7, 0x39, 0xcf, + 0x4a, 0x53, 0x39, 0xcf, 0x42, 0x11, 0x10, 0x85, + 0x5a, 0xd7, 0x52, 0x95, 0x63, 0x19, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x42, 0x11, 0x5a, 0xd7, + 0x63, 0x19, 0x42, 0x11, 0x5a, 0xd7, 0x5a, 0xd7, + 0x31, 0x8d, 0x29, 0x4b, 0x4a, 0x53, 0x42, 0x11, + 0x18, 0xc7, 0x39, 0xcf, 0x52, 0x95, 0x39, 0xcf, + 0x7b, 0xdf, 0x63, 0x19, 0x21, 0x09, 0x6b, 0x5b, + 0x39, 0xcf, 0x42, 0x11, 0x21, 0x09, 0x42, 0x11, + 0x39, 0xcf, 0x42, 0x11, 0x42, 0x11, 0x52, 0x95, + 0x4a, 0x53, 0x52, 0x95, 0x63, 0x19, 0x4a, 0x53, + 0x4a, 0x53, 0x42, 0x11, 0x6b, 0x5b, 0x4a, 0x53, + 0x5a, 0xd7, 0x6b, 0x5b, 0x63, 0x19, 0x31, 0x8d, + 0x29, 0x4b, 0x31, 0x8d, 0x39, 0xcf, 0x4a, 0x53, + 0x31, 0x8d, 0x4a, 0x53, 0x4a, 0x53, 0x18, 0xc7, + 0x63, 0x19, 0x42, 0x11, 0x5a, 0xd7, 0x52, 0x95, + 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, 0x4a, 0x53, + 0x31, 0x8d, 0x4a, 0x53, 0x29, 0x4b, 0x4a, 0x53, + 0x39, 0xcf, 0x39, 0xcf, 0x4a, 0x53, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x52, 0x95, 0x4a, 0x53, + 0x42, 0x11, 0x29, 0x4b, 0x31, 0x8d, 0x29, 0x4b, + 0x21, 0x09, 0x5a, 0xd7, 0x6b, 0x5b, 0x39, 0xcf, + 0x52, 0x95, 0x31, 0x8d, 0x52, 0x95, 0x10, 0x85, + 0x39, 0xcf, 0x42, 0x11, 0x4a, 0x53, 0x4a, 0x53, + 0x42, 0x11, 0x4a, 0x53, 0x29, 0x4b, 0x31, 0x8d, + 0x6b, 0x5b, 0x73, 0x9d, 0x39, 0xcf, 0x4a, 0x53, + 0x31, 0x8d, 0x4a, 0x53, 0x4a, 0x53, 0x5a, 0xd7, + 0x4a, 0x53, 0x21, 0x09, 0x42, 0x11, 0x73, 0x9d, + 0x63, 0x19, 0x7b, 0xdf, 0x6b, 0x5b, 0x63, 0x19, + 0x18, 0xc7, 0x5a, 0xd7, 0x42, 0x11, 0x31, 0x8d, + 0x42, 0x11, 0x31, 0x8d, 0x42, 0x11, 0x42, 0x11, + 0x39, 0xcf, 0x63, 0x19, 0x52, 0x95, 0x6b, 0x5b, + 0x7b, 0xdf, 0x31, 0x8d, 0x6b, 0x5b, 0x52, 0x95, + 0x39, 0xcf, 0x29, 0x4b, 0x4a, 0x53, 0x6b, 0x5b, + 0x52, 0x95, 0x42, 0x11, 0x42, 0x11, 0x42, 0x11, + 0x4a, 0x53, 0x63, 0x19, 0x42, 0x11, 0x31, 0x8d, + 0x5a, 0xd7, 0x31, 0x8d, 0x5a, 0xd7, 0x42, 0x11, + 0x21, 0x09, 0x29, 0x4b, 0x52, 0x95, 0x42, 0x11, + 0x6b, 0x5b, 0x39, 0xcf, 0x31, 0x8d, 0x29, 0x4b, + 0x6b, 0x5b, 0x5a, 0xd7, 0x5a, 0xd7, 0x4a, 0x53, + 0x6b, 0x5b, 0x10, 0x85, 0x42, 0x11, 0x21, 0x09, + 0x21, 0x09, 0x21, 0x09, 0x31, 0x8d, 0x31, 0x8d, + 0x21, 0x09, 0x21, 0x09, 0x21, 0x09, 0x29, 0x4b, + 0x21, 0x09, 0x21, 0x09, 0x42, 0x11, 0x63, 0x19, + 0x42, 0x11, 0x29, 0x4b, 0x39, 0xcf, 0x52, 0x95, + 0x21, 0x09, 0x21, 0x09, 0x31, 0x8d, 0x21, 0x09, + 0x42, 0x11, 0x31, 0x8d, 0x42, 0x11, 0x10, 0x85, + 0x18, 0xc7, 0x29, 0x4b, 0x39, 0xcf, 0x29, 0x4b, + 0x18, 0xc7, 0x10, 0x85, 0x10, 0x85, 0x10, 0x85, + 0x21, 0x09, 0x31, 0x8d, 0x63, 0x19, 0x6b, 0x5b, + 0x6b, 0x5b, 0xa5, 0x29, 0x7b, 0xdf, 0x84, 0x21, + 0x8c, 0x63, 0x7b, 0xdf, 0x63, 0x19, 0x6b, 0x5b, + 0x5a, 0xd7, 0x52, 0x95, 0x63, 0x19, 0x6b, 0x5b, + 0x84, 0x21, 0xb5, 0xad, 0x84, 0x21, 0xa5, 0x29, + 0x94, 0xa5, 0xa5, 0x29, 0x6b, 0x5b, 0x5a, 0xd7, + 0x21, 0x09, 0x63, 0x19, 0xb5, 0xad, 0x7b, 0xdf, + 0x5a, 0xd7, 0x73, 0x9d, 0x94, 0xa5, 0x73, 0x9d, + 0x4a, 0x53, 0x42, 0x11, 0x5a, 0xd7, 0x4a, 0x53, + 0x5a, 0xd7, 0x6b, 0x5b, 0x6b, 0x5b, 0x63, 0x19, + 0x6b, 0x5b, 0x7b, 0xdf, 0x7b, 0xdf, 0x7b, 0xdf, + 0x42, 0x11, 0x52, 0x95, 0x6b, 0x5b, 0x63, 0x19, + 0x73, 0x9d, 0x63, 0x19, 0x6b, 0x5b, 0x5a, 0xd7, + 0x6b, 0x5b, 0xa5, 0x29, 0x42, 0x11, 0x4a, 0x53, + 0x6b, 0x5b, 0x42, 0x11, 0x6b, 0x5b, 0x39, 0xcf, + 0x5a, 0xd7, 0x63, 0x19, 0x52, 0x95, 0x4a, 0x53, + 0x31, 0x8d, 0x4a, 0x53, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x39, 0xcf, 0x84, 0x21, 0x5a, 0xd7, + 0x6b, 0x5b, 0x52, 0x95, 0x4a, 0x53, 0x4a, 0x53, + 0x5a, 0xd7, 0x4a, 0x53, 0x42, 0x11, 0x39, 0xcf, + 0x39, 0xcf, 0x52, 0x95, 0x5a, 0xd7, 0x63, 0x19, + 0x5a, 0xd7, 0x63, 0x19, 0x4a, 0x53, 0x7b, 0xdf, + 0x8c, 0x63, 0x31, 0x8d, 0x6b, 0x5b, 0x52, 0x95, + 0x63, 0x19, 0x63, 0x19, 0x7b, 0xdf, 0x4a, 0x53, + 0x21, 0x09, 0x42, 0x11, 0x4a, 0x53, 0x6b, 0x5b, + 0x5a, 0xd7, 0x6b, 0x5b, 0x73, 0x9d, 0x39, 0xcf, + 0x39, 0xcf, 0x5a, 0xd7, 0x5a, 0xd7, 0x7b, 0xdf, + 0x4a, 0x53, 0x39, 0xcf, 0x4a, 0x53, 0x29, 0x4b, + 0x42, 0x11, 0x4a, 0x53, 0x4a, 0x53, 0x31, 0x8d, + 0x42, 0x11, 0x31, 0x8d, 0x6b, 0x5b, 0x6b, 0x5b, + 0x42, 0x11, 0x39, 0xcf, 0x39, 0xcf, 0x52, 0x95, + 0x52, 0x95, 0x4a, 0x53, 0x52, 0x95, 0x7b, 0xdf, + 0x29, 0x4b, 0x63, 0x19, 0x21, 0x09, 0x4a, 0x53, + 0x6b, 0x5b, 0x5a, 0xd7, 0x6b, 0x5b, 0x42, 0x11, + 0x5a, 0xd7, 0x4a, 0x53, 0x4a, 0x53, 0x42, 0x11, + 0x31, 0x8d, 0x5a, 0xd7, 0x42, 0x11, 0x39, 0xcf, + 0x5a, 0xd7, 0x63, 0x19, 0x5a, 0xd7, 0x4a, 0x53, + 0x31, 0x8d, 0x4a, 0x53, 0x6b, 0x5b, 0x73, 0x9d, + 0x4a, 0x53, 0x21, 0x09, 0x63, 0x19, 0x52, 0x95, + 0x52, 0x95, 0x63, 0x19, 0x52, 0x95, 0x73, 0x9d, + 0x4a, 0x53, 0x63, 0x19, 0x52, 0x95, 0x7b, 0xdf, + 0x42, 0x11, 0x6b, 0x5b, 0x5a, 0xd7, 0x31, 0x8d, + 0x39, 0xcf, 0x31, 0x8d, 0x52, 0x95, 0x52, 0x95, + 0x31, 0x8d, 0x4a, 0x53, 0x29, 0x4b, 0x42, 0x11, + 0x31, 0x8d, 0x21, 0x09, 0x42, 0x11, 0x4a, 0x53, + 0x39, 0xcf, 0x31, 0x8d, 0x42, 0x11, 0x39, 0xcf, + 0x4a, 0x53, 0x21, 0x09, 0x4a, 0x53, 0x6b, 0x5b, + 0x42, 0x11, 0x42, 0x11, 0x29, 0x4b, 0x42, 0x11, + 0x63, 0x19, 0x52, 0x95, 0x4a, 0x53, 0x63, 0x19, + 0x4a, 0x53, 0x4a, 0x53, 0x29, 0x4b, 0x31, 0x8d, + 0x29, 0x4b, 0x31, 0x8d, 0x42, 0x11, 0x29, 0x4b, + 0x39, 0xcf, 0x29, 0x4b, 0x52, 0x95, 0x4a, 0x53, + 0x42, 0x11, 0x39, 0xcf, 0x21, 0x09, 0x31, 0x8d, + 0x39, 0xcf, 0x42, 0x11, 0x52, 0x95, 0x52, 0x95, + 0x39, 0xcf, 0x29, 0x4b, 0x29, 0x4b, 0x6b, 0x5b, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0x31, 0x8d, + 0x42, 0x11, 0x52, 0x95, 0x63, 0x19, 0x52, 0x95, + 0x63, 0x19, 0x39, 0xcf, 0x21, 0x09, 0x52, 0x95, + 0x39, 0xcf, 0x39, 0xcf, 0x29, 0x4b, 0x4a, 0x53, + 0x39, 0xcf, 0x42, 0x11, 0x4a, 0x53, 0x63, 0x19, + 0x31, 0x8d, 0x29, 0x4b, 0x42, 0x11, 0x31, 0x8d, + 0x31, 0x8d, 0x42, 0x11, 0x5a, 0xd7, 0x5a, 0xd7, + 0x31, 0x8d, 0x31, 0x8d, 0x39, 0xcf, 0x6b, 0x5b, + 0x4a, 0x53, 0x63, 0x19, 0x63, 0x19, 0x42, 0x11, + 0x39, 0xcf, 0x52, 0x95, 0x42, 0x11, 0x4a, 0x53, + 0x31, 0x8d, 0x31, 0x8d, 0x63, 0x19, 0x42, 0x11, + 0x31, 0x8d, 0x42, 0x11, 0x52, 0x95, 0x42, 0x11, + 0x42, 0x11, 0x5a, 0xd7, 0x52, 0x95, 0x73, 0x9d, + 0x4a, 0x53, 0x42, 0x11, 0x5a, 0xd7, 0x42, 0x11, + 0x31, 0x8d, 0x39, 0xcf, 0x42, 0x11, 0x52, 0x95, + 0x31, 0x8d, 0x31, 0x8d, 0x52, 0x95, 0x39, 0xcf, + 0x5a, 0xd7, 0x4a, 0x53, 0x84, 0x21, 0x4a, 0x53, + 0x31, 0x8d, 0x6b, 0x5b, 0x5a, 0xd7, 0x42, 0x11, + 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, 0x7b, 0xdf, + 0x84, 0x21, 0x5a, 0xd7, 0x6b, 0x5b, 0x5a, 0xd7, + 0x5a, 0xd7, 0x63, 0x19, 0x39, 0xcf, 0x31, 0x8d, + 0x21, 0x09, 0x42, 0x11, 0x4a, 0x53, 0x4a, 0x53, + 0x31, 0x8d, 0x31, 0x8d, 0x31, 0x8d, 0x42, 0x11, + 0x4a, 0x53, 0x42, 0x11, 0x4a, 0x53, 0x5a, 0xd7, + 0x4a, 0x53, 0x63, 0x19, 0x63, 0x19, 0x4a, 0x53, + 0x31, 0x8d, 0x5a, 0xd7, 0x42, 0x11, 0x31, 0x8d, + 0x8c, 0x63, 0x52, 0x95, 0x39, 0xcf, 0x6b, 0x5b, + 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, 0x42, 0x11, + 0x4a, 0x53, 0x52, 0x95, 0x4a, 0x53, 0x39, 0xcf, + 0x6b, 0x5b, 0x4a, 0x53, 0x31, 0x8d, 0x39, 0xcf, + 0x31, 0x8d, 0x31, 0x8d, 0x4a, 0x53, 0x52, 0x95, + 0x29, 0x4b, 0x42, 0x11, 0x4a, 0x53, 0x39, 0xcf, + 0x4a, 0x53, 0x6b, 0x5b, 0x31, 0x8d, 0x5a, 0xd7, + 0x21, 0x09, 0x39, 0xcf, 0x39, 0xcf, 0x42, 0x11, + 0x4a, 0x53, 0x52, 0x95, 0x21, 0x09, 0x29, 0x4b, + 0x39, 0xcf, 0x21, 0x09, 0x21, 0x09, 0x10, 0x85, + 0x21, 0x09, 0x4a, 0x53, 0x4a, 0x53, 0x31, 0x8d, + 0x4a, 0x53, 0x39, 0xcf, 0x18, 0xc7, 0x21, 0x09, + 0x31, 0x8d, 0x18, 0xc7, 0x21, 0x09, 0x10, 0x85, + 0x18, 0xc7, 0x31, 0x8d, 0x21, 0x09, 0x18, 0xc7, + 0x18, 0xc7, 0x21, 0x09, 0x18, 0xc7, 0x21, 0x09, + 0x84, 0x21, 0x6b, 0x5b, 0x84, 0x21, 0x6b, 0x5b, + 0x8c, 0x63, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x6b, 0x5b, 0x7b, 0xdf, 0x5a, 0xd7, 0x73, 0x9d, + 0x6b, 0x5b, 0x84, 0x21, 0x73, 0x9d, 0x84, 0x21, + 0x6b, 0x5b, 0x5a, 0xd7, 0x7b, 0xdf, 0x73, 0x9d, + 0x6b, 0x5b, 0x31, 0x8d, 0x29, 0x4b, 0x4a, 0x53, + 0x63, 0x19, 0x4a, 0x53, 0x5a, 0xd7, 0x52, 0x95, + 0x84, 0x21, 0x6b, 0x5b, 0x73, 0x9d, 0x63, 0x19, + 0x42, 0x11, 0x84, 0x21, 0x52, 0x95, 0x5a, 0xd7, + 0x5a, 0xd7, 0x5a, 0xd7, 0x4a, 0x53, 0x52, 0x95, + 0x8c, 0x63, 0x7b, 0xdf, 0x7b, 0xdf, 0x6b, 0x5b, + 0x63, 0x19, 0x63, 0x19, 0x5a, 0xd7, 0x5a, 0xd7, + 0x5a, 0xd7, 0x42, 0x11, 0x42, 0x11, 0x4a, 0x53, + 0x6b, 0x5b, 0x4a, 0x53, 0x18, 0xc7, 0x4a, 0x53, + 0x5a, 0xd7, 0x63, 0x19, 0x7b, 0xdf, 0x5a, 0xd7, + 0x63, 0x19, 0x8c, 0x63, 0x42, 0x11, 0x4a, 0x53, + 0x42, 0x11, 0x5a, 0xd7, 0x6b, 0x5b, 0x52, 0x95, + 0x6b, 0x5b, 0x5a, 0xd7, 0x73, 0x9d, 0x42, 0x11, + 0x63, 0x19, 0x6b, 0x5b, 0x52, 0x95, 0x52, 0x95, + 0x52, 0x95, 0x7b, 0xdf, 0x42, 0x11, 0x63, 0x19, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x5a, 0xd7, + 0x52, 0x95, 0x52, 0x95, 0x4a, 0x53, 0x4a, 0x53, + 0x4a, 0x53, 0x6b, 0x5b, 0x63, 0x19, 0x5a, 0xd7, + 0x4a, 0x53, 0x4a, 0x53, 0x63, 0x19, 0x4a, 0x53, + 0x42, 0x11, 0x7b, 0xdf, 0x84, 0x21, 0x84, 0x21, + 0x84, 0x21, 0x4a, 0x53, 0x4a, 0x53, 0x42, 0x11, + 0x42, 0x11, 0x4a, 0x53, 0x39, 0xcf, 0x52, 0x95, + 0x8c, 0x63, 0x5a, 0xd7, 0x4a, 0x53, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x42, 0x11, 0x39, 0xcf, + 0x31, 0x8d, 0x29, 0x4b, 0x29, 0x4b, 0x52, 0x95, + 0x31, 0x8d, 0x18, 0xc7, 0x21, 0x09, 0x4a, 0x53, + 0x42, 0x11, 0x4a, 0x53, 0x42, 0x11, 0x52, 0x95, + 0x42, 0x11, 0x63, 0x19, 0x6b, 0x5b, 0x52, 0x95, + 0x52, 0x95, 0x7b, 0xdf, 0x42, 0x11, 0x6b, 0x5b, + 0x29, 0x4b, 0x52, 0x95, 0x73, 0x9d, 0x63, 0x19, + 0x4a, 0x53, 0x39, 0xcf, 0x42, 0x11, 0x5a, 0xd7, + 0x42, 0x11, 0x4a, 0x53, 0x4a, 0x53, 0x42, 0x11, + 0x5a, 0xd7, 0x29, 0x4b, 0x10, 0x85, 0x31, 0x8d, + 0x39, 0xcf, 0x39, 0xcf, 0x42, 0x11, 0x4a, 0x53, + 0x4a, 0x53, 0x52, 0x95, 0x39, 0xcf, 0x39, 0xcf, + 0x42, 0x11, 0x8c, 0x63, 0x63, 0x19, 0x63, 0x19, + 0x84, 0x21, 0x9c, 0xe7, 0x5a, 0xd7, 0x4a, 0x53, + 0x31, 0x8d, 0x5a, 0xd7, 0x42, 0x11, 0x73, 0x9d, + 0x4a, 0x53, 0x08, 0x43, 0x39, 0xcf, 0x63, 0x19, + 0x52, 0x95, 0x6b, 0x5b, 0x4a, 0x53, 0x6b, 0x5b, + 0x42, 0x11, 0x21, 0x09, 0x31, 0x8d, 0x52, 0x95, + 0x42, 0x11, 0x5a, 0xd7, 0x52, 0x95, 0x39, 0xcf, + 0x29, 0x4b, 0x39, 0xcf, 0x4a, 0x53, 0x21, 0x09, + 0x63, 0x19, 0x21, 0x09, 0x5a, 0xd7, 0x9c, 0xe7, + 0x63, 0x19, 0x52, 0x95, 0x63, 0x19, 0x7b, 0xdf, + 0x4a, 0x53, 0x8c, 0x63, 0x8c, 0x63, 0x29, 0x4b, + 0x7b, 0xdf, 0x4a, 0x53, 0x6b, 0x5b, 0x4a, 0x53, + 0x52, 0x95, 0x52, 0x95, 0x5a, 0xd7, 0x5a, 0xd7, + 0x4a, 0x53, 0x29, 0x4b, 0x31, 0x8d, 0x4a, 0x53, + 0x63, 0x19, 0x5a, 0xd7, 0x84, 0x21, 0x52, 0x95, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x5a, 0xd7, 0x52, 0x95, 0x6b, 0x5b, 0x52, 0x95, + 0x4a, 0x53, 0x73, 0x9d, 0x31, 0x8d, 0x7b, 0xdf, + 0x5a, 0xd7, 0x73, 0x9d, 0xde, 0xf7, 0x39, 0xcf, + 0x4a, 0x53, 0x6b, 0x5b, 0x42, 0x11, 0x42, 0x11, + 0x42, 0x11, 0x4a, 0x53, 0x6b, 0x5b, 0x7b, 0xdf, + 0x7b, 0xdf, 0x18, 0xc7, 0x42, 0x11, 0x18, 0xc7, + 0x31, 0x8d, 0x52, 0x95, 0x52, 0x95, 0x63, 0x19, + 0x42, 0x11, 0x4a, 0x53, 0x4a, 0x53, 0x63, 0x19, + 0x42, 0x11, 0x5a, 0xd7, 0x42, 0x11, 0x52, 0x95, + 0x10, 0x85, 0x4a, 0x53, 0x42, 0x11, 0x94, 0xa5, + 0x73, 0x9d, 0x63, 0x19, 0x5a, 0xd7, 0x4a, 0x53, + 0x42, 0x11, 0x42, 0x11, 0x5a, 0xd7, 0x42, 0x11, + 0x52, 0x95, 0x6b, 0x5b, 0x63, 0x19, 0x6b, 0x5b, + 0x7b, 0xdf, 0x31, 0x8d, 0x39, 0xcf, 0x39, 0xcf, + 0x31, 0x8d, 0x39, 0xcf, 0x63, 0x19, 0x4a, 0x53, + 0x29, 0x4b, 0x4a, 0x53, 0x4a, 0x53, 0x42, 0x11, + 0x4a, 0x53, 0x39, 0xcf, 0x42, 0x11, 0x5a, 0xd7, + 0x4a, 0x53, 0x5a, 0xd7, 0x5a, 0xd7, 0x63, 0x19, + 0x52, 0x95, 0x63, 0x19, 0x5a, 0xd7, 0x31, 0x8d, + 0x4a, 0x53, 0x52, 0x95, 0x42, 0x11, 0x52, 0x95, + 0x63, 0x19, 0x63, 0x19, 0x52, 0x95, 0x4a, 0x53, + 0x5a, 0xd7, 0x52, 0x95, 0x4a, 0x53, 0x42, 0x11, + 0x6b, 0x5b, 0x39, 0xcf, 0x31, 0x8d, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x4a, 0x53, 0x42, 0x11, + 0x52, 0x95, 0x63, 0x19, 0x31, 0x8d, 0x6b, 0x5b, + 0x39, 0xcf, 0x63, 0x19, 0x5a, 0xd7, 0x4a, 0x53, + 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, 0x4a, 0x53, + 0x42, 0x11, 0x39, 0xcf, 0x39, 0xcf, 0x31, 0x8d, + 0x4a, 0x53, 0x42, 0x11, 0x84, 0x21, 0x39, 0xcf, + 0x52, 0x95, 0x21, 0x09, 0x39, 0xcf, 0x4a, 0x53, + 0x42, 0x11, 0x42, 0x11, 0x52, 0x95, 0x42, 0x11, + 0x4a, 0x53, 0x39, 0xcf, 0x5a, 0xd7, 0x52, 0x95, + 0x52, 0x95, 0x31, 0x8d, 0x21, 0x09, 0x42, 0x11, + 0x63, 0x19, 0x21, 0x09, 0x21, 0x09, 0x29, 0x4b, + 0x42, 0x11, 0x52, 0x95, 0x6b, 0x5b, 0x42, 0x11, + 0x42, 0x11, 0x42, 0x11, 0x4a, 0x53, 0x39, 0xcf, + 0x42, 0x11, 0x39, 0xcf, 0x5a, 0xd7, 0x42, 0x11, + 0x29, 0x4b, 0x39, 0xcf, 0x39, 0xcf, 0x5a, 0xd7, + 0x39, 0xcf, 0x4a, 0x53, 0x42, 0x11, 0x6b, 0x5b, + 0x31, 0x8d, 0x73, 0x9d, 0x5a, 0xd7, 0x63, 0x19, + 0x21, 0x09, 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, + 0x21, 0x09, 0x21, 0x09, 0x29, 0x4b, 0x29, 0x4b, + 0x31, 0x8d, 0x18, 0xc7, 0x21, 0x09, 0x21, 0x09, + 0x21, 0x09, 0x18, 0xc7, 0x18, 0xc7, 0x18, 0xc7, + 0x21, 0x09, 0x18, 0xc7, 0x29, 0x4b, 0x31, 0x8d, + 0x29, 0x4b, 0x18, 0xc7, 0x42, 0x11, 0x42, 0x11, + 0x63, 0x19, 0x39, 0xcf, 0x63, 0x19, 0x52, 0x95, + 0x31, 0x8d, 0x4a, 0x53, 0x31, 0x8d, 0x4a, 0x53, }; @@ -7059,771 +7511,1362 @@ u8 castle_seamless_wood_texture_free_76_rgba16[] = { }; -Gfx castle_door1_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 castle_door1_ci8[] = { - 0x00, 0x01, 0x01, 0x00, 0x02, 0x03, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, 0x05, 0x05, - 0x05, 0x06, 0x06, 0x07, 0x07, 0x05, 0x01, 0x05, - 0x08, 0x08, 0x05, 0x08, 0x08, 0x08, 0x08, 0x09, - 0x00, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, - 0x11, 0x12, 0x13, 0x14, 0x13, 0x14, 0x14, 0x15, - 0x15, 0x16, 0x16, 0x17, 0x16, 0x18, 0x19, 0x1a, - 0x1b, 0x19, 0x1c, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, - 0x00, 0x21, 0x22, 0x23, 0x24, 0x10, 0x15, 0x25, - 0x26, 0x27, 0x26, 0x28, 0x28, 0x29, 0x29, 0x19, - 0x19, 0x29, 0x29, 0x2a, 0x29, 0x29, 0x29, 0x25, - 0x25, 0x2b, 0x21, 0x2c, 0x2d, 0x2e, 0x1f, 0x20, - 0x2f, 0x2f, 0x2d, 0x23, 0x30, 0x2b, 0x31, 0x32, - 0x33, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x34, - 0x34, 0x28, 0x28, 0x35, 0x35, 0x28, 0x28, 0x36, - 0x37, 0x31, 0x38, 0x29, 0x2d, 0x2e, 0x1f, 0x1f, - 0x39, 0x3a, 0x18, 0x19, 0x2b, 0x3b, 0x3b, 0x3c, - 0x3c, 0x3d, 0x3d, 0x28, 0x3e, 0x3b, 0x3f, 0x40, - 0x40, 0x3b, 0x3b, 0x28, 0x3e, 0x3e, 0x28, 0x41, - 0x42, 0x3f, 0x43, 0x44, 0x45, 0x21, 0x46, 0x47, - 0x48, 0x2f, 0x19, 0x19, 0x42, 0x3c, 0x28, 0x49, - 0x49, 0x28, 0x28, 0x4a, 0x4a, 0x28, 0x28, 0x19, - 0x19, 0x28, 0x28, 0x3b, 0x3b, 0x31, 0x28, 0x36, - 0x4b, 0x28, 0x4c, 0x4d, 0x4e, 0x4f, 0x1f, 0x50, - 0x3a, 0x3a, 0x51, 0x52, 0x53, 0x54, 0x28, 0x49, - 0x49, 0x2b, 0x55, 0x31, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x3e, 0x28, 0x3d, 0x3d, 0x28, 0x28, 0x37, - 0x36, 0x31, 0x41, 0x56, 0x57, 0x21, 0x46, 0x58, - 0x48, 0x3a, 0x51, 0x51, 0x53, 0x59, 0x28, 0x49, - 0x49, 0x31, 0x28, 0x31, 0x31, 0x28, 0x28, 0x22, - 0x22, 0x3e, 0x28, 0x5a, 0x5a, 0x31, 0x31, 0x37, - 0x37, 0x28, 0x5b, 0x5c, 0x1d, 0x21, 0x58, 0x58, - 0x39, 0x3a, 0x23, 0x23, 0x42, 0x4e, 0x28, 0x36, - 0x49, 0x28, 0x28, 0x40, 0x5d, 0x31, 0x28, 0x22, - 0x23, 0x56, 0x42, 0x5e, 0x40, 0x28, 0x28, 0x36, - 0x37, 0x31, 0x41, 0x41, 0x1d, 0x21, 0x58, 0x58, - 0x39, 0x3a, 0x23, 0x23, 0x42, 0x5f, 0x3e, 0x36, - 0x49, 0x28, 0x28, 0x28, 0x31, 0x3e, 0x28, 0x23, - 0x18, 0x60, 0x42, 0x28, 0x28, 0x28, 0x31, 0x37, - 0x37, 0x31, 0x41, 0x41, 0x07, 0x21, 0x58, 0x58, - 0x48, 0x3a, 0x22, 0x23, 0x3c, 0x31, 0x3e, 0x49, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x23, - 0x23, 0x3e, 0x28, 0x62, 0x3b, 0x28, 0x28, 0x37, - 0x36, 0x28, 0x63, 0x63, 0x07, 0x64, 0x65, 0x66, - 0x4f, 0x2c, 0x22, 0x22, 0x42, 0x3e, 0x3e, 0x49, - 0x61, 0x3e, 0x3e, 0x28, 0x28, 0x28, 0x28, 0x23, - 0x23, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x2a, 0x2a, 0x07, 0x64, 0x46, 0x46, - 0x67, 0x67, 0x22, 0x68, 0x55, 0x25, 0x25, 0x69, - 0x30, 0x31, 0x55, 0x30, 0x6a, 0x30, 0x30, 0x63, - 0x5e, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x6b, - 0x6c, 0x4c, 0x13, 0x5d, 0x5d, 0x21, 0x47, 0x46, - 0x67, 0x67, 0x6d, 0x6d, 0x5e, 0x28, 0x28, 0x36, - 0x4b, 0x28, 0x28, 0x55, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x36, - 0x37, 0x3e, 0x29, 0x2a, 0x07, 0x2e, 0x46, 0x46, - 0x67, 0x67, 0x51, 0x51, 0x6e, 0x28, 0x28, 0x49, - 0x49, 0x28, 0x28, 0x69, 0x69, 0x28, 0x28, 0x22, - 0x22, 0x60, 0x6f, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x36, 0x70, 0x71, 0x6c, 0x1d, 0x1e, 0x46, 0x58, - 0x39, 0x39, 0x72, 0x72, 0x73, 0x28, 0x28, 0x49, - 0x49, 0x2b, 0x2b, 0x55, 0x55, 0x3f, 0x74, 0x22, - 0x22, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x36, - 0x36, 0x70, 0x25, 0x25, 0x1d, 0x21, 0x46, 0x46, - 0x48, 0x39, 0x75, 0x19, 0x6e, 0x28, 0x28, 0x61, - 0x61, 0x76, 0x28, 0x55, 0x55, 0x28, 0x28, 0x22, - 0x22, 0x3b, 0x3f, 0x77, 0x29, 0x31, 0x28, 0x36, - 0x37, 0x70, 0x25, 0x25, 0x2d, 0x1e, 0x46, 0x47, - 0x67, 0x67, 0x19, 0x19, 0x6b, 0x29, 0x29, 0x3c, - 0x3c, 0x42, 0x42, 0x31, 0x28, 0x31, 0x28, 0x22, - 0x23, 0x63, 0x60, 0x78, 0x77, 0x31, 0x31, 0x36, - 0x37, 0x70, 0x6c, 0x6c, 0x36, 0x1e, 0x79, 0x46, - 0x48, 0x3a, 0x19, 0x19, 0x42, 0x28, 0x3e, 0x49, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x60, 0x28, 0x31, 0x28, 0x31, 0x0a, - 0x7a, 0x7a, 0x7b, 0x7c, 0x7d, 0x1e, 0x06, 0x50, - 0x3a, 0x2f, 0x22, 0x23, 0x25, 0x28, 0x28, 0x61, - 0x61, 0x28, 0x28, 0x29, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x60, 0x28, 0x3e, 0x7e, 0x7e, 0x2c, - 0x2c, 0x7f, 0x80, 0x81, 0x22, 0x21, 0x66, 0x82, - 0x2f, 0x2f, 0x22, 0x22, 0x2a, 0x3e, 0x3e, 0x61, - 0x61, 0x28, 0x28, 0x29, 0x73, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x6f, 0x28, 0x28, 0x83, 0x83, 0x84, - 0x84, 0x85, 0x86, 0x87, 0x2d, 0x1e, 0x58, 0x1f, - 0x21, 0x2c, 0x22, 0x22, 0x55, 0x3b, 0x3b, 0x69, - 0x69, 0x28, 0x28, 0x88, 0x62, 0x28, 0x28, 0x3d, - 0x89, 0x28, 0x28, 0x25, 0x25, 0x89, 0x8a, 0x2c, - 0x2c, 0x2c, 0x8b, 0x8b, 0x8c, 0x66, 0x46, 0x46, - 0x67, 0x67, 0x22, 0x22, 0x2b, 0x25, 0x3b, 0x07, - 0x36, 0x28, 0x3e, 0x28, 0x3e, 0x31, 0x28, 0x18, - 0x18, 0x3e, 0x28, 0x25, 0x5c, 0x28, 0x31, 0x8d, - 0x40, 0x44, 0x6c, 0x6c, 0x07, 0x66, 0x47, 0x1f, - 0x67, 0x67, 0x19, 0x18, 0x41, 0x28, 0x28, 0x61, - 0x61, 0x28, 0x28, 0x62, 0x29, 0x28, 0x28, 0x18, - 0x18, 0x60, 0x63, 0x5b, 0x5b, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x89, 0x5c, 0x1d, 0x66, 0x50, 0x1f, - 0x67, 0x67, 0x51, 0x8e, 0x2a, 0x28, 0x28, 0x61, - 0x61, 0x42, 0x42, 0x28, 0x28, 0x28, 0x28, 0x2d, - 0x2d, 0x63, 0x63, 0x28, 0x28, 0x28, 0x28, 0x37, - 0x37, 0x28, 0x6f, 0x60, 0x29, 0x66, 0x1f, 0x1f, - 0x8f, 0x8f, 0x19, 0x90, 0x2b, 0x3f, 0x3f, 0x2b, - 0x2b, 0x3f, 0x3b, 0x28, 0x28, 0x3b, 0x74, 0x28, - 0x28, 0x3b, 0x3b, 0x28, 0x28, 0x28, 0x28, 0x6b, - 0x41, 0x31, 0x5c, 0x3b, 0x2d, 0x66, 0x50, 0x1f, - 0x91, 0x67, 0x22, 0x23, 0x92, 0x3e, 0x55, 0x49, - 0x49, 0x28, 0x28, 0x62, 0x62, 0x28, 0x28, 0x18, - 0x22, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x36, - 0x37, 0x55, 0x2a, 0x29, 0x30, 0x66, 0x1f, 0x1f, - 0x93, 0x94, 0x95, 0x96, 0x13, 0x2b, 0x28, 0x1d, - 0x97, 0x98, 0x74, 0x28, 0x28, 0x28, 0x28, 0x4b, - 0x4b, 0x3b, 0x3b, 0x28, 0x28, 0x28, 0x31, 0x37, - 0x37, 0x55, 0x14, 0x99, 0x2d, 0x66, 0x1f, 0x1f, - 0x9a, 0x9b, 0x9c, 0x9d, 0x4f, 0x10, 0x9e, 0x9f, - 0x9f, 0xa0, 0xa0, 0x29, 0x62, 0x3e, 0x28, 0x44, - 0xa1, 0xa0, 0xa0, 0x5a, 0x5a, 0x28, 0x28, 0xa2, - 0xa3, 0x2d, 0x2c, 0x2c, 0x2d, 0x1e, 0x1f, 0x1f, - 0x93, 0x67, 0xa4, 0xa4, 0x17, 0xa4, 0xa5, 0x10, - 0x10, 0xa6, 0xa7, 0xa6, 0xa7, 0xa6, 0xa8, 0x95, - 0xa9, 0xaa, 0xaa, 0xab, 0xab, 0xa8, 0xa6, 0xac, - 0xa8, 0x0c, 0x4b, 0x4b, 0x1d, 0x4f, 0x1f, 0x1f, - 0x93, 0x93, 0x2c, 0x2c, 0xad, 0xae, 0xad, 0xad, - 0xad, 0x2c, 0x2c, 0xaf, 0x8f, 0xb0, 0x8f, 0xb0, - 0xb0, 0xae, 0xae, 0xae, 0xb1, 0x7f, 0x2c, 0xad, - 0xb0, 0xb0, 0xae, 0xaf, 0xaf, 0x21, 0x96, 0x02, - 0xb2, 0xb3, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x04, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0xb4, 0xb5, 0x66, - -}; - -Gfx castle_door1_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 castle_door1_pal_rgba16[] = { - 0x7c, 0x5d, 0x84, 0x5d, 0x31, 0x03, 0x31, 0x01, - 0x84, 0x9d, 0x84, 0x9f, 0x84, 0x5f, 0x49, 0x41, - 0x8c, 0x9f, 0x7b, 0x91, 0x21, 0x49, 0x6a, 0x43, - 0x6a, 0x83, 0x72, 0x85, 0x6a, 0x41, 0x62, 0x01, - 0x20, 0xc1, 0x20, 0x81, 0x60, 0xc3, 0x59, 0x03, - 0x61, 0x03, 0x49, 0xc1, 0x7a, 0xc5, 0x72, 0xc5, - 0x41, 0x41, 0x41, 0x81, 0x28, 0x81, 0x28, 0xc1, - 0x38, 0x81, 0x49, 0x01, 0x08, 0x83, 0x9d, 0x25, - 0x9d, 0x23, 0x08, 0x43, 0x39, 0x01, 0x39, 0x41, - 0x00, 0x41, 0x79, 0xc7, 0x79, 0x87, 0x71, 0x87, - 0xb4, 0x17, 0x71, 0x85, 0x69, 0x45, 0xab, 0xd5, - 0x00, 0x01, 0x41, 0x01, 0x08, 0x81, 0x52, 0xd3, - 0xa3, 0x93, 0xb4, 0x15, 0x59, 0x85, 0x59, 0x83, - 0x41, 0x43, 0x82, 0x09, 0x51, 0x41, 0x51, 0x01, - 0x79, 0x85, 0x5a, 0xd5, 0x52, 0xd5, 0x79, 0xc5, - 0xab, 0xd3, 0x8a, 0x47, 0xb4, 0x57, 0x81, 0xc5, - 0x9b, 0x0f, 0x9a, 0x8b, 0x9a, 0xcb, 0x50, 0xc1, - 0x50, 0xc3, 0x7a, 0xc1, 0xa5, 0x65, 0xa5, 0x25, - 0x5a, 0xd3, 0x51, 0x43, 0x7a, 0x07, 0x59, 0x41, - 0x79, 0xc9, 0x81, 0xc9, 0xab, 0x93, 0x08, 0x41, - 0x9d, 0x65, 0x6a, 0x45, 0x62, 0x85, 0x61, 0x05, - 0x93, 0x11, 0xac, 0x15, 0x92, 0x8b, 0x51, 0x81, - 0xa5, 0x67, 0x9b, 0x11, 0x82, 0x07, 0x8a, 0x49, - 0x81, 0xc7, 0x9b, 0x4f, 0x9b, 0x0d, 0xb3, 0x93, - 0xa2, 0xcd, 0x59, 0x43, 0x71, 0xc5, 0x9a, 0xcd, - 0x00, 0x43, 0x10, 0x43, 0x10, 0x83, 0x5b, 0x15, - 0x49, 0x83, 0xa3, 0xd3, 0x9b, 0x93, 0x92, 0x89, - 0x92, 0x49, 0x30, 0xc1, 0x61, 0x45, 0xa3, 0x0d, - 0xbc, 0x57, 0x92, 0x4b, 0x62, 0x45, 0x69, 0x85, - 0x82, 0x05, 0x49, 0x81, 0xac, 0x17, 0x71, 0x45, - 0x71, 0x43, 0x8c, 0xa1, 0x21, 0x09, 0x30, 0x41, - 0x69, 0x01, 0x61, 0xc1, 0x31, 0x8d, 0x00, 0x03, - 0x10, 0xc9, 0x52, 0xd7, 0x18, 0xc3, 0x18, 0xc9, +Gfx castle_door1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 castle_door1_rgba16[] = { + 0x7c, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x7c, 0x5d, + 0x31, 0x03, 0x31, 0x01, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x9d, + 0x84, 0x9d, 0x84, 0x5d, 0x84, 0x9f, 0x84, 0x9f, + 0x84, 0x9f, 0x84, 0x5f, 0x84, 0x5f, 0x49, 0x41, + 0x49, 0x41, 0x84, 0x9f, 0x84, 0x5d, 0x84, 0x9f, + 0x8c, 0x9f, 0x8c, 0x9f, 0x84, 0x9f, 0x8c, 0x9f, + 0x8c, 0x9f, 0x8c, 0x9f, 0x8c, 0x9f, 0x7b, 0x91, + 0x7c, 0x5d, 0x21, 0x49, 0x6a, 0x43, 0x6a, 0x83, + 0x72, 0x85, 0x6a, 0x41, 0x62, 0x01, 0x20, 0xc1, + 0x20, 0x81, 0x60, 0xc3, 0x59, 0x03, 0x61, 0x03, + 0x59, 0x03, 0x61, 0x03, 0x61, 0x03, 0x49, 0xc1, + 0x49, 0xc1, 0x7a, 0xc5, 0x7a, 0xc5, 0x72, 0xc5, + 0x7a, 0xc5, 0x41, 0x41, 0x41, 0x81, 0x28, 0x81, + 0x28, 0xc1, 0x41, 0x81, 0x38, 0x81, 0x38, 0x81, + 0x49, 0x01, 0x08, 0x83, 0x9d, 0x25, 0x9d, 0x23, + 0x7c, 0x5d, 0x08, 0x43, 0x39, 0x01, 0x39, 0x41, + 0x00, 0x41, 0x20, 0xc1, 0x49, 0xc1, 0x79, 0xc7, + 0x79, 0x87, 0x71, 0x87, 0x79, 0x87, 0xb4, 0x17, + 0xb4, 0x17, 0x71, 0x85, 0x71, 0x85, 0x41, 0x81, + 0x41, 0x81, 0x71, 0x85, 0x71, 0x85, 0x69, 0x45, + 0x71, 0x85, 0x71, 0x85, 0x71, 0x85, 0x79, 0xc7, + 0x79, 0xc7, 0xab, 0xd5, 0x08, 0x43, 0x00, 0x01, + 0x41, 0x01, 0x08, 0x81, 0x9d, 0x25, 0x9d, 0x23, + 0x52, 0xd3, 0x52, 0xd3, 0x41, 0x01, 0x39, 0x41, + 0xa3, 0x93, 0xab, 0xd5, 0xb4, 0x15, 0x59, 0x85, + 0x59, 0x83, 0xb4, 0x15, 0xb4, 0x15, 0xb4, 0x15, + 0xb4, 0x15, 0xb4, 0x15, 0xb4, 0x15, 0x41, 0x43, + 0x41, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x82, 0x09, + 0x82, 0x09, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x15, 0x79, 0x85, 0x71, 0x85, + 0x41, 0x01, 0x08, 0x81, 0x9d, 0x25, 0x9d, 0x25, + 0x5a, 0xd5, 0x52, 0xd5, 0x41, 0x41, 0x41, 0x81, + 0xab, 0xd5, 0x79, 0xc5, 0x79, 0xc5, 0xab, 0xd3, + 0xab, 0xd3, 0x8a, 0x47, 0x8a, 0x47, 0xb4, 0x17, + 0xb4, 0x57, 0x79, 0xc5, 0x81, 0xc5, 0x9b, 0x0f, + 0x9b, 0x0f, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x57, 0xb4, 0x57, 0xb4, 0x17, 0x9a, 0x8b, + 0x9a, 0xcb, 0x81, 0xc5, 0x50, 0xc1, 0x50, 0xc3, + 0x7a, 0xc1, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x25, + 0x5a, 0xd3, 0x52, 0xd3, 0x41, 0x81, 0x41, 0x81, + 0x9a, 0xcb, 0xab, 0xd3, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x7a, 0x07, + 0x7a, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x81, + 0x41, 0x81, 0xb4, 0x17, 0xb4, 0x17, 0x79, 0xc5, + 0x79, 0xc5, 0xb4, 0x15, 0xb4, 0x17, 0x51, 0x41, + 0x59, 0x41, 0xb4, 0x17, 0x79, 0xc9, 0x81, 0xc9, + 0xab, 0x93, 0x08, 0x41, 0x9d, 0x25, 0x9d, 0x65, + 0x52, 0xd5, 0x52, 0xd5, 0x6a, 0x45, 0x62, 0x85, + 0x61, 0x05, 0x93, 0x11, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xab, 0xd5, 0xac, 0x15, 0xb4, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x57, 0xb4, 0x17, 0x8a, 0x47, + 0x8a, 0x47, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xb4, 0x15, 0x9a, 0x8b, 0x92, 0x8b, + 0x51, 0x81, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x67, + 0x5a, 0xd3, 0x52, 0xd5, 0x6a, 0x45, 0x6a, 0x45, + 0x61, 0x05, 0x9b, 0x11, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x15, + 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x57, 0xb4, 0x17, 0x82, 0x07, + 0x82, 0x07, 0xb4, 0x15, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x8a, 0x49, 0x81, 0xc7, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd5, 0x52, 0xd5, 0x39, 0x41, 0x39, 0x41, + 0x9a, 0xcb, 0xab, 0x93, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x9b, 0x0f, + 0x9b, 0x4f, 0xb4, 0x15, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x41, 0x92, 0x8b, 0x9a, 0xcb, 0x9b, 0x0d, + 0x9b, 0x0f, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x15, 0x9a, 0x8b, 0x9a, 0x8b, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd5, 0x52, 0xd5, 0x39, 0x41, 0x39, 0x41, + 0x9a, 0xcb, 0xb3, 0x93, 0xb4, 0x57, 0x51, 0x41, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x15, 0xb4, 0x57, 0xb4, 0x17, 0x39, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0x9a, 0xcb, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x15, 0x9a, 0x8b, 0x9a, 0x8b, + 0x49, 0x41, 0x08, 0x43, 0xa5, 0x67, 0xa5, 0x67, + 0x5a, 0xd3, 0x52, 0xd5, 0x39, 0x01, 0x39, 0x41, + 0xab, 0xd3, 0xb4, 0x15, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x41, + 0x39, 0x41, 0xb4, 0x57, 0xb4, 0x17, 0x71, 0xc5, + 0x79, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xb4, 0x17, 0x9a, 0xcd, 0x9a, 0xcd, + 0x49, 0x41, 0x00, 0x43, 0x10, 0x43, 0x10, 0x83, + 0x08, 0x41, 0x00, 0x01, 0x39, 0x01, 0x39, 0x01, + 0x9a, 0xcb, 0xb4, 0x57, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x57, 0xb4, 0x57, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x41, + 0x39, 0x41, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x69, 0x45, 0x69, 0x45, + 0x49, 0x41, 0x00, 0x43, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x39, 0x01, 0x49, 0x83, + 0xac, 0x15, 0x79, 0xc7, 0x79, 0xc7, 0xa3, 0xd3, + 0xa3, 0x93, 0xb4, 0x15, 0xac, 0x15, 0xa3, 0x93, + 0x9b, 0x93, 0xa3, 0x93, 0xa3, 0x93, 0x9a, 0xcd, + 0x9b, 0x0d, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x92, 0x89, + 0x92, 0x49, 0x79, 0xc9, 0x59, 0x03, 0x9b, 0x4f, + 0x9b, 0x4f, 0x08, 0x43, 0xa5, 0x25, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x30, 0xc1, 0x30, 0xc1, + 0x9b, 0x0d, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x59, 0x41, 0xb4, 0x17, 0xb4, 0x17, 0xac, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xb4, 0x57, 0x71, 0x85, 0x69, 0x45, + 0x49, 0x41, 0x08, 0x81, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x6a, 0x45, 0x6a, 0x45, + 0x61, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0xa3, 0xd3, + 0xa3, 0xd3, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0xa2, 0xcd, 0xa3, 0x0d, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x41, 0xbc, 0x57, 0x92, 0x4b, 0x92, 0x49, + 0x49, 0x01, 0x08, 0x83, 0xa5, 0x65, 0xa5, 0x67, + 0x5a, 0xd5, 0x5a, 0xd5, 0x62, 0x45, 0x62, 0x45, + 0x69, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x43, + 0x51, 0x43, 0xab, 0xd5, 0xab, 0xd5, 0xac, 0x15, + 0xac, 0x15, 0x81, 0xc5, 0x82, 0x05, 0x39, 0x01, + 0x39, 0x01, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x41, 0xbc, 0x57, 0x79, 0xc7, 0x79, 0xc7, + 0x49, 0x01, 0x08, 0x43, 0xa5, 0x65, 0xa5, 0x65, + 0x5a, 0xd3, 0x5a, 0xd5, 0x49, 0x81, 0x41, 0x81, + 0x61, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xac, 0x17, 0xb4, 0x17, 0xac, 0x15, + 0xac, 0x15, 0xb4, 0x17, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x01, 0x79, 0xc5, 0x81, 0xc5, 0x71, 0x45, + 0x71, 0x85, 0xb4, 0x15, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xbc, 0x57, 0x79, 0xc7, 0x79, 0xc7, + 0x41, 0x01, 0x08, 0x83, 0xa5, 0x65, 0xa5, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x41, 0x81, 0x41, 0x81, + 0x92, 0x89, 0x71, 0x85, 0x71, 0x85, 0xab, 0xd3, + 0xab, 0xd3, 0x9a, 0xcb, 0x9a, 0xcb, 0xb4, 0x15, + 0xb4, 0x17, 0xb4, 0x15, 0xb4, 0x17, 0x39, 0x01, + 0x39, 0x41, 0x9a, 0xcd, 0xa2, 0xcd, 0x71, 0x43, + 0x71, 0x45, 0xb4, 0x15, 0xb4, 0x15, 0x51, 0x41, + 0x51, 0x01, 0xbc, 0x57, 0x92, 0x49, 0x92, 0x49, + 0x51, 0x41, 0x08, 0x83, 0x8c, 0xa1, 0xa5, 0x65, + 0x5a, 0xd3, 0x52, 0xd5, 0x41, 0x81, 0x41, 0x81, + 0x9a, 0xcb, 0xb4, 0x17, 0xb4, 0x57, 0x51, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa2, 0xcd, 0xb4, 0x17, + 0xb4, 0x15, 0xb4, 0x17, 0xb4, 0x15, 0x21, 0x49, + 0x21, 0x09, 0x21, 0x09, 0x30, 0x41, 0x69, 0x01, + 0x61, 0xc1, 0x08, 0x83, 0x84, 0x5f, 0x9d, 0x65, + 0x52, 0xd5, 0x52, 0xd3, 0x39, 0x01, 0x39, 0x41, + 0x79, 0xc7, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa2, 0xcd, 0xb4, 0x17, + 0xb4, 0x57, 0x31, 0x8d, 0x31, 0x8d, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x03, 0x10, 0xc9, 0x52, 0xd7, + 0x39, 0x01, 0x08, 0x43, 0x10, 0x83, 0x18, 0xc3, + 0x52, 0xd3, 0x52, 0xd3, 0x39, 0x01, 0x39, 0x01, + 0x69, 0x45, 0xb4, 0x57, 0xb4, 0x57, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0x85, + 0x69, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0xa3, 0x0d, 0xb4, 0x17, + 0xb4, 0x17, 0x18, 0xc9, 0x18, 0xc9, 0x8a, 0x05, 0x8a, 0x05, 0x60, 0x81, 0x21, 0x4b, 0x29, 0x8f, - 0x69, 0xc5, 0x8a, 0x07, 0x08, 0x03, 0x31, 0x49, - 0x89, 0xc7, 0x93, 0x0f, 0x6a, 0x85, 0x63, 0x15, - 0x41, 0x83, 0x63, 0x55, 0x61, 0x43, 0x63, 0x17, - 0x5b, 0x55, 0x18, 0x81, 0x18, 0x83, 0x49, 0x03, - 0x7a, 0x05, 0x69, 0x43, 0x63, 0x57, 0x5b, 0x17, - 0x62, 0x43, 0x62, 0x41, 0x52, 0x41, 0x9b, 0x91, - 0xa2, 0xcb, 0x51, 0x03, 0x68, 0xc1, 0x58, 0xc1, - 0x72, 0xc3, 0x59, 0xc1, 0x52, 0x01, 0x4a, 0x01, - 0x52, 0x03, 0x10, 0x81, 0x51, 0xc1, 0x83, 0x0b, - 0x10, 0x41, 0x6b, 0x55, 0x6b, 0x13, 0x63, 0x13, - 0x6b, 0x15, 0x6b, 0x53, 0x18, 0xc5, 0x29, 0x45, - 0x21, 0x01, 0x29, 0x03, -}; - -Gfx castle_superFXSteel_ci4_aligner[] = {gsSPEndDisplayList()}; -u8 castle_superFXSteel_ci4[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, - 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, - 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, - 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, - 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, - 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, - 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, 0x22, - 0x11, 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, - 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, - 0x11, 0x11, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, - 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x41, 0x01, 0x08, 0x83, 0xa5, 0x67, 0x9d, 0x25, + 0x08, 0x43, 0x00, 0x01, 0x39, 0x01, 0x39, 0x01, + 0xac, 0x15, 0x79, 0xc5, 0x79, 0xc5, 0xa3, 0xd3, + 0xa3, 0xd3, 0xb4, 0x17, 0xb4, 0x17, 0x69, 0xc5, + 0x71, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x8a, 0x47, + 0x8a, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x79, 0xc7, + 0x79, 0xc7, 0x8a, 0x07, 0x08, 0x03, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x31, 0x49, 0x31, 0x49, + 0x89, 0xc7, 0x10, 0x83, 0xa5, 0x65, 0xa5, 0x65, + 0x5b, 0x15, 0x5b, 0x15, 0x39, 0x01, 0x39, 0x01, + 0xab, 0xd5, 0x79, 0xc7, 0x79, 0xc5, 0x49, 0x41, + 0x51, 0x41, 0xb4, 0x17, 0xb4, 0x57, 0xb4, 0x17, + 0xb4, 0x57, 0xb4, 0x15, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xb4, 0x57, 0xb4, 0x17, 0x79, 0xc7, + 0x81, 0xc7, 0xb4, 0x17, 0xb4, 0x15, 0x93, 0x0f, + 0x9b, 0x0f, 0x50, 0xc3, 0x92, 0x49, 0x92, 0x49, + 0x49, 0x41, 0x10, 0x83, 0xa5, 0x25, 0x9d, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x41, 0x81, 0x41, 0x41, + 0x9a, 0x8b, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0xc5, + 0x71, 0x85, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x41, 0x41, 0xa2, 0xcd, 0x9a, 0xcd, 0x8a, 0x49, + 0x8a, 0x49, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0x8a, 0x07, 0x81, 0xc7, + 0x49, 0x01, 0x10, 0x83, 0x9d, 0x65, 0x9d, 0x25, + 0x5b, 0x15, 0x5b, 0x15, 0x6a, 0x45, 0x6a, 0x85, + 0x69, 0x45, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x43, + 0x59, 0x43, 0x9a, 0xcb, 0x9a, 0xcb, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x01, + 0x41, 0x01, 0x9a, 0xcd, 0x9a, 0xcd, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x01, + 0x51, 0x01, 0xb4, 0x17, 0xa3, 0x0d, 0xa2, 0xcd, + 0x71, 0x85, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x15, 0x63, 0x15, 0x41, 0x81, 0x41, 0x83, + 0xab, 0xd5, 0x81, 0xc5, 0x81, 0xc5, 0xab, 0xd5, + 0xab, 0xd5, 0x81, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0x79, 0xc5, 0x82, 0x05, 0xb4, 0x17, + 0xb4, 0x17, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x92, 0x89, + 0x9a, 0x8b, 0xb4, 0x15, 0x81, 0xc7, 0x79, 0xc5, + 0x41, 0x01, 0x10, 0x83, 0x9d, 0x65, 0x9d, 0x25, + 0x63, 0x55, 0x5b, 0x15, 0x39, 0x01, 0x39, 0x41, + 0x61, 0x43, 0xb4, 0x57, 0xac, 0x15, 0x51, 0x43, + 0x51, 0x43, 0xb4, 0x17, 0xb4, 0x17, 0x71, 0xc5, + 0x71, 0xc5, 0xb4, 0x17, 0xb4, 0x17, 0x41, 0x41, + 0x39, 0x01, 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x51, 0x41, + 0x51, 0x01, 0xac, 0x15, 0x69, 0x45, 0x71, 0x85, + 0xa3, 0x93, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x5b, 0x55, 0x18, 0x81, 0x18, 0x83, + 0x59, 0x03, 0xab, 0xd5, 0xb4, 0x17, 0x49, 0x01, + 0x49, 0x03, 0x7a, 0x05, 0x82, 0x05, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x17, 0x59, 0x41, + 0x59, 0x41, 0x79, 0xc5, 0x79, 0xc5, 0xb4, 0x17, + 0xb4, 0x17, 0xb4, 0x17, 0xb4, 0x15, 0x51, 0x01, + 0x51, 0x01, 0xac, 0x15, 0x61, 0x03, 0x69, 0x43, + 0x41, 0x01, 0x10, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x57, 0x5b, 0x17, 0x62, 0x43, 0x62, 0x41, + 0x08, 0x41, 0x20, 0xc1, 0x52, 0x41, 0x9b, 0x91, + 0x9b, 0x91, 0xa2, 0xcb, 0xa2, 0xcb, 0x71, 0x85, + 0x71, 0xc5, 0xb4, 0x57, 0xb4, 0x17, 0x50, 0xc3, + 0x51, 0x03, 0xa2, 0xcb, 0xa2, 0xcb, 0x82, 0x07, + 0x82, 0x07, 0xb4, 0x17, 0xb4, 0x17, 0x68, 0xc1, + 0x58, 0xc1, 0x41, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x41, 0x01, 0x08, 0x83, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x5b, 0x15, 0x72, 0xc3, 0x72, 0xc3, + 0x72, 0xc5, 0x72, 0xc3, 0x59, 0xc1, 0x20, 0xc1, + 0x20, 0xc1, 0x52, 0x01, 0x4a, 0x01, 0x52, 0x01, + 0x4a, 0x01, 0x52, 0x01, 0x52, 0x03, 0x18, 0x81, + 0x10, 0x81, 0x51, 0xc1, 0x51, 0xc1, 0x83, 0x0b, + 0x83, 0x0b, 0x52, 0x03, 0x52, 0x01, 0x10, 0x41, + 0x52, 0x03, 0x6a, 0x83, 0x59, 0x41, 0x59, 0x41, + 0x49, 0x01, 0x08, 0x41, 0x9d, 0x25, 0x9d, 0x25, + 0x63, 0x17, 0x63, 0x17, 0x00, 0x01, 0x00, 0x01, + 0x6b, 0x55, 0x6b, 0x13, 0x6b, 0x55, 0x6b, 0x55, + 0x6b, 0x55, 0x00, 0x01, 0x00, 0x01, 0x63, 0x13, + 0x63, 0x15, 0x6b, 0x15, 0x63, 0x15, 0x6b, 0x15, + 0x6b, 0x15, 0x6b, 0x13, 0x6b, 0x13, 0x6b, 0x13, + 0x6b, 0x53, 0x00, 0x03, 0x00, 0x01, 0x6b, 0x55, + 0x6b, 0x15, 0x6b, 0x15, 0x6b, 0x13, 0x63, 0x13, + 0x63, 0x13, 0x08, 0x43, 0x18, 0x83, 0x31, 0x03, + 0x18, 0xc5, 0x29, 0x45, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x9d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, 0x84, 0x5d, + 0x84, 0x5d, 0x21, 0x01, 0x29, 0x03, 0x10, 0x83, }; -Gfx castle_superFXSteel_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 castle_superFXSteel_pal_rgba16[] = { - 0xa5, 0xf3, 0x7c, 0xeb, 0x5b, 0xa3, -}; - -Gfx castle_bars1_ci8_aligner[] = {gsSPEndDisplayList()}; -u8 castle_bars1_ci8[] = { - 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x04, 0x05, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x06, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x08, 0x09, - 0x0a, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x0d, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x09, 0x10, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x0b, - 0x12, 0x13, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x06, 0x14, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x16, 0x17, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x19, - 0x0a, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x1b, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x11, 0x1d, 0x0c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x0b, - 0x1e, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x04, 0x20, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x21, 0x22, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x23, 0x0c, - 0x14, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x25, 0x12, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x08, 0x17, 0x09, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x28, - 0x01, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x29, 0x2a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x1d, 0x16, 0x22, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x2b, 0x22, - 0x2c, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x2e, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2f, 0x30, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x0a, - 0x20, 0x31, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x04, 0x2a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x21, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x2c, - 0x17, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x26, 0x32, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x33, 0x34, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x0a, - 0x35, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x36, 0x07, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x37, 0x38, 0x10, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x0a, - 0x07, 0x2c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x3a, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x33, 0x0f, 0x3b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x0a, - 0x36, 0x13, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x35, 0x35, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x37, 0x3c, 0x37, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x3b, - 0x14, 0x09, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x32, 0x3d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x11, 0x34, 0x0c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x2c, - 0x07, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x21, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x22, 0x3e, 0x3f, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x10, - 0x07, 0x2c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1b, 0x40, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x11, 0x0c, 0x41, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x14, - 0x20, 0x2c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x2e, 0x35, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x42, 0x43, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x05, - 0x17, 0x44, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1b, 0x3d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x18, 0x0a, 0x0c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x45, 0x17, - 0x36, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x35, 0x46, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x37, 0x36, 0x09, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x22, - 0x14, 0x44, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x3d, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x47, 0x44, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x45, 0x44, - 0x35, 0x37, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x36, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x3c, 0x37, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x10, - 0x07, 0x22, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x48, 0x3c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x49, 0x19, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x22, - 0x3c, 0x0a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x1c, 0x31, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x48, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x17, - 0x4a, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x48, 0x3a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x46, 0x19, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x22, - 0x2e, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1b, 0x13, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x3c, 0x19, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x0a, - 0x20, 0x22, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x21, 0x48, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x4d, 0x09, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x4b, - 0x4e, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x1c, 0x00, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x48, 0x3b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x10, - 0x07, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x38, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x4d, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1f, 0x22, - 0x4f, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x50, 0x2a, 0x28, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x1d, 0x51, 0x31, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x24, - 0x07, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x04, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x52, 0x1d, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x4b, - 0x51, 0x4a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x53, 0x21, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x54, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x24, - 0x20, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x04, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x55, 0x26, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x29, - 0x51, 0x56, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x35, 0x57, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x58, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x24, - 0x20, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x06, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x1e, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x4a, - 0x21, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x57, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x59, 0x5a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x24, - 0x20, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x06, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x0d, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x07, - 0x2e, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x5b, 0x20, 0x00, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x36, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x19, - 0x2e, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x04, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x1e, 0x17, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x04, - 0x0d, 0x5c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x01, 0x32, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x3f, 0x0e, 0x20, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x10, - 0x12, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x21, 0x35, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x5a, 0x5d, 0x4b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x22, - 0x36, 0x20, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x5e, 0x40, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x0d, 0x0b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x19, - 0x35, 0x5f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x21, 0x3d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x60, 0x0a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x07, - 0x61, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x62, 0x63, 0x52, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x0d, 0x1e, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x45, 0x19, - 0x2e, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x35, 0x3c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x55, 0x1b, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x20, - 0x48, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x62, 0x13, 0x57, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x37, 0x64, 0x65, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x24, - 0x2e, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x2e, 0x66, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x3d, 0x13, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x14, - 0x2e, 0x20, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x67, 0x4d, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x1d, 0x68, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x24, - 0x36, 0x69, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x26, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x0d, 0x4d, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6a, 0x13, - 0x0e, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x39, 0x0b, 0x3a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x68, 0x0a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x2c, - 0x40, 0x4a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6b, 0x2e, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x3a, 0x12, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x6d, - 0x36, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x46, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x37, 0x64, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x24, - 0x0d, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x48, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x31, 0x3a, 0x6e, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x6d, - 0x4e, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6f, 0x53, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x70, 0x35, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x37, - 0x40, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x21, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x71, 0x68, 0x00, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x72, - 0x0e, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x62, 0x73, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x1b, 0x74, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x2c, - 0x1c, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x34, 0x3d, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x28, 0x1b, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x75, - 0x0e, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x39, 0x31, 0x00, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x76, 0x57, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x1c, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x2e, 0x3d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x31, 0x40, 0x04, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x0b, - 0x0e, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x53, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x77, 0x78, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x31, - 0x1c, 0x1e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x48, 0x3d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x31, 0x1c, 0x29, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x47, 0x4d, - 0x2e, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x12, 0x79, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x7a, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x24, - 0x12, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x48, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x78, 0x61, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x4d, - 0x0e, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1e, 0x7b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x7c, 0x49, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x31, - 0x1e, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x48, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x10, 0x0e, 0x22, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x0b, - 0x26, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x2a, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x12, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x2c, - 0x68, 0x20, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x54, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x7d, 0x3c, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x0a, - 0x36, 0x37, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x20, 0x46, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x74, 0x20, 0x28, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x31, - 0x0e, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7e, 0x54, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x3c, 0x4b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x14, - 0x48, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x07, 0x57, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x74, 0x3c, 0x13, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x0b, - 0x2e, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7e, 0x66, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x7f, 0x54, 0x80, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x2c, - 0x1c, 0x2c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x0a, 0x1e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x81, 0x14, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x6c, 0x0a, - 0x40, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7e, 0x3e, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x54, 0x17, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x22, - 0x21, 0x2c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x31, 0x57, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x7f, 0x0b, 0x0a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x0d, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x48, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x07, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x4b, - 0x20, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x20, 0x57, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2c, 0x5e, 0x53, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x0a, - 0x2a, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x20, 0x2a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x14, 0x5a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x22, - 0x16, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x07, 0x2c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x5a, 0x28, 0x00, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x1c, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x82, 0x4f, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x04, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x4b, - 0x20, 0x15, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x12, 0x14, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x83, 0x5e, 0x1b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x2a, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x21, 0x4e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x29, 0x01, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x17, - 0x4b, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x20, 0x2c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x55, 0x84, 0x1b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x5a, - 0x52, 0x12, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x21, 0x4e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x20, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x85, - 0x17, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x04, 0x44, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x55, 0x2e, 0x65, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x0b, - 0x20, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0f, 0x1b, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x1f, 0x0a, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x33, 0x44, - 0x22, 0x3b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6b, 0x04, 0x37, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x57, 0x12, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x37, - 0x07, 0x20, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x2e, 0x1b, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x4a, 0x0a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x4c, 0x43, - 0x44, 0x3b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x4a, 0x24, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x5b, 0x35, 0x49, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x15, - 0x1e, 0x29, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x86, 0x73, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x20, 0x10, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x17, - 0x44, 0x09, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6b, 0x05, 0x24, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x12, 0x87, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x25, - 0x07, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7f, 0x73, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x5c, 0x88, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x1d, 0x50, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x07, 0x24, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x35, 0x65, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x87, - 0x29, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x86, 0x1c, 0x52, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x20, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x37, - 0x1d, 0x19, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x5c, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x1c, 0x37, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x49, - 0x29, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1c, 0x2a, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x50, 0x35, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x10, - 0x1d, 0x2d, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x20, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x7f, 0x2e, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x0c, - 0x5c, 0x17, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x35, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x38, 0x37, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x10, - 0x09, 0x15, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x39, 0x4a, 0x3f, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x89, 0x2e, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x87, - 0x0a, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x86, 0x12, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x5c, 0x43, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x10, - 0x8a, 0x3b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x4c, 0x5c, 0x44, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x8b, 0x01, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x86, - 0x14, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x86, 0x1b, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x12, 0x44, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x24, - 0x09, 0x50, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6b, 0x29, 0x44, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x8c, 0x07, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x2c, - 0x00, 0x0a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x1c, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x0a, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x45, 0x3b, - 0x09, 0x3b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x47, 0x22, 0x37, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x36, 0x35, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x2c, - 0x00, 0x4b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7f, 0x1c, 0x2e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x0b, 0x24, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x15, - 0x09, 0x50, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x6b, 0x85, 0x37, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x8d, 0x21, 0x21, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x24, - 0x13, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x35, 0x26, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x0a, 0x09, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x3b, - 0x8e, 0x50, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x8f, 0x05, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x66, 0x21, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x08, 0x19, - 0x35, 0x13, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x36, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x14, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x1d, - 0x29, 0x24, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1f, 0x05, 0x88, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x21, 0x16, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x90, 0x31, - 0x48, 0x22, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x86, 0x36, 0x0d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x14, 0x2c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x33, 0x3b, - 0x48, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x7e, 0x85, 0x37, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x21, 0x2e, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x28, - 0x35, 0x14, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x36, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x1e, 0x44, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1f, 0x09, - 0x16, 0x09, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x4b, 0x44, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x4f, 0x5c, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x90, 0x74, - 0x1c, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x2e, 0x40, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x86, 0x13, 0x55, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x1d, - 0x17, 0x10, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x85, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x4f, 0x14, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x55, - 0x0e, 0x5c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x89, 0x61, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x0a, 0x3b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x10, - 0x35, 0x0c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x29, 0x37, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x04, 0x35, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x78, - 0x76, 0x57, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x19, 0x48, 0x4e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x78, 0x22, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x44, - 0x4b, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x07, 0x14, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x24, 0x4f, 0x09, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x39, 0x55, - 0x00, 0x6d, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x3c, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0f, 0x78, 0x39, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x80, - 0x0b, 0x0c, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x35, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x2d, 0x21, 0x1d, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x91, - 0x52, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x2e, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x47, 0x49, 0x3b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x4a, - 0x63, 0x65, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x2a, 0x22, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x03, 0x07, 0x0a, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x08, 0x19, - 0x2e, 0x73, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x0c, 0x2e, 0x36, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x50, 0x49, 0x1d, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x31, - 0x53, 0x5a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x2e, 0x1d, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x16, 0x44, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x11, 0x0c, - 0x21, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x1a, 0x1c, 0x1c, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x19, 0x92, 0x3b, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x0a, - 0x53, 0x0b, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x03, 0x20, 0x43, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x15, 0x20, 0x17, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x93, 0x19, - 0x21, 0x31, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x2d, 0x26, 0x0e, 0x02, 0x02, 0x02, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x0c, 0x19, 0x15, 0x02, - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x27, 0x5a, +Gfx castle_superFXSteel_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 castle_superFXSteel_rgba16[] = { + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x5b, 0xa3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0xa5, 0xf3, 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0xa5, 0xf3, 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0xa5, 0xf3, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x5b, 0xa3, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, 0x7c, 0xeb, + 0x7c, 0xeb, 0x7c, 0xeb, 0x5b, 0xa3, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, + 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, 0x5b, 0xa3, }; -Gfx castle_bars1_pal_rgba16_aligner[] = {gsSPEndDisplayList()}; -u8 castle_bars1_pal_rgba16[] = { - 0x94, 0x5f, 0x83, 0xdd, 0x00, 0x00, 0x4a, 0x53, - 0x8c, 0x63, 0x7c, 0x21, 0x8c, 0xa5, 0x84, 0x1f, - 0x29, 0x49, 0x5b, 0x17, 0x73, 0x9b, 0x7b, 0x9b, - 0x52, 0x93, 0xad, 0x25, 0xad, 0x27, 0x4a, 0x51, - 0x63, 0x19, 0x31, 0x8b, 0x94, 0x61, 0x7b, 0xdb, - 0x7b, 0xdd, 0x5a, 0xd7, 0x8c, 0xa3, 0x73, 0xdd, - 0x29, 0x4b, 0x5a, 0xd5, 0x52, 0x53, 0x9c, 0xa1, - 0x9c, 0xa3, 0x63, 0x59, 0x8c, 0x5f, 0x42, 0x11, - 0x8c, 0x61, 0x94, 0xa5, 0x73, 0x9d, 0x21, 0x09, - 0x63, 0x17, 0x62, 0xd7, 0xa4, 0xe5, 0x31, 0x8d, - 0x73, 0x57, 0x84, 0x21, 0x94, 0xa1, 0x21, 0x49, - 0x6b, 0x59, 0x52, 0x95, 0x9c, 0xe5, 0x29, 0x8b, - 0x52, 0xd3, 0x73, 0x59, 0xa4, 0xe3, 0x31, 0xcd, - 0x42, 0x51, 0x94, 0xa3, 0xa5, 0x27, 0x6b, 0x5b, - 0x94, 0xe5, 0x39, 0xcd, 0xb5, 0x69, 0x52, 0xd5, - 0xa5, 0x29, 0x9c, 0xa5, 0xa5, 0x6b, 0x63, 0x5b, - 0xa5, 0x25, 0x52, 0x91, 0xa5, 0x69, 0x6b, 0x9d, - 0x6b, 0x9b, 0x29, 0x8d, 0x84, 0x1d, 0x42, 0x0f, - 0x9c, 0xe7, 0x63, 0x15, 0x84, 0x61, 0x7b, 0xdf, - 0x39, 0xcf, 0x83, 0xdb, 0xad, 0x69, 0x9d, 0x27, - 0x4a, 0x93, 0xad, 0x6b, 0x9c, 0xe3, 0x8c, 0x1d, - 0x9d, 0x29, 0x62, 0xd5, 0x8c, 0x65, 0x8c, 0x1f, - 0xad, 0xad, 0xb5, 0xad, 0x6b, 0x17, 0x5a, 0x95, - 0x7c, 0x1f, 0x9c, 0x5f, 0x7b, 0x99, 0x8c, 0x21, - 0xac, 0xe5, 0xad, 0x29, 0x4a, 0x11, 0x94, 0x5d, - 0xac, 0xe3, 0x73, 0x99, 0x94, 0xe7, 0x41, 0xcd, - 0xb5, 0x25, 0x83, 0xdf, 0x41, 0xcf, 0x3a, 0x0f, - 0x39, 0x8d, 0x8b, 0xdd, 0x83, 0x99, 0x4a, 0x0f, - 0xac, 0xe1, 0x6a, 0xd3, 0x83, 0x9b, 0x94, 0x1d, - 0x62, 0xd3, 0x8b, 0xdb, 0xa4, 0xa1, 0xa4, 0x5d, - 0x6b, 0x57, 0xa4, 0xa3, 0x9c, 0x9f, 0x94, 0x1f, - 0xa4, 0x9f, 0x6b, 0x19, 0x42, 0x53, 0x5a, 0x93, - 0x7b, 0x9d, 0x6b, 0x15, 0x84, 0x63, 0x73, 0x5b, - 0x8c, 0x5d, 0x73, 0xdf, 0x52, 0x51, 0x5a, 0xd3, - 0x5b, 0x19, 0xa4, 0xe7, 0x63, 0x57, 0xb5, 0xab, - 0xad, 0xab, 0x4a, 0x95, 0x63, 0x9b, 0x3a, 0x11, - 0x39, 0x8b, 0x5a, 0x91, 0x5b, 0x15, 0x29, 0x09, +Gfx castle_bars1_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 castle_bars1_rgba16[] = { + 0x94, 0x5f, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0x63, 0x7c, 0x21, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x8c, 0xa5, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x49, 0x5b, 0x17, + 0x73, 0x9b, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0xad, 0x25, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x5b, 0x17, 0x63, 0x19, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x7b, 0x9b, + 0x94, 0x61, 0x7b, 0xdb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0xa5, 0x7b, 0xdd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x8c, 0xa3, 0x73, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x5a, 0xd5, + 0x73, 0x9b, 0x5a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0x9c, 0xa1, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x8b, 0x63, 0x59, 0x52, 0x93, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x7b, 0x9b, + 0x8c, 0x5f, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x8c, 0x63, 0x8c, 0x61, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x94, 0xa5, 0x73, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x09, 0x52, 0x93, + 0x7b, 0xdd, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x62, 0xd7, 0x94, 0x61, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x49, 0x73, 0xdd, 0x5b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x57, + 0x83, 0xdd, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x84, 0x21, 0x94, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x59, 0x8c, 0xa3, 0x73, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x49, 0x73, 0x9d, + 0x6b, 0x59, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x9c, 0xe5, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x8b, 0x52, 0xd3, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x73, 0x9b, + 0x8c, 0x61, 0x73, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0x63, 0x94, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0x94, 0xa5, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x6b, 0x59, + 0x73, 0xdd, 0x5a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0xa4, 0xe5, 0xa4, 0xe3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0xcd, 0x42, 0x51, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x73, 0x9b, + 0x94, 0xa3, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0xa5, 0x27, 0x84, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x5b, 0x94, 0xe5, 0x63, 0x19, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x73, 0x9b, + 0x84, 0x1f, 0x6b, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0xb5, 0x69, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0xcd, 0x4a, 0x51, 0x52, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x73, 0x9b, + 0xa5, 0x27, 0x7b, 0xdb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0xa3, 0x94, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x5b, 0xa5, 0x29, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x52, 0xd5, + 0x7b, 0xdd, 0x5b, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0xa4, 0xe3, 0x9c, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x8b, 0x42, 0x51, 0x52, 0x93, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x6b, 0x59, + 0x84, 0x1f, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0x94, 0xa5, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x9d, 0xa5, 0x6b, 0x63, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x63, 0x19, + 0x84, 0x1f, 0x6b, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xa1, 0xa5, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x8b, 0x52, 0x93, 0x52, 0x91, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x7b, 0xdd, + 0x8c, 0x61, 0x6b, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xe5, 0x94, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0xa5, 0x69, 0x6b, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x7c, 0x21, + 0x73, 0xdd, 0x6b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xa1, 0x9c, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x4b, 0x73, 0x9b, 0x52, 0x93, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x8d, 0x73, 0xdd, + 0xa5, 0x27, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x94, 0xa3, 0x84, 0x1d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x5b, 0xa5, 0x27, 0x5b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x73, 0x9d, + 0x7b, 0xdd, 0x6b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x9c, 0xa5, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x0f, 0x6b, 0x9b, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x8d, 0x6b, 0x9b, + 0x94, 0xa3, 0x6b, 0x5b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0xa5, 0x27, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0xa5, 0x29, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x19, + 0x84, 0x1f, 0x73, 0x9d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x9c, 0xe7, 0xa5, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x63, 0x15, 0x5a, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x9d, + 0xa5, 0x29, 0x73, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x9c, 0xa3, 0x73, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0x9c, 0xe7, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x73, 0xdd, + 0x84, 0x61, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x9c, 0xe7, 0xb5, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x84, 0x1d, 0x5a, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x9d, + 0x9c, 0xe5, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xa1, 0x7b, 0xdb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0xa5, 0x29, 0x5a, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0x9b, + 0x8c, 0x61, 0x73, 0x9d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x94, 0xa5, 0x9c, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x83, 0xdb, 0x5b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x7b, 0xdf, + 0xad, 0x69, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x9c, 0xa3, 0x94, 0x5f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0x9c, 0xe7, 0x52, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x63, 0x19, + 0x84, 0x1f, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0xe5, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x83, 0xdb, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x11, 0x73, 0x9d, + 0x9d, 0x27, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x93, 0x94, 0xa1, 0x73, 0x57, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x59, 0xad, 0x6b, 0x73, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x63, 0x17, + 0x84, 0x1f, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0x63, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x9c, 0xe3, 0x63, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x7b, 0xdf, + 0xad, 0x6b, 0x84, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x8c, 0x1d, 0x94, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x9d, 0x29, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x63, 0x17, + 0x8c, 0x61, 0x84, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0x63, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd5, 0xa4, 0xe5, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x84, 0x21, + 0xad, 0x6b, 0x8c, 0x65, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x94, 0xa3, 0x8c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0xad, 0xad, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x63, 0x17, + 0x8c, 0x61, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x8c, 0xa5, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x8c, 0x5f, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x84, 0x61, + 0x94, 0xa5, 0x8c, 0x63, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x8c, 0x1f, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0xb5, 0xad, 0x6b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x17, + 0x8c, 0x61, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0xa5, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0xad, 0x25, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x84, 0x1f, + 0x9c, 0xe5, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0x95, 0x8c, 0x61, 0x94, 0x5f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0xa5, 0x27, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x5a, 0xd5, + 0x9c, 0xe5, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x8c, 0x63, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0x8c, 0x5f, 0x73, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x8c, 0x63, + 0xad, 0x25, 0x7c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0x83, 0xdd, 0xa4, 0xe3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x5b, 0xad, 0x27, 0x8c, 0x61, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x19, + 0x94, 0x61, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x94, 0xa5, 0x94, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x17, 0x9c, 0x5f, 0x7b, 0xdf, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0x9d, + 0xa5, 0x27, 0x8c, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x7b, 0x99, 0xa5, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0xad, 0x25, 0x7b, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x5a, 0xd5, + 0x94, 0xa3, 0x8c, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0xa5, 0x9c, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0xac, 0xe5, 0x73, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x84, 0x1f, + 0xad, 0x29, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x11, 0x94, 0x5d, 0x9c, 0xe3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0xad, 0x25, 0x8c, 0x5f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x8d, 0x5a, 0xd5, + 0x9c, 0xe5, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x94, 0xa3, 0xa5, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd5, 0x9c, 0xa1, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x8c, 0x61, + 0x9c, 0xe7, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x11, 0x7b, 0xdb, 0x8c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x5b, 0xac, 0xe3, 0x73, 0x99, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x17, + 0x9c, 0xe5, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x9c, 0xe5, 0x94, 0xe7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0x9c, 0xa5, 0x7b, 0xdb, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x7b, 0xdd, + 0x9c, 0xe5, 0x8c, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x41, 0xcd, 0x83, 0xdb, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x59, 0xb5, 0x25, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x17, + 0xa5, 0x27, 0x83, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0xa4, 0xe5, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0xad, 0x25, 0x83, 0xdb, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x41, 0xcf, 0x7b, 0xdb, + 0xad, 0x27, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcd, 0x7b, 0x9b, 0xb5, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0xb5, 0x25, 0x73, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x59, + 0xa5, 0x25, 0x84, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x0f, 0x9c, 0xe5, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0xb5, 0x69, 0x94, 0x61, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x8b, 0xdd, + 0xa5, 0x27, 0x84, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x84, 0x1d, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x5b, 0xac, 0xe3, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x63, 0x17, + 0xad, 0x25, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x9c, 0xe7, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x59, 0xb5, 0x69, 0x83, 0x99, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x8b, 0xdd, + 0xad, 0x69, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x0f, 0x8c, 0x1d, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0xac, 0xe1, 0x94, 0xa3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x5b, + 0xa5, 0x25, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x94, 0xa5, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6a, 0xd3, 0xb5, 0x25, 0x94, 0x5f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x83, 0x9b, + 0xad, 0x27, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x11, 0x94, 0x1d, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0x9c, 0xa1, 0x62, 0xd3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x59, + 0x9c, 0xa3, 0x84, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x51, 0x9c, 0xa5, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x57, 0x9c, 0xa1, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x8b, 0xdb, + 0xad, 0x27, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcd, 0x73, 0x59, 0x94, 0x5f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0xa4, 0xa1, 0x8c, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0x9c, 0xa3, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x9c, 0xe5, 0x9c, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x59, 0xa5, 0x25, 0x8c, 0x63, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x7b, 0x9b, + 0xad, 0x27, 0x84, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x8c, 0x1d, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0xa4, 0x5d, 0x6b, 0x57, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x73, 0x59, + 0x9c, 0xa3, 0x8c, 0x5f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x9c, 0xe7, 0x9c, 0xa5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x59, 0x9c, 0xa3, 0x84, 0x21, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x0f, 0x83, 0xdb, + 0x9c, 0xe5, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x94, 0x61, 0xa4, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x9c, 0x9f, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x63, 0x17, + 0x94, 0x61, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x9c, 0xe7, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x57, 0xad, 0x29, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x83, 0xdb, + 0xad, 0x27, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x8c, 0x5f, 0x94, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0xa4, 0x9f, 0x63, 0x15, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x59, + 0x8c, 0x5f, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x9c, 0xe7, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x19, 0xad, 0x27, 0x73, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x7b, 0x9b, + 0xa4, 0xe5, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x94, 0xa1, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x94, 0x61, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x6b, 0x59, + 0xb5, 0x25, 0x8c, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x9d, 0x29, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x19, 0xa5, 0x29, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x73, 0x9b, + 0xa5, 0x27, 0x6b, 0x5b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x8c, 0x61, 0x84, 0x1d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd3, 0x8c, 0x61, 0x73, 0x57, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x73, 0x59, + 0xad, 0x27, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x53, 0x9d, 0x29, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0xa5, 0x29, 0x7b, 0xdf, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x7b, 0xdd, + 0x9c, 0xe7, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x84, 0x1f, 0x8c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd3, 0xa5, 0x29, 0x7b, 0xdb, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x7b, 0x9b, + 0x9c, 0xe5, 0x84, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x53, 0x94, 0xe7, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x93, 0x9d, 0x29, 0x7b, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x6b, 0x59, + 0x9c, 0xa3, 0x6b, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x73, 0x9b, 0x8c, 0x5f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x15, 0x7b, 0xdd, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8d, 0x73, 0x9b, + 0xa5, 0x25, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x53, 0xa5, 0x6b, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x9d, 0x29, 0x73, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0x9d, + 0x94, 0xa5, 0x6b, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x73, 0x59, 0x8c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x93, 0x7b, 0x9b, 0x73, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0xad, 0x25, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x9c, 0xe7, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x84, 0x1f, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x7b, 0xdf, + 0x8c, 0x61, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x8c, 0x61, 0x8c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x59, 0x7b, 0x99, 0x8c, 0x1d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x9b, + 0x94, 0xa1, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x8c, 0x61, 0x94, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x7b, 0xdd, 0x6b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0x9d, + 0x8c, 0xa3, 0x5a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x84, 0x1f, 0x6b, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6b, 0x17, 0x73, 0x57, 0x94, 0x5f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0x9c, 0xa3, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x84, 0x63, 0x9d, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x8c, 0x63, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x7b, 0xdf, + 0x8c, 0x61, 0x5a, 0xd7, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0x61, 0x7b, 0xdd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x5b, 0x7b, 0x99, 0x9c, 0xa1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0x94, 0xa1, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x94, 0xa5, 0xad, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x84, 0x21, 0x83, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0xdd, + 0x7b, 0xdf, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x8c, 0x61, 0x6b, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd5, 0x8c, 0x5d, 0x9c, 0xa1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x17, + 0x9c, 0xe3, 0x94, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0x94, 0xa5, 0xad, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x8c, 0x61, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x73, 0xdf, + 0x73, 0xdd, 0x5a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x8c, 0x63, 0x6b, 0x9b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xd5, 0x9c, 0xe5, 0x73, 0x99, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x7b, 0x9b, + 0x8c, 0x61, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x51, 0x9c, 0xa1, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x11, 0x73, 0x9b, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0xcd, 0x6b, 0x9b, + 0x73, 0x9d, 0x52, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x0f, 0x8c, 0x63, 0x6b, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x8c, 0x1f, 0x94, 0x61, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x5b, + 0x84, 0x1f, 0x8c, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xe5, 0x9c, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x84, 0x61, 0x73, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcf, 0x6b, 0x9d, + 0x6b, 0x9b, 0x52, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x84, 0x61, 0x63, 0x17, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x95, 0x94, 0xa3, 0x63, 0x15, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x5a, 0xd7, + 0x8c, 0x5f, 0x84, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x51, 0x94, 0x1d, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x8c, 0x61, 0x63, 0x19, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x73, 0xdd, + 0x6b, 0x9b, 0x5b, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x0f, 0x7c, 0x21, 0x63, 0x17, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x94, 0x61, 0x5a, 0xd3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x62, 0xd7, + 0x84, 0x1f, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0x93, 0x94, 0x1d, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x7c, 0x1f, 0x5b, 0x19, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0x63, 0x59, 0x4a, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x84, 0x1f, 0x63, 0x17, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x94, 0xa3, 0x73, 0x99, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x5a, 0xd3, + 0x84, 0x21, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x51, 0x9c, 0xa3, 0x9c, 0xe3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x8c, 0x61, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x5b, + 0x63, 0x59, 0x5a, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x7c, 0x1f, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x9c, 0xa3, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x15, + 0x84, 0x21, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xa3, 0x94, 0xa1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x93, 0x94, 0xa3, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x19, + 0x63, 0x59, 0x52, 0x95, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x8c, 0x61, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0x93, 0x9c, 0xe5, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x52, 0x93, + 0x7c, 0x1f, 0x73, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x94, 0xa3, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x94, 0xe5, 0x6b, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x19, + 0x5b, 0x17, 0x5a, 0xd7, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcd, 0x84, 0x61, 0x63, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0xa4, 0xe7, 0x9c, 0xe5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x5a, 0xd3, + 0x73, 0x9b, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x51, 0x94, 0x61, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x7c, 0x1f, 0x6b, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x63, 0x19, + 0x63, 0x57, 0x52, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x39, 0xcf, 0x7c, 0x1f, 0x6b, 0x9b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0xb5, 0xab, 0x83, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x52, 0x51, + 0x7b, 0xdd, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x51, 0x9c, 0xa1, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x94, 0x61, 0x6b, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x17, + 0x5b, 0x17, 0x4a, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x0f, 0x84, 0x21, 0x6b, 0x9b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0xad, 0xab, 0x84, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x59, + 0x94, 0x5f, 0x73, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xa3, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x73, 0x9b, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x8d, 0x52, 0xd5, + 0x5b, 0x17, 0x52, 0xd5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x0f, 0x73, 0x9d, 0x6b, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0xa5, 0x27, 0x94, 0xa3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x59, + 0x94, 0x5f, 0x7b, 0xdf, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0x93, 0x9c, 0xa3, 0x9c, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x7b, 0x9b, 0x63, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x5a, 0xd7, + 0x5b, 0x17, 0x4a, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x0f, 0x73, 0xdf, 0x6b, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x95, 0x94, 0xa5, 0x94, 0xa5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x63, 0x17, + 0x7b, 0xdb, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x94, 0xa3, 0xa4, 0xe5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x73, 0x9b, 0x5b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x52, 0xd5, + 0x63, 0x9b, 0x4a, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3a, 0x11, 0x7c, 0x21, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x94, 0xe7, 0x94, 0xa5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x49, 0x5a, 0xd5, + 0x94, 0xa3, 0x7b, 0xdb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0xa5, 0x27, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x7b, 0xdd, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x59, + 0x84, 0x21, 0x63, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x11, 0x7c, 0x21, 0x5b, 0x19, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x94, 0xa5, 0x8c, 0xa3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8b, 0x73, 0x59, + 0x9c, 0xe7, 0x73, 0x9d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x51, 0xa5, 0x27, 0xad, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x7b, 0xdd, 0x6b, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0xcd, 0x52, 0xd5, + 0x9c, 0xe7, 0x4a, 0x51, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x53, 0x73, 0xdf, 0x6b, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x94, 0xa5, 0x9c, 0xe5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x73, 0x57, + 0x94, 0xa3, 0x7b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0xa5, 0x27, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x8c, 0x5f, 0x6b, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x11, 0x5b, 0x17, + 0x8c, 0xa3, 0x5b, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x7b, 0xdf, 0x6b, 0x9b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x9d, 0x27, 0x7c, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0x8b, 0x62, 0xd3, + 0x9c, 0xa3, 0x83, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xe5, 0xa5, 0x25, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x51, 0x7b, 0xdb, 0x62, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x63, 0x59, + 0x73, 0xdd, 0x63, 0x19, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x73, 0xdf, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x9d, 0x27, 0x7b, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x62, 0xd5, + 0xad, 0x27, 0x7c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0xa4, 0xe7, 0xad, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x73, 0x9b, 0x52, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x63, 0x19, + 0x94, 0xa3, 0x52, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0x84, 0x21, 0x6b, 0x5b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x8c, 0x63, 0x94, 0xa3, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x57, + 0xa4, 0xa1, 0x8c, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5a, 0xd5, 0x9c, 0xe7, 0xad, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x6b, 0x57, 0x73, 0x9d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x6b, 0x9b, + 0x7b, 0xdf, 0x4a, 0x51, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x84, 0x1f, 0x7b, 0xdd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x17, 0x9d, 0x27, 0x5b, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x39, 0xcd, 0x62, 0xd5, + 0x94, 0x5f, 0x8b, 0xdd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0xa5, 0x29, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x51, 0x6b, 0x57, 0x39, 0xcd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x7b, 0x9d, + 0x7b, 0x9b, 0x52, 0x93, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0xa3, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x95, 0x94, 0xa5, 0x63, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x5a, 0x91, + 0x9c, 0xe3, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xe5, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x0f, 0x63, 0x15, 0x52, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x84, 0x61, + 0x94, 0x5d, 0x73, 0x99, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x94, 0xa1, 0x73, 0x9d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x53, 0x84, 0x1f, 0x73, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x49, 0x5a, 0xd5, + 0x9c, 0xe5, 0x94, 0x1d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x93, 0x9c, 0xe5, 0xa5, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x93, 0x63, 0x15, 0x63, 0x59, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x73, 0x59, + 0x8c, 0x1d, 0x6b, 0x17, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x9c, 0xe5, 0x63, 0x59, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x8c, 0xa3, 0x6b, 0x9b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8b, 0x52, 0x93, + 0x94, 0xa5, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x53, 0x9c, 0xa3, 0x9c, 0xa3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd5, 0x5b, 0x15, 0x52, 0xd5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x4b, 0x73, 0x9b, + 0x8c, 0x1d, 0x7b, 0x9b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4a, 0x53, 0x8c, 0x61, 0x6b, 0x9d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5a, 0xd7, 0x8c, 0x61, 0x73, 0xdd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x09, 0x5a, 0xd5, + 0x94, 0xa5, 0x73, 0x59, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x52, 0x95, 0xa4, 0xe5, 0xad, 0x27, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x93, 0x5a, 0xd5, 0x5a, 0xd7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x31, 0x8d, 0x6b, 0x17, }; @@ -9891,7 +10934,7 @@ Vtx castle_map_002_mesh_vtx_cull[8] = { {{ {1513, 614, 41}, 0, {0, 0}, {0, 0, 0, 0} }}, }; -Vtx castle_map_002_mesh_vtx_0[695] = { +Vtx castle_map_002_mesh_vtx_0[680] = { {{ {1513, -76, 113}, 0, {1008, 467}, {90, 0, 90, 255} }}, {{ {1509, -99, 113}, 0, {1008, -16}, {90, 0, 90, 255} }}, {{ {1513, -99, 113}, 0, {1008, -16}, {115, 38, 38, 255} }}, @@ -10063,26 +11106,26 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {542, 457, 765}, 0, {-71, 230}, {65, 152, 31, 255} }}, {{ {178, 95, 981}, 0, {756, -148}, {175, 48, 85, 255} }}, {{ {178, -28, 981}, 0, {756, 396}, {166, 0, 90, 255} }}, - {{ {178, -151, 981}, 0, {756, 939}, {180, 184, 72, 255} }}, + {{ {178, -151, 981}, 0, {756, 939}, {161, 0, 85, 255} }}, {{ {613, -1, 981}, 0, {-1173, 278}, {90, 0, 90, 255} }}, - {{ {613, -151, 981}, 0, {-1173, 939}, {76, 184, 72, 255} }}, + {{ {613, -151, 981}, 0, {-1173, 939}, {90, 0, 90, 255} }}, {{ {613, 95, 981}, 0, {-1173, -148}, {81, 48, 85, 255} }}, - {{ {178, -151, 51}, 0, {756, 939}, {180, 184, 184, 255} }}, + {{ {178, -151, 51}, 0, {756, 939}, {161, 0, 171, 255} }}, {{ {178, -28, 51}, 0, {756, 396}, {166, 0, 166, 255} }}, {{ {178, 95, 51}, 0, {756, -148}, {175, 48, 171, 255} }}, {{ {613, -1, 51}, 0, {-1173, 278}, {71, 0, 151, 255} }}, {{ {613, 95, 51}, 0, {-1173, -148}, {81, 48, 171, 255} }}, - {{ {613, -151, 51}, 0, {-1173, 939}, {53, 206, 152, 255} }}, + {{ {613, -151, 51}, 0, {-1173, 939}, {55, 0, 141, 255} }}, {{ {1250, -82, 635}, 0, {-29, 1132}, {90, 0, 90, 255} }}, {{ {1250, -178, 635}, 0, {-29, 1558}, {91, 0, 89, 255} }}, {{ {1250, -178, 397}, 0, {1029, 1558}, {91, 0, 167, 255} }}, {{ {1250, -82, 397}, 0, {1029, 1132}, {90, 0, 166, 255} }}, {{ {1250, 14, 635}, 0, {-29, 706}, {77, 68, 74, 255} }}, {{ {1250, 14, 397}, 0, {1029, 706}, {77, 68, 182, 255} }}, - {{ {613, -151, 635}, 0, {-29, 939}, {57, 155, 52, 255} }}, + {{ {613, -151, 635}, 0, {-29, 939}, {89, 0, 91, 255} }}, {{ {613, -1, 981}, 0, {-1560, 278}, {90, 0, 90, 255} }}, - {{ {613, -151, 981}, 0, {-1560, 939}, {76, 184, 72, 255} }}, - {{ {613, -151, 635}, 0, {-29, 939}, {57, 155, 52, 255} }}, + {{ {613, -151, 981}, 0, {-1560, 939}, {90, 0, 90, 255} }}, + {{ {613, -151, 635}, 0, {-29, 939}, {89, 0, 91, 255} }}, {{ {613, -1, 635}, 0, {-29, 278}, {90, 0, 90, 255} }}, {{ {613, -1, 981}, 0, {-1560, 278}, {90, 0, 90, 255} }}, {{ {613, 95, 981}, 0, {-1560, -148}, {81, 48, 85, 255} }}, @@ -10091,15 +11134,15 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {613, 95, 51}, 0, {2560, -148}, {81, 48, 171, 255} }}, {{ {613, 95, 397}, 0, {1029, -148}, {101, 70, 224, 255} }}, {{ {613, -1, 397}, 0, {1029, 278}, {90, 0, 166, 255} }}, - {{ {613, -151, 51}, 0, {2560, 939}, {53, 206, 152, 255} }}, - {{ {613, -151, 397}, 0, {1029, 939}, {57, 155, 204, 255} }}, - {{ {178, -206, 355}, 0, {1211, 1183}, {189, 180, 180, 255} }}, + {{ {613, -151, 51}, 0, {2560, 939}, {55, 0, 141, 255} }}, + {{ {613, -151, 397}, 0, {1029, 939}, {89, 0, 165, 255} }}, + {{ {178, -206, 355}, 0, {1211, 1183}, {172, 0, 161, 255} }}, {{ {178, -28, 51}, 0, {2560, 396}, {166, 0, 166, 255} }}, - {{ {178, -151, 51}, 0, {2560, 939}, {180, 184, 184, 255} }}, + {{ {178, -151, 51}, 0, {2560, 939}, {161, 0, 171, 255} }}, {{ {178, -28, 355}, 0, {1211, 396}, {166, 0, 166, 255} }}, {{ {178, 95, 51}, 0, {2560, -148}, {175, 48, 171, 255} }}, {{ {178, 95, 355}, 0, {1211, -148}, {168, 64, 191, 255} }}, - {{ {613, -151, 397}, 0, {1917, 919}, {57, 155, 204, 255} }}, + {{ {613, -151, 397}, 0, {1917, 919}, {89, 0, 165, 255} }}, {{ {1250, -82, 397}, 0, {-1053, 502}, {90, 0, 166, 255} }}, {{ {1250, -178, 397}, 0, {-1181, 931}, {91, 0, 167, 255} }}, {{ {613, -1, 397}, 0, {2045, 490}, {90, 0, 166, 255} }}, @@ -10110,28 +11153,18 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {1250, 14, 635}, 0, {-925, 73}, {77, 68, 74, 255} }}, {{ {613, -1, 635}, 0, {2045, 490}, {90, 0, 90, 255} }}, {{ {1250, -178, 635}, 0, {-1181, 931}, {91, 0, 89, 255} }}, - {{ {613, -151, 635}, 0, {1917, 919}, {57, 155, 52, 255} }}, + {{ {613, -151, 635}, 0, {1917, 919}, {89, 0, 91, 255} }}, {{ {178, -28, 981}, 0, {-1560, 396}, {166, 0, 90, 255} }}, {{ {178, 95, 981}, 0, {-1560, -148}, {175, 48, 85, 255} }}, {{ {178, 95, 677}, 0, {-211, -148}, {168, 64, 65, 255} }}, {{ {178, -28, 981}, 0, {-1560, 396}, {166, 0, 90, 255} }}, {{ {178, 95, 677}, 0, {-211, -148}, {168, 64, 65, 255} }}, {{ {178, -28, 677}, 0, {-211, 396}, {166, 0, 90, 255} }}, - {{ {178, -151, 981}, 0, {-1560, 939}, {180, 184, 72, 255} }}, - {{ {178, -206, 677}, 0, {-211, 1183}, {224, 140, 41, 255} }}, - {{ {178, -151, 981}, 0, {-1560, 236}, {180, 184, 72, 255} }}, - {{ {178, -206, 677}, 0, {-211, 236}, {224, 140, 41, 255} }}, - {{ {178, -151, 51}, 0, {2560, 236}, {180, 184, 184, 255} }}, - {{ {613, -151, 981}, 0, {-1560, 2165}, {76, 184, 72, 255} }}, - {{ {613, -151, 397}, 0, {1029, 2165}, {57, 155, 204, 255} }}, - {{ {613, -151, 51}, 0, {2560, 2165}, {53, 206, 152, 255} }}, - {{ {613, -151, 635}, 0, {-29, 2165}, {57, 155, 52, 255} }}, - {{ {178, -206, 355}, 0, {1211, 236}, {189, 180, 180, 255} }}, - {{ {-352, -206, 677}, 0, {-211, -2111}, {183, 183, 73, 255} }}, - {{ {-352, -206, 355}, 0, {1211, -2111}, {183, 183, 183, 255} }}, + {{ {178, -151, 981}, 0, {-1560, 939}, {161, 0, 85, 255} }}, + {{ {178, -206, 677}, 0, {-211, 1183}, {172, 0, 95, 255} }}, {{ {-352, -28, 355}, 0, {1211, 396}, {166, 0, 166, 255} }}, - {{ {-352, -206, 355}, 0, {1211, 1183}, {183, 183, 183, 255} }}, - {{ {-352, -206, 677}, 0, {-211, 1183}, {183, 183, 73, 255} }}, + {{ {-352, -206, 355}, 0, {1211, 1183}, {166, 0, 166, 255} }}, + {{ {-352, -206, 677}, 0, {-211, 1183}, {166, 0, 90, 255} }}, {{ {-352, -28, 677}, 0, {-211, 396}, {166, 0, 90, 255} }}, {{ {-352, 95, 355}, 0, {1211, -148}, {175, 49, 171, 255} }}, {{ {-352, 95, 677}, 0, {-211, -148}, {175, 49, 85, 255} }}, @@ -10146,9 +11179,7 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {127, -138, 677}, 0, {-211, 885}, {166, 0, 90, 255} }}, {{ {127, -6, 677}, 0, {-211, 301}, {166, 213, 79, 255} }}, {{ {127, -28, 677}, 0, {-211, 396}, {166, 0, 90, 255} }}, - {{ {127, -6, 677}, 0, {-211, 301}, {166, 213, 79, 255} }}, {{ {127, -6, 355}, 0, {1211, 301}, {166, 213, 177, 255} }}, - {{ {127, -28, 355}, 0, {1211, 396}, {166, 0, 166, 255} }}, {{ {54, 52, 677}, 0, {-211, -313}, {224, 164, 81, 255} }}, {{ {127, -6, 355}, 0, {1211, 10}, {166, 213, 177, 255} }}, {{ {127, -6, 677}, 0, {-211, 10}, {166, 213, 79, 255} }}, @@ -10178,8 +11209,6 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {118, -31, 554}, 0, {170, 1080}, {183, 73, 73, 255} }}, {{ {127, -31, 554}, 0, {170, 1007}, {73, 73, 73, 255} }}, {{ {127, -31, 482}, 0, {-462, 1007}, {73, 73, 183, 255} }}, - {{ {118, -31, 554}, 0, {170, 1080}, {183, 73, 73, 255} }}, - {{ {127, -31, 482}, 0, {-462, 1007}, {73, 73, 183, 255} }}, {{ {118, -31, 482}, 0, {-462, 1080}, {183, 73, 183, 255} }}, {{ {118, -124, 554}, 0, {-88, 987}, {166, 0, 90, 255} }}, {{ {127, -124, 554}, 0, {-15, 987}, {90, 0, 90, 255} }}, @@ -10191,7 +11220,9 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {118, -41, 489}, 0, {-399, 264}, {141, 218, 38, 255} }}, {{ {118, -31, 554}, 0, {170, 175}, {183, 73, 73, 255} }}, {{ {118, -41, 547}, 0, {107, 264}, {141, 218, 218, 255} }}, + {{ {118, -41, 547}, 0, {107, 264}, {141, 218, 218, 255} }}, {{ {118, -124, 554}, 0, {170, 987}, {166, 0, 90, 255} }}, + {{ {118, -31, 554}, 0, {170, 175}, {183, 73, 73, 255} }}, {{ {118, -124, 547}, 0, {107, 987}, {166, 0, 166, 255} }}, {{ {118, -41, 489}, 0, {-16, -16}, {141, 218, 38, 255} }}, {{ {118, -124, 489}, 0, {-16, 1008}, {166, 0, 90, 255} }}, @@ -10210,9 +11241,7 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {178, -3, 775}, 0, {-16, -16}, {115, 218, 38, 255} }}, {{ {171, -33, 775}, 0, {-16, 467}, {166, 0, 90, 255} }}, {{ {178, -33, 775}, 0, {-16, 467}, {90, 0, 90, 255} }}, - {{ {171, -33, 775}, 0, {-16, 467}, {166, 0, 90, 255} }}, {{ {178, -64, 775}, 0, {-16, -16}, {115, 38, 38, 255} }}, - {{ {178, -33, 775}, 0, {-16, 467}, {90, 0, 90, 255} }}, {{ {171, -64, 775}, 0, {-16, -16}, {141, 38, 38, 255} }}, {{ {178, -64, 848}, 0, {1008, -16}, {120, 40, 0, 255} }}, {{ {171, -64, 848}, 0, {1008, -16}, {141, 38, 218, 255} }}, @@ -10242,9 +11271,7 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {171, 5, 152}, 0, {-462, 1080}, {183, 73, 183, 255} }}, {{ {171, -3, 161}, 0, {-16, -16}, {141, 218, 38, 255} }}, {{ {178, -3, 234}, 0, {1008, -16}, {120, 216, 0, 255} }}, - {{ {171, -3, 161}, 0, {-16, -16}, {141, 218, 38, 255} }}, {{ {178, -3, 161}, 0, {-16, -16}, {115, 218, 38, 255} }}, - {{ {178, -3, 234}, 0, {1008, -16}, {120, 216, 0, 255} }}, {{ {171, -33, 161}, 0, {-16, 467}, {166, 0, 90, 255} }}, {{ {178, -33, 161}, 0, {-16, 467}, {90, 0, 90, 255} }}, {{ {178, -64, 161}, 0, {-16, -16}, {115, 38, 38, 255} }}, @@ -10256,7 +11283,9 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {171, 5, 243}, 0, {-88, 175}, {183, 73, 73, 255} }}, {{ {178, -33, 243}, 0, {-15, 605}, {90, 0, 90, 255} }}, {{ {178, -72, 243}, 0, {-15, 174}, {73, 183, 73, 255} }}, + {{ {171, -33, 243}, 0, {-88, 605}, {166, 0, 90, 255} }}, {{ {171, -72, 243}, 0, {-88, 175}, {183, 183, 73, 255} }}, + {{ {178, -72, 243}, 0, {-15, 174}, {73, 183, 73, 255} }}, {{ {171, 5, 152}, 0, {-88, 175}, {183, 73, 183, 255} }}, {{ {178, 5, 152}, 0, {-15, 175}, {73, 73, 183, 255} }}, {{ {178, -33, 152}, 0, {-15, 605}, {90, 0, 166, 255} }}, @@ -10274,8 +11303,6 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {-337, -4, 512}, 0, {496, 1382}, {0, 127, 0, 255} }}, {{ {-337, -32, 454}, 0, {1240, 1382}, {0, 79, 157, 255} }}, {{ {-466, -32, 454}, 0, {1240, 221}, {177, 62, 178, 255} }}, - {{ {-337, -4, 512}, 0, {496, 1382}, {0, 127, 0, 255} }}, - {{ {-466, -32, 454}, 0, {1240, 221}, {177, 62, 178, 255} }}, {{ {-466, -4, 512}, 0, {496, 221}, {177, 100, 0, 255} }}, {{ {-337, -32, 570}, 0, {-248, 1382}, {0, 79, 99, 255} }}, {{ {-466, -32, 570}, 0, {-248, 221}, {177, 62, 78, 255} }}, @@ -10288,7 +11315,9 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {-337, -145, 544}, 0, {-390, 1353}, {0, 142, 55, 255} }}, {{ {-466, -94, 584}, 0, {771, 708}, {177, 234, 97, 255} }}, {{ {-466, -145, 544}, 0, {771, 1353}, {177, 166, 43, 255} }}, + {{ {-337, -145, 544}, 0, {-390, 1353}, {0, 142, 55, 255} }}, {{ {-337, -94, 584}, 0, {-390, 708}, {0, 228, 124, 255} }}, + {{ {-466, -94, 584}, 0, {771, 708}, {177, 234, 97, 255} }}, {{ {-466, -32, 570}, 0, {771, -97}, {177, 62, 78, 255} }}, {{ {-337, -32, 570}, 0, {-390, -97}, {0, 79, 99, 255} }}, {{ {-337, -145, 479}, 0, {909, 1382}, {0, 142, 201, 255} }}, @@ -10306,8 +11335,6 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {-447, -46, 472}, 0, {1008, 467}, {0, 177, 99, 255} }}, {{ {-447, -27, 512}, 0, {496, 467}, {0, 129, 0, 255} }}, {{ {-466, -46, 552}, 0, {-16, 221}, {140, 223, 215, 255} }}, - {{ {-466, -46, 552}, 0, {-16, 221}, {140, 223, 215, 255} }}, - {{ {-447, -27, 512}, 0, {496, 467}, {0, 129, 0, 255} }}, {{ {-447, -46, 552}, 0, {-16, 467}, {0, 177, 157, 255} }}, {{ {-466, -89, 462}, 0, {771, 642}, {140, 12, 51, 255} }}, {{ {-466, -124, 490}, 0, {771, 1086}, {140, 47, 23, 255} }}, @@ -10349,9 +11376,10 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {622, -40, 164}, 0, {107, 264}, {115, 218, 38, 255} }}, {{ {622, -123, 157}, 0, {170, 987}, {90, 0, 166, 255} }}, {{ {622, -123, 164}, 0, {107, 987}, {90, 0, 90, 255} }}, - {{ {622, -40, 222}, 0, {-16, -16}, {115, 218, 218, 255} }}, {{ {622, -123, 222}, 0, {-16, 1008}, {90, 0, 166, 255} }}, {{ {618, -123, 222}, 0, {-16, 1008}, {90, 0, 166, 255} }}, + {{ {622, -40, 222}, 0, {-16, -16}, {115, 218, 218, 255} }}, + {{ {618, -123, 222}, 0, {-16, 1008}, {90, 0, 166, 255} }}, {{ {618, -40, 222}, 0, {-16, -16}, {90, 0, 166, 255} }}, {{ {348, -30, 990}, 0, {-88, 175}, {183, 73, 73, 255} }}, {{ {348, -30, 981}, 0, {-15, 175}, {183, 73, 183, 255} }}, @@ -10369,8 +11397,6 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {356, -40, 981}, 0, {-399, 264}, {0, 216, 136, 255} }}, {{ {421, -30, 981}, 0, {170, 174}, {73, 73, 183, 255} }}, {{ {414, -40, 981}, 0, {107, 264}, {218, 218, 141, 255} }}, - {{ {414, -40, 981}, 0, {107, 264}, {218, 218, 141, 255} }}, - {{ {421, -30, 981}, 0, {170, 174}, {73, 73, 183, 255} }}, {{ {421, -123, 981}, 0, {170, 987}, {90, 0, 166, 255} }}, {{ {414, -123, 981}, 0, {107, 987}, {166, 0, 166, 255} }}, {{ {421, -30, 990}, 0, {170, 1080}, {73, 73, 73, 255} }}, @@ -10384,6 +11410,8 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {348, -30, 990}, 0, {-462, 175}, {183, 73, 73, 255} }}, {{ {348, -123, 990}, 0, {-462, 987}, {166, 0, 90, 255} }}, {{ {356, -123, 990}, 0, {-399, 987}, {90, 0, 90, 255} }}, + {{ {348, -30, 990}, 0, {-462, 175}, {183, 73, 73, 255} }}, + {{ {356, -123, 990}, 0, {-399, 987}, {90, 0, 90, 255} }}, {{ {356, -40, 990}, 0, {-399, 264}, {38, 218, 115, 255} }}, {{ {421, -30, 990}, 0, {170, 175}, {73, 73, 73, 255} }}, {{ {414, -40, 990}, 0, {107, 264}, {218, 218, 115, 255} }}, @@ -10433,9 +11461,7 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {1505, -76, 178}, 0, {-462, 605}, {166, 0, 90, 255} }}, {{ {1505, -46, 178}, 0, {-462, 175}, {183, 73, 73, 255} }}, {{ {1505, -105, 178}, 0, {-462, 175}, {183, 183, 73, 255} }}, - {{ {1505, -76, 170}, 0, {-399, 605}, {166, 0, 166, 255} }}, {{ {1505, -99, 170}, 0, {-399, 264}, {141, 38, 218, 255} }}, - {{ {1505, -105, 178}, 0, {-462, 175}, {183, 183, 73, 255} }}, {{ {1505, -105, 105}, 0, {170, 174}, {183, 183, 183, 255} }}, {{ {1505, -99, 113}, 0, {107, 264}, {136, 40, 0, 255} }}, {{ {1505, -76, 105}, 0, {170, 605}, {166, 0, 166, 255} }}, @@ -10443,12 +11469,13 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {1505, -52, 113}, 0, {107, 264}, {136, 216, 0, 255} }}, {{ {1505, -46, 105}, 0, {170, 174}, {183, 73, 183, 255} }}, {{ {1505, -52, 170}, 0, {-399, 264}, {141, 218, 218, 255} }}, - {{ {1505, -46, 178}, 0, {-462, 175}, {183, 73, 73, 255} }}, {{ {1513, -46, 105}, 0, {170, 175}, {73, 73, 183, 255} }}, {{ {1513, -46, 178}, 0, {-462, 175}, {73, 73, 73, 255} }}, {{ {1513, -52, 170}, 0, {-399, 264}, {115, 218, 218, 255} }}, {{ {1513, -76, 170}, 0, {-399, 605}, {90, 0, 166, 255} }}, + {{ {1513, -46, 178}, 0, {-462, 175}, {73, 73, 73, 255} }}, {{ {1513, -76, 178}, 0, {-462, 605}, {90, 0, 90, 255} }}, + {{ {1513, -76, 170}, 0, {-399, 605}, {90, 0, 166, 255} }}, {{ {1513, -105, 178}, 0, {-462, 175}, {73, 183, 73, 255} }}, {{ {1513, -99, 170}, 0, {-399, 264}, {115, 38, 218, 255} }}, {{ {1513, -105, 105}, 0, {170, 175}, {73, 183, 183, 255} }}, @@ -10456,6 +11483,8 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {1513, -76, 105}, 0, {170, 605}, {90, 0, 166, 255} }}, {{ {1513, -76, 113}, 0, {107, 605}, {90, 0, 90, 255} }}, {{ {1513, -52, 113}, 0, {107, 264}, {115, 218, 38, 255} }}, + {{ {1513, -46, 105}, 0, {170, 175}, {73, 73, 183, 255} }}, + {{ {1513, -52, 170}, 0, {-399, 264}, {115, 218, 218, 255} }}, {{ {538, 116, 658}, 0, {760, 1940}, {89, 177, 213, 255} }}, {{ {542, 457, 656}, 0, {769, 230}, {65, 152, 225, 255} }}, {{ {540, 269, 681}, 0, {647, 1174}, {115, 39, 38, 255} }}, @@ -10465,31 +11494,30 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {540, 269, 742}, 0, {340, 1174}, {115, 38, 218, 255} }}, {{ {538, 116, 763}, 0, {232, 1940}, {89, 177, 43, 255} }}, {{ {520, 269, 681}, 0, {647, 1174}, {1, 91, 88, 255} }}, - {{ {540, 269, 681}, 0, {647, 1174}, {115, 39, 38, 255} }}, {{ {522, 413, 675}, 0, {675, 450}, {255, 167, 91, 255} }}, - {{ {520, 269, 681}, 0, {647, 1174}, {1, 91, 88, 255} }}, - {{ {542, 413, 675}, 0, {675, 450}, {115, 218, 38, 255} }}, {{ {522, 412, 744}, 0, {329, 454}, {255, 168, 165, 255} }}, - {{ {542, 412, 744}, 0, {329, 454}, {114, 217, 217, 255} }}, {{ {520, 269, 742}, 0, {340, 1174}, {1, 91, 167, 255} }}, - {{ {540, 269, 742}, 0, {340, 1174}, {115, 38, 218, 255} }}, {{ {-133, -28, 677}, 0, {2132, 396}, {90, 0, 90, 255} }}, {{ {-352, -28, 677}, 0, {3103, 396}, {166, 0, 90, 255} }}, - {{ {-352, -206, 677}, 0, {3103, 1183}, {183, 183, 73, 255} }}, + {{ {-352, -206, 677}, 0, {3103, 1183}, {166, 0, 90, 255} }}, {{ {-352, 95, 677}, 0, {3103, -148}, {175, 49, 85, 255} }}, {{ {-133, -6, 677}, 0, {2132, 301}, {90, 213, 79, 255} }}, {{ {-60, 52, 677}, 0, {1808, 42}, {32, 164, 81, 255} }}, {{ {178, 95, 677}, 0, {756, -148}, {168, 64, 65, 255} }}, {{ {54, 52, 677}, 0, {1305, 42}, {224, 164, 81, 255} }}, + {{ {54, 52, 677}, 0, {1305, 42}, {224, 164, 81, 255} }}, {{ {127, -6, 677}, 0, {982, 301}, {166, 213, 79, 255} }}, + {{ {178, 95, 677}, 0, {756, -148}, {168, 64, 65, 255} }}, {{ {127, -28, 677}, 0, {982, 396}, {166, 0, 90, 255} }}, {{ {178, -28, 677}, 0, {756, 396}, {166, 0, 90, 255} }}, - {{ {178, -206, 677}, 0, {756, 1183}, {224, 140, 41, 255} }}, + {{ {178, -206, 677}, 0, {756, 1183}, {172, 0, 95, 255} }}, {{ {127, -138, 677}, 0, {982, 885}, {166, 0, 90, 255} }}, {{ {-133, -138, 677}, 0, {2132, 885}, {90, 0, 90, 255} }}, + {{ {-352, -206, 677}, 0, {3103, 1183}, {166, 0, 90, 255} }}, + {{ {-133, -28, 677}, 0, {2132, 396}, {90, 0, 90, 255} }}, {{ {127, -28, 355}, 0, {982, 396}, {166, 0, 166, 255} }}, {{ {178, -28, 355}, 0, {756, 396}, {166, 0, 166, 255} }}, - {{ {178, -206, 355}, 0, {756, 1183}, {189, 180, 180, 255} }}, + {{ {178, -206, 355}, 0, {756, 1183}, {172, 0, 161, 255} }}, {{ {178, 95, 355}, 0, {756, -148}, {168, 64, 191, 255} }}, {{ {127, -6, 355}, 0, {982, 301}, {166, 213, 177, 255} }}, {{ {54, 52, 355}, 0, {1305, 42}, {224, 164, 175, 255} }}, @@ -10497,14 +11525,10 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {-60, 52, 355}, 0, {1808, 42}, {32, 164, 175, 255} }}, {{ {-133, -6, 355}, 0, {2132, 301}, {90, 213, 177, 255} }}, {{ {-352, -28, 355}, 0, {3103, 396}, {166, 0, 166, 255} }}, - {{ {-133, -6, 355}, 0, {2132, 301}, {90, 213, 177, 255} }}, {{ {-133, -28, 355}, 0, {2132, 396}, {90, 0, 166, 255} }}, - {{ {-352, -28, 355}, 0, {3103, 396}, {166, 0, 166, 255} }}, - {{ {-352, -206, 355}, 0, {3103, 1183}, {183, 183, 183, 255} }}, + {{ {-352, -206, 355}, 0, {3103, 1183}, {166, 0, 166, 255} }}, {{ {-133, -138, 355}, 0, {2132, 885}, {90, 0, 166, 255} }}, {{ {127, -138, 355}, 0, {982, 885}, {166, 0, 166, 255} }}, - {{ {178, -206, 355}, 0, {756, 1183}, {189, 180, 180, 255} }}, - {{ {127, -28, 355}, 0, {982, 396}, {166, 0, 166, 255} }}, {{ {178, -33, 775}, 0, {-399, 605}, {90, 0, 90, 255} }}, {{ {178, -33, 767}, 0, {-462, 605}, {90, 0, 166, 255} }}, {{ {178, 5, 767}, 0, {-462, 175}, {73, 73, 183, 255} }}, @@ -10513,10 +11537,14 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {178, -72, 857}, 0, {170, 174}, {73, 183, 73, 255} }}, {{ {178, -64, 848}, 0, {107, 264}, {120, 40, 0, 255} }}, {{ {178, -33, 857}, 0, {170, 605}, {90, 0, 90, 255} }}, + {{ {178, -64, 848}, 0, {107, 264}, {120, 40, 0, 255} }}, {{ {178, -33, 848}, 0, {107, 605}, {127, 0, 0, 255} }}, + {{ {178, -33, 857}, 0, {170, 605}, {90, 0, 90, 255} }}, {{ {178, -3, 848}, 0, {107, 264}, {120, 216, 0, 255} }}, {{ {178, 5, 857}, 0, {170, 174}, {73, 73, 73, 255} }}, {{ {178, -3, 775}, 0, {-399, 264}, {115, 218, 38, 255} }}, + {{ {178, 5, 767}, 0, {-462, 175}, {73, 73, 183, 255} }}, + {{ {178, -33, 775}, 0, {-399, 605}, {90, 0, 90, 255} }}, {{ {171, 5, 857}, 0, {170, 175}, {183, 73, 73, 255} }}, {{ {171, 5, 767}, 0, {-462, 175}, {183, 73, 183, 255} }}, {{ {171, -3, 775}, 0, {-399, 264}, {141, 218, 38, 255} }}, @@ -10561,24 +11589,24 @@ Vtx castle_map_002_mesh_vtx_0[695] = { {{ {-466, -145, 544}, 0, {83, 1353}, {177, 166, 43, 255} }}, {{ {-466, -124, 534}, 0, {212, 1086}, {140, 47, 233, 255} }}, {{ {-466, -145, 479}, 0, {909, 1353}, {177, 166, 213, 255} }}, - {{ {-466, -124, 534}, 0, {212, 1086}, {140, 47, 233, 255} }}, {{ {-466, -124, 490}, 0, {780, 1086}, {140, 47, 23, 255} }}, - {{ {-466, -145, 479}, 0, {909, 1353}, {177, 166, 213, 255} }}, {{ {-466, -94, 439}, 0, {1424, 708}, {177, 234, 159, 255} }}, {{ {-466, -89, 462}, 0, {1134, 642}, {140, 12, 51, 255} }}, {{ {-466, -32, 454}, 0, {1240, -97}, {177, 62, 178, 255} }}, {{ {-466, -46, 472}, 0, {1008, 88}, {140, 223, 41, 255} }}, {{ {-466, -4, 512}, 0, {496, -455}, {177, 100, 0, 255} }}, - {{ {-466, -27, 512}, 0, {496, -159}, {140, 204, 0, 255} }}, - {{ {-466, -32, 570}, 0, {-248, -97}, {177, 62, 78, 255} }}, {{ {376, 272, 264}, 0, {823, 823}, {42, 144, 214, 255} }}, {{ {319, 272, 264}, 0, {823, 169}, {214, 144, 214, 255} }}, {{ {302, 273, 247}, 0, {930, 62}, {182, 185, 182, 255} }}, {{ {302, 273, 339}, 0, {62, 62}, {182, 185, 74, 255} }}, {{ {319, 272, 322}, 0, {169, 169}, {214, 144, 42, 255} }}, {{ {394, 273, 339}, 0, {62, 930}, {74, 185, 74, 255} }}, + {{ {319, 272, 322}, 0, {169, 169}, {214, 144, 42, 255} }}, {{ {376, 272, 322}, 0, {169, 823}, {42, 144, 42, 255} }}, + {{ {394, 273, 339}, 0, {62, 930}, {74, 185, 74, 255} }}, {{ {394, 273, 247}, 0, {930, 930}, {74, 185, 182, 255} }}, + {{ {376, 272, 264}, 0, {823, 823}, {42, 144, 214, 255} }}, + {{ {302, 273, 247}, 0, {930, 62}, {182, 185, 182, 255} }}, {{ {376, 304, 322}, 0, {3907, 1011}, {0, 127, 0, 255} }}, {{ {319, 304, 322}, 0, {3907, 177}, {0, 127, 0, 255} }}, {{ {302, 304, 339}, 0, {3656, -74}, {183, 73, 73, 255} }}, @@ -10673,192 +11701,188 @@ Gfx castle_map_002_mesh_tri_0[] = { gsSP2Triangles(20, 22, 21, 0, 23, 24, 25, 0), gsSP2Triangles(23, 26, 24, 0, 26, 27, 24, 0), gsSP2Triangles(26, 28, 27, 0, 29, 30, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 222, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), - gsSP2Triangles(3, 2, 4, 0, 5, 6, 7, 0), - gsSP2Triangles(8, 5, 7, 0, 7, 9, 8, 0), - gsSP2Triangles(7, 10, 9, 0, 9, 11, 8, 0), - gsSP2Triangles(12, 6, 13, 0, 12, 13, 14, 0), - gsSP2Triangles(15, 16, 17, 0, 15, 17, 18, 0), - gsSP2Triangles(19, 15, 18, 0, 19, 18, 20, 0), - gsSP2Triangles(21, 22, 23, 0, 23, 24, 21, 0), - gsSP2Triangles(23, 25, 24, 0, 24, 26, 21, 0), - gsSP2Triangles(27, 28, 29, 0, 29, 30, 27, 0), - gsSP1Triangle(29, 31, 30, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 254, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(3, 6, 4, 0, 6, 3, 7, 0), - gsSP2Triangles(6, 7, 8, 0, 8, 7, 9, 0), - gsSP2Triangles(8, 9, 10, 0, 11, 12, 13, 0), - gsSP2Triangles(11, 13, 14, 0, 15, 16, 17, 0), - gsSP2Triangles(15, 18, 16, 0, 19, 18, 15, 0), - gsSP2Triangles(19, 20, 18, 0, 21, 22, 23, 0), - gsSP2Triangles(21, 23, 24, 0, 24, 23, 25, 0), - gsSP2Triangles(24, 25, 26, 0, 26, 25, 27, 0), - gsSP2Triangles(26, 27, 28, 0, 29, 30, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 286, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), - gsSP2Triangles(7, 9, 10, 0, 11, 7, 10, 0), - gsSP2Triangles(11, 10, 12, 0, 12, 13, 11, 0), - gsSP2Triangles(12, 14, 13, 0, 15, 16, 17, 0), - gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0), - gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0), - gsSP2Triangles(23, 25, 26, 0, 27, 28, 20, 0), - gsSP2Triangles(27, 29, 28, 0, 30, 29, 27, 0), - gsSP1Triangle(30, 31, 29, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 318, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), - gsSP2Triangles(6, 7, 8, 0, 6, 9, 7, 0), - gsSP2Triangles(6, 10, 9, 0, 6, 11, 10, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 15, 14, 0, 16, 14, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), - gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0), - gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), - gsSP1Triangle(30, 31, 23, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 350, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), - gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), - gsSP2Triangles(3, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(6, 8, 7, 0, 9, 10, 11, 0), - gsSP2Triangles(9, 12, 10, 0, 9, 13, 12, 0), - gsSP2Triangles(9, 14, 13, 0, 15, 16, 17, 0), - gsSP2Triangles(15, 17, 18, 0, 19, 18, 17, 0), - gsSP2Triangles(19, 17, 20, 0, 21, 22, 23, 0), - gsSP2Triangles(21, 23, 24, 0, 25, 26, 27, 0), - gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 382, 32, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 222, 31, 0), gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), gsSP2Triangles(3, 2, 4, 0, 5, 6, 7, 0), gsSP2Triangles(5, 7, 8, 0, 9, 5, 8, 0), gsSP2Triangles(9, 8, 10, 0, 11, 12, 13, 0), - gsSP2Triangles(11, 14, 12, 0, 14, 15, 12, 0), - gsSP2Triangles(14, 16, 15, 0, 17, 18, 19, 0), - gsSP2Triangles(17, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(13, 14, 11, 0, 13, 15, 14, 0), + gsSP2Triangles(14, 16, 11, 0, 17, 18, 19, 0), + gsSP2Triangles(19, 20, 17, 0, 19, 21, 20, 0), + gsSP2Triangles(20, 22, 17, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 26, 24, 0, 26, 23, 27, 0), + gsSP2Triangles(26, 27, 28, 0, 28, 27, 29, 0), + gsSP1Triangle(28, 29, 30, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 253, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0), + gsSP2Triangles(8, 7, 4, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(13, 12, 14, 0, 13, 14, 15, 0), + gsSP2Triangles(15, 14, 16, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), + gsSP2Triangles(30, 26, 29, 0, 30, 29, 31, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 285, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 9, 0, 16, 18, 17, 0), + gsSP2Triangles(19, 18, 16, 0, 19, 20, 18, 0), + gsSP2Triangles(19, 21, 20, 0, 19, 22, 21, 0), + gsSP2Triangles(22, 23, 21, 0, 22, 24, 23, 0), + gsSP2Triangles(25, 26, 27, 0, 25, 28, 26, 0), + gsSP2Triangles(25, 29, 28, 0, 25, 30, 29, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 316, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 2, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 11, 0, 18, 20, 19, 0), + gsSP2Triangles(21, 20, 18, 0, 21, 22, 20, 0), + gsSP2Triangles(21, 23, 22, 0, 21, 24, 23, 0), + gsSP2Triangles(24, 25, 23, 0, 24, 26, 25, 0), + gsSP2Triangles(27, 28, 29, 0, 27, 30, 28, 0), + gsSP1Triangle(27, 31, 30, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 348, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 6, 5, 0), + gsSP2Triangles(7, 5, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(9, 11, 12, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 17, 18, 19, 0), + gsSP2Triangles(17, 19, 20, 0, 21, 17, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 23, 26, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 30, 31, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 380, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 5, 6, 7, 0), + gsSP2Triangles(5, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(9, 11, 12, 0, 13, 9, 12, 0), + gsSP2Triangles(13, 12, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 19, 15, 18, 0), + gsSP2Triangles(19, 18, 20, 0, 21, 22, 23, 0), gsSP2Triangles(21, 23, 24, 0, 25, 21, 24, 0), gsSP2Triangles(25, 24, 26, 0, 27, 28, 29, 0), - gsSP2Triangles(27, 29, 30, 0, 31, 27, 30, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 414, 31, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), - gsSP2Triangles(3, 5, 6, 0, 7, 3, 6, 0), - gsSP2Triangles(7, 6, 8, 0, 9, 10, 11, 0), - gsSP2Triangles(9, 11, 12, 0, 13, 14, 15, 0), - gsSP2Triangles(13, 16, 14, 0, 17, 16, 13, 0), - gsSP2Triangles(17, 18, 16, 0, 19, 20, 21, 0), - gsSP2Triangles(19, 21, 22, 0, 22, 21, 23, 0), - gsSP2Triangles(22, 23, 24, 0, 24, 23, 25, 0), - gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), gsSP1Triangle(27, 29, 30, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 445, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 4, 7, 0, 8, 7, 9, 0), - gsSP2Triangles(9, 10, 8, 0, 9, 11, 10, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 23, 21, 0), - gsSP2Triangles(24, 23, 20, 0, 24, 25, 23, 0), - gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), - gsSP2Triangles(29, 28, 30, 0, 29, 30, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 477, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 12, 15, 0, 16, 15, 17, 0), - gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 509, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), - gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), - gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 29, 30, 0, 28, 31, 29, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 541, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), - gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), - gsSP2Triangles(4, 6, 5, 0, 7, 5, 6, 0), - gsSP2Triangles(7, 8, 5, 0, 9, 8, 7, 0), - gsSP2Triangles(9, 10, 8, 0, 0, 10, 9, 0), - gsSP2Triangles(11, 12, 13, 0, 12, 14, 13, 0), - gsSP2Triangles(12, 15, 14, 0, 16, 14, 15, 0), - gsSP2Triangles(16, 17, 14, 0, 18, 17, 16, 0), - gsSP2Triangles(18, 19, 17, 0, 19, 18, 20, 0), - gsSP2Triangles(19, 20, 21, 0, 22, 21, 20, 0), - gsSP2Triangles(22, 20, 11, 0, 11, 13, 22, 0), - gsSP2Triangles(23, 24, 25, 0, 24, 26, 25, 0), - gsSP2Triangles(27, 26, 24, 0, 27, 28, 26, 0), - gsSP2Triangles(28, 27, 29, 0, 27, 30, 29, 0), - gsSP2Triangles(25, 29, 30, 0, 23, 25, 30, 0), - gsSP1Triangle(29, 25, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 573, 32, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 411, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), - gsSP2Triangles(5, 6, 4, 0, 5, 7, 6, 0), - gsSP2Triangles(7, 2, 6, 0, 8, 9, 10, 0), - gsSP2Triangles(11, 9, 8, 0, 11, 8, 12, 0), - gsSP2Triangles(11, 12, 13, 0, 14, 11, 13, 0), - gsSP2Triangles(13, 15, 14, 0, 15, 16, 14, 0), - gsSP2Triangles(16, 17, 14, 0, 17, 18, 14, 0), - gsSP2Triangles(19, 18, 17, 0, 19, 17, 20, 0), - gsSP2Triangles(19, 20, 21, 0, 10, 19, 21, 0), - gsSP2Triangles(21, 8, 10, 0, 22, 23, 24, 0), - gsSP2Triangles(25, 23, 22, 0, 25, 22, 26, 0), - gsSP2Triangles(25, 26, 27, 0, 28, 25, 27, 0), - gsSP2Triangles(27, 29, 28, 0, 29, 30, 28, 0), - gsSP1Triangle(30, 31, 28, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 605, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), - gsSP2Triangles(3, 1, 4, 0, 3, 4, 5, 0), - gsSP2Triangles(6, 3, 5, 0, 5, 7, 6, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 11, 9, 0), - gsSP2Triangles(8, 12, 11, 0, 12, 13, 11, 0), - gsSP2Triangles(12, 14, 13, 0, 14, 15, 13, 0), - gsSP2Triangles(14, 16, 15, 0, 17, 15, 16, 0), - gsSP2Triangles(17, 18, 15, 0, 19, 18, 17, 0), - gsSP2Triangles(19, 10, 18, 0, 8, 10, 19, 0), - gsSP2Triangles(20, 21, 22, 0, 21, 23, 22, 0), - gsSP2Triangles(21, 24, 23, 0, 25, 23, 24, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0), + gsSP2Triangles(11, 10, 12, 0, 11, 12, 13, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0), + gsSP2Triangles(26, 22, 25, 0, 26, 25, 27, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP1Triangle(4, 30, 31, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 443, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 10, 8, 0, 11, 10, 7, 0), + gsSP2Triangles(11, 12, 10, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 15, 16, 0, 16, 15, 17, 0), + gsSP2Triangles(16, 17, 18, 0, 18, 17, 19, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(21, 23, 24, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 475, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 4, 5, 3, 0), + gsSP2Triangles(4, 6, 5, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 9, 10, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0), + gsSP1Triangle(27, 29, 30, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 506, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 19, 17, 0), + gsSP2Triangles(16, 20, 19, 0, 20, 21, 19, 0), + gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0), + gsSP2Triangles(22, 24, 23, 0, 25, 23, 24, 0), gsSP2Triangles(25, 26, 23, 0, 27, 26, 25, 0), - gsSP2Triangles(27, 28, 26, 0, 28, 27, 29, 0), - gsSP2Triangles(28, 29, 30, 0, 31, 30, 29, 0), - gsSP2Triangles(31, 29, 20, 0, 20, 22, 31, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 637, 32, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), - gsSP2Triangles(0, 4, 3, 0, 4, 5, 3, 0), - gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(6, 8, 7, 0, 9, 7, 8, 0), - gsSP2Triangles(9, 10, 7, 0, 11, 10, 9, 0), - gsSP2Triangles(11, 2, 10, 0, 0, 2, 11, 0), + gsSP2Triangles(27, 18, 26, 0, 16, 18, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 29, 31, 30, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 538, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), + gsSP2Triangles(3, 4, 2, 0, 5, 4, 3, 0), + gsSP2Triangles(5, 6, 4, 0, 6, 5, 7, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 8, 7, 0), + gsSP2Triangles(9, 7, 10, 0, 10, 11, 9, 0), gsSP2Triangles(12, 13, 14, 0, 13, 15, 14, 0), - gsSP2Triangles(13, 16, 15, 0, 17, 15, 16, 0), - gsSP2Triangles(17, 18, 15, 0, 19, 18, 17, 0), - gsSP2Triangles(19, 20, 18, 0, 20, 19, 21, 0), - gsSP2Triangles(20, 21, 22, 0, 23, 22, 21, 0), - gsSP2Triangles(23, 21, 12, 0, 12, 14, 23, 0), - gsSP2Triangles(24, 25, 26, 0, 25, 27, 26, 0), - gsSP2Triangles(25, 28, 27, 0, 28, 29, 27, 0), + gsSP2Triangles(16, 15, 13, 0, 16, 17, 15, 0), + gsSP2Triangles(17, 16, 18, 0, 16, 19, 18, 0), + gsSP2Triangles(14, 18, 19, 0, 12, 14, 19, 0), + gsSP2Triangles(18, 14, 20, 0, 14, 21, 20, 0), + gsSP2Triangles(14, 15, 21, 0, 15, 22, 21, 0), + gsSP2Triangles(15, 17, 22, 0, 17, 23, 22, 0), + gsSP2Triangles(17, 18, 23, 0, 18, 20, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 25, 24, 0), + gsSP2Triangles(27, 24, 28, 0, 27, 28, 29, 0), + gsSP2Triangles(30, 27, 29, 0, 29, 31, 30, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 570, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(3, 4, 2, 0, 5, 4, 3, 0), + gsSP2Triangles(5, 3, 6, 0, 5, 6, 7, 0), + gsSP2Triangles(8, 5, 7, 0, 7, 9, 8, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 11, 10, 0), + gsSP2Triangles(13, 10, 14, 0, 13, 14, 15, 0), + gsSP2Triangles(16, 13, 15, 0, 15, 17, 16, 0), + gsSP2Triangles(17, 18, 16, 0, 18, 19, 16, 0), + gsSP2Triangles(18, 20, 19, 0, 21, 19, 20, 0), + gsSP2Triangles(21, 20, 22, 0, 21, 22, 23, 0), + gsSP2Triangles(12, 21, 23, 0, 23, 10, 12, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 27, 25, 0), + gsSP2Triangles(24, 28, 27, 0, 28, 29, 27, 0), gsSP2Triangles(28, 30, 29, 0, 30, 31, 29, 0), - gsSPVertex(castle_map_002_mesh_vtx_0 + 669, 26, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 602, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 2, 1, 0), + gsSP2Triangles(3, 4, 2, 0, 5, 4, 3, 0), + gsSP2Triangles(5, 6, 4, 0, 7, 6, 5, 0), + gsSP2Triangles(8, 9, 10, 0, 9, 11, 10, 0), + gsSP2Triangles(9, 12, 11, 0, 13, 11, 12, 0), + gsSP2Triangles(13, 14, 11, 0, 15, 14, 13, 0), + gsSP2Triangles(15, 16, 14, 0, 16, 15, 17, 0), + gsSP2Triangles(16, 17, 18, 0, 19, 18, 17, 0), + gsSP2Triangles(19, 17, 8, 0, 8, 10, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 23, 21, 0), + gsSP2Triangles(20, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(26, 28, 27, 0, 29, 27, 28, 0), + gsSP2Triangles(29, 30, 27, 0, 31, 30, 29, 0), + gsSP2Triangles(31, 22, 30, 0, 20, 22, 31, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 634, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 6, 3, 0, 7, 6, 5, 0), + gsSP2Triangles(7, 8, 6, 0, 8, 7, 9, 0), + gsSP2Triangles(8, 9, 10, 0, 11, 10, 9, 0), + gsSP2Triangles(11, 9, 0, 0, 0, 2, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 13, 15, 14, 0), + gsSP2Triangles(13, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(16, 18, 17, 0, 18, 19, 17, 0), + gsSP2Triangles(18, 20, 19, 0, 20, 21, 19, 0), + gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0), + gsSP2Triangles(22, 24, 23, 0, 24, 25, 23, 0), + gsSP2Triangles(24, 12, 25, 0, 12, 14, 25, 0), + gsSP2Triangles(26, 27, 28, 0, 27, 29, 28, 0), + gsSP2Triangles(27, 30, 29, 0, 30, 31, 29, 0), + gsSPVertex(castle_map_002_mesh_vtx_0 + 666, 14, 0), gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), gsSP2Triangles(1, 4, 3, 0, 4, 5, 3, 0), - gsSP2Triangles(4, 6, 5, 0, 6, 7, 5, 0), - gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), - gsSP2Triangles(10, 11, 12, 0, 11, 13, 12, 0), - gsSP2Triangles(11, 14, 13, 0, 14, 15, 13, 0), - gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), - gsSP2Triangles(16, 10, 17, 0, 10, 12, 17, 0), - gsSP2Triangles(18, 19, 20, 0, 19, 21, 20, 0), - gsSP2Triangles(19, 22, 21, 0, 22, 23, 21, 0), - gsSP2Triangles(22, 24, 23, 0, 24, 25, 23, 0), - gsSP2Triangles(24, 18, 25, 0, 18, 20, 25, 0), + gsSP2Triangles(6, 7, 8, 0, 7, 9, 8, 0), + gsSP2Triangles(7, 10, 9, 0, 10, 11, 9, 0), + gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), + gsSP2Triangles(12, 6, 13, 0, 6, 8, 13, 0), gsSPEndDisplayList(), }; @@ -11066,7 +12090,7 @@ Vtx castle_map_002_mesh_vtx_5[9] = { {{ {858, -145, 47}, 0, {6465, 1052}, {254, 0, 129, 255} }}, {{ {1246, -204, 41}, 0, {-29761, 12936}, {197, 0, 143, 255} }}, {{ {740, -148, 49}, 0, {17505, -650}, {254, 0, 129, 255} }}, - {{ {613, -151, 51}, 0, {29339, -2475}, {53, 206, 152, 255} }}, + {{ {613, -151, 51}, 0, {29339, -2475}, {55, 0, 141, 255} }}, {{ {788, -84, 48}, 0, {13003, -5818}, {254, 0, 129, 255} }}, }; @@ -11087,10 +12111,10 @@ Gfx mat_castle_wall1[] = { gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, castle_brick1_i8), - gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, castle_brick1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; @@ -11129,15 +12153,11 @@ Gfx mat_castle_door1[] = { gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, castle_door1_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 181), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, castle_door1_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 511, 512), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, castle_door1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), gsSPEndDisplayList(), }; @@ -11146,7 +12166,6 @@ Gfx mat_revert_castle_door1[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -11155,16 +12174,12 @@ Gfx mat_castle_window1[] = { gsSPClearGeometryMode(G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsSPTexture(960, 960, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, castle_superFXSteel_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 2), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_16b, 1, castle_superFXSteel_ci4), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_16b, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 63, 2048), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_4b, 1, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, castle_superFXSteel_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 255, 512), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0), gsDPSetTileSize(0, 0, 0, 60, 60), gsSPEndDisplayList(), }; @@ -11173,7 +12188,6 @@ Gfx mat_revert_castle_window1[] = { gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN), gsSPSetGeometryMode(G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -11182,17 +12196,13 @@ Gfx mat_castle_grate[] = { gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), - gsDPSetTextureLUT(G_TT_RGBA16), gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 255, 255, 255), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, castle_bars1_pal_rgba16), - gsDPSetTile(0, 0, 0, 256, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadTLUTCmd(5, 147), - gsDPSetTextureImage(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 1, castle_bars1_ci8), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_CI, G_IM_SIZ_8b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, castle_bars1_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 4095, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 252), gsSPEndDisplayList(), }; @@ -11201,7 +12211,6 @@ Gfx mat_revert_castle_grate[] = { gsSPClearGeometryMode(G_FOG), gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), gsSPEndDisplayList(), }; @@ -11259,6 +12268,8 @@ Gfx castle_map_002_mesh[] = { gsSPEndDisplayList(), }; + + Gfx statue_window_rgba16_aligner[] = {gsSPEndDisplayList()}; u8 statue_window_rgba16[] = { 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, diff --git a/include/actor_types.h b/include/actor_types.h index e4998ae4f..e9f8844de 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -133,6 +133,7 @@ struct Actor { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 // Duplicate declare for simplicity when externing actors & packed files. @@ -157,6 +158,7 @@ struct TrainCar { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct RailroadCrossing { @@ -170,6 +172,7 @@ struct RailroadCrossing { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 // crossingTrigger might ruin struct size when compiled on 32 bit @@ -187,6 +190,7 @@ struct FallingRock { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct ActorSpawnData { @@ -231,6 +235,7 @@ struct YoshiValleyEgg { // pathCenter[0] and pathCenter[2] are the X,Z coordinates of the center of the path /* 0x24 */ Vec3f pathCenter; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct KiwanoFruit { @@ -249,6 +254,7 @@ struct KiwanoFruit { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct PaddleWheelBoat { @@ -263,6 +269,7 @@ struct PaddleWheelBoat { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct PiranhaPlant { @@ -275,6 +282,7 @@ struct PiranhaPlant { /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state /* 0x2C */ f32 unk_02C; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct PalmTree { @@ -289,6 +297,7 @@ struct PalmTree { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 typedef struct { @@ -305,6 +314,7 @@ typedef struct { /* 0x18 */ Vec3f unk_18; /* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent /* 0x30 */ Collision unk30; + const char* model; } TripleShellParent; // size = 0x70 struct ShellActor { @@ -332,6 +342,7 @@ struct ShellActor { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; // All 0 until the shell is fired /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct ItemBox { @@ -350,6 +361,7 @@ struct ItemBox { /* 0x28 */ f32 unk_028; /* 0x2C */ f32 unk_02C; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct FakeItemBox { @@ -366,6 +378,7 @@ struct FakeItemBox { /* 0x28 */ f32 targetY; /* 0x2C */ f32 unk_02C; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct BananaBunchParent { @@ -381,6 +394,7 @@ struct BananaBunchParent { /* 0x1E */ s16 unk_1E; /* 0x20 */ f32 unk_20[4]; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 struct BananaActor { @@ -403,6 +417,7 @@ struct BananaActor { /* 0x18 */ Vec3f pos; /* 0x24 */ Vec3f velocity; /* 0x30 */ Collision unk30; + const char* model; }; // size = 0x70 // #pragma GCC diagnostic pop diff --git a/include/defines.h b/include/defines.h index c982a7bdd..bca0f9b5f 100644 --- a/include/defines.h +++ b/include/defines.h @@ -183,6 +183,7 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR }; #define CHARACTER_SELECT_MENU 12 #define COURSE_SELECT_MENU 13 #define RACING_DUPLICATE 14 +#define HARBOUR_MASTERS_MENU 15 /** * @brief Options for gGameState gGotoMode and gGotoMenu @@ -383,4 +384,12 @@ enum DIRECTION { #define FACING_X_AXIS 0x8000 #define FACING_Z_AXIS 0x2000 -#endif // DEFINES_H \ No newline at end of file +#endif // DEFINES_H + +/** + * + * Laps + * + */ +#define MIN_LAPS 0 +#define MAX_LAPS 3 \ No newline at end of file diff --git a/include/mk64.h b/include/mk64.h index 2e7e1a207..fabd57254 100644 --- a/include/mk64.h +++ b/include/mk64.h @@ -103,6 +103,7 @@ enum SURFACE_TYPE { /* 0x0F */ CAVE, // DK Jungle cave /* 0x10 */ ROPE_BRIDGE, // Bowser's Castle bridge 2, DK Jungle bridge /* 0x11 */ WOOD_BRIDGE, // Frappe Snowland bridge, Bowser's Castle bridge 1,3, Yoshi Valley bridge 2 + /* 0xFB */ WATER_SURFACE = 0xFB, // Water effect and Lakitu picks up the player /* 0xFC */ BOOST_RAMP_WOOD = 0xFC, // DK Jungle /* 0xFD */ OUT_OF_BOUNDS, // DK Jungle river island oob / out of bounds /* 0xFE */ BOOST_RAMP_ASPHALT, // Royal Raceway diff --git a/models/README.MD b/models/README.MD index 6e36b1312..48550acbb 100644 --- a/models/README.MD +++ b/models/README.MD @@ -9,4 +9,4 @@ run `make model_extract -j` to extract assets in multithreaded. And waits (for m you can run `make fast64_blender` to run blender with fast64 enable without downloading it. ## Organisation -In Tracks there is all track json and folder (once extracted). In each track folder you can find three folder objects, sections, preview, collision_sections. Objects are all assets who are use for object/actor. Sections are all sections reference in a Gfx list who are use with render_course_segments. And preview are the version of the track who are use in func_8029569C who the complete track or a big part (some are broken). Collision sections are just collision who are use in mk64. \ No newline at end of file +In Tracks there is all track json and folder (once extracted). In each track folder you can find three folder objects, sections, preview, collision_sections. Objects are all assets who are use for object/actor. Sections are all sections reference in a Gfx list who are use with render_course_segments. And preview are the version of the track who are use in render_credits who the complete track or a big part (some are broken). Collision sections are just collision who are use in mk64. \ No newline at end of file diff --git a/src/actors/falling_rock/render.inc.c b/src/actors/falling_rock/render.inc.c index b7a23088b..20c6a49b3 100644 --- a/src/actors/falling_rock/render.inc.c +++ b/src/actors/falling_rock/render.inc.c @@ -52,67 +52,5 @@ void render_actor_falling_rock(Camera* camera, struct FallingRock* rock) { if (render_set_position(sp4C, 0) == 0) { return; } - // gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_falling_rock); - //! @todo: Placeholder DLs weird vtx issues - gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING); - gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE); - gDPPipeSync(gDisplayListHead++); - gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); - gSPSetGeometryMode(gDisplayListHead++, G_FOG); - gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_PASS2); - gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2); - gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); - gDPPipeSync(gDisplayListHead++); - gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, - G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, 5, G_TX_NOLOD); - gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C); - gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, d_course_choco_mountain_wall_texture); - gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, - G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); - gDPLoadSync(gDisplayListHead++); - gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_falling_rock_model, 15, 0); - gSP1Triangle(gDisplayListHead++, 0, 1, 2, 0); - gSP1Triangle(gDisplayListHead++, 3, 4, 5, 0); - gSP1Triangle(gDisplayListHead++, 6, 7, 8, 0); - gSP1Triangle(gDisplayListHead++, 9, 10, 11, 0); - gSP1Triangle(gDisplayListHead++, 12, 13, 14, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006C28, 5, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006D08, 10, 5); - gSP1Triangle(gDisplayListHead++, 0, 5, 6, 0); - gSP1Triangle(gDisplayListHead++, 1, 7, 8, 0); - gSP1Triangle(gDisplayListHead++, 2, 9, 10, 0); - gSP1Triangle(gDisplayListHead++, 3, 11, 12, 0); - gSP1Triangle(gDisplayListHead++, 4, 13, 14, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006C78, 5, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006DA8, 10, 5); - gSP1Triangle(gDisplayListHead++, 0, 5, 6, 0); - gSP1Triangle(gDisplayListHead++, 1, 7, 8, 0); - gSP1Triangle(gDisplayListHead++, 2, 9, 10, 0); - gSP1Triangle(gDisplayListHead++, 3, 11, 12, 0); - gSP1Triangle(gDisplayListHead++, 4, 13, 14, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006CC8, 4, 0); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006E48, 8, 4); - gSP1Triangle(gDisplayListHead++, 0, 4, 5, 0); - gSP1Triangle(gDisplayListHead++, 1, 6, 7, 0); - gSP1Triangle(gDisplayListHead++, 2, 8, 9, 0); - gSP1Triangle(gDisplayListHead++, 3, 10, 11, 0); - gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_MIRROR | G_TX_WRAP, - 5, G_TX_NOLOD, G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD); - gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C); - gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, d_course_choco_mountain_rock_texture); - gDPTileSync(gDisplayListHead++); - gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, - G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); - gDPLoadSync(gDisplayListHead++); - gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 1023, 256); - gSPVertex(gDisplayListHead++, d_course_choco_mountain_6006EC8, 3, 0); - gSP1Triangle(gDisplayListHead++, 0, 1, 2, 0); - gSPClearGeometryMode(gDisplayListHead++, G_FOG | G_LIGHTING); - gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); - gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 1, 1, G_OFF); - gDPPipeSync(gDisplayListHead++); + gSPDisplayList(gDisplayListHead++, d_course_choco_mountain_dl_falling_rock); } diff --git a/src/actors/falling_rock/update.inc.c b/src/actors/falling_rock/update.inc.c index f189aeaa1..b700a4226 100644 --- a/src/actors/falling_rock/update.inc.c +++ b/src/actors/falling_rock/update.inc.c @@ -76,7 +76,7 @@ void update_actor_falling_rocks(struct FallingRock* rock) { rock->respawnTimer -= 1; return; } - if (rock->pos[1] < D_8015F8E4) { + if (rock->pos[1] < CM_GetWaterLevel(rock->pos, NULL)) { func_8029CF0C(sRockSpawnData, rock); } rock->rot[0] += (s16) ((rock->velocity[2] * 5461.0f) / 20.0f); diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index d5d4d2203..825aa4cd9 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -15,9 +15,9 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { UNUSED s32 pad[2]; s32 maxObjectsReached; Vec3f sp160; - Mat4 sp120; - Mat4 spE0; - Mat4 spA0; + Mat4 mainMtx; + Mat4 objectMtx; + Mat4 resultMtx; f32 distance = is_within_render_distance(camera->pos, actor->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], 9000000.0f); @@ -36,8 +36,8 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); - maxObjectsReached = render_set_position(sp120, 0) == 0; + mtxf_pos_rotation_xyz(mainMtx, actor->pos, actor->rot); + maxObjectsReached = render_set_position(mainMtx, 0) == 0; if (maxObjectsReached) { return; } @@ -62,12 +62,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK); gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D28); - mtxf_rotate_x(sp120, actor->wheelRot); + mtxf_rotate_x(mainMtx, actor->wheelRot); vec3f_set(sp160, 17.0f, 6.0f, 32.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -75,12 +75,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, actor->wheelRot); + mtxf_rotate_x(mainMtx, actor->wheelRot); vec3f_set(sp160, -17.0, 6.0f, 32.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -88,12 +88,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x16C)); vec3f_set(sp160, 17.0f, 6.0f, 16.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -101,12 +101,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x16C)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x16C)); vec3f_set(sp160, -17.0f, 6.0f, 16.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -114,12 +114,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22DB8); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x444)); vec3f_set(sp160, 17.0f, 12.0f, -12.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -127,12 +127,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x444)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x444)); vec3f_set(sp160, -17.0f, 12.0f, -12.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -140,12 +140,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x2D8)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x2D8)); vec3f_set(sp160, 17.0f, 12.0f, -34.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } @@ -153,12 +153,12 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_22D70); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - mtxf_rotate_x(sp120, (s16) (actor->wheelRot + 0x2D8)); + mtxf_rotate_x(mainMtx, (s16) (actor->wheelRot + 0x2D8)); vec3f_set(sp160, -17.0f, 12.0f, -34.0f); - mtxf_translate(spE0, sp160); - mtxf_multiplication(spA0, sp120, spE0); + mtxf_translate(objectMtx, sp160); + mtxf_multiplication(resultMtx, mainMtx, objectMtx); - maxObjectsReached = render_set_position(spA0, 3) == 0; + maxObjectsReached = render_set_position(resultMtx, 3) == 0; if (maxObjectsReached) { return; } diff --git a/src/code_800029B0.c b/src/code_800029B0.c index 88453dcaa..73f104ed8 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -60,7 +60,8 @@ struct UnkStruct_800DC5EC* D_800DC5EC = &D_8015F480[0]; struct UnkStruct_800DC5EC* D_800DC5F0 = &D_8015F480[1]; struct UnkStruct_800DC5EC* D_800DC5F4 = &D_8015F480[2]; struct UnkStruct_800DC5EC* D_800DC5F8 = &D_8015F480[3]; -u16 gIsGamePaused = 0; // 1 if the game is paused and 0 if the game is not paused +u16 gIsGamePaused = false; // true if the game is paused and false if the game is not paused +bool gIsEditorPaused = false; u8* pAppNmiBuffer = (u8*) &osAppNmiBuffer; s32 gIsMirrorMode = 0; @@ -143,8 +144,8 @@ Vec3f D_8015F8D0; s32 D_8015F8DC; s32 D_8015F8E0; -f32 D_8015F8E4; -f32 D_8015F8E8; +f32 gWaterLevel; +f32 gWaterVelocity; s16 gPlayerPositionLUT[8]; // Player index at each position u16 gNumPermanentActors; s32 code_800029B0_bss_pad2[44]; @@ -208,7 +209,11 @@ void setup_race(void) { } else { gNextFreeMemoryAddress = gFreeMemoryCourseAnchor; } - func_802969F8(); + + // Cow related + D_8015F702 = 0; + D_8015F700 = 200; + func_80005310(); func_8003D080(); init_hud(); diff --git a/src/code_800029B0.h b/src/code_800029B0.h index 8e605c3ee..8556248d8 100644 --- a/src/code_800029B0.h +++ b/src/code_800029B0.h @@ -61,6 +61,7 @@ extern struct UnkStruct_800DC5EC* D_800DC5F0; extern struct UnkStruct_800DC5EC* D_800DC5F4; extern struct UnkStruct_800DC5EC* D_800DC5F8; extern u16 gIsGamePaused; +extern bool gIsEditorPaused; extern u8* pAppNmiBuffer; extern s32 gIsMirrorMode; // D_800DC604 extern s16 gCreditsCourseId; @@ -137,8 +138,8 @@ extern Vec3f D_8015F8D0; extern s32 D_8015F8DC; extern s32 D_8015F8E0; -extern f32 D_8015F8E4; -extern f32 D_8015F8E8; +extern f32 gWaterLevel; +extern f32 gWaterVelocity; extern s16 gPlayerPositionLUT[]; // Player index at each position extern u16 gNumPermanentActors; diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 011117424..6263883f2 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -36,6 +36,7 @@ #include #include #include +#include #include "port/Game.h" #include "engine/courses/Course.h" @@ -1166,33 +1167,33 @@ void func_80008424(s32 playerId, f32 arg1, Player* player) { #ifdef NON_MATCHING // generated by m2c commit 05102b12b75400ad2be8bd0872404237b36e1702 on Feb-20-2024 -// static ? D_800DCAF4; /* unable to generate initializer: unknown type */ -// static ? D_800DCB34; /* unable to generate initializer: unknown type */ +// static ? gAIDistances; /* unable to generate initializer: unknown type */ +// static ? gMarioRacewayAIDistances; /* unable to generate initializer: unknown type */ // static ? *D_800DCBB4[0x15] = { -// &D_800DCB34, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, +// &gMarioRacewayAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, +// &gAIDistances, // }; -s32 func_800088D8(s32 playerId, s16 arg1, s16 arg2) { +s32 func_800088D8(s32 playerId, s16 lapNum, s16 currRank) { Player* player; f32 interp; s16 rank; @@ -1212,10 +1213,10 @@ s32 func_800088D8(s32 playerId, s16 arg1, s16 arg2) { if (gModeSelection == 1) { return true; } - if (arg1 < 0) { + if (lapNum < MIN_LAPS) { return true; - } else if (arg1 >= 4) { - arg1 = 3; + } else if (lapNum > MAX_LAPS) { + lapNum = MAX_LAPS; } if (D_80163330[playerId] == 1) { return true; @@ -1224,9 +1225,9 @@ s32 func_800088D8(s32 playerId, s16 arg1, s16 arg2) { if (player->type & 0x4000) { return true; } - arg1_times_8 = arg1 * 8; - temp_a3 = &CM_GetProps()->SomePtr[arg1_times_8]; - if (arg2 == 0) { + arg1_times_8 = lapNum * 8; + temp_a3 = &CM_GetProps()->AIDistance[arg1_times_8]; + if (currRank == 0) { if (gDemoMode == 1) { temp_a2 = D_80164450[playerId] - D_80164450[D_80164378[7]]; if (temp_a2 < 0) { @@ -1269,17 +1270,17 @@ s32 func_800088D8(s32 playerId, s16 arg1, s16 arg2) { } var_v0 = 0; for (i = 0; i < 2; i++) { - if (gGPCurrentRaceRankByPlayerId[D_80163344[i]] < arg2) { + if (gGPCurrentRaceRankByPlayerId[D_80163344[i]] < currRank) { var_v0++; } } var_a0_4 = 0; for (i = 0; i < gPlayerCount; i++) { - if (gGPCurrentRaceRankByPlayerId[i] < arg2) { + if (gGPCurrentRaceRankByPlayerId[i] < currRank) { var_a0_4++; } } - var_t1 = (arg2 - var_v0) - var_a0_4; + var_t1 = (currRank - var_v0) - var_a0_4; if (var_v0 > 0 || var_a0_4 > 0) { var_t1++; } @@ -1721,7 +1722,7 @@ void func_80009B60(s32 playerId) { // gNearestWaypointByPlayerId[playerId] might need to be saved to a temp D_80164510[playerId] = D_80164550[D_80163448][gNearestWaypointByPlayerId[playerId]].posY + 4.3f; if ((D_801631F8[playerId] == 1) && (D_801631E0[playerId] == 0)) { - func_8002E4C4(player); + set_player_height(player); } if (D_801631E0[playerId] == 1) { player->pos[1] = D_80164510[playerId]; @@ -3635,7 +3636,13 @@ void func_800100F0(s32 pathIndex) { pathDest = D_80164550[pathIndex]; bInvalidPath = 1; if (GetCourse() != GetPodiumCeremony()) { - var_v0 = process_path_data(pathDest, CM_GetProps()->PathTable2[pathIndex]); + + TrackWaypoint* pathSrc = CM_GetProps()->PathTable2[pathIndex]; + if (pathSrc == NULL) { + printf("code_80005FD0.c: Path %d in Course::PathTable2, was NULL.\n Your track is missing a path\n", pathIndex); + } + + var_v0 = process_path_data(pathDest, pathSrc); gWaypointCountByPathIndex[pathIndex] = (u16) var_v0; } else { // Course path included in course_data which has already been loaded into memory. diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 1618bf57f..24ce0abe7 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -57,7 +57,6 @@ UNUSED s32 D_801655B8; s32 D_801655BC; s32 D_801655C0; s32 D_801655C4; -s32 D_801655C8; s32 D_801655CC; UNUSED s32 D_801655D0[2]; s32 D_801655D8; @@ -94,13 +93,6 @@ UNUSED s32 D_801656F8[4]; s16 D_80165708; UNUSED s32 D_8016570C; s16 D_80165710; -UNUSED s32 D_80165714; -s16 D_80165718; -UNUSED s32 D_8016571C; -s16 D_80165720; -UNUSED s32 D_80165724; -s16 D_80165728; -UNUSED s32 D_8016572C; s16 D_80165730; UNUSED s32 D_80165734; //! Tracking a count of some object type, don't know what object type yet @@ -186,7 +178,6 @@ s32 D_8016586C; UNUSED s32 D_80165870[2]; s32 D_80165878; s32 D_8016587C; -u8* D_80165880; UNUSED s32 D_80165884; s8 D_80165888; UNUSED s32 D_8016588C; @@ -687,6 +678,7 @@ void render_object_for_player(s32 cameraId) { CM_DrawObjects(cameraId); CM_DrawParticles(cameraId); CM_RenderCourseObjects(cameraId); + CM_DrawEditor(); // switch (gCurrentCourseId) { // case COURSE_MARIO_RACEWAY: @@ -777,7 +769,7 @@ void render_object_for_player(s32 cameraId) { render_object_leaf_particle(cameraId); if (D_80165730 != 0) { - render_balloons_grand_prix(cameraId); + //render_balloons_grand_prix(cameraId); } if (gModeSelection == BATTLE) { CM_DrawBattleBombKarts(cameraId); @@ -1243,7 +1235,7 @@ void func_80059A88(s32 playerId) { void func_80059AC8(void) { s32 i; - if (gIsGamePaused == false) { + if ((gIsGamePaused == false) && (gIsEditorPaused == false)) { func_8008C1D8(&D_80165678); gRaceFrameCounter++; for (i = 0; i < gPlayerCount; i++) { @@ -1409,7 +1401,7 @@ void func_8005A070(void) { gMatrixHudCount = 0; D_801655C0 = 0; func_80041D34(); - if (gIsGamePaused == false) { + if (gIsGamePaused == false && (gIsEditorPaused == false)) { func_8005C728(); if (gGamestate == ENDING) { // func_80086604(); @@ -1640,9 +1632,9 @@ void update_object(void) { // update_ferries_smoke_particle(); // break; // } - if (D_80165730 != 0) { - func_80074EE8(); - } + //if (D_80165730 != 0) { + // func_80074EE8(); // Grand prix balloons + //} func_80076F2C(); if ((s16) GetCourse() != GetFrappeSnowland()) { update_leaf(); @@ -1658,7 +1650,9 @@ void func_8005A99C(void) { if (gPlayerCountSelection1 == 3) { D_801657E8 = true; } - gIsHUDVisible = (s32) 1; + if (CVarGetInteger("gEditorEnabled", 0) == false) { + gIsHUDVisible = (s32) 1; + } D_8018D170 = (s32) 1; D_8018D190 = (s32) 1; D_8018D204 = 0; diff --git a/src/code_80057C60.h b/src/code_80057C60.h index 483d7cbb2..515378aa1 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -274,7 +274,6 @@ extern s32 D_801655B4; extern s32 D_801655BC; extern s32 D_801655C0; extern s32 D_801655C4; -extern s32 D_801655C8; extern s32 D_801655CC; extern s32 D_801655D8; extern s32 D_801655E8; @@ -300,9 +299,6 @@ extern s16 D_80165710; extern s16 D_80165740; extern s16 D_80165748; -extern s16 D_80165718; -extern s16 D_80165720; -extern s16 D_80165728; // extern s16 gNumActiveThwomps; -> objects.h @@ -358,7 +354,6 @@ extern s32 D_80165860; extern s32 D_8016586C; extern s32 D_80165878; extern s32 D_8016587C; -extern u8* D_80165880; extern s8 D_80165888; extern s8 D_80165890; extern s8 D_80165898; @@ -535,7 +530,7 @@ extern s16 D_8018D210; extern bool D_8018D214; extern s16 D_8018D218; extern s32 D_8018D21C; -extern u8 (*D_8018D220)[1024]; +extern u8 (*gCloudTexture)[1024]; extern s32 D_8018D224; extern u8 D_8018D228; extern s32 D_8018D22C; @@ -543,23 +538,19 @@ extern s32 D_8018D22C; extern uintptr_t D_8018D240; extern u8* D_8018D248[]; -extern f32 D_8018D2A0; +extern f32 gMinimapPlayerScale; extern s32 D_8018D2A4; extern s32 D_8018D2AC; extern s16 gMinimapWidth; extern s32 D_8018D2B4; extern s16 gMinimapHeight; extern s32 D_8018D2BC; -extern s16 D_8018D2C0[]; +extern s16 gMinimapX[]; extern s32 D_8018D2C8[]; -extern s16 D_8018D2D8[]; -extern s16 D_8018D2E0; -extern s16 D_8018D2E8; -extern u16 D_8018D300; -extern u16 D_8018D308; -extern u16 D_8018D310; +extern s16 gMinimapY[]; +extern s16 gMinimapPlayerX; +extern s16 gMinimapPlayerY; extern s32 D_8018D314; -extern u16 D_8018D318; extern s32 D_8018D320; extern s32 D_8018D380; extern s32 D_8018D384; diff --git a/src/code_80057C60_var.c b/src/code_80057C60_var.c index 43340892c..5007e9f48 100644 --- a/src/code_80057C60_var.c +++ b/src/code_80057C60_var.c @@ -98,7 +98,7 @@ s32 D_8018D21C; * Destination for decompressed exhaust textures (I think) * I'm not how much I like this "pointer to an array" setup, but if it matches it matches */ -u8 (*D_8018D220)[1024]; +u8 (*gCloudTexture)[1024]; s32 D_8018D224; u8 D_8018D228; s32 D_8018D22C; @@ -107,7 +107,7 @@ s8 D_8018D230; UNUSED s32 D_8018D238[2]; uintptr_t D_8018D240; u8* D_8018D248[22]; -f32 D_8018D2A0; +f32 gMinimapPlayerScale; s32 D_8018D2A4; UNUSED s32 D_8018D2A8; s32 D_8018D2AC; @@ -115,22 +115,16 @@ s16 gMinimapWidth; s32 D_8018D2B4; s16 gMinimapHeight; s32 D_8018D2BC; -s16 D_8018D2C0[4]; +s16 gMinimapX[4]; s32 D_8018D2C8[4]; -s16 D_8018D2D8[4]; -s16 D_8018D2E0; +s16 gMinimapY[4]; +s16 gMinimapPlayerX; UNUSED s32 D_8018D2E4; -s16 D_8018D2E8; +s16 gMinimapPlayerY; UNUSED s32 D_8018D2EC; UNUSED s32 D_8018D2F4; UNUSED s32 D_8018D2FC; -u16 D_8018D300; -UNUSED s32 D_8018D304; -u16 D_8018D308; -UNUSED s32 D_8018D30C; -u16 D_8018D310; s32 D_8018D314; -u16 D_8018D318; UNUSED s32 D_8018D31C; s32 D_8018D320; UNUSED s32 D_8018D328[22]; diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index e5cc43887..d74346d00 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -163,11 +163,11 @@ void init_item_window(s32 objectIndex) { } void func_8006EEE8(s32 courseId) { - D_8018D240 = (uintptr_t) CM_GetProps()->MinimapTexture; + D_8018D240 = (uintptr_t) CM_GetProps()->Minimap.Texture; // This is incredibly dumb. MinimapDimensions ought to be something more like // `u16 MinimapDimensions[][2]` but that doesn't match for some insane reason - gMinimapWidth = CM_GetProps()->MinimapDimensions.X; // MinimapDimensions[courseId * 2]; - gMinimapHeight = CM_GetProps()->MinimapDimensions.Z; // MinimapDimensions[courseId * 2 + 1]; + gMinimapWidth = CM_GetProps()->Minimap.Width; // MinimapDimensions[courseId * 2]; + gMinimapHeight = CM_GetProps()->Minimap.Height; // MinimapDimensions[courseId * 2 + 1]; } void func_8006EF60(void) { @@ -186,188 +186,42 @@ void func_8006EF60(void) { } void func_8006F008(void) { - D_801655C8 = 0; xOrientation = 1.0f; if (gIsMirrorMode != 0) { xOrientation = -1.0f; } - D_8018D2C0[0] = 257; - D_8018D2D8[0] = 170; - D_8018D300 = 255; - D_8018D308 = 255; - D_8018D310 = 255; - D_8018D318 = 255; + if (GetCourse() != GetPodiumCeremony()) { func_8006EEE8((s32) gCurrentCourseId); } - CM_MinimapSettings(); - switch (gCurrentCourseId) { - case COURSE_MARIO_RACEWAY: - // D_8018D220 = (void*) dma_textures(gTextureExhaust5, 0x443, 0x1000); - // D_8018D2A0 = 0.022f; - // D_8018D2E0 = 6; - // D_8018D2E8 = 28; - // D_8018D2C0[0] = 260; - // D_8018D2D8[0] = 170; - // D_80165718 = 0; - // D_80165720 = 5; - // D_80165728 = -240; - break; - // case COURSE_CHOCO_MOUNTAIN: - // D_8018D2A0 = 0.022f; - // D_8018D2C0[0] = 265; - // D_8018D2E0 = 19; - // D_8018D2E8 = 37; - // break; - // case COURSE_BOWSER_CASTLE: - // D_8018D2C0[0] = 265; - // D_8018D2A0 = 0.0174f; - // D_8018D2E0 = 12; - // D_8018D2E8 = 48; - // break; - // case COURSE_BANSHEE_BOARDWALK: - // D_80165880 = (void*) dma_textures(gTextureGhosts, 0x4CC2, 0xD980); - // D_8018D2A0 = 0.016f; - // D_8018D2C0[0] = 0x0106; - // D_8018D2E0 = 55; - // D_8018D2E8 = 39; - // break; - // case COURSE_YOSHI_VALLEY: - // D_8018D220 = (void*) dma_textures(gTextureExhaust0, 0x479, 0xC00); - // D_8018D2A0 = 0.018f; - // D_8018D2E0 = 61; - // D_8018D2E8 = 38; - // break; - // case COURSE_FRAPPE_SNOWLAND: - // D_8018D2C0[0] = 262; - // D_8018D2A0 = 0.016f; - // D_8018D2E0 = 36; - // D_8018D2E8 = 40; - // D_8018D300 = 72; - // D_8018D308 = 100; - // D_8018D310 = 255; - // break; - // case COURSE_KOOPA_BEACH: - // D_8018D220 = (void*) dma_textures(gTextureExhaust3, 0x3C8U, 0x1000); - // D_8018D2A0 = 0.014f; - // D_8018D2C0[0] = 268; - // D_8018D2E0 = 40; - // D_8018D2E8 = 21; - // break; - // case COURSE_ROYAL_RACEWAY: - // D_8018D220 = (void*) dma_textures(gTextureExhaust4, 0x3F8, 0x1000); - // D_8018D2C0[0] = 262; - // D_8018D2A0 = 0.014f; - // D_8018D2E0 = 37; - // D_8018D2E8 = 50; - // D_80165718 = -64; - // D_80165720 = 5; - // D_80165728 = -330; - // break; - // case COURSE_LUIGI_RACEWAY: - // D_8018D220 = (void*) dma_textures(gTextureExhaust2, 0x4F4U, 0xC00); - // D_8018D2A0 = 0.0155f; - // D_8018D2C0[0] = 271; - // D_8018D2E0 = 45; - // D_8018D2E8 = 60; - // D_80165718 = -140; - // D_80165720 = -44; - // D_80165728 = -215; - // break; - // case COURSE_MOO_MOO_FARM: - // D_8018D220 = (void*) dma_textures(gTextureExhaust0, 0x479, 0xC00); - // D_8018D2A0 = 0.0155f; - // D_8018D2C0[0] = 271; - // D_8018D2E0 = 18; - // D_8018D2E8 = 36; - // break; - // case COURSE_TOADS_TURNPIKE: - // D_8018D2A0 = 0.013f; - // D_8018D2C0[0] = 252; - // D_8018D2E0 = 57; - // D_8018D2E8 = 44; - // break; - // case COURSE_KALIMARI_DESERT: - // D_8018D2C0[0] = 263; - // D_8018D2D8[0] = 165; - // D_8018D220 = (void*) dma_textures(gTextureExhaust5, 0x443, 0x1000); - // D_8018D2A0 = 0.015f; - // D_8018D2E0 = 55; - // D_8018D2E8 = 27; - // break; - // case COURSE_SHERBET_LAND: - // D_8018D220 = (void*) dma_textures(gTextureExhaust1, 0x485, 0xC00); - // D_8018D2A0 = 0.015f; - // D_8018D2C0[0] = 262; - // D_8018D2E0 = 52; - // D_8018D2E8 = 33; - // D_8018D300 = 72; - // D_8018D308 = 100; - // D_8018D310 = 255; - // break; - // case COURSE_RAINBOW_ROAD: - // D_8018D2A0 = 0.0103f; - // D_8018D2C0[0] = 261; - // D_8018D2D8[0] = 166; - // D_8018D2E0 = 39; - // D_8018D2E8 = 55; - // break; - // case COURSE_WARIO_STADIUM: - // D_8018D2A0 = 0.0155f; - // D_8018D2C0[0] = 0x0106; - // D_8018D2E0 = 53; - // D_8018D2E8 = 35; - // break; - // case COURSE_BLOCK_FORT: - // D_8018D2A0 = 0.0335f; - // D_8018D2E0 = 32; - // D_8018D2E8 = 32; - // break; - // case COURSE_SKYSCRAPER: - // D_8018D2A0 = 0.0445f; - // D_8018D2E0 = 32; - // D_8018D2E8 = 32; - // break; - // case COURSE_DOUBLE_DECK: - // D_8018D2A0 = 0.0285f; - // D_8018D2E0 = 32; - // D_8018D2E8 = 32; - // break; - // case COURSE_DK_JUNGLE: - // D_8018D2A0 = 0.0155f; - // D_8018D2C0[0] = 255; - // D_8018D2E0 = 29; - // D_8018D2E8 = 47; - // break; - // case COURSE_BIG_DONUT: - // D_8018D2A0 = 0.0257f; - // D_8018D2E0 = 32; - // D_8018D2E8 = 31; - } + // Flip the minimap player markers if (gIsMirrorMode != 0) { - D_8018D2E0 = gMinimapWidth - D_8018D2E0; + CM_GetProps()->Minimap.PlayerX = CM_GetProps()->Minimap.Width - CM_GetProps()->Minimap.PlayerX; // gMinimapPlayerX = gMinimapWidth - gMinimapPlayerX } - if (gPlayerCount == 4) { - D_8018D2C0[0] = 160; - D_8018D2D8[0] = 120; - return; - } - if (gPlayerCount == 3) { - D_8018D2C0[0] = 235; - D_8018D2D8[0] = 175; - return; - } - if (gPlayerCount == 2) { - if (GetCourse() != GetToadsTurnpike()) { - D_8018D2C0[1] = 265; - D_8018D2C0[0] = D_8018D2C0[1]; - } else { - D_8018D2C0[1] = 255; - D_8018D2C0[0] = D_8018D2C0[1]; - } - D_8018D2D8[0] = 65; - D_8018D2D8[1] = 180; + + switch(gPlayerCount) { + case 2: + // Set X coord + if (GetCourse() != GetToadsTurnpike()) { + CM_GetProps()->Minimap.Pos[PLAYER_ONE].X = 265; + CM_GetProps()->Minimap.Pos[PLAYER_TWO].X = 265; + } else { + CM_GetProps()->Minimap.Pos[PLAYER_ONE].X = 255; + CM_GetProps()->Minimap.Pos[PLAYER_TWO].X = 255; + } + // Set Y coord + CM_GetProps()->Minimap.Pos[PLAYER_ONE].Y = 65; + CM_GetProps()->Minimap.Pos[PLAYER_TWO].Y = 180; + break; + case 3: + CM_GetProps()->Minimap.Pos[PLAYER_ONE].X = 235; + CM_GetProps()->Minimap.Pos[PLAYER_ONE].Y = 175; + break; + case 4: + CM_GetProps()->Minimap.Pos[PLAYER_ONE].X = 160; + CM_GetProps()->Minimap.Pos[PLAYER_ONE].Y = 120; + break; } } @@ -379,7 +233,7 @@ void func_8006F824(s32 arg0) { D_80165828 = D_801657F8; D_80165832[0] = D_80165800[0]; D_80165832[1] = D_80165800[1]; - if ((arg0 != 0) && (gIsGamePaused == 0)) { + if ((arg0 != 0) && (gIsGamePaused == 0) && (gIsEditorPaused == false)) { play_sound2(SOUND_ACTION_PING); } } @@ -411,8 +265,9 @@ void func_8006F8CC(void) { D_801657F0 = 1; D_80165800[0] = D_80165800[1] = 0; } - D_8018D2D8[0] = 0x0041; - D_8018D2D8[1] = 0x00B4; + + CM_GetProps()->Minimap.Pos[0].Y = 65; + CM_GetProps()->Minimap.Pos[1].Y = 180; } func_8006F824(0); } else { @@ -639,7 +494,7 @@ void init_cloud_object(s32 objectIndex, s32 arg1, CloudData* arg2) { temp_v0->direction_angle[1] = arg2->rotY; temp_v0->unk_09E = arg2->posY; temp_v0->sizeScaling = (f32) arg2->scalePercent / 100.0; - temp_v0->activeTexture = (u8*) &D_8018D220[arg2->subType]; + temp_v0->activeTexture = ((u8(*)[1024])CM_GetProps()->CloudTexture)[arg2->subType]; func_80073404(objectIndex, 0x40U, 0x20U, D_0D005FB0); temp_v0->primAlpha = 0x00FF; } @@ -757,17 +612,18 @@ void func_8007055C(void) { func_8008C23C(); } +// GrandPrixBalloons related. Spawn location and some sort of bool check void func_80070714(void) { D_80165730 = 1; - if (gPlayerCount == ONE_PLAYERS_SELECTED) { - D_80165738 = 0x64; - D_80165740 = 0x3C; - D_80165748 = 0x1E; - return; - } - D_80165738 = 0x32; - D_80165740 = 0x1E; - D_80165748 = 0xA; + // if (gPlayerCount == ONE_PLAYERS_SELECTED) { + // D_80165738 = 0x64; + // D_80165740 = 0x3C; + // D_80165748 = 0x1E; + // } else { + // D_80165738 = 0x32; + // D_80165740 = 0x1E; + // D_80165748 = 0xA; + // } } void init_course_object(void) { diff --git a/src/data/path_spawn_metadata.c b/src/data/path_spawn_metadata.c index 99450b12a..49a61aa58 100644 --- a/src/data/path_spawn_metadata.c +++ b/src/data/path_spawn_metadata.c @@ -14,23 +14,30 @@ TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 }; -// I think the types for D_800DCAF4, D_800DCB34, and D_800DCBB4 are all +// I think the types for gAIDistances, gMarioRacewayAIDistances, and D_800DCBB4 are all // wrong in some way based on their usage in func_800088D8 // But I cannot be bothered to figure it out // Used as a ptr in D_800DCBB4 -s16 D_800DCAF4[] = { - 0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023, 0x001e, 0x0019, 0x0032, - 0x004b, 0x0064, 0x007d, 0x0096, 0x00af, 0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, - 0x00b4, 0x00d2, 0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118, +s16 gAIDistances[] = { + 0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023, + 0x001e, 0x0019, 0x0032, 0x004b, 0x0064, 0x007d, 0x0096, 0x00af, + 0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, 0x00b4, 0x00d2, + 0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118, }; // Used as a ptr in D_800DCBB4 -s16 D_800DCB34[] = { - 0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023, 0x001e, 0x0019, 0x002d, 0x0041, 0x005a, - 0x0073, 0x008c, 0x00a5, 0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059, 0x0032, 0x001e, - 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a, 0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, - 0x0023, 0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x000a, 0x0005, 0x0005, 0x0005, - 0x0005, 0x0005, 0x0005, 0x0005, 0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, +s16 gMarioRacewayAIDistances[] = { + 0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023, + 0x001e, 0x0019, 0x002d, 0x0041, 0x005a, 0x0073, 0x008c, 0x00a5, + 0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059, + 0x0032, 0x001e, 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a, +}; + +s16 some_data[] = { // Not sure what this is for + 0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023, + 0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, + 0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, + 0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, }; s32 D_800DDB20 = 0x00000000; diff --git a/src/data/path_spawn_metadata.h b/src/data/path_spawn_metadata.h index df2d8c7b7..424f11ab8 100644 --- a/src/data/path_spawn_metadata.h +++ b/src/data/path_spawn_metadata.h @@ -16,8 +16,8 @@ typedef struct { } _struct_gCoursePathSizes_0x10; // size 0x10 extern TrackWaypoint nullPath; -extern s16 D_800DCAF4[]; -extern s16 D_800DCB34[]; +extern s16 gAIDistances[]; +extern s16 gMarioRacewayAIDistances[]; extern s32 D_800DDB20; extern s32 D_800DDB24; diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c index b4d5ca103..be1706ed5 100644 --- a/src/ending/code_80280000.c +++ b/src/ending/code_80280000.c @@ -46,6 +46,7 @@ void func_80280038(void) { Mat4 matrix; ClearMatrixPools(); + Editor_ClearMatrix(); gMatrixObjectCount = 0; gMatrixEffectCount = 0; @@ -70,6 +71,7 @@ void func_80280038(void) { render_set_position(matrix, 0); render_course(D_800DC5EC); render_course_actors(D_800DC5EC); + CM_DrawStaticMeshActors(); render_object(PLAYER_ONE + SCREEN_MODE_1P); render_player_snow_effect(PLAYER_ONE + SCREEN_MODE_1P); ceremony_transition_sliding_borders(); diff --git a/src/ending/code_80281780.c b/src/ending/code_80281780.c index e7c55de1a..1085fb30c 100644 --- a/src/ending/code_80281780.c +++ b/src/ending/code_80281780.c @@ -117,7 +117,7 @@ void setup_podium_ceremony(void) { set_segment_base_addr(6, (void*) decompress_segments((u8*) &_course_banshee_boardwalk_dl_mio0SegmentRomStart, (u8*) &_course_yoshi_valley_dl_mio0SegmentRomStart)); #endif - D_8015F8E4 = -2000.0f; + gWaterLevel = -2000.0f; gCourseMinX = -0x15A1; gCourseMinY = -0x15A1; diff --git a/src/ending/podium_ceremony_actors.c b/src/ending/podium_ceremony_actors.c index c7698893d..1e3911287 100644 --- a/src/ending/podium_ceremony_actors.c +++ b/src/ending/podium_ceremony_actors.c @@ -19,6 +19,7 @@ #include "math_util.h" #include +#include "src/port/Game.h" #include "engine/Matrix.h" s32 fireworkConeColour[] = { @@ -452,6 +453,7 @@ void func_80281540(void) { void podium_ceremony_loop(void) { ClearMatrixPools(); + Editor_ClearMatrix(); gMatrixObjectCount = 0; D_802874FC = 0; update_camera_podium_ceremony(); diff --git a/src/engine/Actor.cpp b/src/engine/Actor.cpp index be86d2a5f..f3254fed0 100644 --- a/src/engine/Actor.cpp +++ b/src/engine/Actor.cpp @@ -1,16 +1,41 @@ #include +#include "Matrix.h" #include "Actor.h" +extern "C" { +#include "math_util.h" +} + AActor::AActor() {} // Virtual functions to be overridden by derived classes void AActor::Tick() { } -void AActor::Draw(Camera *camera) { } +void AActor::Draw(Camera *camera) { + if (Model) { + Mat4 mtx; + + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + ApplyMatrixTransformations(mtx, *(FVector*)Pos, *(IRotator*)Rot, Scale); + if (render_set_position(mtx, 0) != 0) { + gSPDisplayList(gDisplayListHead++, Model); + } + } +} void AActor::Collision(Player* player, AActor* actor) {} void AActor::VehicleCollision(s32 playerId, Player* player){} void AActor::Destroy() { // Set uuid to zero. memset(uuid, 0, sizeof(uuid)); } -bool AActor::IsMod() { return false; } \ No newline at end of file +bool AActor::IsMod() { return false; } +void AActor::SetLocation(FVector pos) { + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; +} +FVector AActor::GetLocation() const { + return FVector(Pos[0], Pos[1], Pos[2]); +} diff --git a/src/engine/Actor.h b/src/engine/Actor.h index a74ed74e0..fb0a9f89e 100644 --- a/src/engine/Actor.h +++ b/src/engine/Actor.h @@ -1,6 +1,7 @@ #pragma once #include +#include "CoreMath.h" extern "C" { #include "macros.h" @@ -24,6 +25,10 @@ public: /* 0x24 */ Vec3f Velocity = {0, 0, 0}; /* 0x30 */ Collision Unk30; uint8_t uuid[16]; + const char* Name = ""; + FVector Scale = {1, 1, 1}; + + Gfx* Model = NULL; virtual ~AActor() = default; // Virtual destructor for proper cleanup in derived classes @@ -33,6 +38,8 @@ public: virtual void Draw(Camera*); virtual void Collision(Player* player, AActor* actor); virtual void VehicleCollision(s32 playerId, Player* player); + void SetLocation(FVector pos); + FVector GetLocation() const; virtual void Destroy(); virtual bool IsMod(); diff --git a/src/engine/AllActors.h b/src/engine/AllActors.h new file mode 100644 index 000000000..f2b228b57 --- /dev/null +++ b/src/engine/AllActors.h @@ -0,0 +1,39 @@ +#pragma once + +#include "actors/MarioSign.h" +#include "actors/WarioSign.h" +#include "actors/Cloud.h" +#include "actors/Finishline.h" +#include "actors/SpaghettiShip.h" +#include "actors/Starship.h" +#include "actors/Ship.h" +#include "actors/Tree.h" +#include "vehicles/Train.h" +#include "vehicles/Boat.h" +#include "vehicles/Bus.h" +#include "vehicles/Truck.h" +#include "vehicles/Car.h" +#include "vehicles/Truck.h" +#include "vehicles/TankerTruck.h" + +#include "objects/Bat.h" +#include "objects/BombKart.h" +#include "objects/Boos.h" +#include "objects/CheepCheep.h" +#include "objects/Crab.h" +#include "objects/ChainChomp.h" +#include "objects/Flagpole.h" +#include "objects/Hedgehog.h" +#include "objects/HotAirBalloon.h" +#include "objects/Lakitu.h" +#include "objects/Mole.h" +#include "objects/Penguin.h" +#include "objects/Seagull.h" +#include "objects/Thwomp.h" +#include "objects/Seagull.h" +#include "objects/TrashBin.h" +#include "objects/Trophy.h" +#include "objects/Snowman.h" +#include "objects/Podium.h" +#include "objects/GrandPrixBalloons.h" + diff --git a/src/engine/CoreMath.h b/src/engine/CoreMath.h index ea74dd9a4..2c232aab9 100644 --- a/src/engine/CoreMath.h +++ b/src/engine/CoreMath.h @@ -10,16 +10,55 @@ * */ - +/** + * + * Applies pos, rot, and scale + * + */ struct FVector { float x, y, z; #ifdef __cplusplus - FVector& operator=(const FVector& other) { - x = other.x; - y = other.y; - z = other.z; - return *this; + // Operator to add two FVector objects + FVector operator+(const FVector& other) const { + return FVector(x + other.x, y + other.y, z + other.z); + } + + // Operator to subtract two FVector objects + FVector operator-(const FVector& other) const { + return FVector(x - other.x, y - other.y, z - other.z); + } + + // Operator to multiply a FVector by a scalar (float) + FVector operator*(float scalar) const { + return FVector(x * scalar, y * scalar, z * scalar); + } + + float Dot(const FVector& other) const { + return x * other.x + y * other.y + z * other.z; + } + + + FVector Cross(const FVector& other) const { + return FVector( + y * other.z - z * other.y, + z * other.x - x * other.z, + x * other.y - y * other.x + ); + } + + float Magnitude() const { + return std::sqrt(x * x + y * y + z * z); + } + + FVector Normalize() const { + float len = std::sqrt(x * x + y * y + z * z); + if (len > 0.0001f) { + return FVector( + x / len, y / len, z / len + ); + } + return FVector(0, 0, 0); } FVector() : x(0), y(0), z(0) {} @@ -27,6 +66,16 @@ struct FVector { #endif // __cplusplus }; +struct FVector4 { + float x, y, z, w; + +#ifdef __cplusplus + + FVector4() : x(0), y(0), z(0), w(0) {} + FVector4(float x, float y, float z, float w) : x(x), y(y), z(z), w(w) {} +#endif // __cplusplus +}; + /** * For providing X and Z when you do not need Y * Some actors set themselves on the surface automatically @@ -50,35 +99,95 @@ struct FVector2D { // Sets integer X Z coordinates typedef struct IVector2D { - int32_t X, Z; + int32_t X, Y; #ifdef __cplusplus - IVector2D() : X(0), Z(0) {} // Default constructor + IVector2D() : X(0), Y(0) {} // Default constructor - IVector2D(int32_t x, int32_t z) : X(x), Z(z) {} // Constructor to initialize with values + IVector2D(int32_t x, int32_t y) : X(x), Y(y) {} // Constructor to initialize with values IVector2D& operator=(const IVector2D& other) { X = other.X; - Z = other.Z; + Y = other.Y; return *this; } #endif // __cplusplus } IVector2D; -struct FRotation { - float pitch, yaw, roll; +/** + * This struct immediately converts float pitch/yaw/roll in degrees to n64 int16_t binary angles 0-0xFFFF == 0-360 degrees + * ToDegrees() Receive an FRotator of float degrees back. + * Set() Set an n64 int16_t binary angles 0-0xFFFF + */ +struct IRotator { + uint16_t pitch, yaw, roll; #ifdef __cplusplus - FRotation& operator=(const FRotation& other) { + IRotator& operator=(const IRotator& other) { pitch = other.pitch; - yaw = other.yaw; - roll = other.roll; + yaw = other.yaw; + roll = other.roll; return *this; } - FRotation() : pitch(0), yaw(0), roll(0) {} - FRotation(float p, float y, float r) : pitch(p), yaw(y), roll(r) {} + [[nodiscard]] void Set(uint16_t p, uint16_t y, uint16_t r) { + pitch = p; + yaw = y; + roll = r; + } + + IRotator() : pitch(0), yaw(0), roll(0) {} + IRotator(float p, float y, float r) { + pitch = p * (UINT16_MAX / 360); + yaw = y * (UINT16_MAX / 360); + roll = r * (UINT16_MAX / 360); + } + + // Convert to radians as FVector + [[nodiscard]] FVector ToRadians() const { + float scale = 2.0f * M_PI / 65536.0f; + return FVector( + pitch * scale, + yaw * scale, + roll * scale + ); + } +#endif // __cplusplus +}; + +/** + * Use IRotator unless you want to do some math in degrees. + * Always use ToBinary() or Rotator when sending into matrices or apply translation functions + * Convert from IRotator to FRotator float degrees by doing FRotator(myIRotator); + */ +struct FRotator { + float pitch, yaw, roll; + +#ifdef __cplusplus + FRotator& operator=(const FRotator& other) { + pitch = other.pitch; + yaw = other.yaw; + roll = other.roll; + return *this; + } + + // Convert to binary rotator 0 --> INT16_MAX + [[nodiscard]] IRotator ToBinary() const { + return IRotator( + static_cast(pitch * (UINT16_MAX / 360)), + static_cast(yaw * (UINT16_MAX / 360)), + static_cast(roll * (UINT16_MAX / 360)) + ); + } + + FRotator() : pitch(0), yaw(0), roll(0) {} + FRotator(float p, float y, float r) : pitch(p), yaw(y), roll(r) {} + FRotator(IRotator rot) { + pitch = static_cast(rot.pitch * (360 / UINT16_MAX)); + yaw = static_cast(rot.yaw * (360 / UINT16_MAX)); + roll = static_cast(rot.roll * (360 / UINT16_MAX)); + } #endif // __cplusplus }; @@ -118,4 +227,4 @@ struct IPathSpan { #endif // __cplusplus }; -#endif // CORE_MATH_H \ No newline at end of file +#endif // CORE_MATH_H diff --git a/src/engine/Cup.cpp b/src/engine/Cup.cpp index 85d7fed44..ec9e6c913 100644 --- a/src/engine/Cup.cpp +++ b/src/engine/Cup.cpp @@ -1,7 +1,7 @@ #include "Cup.h" #include "courses/Course.h" -Cup::Cup(const char* id, const char* name, std::vector courses) { +Cup::Cup(std::string id, const char* name, std::vector courses) { Id = id; Name = name; Courses = courses; diff --git a/src/engine/Cup.h b/src/engine/Cup.h index 4266c0126..0b477824f 100644 --- a/src/engine/Cup.h +++ b/src/engine/Cup.h @@ -9,13 +9,13 @@ class Course; // <-- Forward declare class Cup { public: - const char* Id; + std::string Id; const char* Name; u8 *Thumbnail; size_t CursorPosition = 0; // Course index in cup std::vector Courses; - explicit Cup(const char* id, const char* name, std::vector courses); + explicit Cup(std::string id, const char* name, std::vector courses); virtual void ShuffleCourses(); diff --git a/src/engine/GarbageCollector.cpp b/src/engine/GarbageCollector.cpp index 926620fe1..9832aa29d 100644 --- a/src/engine/GarbageCollector.cpp +++ b/src/engine/GarbageCollector.cpp @@ -4,6 +4,7 @@ void RunGarbageCollector() { //CleanActors(); CleanObjects(); + CleanStaticMeshActors(); } void CleanActors() { @@ -18,14 +19,27 @@ void CleanActors() { // } } +void CleanStaticMeshActors() { + for (auto actor = gWorldInstance.StaticMeshActors.begin(); actor != gWorldInstance.StaticMeshActors.end();) { + StaticMeshActor* act = *actor; // Get a mutable copy + if (act->bPendingDestroy) { + delete act; + actor = gWorldInstance.StaticMeshActors.erase(actor); // Remove from container + continue; + } else { + actor++; + } + } +} + void CleanObjects() { for (auto object = gWorldInstance.Objects.begin(); object != gWorldInstance.Objects.end();) { OObject* obj = *object; // Get a mutable copy - if (obj->PendingDestroy) { + if (obj->bPendingDestroy) { delete obj; object = gWorldInstance.Objects.erase(object); // Remove from container continue; } object++; } -} \ No newline at end of file +} diff --git a/src/engine/GarbageCollector.h b/src/engine/GarbageCollector.h index 337d90e4a..c96f1c36a 100644 --- a/src/engine/GarbageCollector.h +++ b/src/engine/GarbageCollector.h @@ -8,4 +8,5 @@ void RunGarbageCollector(); void CleanActors(); +void CleanStaticMeshActors(); void CleanObjects(); diff --git a/src/engine/HM_Intro.cpp b/src/engine/HM_Intro.cpp new file mode 100644 index 000000000..e27d5db0c --- /dev/null +++ b/src/engine/HM_Intro.cpp @@ -0,0 +1,183 @@ +#include +#include +#include "HM_Intro.h" + +#include "port/Game.h" + +extern "C" { +#include "main.h" +#include "memory.h" +#include "math_util.h" +#include "courses/harbour/track.h" +#include "courses/harbour/powered.h" +#include "courses/harbour/ship2_model.h" +#include "courses/harbour/ship3_model.h" +#include "collision.h" +#include "menu_items.h" +#include "external.h" +#include "menus.h" +extern Gfx ship1_spag1_mesh[]; +} + +HarbourMastersIntro::HarbourMastersIntro() { +} + +void HarbourMastersIntro::HM_InitIntro() { + _camera.Pos.x = 0; + _camera.Pos.y = 0; + _camera.Pos.z = 0; + + // The camera setup was broken when this was first made. And then it was fixed. + // That's why this file has weird coordinates as the objects were positioned in-front of the camera view + // Instead of moving the camera to the right spot in the scene. + _camera.LookAt.x = 0; + _camera.LookAt.y = 0; + _camera.LookAt.z = -2500; + + _cameraSpeed = 0.0f; + _cameraMaxSpeed = 16.0f; + _cameraAcceleration = 1.0f; + + _pos = FVector(-1000, -205, -800); // -1000, -210, -800 + _rot = IRotator(-5, 100, 0); + _scale = {0.7f, 0.7f, 0.7f}; + + _ship2Pos = FVector(300, -210, -1960); + _ship2Rot = IRotator(0, 45, 0); + + _shipPos = FVector(20, -210, -1650); + _shipRot = IRotator(0, 45, 0); + + _posHM64 = FVector(0, -500, -1000); + _rotHM64 = IRotator(0, -90, -4); // -0x2100 + + _hPos = FVector(-2000, 100, -4900); + _hRot = IRotator(0, -45.0f, 0); + _hScale = {2.0f, 2.0f, 2.0f}; + + lusPos = FVector(0, -400, -614); // 12, 190, -1000 + lusRot = IRotator(0, 0, 0); + lusScale = FVector(1, 1, 1); + + ground_f3d_material_013_lights = gdSPDefLights1( + 0x7F, 0x30, 0x80, + 0x60, 20, 10, 0x49, 0x49, 0x49 + ); + + gEditor.AddObject("lus", &lusPos, &lusRot, &lusScale, nullptr, 1, Editor::GameObject::CollisionType::BOUNDING_BOX, 10, &DespawnValue, -1); +} + +void HarbourMastersIntro::HM_TickIntro() { + _water += 1; + if (_water > 255) { + _water = 0; + } + + HarbourMastersIntro::SpagBob(_pos, _rot, 2.5f, 0.18f, 1.5f, 0.05f, 1.7f, 0.06f); + HarbourMastersIntro::Bob(_shipPos, _shipRot, 1.2f, 0.06f, 1.6f, -0.04f, 1.1f, -0.04f); + HarbourMastersIntro::Bob(_ship2Pos, _ship2Rot, 1.2f, 0.06f, 1.6f, -0.04f, 1.1f, -0.04f); + + _pos.x += 9; + if (lusPos.y < -60) { + lusPos.y += 3; + } + //_camera.Pos.x -= 1; + + // SWITCH TO NEXT MENU LOGO_INTRO_MENU + if (_pos.x >= 1100) { + gMenuFadeType = 0; + gMenuSelection = LOGO_INTRO_MENU; + gFadeModeSelection = FADE_MODE_LOGO; + } + + find_and_set_tile_size((uintptr_t) ((void*)mat_water_water1), 0, _water); + find_and_set_tile_size((uintptr_t) ((void*)mat_water_water2), _water, 0);; +} + +void HarbourMastersIntro::Bob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed) { + float time = (float)gGlobalTimer; + + pos.y = -210 + bobAmp * sin(time * bobSpeed); + + rot.pitch = (tiltAmp * sin(time * tiltSpeed)) * (UINT16_MAX / 360); + + rot.roll = (rollAmp * sin(time * rollSpeed)) * (UINT16_MAX / 360); +} + +void HarbourMastersIntro::SpagBob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed) { + float time = (float)gGlobalTimer; + + pos.y = -205 + bobAmp * sin(time * bobSpeed); + + rot.pitch = (-5 + tiltAmp * sin(time * tiltSpeed)) * (UINT16_MAX / 360); + + rot.roll = (rollAmp * sin(time * rollSpeed)) * (UINT16_MAX / 360); +} + +void HarbourMastersIntro::HM_DrawIntro() { + HarbourMastersIntro::Setup(); + + gSPMatrix(gDisplayListHead++, &gGfxPool->mtxScreen, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, &gGfxPool->mtxLookAt[0], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, 0x00); + + Mat4 mtx_spaghettiShip; + ApplyMatrixTransformations(mtx_spaghettiShip, _pos, _rot, _scale); + render_set_position(mtx_spaghettiShip, 0); + gSPDisplayList(gDisplayListHead++, ship1_spag1_mesh); + + Mat4 mtx_ship2; + ApplyMatrixTransformations(mtx_ship2, _ship2Pos, _ship2Rot, _scale); + render_set_position(mtx_ship2, 0); + gSPDisplayList(gDisplayListHead++, ship2_SoH_mesh); + + Mat4 mtx_ship3; + ApplyMatrixTransformations(mtx_ship3, _shipPos, _shipRot, _scale); + render_set_position(mtx_ship3, 0); + gSPDisplayList(gDisplayListHead++, ship3_2Ship_mesh); + + Mat4 mtx_geo; + ApplyMatrixTransformations(mtx_geo, _hPos, _hRot, _hScale); + render_set_position(mtx_geo, 0); + + gSPDisplayList(gDisplayListHead++, ground_map_mesh); + //gSPDisplayList(gDisplayListHead++, powered_Text_mesh); // Replaced by poweredbylus + gSPDisplayList(gDisplayListHead++, castle_map_002_mesh); + gSPDisplayList(gDisplayListHead++, road_map_001_mesh); + gSPDisplayList(gDisplayListHead++, water_water1_mesh); + + Mat4 lusMtx; + ApplyMatrixTransformations(lusMtx, lusPos, lusRot, lusScale); + render_set_position(lusMtx, 0); + gSPDisplayList(gDisplayListHead++, (Gfx*)"__OTR__hmintro/poweredbylus"); + + HarbourMastersIntro::Sync(); +} + +void HarbourMastersIntro::Setup() { + u16 perspNorm; + move_segment_table_to_dmem(); + gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); + guPerspective(&gGfxPool->mtxScreen, &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); + gSPPerspNormalize(gDisplayListHead++, perspNorm); + guLookAt(&gGfxPool->mtxLookAt[0], _camera.Pos.x, _camera.Pos.y, _camera.Pos.z, _camera.LookAt.x, _camera.LookAt.y, _camera.LookAt.z, 0.0f, 1.0f, 0.0f); + + gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); + gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); + gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_CULL_BACK | G_LIGHTING); + gDPSetFillColor(gDisplayListHead++, 0x00010001); + gDPFillRectangle(gDisplayListHead++, 0, 0, 319, 239); + gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_CULL_BACK | G_LIGHTING); + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); + gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); + gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); + gDPPipeSync(gDisplayListHead++); +} + +void HarbourMastersIntro::Sync() { + gDPPipeSync(gDisplayListHead++); + gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE); + gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP); +} diff --git a/src/engine/HM_Intro.h b/src/engine/HM_Intro.h new file mode 100644 index 000000000..24fe08e35 --- /dev/null +++ b/src/engine/HM_Intro.h @@ -0,0 +1,78 @@ +#ifndef _HM_INTRO_H +#define _HM_INTRO_H + +#include +#include +#include "CoreMath.h" + +#ifdef __cplusplus +extern "C" { +#endif +#include "common_structs.h" +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +class HarbourMastersIntro { +public: + HarbourMastersIntro(); + + void HM_InitIntro(); + void HM_TickIntro(); + void HM_DrawIntro(); +private: + void Setup(); + void Sync(); + void Bob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed); + void SpagBob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed); + void MoveCloserToCamera(float moveSpeed); + + struct HMCamera { + FVector Pos; + FVector LookAt; + }; + + HMCamera _camera; + + f32 _cameraSpeed; + f32 _cameraMaxSpeed; + f32 _cameraAcceleration; + + FVector _pos; + IRotator _rot; + FVector _scale; + + FVector _shipPos; + IRotator _shipRot; + + FVector _ship2Pos; + IRotator _ship2Rot; + + s32 _water = 0; + + FVector _posHM64; + IRotator _rotHM64; + + FVector _hPos; + IRotator _hRot; + FVector _hScale; + + FVector lusPos; + IRotator lusRot; + FVector lusScale; + int32_t DespawnValue = 0; +}; + +extern "C" { +#endif + +void HM_InitIntro(void); +void HM_TickIntro(void); +void HM_DrawIntro(void); + +#ifdef __cplusplus +} +#endif + +#endif // _HM_INTRO_H \ No newline at end of file diff --git a/src/engine/Matrix.cpp b/src/engine/Matrix.cpp index 354389db9..1f2301258 100644 --- a/src/engine/Matrix.cpp +++ b/src/engine/Matrix.cpp @@ -4,6 +4,8 @@ extern "C" { #include "common_structs.h" +#include "math_util.h" +#include "math_util_2.h" } void AddMatrix(std::vector& stack, Mat4 mtx, s32 flags) { @@ -26,7 +28,7 @@ Mtx* GetMatrix(std::vector& stack) { } /** - * Use GetMatrix first + * Use GetMatrix() first */ void AddMatrixFixed(std::vector& stack, s32 flags) { // Load the matrix @@ -58,6 +60,76 @@ Mtx* SetTextMatrix(f32 arg1, f32 arg2, f32 arg3, f32 arg4) { return mtx; } +void ApplyMatrixTransformations(Mat4 mtx, FVector pos, IRotator rot, FVector scale) { + f32 sine1, cosine1; + f32 sine2, cosine2; + f32 sine3, cosine3; + + // Compute the sine and cosine of the orientation (Euler angles) + sine1 = sins(rot.pitch); + cosine1 = coss(rot.pitch); + sine2 = sins(rot.yaw); + cosine2 = coss(rot.yaw); + sine3 = sins(rot.roll); + cosine3 = coss(rot.roll); + + // Compute the rotation matrix + mtx[0][0] = (cosine2 * cosine3) + ((sine1 * sine2) * sine3); + mtx[1][0] = (-cosine2 * sine3) + ((sine1 * sine2) * cosine3); + mtx[2][0] = cosine1 * sine2; + mtx[3][0] = pos.x; + + mtx[0][1] = cosine1 * sine3; + mtx[1][1] = cosine1 * cosine3; + mtx[2][1] = -sine1; + mtx[3][1] = pos.y; + + mtx[0][2] = (-sine2 * cosine3) + ((sine1 * cosine2) * sine3); + mtx[1][2] = (sine2 * sine3) + ((sine1 * cosine2) * cosine3); + mtx[2][2] = cosine1 * cosine2; + mtx[3][2] = pos.z; + + // Apply scaling + mtx[0][0] *= scale.x; + mtx[1][0] *= scale.x; + mtx[2][0] *= scale.x; + mtx[0][1] *= scale.y; + mtx[1][1] *= scale.y; + mtx[2][1] *= scale.y; + mtx[0][2] *= scale.z; + mtx[1][2] *= scale.z; + mtx[2][2] *= scale.z; + + // Set the last row and column for the homogeneous coordinate system + mtx[0][3] = 0.0f; + mtx[1][3] = 0.0f; + mtx[2][3] = 0.0f; + mtx[3][3] = 1.0f; +} + +void AddLocalRotation(Mat4 mat, IRotator rot) { + f32 sin_pitch = sins(rot.pitch); + f32 cos_pitch = coss(rot.pitch); + f32 sin_yaw = sins(rot.yaw); + f32 cos_yaw = coss(rot.yaw); + f32 sin_roll = sins(rot.roll); + f32 cos_roll = coss(rot.roll); + + // Modify only the rotation part (keep translation intact) + mat[0][0] = (cos_yaw * cos_roll) + (sin_pitch * sin_yaw * sin_roll); + mat[0][1] = (cos_pitch * sin_roll); + mat[0][2] = (-sin_yaw * cos_roll) + (sin_pitch * cos_yaw * sin_roll); + + mat[1][0] = (-cos_yaw * sin_roll) + (sin_pitch * sin_yaw * cos_roll); + mat[1][1] = (cos_pitch * cos_roll); + mat[1][2] = (sin_yaw * sin_roll) + (sin_pitch * cos_yaw * cos_roll); + + mat[2][0] = (cos_pitch * sin_yaw); + mat[2][1] = -sin_pitch; + mat[2][2] = (cos_pitch * cos_yaw); +} + + // API extern "C" { @@ -122,3 +194,4 @@ extern "C" { gWorldInstance.Mtx.Objects.clear(); } } + diff --git a/src/engine/Matrix.h b/src/engine/Matrix.h index f72af76c4..180ebfb16 100644 --- a/src/engine/Matrix.h +++ b/src/engine/Matrix.h @@ -4,9 +4,12 @@ #include #include "common_structs.h" +#include "CoreMath.h" #ifdef __cplusplus extern "C" { +void ApplyMatrixTransformations(Mat4 mtx, FVector pos, IRotator rot, FVector scale); +void AddLocalRotation(Mat4 mat, IRotator rot); #endif void ClearMatrixPools(void); void AddHudMatrix(Mat4 mtx, s32 flags); diff --git a/src/engine/Registry.cpp b/src/engine/Registry.cpp new file mode 100644 index 000000000..0ea05c9d5 --- /dev/null +++ b/src/engine/Registry.cpp @@ -0,0 +1,59 @@ +// #include +// #include +// #include +// #include + +// #include "Registry.h" +// #include "Course.h" +// #include "port/Game.h" + +// template Registry::Registry() { +// } + +// template void Registry::Add(std::string id, std::function fn) { +// // need to handle duplicate registration +// ContentVault[id] = fn; +// } + +// template +// void Registry::AddArgs(std::string id) { +// ArgsVault[id] = [](Args&&... args) -> T* { +// return new T(std::forward(args)...); +// }; +// } + +// template +// T* Registry::Get(std::string id) { +// auto it = ContentVault.find(id); +// if (it != ContentVault.end()) { +// return it->second(); +// } +// return nullptr; +// } + +// // Available Registries +// Registry Courses; +// Registry Cups; +// Registry Actors; + +// void AddCourse(std::string id, Course* course) { +// Courses.Add(id, [course]() { return course; }); +// course->Id = id; +// } + +// void AddCup(std::string id, Cup* cup) { +// Cups.Add(id, [cup]() { return cup; }); +// //cup->Id = id; +// } + +// void AddActor(std::string id, AActor* actor) { +// Actors.Add(id, [actor]() { return actor; }); +// } + +// void AddStockContent() { +// AddActor("mk:banana", new AMarioSign({0, 0, 0})); +// } + +// template class Registry; +// template class Registry; +// template class Registry; diff --git a/src/engine/Registry.h b/src/engine/Registry.h new file mode 100644 index 000000000..f55818dc3 --- /dev/null +++ b/src/engine/Registry.h @@ -0,0 +1,33 @@ +// #pragma once + +// #include "Course.h" +// #include "Cup.h" +// #include +// #include "AllActors.h" +// #include "Actor.h" +// #include "objects/Object.h" + +// class AActor; // <-- Forward delare + +// template class Registry { +// public: +// Registry(); +// void Add(std::string name, std::function); + +// template +// void AddArgs(std::string id); +// T* Get(std::string id); +// private: +// std::unordered_map> ContentVault; +// std::map> ArgsVault; +// }; + +// void AddCourse(std::string id, Course* course); +// void AddCup(std::string id, Cup* cup); +// void AddActor(std::string id, AActor* actor); + +// void AddStockContent(); + +// extern Registry Courses; +// extern Registry Cups; +// extern Registry Actors; diff --git a/src/engine/StaticMeshActor.cpp b/src/engine/StaticMeshActor.cpp new file mode 100644 index 000000000..2e5fa1119 --- /dev/null +++ b/src/engine/StaticMeshActor.cpp @@ -0,0 +1,29 @@ +#include "StaticMeshActor.h" +#include +#include "Matrix.h" + +extern "C" { +#include "main.h" +#include "math_util.h" +#include "math_util_2.h" +} + +StaticMeshActor::StaticMeshActor(std::string name, FVector pos, IRotator rot, FVector scale, std::string model, int32_t* collision) : Name(name), Pos(pos), Rot(rot), Scale(scale), Model(""), Collision(collision) { + +} + +void StaticMeshActor::Draw() { + Mat4 mtx; + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + if (!Model.empty()) { + ApplyMatrixTransformations(mtx, Pos, Rot, Scale); + if (render_set_position(mtx, 0) != 0) { + gSPDisplayList(gDisplayListHead++, (Gfx*)Model.c_str()); + } + } +} + +void StaticMeshActor::Destroy() { + bPendingDestroy = true; +} diff --git a/src/engine/StaticMeshActor.h b/src/engine/StaticMeshActor.h new file mode 100644 index 000000000..4007aa2c1 --- /dev/null +++ b/src/engine/StaticMeshActor.h @@ -0,0 +1,61 @@ +#pragma once + +#include +#include +#include "CoreMath.h" +#include + +// todo: Make this class AStaticMeshActor : public AActor +class StaticMeshActor { +public: + std::string Name; + FVector Pos; + IRotator Rot; + FVector Scale; + std::string Model; + int32_t* Collision; + bool bPendingDestroy = false; + StaticMeshActor(std::string name, FVector pos, IRotator rot, FVector scale, std::string model, int32_t* collision); + + nlohmann::json to_json() const { + nlohmann::json j; + + // Serialize each field of the class + j["Name"] = Name; + j["Position"] = {Pos.x, Pos.y, Pos.z}; // Assuming FVector has x, y, z fields + j["Rotation"] = {Rot.pitch, Rot.yaw, Rot.roll}; // Assuming IRotator has pitch, yaw, roll fields + j["Scale"] = {Scale.x, Scale.y, Scale.z}; // Assuming FVector has x, y, z fields + j["Model"] = Model; + + // If Collision is not null, serialize it + if (Collision != nullptr) { + j["Collision"] = *Collision; // Serialize the value that Collision points to + } else { + j["Collision"] = nullptr; // Handle the case where Collision is nullptr + } + + return j; + } + + void from_json(const nlohmann::json& j) { + Name = j.at("Name").get(); + Pos = FVector(j.at("Position")[0].get(), j.at("Position")[1].get(), j.at("Position")[2].get()); + Rot.Set(j.at("Rotation")[0].get(), j.at("Rotation")[1].get(), j.at("Rotation")[2].get()); + Scale = FVector(j.at("Scale")[0].get(), j.at("Scale")[1].get(), j.at("Scale")[2].get()); + + // Deserialize the Model string + Model = j.at("Model").get(); + + // Check if Collision is present in the JSON and deserialize it + //if (j.contains("Collision") && !j["Collision"].is_null()) { + // If Collision is a valid value, allocate memory for it and assign the value + // Collision = new int32_t(j.at("Collision").get()); + //} else { + // If Collision is not present or is null, set it to nullptr + Collision = nullptr; + //} + } + + virtual void Draw(); + virtual void Destroy(); +}; diff --git a/src/engine/World.cpp b/src/engine/World.cpp index a63c22b10..8e20806ff 100644 --- a/src/engine/World.cpp +++ b/src/engine/World.cpp @@ -6,14 +6,19 @@ #include "TrainCrossing.h" #include #include "objects/Object.h" +#include "port/Game.h" + +#include "editor/GameObject.h" extern "C" { - #include "camera.h" - #include "objects.h" - #include "main.h" - #include "defines.h" - #include "audio/external.h" - #include "menus.h" +#include "camera.h" +#include "objects.h" +#include "main.h" +#include "defines.h" +#include "audio/external.h" +#include "menus.h" +#include "common_data.h" +#include "mario_raceway_data.h" } World::World() {} @@ -112,15 +117,34 @@ void World::PreviousCourse() { AActor* World::AddActor(AActor* actor) { Actors.push_back(actor); + + if (actor->Model != NULL) { + gEditor.AddObject(actor->Name, (FVector*) &actor->Pos, (IRotator*)&actor->Rot, &actor->Scale, + (Gfx*) LOAD_ASSET_RAW(actor->Model), 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, + 0.0f, (int32_t*) &actor->Type, 0); + } else { + gEditor.AddObject(actor->Name, (FVector*) &actor->Pos, (IRotator*)&actor->Rot, &actor->Scale, nullptr, 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, (int32_t*)&actor->Type, 0); + } return Actors.back(); } struct Actor* World::AddBaseActor() { Actors.push_back(new AActor()); + + AActor* actor = Actors.back(); + // Skip C++ vtable to access variables in C return reinterpret_cast(reinterpret_cast(Actors.back()) + sizeof(void*)); } +void World::AddEditorObject(Actor* actor, const char* name) { + if (actor->model != NULL) { + gEditor.AddObject(name, (FVector*) &actor->pos, (IRotator*)&actor->rot, nullptr, (Gfx*)LOAD_ASSET_RAW(actor->model), 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, (int32_t*)&actor->type, 0); + } else { + gEditor.AddObject(name, (FVector*) &actor->pos, (IRotator*)&actor->rot, nullptr, nullptr, 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, (int32_t*)&actor->type, 0); + } +} + /** * Converts a C struct Actor* to its C++ AActor class */ @@ -153,8 +177,44 @@ void World::TickActors() { } } +StaticMeshActor* World::AddStaticMeshActor(std::string name, FVector pos, IRotator rot, FVector scale, std::string model, int32_t* collision) { + StaticMeshActors.push_back(new StaticMeshActor(name, pos, rot, scale, model, collision)); + auto actor = StaticMeshActors.back(); + auto gameObj = gEditor.AddObject(actor->Name.c_str(), &actor->Pos, &actor->Rot, &actor->Scale, (Gfx*) LOAD_ASSET_RAW(actor->Model.c_str()), 1.0f, + Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, (int32_t*) &actor->bPendingDestroy, (int32_t) true); + return actor; +} + +void World::DrawStaticMeshActors() { + for (const auto& actor: StaticMeshActors) { + actor->Draw(); + } +} + +void World::DeleteStaticMeshActors() { + for (auto it = StaticMeshActors.begin(); it != StaticMeshActors.end();) { + if ((*it)->bPendingDestroy) { + delete *it; // Deallocate memory for the actor + it = StaticMeshActors.erase(it); // Remove the pointer from the vector + } else { + ++it; // Only increment the iterator if we didn't erase an element + } + } +} + OObject* World::AddObject(OObject* object) { Objects.push_back(object); + + if (object->_objectIndex != -1) { + Object* cObj = &gObjectList[object->_objectIndex]; + + if (cObj->model != NULL) { + gEditor.AddObject(object->Name, (FVector*) &cObj->origin_pos[0], (IRotator*)&cObj->orientation, nullptr, (Gfx*)LOAD_ASSET_RAW(cObj->model), 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, &object->_objectIndex, -1); + } else { + gEditor.AddObject(object->Name, (FVector*) &cObj->origin_pos[0], (IRotator*)&cObj->orientation, nullptr, nullptr, 1.0f, Editor::GameObject::CollisionType::VTX_INTERSECT, 0.0f, &object->_objectIndex, -1); + } + } + return Objects.back(); } @@ -209,3 +269,15 @@ Object* World::GetObjectByIndex(size_t index) { //} return nullptr; // Or handle the error as needed } + +void World::ClearWorld(void) { + World::DeleteStaticMeshActors(); + CM_CleanWorld(); + + // for (size_t i = 0; i < ARRAY_COUNT(gCollisionMesh); i++) { + + // } + + // gCollisionMesh + // Paths +} diff --git a/src/engine/World.h b/src/engine/World.h index 9490293b7..bb8979090 100644 --- a/src/engine/World.h +++ b/src/engine/World.h @@ -18,20 +18,26 @@ #include #include #include "Actor.h" +#include "StaticMeshActor.h" #include "particles/ParticleEmitter.h" +#include "editor/Editor.h" +#include "editor/GameObject.h" + extern "C" { #include "camera.h" #include "objects.h" }; -class OObject; class Cup; // <-- Forward declaration +class OObject; class Course; +class StaticMeshActor; class AVehicle; class OBombKart; class TrainCrossing; class OLakitu; +class GameObject; // <-- Editor class World { typedef struct { @@ -49,12 +55,17 @@ public: AActor* AddActor(AActor* actor); struct Actor* AddBaseActor(); + void AddEditorObject(Actor* actor, const char* name); AActor* GetActor(size_t index); void TickActors(); AActor* ConvertActorToAActor(Actor* actor); Actor* ConvertAActorToActor(AActor* actor); + void DrawStaticMeshActors(); + StaticMeshActor* AddStaticMeshActor(std::string name, FVector pos, IRotator rot, FVector scale, std::string model, int32_t* collision); + void DeleteStaticMeshActors(); + OObject* AddObject(OObject* object); void TickObjects(); @@ -76,6 +87,7 @@ public: void SetCourseFromCup(); World* GetWorld(void); + void ClearWorld(void); // These are only for browsing through the course list @@ -85,7 +97,6 @@ public: Matrix Mtx; - // Holds all available courses Course* CurrentCourse; Cup* CurrentCup; @@ -93,6 +104,7 @@ public: std::vector Cups; size_t CupIndex = 1; + std::vector StaticMeshActors; std::vector Actors; std::vector Objects; std::vector Emitters; @@ -105,6 +117,7 @@ public: TrainCrossing* AddCrossing(Vec3f position, u32 waypointMin, u32 waypointMax, f32 approachRadius, f32 exitRadius); std::vector> Crossings; + // Holds all available courses std::vector Courses; size_t CourseIndex = 0; // For browsing courses. private: diff --git a/src/engine/actors/ABanana.cpp b/src/engine/actors/Banana.cpp similarity index 97% rename from src/engine/actors/ABanana.cpp rename to src/engine/actors/Banana.cpp index d484ab983..6c7f837d1 100644 --- a/src/engine/actors/ABanana.cpp +++ b/src/engine/actors/Banana.cpp @@ -1,6 +1,6 @@ #include -#include "ABanana.h" +#include "Banana.h" #include "engine/Actor.h" extern "C" { @@ -11,6 +11,7 @@ void render_actor_banana(Camera*, float[4][4], struct BananaActor*); } ABanana::ABanana(uint16_t playerId, const float pos[3], const s16 rot[3], const float velocity[3]) { + Name = "Banana"; // Initialize the BananaActor's position, rotation, and velocity std::copy(pos, pos + 3, Pos); //std::copy(rot, rot + 3, this->a.rot); diff --git a/src/engine/actors/ABanana.h b/src/engine/actors/Banana.h similarity index 99% rename from src/engine/actors/ABanana.h rename to src/engine/actors/Banana.h index 0da9eb98f..d8c55e9cb 100644 --- a/src/engine/actors/ABanana.h +++ b/src/engine/actors/Banana.h @@ -10,7 +10,6 @@ public: // Constructor ABanana(uint16_t playerId, const float pos[3], const s16 rot[3], const float velocity[3]); - virtual ~ABanana() override = default; // Virtual functions to be overridden by derived classes diff --git a/src/engine/actors/BowserStatue.cpp b/src/engine/actors/BowserStatue.cpp index de448de5e..c680c4c25 100644 --- a/src/engine/actors/BowserStatue.cpp +++ b/src/engine/actors/BowserStatue.cpp @@ -13,6 +13,7 @@ Vtx gBowserStatueVtx[717]; Gfx gBowserStatueGfx[162]; ABowserStatue::ABowserStatue(FVector pos, ABowserStatue::Behaviour behaviour) { + Name = "Bowser Statue"; Pos = pos; ABowserStatue::Behaviour _behaviour = behaviour; } diff --git a/src/engine/actors/ACloud.cpp b/src/engine/actors/Cloud.cpp similarity index 97% rename from src/engine/actors/ACloud.cpp rename to src/engine/actors/Cloud.cpp index d3eaad32d..cae55e342 100644 --- a/src/engine/actors/ACloud.cpp +++ b/src/engine/actors/Cloud.cpp @@ -1,6 +1,6 @@ #include -#include "ACloud.h" +#include "Cloud.h" #include "engine/Actor.h" #include "World.h" @@ -14,10 +14,11 @@ extern f32 gKartHopInitialVelocityTable[]; extern f32 gKartGravityTable[]; } -ACloud::ACloud(Vec3f pos) { - Pos[0] = pos[0]; - Pos[1] = pos[1]; - Pos[2] = pos[2]; +ACloud::ACloud(FVector pos) { + Name = "Cloud"; + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; Rot[0] = 0; Rot[1] = 0; Rot[2] = 0; diff --git a/src/engine/actors/ACloud.h b/src/engine/actors/Cloud.h similarity index 93% rename from src/engine/actors/ACloud.h rename to src/engine/actors/Cloud.h index 3d266243c..4805c08b9 100644 --- a/src/engine/actors/ACloud.h +++ b/src/engine/actors/Cloud.h @@ -2,6 +2,7 @@ #include #include "engine/Actor.h" +#include "CoreMath.h" extern "C" { #include "macros.h" @@ -15,7 +16,7 @@ public: // Constructor - ACloud(Vec3f pos); + ACloud(FVector pos); virtual ~ACloud() override = default; diff --git a/src/engine/actors/AFinishline.cpp b/src/engine/actors/Finishline.cpp similarity index 97% rename from src/engine/actors/AFinishline.cpp rename to src/engine/actors/Finishline.cpp index 77dd37ede..0680e60bd 100644 --- a/src/engine/actors/AFinishline.cpp +++ b/src/engine/actors/Finishline.cpp @@ -2,7 +2,7 @@ #include #include "CoreMath.h" -#include "AFinishline.h" +#include "Finishline.h" #include "engine/Actor.h" #include "World.h" #include "assets/common_data.h" @@ -18,6 +18,7 @@ extern f32 gKartGravityTable[]; } AFinishline::AFinishline(std::optional pos) { + Name = "Finishline"; if (pos.has_value()) { // Set spawn point to the provided position diff --git a/src/engine/actors/AFinishline.h b/src/engine/actors/Finishline.h similarity index 100% rename from src/engine/actors/AFinishline.h rename to src/engine/actors/Finishline.h diff --git a/src/engine/actors/MarioSign.cpp b/src/engine/actors/MarioSign.cpp new file mode 100644 index 000000000..f39e4f69b --- /dev/null +++ b/src/engine/actors/MarioSign.cpp @@ -0,0 +1,56 @@ +#include "MarioSign.h" + +#include +#include + +extern "C" { +#include "common_structs.h" +#include "math_util.h" +#include "main.h" +#include "actor_types.h" +} + +AMarioSign::AMarioSign(FVector pos) { + Type = ACTOR_MARIO_SIGN; + Name = "Mario Sign"; + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; + Flags |= 0x4000; +} + +void AMarioSign::Tick() { + if ((Flags & 0x800) == 0) { + if ((Flags & 0x400) != 0) { + Pos[1] += 4.0f; + if (Pos[1] > 800.0f) { + Flags |= 0x800; + Rot[1] += 1820; + } + } else { + Rot[1] += 182; + } + } +} + +void AMarioSign::Draw(Camera *camera) { + Mat4 sp40; + f32 unk; + + if (Flags & 0x800) { + return; + } + + unk = is_within_render_distance(camera->pos, Pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 16000000.0f); + if (CVarGetInteger("gNoCulling", 0) == 1) { + unk = MAX(unk, 0.0f); + } + if (!(unk < 0.0f)) { + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + mtxf_pos_rotation_xyz(sp40, Pos, Rot); + if (render_set_position(sp40, 0) != 0) { + gSPDisplayList(gDisplayListHead++, (Gfx*)d_course_mario_raceway_dl_sign); + } + } +} diff --git a/src/engine/actors/MarioSign.h b/src/engine/actors/MarioSign.h new file mode 100644 index 000000000..099894dc1 --- /dev/null +++ b/src/engine/actors/MarioSign.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include "engine/Actor.h" +#include "CoreMath.h" + +extern "C" { +#include "common_structs.h" +} + +class AMarioSign : public AActor { +public: + + virtual ~AMarioSign() = default; + explicit AMarioSign(FVector pos); + + virtual void Tick() override; + virtual void Draw(Camera*) override; +}; diff --git a/src/engine/actors/Ship.cpp b/src/engine/actors/Ship.cpp index 148b883eb..5af3553e2 100644 --- a/src/engine/actors/Ship.cpp +++ b/src/engine/actors/Ship.cpp @@ -1,6 +1,8 @@ #include "Ship.h" #include +#include "CoreMath.h" +#include "Matrix.h" extern "C" { #include "common_structs.h" @@ -14,48 +16,41 @@ extern "C" { AShip::AShip(FVector pos, AShip::Skin skin) { Spawn = pos; Spawn.y += 10; - + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; + Scale = FVector(0.4, 0.4, 0.4); + switch(skin) { case GHOSTSHIP: + Name = "Ghostship"; _skin = ghostship_Plane_mesh; break; case SHIP2: + Name = "Ship_1"; _skin = ship2_SoH_mesh; break; case SHIP3: + Name = "Ship_2"; _skin = ship3_2Ship_mesh; break; } + Model = _skin; } void AShip::Tick() { - static float angle = 0.0f; // Keeps track of the ship's rotation around the circle - float radius = 150.0f; // The radius of the circular path - float speed = 0.01f; // Speed of rotation + // static float angle = 0.0f; // Keeps track of the ship's rotation around the circle + // float radius = 150.0f; // The radius of the circular path + // float speed = 0.01f; // Speed of rotation - angle += speed; // Increment the angle to move in a circle + // angle += speed; // Increment the angle to move in a circle - // Update the position based on a circular path - Pos.x = Spawn.x + radius * cosf(angle); - Pos.z = Spawn.z + radius * sinf(angle); + // // Update the position based on a circular path + // Pos.x = Spawn.x + radius * cosf(angle); + // Pos.z = Spawn.z + radius * sinf(angle); - // Rotate to face forward along the circle - Rot.yaw = -static_cast(angle * (32768.0f / M_PI / 2.0f)); -} - -void AShip::Draw(Camera *camera) { - Mat4 shipMtx; - Vec3f hullPos = {Pos.x, Pos.y, Pos.z}; - Vec3s hullRot = {Rot.pitch, Rot.yaw, Rot.roll}; - - gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); - gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - - mtxf_pos_rotation_xyz(shipMtx, hullPos, hullRot); - mtxf_scale(shipMtx, 0.4); - if (render_set_position(shipMtx, 0) != 0) { - gSPDisplayList(gDisplayListHead++, _skin); - } + // // Rotate to face forward along the circle + // Rot.yaw = -static_cast(angle * (32768.0f / M_PI / 2.0f)); } bool AShip::IsMod() { return true; } diff --git a/src/engine/actors/Ship.h b/src/engine/actors/Ship.h index 59ceb68a8..fe5743922 100644 --- a/src/engine/actors/Ship.h +++ b/src/engine/actors/Ship.h @@ -23,12 +23,12 @@ public: virtual ~AShip() = default; virtual void Tick() override; - virtual void Draw(Camera*) override; virtual bool IsMod() override; FVector Spawn; - FVector Pos; - FRotation Rot = {0, 0, 0}; + //FVector Pos; + ///IRotator Rot = {0, 0, 0}; + //FVector Scale = {0.4, 0.4, 0.4}; private: Gfx* _skin; }; diff --git a/src/engine/actors/SpaghettiShip.cpp b/src/engine/actors/SpaghettiShip.cpp index d53b90f07..b09ada319 100644 --- a/src/engine/actors/SpaghettiShip.cpp +++ b/src/engine/actors/SpaghettiShip.cpp @@ -1,6 +1,7 @@ #include "SpaghettiShip.h" #include +#include "Matrix.h" extern "C" { #include "common_structs.h" @@ -10,8 +11,13 @@ extern "C" { } ASpaghettiShip::ASpaghettiShip(FVector pos) { + Name = "Spaghetti Ship"; + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; Spawn = pos; Spawn.y += 10; + Scale = {0.4, 0.4, 0.4}; } void ASpaghettiShip::Tick() { @@ -22,12 +28,11 @@ void ASpaghettiShip::Tick() { angle += speed; // Increment the angle to move in a circle // Update the position based on a circular path - Pos.x = Spawn.x + radius * cosf(angle); - Pos.z = Spawn.z + radius * sinf(angle); + Pos[0] = Spawn.x + radius * cosf(angle); + Pos[2] = Spawn.z + radius * sinf(angle); // Rotate to face forward along the circle - Rot.yaw = -static_cast(angle * (32768.0f / M_PI / 2.0f)); - + Rot[1] = -static_cast(angle * (32768.0f / M_PI / 2.0f)); WheelRot.pitch += 500; } @@ -36,30 +41,27 @@ void ASpaghettiShip::Draw(Camera *camera) { Mat4 shipMtx; Mat4 objectMtx; Mat4 resultMtx; - Vec3f hullPos = {Pos.x, Pos.y, Pos.z}; - Vec3s hullRot = {Rot.pitch, Rot.yaw, Rot.roll}; + Vec3f hullPos = {Pos[0], Pos[1], Pos[2]}; + Vec3s hullRot = {Rot[0], Rot[1], Rot[2]}; Vec3s rot = {WheelRot.pitch, WheelRot.yaw, WheelRot.roll}; gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - // empty/null mtx as a base - mtxf_pos_rotation_xyz(shipMtx, hullPos, hullRot); - mtxf_scale(shipMtx, 0.4); + ApplyMatrixTransformations(shipMtx, *(FVector*)Pos, *(IRotator*)Rot, Scale); if (render_set_position(shipMtx, 0) != 0) {} // Render the ships hull - Vec3f hullPos2 = {0, 0, 0}; - mtxf_translate(objectMtx, hullPos2); + ApplyMatrixTransformations(objectMtx, {0, 0, 0}, {0, 0, 0}, {1, 1, 1}); mtxf_multiplication(resultMtx, shipMtx, objectMtx); if (render_set_position(resultMtx, 3) != 0) { - gSPDisplayList(gDisplayListHead++, ship1_Spaghetti_mesh); + gSPDisplayList(gDisplayListHead++, ship1_spag1_mesh); } // Front tyre - Vec3f pos = {0, 0, 110}; - mtxf_rotate_x(shipMtx, WheelRot.pitch); - mtxf_translate(objectMtx, pos); + ApplyMatrixTransformations(objectMtx, FVector(0, 0, 110), IRotator(0, 0, 0), FVector(1, 1, 1)); + mtxf_identity(shipMtx); + AddLocalRotation(shipMtx, WheelRot); mtxf_multiplication(resultMtx, shipMtx, objectMtx); if (render_set_position(resultMtx, 3) != 0) { gSPDisplayList(gDisplayListHead++, wheels_Spaghetti_002_mesh); @@ -67,9 +69,8 @@ void ASpaghettiShip::Draw(Camera *camera) { } // Back tyre - Vec3f pos2 = {0, 0, -165}; - mtxf_rotate_x(shipMtx, WheelRot.pitch); - mtxf_translate(objectMtx, pos2); + AddLocalRotation(shipMtx, WheelRot); + ApplyMatrixTransformations(objectMtx, FVector(0, 0, -165), {0, 0, 0}, {1, 1, 1}); mtxf_multiplication(resultMtx, shipMtx, objectMtx); if (render_set_position(resultMtx, 3) != 0) { gSPDisplayList(gDisplayListHead++, wheels_Spaghetti_002_mesh); diff --git a/src/engine/actors/SpaghettiShip.h b/src/engine/actors/SpaghettiShip.h index 1d0d656c5..70bd047d7 100644 --- a/src/engine/actors/SpaghettiShip.h +++ b/src/engine/actors/SpaghettiShip.h @@ -20,9 +20,5 @@ public: virtual bool IsMod() override; FVector Spawn; - FVector Pos; - FRotation Rot = {0, 0, 0}; - FRotation WheelRot = {0, 0, 0}; -private: - f32 scale; + IRotator WheelRot = {0, 0, 0}; }; diff --git a/src/engine/actors/Starship.cpp b/src/engine/actors/Starship.cpp index bc201b84a..e104d0eb6 100644 --- a/src/engine/actors/Starship.cpp +++ b/src/engine/actors/Starship.cpp @@ -1,6 +1,7 @@ #include "Starship.h" #include +#include "Matrix.h" extern "C" { #include "common_structs.h" @@ -10,7 +11,11 @@ extern "C" { } AStarship::AStarship(FVector pos) { + Name = "Starship"; Spawn = pos; + SetLocation(pos); + Scale = FVector(1.5, 1.5, 1.5); + Model = starship_Cube_mesh; } void AStarship::Tick() { @@ -21,29 +26,17 @@ void AStarship::Tick() { angle += speed; // Move relative to the initial position - Pos.x = Spawn.x + radius * cosf(angle); - Pos.z = Spawn.z + radius * sinf(angle); + + FVector pos = GetLocation(); + pos.x = Spawn.x + radius * cosf(angle); + pos.z = Spawn.z + radius * sinf(angle); + SetLocation(pos); // Keep y from changing (or adjust it if necessary) - Pos.y = Spawn.y; + //Pos.y = Spawn.y; // Rotate to face forward along the circle - Rot.yaw = angle * (180.0f / M_PI) + 90.0f; -} - -void AStarship::Draw(Camera *camera) { - Mat4 shipMtx; - Vec3f hullPos = {Pos.x, Pos.y, Pos.z}; - Vec3s hullRot = {Rot.pitch, Rot.yaw, Rot.roll}; - - gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); - gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - - mtxf_pos_rotation_xyz(shipMtx, hullPos, hullRot); - mtxf_scale(shipMtx, 1.5); - if (render_set_position(shipMtx, 0) != 0) { - gSPDisplayList(gDisplayListHead++, starship_Cube_mesh); - } + Rot[1] = angle * (180.0f / M_PI) + 90.0f; } bool AStarship::IsMod() { return true; } diff --git a/src/engine/actors/Starship.h b/src/engine/actors/Starship.h index 390aed2ea..71b898358 100644 --- a/src/engine/actors/Starship.h +++ b/src/engine/actors/Starship.h @@ -16,10 +16,7 @@ public: virtual ~AStarship() = default; virtual void Tick() override; - virtual void Draw(Camera*) override; virtual bool IsMod() override; FVector Spawn; - FVector Pos; - FRotation Rot = {0, 0, 0}; }; diff --git a/src/engine/actors/ATree.cpp b/src/engine/actors/Tree.cpp similarity index 97% rename from src/engine/actors/ATree.cpp rename to src/engine/actors/Tree.cpp index fa1c7f580..faffd0798 100644 --- a/src/engine/actors/ATree.cpp +++ b/src/engine/actors/Tree.cpp @@ -1,4 +1,4 @@ -#include "ATree.h" +#include "Tree.h" #include @@ -10,6 +10,7 @@ extern "C" { } ATree::ATree(Vec3f pos, Gfx* displaylist, f32 drawDistance, f32 minDrawDistance, const char* tlut = nullptr) { + Name = "Tree"; Pos[0] = pos[0]; Pos[1] = pos[1]; Pos[2] = pos[2]; diff --git a/src/engine/actors/ATree.h b/src/engine/actors/Tree.h similarity index 100% rename from src/engine/actors/ATree.h rename to src/engine/actors/Tree.h diff --git a/src/engine/actors/AWarioSign.cpp b/src/engine/actors/WarioSign.cpp similarity index 80% rename from src/engine/actors/AWarioSign.cpp rename to src/engine/actors/WarioSign.cpp index 8e73a94f3..0e83e114f 100644 --- a/src/engine/actors/AWarioSign.cpp +++ b/src/engine/actors/WarioSign.cpp @@ -1,4 +1,4 @@ -#include "AWarioSign.h" +#include "WarioSign.h" #include #include @@ -7,12 +7,15 @@ extern "C" { #include "common_structs.h" #include "math_util.h" #include "main.h" +#include "actor_types.h" } -AWarioSign::AWarioSign(Vec3f pos) { - Pos[0] = pos[0]; - Pos[1] = pos[1]; - Pos[2] = pos[2]; +AWarioSign::AWarioSign(FVector pos) { + Type = ACTOR_WARIO_SIGN; + Name = "Wario Sign"; + Pos[0] = pos.x; + Pos[1] = pos.y; + Pos[2] = pos.z; } void AWarioSign::Tick() { @@ -27,7 +30,6 @@ void AWarioSign::Draw(Camera *camera) { if (CVarGetInteger("gNoCulling", 0) == 1) { unk = MAX(unk, 0.0f); } - if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/engine/actors/AWarioSign.h b/src/engine/actors/WarioSign.h similarity index 81% rename from src/engine/actors/AWarioSign.h rename to src/engine/actors/WarioSign.h index 31d9b9434..634b2132e 100644 --- a/src/engine/actors/AWarioSign.h +++ b/src/engine/actors/WarioSign.h @@ -2,6 +2,7 @@ #include #include "engine/Actor.h" +#include "CoreMath.h" extern "C" { #include "common_structs.h" @@ -10,9 +11,8 @@ extern "C" { class AWarioSign : public AActor { public: - virtual ~AWarioSign() = default; - explicit AWarioSign(Vec3f pos); + explicit AWarioSign(FVector pos); virtual void Tick() override; virtual void Draw(Camera*) override; diff --git a/src/engine/courses/BansheeBoardwalk.cpp b/src/engine/courses/BansheeBoardwalk.cpp index 5ebaf2bc1..51049fb8d 100644 --- a/src/engine/courses/BansheeBoardwalk.cpp +++ b/src/engine/courses/BansheeBoardwalk.cpp @@ -5,7 +5,7 @@ #include "BansheeBoardwalk.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/CheepCheep.h" #include "engine/objects/TrashBin.h" @@ -35,6 +35,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "course_offsets.h" + #include "course.h" extern const char *banshee_boardwalk_dls[]; } @@ -69,17 +70,26 @@ BansheeBoardwalk::BansheeBoardwalk() { this->gfx = d_course_banshee_boardwalk_packed_dls; this->gfxSize = 3689; Props.textures = banshee_boardwalk_textures; - Props.MinimapTexture = gTextureCourseOutlineBansheeBoardwalk; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineBansheeBoardwalk; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 55; + Props.Minimap.PlayerY = 39; + Props.Minimap.PlayerScaleFactor = 0.016f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Id = "mk:banshee_boardwalk"; + + Props.SetText(Props.Name, "banshee boardwalk", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "ghost", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "747m", sizeof(Props.CourseLength)); - Props.Id = "mk:banshee_boardwalk"; - Props.Name = "banshee boardwalk"; - Props.DebugName = "ghost"; - Props.CourseLength = "747m"; Props.AIBehaviour = D_0D009058; Props.AIMaximumSeparation = 40.0f; Props.AIMinimumSeparation = 0.4f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -119,8 +129,6 @@ BansheeBoardwalk::BansheeBoardwalk() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 0, 0}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -131,6 +139,8 @@ BansheeBoardwalk::BansheeBoardwalk() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_BANSHEE_BOARDWALK; + + Props.WaterLevel = -80.0f; } void BansheeBoardwalk::Load() { @@ -140,10 +150,9 @@ void BansheeBoardwalk::Load() { D_801625EC = 0; D_801625F4 = 0; D_801625F0 = 0; - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_banshee_boardwalk_track_sections)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_banshee_boardwalk_track_sections)); func_80295C6C(); find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07000878), 128, 0, 0, 0); - D_8015F8E4 = -80.0f; } void BansheeBoardwalk::LoadTextures() { @@ -163,19 +172,19 @@ void BansheeBoardwalk::BeginPlay() { } if (gIsMirrorMode) { - gWorldInstance.AddObject(new OTrashBin(FVector(1765.0f, 45.0f, 195.0f), FRotation(0, 180.0f, 0), 1.0f, bhv)); + gWorldInstance.AddObject(new OTrashBin(FVector(1765.0f, 45.0f, 195.0f), IRotator(0, 180, 0), 1.0f, bhv)); } else { - gWorldInstance.AddObject(new OTrashBin(FVector(-1765.0f, 45.0f, 70.0f), FRotation(0, 0, 0), 1.0f, bhv)); + gWorldInstance.AddObject(new OTrashBin(FVector(-1765.0f, 45.0f, 70.0f), IRotator(0, 0, 0), 1.0f, bhv)); } if ((gGamestate != CREDITS_SEQUENCE) && (gModeSelection != TIME_TRIALS)) { - gWorldInstance.AddObject(new OBat(FVector(0,0,0), FRotation(0, 0, 90.0f))); + gWorldInstance.AddObject(new OBat(FVector(0,0,0), IRotator(0, 0, 90))); gWorldInstance.AddObject(new OBoos(5, IPathSpan(180, 190), IPathSpan(200, 210), IPathSpan(280, 290))); gWorldInstance.AddObject(new OBoos(5, IPathSpan(490, 500), IPathSpan(510, 520), IPathSpan(620, 630))); } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][110], 110, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][190], 190, 1, 0.8333333f)); @@ -187,15 +196,6 @@ void BansheeBoardwalk::BeginPlay() { } } -// Likely sets minimap boundaries -void BansheeBoardwalk::MinimapSettings() { - D_80165880 = dma_textures((const char*)gTextureGhosts, 0x4CC2, 0xD980); - D_8018D2A0 = 0.016f; - D_8018D2C0[0] = 0x0106; - D_8018D2E0 = 55; - D_8018D2E8 = 39; -} - void BansheeBoardwalk::InitCourseObjects() { size_t objectId = 0; if (gGamestate != CREDITS_SEQUENCE) { @@ -253,12 +253,6 @@ void BansheeBoardwalk::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void BansheeBoardwalk::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void BansheeBoardwalk::Render(struct UnkStruct_800DC5EC* arg0) { Camera* camera = arg0->camera; Mat4 spCC; @@ -322,8 +316,6 @@ void BansheeBoardwalk::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_banshee_boardwalk_dl_B308)); } -void BansheeBoardwalk::Collision() {} - void BansheeBoardwalk::ScrollingTextures() { D_802B87BC++; diff --git a/src/engine/courses/BansheeBoardwalk.h b/src/engine/courses/BansheeBoardwalk.h index f1b98538d..cc5b72213 100644 --- a/src/engine/courses/BansheeBoardwalk.h +++ b/src/engine/courses/BansheeBoardwalk.h @@ -28,17 +28,14 @@ public: virtual void LoadTextures() override; virtual void BeginPlay() override; //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void ScrollingTextures() override; virtual void Waypoints(Player*, int8_t) override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) override; diff --git a/src/engine/courses/BigDonut.cpp b/src/engine/courses/BigDonut.cpp index 5bdf76a23..4e99828eb 100644 --- a/src/engine/courses/BigDonut.cpp +++ b/src/engine/courses/BigDonut.cpp @@ -43,16 +43,24 @@ BigDonut::BigDonut() { this->gfx = d_course_big_donut_packed_dls; this->gfxSize = 528; Props.textures = big_donut_textures; - Props.MinimapTexture = gTextureCourseOutlineBigDonut; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineBigDonut; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 257; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 32; + Props.Minimap.PlayerY = 31; + Props.Minimap.PlayerScaleFactor = 0.0257f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "big donut", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "doughnut", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "", sizeof(Props.CourseLength)); - Props.Name = "big donut"; - Props.DebugName = "doughnut"; - Props.CourseLength = ""; Props.AIBehaviour = D_0D008F18; Props.AIMaximumSeparation = -1.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 40; Props.PathSizes = {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0}; @@ -89,8 +97,6 @@ BigDonut::BigDonut() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 0, 0}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -101,6 +107,8 @@ BigDonut::BigDonut() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_BATTLE_ARENAS; + + Props.WaterLevel = 100.0f; } void BigDonut::Load() { @@ -117,17 +125,13 @@ void BigDonut::Load() { // d_course_big_donut_packed_dl_230 generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual((void*)0x07000230), 6); func_80295C6C(); - D_8015F8E4 = 100.0f; -} - -void BigDonut::LoadTextures() { } void BigDonut::BeginPlay() { spawn_all_item_boxes((ActorSpawnData*)LOAD_ASSET_RAW(d_course_big_donut_item_box_spawns)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = {0, 0, 0}; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][20], 20, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][40], 40, 0, 1.0f)); @@ -139,31 +143,10 @@ void BigDonut::BeginPlay() { } } -// Likely sets minimap boundaries -void BigDonut::MinimapSettings() { - D_8018D2A0 = 0.0257f; - D_8018D2E0 = 32; - D_8018D2E8 = 31; -} - -void BigDonut::InitCourseObjects() {} - -void BigDonut::SomeSounds() {} - -void BigDonut::WhatDoesThisDo(Player* player, int8_t playerId) {} - -void BigDonut::WhatDoesThisDoAI(Player* player, int8_t playerId) {} - -// Positions the finishline on the minimap -void BigDonut::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void BigDonut::Render(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -185,8 +168,6 @@ void BigDonut::Render(struct UnkStruct_800DC5EC* arg0) { void BigDonut::RenderCredits() {} -void BigDonut::Collision() {} - void BigDonut::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = 0; } diff --git a/src/engine/courses/BigDonut.h b/src/engine/courses/BigDonut.h index bc076ecf2..bc10105e1 100644 --- a/src/engine/courses/BigDonut.h +++ b/src/engine/courses/BigDonut.h @@ -17,26 +17,14 @@ extern "C" { class BigDonut : public Course { public: - virtual ~BigDonut() = default; // Virtual destructor for proper cleanup in derived classes + virtual ~BigDonut() = default; - // Constructor explicit BigDonut(); -// virtual void Load(const char* courseVtx, -// course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; - virtual void LoadTextures() override; virtual void BeginPlay() override; - //virtual void InitClouds() override; - virtual void MinimapSettings() override; - virtual void InitCourseObjects() override; - virtual void SomeSounds() override; - virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; - virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void Destroy() override; }; diff --git a/src/engine/courses/BlockFort.cpp b/src/engine/courses/BlockFort.cpp index 136ffeef5..cf246220e 100644 --- a/src/engine/courses/BlockFort.cpp +++ b/src/engine/courses/BlockFort.cpp @@ -45,17 +45,24 @@ BlockFort::BlockFort() { this->gfx = d_course_block_fort_packed_dls; this->gfxSize = 699; Props.textures = block_fort_textures; - Props.MinimapTexture = gTextureCourseOutlineBlockFort; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineBlockFort; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 257; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 32; + Props.Minimap.PlayerY = 32; + Props.Minimap.PlayerScaleFactor = 0.0335f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + Props.SetText(Props.Name, "block fort", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "block", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "", sizeof(Props.CourseLength)); - Props.Name = "block fort"; - Props.DebugName = "block"; - Props.CourseLength = ""; Props.AIBehaviour = D_0D008F18; Props.AIMaximumSeparation = -1.0f; Props.AIMinimumSeparation = 0.1f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -95,8 +102,6 @@ BlockFort::BlockFort() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {128, 184, 248}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -114,17 +119,14 @@ void BlockFort::Load() { generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual((void*)0x070015C0), 1); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; -} - -void BlockFort::LoadTextures() { + Props.WaterLevel = gCourseMinY - 10.0f; } void BlockFort::BeginPlay() { spawn_all_item_boxes((ActorSpawnData*)LOAD_ASSET_RAW(d_course_block_fort_item_box_spawns)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][20], 20, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][40], 40, 0, 1.0f)); @@ -136,29 +138,8 @@ void BlockFort::BeginPlay() { } } -// Likely sets minimap boundaries -void BlockFort::MinimapSettings() { - D_8018D2A0 = 0.0335f; - D_8018D2E0 = 32; - D_8018D2E8 = 32; -} - -void BlockFort::InitCourseObjects() {} - -void BlockFort::SomeSounds() {} - -void BlockFort::WhatDoesThisDo(Player* player, int8_t playerId) {} - -void BlockFort::WhatDoesThisDoAI(Player* player, int8_t playerId) {} - -// Positions the finishline on the minimap -void BlockFort::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void BlockFort::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -166,12 +147,6 @@ void BlockFort::Render(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, (segmented_gfx_to_virtual((void*)0x070015C0))); } -void BlockFort::RenderCredits() {} - -void BlockFort::Collision() {} - void BlockFort::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = 0; } - -void BlockFort::Destroy() { } diff --git a/src/engine/courses/BlockFort.h b/src/engine/courses/BlockFort.h index c985b9546..f0e4c6aa6 100644 --- a/src/engine/courses/BlockFort.h +++ b/src/engine/courses/BlockFort.h @@ -25,18 +25,7 @@ public: // virtual void Load(const char* courseVtx, // course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; - virtual void LoadTextures() override; virtual void BeginPlay() override; - //virtual void InitClouds() override; - virtual void MinimapSettings() override; - virtual void InitCourseObjects() override; - virtual void SomeSounds() override; - virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; - virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; - virtual void RenderCredits() override; - virtual void Collision() override; virtual void Waypoints(Player*, int8_t) override; - virtual void Destroy() override; }; diff --git a/src/engine/courses/BowsersCastle.cpp b/src/engine/courses/BowsersCastle.cpp index cac1dde92..22b6cbe78 100644 --- a/src/engine/courses/BowsersCastle.cpp +++ b/src/engine/courses/BowsersCastle.cpp @@ -5,7 +5,7 @@ #include "BowsersCastle.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Thwomp.h" #include "bowsers_castle_data.h" @@ -31,6 +31,7 @@ extern "C" { #include "collision.h" #include "code_8003DC40.h" #include "memory.h" + #include "course.h" extern const char *bowsers_castle_dls[]; } @@ -71,17 +72,26 @@ BowsersCastle::BowsersCastle() { this->gfx = d_course_bowsers_castle_packed_dls; this->gfxSize = 4900; Props.textures = bowsers_castle_textures; - Props.MinimapTexture = gTextureCourseOutlineBowsersCastle; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineBowsersCastle; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 265; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 12; + Props.Minimap.PlayerY = 48; + Props.Minimap.PlayerScaleFactor = 0.0174f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Id = "mk:bowsers_castle"; + + Props.SetText(Props.Name, "bowser's castle", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "castle", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "777m", sizeof(Props.CourseLength)); - Props.Id = "mk:bowsers_castle"; - Props.Name = "bowser's castle"; - Props.DebugName = "castle"; - Props.CourseLength = "777m"; Props.AIBehaviour = D_0D008FB8; Props.AIMaximumSeparation = 35.0f; Props.AIMinimumSeparation = 0.2f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -121,8 +131,6 @@ BowsersCastle::BowsersCastle() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {48, 8, 120}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -133,21 +141,40 @@ BowsersCastle::BowsersCastle() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_BOWSERS_CASTLE; + + Props.WaterLevel = -50.0f; + WaterVolumes.push_back({20.0f, 1549.0f, 1859.0f, -1402.0f, -1102.0f}); } void BowsersCastle::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_bowsers_castle_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_bowsers_castle_addr)); func_80295C6C(); find_vtx_and_set_colours(segmented_gfx_to_virtual(reinterpret_cast(0x07001350)), 0x32, 0, 0, 0); - D_8015F8E4 = -50.0f; } void BowsersCastle::LoadTextures() { dma_textures(gTextureShrub, 0x000003FFU, 0x00000800U); } +// Required for the 2 thwomps that go far +void BowsersCastle::SpawnStockThwomp() { + s32 objectId = indexObjectList1[0]; + init_object(objectId, 0); + gObjectList[objectId].origin_pos[0] = 0x04b0 * xOrientation; + gObjectList[objectId].origin_pos[2] = 0xf5ba; + gObjectList[objectId].unk_0D5 = 3; + gObjectList[objectId].primAlpha = 0; + + objectId = indexObjectList1[1]; + init_object(objectId, 0); + gObjectList[objectId].origin_pos[0] = 0x04b0 * xOrientation; + gObjectList[objectId].origin_pos[2] = 0xf592; + gObjectList[objectId].unk_0D5 = 3; + gObjectList[objectId].primAlpha = 1; +} + void BowsersCastle::BeginPlay() { spawn_foliage((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_bowsers_castle_tree_spawn)); spawn_all_item_boxes((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_bowsers_castle_item_box_spawns)); @@ -159,6 +186,7 @@ void BowsersCastle::BeginPlay() { gWorldInstance.AddObject(new OThwomp(0x044c, 0xf92a, 0xC000, 1.0f, 1, 1)); gWorldInstance.AddObject(new OThwomp(0x02bc, 0xf95c, 0xC000, 1.0f, 2, 0)); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf8f8, 0xC000, 1.0f, 2, 1)); + BowsersCastle::SpawnStockThwomp(); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf5ba, 0xC000, 1.0f, 3, 0)); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf592, 0xC000, 1.0f, 3, 1)); gWorldInstance.AddObject(new OThwomp(0x091a, 0xf5bf, 0xC000, 1.0f, 4, 0)); @@ -170,6 +198,7 @@ void BowsersCastle::BeginPlay() { case CC_50: gWorldInstance.AddObject(new OThwomp(0x3B6, 0xF92A, 0xC000, 1.0f, 1, 0)); gWorldInstance.AddObject(new OThwomp(0x0352, 0xf95c, 0xC000, 1.0f, 2, 0)); + BowsersCastle::SpawnStockThwomp(); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf5ba, 0xC000, 1.0f, 3, 0)); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf592, 0xC000, 1.0f, 3, 1)); gWorldInstance.AddObject(new OThwomp(0x091a, 0xf5b0, 0xC000, 1.0f, 4, 0)); @@ -182,6 +211,7 @@ void BowsersCastle::BeginPlay() { gWorldInstance.AddObject(new OThwomp(0x044c, 0xf92a, 0xC000, 1.0f, 1, 1)); gWorldInstance.AddObject(new OThwomp(0x02bc, 0xf95c, 0xC000, 1.0f, 2, 0)); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf8f8, 0xC000, 1.0f, 2, 1)); + BowsersCastle::SpawnStockThwomp(); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf5ba, 0xC000, 1.0f, 3, 0)); gWorldInstance.AddObject(new OThwomp(0x04b0, 0xf592, 0xC000, 1.0f, 3, 1)); gWorldInstance.AddObject(new OThwomp(0x091a, 0xf5c9, 0xC000, 1.0f, 4, 0)); @@ -194,7 +224,7 @@ void BowsersCastle::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][150], 150, 1, 0.8333333f)); @@ -206,14 +236,6 @@ void BowsersCastle::BeginPlay() { } } -// Likely sets minimap boundaries -void BowsersCastle::MinimapSettings() { - D_8018D2C0[0] = 265; - D_8018D2A0 = 0.0174f; - D_8018D2E0 = 12; - D_8018D2E8 = 48; -} - void BowsersCastle::InitCourseObjects() { size_t objectId; size_t i; @@ -283,12 +305,6 @@ void BowsersCastle::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void BowsersCastle::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void BowsersCastle::Render(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -320,8 +336,6 @@ void BowsersCastle::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_bowsers_castle_dl_9148)); } -void BowsersCastle::Collision() {} - void BowsersCastle::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003E6EC(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } diff --git a/src/engine/courses/BowsersCastle.h b/src/engine/courses/BowsersCastle.h index 767bbdb8c..b52af2a26 100644 --- a/src/engine/courses/BowsersCastle.h +++ b/src/engine/courses/BowsersCastle.h @@ -26,19 +26,17 @@ public: // course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; virtual void LoadTextures() override; + void SpawnStockThwomp(); virtual void BeginPlay() override; //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; virtual void Waypoints(Player*, int8_t) override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection); diff --git a/src/engine/courses/ChocoMountain.cpp b/src/engine/courses/ChocoMountain.cpp index 632f31981..be5dcb0b1 100644 --- a/src/engine/courses/ChocoMountain.cpp +++ b/src/engine/courses/ChocoMountain.cpp @@ -7,7 +7,7 @@ #include "World.h" #include "engine/objects/BombKart.h" #include "choco_mountain_data.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" extern "C" { #include "main.h" @@ -31,6 +31,7 @@ extern "C" { #include "code_8003DC40.h" #include "memory.h" #include "course_offsets.h" + #include "course.h" extern const char *choco_mountain_dls[]; } @@ -63,17 +64,25 @@ ChocoMountain::ChocoMountain() { this->gfx = d_course_choco_mountain_packed_dls; this->gfxSize = 2910; Props.textures = choco_mountain_textures; - Props.MinimapTexture = gTextureCourseOutlineChocoMountain; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineChocoMountain; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 265; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 19; + Props.Minimap.PlayerY = 37; + Props.Minimap.PlayerScaleFactor = 0.022f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = -16.0; + + Id = "mk:choco_mountain"; + Props.SetText(Props.Name, "choco mountain", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "mountain", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "687m", sizeof(Props.CourseLength)); - Props.Id = "mk:choco_mountain"; - Props.Name = "choco mountain"; - Props.DebugName = "mountain"; - Props.CourseLength = "687m"; Props.AIBehaviour = D_0D008F80; Props.AIMaximumSeparation = 35.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -113,8 +122,6 @@ ChocoMountain::ChocoMountain() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {255, 255, 255}; Props.Skybox.BottomRight = {255, 255, 255}; @@ -125,6 +132,8 @@ ChocoMountain::ChocoMountain() { Props.Skybox.FloorBottomLeft = {255, 255, 255}; Props.Skybox.FloorTopLeft = {255, 255, 255}; Props.Sequence = MusicSeq::MUSIC_SEQ_CHOCO_MOUNTAIN; + + Props.WaterLevel = -80.0f; } void ChocoMountain::Load() { @@ -154,10 +163,9 @@ void ChocoMountain::Load() { nullify_displaylist((uintptr_t) segmented_gfx_to_virtual(reinterpret_cast(0x070003C8))); } - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_choco_mountain_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_choco_mountain_addr)); func_802B5CAC(0x238E, 0x31C7, D_8015F590); func_80295C6C(); - D_8015F8E4 = -80.0f; } void ChocoMountain::LoadTextures() { @@ -168,7 +176,7 @@ void ChocoMountain::BeginPlay() { spawn_falling_rocks((struct ActorSpawnData*)LOAD_ASSET_RAW((const char*)d_course_choco_mountain_falling_rock_spawns)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][140], 140, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][165], 165, 1, 0.8333333f)); @@ -180,14 +188,6 @@ void ChocoMountain::BeginPlay() { } } -// Likely sets minimap boundaries -void ChocoMountain::MinimapSettings() { - D_8018D2A0 = 0.022f; - D_8018D2C0[0] = 265; - D_8018D2E0 = 19; - D_8018D2E8 = 37; -} - void ChocoMountain::InitCourseObjects() { if (gGamestate != CREDITS_SEQUENCE) { if (gModeSelection == GRAND_PRIX) { @@ -235,12 +235,6 @@ void ChocoMountain::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void ChocoMountain::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void ChocoMountain::Render(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -292,8 +286,6 @@ void ChocoMountain::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_choco_mountain_dl_71B8)); } -void ChocoMountain::Collision() {} - void ChocoMountain::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003E37C(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } diff --git a/src/engine/courses/ChocoMountain.h b/src/engine/courses/ChocoMountain.h index 45926ed61..b592ba9df 100644 --- a/src/engine/courses/ChocoMountain.h +++ b/src/engine/courses/ChocoMountain.h @@ -27,15 +27,12 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; virtual void Destroy() override; }; diff --git a/src/engine/courses/Course.cpp b/src/engine/courses/Course.cpp index 3e5c0b2ab..bbc9455fe 100644 --- a/src/engine/courses/Course.cpp +++ b/src/engine/courses/Course.cpp @@ -3,6 +3,9 @@ #include "Course.h" #include "MarioRaceway.h" #include "ChocoMountain.h" +#include "port/Game.h" +#include "port/resource/type/TrackWaypoint.h" +#include "port/resource/type/TrackSections.h" extern "C" { #include "main.h" @@ -18,20 +21,36 @@ extern "C" { #include "staff_ghosts.h" #include "code_800029B0.h" #include "render_courses.h" +#include "collision.h" +#include "actors.h" extern StaffGhost* d_mario_raceway_staff_ghost; } Course::Course() { // Props.Name = "Course Name"; // Props.DebugName = "CName"; - // Props.CourseLength = "567m"; + Props.SetText(Props.CourseLength, "100m", sizeof(Props.CourseLength)); // Props.Cup = FLOWER_CUP; // Props.CupIndex = 3; + Id = ""; + Props.Minimap.Texture = gTextureCourseOutlineMarioRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 257; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 0; + Props.Minimap.PlayerY = 0; + Props.Minimap.PlayerScaleFactor = 0.22f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + Props.Minimap.Colour = {255, 255, 255}; + Props.WaterLevel = -10.0f; + Props.LakituTowType = (s32) OLakitu::LakituTowType::NORMAL; Props.AIBehaviour = D_0D008F28; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCB34; + Props.AIDistance = gMarioRacewayAIDistances; Props.AISteeringSensitivity = 48; Props.NearPersp = 3.0f; @@ -71,11 +90,10 @@ Course::Course() { Props.Clouds = NULL; Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Sequence = MusicSeq::MUSIC_SEQ_UNKNOWN; } +// Load custom track from code void Course::Load(Vtx* vtx, Gfx* gfx) { gSegmentTable[4] = reinterpret_cast(&vtx[0]); gSegmentTable[7] = reinterpret_cast(&gfx[0]); @@ -83,8 +101,60 @@ void Course::Load(Vtx* vtx, Gfx* gfx) { Course::Init(); } +void Course::LoadO2R(std::string trackPath) { + if (!trackPath.empty()) { + TrackSectionsPtr = (trackPath + "/data_track_sections"); + + std::string path_file = (trackPath + "/data_paths").c_str(); + + auto res = std::dynamic_pointer_cast(ResourceLoad(path_file.c_str())); + + if (res != nullptr) { + auto& paths = res->PathList; + + size_t i = 0; + for (auto& path : paths) { + if (i == 0) { + Props.PathTable[0] = (TrackWaypoint*)path.data(); + Props.PathTable[1] = NULL; + Props.PathTable[2] = NULL; + Props.PathTable[3] = NULL; + Props.PathTable2[0] = (TrackWaypoint*)path.data(); + Props.PathTable2[1] = NULL; + Props.PathTable2[2] = NULL; + Props.PathTable2[3] = NULL; + } + + i += 1; + } + } + + } else { + printf("Course.cpp: LoadO2R: trackPath str is empty\n"); + } +} + +// Load stock track void Course::Load() { + // Load from O2R + if (!TrackSectionsPtr.empty()) { + bIsMod = true; + //auto res = std::dynamic_pointer_cast(ResourceLoad(TrackSectionsPtr.c_str())); + + TrackSectionsO2R* sections = (TrackSectionsO2R*) LOAD_ASSET_RAW(TrackSectionsPtr.c_str()); + size_t size = ResourceGetSizeByName(TrackSectionsPtr.c_str()); + + if (sections != nullptr) { + Course::Init(); + ParseCourseSections(sections, size); + func_80295C6C(); + Props.WaterLevel = gCourseMinY - 10.0f; + } + return; + } + + // Stock size_t vtxSize = (ResourceGetSizeByName(this->vtx) / sizeof(CourseVtx)) * sizeof(Vtx); size_t texSegSize; @@ -129,6 +199,53 @@ void Course::Load() { Course::Init(); } +// C++ version of parse_course_displaylists() +void Course::ParseCourseSections(TrackSectionsO2R* sections, size_t size) { + for (size_t i = 0; i < (size / sizeof(TrackSectionsO2R)); i++) { + if (sections[i].flags & 0x8000) { + D_8015F59C = 1; + } else { + D_8015F59C = 0; + } + if (sections[i].flags & 0x2000) { + D_8015F5A0 = 1; + } else { + D_8015F5A0 = 0; + } + if (sections[i].flags & 0x4000) { + D_8015F5A4 = 1; + } else { + D_8015F5A4 = 0; + } + printf("LOADING DL %s\n", sections[i].addr.c_str()); + generate_collision_mesh((Gfx*)LOAD_ASSET_RAW(sections[i].addr.c_str()), sections[i].surfaceType, sections[i].sectionId); + } +} + +void Course::TestPath() { + // DEBUG ONLY TO VISUALIZE PATH + return; + s16 x; + s16 y; + s16 z; + Vec3s rot = {0, 0, 0}; + Vec3f vel = {0, 0, 0}; + + for (size_t i = 0; i < gWaypointCountByPathIndex[0]; i++) { + x = D_80164550[0][i].posX; + y = D_80164550[0][i].posY; + z = D_80164550[0][i].posZ; + + if (((x & 0xFFFF) == 0x8000) && ((y & 0xFFFF) == 0x8000) && ((z & 0xFFFF) == 0x8000)) { + break; + } + + f32 height = spawn_actor_on_surface(x, 2000.0f, z); + Vec3f itemPos = {x, height, z}; + add_actor_to_empty_slot(itemPos, rot, vel, ACTOR_ITEM_BOX); + } +} + void Course::Init() { gNumActors = 0; gCourseMinX = 0; @@ -153,6 +270,7 @@ void Course::LoadTextures() { } void Course::BeginPlay() { + TestPath(); } void Course::InitClouds() { @@ -181,9 +299,6 @@ void Course::SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f ar func_8003E048(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } -void Course::MinimapSettings() { -} - void Course::InitCourseObjects() { } @@ -206,13 +321,6 @@ void Course::WhatDoesThisDo(Player* player, int8_t playerId) { void Course::WhatDoesThisDoAI(Player* player, int8_t playerId) { } -// Positions the finishline on the minimap -void Course::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, - (u8*) common_texture_minimap_finish_line); -} - void Course::SetStaffGhost() { D_80162DD6 = 1; D_80162DF4 = 1; @@ -226,11 +334,49 @@ void Course::Waypoints(Player* player, int8_t playerId) { } void Course::Render(struct UnkStruct_800DC5EC* arg0) { + if (!TrackSectionsPtr.empty()) { + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + // set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + + if (func_80290C20(arg0->camera) == 1) { + gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); + gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); + // d_course_big_donut_packed_dl_DE8 + } + + TrackSectionsO2R* sections = (TrackSectionsO2R*)LOAD_ASSET_RAW(TrackSectionsPtr.c_str()); + size_t size = ResourceGetSizeByName(TrackSectionsPtr.c_str()); + for (size_t i = 0; i < (size / sizeof(TrackSectionsO2R)); i++) { + gSPDisplayList(gDisplayListHead++, (Gfx*)LOAD_ASSET_RAW(sections[i].addr.c_str())); + } + } } + void Course::RenderCredits() { } -void Course::Collision() { + +f32 Course::GetWaterLevel(FVector pos, Collision* collision) { + float highestWater = -FLT_MAX; + bool found = false; + + for (const auto& volume : gWorldInstance.CurrentCourse->WaterVolumes) { + if (pos.x >= volume.MinX && pos.x <= volume.MaxX && + pos.z >= volume.MinZ && pos.z <= volume.MaxZ) { + // Choose the highest water volume the player is over + if (!found || volume.Height > highestWater) { + highestWater = volume.Height; + found = true; + } + } + } + + // If player is not over-top of a water volume then return the courses default water level + return found ? highestWater : gWorldInstance.CurrentCourse->Props.WaterLevel; } + void Course::ScrollingTextures() { } void Course::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, @@ -241,7 +387,7 @@ void Course::Destroy() { } bool Course::IsMod() { - return false; + return bIsMod; } Course* currentCourse = nullptr; diff --git a/src/engine/courses/Course.h b/src/engine/courses/Course.h index 889012a12..0a0eff823 100644 --- a/src/engine/courses/Course.h +++ b/src/engine/courses/Course.h @@ -6,6 +6,7 @@ #ifdef __cplusplus #include "engine/objects/Lakitu.h" +#include "port/resource/type/TrackSections.h" extern "C" { #endif @@ -34,20 +35,44 @@ typedef struct SkyboxColours { RGB8 FloorTopLeft; } SkyboxColours; +// Extends infinitely in the Y direction +// If a player is overtop of a water volume then it should use its height +// Recommend using the new water surface type. This is here to support the stock tracks. +// Albeit, there's no reason you cannot use this so long as you input a square. +// How to use: WaterVolumes.push_back({0, -100, 100, -100, 100}); +struct WaterVolume { + float Height; // Y coordinate of the Water level + float MinX; + float MaxX; + float MinZ; + float MaxZ; +}; + +typedef struct MinimapProps { + const char* Texture; + int16_t Width; + int16_t Height; + IVector2D Pos[2]; // Minimap position for players 1 and 2. 3/4 player mode is hard-coded to the center. + int32_t PlayerX; // The offset to place the player markers + int32_t PlayerY; + float PlayerScaleFactor; // Scale factor of the player markers + float FinishlineX; // The offset to place the finishline texture on the minimap + float FinishlineY; + RGB8 Colour; // Colour of the visible pixels (the track path) +} MinimapProps; + typedef struct Properties { - const char* Id; - const char* Name; - const char* DebugName; - const char* CourseLength; + char Name[128]; + char DebugName[128]; + char CourseLength[128]; + int32_t LakituTowType; + MinimapProps Minimap; const char* AIBehaviour; - const char* MinimapTexture; - s32 LakituTowType; - IVector2D MinimapDimensions; float AIMaximumSeparation; float AIMinimumSeparation; float NearPersp; float FarPersp; - int16_t *SomePtr; + int16_t* AIDistance; uint32_t AISteeringSensitivity; _struct_gCoursePathSizes_0x10 PathSizes; Vec4f D_0D009418; @@ -56,13 +81,160 @@ typedef struct Properties { Vec4f D_0D009808; TrackWaypoint* PathTable[4]; TrackWaypoint* PathTable2[4]; + uint8_t* CloudTexture; CloudData *Clouds; CloudData *CloudList; - int32_t MinimapFinishlineX; - int32_t MinimapFinishlineY; SkyboxColours Skybox; const course_texture *textures; enum MusicSeq Sequence; + float WaterLevel; // Used for effects, and Lakitu pick up height. Not necessarily the visual water model height. + +#ifdef __cplusplus + nlohmann::json to_json() const { + nlohmann::json j; + // j["Id"] = Id ? Id : ""; + j["Name"] = Name ? Name : ""; + j["DebugName"] = DebugName ? DebugName : ""; + j["CourseLength"] = CourseLength ? CourseLength : ""; + j["AIBehaviour"] = AIBehaviour ? AIBehaviour : ""; + j["LakituTowType"] = LakituTowType; + j["AIMaximumSeparation"] = AIMaximumSeparation; + j["AIMinimumSeparation"] = AIMinimumSeparation; + j["NearPersp"] = NearPersp; + j["FarPersp"] = FarPersp; + + // AIDistance as a JSON array + j["AIDistance"] = std::vector(AIDistance, AIDistance + 32); // gAIDistances array size of 32 + + j["AISteeringSensitivity"] = AISteeringSensitivity; + + // PathSizes - Assuming _struct_gCoursePathSizes_0x10 can be serialized similarly + // j["PathSizes"] = PathSizes; // Implement your serialization logic here + + j["D_0D009418"] = { D_0D009418[0], D_0D009418[1], D_0D009418[2], D_0D009418[3] }; + j["D_0D009568"] = { D_0D009568[0], D_0D009568[1], D_0D009568[2], D_0D009568[3] }; + j["D_0D0096B8"] = { D_0D0096B8[0], D_0D0096B8[1], D_0D0096B8[2], D_0D0096B8[3] }; + j["D_0D009808"] = { D_0D009808[0], D_0D009808[1], D_0D009808[2], D_0D009808[3] }; + + // Serialize arrays PathTable and PathTable2 (convert pointers into a JSON array if possible) + //j["PathTable"] = {{}}; + //j["PathTable2"] = {{}}; + // Populate PathTable and PathTable2 + + //j["Clouds"] = Clouds ? nlohmann::json{{"x", Clouds->x, "y", Clouds->y, "z", Clouds->z}} : nullptr; + //j["CloudList"] = CloudList ? nlohmann::json{{"x", CloudList->x, "y", CloudList->y, "z", CloudList->z}} : nullptr; + + j["MinimapPosition"] = {Minimap.Pos[0].X, Minimap.Pos[0].Y}; + j["MinimapPosition2P"] = {Minimap.Pos[1].X, Minimap.Pos[1].Y}; + j["MinimapPlayerX"] = Minimap.PlayerX; + j["MinimapPlayerY"] = Minimap.PlayerY; + j["MinimapPlayerScaleFactor"] = Minimap.PlayerScaleFactor; + j["MinimapFinishlineX"] = Minimap.FinishlineX; + j["MinimapFinishlineY"] = Minimap.FinishlineY; + j["MinimapColour"] = {static_cast(Minimap.Colour.r), static_cast(Minimap.Colour.g), static_cast(Minimap.Colour.b)}; + // SkyboxColors - assuming SkyboxColors can be serialized similarly + // j["Skybox"] = Skybox; // Implement your serialization logic here + j["Sequence"] = static_cast(Sequence); + + j["WaterLevel"] = static_cast(WaterLevel); + + return j; + } + + // Function to load struct from JSON + void from_json(const nlohmann::json& j) { + //Id = j.at("Id").get().c_str(); +// Name = j.at("Name").get().c_str(); + strncpy(Name, j.at("Name").get().c_str(), sizeof(Name) - 1); + Name[sizeof(Name) - 1] = '\0'; // Ensure null termination + +// DebugName = j.at("DebugName").get().c_str(); + strncpy(DebugName, j.at("DebugName").get().c_str(), sizeof(DebugName) - 1); + DebugName[sizeof(DebugName) - 1] = '\0'; // Ensure null termination + + // CourseLength = j.at("CourseLength").get().c_str(); + strncpy(CourseLength, j.at("CourseLength").get().c_str(), sizeof(CourseLength) - 1); + CourseLength[sizeof(CourseLength) - 1] = '\0'; // Ensure null termination + + AIBehaviour = j.at("AIBehaviour").get().c_str(); + LakituTowType = j.at("LakituTowType").get(); + + AIMaximumSeparation = j.at("AIMaximumSeparation").get(); + AIMinimumSeparation = j.at("AIMinimumSeparation").get(); + NearPersp = j.at("NearPersp").get(); + FarPersp = j.at("FarPersp").get(); + + const auto temp = j.at("AIDistance").get>(); + + // Ensure the vector has 32 entries + if (temp.size() == 32) { + // Copy the data into the existing AIDistances array + std::copy(temp.begin(), temp.end(), AIDistance); + } else { + printf("Course::from_json() AIDistance array not size of 32\n"); + } + + AISteeringSensitivity = j.at("AISteeringSensitivity").get(); + + // Deserialize PathSizes and other custom structs if needed + + D_0D009418[0] = j.at("D_0D009418")[0].get(); + D_0D009418[1] = j.at("D_0D009418")[1].get(); + D_0D009418[2] = j.at("D_0D009418")[2].get(); + D_0D009418[3] = j.at("D_0D009418")[3].get(); + + D_0D009568[0] = j.at("D_0D009568")[0].get(); + D_0D009568[1] = j.at("D_0D009568")[1].get(); + D_0D009568[2] = j.at("D_0D009568")[2].get(); + D_0D009568[3] = j.at("D_0D009568")[3].get(); + + D_0D0096B8[0] = j.at("D_0D0096B8")[0].get(); + D_0D0096B8[1] = j.at("D_0D0096B8")[1].get(); + D_0D0096B8[2] = j.at("D_0D0096B8")[2].get(); + D_0D0096B8[3] = j.at("D_0D0096B8")[3].get(); + + D_0D009808[0] = j.at("D_0D009808")[0].get(); + D_0D009808[1] = j.at("D_0D009808")[1].get(); + D_0D009808[2] = j.at("D_0D009808")[2].get(); + D_0D009808[3] = j.at("D_0D009808")[3].get(); + + // Deserialize arrays PathTable and PathTable2 similarly + + //Clouds = nullptr; // Deserialize if data is present + //CloudList = nullptr; // Deserialize if data is present + Minimap.Pos[0].X = j.at("MinimapPosition")[0].get(); + Minimap.Pos[0].Y = j.at("MinimapPosition")[1].get(); + Minimap.Pos[1].X = j.at("MinimapPosition2P")[0].get(); + Minimap.Pos[1].Y = j.at("MinimapPosition2P")[1].get(); + Minimap.PlayerX = j.at("MinimapPlayerX").get(); + Minimap.PlayerY = j.at("MinimapPlayerY").get(); + Minimap.PlayerScaleFactor = j.at("MinimapPlayerScaleFactor").get(); + Minimap.FinishlineX = j.at("MinimapFinishlineX").get(); + Minimap.FinishlineY = j.at("MinimapFinishlineY").get(); + Minimap.Colour.r = j.at("MinimapColour")[0].get(); + Minimap.Colour.g = j.at("MinimapColour")[1].get(); + Minimap.Colour.b = j.at("MinimapColour")[2].get(); + //textures = nullptr; // Deserialize textures if present + Sequence = static_cast(j.at("Sequence").get()); + WaterLevel = j.at("WaterLevel").get(); + } + void SetText(char* name, const char* title, size_t bufferSize) { + // Copy the title into the name buffer, ensuring it's null-terminated and within bounds + std::strncpy(name, title, bufferSize - 1); + name[bufferSize - 1] = '\0'; // Ensure the string is null-terminated + } + + const char* GetName() { + return Name; + } + + void New() { + SetText(Name, "", sizeof(Name)); + SetText(DebugName, "", sizeof(DebugName)); + SetText(CourseLength, "", sizeof(CourseLength)); + } +#endif + } Properties; #ifdef __cplusplus @@ -72,32 +244,41 @@ class World; // <-- Forward declare class Course { public: + std::string Id; Properties Props; + // This allows multiple water levels in a map. + // Ex. DK Jungle where there's a waterfall and you can drive above and below it. + std::vector WaterVolumes; + const char* vtx = nullptr; const char* gfx = nullptr; size_t gfxSize = 0; const course_texture* textures = nullptr; bool bSpawnFinishline = true; std::optional FinishlineSpawnPoint; + std::string TrackSectionsPtr; + bool bIsMod = false; virtual ~Course() = default; explicit Course(); - virtual void Load(); // Decompress and load stock courses. Must be overridden for custom courses - virtual void Load(Vtx* vtx, Gfx *gfx); // Load custom course + virtual void LoadO2R(std::string trackPath); // Load custom track from o2r + virtual void Load(); // Decompress and load stock courses or from o2r but TrackSectionsPtr must be set. + virtual void Load(Vtx* vtx, Gfx *gfx); // Load custom track from code. Load must be overridden and then call to this base class method impl. virtual void LoadTextures(); + virtual void ParseCourseSections(TrackSectionsO2R* sections, size_t size); /** * @brief BeginPlay This function is called once at the start of gameplay. * Actor spawning should go here. */ virtual void BeginPlay(); + virtual void TestPath(); virtual void InitClouds(); virtual void UpdateClouds(s32, Camera*); virtual void SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7); - virtual void MinimapSettings(); virtual void InitCourseObjects(); virtual void UpdateCourseObjects(); virtual void RenderCourseObjects(s32 cameraId); @@ -105,12 +286,11 @@ public: virtual void CreditsSpawnActors(); virtual void WhatDoesThisDo(Player*, int8_t); virtual void WhatDoesThisDoAI(Player*, int8_t); - virtual void MinimapFinishlinePosition(); virtual void SetStaffGhost(); virtual void Render(struct UnkStruct_800DC5EC*); virtual void RenderCredits(); virtual void Waypoints(Player* player, int8_t playerId); - virtual void Collision(); + virtual f32 GetWaterLevel(FVector pos, Collision* collision); virtual void ScrollingTextures(); virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection); virtual void Destroy(); diff --git a/src/engine/courses/DKJungle.cpp b/src/engine/courses/DKJungle.cpp index bb9c951bc..bbb602584 100644 --- a/src/engine/courses/DKJungle.cpp +++ b/src/engine/courses/DKJungle.cpp @@ -5,7 +5,7 @@ #include "DKJungle.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/dks_jungle_parkway_data.h" @@ -14,6 +14,7 @@ extern "C" { #include "main.h" + #include "common_structs.h" #include "camera.h" #include "course_offsets.h" #include "code_800029B0.h" @@ -34,6 +35,7 @@ extern "C" { #include "code_8003DC40.h" #include "memory.h" #include "sounds.h" + #include "course.h" extern const char *d_course_dks_jungle_parkway_unknown_dl_list[]; extern s16 currentScreenSection; } @@ -71,16 +73,24 @@ DKJungle::DKJungle() { this->gfx = d_course_dks_jungle_parkway_packed_dls; this->gfxSize = 4997; Props.textures = dks_jungle_parkway_textures; - Props.MinimapTexture = gTextureCourseOutlineDksJungleParkway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineDksJungleParkway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 255; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 29; + Props.Minimap.PlayerY = 47; + Props.Minimap.PlayerScaleFactor = 0.0155f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "d.k.'s jungle parkway", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "jungle", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "893m", sizeof(Props.CourseLength)); - Props.Name = "d.k.'s jungle parkway"; - Props.DebugName = "jungle"; - Props.CourseLength = "893m"; Props.AIBehaviour = D_0D0093C0; Props.AIMaximumSeparation = 40.0f; Props.AIMinimumSeparation = 0.1f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 9.0f; @@ -120,8 +130,6 @@ DKJungle::DKJungle() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {255, 174, 0}; Props.Skybox.BottomRight = {255, 229, 124}; @@ -132,18 +140,50 @@ DKJungle::DKJungle() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {22, 145, 22}; Props.Sequence = MusicSeq::MUSIC_SEQ_DK_JUNGLE; + + Props.WaterLevel = -475.0f; } void DKJungle::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_dks_jungle_parkway_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_dks_jungle_parkway_addr)); func_80295C6C(); - D_8015F8E4 = -475.0f; // d_course_dks_jungle_parkway_packed_dl_3FA8 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07003FA8), 120, 255, 255, 255); } +f32 DKJungle::GetWaterLevel(FVector pos, Collision* collision) { + int32_t temp_v1 = get_track_section_id(collision->meshIndexZX) & 0xFF; + + if (temp_v1 == 0xFF) { + if ((get_surface_type(collision->meshIndexZX) & 0xFF) == CAVE) { + return -475.0f; + } + if (pos.x > -478.0f) { + return -33.9f; + } + if (pos.x < -838.0f) { + return -475.0f; + } + if (pos.z > -436.0f) { + return -475.0f; + } + if (pos.z < -993.0f) { + return -33.9f; + } + if (pos.z < pos.x) { + return -475.0f; + } + + return -33.9f; + } + if (temp_v1 >= 0x14) { + return -475.0f; + } + return -33.9f; +} + void DKJungle::LoadTextures() { dma_textures(gTextureDksJungleParkwayKiwanoFruit1, 0x0000032FU, 0x00000400U); dma_textures(gTextureDksJungleParkwayKiwanoFruit2, 0x00000369U, 0x00000400U); @@ -164,7 +204,7 @@ void DKJungle::BeginPlay() { gWorldInstance.AddActor(new ABoat((0.6666666f)/4, 0)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 1, 0.8333333f)); @@ -177,14 +217,6 @@ void DKJungle::BeginPlay() { } } -// Likely sets minimap boundaries -void DKJungle::MinimapSettings() { - D_8018D2A0 = 0.0155f; - D_8018D2C0[0] = 255; - D_8018D2E0 = 29; - D_8018D2E8 = 47; -} - void DKJungle::InitCourseObjects() { for (size_t i = 0; i < NUM_TORCHES; i++) { init_smoke_particles(i); @@ -253,15 +285,9 @@ void DKJungle::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void DKJungle::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void DKJungle::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); - func_802B5D64(&D_800DC610[1], D_802B87D4, D_802B87D0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(&D_800DC610[1], D_802B87D4, D_802B87D0, 1); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK | G_LIGHTING); @@ -286,8 +312,6 @@ void DKJungle::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_dks_jungle_parkway_dl_13C30)); } -void DKJungle::Collision() {} - void DKJungle::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003F138(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } diff --git a/src/engine/courses/DKJungle.h b/src/engine/courses/DKJungle.h index 71cc1e582..84767a94a 100644 --- a/src/engine/courses/DKJungle.h +++ b/src/engine/courses/DKJungle.h @@ -26,19 +26,17 @@ public: // course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; virtual void LoadTextures() override; + virtual f32 GetWaterLevel(FVector pos, Collision* collision) override; virtual void BeginPlay() override; //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void ScrollingTextures() override; diff --git a/src/engine/courses/DoubleDeck.cpp b/src/engine/courses/DoubleDeck.cpp index fea83005d..ecadf9d48 100644 --- a/src/engine/courses/DoubleDeck.cpp +++ b/src/engine/courses/DoubleDeck.cpp @@ -43,16 +43,25 @@ DoubleDeck::DoubleDeck() { this->gfx = d_course_double_deck_packed_dls; this->gfxSize = 699; Props.textures = double_deck_textures; - Props.MinimapTexture = gTextureCourseOutlineDoubleDeck; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineDoubleDeck; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 257; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 32; + Props.Minimap.PlayerY = 32; + Props.Minimap.PlayerScaleFactor = 0.0285f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "double deck", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "deck", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "", sizeof(Props.CourseLength)); + - Props.Name = "double deck"; - Props.DebugName = "deck"; - Props.CourseLength = ""; Props.AIBehaviour = D_0D008F18; Props.AIMaximumSeparation = -1.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -92,8 +101,6 @@ DoubleDeck::DoubleDeck() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {113, 70, 255}; Props.Skybox.BottomRight = {255, 184, 99}; @@ -111,7 +118,7 @@ void DoubleDeck::Load() { generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual((void*)0x07000738), 1); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void DoubleDeck::LoadTextures() { @@ -121,7 +128,7 @@ void DoubleDeck::BeginPlay() { spawn_all_item_boxes((ActorSpawnData*)LOAD_ASSET_RAW(d_course_double_deck_item_box_spawns)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][20], 20, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][40], 40, 0, 1.0f)); @@ -133,13 +140,6 @@ void DoubleDeck::BeginPlay() { } } -// Likely sets minimap boundaries -void DoubleDeck::MinimapSettings() { - D_8018D2A0 = 0.0285f; - D_8018D2E0 = 32; - D_8018D2E8 = 32; -} - void DoubleDeck::InitCourseObjects() {} void DoubleDeck::SomeSounds() {} @@ -148,14 +148,8 @@ void DoubleDeck::WhatDoesThisDo(Player* player, int8_t playerId) {} void DoubleDeck::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void DoubleDeck::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void DoubleDeck::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -167,8 +161,6 @@ void DoubleDeck::Render(struct UnkStruct_800DC5EC* arg0) { void DoubleDeck::RenderCredits() {} -void DoubleDeck::Collision() {} - void DoubleDeck::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = 0; } diff --git a/src/engine/courses/DoubleDeck.h b/src/engine/courses/DoubleDeck.h index d821187c8..2ebb5d9c3 100644 --- a/src/engine/courses/DoubleDeck.h +++ b/src/engine/courses/DoubleDeck.h @@ -27,16 +27,12 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void Destroy() override; }; diff --git a/src/engine/courses/FrappeSnowland.cpp b/src/engine/courses/FrappeSnowland.cpp index 7383946d1..16b9b7380 100644 --- a/src/engine/courses/FrappeSnowland.cpp +++ b/src/engine/courses/FrappeSnowland.cpp @@ -6,7 +6,7 @@ #include "FrappeSnowland.h" #include "World.h" #include "CoreMath.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Snowman.h" #include "assets/frappe_snowland_data.h" @@ -34,6 +34,7 @@ extern "C" { #include "memory.h" #include "update_objects.h" #include "course_offsets.h" + #include "course.h" extern const char *d_course_frappe_snowland_dl_list[]; extern s8 gPlayerCount; } @@ -51,16 +52,25 @@ FrappeSnowland::FrappeSnowland() { this->gfx = d_course_frappe_snowland_packed_dls; this->gfxSize = 4140; Props.textures = frappe_snowland_textures; - Props.MinimapTexture = gTextureCourseOutlineFrappeSnowland; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineFrappeSnowland; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 36; + Props.Minimap.PlayerY = 40; + Props.Minimap.PlayerScaleFactor = 0.016f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + Props.Minimap.Colour = {72, 100, 255}; + + Props.SetText(Props.Name, "frappe snowland", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "snow", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "734m", sizeof(Props.CourseLength)); - Props.Name = "frappe snowland"; - Props.DebugName = "snow"; - Props.CourseLength = "734m"; Props.AIBehaviour = D_0D0090F8; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 9.0f; @@ -100,8 +110,6 @@ FrappeSnowland::FrappeSnowland() { Props.Clouds = NULL; // not used for frappe Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {28, 11, 90}; Props.Skybox.BottomRight = {0, 99, 164}; @@ -112,14 +120,15 @@ FrappeSnowland::FrappeSnowland() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 99, 164}; Props.Sequence = MusicSeq::MUSIC_SEQ_FRAPPE_SNOWLAND; + + Props.WaterLevel = -50.0f; } void FrappeSnowland::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_frappe_snowland_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_frappe_snowland_addr)); func_80295C6C(); - D_8015F8E4 = -50.0f; } void FrappeSnowland::LoadTextures() { @@ -130,7 +139,7 @@ void FrappeSnowland::LoadTextures() { void FrappeSnowland::BeginPlay() { spawn_foliage((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_frappe_snowland_tree_spawns)); spawn_all_item_boxes((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_frappe_snowland_item_box_spawns)); - + if (gGamestate != CREDITS_SEQUENCE) { gWorldInstance.AddObject(new OSnowman(FVector(697, 0, -1684))); gWorldInstance.AddObject(new OSnowman(FVector(82, 0, -2245))); @@ -154,7 +163,7 @@ void FrappeSnowland::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 1, 0.8333333f)); @@ -186,17 +195,6 @@ void FrappeSnowland::UpdateClouds(s32 sp1C, Camera* camera) { func_80078170(sp1C, camera); } -// Likely sets minimap boundaries -void FrappeSnowland::MinimapSettings() { - D_8018D2C0[0] = 262; - D_8018D2A0 = 0.016f; - D_8018D2E0 = 36; - D_8018D2E8 = 40; - D_8018D300 = 72; - D_8018D308 = 100; - D_8018D310 = 255; -} - void FrappeSnowland::InitCourseObjects() { size_t objectId; size_t i; @@ -209,22 +207,6 @@ void FrappeSnowland::UpdateCourseObjects() { update_snowflakes(); } -void FrappeSnowland::RenderCourseObjects(s32 cameraId) { -} - -void FrappeSnowland::SomeSounds() { -} - -void FrappeSnowland::WhatDoesThisDo(Player* player, int8_t playerId) {} - -void FrappeSnowland::WhatDoesThisDoAI(Player* player, int8_t playerId) {} - -// Positions the finishline on the minimap -void FrappeSnowland::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void FrappeSnowland::Render(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -246,8 +228,6 @@ void FrappeSnowland::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_frappe_snowland_dl_76A0)); } -void FrappeSnowland::Collision() {} - void FrappeSnowland::Waypoints(Player* player, int8_t playerId) { s16 waypoint = gNearestWaypointByPlayerId[playerId]; @@ -260,7 +240,3 @@ void FrappeSnowland::Waypoints(Player* player, int8_t playerId) { } } } - -void FrappeSnowland::ScrollingTextures() {} - -void FrappeSnowland::Destroy() {} diff --git a/src/engine/courses/FrappeSnowland.h b/src/engine/courses/FrappeSnowland.h index 8ecbdbf46..8f01559a9 100644 --- a/src/engine/courses/FrappeSnowland.h +++ b/src/engine/courses/FrappeSnowland.h @@ -17,30 +17,18 @@ extern "C" { class FrappeSnowland : public Course { public: - virtual ~FrappeSnowland() = default; // Virtual destructor for proper cleanup in derived classes + virtual ~FrappeSnowland() = default; - // Constructor explicit FrappeSnowland(); -// virtual void Load(const char* courseVtx, -// course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; virtual void InitClouds() override; virtual void UpdateClouds(s32 sp1C, Camera* camera) override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; - virtual void RenderCourseObjects(s32 cameraId) override; - virtual void SomeSounds() override; - virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; - virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; - virtual void ScrollingTextures() override; virtual void Waypoints(Player* player, int8_t playerId) override; - virtual void Destroy() override; }; diff --git a/src/engine/courses/Harbour.cpp b/src/engine/courses/Harbour.cpp index a33f9f3b6..bd037754c 100644 --- a/src/engine/courses/Harbour.cpp +++ b/src/engine/courses/Harbour.cpp @@ -6,7 +6,7 @@ #include "Harbour.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/actors/BowserStatue.h" #include "engine/actors/Ship.h" #include "engine/actors/SpaghettiShip.h" @@ -16,8 +16,8 @@ #include "assets/mario_raceway_data.h" #include "assets/bowsers_castle_data.h" #include "assets/bowsers_castle_displaylists.h" -#include "engine/actors/ATree.h" -#include "engine/actors/ACloud.h" +#include "engine/actors/Tree.h" +#include "engine/actors/Cloud.h" #include "engine/vehicles/Train.h" #include "engine/objects/Trophy.h" #include "engine/objects/CheepCheep.h" @@ -28,6 +28,7 @@ #include "engine/objects/HotAirBalloon.h" #include "engine/objects/Crab.h" #include "engine/objects/Boos.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -50,12 +51,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "courses/harbour/track.h" - typedef struct { - Gfx* addr; - u8 surfaceType; - u8 sectionId; - u16 flags; - } TrackSections; + #include "course.h" } TrackWaypoint harbour_path[] = { @@ -518,27 +514,28 @@ TrackWaypoint harbour_path[] = { {13,-121,0,0}, {15,-121,-14,0}, {-32768, -32768, -32768, 0} - - - - }; Harbour::Harbour() { this->gfxSize = 100; this->textures = NULL; - Props.MinimapTexture = gTextureCourseOutlineMarioRaceway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineMarioRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 260; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 6; + Props.Minimap.PlayerY = 28; + Props.Minimap.PlayerScaleFactor = 0.022f; - Props.Id = "mk:harbour"; - Props.Name = "Harbour"; - Props.DebugName = "harbour"; - Props.CourseLength = "99m"; + Id = "mk:harbour"; + Props.SetText(Props.Name, "Harbour", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "harbour", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "99m", sizeof(Props.CourseLength)); Props.AIBehaviour = D_0D008F28; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCB34; Props.AISteeringSensitivity = 48; Props.NearPersp = 9.0f; @@ -576,10 +573,11 @@ Harbour::Harbour() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust5); Props.Clouds = gKalimariDesertClouds; Props.CloudList = gLuigiRacewayClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; Props.Skybox.TopRight = {120, 140, 188}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -601,6 +599,12 @@ TrackSections harbour_surfaces[] = { void Harbour::Load() { Course::Load(road_map_001_mesh_vtx_0, NULL); + // The light gets overridden in hm_intro, reset to normal + ground_f3d_material_013_lights = gdSPDefLights1( + 0x7F, 0x7F, 0x7F, + 0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49 + ); + generate_collision_mesh_with_default_section_id(ground_map_mesh, 8); generate_collision_mesh_with_default_section_id(road_map_001_mesh, 1); generate_collision_mesh_with_defaults(castle_map_002_mesh); @@ -608,9 +612,9 @@ void Harbour::Load() { generate_collision_mesh_with_defaults(bush_map_004_mesh); generate_collision_mesh_with_defaults(statue_map_005_mesh); - parse_course_displaylists((TrackSectionsI*)harbour_surfaces); + parse_course_displaylists((TrackSections*)harbour_surfaces); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void Harbour::LoadTextures() { @@ -726,7 +730,7 @@ void Harbour::BeginPlay() { // gWorldInstance.AddObject(new OCheepCheep(FVector(0, 40, 0), OCheepCheep::CheepType::RACE, IPathSpan(0, 10))); // gWorldInstance.AddObject(new OTrophy(FVector(0,0,0), OTrophy::TrophyType::GOLD, OTrophy::Behaviour::GO_FISH)); //gWorldInstance.AddObject(new OSnowman(FVector(0, 0, 0))); - //gWorldInstance.AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), FRotation(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); + //gWorldInstance.AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), IRotator(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); //gWorldInstance.AddObject(new OHedgehog(FVector(0, 0, 0), FVector2D(0, -200), 9)); //gWorldInstance.AddObject(new OFlagpole(FVector(0, 0, -200), 0x400)); @@ -750,34 +754,11 @@ void Harbour::BeginPlay() { // add_actor_to_empty_slot(itemPos, rot, vel, ACTOR_ITEM_BOX); // } // } - gWorldInstance.AddActor(new AShip(FVector(-1694, -111, 1451), AShip::Skin::GHOSTSHIP)); - gWorldInstance.AddActor(new AShip(FVector(2811, -83, 966), AShip::Skin::SHIP2)); - gWorldInstance.AddActor(new AShip(FVector(1526, -36, -2228), AShip::Skin::SHIP3)); - - - gWorldInstance.AddActor(new ASpaghettiShip(FVector(582, -70, -650))); - //gWorldInstance.AddActor(new ASpaghettiShip(FVector(2811, -83, 966 ))); - gWorldInstance.AddActor(new AStarship(FVector(1019, 160, 1987))); - + //gWorldInstance.AddActor(new AShip(FVector(-1694, -111, 1451), AShip::Skin::GHOSTSHIP)); + //gWorldInstance.AddActor(new AShip(FVector(2811, -83, 966), AShip::Skin::SHIP2)); + //gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(16, -136, -34))); } -// Likely sets minimap boundaries -void Harbour::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust5, 0x443, 0x1000)); - D_8018D2A0 = 0.022f; - D_8018D2E0 = 6; - D_8018D2E8 = 28; - D_8018D2C0[0] = 260; - D_8018D2D8[0] = 170; - D_80165718 = 0; - D_80165720 = 5; - D_80165728 = -240; -} - -void Harbour::InitCourseObjects() {} - -void Harbour::SomeSounds() {} - void Harbour::WhatDoesThisDo(Player* player, int8_t playerId) { if (((s16) gNearestWaypointByPlayerId[playerId] >= 0x19B) && ((s16) gNearestWaypointByPlayerId[playerId] < 0x1B9)) { @@ -808,16 +789,10 @@ void Harbour::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void Harbour::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void Harbour::Render(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -836,13 +811,6 @@ void Harbour::Render(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, moon_moon_mesh); } -void Harbour::RenderCredits() { -} - -void Harbour::Collision() {} - -void Harbour::Destroy() { } - bool Harbour::IsMod() { return true; } \ No newline at end of file diff --git a/src/engine/courses/Harbour.h b/src/engine/courses/Harbour.h index dadb78f5a..834154f84 100644 --- a/src/engine/courses/Harbour.h +++ b/src/engine/courses/Harbour.h @@ -27,15 +27,8 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; - virtual void InitCourseObjects() override; - virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; - virtual void RenderCredits() override; - virtual void Collision() override; - virtual void Destroy() override; virtual bool IsMod() override; }; diff --git a/src/engine/courses/KalimariDesert.cpp b/src/engine/courses/KalimariDesert.cpp index 133a38e08..8f4c3e893 100644 --- a/src/engine/courses/KalimariDesert.cpp +++ b/src/engine/courses/KalimariDesert.cpp @@ -5,7 +5,7 @@ #include "KalimariDesert.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "kalimari_desert_data.h" #include "engine/vehicles/Utils.h" @@ -32,6 +32,7 @@ extern "C" { #include "actors.h" #include "collision.h" #include "memory.h" + #include "course.h" extern const char *kalimari_desert_dls[]; } @@ -56,16 +57,24 @@ KalimariDesert::KalimariDesert() { this->gfx = d_course_kalimari_desert_packed_dls; this->gfxSize = 5328; Props.textures = kalimari_desert_textures; - Props.MinimapTexture = gTextureCourseOutlineKalimariDesert; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineKalimariDesert; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 263; + Props.Minimap.Pos[0].Y = 165; + Props.Minimap.PlayerX = 55; + Props.Minimap.PlayerY = 27; + Props.Minimap.PlayerScaleFactor = 0.015f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 4.0; + + Props.SetText(Props.Name, "kalimari desert", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "desert", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "753m", sizeof(Props.CourseLength)); - Props.Name = "kalimari desert"; - Props.DebugName = "desert"; - Props.CourseLength = "753m"; Props.AIBehaviour = D_0D009260; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 10.0f; @@ -103,10 +112,9 @@ KalimariDesert::KalimariDesert() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust5); Props.Clouds = gKalimariDesertClouds; Props.CloudList = gKalimariDesertClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {195, 231, 255}; Props.Skybox.BottomRight = {255, 192, 0}; @@ -122,9 +130,9 @@ KalimariDesert::KalimariDesert() { void KalimariDesert::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_kalimari_desert_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_kalimari_desert_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void KalimariDesert::LoadTextures() { @@ -202,7 +210,7 @@ void KalimariDesert::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][138], 138, 1, 0.8333333f)); @@ -215,16 +223,6 @@ void KalimariDesert::BeginPlay() { } } -// Likely sets minimap boundaries -void KalimariDesert::MinimapSettings() { - D_8018D2C0[0] = 263; - D_8018D2D8[0] = 165; - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust5, 0x443, 0x1000)); - D_8018D2A0 = 0.015f; - D_8018D2E0 = 55; - D_8018D2E8 = 27; -} - void KalimariDesert::InitCourseObjects() { size_t i; if (gGamestate != CREDITS_SEQUENCE) { @@ -248,14 +246,8 @@ void KalimariDesert::WhatDoesThisDo(Player* player, int8_t playerId) {} void KalimariDesert::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void KalimariDesert::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void KalimariDesert::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -291,6 +283,4 @@ void KalimariDesert::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_kalimari_desert_dl_22E00)); } -void KalimariDesert::Collision() {} - void KalimariDesert::Destroy() { } diff --git a/src/engine/courses/KalimariDesert.h b/src/engine/courses/KalimariDesert.h index 0a07fcbb3..fe8b21f23 100644 --- a/src/engine/courses/KalimariDesert.h +++ b/src/engine/courses/KalimariDesert.h @@ -29,15 +29,12 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Destroy() override; private: diff --git a/src/engine/courses/KoopaTroopaBeach.cpp b/src/engine/courses/KoopaTroopaBeach.cpp index 3fd22598a..fff1b7b55 100644 --- a/src/engine/courses/KoopaTroopaBeach.cpp +++ b/src/engine/courses/KoopaTroopaBeach.cpp @@ -6,7 +6,7 @@ #include "KoopaTroopaBeach.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Crab.h" #include "assets/koopa_troopa_beach_data.h" @@ -32,6 +32,7 @@ extern "C" { #include "collision.h" #include "code_8003DC40.h" #include "memory.h" + #include "course.h" extern const char *koopa_troopa_beach_dls[]; extern s8 gPlayerCount; } @@ -61,17 +62,25 @@ KoopaTroopaBeach::KoopaTroopaBeach() { this->gfx = d_course_koopa_troopa_beach_packed_dls; this->gfxSize = 5720; Props.textures = koopa_troopa_beach_textures; - Props.MinimapTexture = gTextureCourseOutlineKoopaTroopaBeach; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineKoopaTroopaBeach; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 268; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 40; + Props.Minimap.PlayerY = 21; + Props.Minimap.PlayerScaleFactor = 0.014f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Id = "mk:koopa_beach"; + Props.SetText(Props.Name, "koopa troopa beach", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "beach", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "691m", sizeof(Props.CourseLength)); - Props.Id = "mk:koopa_beach"; - Props.Name = "koopa troopa beach"; - Props.DebugName = "beach"; - Props.CourseLength = "691m"; Props.AIBehaviour = D_0D009158; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 1.0f; @@ -109,10 +118,9 @@ KoopaTroopaBeach::KoopaTroopaBeach() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust3); Props.Clouds = gKoopaTroopaBeachClouds; Props.CloudList = gKoopaTroopaBeachClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {48, 152, 120}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -123,12 +131,16 @@ KoopaTroopaBeach::KoopaTroopaBeach() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {48, 152, 120}; Props.Sequence = MusicSeq::MUSIC_SEQ_KOOPA_TROOPA_BEACH; + + Props.WaterLevel = 0.0f; + gWaterVelocity = -0.1f; + WaterVolumes.push_back({0.8f, 67.0f, 239.0f, 2233.0f, 2405.0f}); } void KoopaTroopaBeach::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_koopa_troopa_beach_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_koopa_troopa_beach_addr)); func_80295C6C(); find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x0700ADE0), -0x6A, 255, 255, 255); find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x0700A540), -0x6A, 255, 255, 255); @@ -172,7 +184,7 @@ void KoopaTroopaBeach::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][60], 60, 1, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][120], 120, 1, 0.8333333f)); @@ -184,15 +196,6 @@ void KoopaTroopaBeach::BeginPlay() { } } -// Likely sets minimap boundaries -void KoopaTroopaBeach::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust3, 0x3C8U, 0x1000)); - D_8018D2A0 = 0.014f; - D_8018D2C0[0] = 268; - D_8018D2E0 = 40; - D_8018D2E8 = 21; -} - void KoopaTroopaBeach::InitCourseObjects() { } @@ -228,12 +231,6 @@ void KoopaTroopaBeach::WhatDoesThisDo(Player* player, int8_t playerId) {} void KoopaTroopaBeach::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void KoopaTroopaBeach::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void KoopaTroopaBeach::Render(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -264,21 +261,20 @@ void KoopaTroopaBeach::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_koopa_troopa_beach_dl_18D68)); } -void KoopaTroopaBeach::Collision() {} - void KoopaTroopaBeach::SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003E37C(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } void KoopaTroopaBeach::ScrollingTextures() { // clang-format off - if (D_8015F8E8 < 0.0f) { - if (D_8015F8E4 < -20.0f) { D_8015F8E8 *= -1.0f; } + // This flips the velocity from 0.1f to -0.1f + if (gWaterVelocity < 0.0f) { + if (Props.WaterLevel < -20.0f) { gWaterVelocity *= -1.0f; } } else { - if (D_8015F8E4 > 0.0f) { D_8015F8E8 *= -1.0f; } + if (Props.WaterLevel > 0.0f) { gWaterVelocity *= -1.0f; } } // clang-format on - D_8015F8E4 += D_8015F8E8; + Props.WaterLevel += gWaterVelocity; D_802B87BC += 9; if (D_802B87BC > 255) { @@ -330,7 +326,7 @@ void KoopaTroopaBeach::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pat break; } vector[0] = 0.0f; - vector[1] = D_8015F8E4; + vector[1] = Props.WaterLevel; vector[2] = 0.0f; mtxf_translate(matrix, vector); render_set_position(matrix, 0); diff --git a/src/engine/courses/KoopaTroopaBeach.h b/src/engine/courses/KoopaTroopaBeach.h index 490dfe8ab..7ebd8bac8 100644 --- a/src/engine/courses/KoopaTroopaBeach.h +++ b/src/engine/courses/KoopaTroopaBeach.h @@ -30,17 +30,14 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; virtual void ScrollingTextures() override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) override; diff --git a/src/engine/courses/LuigiRaceway.cpp b/src/engine/courses/LuigiRaceway.cpp index 555af3212..e4ee857a3 100644 --- a/src/engine/courses/LuigiRaceway.cpp +++ b/src/engine/courses/LuigiRaceway.cpp @@ -8,7 +8,8 @@ #include "engine/objects/BombKart.h" #include "assets/luigi_raceway_data.h" #include "engine/objects/HotAirBalloon.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -34,6 +35,7 @@ extern "C" { #include "courses/staff_ghost_data.h" #include "framebuffer_effects.h" #include "skybox_and_splitscreen.h" +#include "course.h" extern const char* luigi_raceway_dls[]; extern s16 currentScreenSection; } @@ -87,17 +89,25 @@ LuigiRaceway::LuigiRaceway() { this->gfx = d_course_luigi_raceway_packed_dls; this->gfxSize = 6377; Props.textures = luigi_raceway_textures; - Props.MinimapTexture = gTextureCourseOutlineLuigiRaceway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineLuigiRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 271; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 45; + Props.Minimap.PlayerY = 60; + Props.Minimap.PlayerScaleFactor = 0.0155f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Id = "mk:luigi_raceway"; + Props.SetText(Props.Name, "luigi raceway", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "l circuit", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "717m", sizeof(Props.CourseLength)); - Props.Id = "mk:luigi_raceway"; - Props.Name = "luigi raceway"; - Props.DebugName = "l circuit"; - Props.CourseLength = "717m"; Props.AIBehaviour = D_0D0091E8; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.7f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 48; Props.NearPersp = 9.0f; @@ -135,10 +145,9 @@ LuigiRaceway::LuigiRaceway() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*)LOAD_ASSET_RAW(gTextureExhaust2); Props.Clouds = gLuigiRacewayClouds; Props.CloudList = gLuigiRacewayClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = { 128, 184, 248 }; Props.Skybox.BottomRight = { 216, 232, 248 }; @@ -154,9 +163,9 @@ LuigiRaceway::LuigiRaceway() { void LuigiRaceway::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*) LOAD_ASSET_RAW(d_course_luigi_raceway_addr)); + parse_course_displaylists((TrackSections*) LOAD_ASSET_RAW(d_course_luigi_raceway_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void LuigiRaceway::LoadTextures() { @@ -172,10 +181,11 @@ void LuigiRaceway::BeginPlay() { gWorldInstance.AddObject(new OHotAirBalloon(FVector(-1250.0f, 0.0f, 1110.0f))); } else { // Normal gameplay gWorldInstance.AddObject(new OHotAirBalloon(FVector(-176.0, 0.0f, -2323.0f))); + gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(-140, -44, -215))); } if (gModeSelection == VERSUS) { - Vec3f pos = { 0, 0, 0 }; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 1, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][200], 200, 3, 0.8333333f)); @@ -187,38 +197,15 @@ void LuigiRaceway::BeginPlay() { } } -// Likely sets minimap boundaries -void LuigiRaceway::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust2, 0x4F4U, 0xC00)); - D_8018D2A0 = 0.0155f; - D_8018D2C0[0] = 271; - D_8018D2E0 = 45; - D_8018D2E8 = 60; - D_80165718 = -140; - D_80165720 = -44; - D_80165728 = -215; -} - void LuigiRaceway::InitCourseObjects() { size_t i; if (gGamestate != CREDITS_SEQUENCE) { if (gModeSelection == GRAND_PRIX) { func_80070714(); } - - for (i = 0; i < D_80165738; i++) { - find_unused_obj_index(&gObjectParticle3[i]); - init_object(gObjectParticle3[i], 0); - } } } -void LuigiRaceway::UpdateCourseObjects() { -} - -void LuigiRaceway::RenderCourseObjects(s32 cameraId) { -} - void LuigiRaceway::SomeSounds() { vec3f_set(D_8015F748, 85.0f, 21.0f, -219.0f); func_800C9D80(D_8015F748, D_802B91C8, 0x5103700B); @@ -252,13 +239,6 @@ void LuigiRaceway::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void LuigiRaceway::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, - (u8*) common_texture_minimap_finish_line); -} - void LuigiRaceway::SetStaffGhost() { u32 temp_v0 = func_800B4E24(0) & 0xfffff; if (temp_v0 <= 11200) { @@ -444,13 +424,7 @@ void LuigiRaceway::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*) (d_course_luigi_raceway_dl_FD40)); } -void LuigiRaceway::Collision() { -} - void LuigiRaceway::SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003E9EC(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); } - -void LuigiRaceway::Destroy() { -} diff --git a/src/engine/courses/LuigiRaceway.h b/src/engine/courses/LuigiRaceway.h index c5e089d81..48a7d8c08 100644 --- a/src/engine/courses/LuigiRaceway.h +++ b/src/engine/courses/LuigiRaceway.h @@ -29,19 +29,13 @@ class LuigiRaceway : public Course { virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; - virtual void UpdateCourseObjects() override; - virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void SetStaffGhost() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; - virtual void Destroy() override; }; diff --git a/src/engine/courses/MarioRaceway.cpp b/src/engine/courses/MarioRaceway.cpp index e3b9bba21..50af0d890 100644 --- a/src/engine/courses/MarioRaceway.cpp +++ b/src/engine/courses/MarioRaceway.cpp @@ -5,9 +5,10 @@ #include "MarioRaceway.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/Object.h" #include "engine/objects/BombKart.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -31,6 +32,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "courses/staff_ghost_data.h" + #include "course.h" extern const char *mario_raceway_dls[]; } @@ -72,19 +74,28 @@ MarioRaceway::MarioRaceway() { this->vtx = d_course_mario_raceway_vertex; this->gfx = d_course_mario_raceway_packed_dls; this->gfxSize = 3367; - Props.textures = mario_raceway_textures; - Props.MinimapTexture = gTextureCourseOutlineMarioRaceway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); - Props.Id = "mk:mario_raceway"; - Props.Name = "Mario Raceway"; - Props.DebugName = "m circuit"; - Props.CourseLength = "567m"; + Props.textures = mario_raceway_textures; + Props.Minimap.Texture = gTextureCourseOutlineMarioRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 260; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 6; + Props.Minimap.PlayerY = 28; + Props.Minimap.PlayerScaleFactor = 0.022f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = -2.0; + + Id = "mk:mario_raceway"; + Props.SetText(Props.Name, "mario raceway", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "m circuit", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "567m", sizeof(Props.CourseLength)); Props.AIBehaviour = D_0D008F28; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCB34; + Props.AIDistance = gMarioRacewayAIDistances; Props.AISteeringSensitivity = 48; Props.NearPersp = 9.0f; @@ -122,10 +133,9 @@ MarioRaceway::MarioRaceway() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (uint8_t*) LOAD_ASSET_RAW(gTextureExhaust5); Props.Clouds = gKalimariDesertClouds; Props.CloudList = gLuigiRacewayClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 184, 248}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -156,9 +166,9 @@ void MarioRaceway::Load() { } } - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_mario_raceway_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_mario_raceway_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void MarioRaceway::LoadTextures() { @@ -191,7 +201,7 @@ void MarioRaceway::BeginPlay() { add_actor_to_empty_slot(position, rotation, velocity, ACTOR_MARIO_SIGN); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][40], 40, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][265], 265, 3, 0.8333333f)); @@ -200,19 +210,10 @@ void MarioRaceway::BeginPlay() { gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][0], 0, 0, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][0], 0, 0, 0.8333333f)); } -} -// Likely sets minimap boundaries -void MarioRaceway::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust5, 0x443, 0x1000)); - D_8018D2A0 = 0.022f; - D_8018D2E0 = 6; - D_8018D2E8 = 28; - D_8018D2C0[0] = 260; - D_8018D2D8[0] = 170; - D_80165718 = 0; - D_80165720 = 5; - D_80165728 = -240; + if (gGamestate != CREDITS_SEQUENCE) { + gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(0, 5, -240))); + } } void MarioRaceway::InitCourseObjects() { @@ -220,10 +221,6 @@ void MarioRaceway::InitCourseObjects() { if (gModeSelection == GRAND_PRIX) { func_80070714(); } - for (size_t i = 0; i < D_80165738; i++) { - find_unused_obj_index(&gObjectParticle3[i]); - init_object(gObjectParticle3[i], 0); - } } } @@ -262,12 +259,6 @@ void MarioRaceway::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void MarioRaceway::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void MarioRaceway::SetStaffGhost() { u32 temp_v0 = func_800B4E24(0) & 0xfffff; if (temp_v0 <= 9000) { @@ -390,8 +381,6 @@ void MarioRaceway::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_mario_raceway_dl_9348)); } -void MarioRaceway::Collision() {} - void MarioRaceway::CreditsSpawnActors() { dma_textures(gTextureTrees1, 0x35B, 0x800); spawn_foliage((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_mario_raceway_tree_spawns)); diff --git a/src/engine/courses/MarioRaceway.h b/src/engine/courses/MarioRaceway.h index a91226dbe..e237f1538 100644 --- a/src/engine/courses/MarioRaceway.h +++ b/src/engine/courses/MarioRaceway.h @@ -27,16 +27,13 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void SetStaffGhost() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void CreditsSpawnActors() override; virtual void Destroy() override; }; diff --git a/src/engine/courses/MooMooFarm.cpp b/src/engine/courses/MooMooFarm.cpp index cf83a920d..304ad2210 100644 --- a/src/engine/courses/MooMooFarm.cpp +++ b/src/engine/courses/MooMooFarm.cpp @@ -5,7 +5,7 @@ #include "MooMooFarm.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/moo_moo_farm_data.h" #include "engine/objects/MoleGroup.h" @@ -32,6 +32,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "code_80086E70.h" + #include "course.h" extern const char *moo_moo_farm_dls[]; extern s16 currentScreenSection; extern s8 gPlayerCount; @@ -74,16 +75,24 @@ MooMooFarm::MooMooFarm() { this->gfx = d_course_moo_moo_farm_packed_dls; this->gfxSize = 3304; Props.textures = moo_moo_farm_textures; - Props.MinimapTexture = gTextureCourseOutlineMooMooFarm; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineMooMooFarm; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 271; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 18; + Props.Minimap.PlayerY = 36; + Props.Minimap.PlayerScaleFactor = 0.0155f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "moo moo farm", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "farm", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "527m", sizeof(Props.CourseLength)); - Props.Name = "moo moo farm"; - Props.DebugName = "farm"; - Props.CourseLength = "527m"; Props.AIBehaviour = D_0D009210; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 48; Props.NearPersp = 9.0f; @@ -121,10 +130,9 @@ MooMooFarm::MooMooFarm() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust0); Props.Clouds = gYoshiValleyMooMooFarmClouds; Props.CloudList = gYoshiValleyMooMooFarmClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 18, 255}; Props.Skybox.BottomRight = {197, 211, 255}; @@ -140,9 +148,9 @@ MooMooFarm::MooMooFarm() { void MooMooFarm::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_moo_moo_farm_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_moo_moo_farm_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void MooMooFarm::LoadTextures() { @@ -311,7 +319,7 @@ void MooMooFarm::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][140], 140, 3, 0.8333333f)); @@ -323,15 +331,6 @@ void MooMooFarm::BeginPlay() { } } -// Likely sets minimap boundaries -void MooMooFarm::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust0, 0x479, 0xC00)); - D_8018D2A0 = 0.0155f; - D_8018D2C0[0] = 271; - D_8018D2E0 = 18; - D_8018D2E8 = 36; -} - void MooMooFarm::WhatDoesThisDo(Player* player, int8_t playerId) { if (((s16) gNearestWaypointByPlayerId[playerId] >= 0x145) && ((s16) gNearestWaypointByPlayerId[playerId] < 0x18B)) { @@ -362,17 +361,11 @@ void MooMooFarm::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void MooMooFarm::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void MooMooFarm::Render(struct UnkStruct_800DC5EC* arg0) { s16 temp_s0 = arg0->pathCounter; s16 temp_s1 = arg0->playerDirection; - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -445,8 +438,6 @@ void MooMooFarm::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_moo_moo_farm_dl_14088)); } -void MooMooFarm::Collision() {} - void MooMooFarm::CreditsSpawnActors() { dma_textures(gTextureTrees4Left, 0x3E8, 0x800); dma_textures(gTextureTrees4Right, 0x3E8, 0x800); diff --git a/src/engine/courses/MooMooFarm.h b/src/engine/courses/MooMooFarm.h index 8b8b1b811..3c18e5024 100644 --- a/src/engine/courses/MooMooFarm.h +++ b/src/engine/courses/MooMooFarm.h @@ -30,13 +30,10 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void CreditsSpawnActors() override; virtual void Destroy() override; }; diff --git a/src/engine/courses/PodiumCeremony.cpp b/src/engine/courses/PodiumCeremony.cpp index 637dbc5d3..a4c01f588 100644 --- a/src/engine/courses/PodiumCeremony.cpp +++ b/src/engine/courses/PodiumCeremony.cpp @@ -12,6 +12,7 @@ #include "engine/objects/Podium.h" #include "engine/objects/CheepCheep.h" #include "engine/particles/StarEmitter.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -35,6 +36,7 @@ extern "C" { #include "memory.h" #include "courses/staff_ghost_data.h" #include "podium_ceremony_actors.h" + #include "course.h" extern const char *royal_raceway_dls[]; } @@ -90,15 +92,23 @@ PodiumCeremony::PodiumCeremony() { this->gfx = d_course_royal_raceway_packed_dls; this->gfxSize = 5670; Props.textures = podium_ceremony_textures; - Props.MinimapDimensions = IVector2D(0, 0); + Props.Minimap.Width = 0; + Props.Minimap.Height = 0; + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 37; + Props.Minimap.PlayerY = 50; + Props.Minimap.PlayerScaleFactor = 0.014f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "royal raceway", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "p circuit", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "1025m", sizeof(Props.CourseLength)); - Props.Name = "royal raceway"; - Props.DebugName = "p circuit"; - Props.CourseLength = "1025m"; Props.AIBehaviour = D_0D009188; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.4f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.PathSizes = {500, 500, 500, 500, 1, 0, 0, 0, 0, 0, 0}; @@ -133,10 +143,9 @@ PodiumCeremony::PodiumCeremony() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust4); Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {238, 144, 255}; Props.Skybox.BottomRight = {255, 224, 240}; @@ -147,14 +156,15 @@ PodiumCeremony::PodiumCeremony() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {255, 224, 240}; Props.Sequence = MusicSeq::MUSIC_SEQ_UNKNOWN; + + Props.WaterLevel = -60.0f; } void PodiumCeremony::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_royal_raceway_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_royal_raceway_addr)); func_80295C6C(); - D_8015F8E4 = -60.0f; } void PodiumCeremony::LoadTextures() { @@ -189,7 +199,7 @@ void PodiumCeremony::BeginPlay() { OTrophy* trophy = reinterpret_cast(gWorldInstance.AddObject(new OTrophy(pos, type, OTrophy::Behaviour::PODIUM_CEREMONY))); - Vec3f kart = {0, 0, 0}; + FVector kart = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][3], 3, 5, 1.25f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][40], 40, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][60], 60, 0, 1.0f)); @@ -197,18 +207,10 @@ void PodiumCeremony::BeginPlay() { gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][100], 100, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][120], 120, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[3][140], 140, 0, 1.0f)); -} -// Likely sets minimap boundaries -void PodiumCeremony::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust4, 0x3F8, 0x1000)); - D_8018D2C0[0] = 262; - D_8018D2A0 = 0.014f; - D_8018D2E0 = 37; - D_8018D2E8 = 50; - D_80165718 = -64; - D_80165720 = 5; - D_80165728 = -330; + if (gGamestate != CREDITS_SEQUENCE) { + gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(-64, 5, -330))); + } } void PodiumCeremony::InitCourseObjects() { @@ -217,10 +219,6 @@ void PodiumCeremony::InitCourseObjects() { if (gModeSelection == GRAND_PRIX) { func_80070714(); } - for (i = 0; i < D_80165738; i++) { - find_unused_obj_index(&gObjectParticle3[i]); - init_object(gObjectParticle3[i], 0); - } } } @@ -257,12 +255,6 @@ void PodiumCeremony::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void PodiumCeremony::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void PodiumCeremony::Render(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -296,6 +288,4 @@ void PodiumCeremony::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_royal_raceway_dl_D8E8)); } -void PodiumCeremony::Collision() {} - void PodiumCeremony::Destroy() { } diff --git a/src/engine/courses/PodiumCeremony.h b/src/engine/courses/PodiumCeremony.h index 140d95889..6026d7f9f 100644 --- a/src/engine/courses/PodiumCeremony.h +++ b/src/engine/courses/PodiumCeremony.h @@ -29,14 +29,11 @@ public: virtual void LoadTextures() override; virtual void BeginPlay() override; //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Destroy() override; }; diff --git a/src/engine/courses/RainbowRoad.cpp b/src/engine/courses/RainbowRoad.cpp index 11ca643b8..7c60d3af3 100644 --- a/src/engine/courses/RainbowRoad.cpp +++ b/src/engine/courses/RainbowRoad.cpp @@ -5,7 +5,7 @@ #include "RainbowRoad.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/ChainChomp.h" #include "engine/objects/BombKart.h" #include "assets/rainbow_road_data.h" @@ -30,6 +30,7 @@ extern "C" { #include "actors.h" #include "collision.h" #include "memory.h" + #include "course.h" extern const char *rainbow_road_dls[]; } @@ -48,16 +49,24 @@ RainbowRoad::RainbowRoad() { this->gfx = d_course_rainbow_road_packed_dls; this->gfxSize = 5670; Props.textures = rainbow_road_textures; - Props.MinimapTexture = gTextureCourseOutlineRainbowRoad; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineRainbowRoad; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 261; + Props.Minimap.Pos[0].Y = 166; + Props.Minimap.PlayerX = 39; + Props.Minimap.PlayerY = 55; + Props.Minimap.PlayerScaleFactor = 0.0103f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "rainbow road", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "rainbow", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "2000m", sizeof(Props.CourseLength)); - Props.Name = "rainbow road"; - Props.DebugName = "rainbow"; - Props.CourseLength = "2000m"; Props.AIBehaviour = D_0D0092C8; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.4f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 38; Props.NearPersp = 2.0f; @@ -97,8 +106,6 @@ RainbowRoad::RainbowRoad() { Props.Clouds = gToadsTurnpikeRainbowRoadStars; Props.CloudList = gToadsTurnpikeRainbowRoadStars; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 0, 0}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -109,15 +116,16 @@ RainbowRoad::RainbowRoad() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_RAINBOW_ROAD; + + Props.WaterLevel = 0.0f; } void RainbowRoad::Load() { Course::Load(); D_800DC5C8 = 1; - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_rainbow_road_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_rainbow_road_addr)); func_80295C6C(); - D_8015F8E4 = 0.0f; // d_course_rainbow_road_packed_dl_2068 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07002068), -0x6A, 255, 255, 255); // d_course_rainbow_road_packed_dl_1E18 @@ -147,7 +155,7 @@ void RainbowRoad::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 1, 0.8333333f)); @@ -167,15 +175,6 @@ void RainbowRoad::UpdateClouds(s32 sp1C, Camera* camera) { update_stars(sp1C, camera, this->Props.CloudList); } -// Likely sets minimap boundaries -void RainbowRoad::MinimapSettings() { - D_8018D2A0 = 0.0103f; - D_8018D2C0[0] = 261; - D_8018D2D8[0] = 166; - D_8018D2E0 = 39; - D_8018D2E8 = 55; -} - void RainbowRoad::InitCourseObjects() { if (gGamestate != CREDITS_SEQUENCE) { size_t i; @@ -206,12 +205,6 @@ void RainbowRoad::WhatDoesThisDo(Player* player, int8_t playerId) {} void RainbowRoad::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void RainbowRoad::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void RainbowRoad::Render(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -224,8 +217,6 @@ void RainbowRoad::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_rainbow_road_dl_16220)); } -void RainbowRoad::Collision() {} - void RainbowRoad::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = gCopyNearestWaypointByPlayerId[playerId]; } diff --git a/src/engine/courses/RainbowRoad.h b/src/engine/courses/RainbowRoad.h index e5262f170..282655ace 100644 --- a/src/engine/courses/RainbowRoad.h +++ b/src/engine/courses/RainbowRoad.h @@ -29,17 +29,14 @@ public: virtual void BeginPlay() override; virtual void InitClouds() override; virtual void UpdateClouds(s32, Camera*) override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) override; virtual void CreditsSpawnActors() override; diff --git a/src/engine/courses/RoyalRaceway.cpp b/src/engine/courses/RoyalRaceway.cpp index 7ff7579ff..849087c3f 100644 --- a/src/engine/courses/RoyalRaceway.cpp +++ b/src/engine/courses/RoyalRaceway.cpp @@ -5,9 +5,10 @@ #include "RoyalRaceway.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/royal_raceway_data.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -30,6 +31,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "courses/staff_ghost_data.h" + #include "course.h" extern const char *royal_raceway_dls[]; } @@ -85,16 +87,24 @@ RoyalRaceway::RoyalRaceway() { this->gfx = d_course_royal_raceway_packed_dls; this->gfxSize = 5670; Props.textures = royal_raceway_textures; - Props.MinimapTexture = gTextureCourseOutlineRoyalRaceway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineRoyalRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 37; + Props.Minimap.PlayerY = 50; + Props.Minimap.PlayerScaleFactor = 0.014f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "royal raceway", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "p circuit", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "1025m", sizeof(Props.CourseLength)); - Props.Name = "royal raceway"; - Props.DebugName = "p circuit"; - Props.CourseLength = "1025m"; Props.AIBehaviour = D_0D009188; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.4f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 9.0f; @@ -132,10 +142,9 @@ RoyalRaceway::RoyalRaceway() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust4); Props.Clouds = gRoyalRacewayClouds; Props.CloudList = gRoyalRacewayClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {238, 144, 255}; Props.Skybox.BottomRight = {255, 224, 240}; @@ -146,14 +155,15 @@ RoyalRaceway::RoyalRaceway() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {255, 224, 240}; Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM; + + Props.WaterLevel = -60.0f; } void RoyalRaceway::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_royal_raceway_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_royal_raceway_addr)); func_80295C6C(); - D_8015F8E4 = -60.0f; } void RoyalRaceway::LoadTextures() { @@ -176,7 +186,7 @@ void RoyalRaceway::BeginPlay() { spawn_piranha_plants((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_royal_raceway_piranha_plant_spawn)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 3, 0.8333333f)); @@ -186,18 +196,9 @@ void RoyalRaceway::BeginPlay() { gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][0], 0, 0, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][0], 0, 0, 0.8333333f)); } -} - -// Likely sets minimap boundaries -void RoyalRaceway::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust4, 0x3F8, 0x1000)); - D_8018D2C0[0] = 262; - D_8018D2A0 = 0.014f; - D_8018D2E0 = 37; - D_8018D2E8 = 50; - D_80165718 = -64; - D_80165720 = 5; - D_80165728 = -330; + if (gGamestate != CREDITS_SEQUENCE) { + gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(-64, 5, -330))); + } } void RoyalRaceway::InitCourseObjects() { @@ -206,16 +207,9 @@ void RoyalRaceway::InitCourseObjects() { if (gModeSelection == GRAND_PRIX) { func_80070714(); } - for (i = 0; i < D_80165738; i++) { - find_unused_obj_index(&gObjectParticle3[i]); - init_object(gObjectParticle3[i], 0); - } } } -void RoyalRaceway::SomeSounds() { -} - void RoyalRaceway::WhatDoesThisDo(Player* player, int8_t playerId) { if (((s16) gNearestWaypointByPlayerId[playerId] >= 0x180) && ((s16) gNearestWaypointByPlayerId[playerId] < 0x1E1)) { @@ -246,12 +240,6 @@ void RoyalRaceway::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void RoyalRaceway::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void RoyalRaceway::SetStaffGhost() { u32 temp_v0 = func_800B4E24(0) & 0xfffff; if (temp_v0 <= 16000) { @@ -298,8 +286,6 @@ void RoyalRaceway::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_royal_raceway_dl_D8E8)); } -void RoyalRaceway::Collision() {} - void RoyalRaceway::Waypoints(Player* player, int8_t playerId) { s16 waypoint = gNearestWaypointByPlayerId[playerId]; if ((waypoint >= 0x258) && (waypoint < 0x2A4)) { @@ -322,5 +308,3 @@ void RoyalRaceway::ScrollingTextures() { // d_course_royal_raceway_packed_dl_A648 find_and_set_tile_size((uintptr_t) segmented_gfx_to_virtual((void*)0x0700A648), 0, D_802B87BC); } - -void RoyalRaceway::Destroy() { } diff --git a/src/engine/courses/RoyalRaceway.h b/src/engine/courses/RoyalRaceway.h index 2a3095bc8..7fe973edd 100644 --- a/src/engine/courses/RoyalRaceway.h +++ b/src/engine/courses/RoyalRaceway.h @@ -27,17 +27,12 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; - virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void SetStaffGhost() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void ScrollingTextures() override; virtual void Waypoints(Player* player, int8_t playerId) override; - virtual void Destroy() override; }; diff --git a/src/engine/courses/SherbetLand.cpp b/src/engine/courses/SherbetLand.cpp index a452d2c03..7eb7e958c 100644 --- a/src/engine/courses/SherbetLand.cpp +++ b/src/engine/courses/SherbetLand.cpp @@ -5,7 +5,7 @@ #include "SherbetLand.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "assets/sherbet_land_data.h" #include "engine/objects/Penguin.h" @@ -30,6 +30,7 @@ extern "C" { #include "actors.h" #include "collision.h" #include "memory.h" + #include "course.h" extern const char *sherbet_land_dls[]; extern const char *sherbet_land_dls_2[]; } @@ -48,19 +49,27 @@ SherbetLand::SherbetLand() { this->gfx = d_course_sherbet_land_packed_dls; this->gfxSize = 1803; Props.textures = sherbet_land_textures; - Props.MinimapTexture = gTextureCourseOutlineSherbetLand; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineSherbetLand; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 52; + Props.Minimap.PlayerY = 33; + Props.Minimap.PlayerScaleFactor = 0.015f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + Props.Minimap.Colour = {72, 100, 255}; - Props.Name = "sherbet land"; - Props.DebugName = "sherbet"; - Props.CourseLength = "756m"; + Props.SetText(Props.Name, "sherbet land", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "sherbet", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "756m", sizeof(Props.CourseLength)); Props.LakituTowType = (s32)OLakitu::LakituTowType::ICE; Props.AIBehaviour = D_0D009280; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 9.0f; @@ -98,10 +107,9 @@ SherbetLand::SherbetLand() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust1); Props.Clouds = gSherbetLandClouds; Props.CloudList = gSherbetLandClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {128, 184, 248}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -112,21 +120,26 @@ SherbetLand::SherbetLand() { Props.Skybox.FloorBottomLeft = {128, 184, 248}; Props.Skybox.FloorTopLeft = {216, 232, 248}; Props.Sequence = MusicSeq::MUSIC_SEQ_FRAPPE_SNOWLAND; + + Props.WaterLevel = -18.0f; } void SherbetLand::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_sherbet_land_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_sherbet_land_addr)); func_80295C6C(); - D_8015F8E4 = -18.0f; // d_course_sherbet_land_packed_dl_1EB8 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07001EB8), -0x4C, 255, 255, 255); // d_course_sherbet_land_packed_dl_2308 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07002308), -0x6A, 255, 255, 255); } -void SherbetLand::LoadTextures() { +f32 SherbetLand::GetWaterLevel(FVector pos, Collision* collision) { + if ((get_surface_type(collision->meshIndexZX) & 0xFF) == SNOW) { + return (f32) (gCourseMinY - 0xA); + } + return Props.WaterLevel; } void SherbetLand::BeginPlay() { @@ -134,65 +147,65 @@ void SherbetLand::BeginPlay() { // Multiplayer does not spawn the big penguin // if (gPlayerCountSelection1 == 1) { - Vec3f pos = {-383.0f, 2.0f, -690.0f}; + FVector pos = {-383.0f, 2.0f, -690.0f}; gWorldInstance.AddObject(new OPenguin(pos, 0, OPenguin::PenguinType::EMPEROR, OPenguin::Behaviour::STRUT)); // } - Vec3f pos2 = {-2960.0f, -80.0f, 1521.0f}; + FVector pos2 = { -2960.0f, -80.0f, 1521.0f }; auto penguin = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos2, 0x150, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); auto penguin2 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos2, 0x150, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); penguin->Diameter = penguin2->Diameter = 100.0f; - Vec3f pos3 = {-2490.0f, -80.0f, 1612.0f}; + FVector pos3 = { -2490.0f, -80.0f, 1612.0f }; auto penguin3 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos3, 0x100, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); auto penguin4 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos3, 0x100, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); penguin3->Diameter = penguin4->Diameter = 80.0f; - Vec3f pos4 = {-2098.0f, -80.0f, 1624.0f}; + FVector pos4 = { -2098.0f, -80.0f, 1624.0f }; auto penguin5 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos4, 0xFF00, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); auto penguin6 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos4, 0xFF00, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); penguin5->Diameter = penguin6->Diameter = 80.0f; - Vec3f pos5 = {-2080.0f, -80.0f, 1171.0f}; + FVector pos5 = { -2080.0f, -80.0f, 1171.0f }; auto penguin7 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos5, 0x150, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); auto penguin8 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos5, 0x150, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE))); penguin7->Diameter = penguin8->Diameter = 80.0f; if (gGamestate == CREDITS_SEQUENCE) { - Vec3f pos6 = {380.0, 0.0f, -535.0f}; + FVector pos6 = { 380.0, 0.0f, -535.0f }; auto penguin9 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos6, 0x9000, OPenguin::PenguinType::CREDITS, OPenguin::Behaviour::SLIDE3))); penguin9->MirrorModeAngleOffset = -0x4000; } else { - Vec3f pos6 = {146.0f, 0.0f, -380.0f}; + FVector pos6 = { 146.0f, 0.0f, -380.0f }; auto penguin9 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos6, 0x9000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE3))); penguin9->MirrorModeAngleOffset = -0x4000; } - Vec3f pos7 = {380.0f, 0.0f, -766.0f}; + FVector pos7 = { 380.0f, 0.0f, -766.0f }; auto penguin10 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos7, 0x5000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE4))); penguin10->MirrorModeAngleOffset = 0x8000; - Vec3f pos8 = {-2300.0f, 0.0f, -210.0f}; + FVector pos8 = { -2300.0f, 0.0f, -210.0f }; auto penguin11 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos8, 0xC000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE6))); penguin11->MirrorModeAngleOffset = 0x8000; - Vec3f pos9 = {-2500.0f, 0.0f, -250.0f}; + FVector pos9 = { -2500.0f, 0.0f, -250.0f }; auto penguin12 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos9, 0x4000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE6))); penguin12->MirrorModeAngleOffset = 0x8000; - Vec3f pos10 = {-535.0f, 0.0f, 875.0f}; + FVector pos10 = { -535.0f, 0.0f, 875.0f }; auto penguin13 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos10, 0x8000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE6))); penguin13->MirrorModeAngleOffset = -0x4000; - Vec3f pos11 = {-250.0f, 0.0f, 953.0f}; + FVector pos11 = { -250.0f, 0.0f, 953.0f }; auto penguin14 = reinterpret_cast(gWorldInstance.AddObject(new OPenguin(pos11, 0x9000, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE6))); penguin14->MirrorModeAngleOffset = -0x4000; if (gGamestate != CREDITS_SEQUENCE) { if (gModeSelection == VERSUS) { - Vec3f kart = {0, 0, 0}; + FVector kart = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[0][100], 100, 1, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(kart, &D_80164550[0][150], 150, 3, 0.8333333f)); @@ -204,21 +217,6 @@ void SherbetLand::BeginPlay() { } } -// Likely sets minimap boundaries -void SherbetLand::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust1, 0x485, 0xC00)); - D_8018D2A0 = 0.015f; - D_8018D2C0[0] = 262; - D_8018D2E0 = 52; - D_8018D2E8 = 33; - D_8018D300 = 72; - D_8018D308 = 100; - D_8018D310 = 255; -} - -void SherbetLand::InitCourseObjects() { -} - void SherbetLand::UpdateCourseObjects() { if (gGamestate != CREDITS_SEQUENCE) { func_800842C8(); @@ -231,19 +229,6 @@ void SherbetLand::RenderCourseObjects(s32 cameraId) { } } -void SherbetLand::SomeSounds() { -} - -void SherbetLand::WhatDoesThisDo(Player* player, int8_t playerId) {} - -void SherbetLand::WhatDoesThisDoAI(Player* player, int8_t playerId) {} - -// Positions the finishline on the minimap -void SherbetLand::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void SherbetLand::Render(struct UnkStruct_800DC5EC* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -257,8 +242,6 @@ void SherbetLand::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_sherbet_land_dl_9AE8)); } -void SherbetLand::Collision() {} - void SherbetLand::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) { Mat4 matrix; @@ -275,7 +258,7 @@ void SherbetLand::DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCoun render_course_segments(sherbet_land_dls_2, screen); gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE); - if ((func_80290C20(screen->camera) == 1) && (func_802AAB4C(screen->player) < screen->player->pos[1])) { + if ((func_80290C20(screen->camera) == 1) && (get_water_level(screen->player) < screen->player->pos[1])) { gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER); gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); @@ -291,5 +274,3 @@ void SherbetLand::CreditsSpawnActors() { // d_course_sherbet_land_packed_dl_2308 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*)0x07002308), -0x6A, 0xFF, 0xFF, 0xFF); } - -void SherbetLand::Destroy() { } diff --git a/src/engine/courses/SherbetLand.h b/src/engine/courses/SherbetLand.h index 13e41e592..eb62e2807 100644 --- a/src/engine/courses/SherbetLand.h +++ b/src/engine/courses/SherbetLand.h @@ -25,20 +25,12 @@ public: // virtual void Load(const char* courseVtx, // course_texture* textures, const char* displaylists, size_t dlSize); virtual void Load() override; - virtual void LoadTextures() override; + virtual f32 GetWaterLevel(FVector pos, Collision* collision) override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; - virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; - virtual void SomeSounds() override; - virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; - virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, uint16_t playerDirection) override; virtual void CreditsSpawnActors() override; - virtual void Destroy() override; }; diff --git a/src/engine/courses/Skyscraper.cpp b/src/engine/courses/Skyscraper.cpp index abf622ae2..4c165a787 100644 --- a/src/engine/courses/Skyscraper.cpp +++ b/src/engine/courses/Skyscraper.cpp @@ -64,16 +64,24 @@ Skyscraper::Skyscraper() { this->gfx = d_course_skyscraper_packed_dls; this->gfxSize = 548; Props.textures = skyscraper_textures; - Props.MinimapTexture = gTextureCourseOutlineSkyscraper; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineSkyscraper; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 257; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 32; + Props.Minimap.PlayerY = 32; + Props.Minimap.PlayerScaleFactor = 0.0445f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "skyscraper", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "skyscraper", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "", sizeof(Props.CourseLength)); - Props.Name = "skyscraper"; - Props.DebugName = "skyscraper"; - Props.CourseLength = ""; Props.AIBehaviour = D_0D008F18; Props.AIMaximumSeparation = -1.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 2.0f; @@ -113,8 +121,6 @@ Skyscraper::Skyscraper() { Props.Clouds = NULL; // no clouds Props.CloudList = NULL; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {0, 0, 0}; Props.Skybox.BottomRight = {0, 0, 0}; @@ -125,6 +131,8 @@ Skyscraper::Skyscraper() { Props.Skybox.FloorBottomLeft = {0, 0, 0}; Props.Skybox.FloorTopLeft = {0, 0, 0}; Props.Sequence = MusicSeq::MUSIC_SEQ_BATTLE_ARENAS; + + Props.WaterLevel = -480.0f; } void Skyscraper::Load() { @@ -135,8 +143,6 @@ void Skyscraper::Load() { // d_course_skyscraper_packed_dl_258 generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual((void*)0x07000258), 1); func_80295C6C(); - - D_8015F8E4 = -480.0f; } void Skyscraper::LoadTextures() { @@ -146,7 +152,7 @@ void Skyscraper::BeginPlay() { spawn_all_item_boxes((ActorSpawnData*)LOAD_ASSET_RAW(d_course_skyscraper_item_box_spawns)); if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][20], 20, 0, 1.0f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][40], 40, 0, 1.0f)); @@ -158,13 +164,6 @@ void Skyscraper::BeginPlay() { } } -// Likely sets minimap boundaries -void Skyscraper::MinimapSettings() { - D_8018D2A0 = 0.0445f; - D_8018D2E0 = 32; - D_8018D2E8 = 32; -} - void Skyscraper::InitCourseObjects() {} void Skyscraper::SomeSounds() {} @@ -173,14 +172,8 @@ void Skyscraper::WhatDoesThisDo(Player* player, int8_t playerId) {} void Skyscraper::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void Skyscraper::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void Skyscraper::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -204,8 +197,6 @@ void Skyscraper::Render(struct UnkStruct_800DC5EC* arg0) { void Skyscraper::RenderCredits() {} -void Skyscraper::Collision() {} - void Skyscraper::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = 0; } diff --git a/src/engine/courses/Skyscraper.h b/src/engine/courses/Skyscraper.h index b9b998f73..ed6592121 100644 --- a/src/engine/courses/Skyscraper.h +++ b/src/engine/courses/Skyscraper.h @@ -28,15 +28,12 @@ public: virtual void LoadTextures() override; virtual void BeginPlay() override; //virtual void InitClouds() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void Destroy() override; }; diff --git a/src/engine/courses/TestCourse.cpp b/src/engine/courses/TestCourse.cpp index 3217f8f4a..eebaee17a 100644 --- a/src/engine/courses/TestCourse.cpp +++ b/src/engine/courses/TestCourse.cpp @@ -6,7 +6,7 @@ #include "TestCourse.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/actors/BowserStatue.h" #include "engine/actors/Ship.h" #include "engine/actors/SpaghettiShip.h" @@ -16,8 +16,8 @@ #include "assets/mario_raceway_data.h" #include "assets/bowsers_castle_data.h" #include "assets/bowsers_castle_displaylists.h" -#include "engine/actors/ATree.h" -#include "engine/actors/ACloud.h" +#include "engine/actors/Tree.h" +#include "engine/actors/Cloud.h" #include "engine/vehicles/Train.h" #include "engine/objects/Trophy.h" #include "engine/objects/CheepCheep.h" @@ -28,6 +28,7 @@ #include "engine/objects/HotAirBalloon.h" #include "engine/objects/Crab.h" #include "engine/objects/Boos.h" +#include "engine/objects/GrandPrixBalloons.h" extern "C" { #include "main.h" @@ -49,12 +50,7 @@ extern "C" { #include "actors.h" #include "collision.h" #include "memory.h" - typedef struct { - Gfx* addr; - u8 surfaceType; - u8 sectionId; - u16 flags; - } TrackSections; + #include "course.h" extern Gfx test_course_dls[]; extern Vtx mario_Plane_001_mesh_vtx_1[]; extern Gfx mario_Plane_001_mesh[]; @@ -65,18 +61,27 @@ extern "C" { TestCourse::TestCourse() { this->gfxSize = 100; this->textures = NULL; - Props.MinimapTexture = gTextureCourseOutlineMarioRaceway; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineMarioRaceway; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 260; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 6; + Props.Minimap.PlayerY = 28; + Props.Minimap.PlayerScaleFactor = 0.022f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + Props.Minimap.Colour = {255, 255, 255}; - Props.Id = "mk:test_course"; - Props.Name = "Test Course"; - Props.DebugName = "test track"; - Props.CourseLength = "100m"; + Id = "mk:test_course"; + + Props.SetText(Props.Name, "Test Course", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "test track", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "100m", sizeof(Props.CourseLength)); Props.AIBehaviour = D_0D008F28; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.3f; - Props.SomePtr = D_800DCB34; Props.AISteeringSensitivity = 48; Props.NearPersp = 9.0f; @@ -114,10 +119,9 @@ TestCourse::TestCourse() { Props.PathTable2[2] = NULL; Props.PathTable2[3] = NULL; + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust5); Props.Clouds = gKalimariDesertClouds; Props.CloudList = gLuigiRacewayClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {120, 140, 188}; Props.Skybox.BottomRight = {216, 232, 248}; @@ -135,9 +139,9 @@ void TestCourse::Load() { generate_collision_mesh_with_defaults(mario_Plane_001_mesh); - parse_course_displaylists((TrackSectionsI*)test_course_addr); + parse_course_displaylists((TrackSections*)test_course_addr); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void TestCourse::LoadTextures() { @@ -267,7 +271,7 @@ void TestCourse::BeginPlay() { // gWorldInstance.AddObject(new OCheepCheep(FVector(0, 40, 0), OCheepCheep::CheepType::RACE, IPathSpan(0, 10))); // gWorldInstance.AddObject(new OTrophy(FVector(0,0,0), OTrophy::TrophyType::GOLD, OTrophy::Behaviour::GO_FISH)); //gWorldInstance.AddObject(new OSnowman(FVector(0, 0, 0))); - //gWorldInstance.AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), FRotation(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); + //gWorldInstance.AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), IRotator(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); //gWorldInstance.AddObject(new OHedgehog(FVector(0, 0, 0), FVector2D(0, -200), 9)); //gWorldInstance.AddObject(new OFlagpole(FVector(0, 0, -200), 0x400)); @@ -285,32 +289,16 @@ void TestCourse::BeginPlay() { //gWorldInstance.AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 0); //gWorldInstance.AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 8); - Vec3f pos2 = {0, 0, 0}; + FVector pos2 = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos2, &D_80164550[0][25], 25, 4, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos2, &D_80164550[0][45], 45, 4, 0.8333333f)); gWorldInstance.AddActor(new AShip(FVector(0, 0, 0), AShip::Skin::SHIP3)); + gWorldInstance.AddObject(new OGrandPrixBalloons(FVector(0, 0, 0))); } -// Likely sets minimap boundaries -void TestCourse::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust5, 0x443, 0x1000)); - D_8018D2A0 = 0.022f; - D_8018D2E0 = 6; - D_8018D2E8 = 28; - D_8018D2C0[0] = 260; - D_8018D2D8[0] = 170; - D_80165718 = 0; - D_80165720 = 5; - D_80165728 = -240; -} - -void TestCourse::InitCourseObjects() {} - -void TestCourse::SomeSounds() {} - void TestCourse::WhatDoesThisDo(Player* player, int8_t playerId) { if (((s16) gNearestWaypointByPlayerId[playerId] >= 0x19B) && ((s16) gNearestWaypointByPlayerId[playerId] < 0x1B9)) { @@ -341,16 +329,10 @@ void TestCourse::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void TestCourse::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void TestCourse::Render(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -362,13 +344,6 @@ void TestCourse::Render(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, mario_Plane_001_mesh); } -void TestCourse::RenderCredits() { -} - -void TestCourse::Collision() {} - -void TestCourse::Destroy() { } - bool TestCourse::IsMod() { return true; } \ No newline at end of file diff --git a/src/engine/courses/TestCourse.h b/src/engine/courses/TestCourse.h index 3421304e2..d44e0a266 100644 --- a/src/engine/courses/TestCourse.h +++ b/src/engine/courses/TestCourse.h @@ -27,15 +27,8 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; - virtual void InitCourseObjects() override; - virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; - virtual void RenderCredits() override; - virtual void Collision() override; - virtual void Destroy() override; virtual bool IsMod() override; }; diff --git a/src/engine/courses/ToadsTurnpike.cpp b/src/engine/courses/ToadsTurnpike.cpp index a9507acad..867fedf25 100644 --- a/src/engine/courses/ToadsTurnpike.cpp +++ b/src/engine/courses/ToadsTurnpike.cpp @@ -7,7 +7,7 @@ #include "World.h" #include "engine/objects/BombKart.h" #include "assets/toads_turnpike_data.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/vehicles/Bus.h" #include "engine/vehicles/Car.h" #include "engine/vehicles/Truck.h" @@ -36,6 +36,7 @@ extern "C" { #include "collision.h" #include "memory.h" #include "code_80086E70.h" + #include "course.h" extern const char *d_course_toads_turnpike_dl_list[]; extern s16 currentScreenSection; extern s8 gPlayerCount; @@ -69,16 +70,24 @@ ToadsTurnpike::ToadsTurnpike() { this->gfx = d_course_toads_turnpike_packed_dls; this->gfxSize = 3427; Props.textures = toads_turnpike_textures; - Props.MinimapTexture = gTextureCourseOutlineToadsTurnpike; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineToadsTurnpike; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 252; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 57; + Props.Minimap.PlayerY = 44; + Props.Minimap.PlayerScaleFactor = 0.013f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "toad's turnpike", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "highway", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "1036m", sizeof(Props.CourseLength)); - Props.Name = "toad's turnpike"; - Props.DebugName = "highway"; - Props.CourseLength = "1036m"; Props.AIBehaviour = D_0D009238; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.5f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 40; Props.NearPersp = 9.0f; @@ -126,9 +135,6 @@ ToadsTurnpike::ToadsTurnpike() { this->FinishlineSpawnPoint = finish; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; - Props.Skybox.TopRight = {0, 2, 94}; Props.Skybox.BottomRight = {209, 65, 23}; Props.Skybox.BottomLeft = {209, 65, 23}; @@ -148,9 +154,9 @@ void ToadsTurnpike::Load() { D_801625F0 = 4; D_802B87B0 = 993; D_802B87B4 = 1000; - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_toads_turnpike_addr)); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_toads_turnpike_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void ToadsTurnpike::LoadTextures() { @@ -195,7 +201,7 @@ void ToadsTurnpike::BeginPlay() { } if (gModeSelection == VERSUS) { - Vec3f pos = {0, 0, 0}; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 1, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][150], 150, 3, 0.8333333f)); @@ -215,14 +221,6 @@ void ToadsTurnpike::UpdateClouds(s32 sp1C, Camera* camera) { update_stars(sp1C, camera, this->Props.CloudList); } -// Likely sets minimap boundaries -void ToadsTurnpike::MinimapSettings() { - D_8018D2A0 = 0.013f; - D_8018D2C0[0] = 252; - D_8018D2E0 = 57; - D_8018D2E8 = 44; -} - void ToadsTurnpike::SomeSounds() {} void ToadsTurnpike::WhatDoesThisDo(Player* player, int8_t playerId) { @@ -253,14 +251,8 @@ void ToadsTurnpike::WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -// Positions the finishline on the minimap -void ToadsTurnpike::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void ToadsTurnpike::Render(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -289,6 +281,4 @@ void ToadsTurnpike::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_toads_turnpike_dl_23930)); } -void ToadsTurnpike::Collision() {} - void ToadsTurnpike::Destroy() { } diff --git a/src/engine/courses/ToadsTurnpike.h b/src/engine/courses/ToadsTurnpike.h index a73e3829f..de145849d 100644 --- a/src/engine/courses/ToadsTurnpike.h +++ b/src/engine/courses/ToadsTurnpike.h @@ -29,14 +29,11 @@ public: virtual void BeginPlay() override; virtual void InitClouds() override; virtual void UpdateClouds(s32, Camera*) override; - virtual void MinimapSettings() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void Destroy() override; private: size_t _numTrucks = 7; diff --git a/src/engine/courses/WarioStadium.cpp b/src/engine/courses/WarioStadium.cpp index d60d754c0..b703323f4 100644 --- a/src/engine/courses/WarioStadium.cpp +++ b/src/engine/courses/WarioStadium.cpp @@ -7,8 +7,8 @@ #include "World.h" #include "engine/objects/BombKart.h" #include "assets/wario_stadium_data.h" -#include "engine/actors/AWarioSign.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/WarioSign.h" +#include "engine/actors/Finishline.h" extern "C" { #include "main.h" @@ -32,6 +32,7 @@ extern "C" { #include "code_8003DC40.h" #include "memory.h" #include "skybox_and_splitscreen.h" +#include "course.h" extern const char* wario_stadium_dls[]; extern s16 currentScreenSection; } @@ -65,16 +66,24 @@ WarioStadium::WarioStadium() { this->gfx = d_course_wario_stadium_packed_dls; this->gfxSize = 5272; Props.textures = wario_stadium_textures; - Props.MinimapTexture = gTextureCourseOutlineWarioStadium; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineWarioStadium; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.Pos[0].X = 262; + Props.Minimap.Pos[0].Y = 170; + Props.Minimap.PlayerX = 53; + Props.Minimap.PlayerY = 35; + Props.Minimap.PlayerScaleFactor = 0.0155f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "wario stadium", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "stadium", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "1591m", sizeof(Props.CourseLength)); - Props.Name = "wario stadium"; - Props.DebugName = "stadium"; - Props.CourseLength = "1591m"; Props.AIBehaviour = D_0D009310; Props.AIMaximumSeparation = 50.0f; Props.AIMinimumSeparation = 0.6f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 10.0f; @@ -122,9 +131,6 @@ WarioStadium::WarioStadium() { this->FinishlineSpawnPoint = finish; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; - Props.Skybox.TopRight = { 20, 30, 56 }; Props.Skybox.BottomRight = { 40, 60, 110 }; Props.Skybox.BottomLeft = { 40, 60, 110 }; @@ -139,9 +145,9 @@ WarioStadium::WarioStadium() { void WarioStadium::Load() { Course::Load(); - parse_course_displaylists((TrackSectionsI*) LOAD_ASSET_RAW(d_course_wario_stadium_addr)); + parse_course_displaylists((TrackSections*) LOAD_ASSET_RAW(d_course_wario_stadium_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; // d_course_wario_stadium_packed_dl_C50 find_vtx_and_set_colours(segmented_gfx_to_virtual((void*) 0x07000C50), 100, 255, 255, 255); // d_course_wario_stadium_packed_dl_BD8 @@ -166,20 +172,20 @@ void WarioStadium::LoadTextures() { void WarioStadium::BeginPlay() { spawn_all_item_boxes((struct ActorSpawnData*) LOAD_ASSET_RAW(d_course_wario_stadium_item_box_spawns)); - Vec3f pos = { -131.0f, 83.0f, 286.0f }; - pos[0] *= gCourseDirection; + FVector pos = { -131.0f, 83.0f, 286.0f }; + pos.x *= gCourseDirection; gWorldInstance.AddActor(new AWarioSign(pos)); - Vec3f pos2 = { -2353.0f, 72.0f, -1608.0f }; - pos2[0] *= gCourseDirection; + FVector pos2 = { -2353.0f, 72.0f, -1608.0f }; + pos2.x *= gCourseDirection; gWorldInstance.AddActor(new AWarioSign(pos2)); - Vec3f pos3 = { -2622.0f, 79.0f, 739.0f }; - pos3[0] *= gCourseDirection; + FVector pos3 = { -2622.0f, 79.0f, 739.0f }; + pos3.x *= gCourseDirection; gWorldInstance.AddActor(new AWarioSign(pos3)); if (gModeSelection == VERSUS) { - Vec3f pos = { 0, 0, 0 }; + FVector pos = { 0, 0, 0 }; gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][50], 50, 3, 0.8333333f)); gWorldInstance.AddObject(new OBombKart(pos, &D_80164550[0][100], 100, 1, 0.8333333f)); @@ -199,14 +205,6 @@ void WarioStadium::UpdateClouds(s32 sp1C, Camera* camera) { update_stars(sp1C, camera, this->Props.CloudList); } -// Likely sets minimap boundaries -void WarioStadium::MinimapSettings() { - D_8018D2A0 = 0.0155f; - D_8018D2C0[0] = 0x0106; - D_8018D2E0 = 53; - D_8018D2E8 = 35; -} - void WarioStadium::InitCourseObjects() { } @@ -227,13 +225,6 @@ void WarioStadium::WhatDoesThisDo(Player* player, int8_t playerId) { void WarioStadium::WhatDoesThisDoAI(Player* player, int8_t playerId) { } -// Positions the finishline on the minimap -void WarioStadium::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, - (u8*) common_texture_minimap_finish_line); -} - void WarioStadium::Jumbotron() { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gDPTileSync(gDisplayListHead++); @@ -365,9 +356,6 @@ void WarioStadium::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*) (d_course_wario_stadium_dl_CA78)); } -void WarioStadium::Collision() { -} - void WarioStadium::SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) { func_8003EE2C(player, arg1, arg2, arg3, arg4, arg5, arg6, arg7); diff --git a/src/engine/courses/WarioStadium.h b/src/engine/courses/WarioStadium.h index 72f796cc7..91f613c1b 100644 --- a/src/engine/courses/WarioStadium.h +++ b/src/engine/courses/WarioStadium.h @@ -31,15 +31,12 @@ class WarioStadium : public Course { virtual void BeginPlay() override; virtual void InitClouds() override; virtual void UpdateClouds(s32, Camera*) override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7) override; virtual void DrawWater(struct UnkStruct_800DC5EC* screen, uint16_t pathCounter, uint16_t cameraRot, diff --git a/src/engine/courses/YoshiValley.cpp b/src/engine/courses/YoshiValley.cpp index 98d887b03..5fbcbea69 100644 --- a/src/engine/courses/YoshiValley.cpp +++ b/src/engine/courses/YoshiValley.cpp @@ -6,7 +6,7 @@ #include "YoshiValley.h" #include "World.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/objects/BombKart.h" #include "engine/objects/Hedgehog.h" #include "engine/objects/Flagpole.h" @@ -33,6 +33,7 @@ extern "C" { #include "actors.h" #include "collision.h" #include "memory.h" + #include "course.h" extern const char *d_course_yoshi_valley_dl_list[]; } @@ -60,16 +61,22 @@ YoshiValley::YoshiValley() { this->gfxSize = 4140; Props.textures = yoshi_valley_textures; - Props.MinimapTexture = gTextureCourseOutlineYoshiValley; - Props.MinimapDimensions = IVector2D(ResourceGetTexWidthByName(Props.MinimapTexture), ResourceGetTexHeightByName(Props.MinimapTexture)); + Props.Minimap.Texture = gTextureCourseOutlineYoshiValley; + Props.Minimap.Width = ResourceGetTexWidthByName(Props.Minimap.Texture); + Props.Minimap.Height = ResourceGetTexHeightByName(Props.Minimap.Texture); + Props.Minimap.PlayerX = 61; + Props.Minimap.PlayerY = 38; + Props.Minimap.PlayerScaleFactor = 0.018f; + Props.Minimap.FinishlineX = 0; + Props.Minimap.FinishlineY = 0; + + Props.SetText(Props.Name, "yoshi valley", sizeof(Props.Name)); + Props.SetText(Props.DebugName, "maze", sizeof(Props.DebugName)); + Props.SetText(Props.CourseLength, "772m", sizeof(Props.CourseLength)); - Props.Name = "yoshi valley"; - Props.DebugName = "maze"; - Props.CourseLength = "772m"; Props.AIBehaviour = D_0D0090B8; Props.AIMaximumSeparation = 35.0f; Props.AIMinimumSeparation = 0.0f; - Props.SomePtr = D_800DCAF4; Props.AISteeringSensitivity = 53; Props.NearPersp = 9.0f; @@ -107,10 +114,9 @@ YoshiValley::YoshiValley() { Props.PathTable2[2] = (TrackWaypoint*)LOAD_ASSET_RAW(d_course_yoshi_valley_track_waypoints_3); Props.PathTable2[3] = (TrackWaypoint*)LOAD_ASSET_RAW(d_course_yoshi_valley_track_waypoints_4); + Props.CloudTexture = (u8*) LOAD_ASSET_RAW(gTextureExhaust0); Props.Clouds = gYoshiValleyMooMooFarmClouds; Props.CloudList = gYoshiValleyMooMooFarmClouds; - Props.MinimapFinishlineX = 0; - Props.MinimapFinishlineY = 0; Props.Skybox.TopRight = {113, 70, 255}; Props.Skybox.BottomRight = {255, 184, 99}; @@ -127,10 +133,10 @@ void YoshiValley::Load() { Course::Load(); Lights1 lights4 = gdSPDefLights1(100, 100, 100, 255, 254, 254, 0, 0, 120); - func_802B5D64(&lights4, -0x38F0, 0x1C70, 1); - parse_course_displaylists((TrackSectionsI*)LOAD_ASSET_RAW(d_course_yoshi_valley_addr)); + set_track_light_direction(&lights4, -0x38F0, 0x1C70, 1); + parse_course_displaylists((TrackSections*)LOAD_ASSET_RAW(d_course_yoshi_valley_addr)); func_80295C6C(); - D_8015F8E4 = gCourseMinY - 10.0f; + Props.WaterLevel = gCourseMinY - 10.0f; } void YoshiValley::LoadTextures() { @@ -177,31 +183,23 @@ void YoshiValley::BeginPlay() { // the original data has values here. // Note that the Y height is calculated automatically to place the kart on the surface - Vec3f pos = {-1533, 0, -682}; + FVector pos = { -1533, 0, -682 }; gWorldInstance.AddObject(new OBombKart(pos, NULL, 0, 0, 0.8333333f)); - Vec3f pos2 = {-1565, 0, -619}; + FVector pos2 = { -1565, 0, -619 }; gWorldInstance.AddObject(new OBombKart(pos2, NULL, 10, 0, 0.8333333f)); - Vec3f pos3 = {-1529, 0, -579}; + FVector pos3 = { -1529, 0, -579 }; gWorldInstance.AddObject(new OBombKart(pos3, NULL, 20, 0, 0.8333333f)); - Vec3f pos4 = {-1588, 0, -534}; + FVector pos4 = { -1588, 0, -534 }; gWorldInstance.AddObject(new OBombKart(pos4, NULL, 30, 0, 0.8333333f)); - Vec3f pos5 = {-1598, 0, -207}; + FVector pos5 = { -1598, 0, -207 }; gWorldInstance.AddObject(new OBombKart(pos5, NULL, 40, 0, 0.8333333f)); - Vec3f pos6 = {-1646, 0, -147}; + FVector pos6 = { -1646, 0, -147 }; gWorldInstance.AddObject(new OBombKart(pos6, NULL, 50, 0, 0.8333333f)); - Vec3f pos7 = {-2532, 0, -445}; + FVector pos7 = { -2532, 0, -445 }; gWorldInstance.AddObject(new OBombKart(pos7, NULL, 60, 0, 0.8333333f)); } } -// Likely sets minimap boundaries -void YoshiValley::MinimapSettings() { - D_8018D220 = reinterpret_cast(dma_textures(gTextureExhaust0, 0x479, 0xC00)); - D_8018D2A0 = 0.018f; - D_8018D2E0 = 61; - D_8018D2E8 = 38; -} - void YoshiValley::InitCourseObjects() { } @@ -218,12 +216,6 @@ void YoshiValley::WhatDoesThisDo(Player* player, int8_t playerId) {} void YoshiValley::WhatDoesThisDoAI(Player* player, int8_t playerId) {} -// Positions the finishline on the minimap -void YoshiValley::MinimapFinishlinePosition() { - //! todo: Place hard-coded values here. - draw_hud_2d_texture_8x8(this->Props.MinimapFinishlineX, this->Props.MinimapFinishlineY, (u8*) common_texture_minimap_finish_line); -} - void YoshiValley::Render(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI); @@ -237,8 +229,6 @@ void YoshiValley::RenderCredits() { gSPDisplayList(gDisplayListHead++, (Gfx*)(d_course_yoshi_valley_dl_18020)); } -void YoshiValley::Collision() {} - void YoshiValley::Waypoints(Player* player, int8_t playerId) { player->nearestWaypointId = gCopyNearestWaypointByPlayerId[playerId]; } diff --git a/src/engine/courses/YoshiValley.h b/src/engine/courses/YoshiValley.h index a986cd902..b4ec8d442 100644 --- a/src/engine/courses/YoshiValley.h +++ b/src/engine/courses/YoshiValley.h @@ -27,17 +27,14 @@ public: virtual void Load() override; virtual void LoadTextures() override; virtual void BeginPlay() override; - virtual void MinimapSettings() override; virtual void InitCourseObjects() override; virtual void UpdateCourseObjects() override; virtual void RenderCourseObjects(s32 cameraId) override; virtual void SomeSounds() override; virtual void WhatDoesThisDo(Player* player, int8_t playerId) override; virtual void WhatDoesThisDoAI(Player* player, int8_t playerId) override; - virtual void MinimapFinishlinePosition() override; virtual void Render(struct UnkStruct_800DC5EC*) override; virtual void RenderCredits() override; - virtual void Collision() override; virtual void ScrollingTextures() override; virtual void Waypoints(Player* player, int8_t playerId) override; virtual void CreditsSpawnActors() override; diff --git a/src/engine/editor/Collision.cpp b/src/engine/editor/Collision.cpp new file mode 100644 index 000000000..bf62d6273 --- /dev/null +++ b/src/engine/editor/Collision.cpp @@ -0,0 +1,188 @@ +#include "Collision.h" + +#include +#include +#include "Matrix.h" + +extern "C" { +#include "main.h" +#include "other_textures.h" +} + +namespace Editor { + void GenerateCollisionMesh(GameObject* object, Gfx* model, float scale) { + int8_t opcode; + uintptr_t lo; + uintptr_t hi; + + Gfx* ptr = model; + Vtx* vtx = NULL; + size_t i = 0; + bool run = true; + while (run) { + i++; + lo = ptr->words.w0; + hi = ptr->words.w1; + + opcode = (EDITOR_GFX_GET_OPCODE(lo) >> 24); + switch(opcode) { + case G_DL: + GenerateCollisionMesh(object, (Gfx*)hi, scale); + break; + case G_DL_OTR_HASH: + ptr++; + GenerateCollisionMesh(object, (Gfx*)ResourceGetDataByCrc(((uint64_t)(ptr->words.w0 << 32)) + ptr->words.w1), scale); + break; + case G_DL_OTR_FILEPATH: + // printf("otr filepath: %s\n", (const char*)hi); + GenerateCollisionMesh(object, (Gfx*)ResourceGetDataByName((const char*)hi), scale); + break; + case G_VTX: + vtx = (Vtx*)ptr->words.w1; + break; + case G_VTX_OTR_HASH: { + ptr++; + vtx = (Vtx*)ResourceGetDataByCrc(((uint64_t)(ptr->words.w0 << 32)) + ptr->words.w1); + break; + } + case G_VTX_OTR_FILEPATH: { + const char* filePath = (const char*)hi; + ptr++; + size_t vtxDataOff = ptr->words.w1 & 0xFFFF; + vtx = ( (Vtx*)ResourceGetDataByName(filePath) ) + vtxDataOff; + break; + } + case G_TRI1: { + if (vtx == NULL) { + ptr++; + continue; + } + uint32_t v1 = ((hi & 0x00FF0000) >> 16) / 2; + uint32_t v2 = ((hi & 0x0000FF00) >> 8) / 2; + uint32_t v3 = (hi & 0x000000FF) / 2; + + FVector p1 = FVector(vtx[v1].v.ob[0], vtx[v1].v.ob[1], vtx[v1].v.ob[2]); + FVector p2 = FVector(vtx[v2].v.ob[0], vtx[v2].v.ob[1], vtx[v2].v.ob[2]); + FVector p3 = FVector(vtx[v3].v.ob[0], vtx[v3].v.ob[1], vtx[v3].v.ob[2]); + + object->Triangles.push_back({p1, p2, p3}); + break; + } + case G_TRI1_OTR: { + if (vtx == NULL) { + ptr++; + continue; + } + + // The shift values here are different than the above. No idea why. But it has to be this way. + uint32_t v1 = (lo & 0x0000FFFF); + uint32_t v2 = (hi >> 16); + uint32_t v3 = (hi & 0x0000FFFF); + + FVector p1 = FVector(vtx[v1].v.ob[0], vtx[v1].v.ob[1], vtx[v1].v.ob[2]); + FVector p2 = FVector(vtx[v2].v.ob[0], vtx[v2].v.ob[1], vtx[v2].v.ob[2]); + FVector p3 = FVector(vtx[v3].v.ob[0], vtx[v3].v.ob[1], vtx[v3].v.ob[2]); + + object->Triangles.push_back({p1, p2, p3}); + + break; + } + case G_TRI2: { + if (vtx == NULL) { + ptr++; + continue; + } + uint32_t v1 = ((lo & 0x00FF0000) >> 16) / 2; + uint32_t v2 = ((lo & 0x0000FF00) >> 8) / 2; + uint32_t v3 = (lo & 0x000000FF) / 2; + + // This is actually triangle 2; vert 1,2,3. + uint32_t v4 = ((hi & 0x00FF0000) >> 16) / 2; + uint32_t v5 = ((hi & 0x0000FF00) >> 8) / 2; + uint32_t v6 = (hi & 0x000000FF) / 2; + + FVector p1 = FVector(vtx[v1].v.ob[0], vtx[v1].v.ob[1], vtx[v1].v.ob[2]); + FVector p2 = FVector(vtx[v2].v.ob[0], vtx[v2].v.ob[1], vtx[v2].v.ob[2]); + FVector p3 = FVector(vtx[v3].v.ob[0], vtx[v3].v.ob[1], vtx[v3].v.ob[2]); + + FVector p4 = FVector(vtx[v4].v.ob[0], vtx[v4].v.ob[1], vtx[v4].v.ob[2]); + FVector p5 = FVector(vtx[v5].v.ob[0], vtx[v5].v.ob[1], vtx[v5].v.ob[2]); + FVector p6 = FVector(vtx[v6].v.ob[0], vtx[v6].v.ob[1], vtx[v6].v.ob[2]); + + object->Triangles.push_back({p1, p2, p3}); + object->Triangles.push_back({p4, p5, p6}); + break; + } + case G_QUAD: { + if (vtx == NULL) { + ptr++; + continue; + } + uint32_t v1 = ((hi & 0x00FF0000) >> 16) / 2; + uint32_t v2 = ((hi & 0x0000FF00) >> 8) / 2; + uint32_t v3 = (hi & 0x000000FF) / 2; + uint32_t v4 = ((hi & 0xFF000000) >> 24) / 2; + + FVector p1 = FVector(vtx[v1].v.ob[0], vtx[v1].v.ob[1], vtx[v1].v.ob[2]); + FVector p2 = FVector(vtx[v2].v.ob[0], vtx[v2].v.ob[1], vtx[v2].v.ob[2]); + FVector p3 = FVector(vtx[v3].v.ob[0], vtx[v3].v.ob[1], vtx[v3].v.ob[2]); + FVector p4 = FVector(vtx[v4].v.ob[0], vtx[v4].v.ob[1], vtx[v4].v.ob[2]); + + object->Triangles.push_back({p1, p2, p3}); + object->Triangles.push_back({p1, p3, p4}); + break; + } + case G_ENDDL: + run = false; + break; + } + + ptr++; + } + } + + std::unordered_map> gDebugObjVtxCache; + + // Render a collision model + void DebugCollision(GameObject* obj, FVector pos, IRotator rot, FVector scale, const std::vector& triangles) { + if (obj == NULL || triangles.empty()) { + return; + } + + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF); + + auto& vtxBuffer = gDebugObjVtxCache[obj]; + if (vtxBuffer.empty()) { + for (const auto& tri : triangles) { + vtxBuffer.push_back({(s16)tri.v0.x, (s16)tri.v0.y, (s16)tri.v0.z, 0, {0, 0}, {255, 255, 255, 255}}); + vtxBuffer.push_back({(s16)tri.v1.x, (s16)tri.v1.y, (s16)tri.v1.z, 0, {0, 0}, {255, 255, 255, 255}}); + vtxBuffer.push_back({(s16)tri.v2.x, (s16)tri.v2.y, (s16)tri.v2.z, 0, {0, 0}, {255, 255, 255, 255}}); + } + } + + // Setup matrix and render state + Mat4 mtx; + ApplyMatrixTransformations(mtx, pos, rot, scale); + Editor_AddMatrix(mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPSetGeometryMode(gDisplayListHead++, G_FOG); + gDPPipeSync(gDisplayListHead++); + gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); + gSPTexture(gDisplayListHead++, 0, 0, 0, G_TX_RENDERTILE, G_OFF); + gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2); + uint32_t hash = (uint32_t)((uintptr_t)obj ^ ((uintptr_t)obj >> 16)); + u8 r = (hash >> 16) & 0xFF; + u8 g = (hash >> 8) & 0xFF; + u8 b = hash & 0xFF; + + gDPSetPrimColor(gDisplayListHead++, 0, 0, r, g, b, 255); + + // Render triangles in batches of 3 + for (size_t i = 0; i + 2 < vtxBuffer.size(); i += 3) { + gSPVertex(gDisplayListHead++, (uintptr_t)&vtxBuffer[i], 3, 0); + gSP1Triangle(gDisplayListHead++, 0, 1, 2, 0); + } + + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK | G_ZBUFFER); + } +} diff --git a/src/engine/editor/Collision.h b/src/engine/editor/Collision.h new file mode 100644 index 000000000..ee8fef4af --- /dev/null +++ b/src/engine/editor/Collision.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include +#include "GameObject.h" + +#include "EditorMath.h" + +/** + * @file Editor Collision + * + * Most actors use cylinder collision. + * Proper vtx intersection tests are necessary for object picking + * + * Therefore, generate a full collision mesh for actors + */ + +#define EDITOR_GFX_GET_OPCODE(var) ((uint32_t) ((var) & 0xFF000000)) + +namespace Editor { + void GenerateCollisionMesh(GameObject* object, Gfx* model, float scale); + void DebugCollision(GameObject* obj, FVector pos, IRotator rot, FVector scale, const std::vector& triangles); +} \ No newline at end of file diff --git a/src/engine/editor/Editor.cpp b/src/engine/editor/Editor.cpp new file mode 100644 index 000000000..446da7487 --- /dev/null +++ b/src/engine/editor/Editor.cpp @@ -0,0 +1,166 @@ +#include +#include +#include "../CoreMath.h" +#include +#include "../World.h" + +#include "Editor.h" +#include "Collision.h" +#include "Light.h" + +#include "port/Engine.h" +#include +#include + +#include "engine/actors/Ship.h" +#include "port/Game.h" + +extern "C" { +#include "common_structs.h" +#include "main.h" +#include "defines.h" +#include "actors.h" +#include "camera.h" +} + +namespace Editor { + int gfx_create_framebuffer(uint32_t width, uint32_t height, uint32_t native_width, uint32_t native_height, + uint8_t resize); + + Editor::Editor() { + } + + void Editor::Load() { + printf("Editor: Loading Editor...\n"); + eObjectPicker.Load(); + for (auto& object : eGameObjects) { + GenerateCollisionMesh(object, object->Model, 1.0f); + object->Load(); + } + printf("Editor: Loading Complete!\n"); + } + + void Editor::Tick() { + + if (CVarGetInteger("gEditorEnabled", 0) == true) { + bEditorEnabled = true; + } else { + bEditorEnabled = false; + return; + } + + auto wnd = GameEngine::Instance->context->GetWindow(); + + static bool wasMouseDown = false; + static bool isDragging = false; + static Ship::Coords mouseStartPos; + + Ship::Coords mousePos = wnd->GetMousePos(); + bool isMouseDown = wnd->GetMouseState(Ship::LUS_MOUSE_BTN_LEFT); + + eGameObjects.erase( + std::remove_if(eGameObjects.begin(), eGameObjects.end(), + [](const auto& object) { return (*object->DespawnFlag) == object->DespawnValue; }), + eGameObjects.end()); + + if (isMouseDown && !wasMouseDown) { + // Mouse just pressed (Pressed state) + mouseStartPos = mousePos; + isDragging = false; + } + + if (isMouseDown) { + // Mouse is being held (Held state) + int dx = mousePos.x - mouseStartPos.x; + int dy = mousePos.y - mouseStartPos.y; + int dragThreshold = 5; // Adjust as needed + + if ((dx * dx + dy * dy) > (dragThreshold * dragThreshold)) { + // Squared distance check to avoid unnecessary sqrt() + isDragging = true; + eObjectPicker.DragHandle(); // Call drag logic + } + } + + if (!isMouseDown && wasMouseDown) { + // Mouse just released (Released state) + eObjectPicker.eGizmo.SelectedHandle = Gizmo::GizmoHandle::None; + eObjectPicker.eGizmo.ManipulationStart = true; + if (!isDragging) { + eObjectPicker.SelectObject(eGameObjects); + } + + } + + wasMouseDown = isMouseDown; // Update previous state + + eObjectPicker.Tick(); + + for (auto& object : eGameObjects) { + object->Tick(); + } + } + + void Editor::Draw() { + if (!bEditorEnabled) { + return; + } + eObjectPicker.Draw(); + for (auto& object : eGameObjects) { + object->Draw(); + } + } + + GameObject* Editor::AddObject(const char* name, FVector* pos, IRotator* rot, FVector* scale, Gfx* model, float collScale, GameObject::CollisionType collision, float boundingBoxSize, int32_t* despawnFlag, int32_t despawnValue) { + //printf("After AddObj: Pos(%f, %f, %f), Name: %s, Model: %s\n", + // pos->x, pos->y, pos->z, name, model); + if (model != nullptr) { + eGameObjects.push_back(new GameObject(name, pos, rot, scale, model, {}, collision, boundingBoxSize, despawnFlag, despawnValue)); + GenerateCollisionMesh(eGameObjects.back(), model, collScale); + } else { // to bounding box or sphere collision + eGameObjects.push_back(new GameObject(name, pos, rot, scale, model, {}, GameObject::CollisionType::BOUNDING_BOX, + 10.0f, despawnFlag, despawnValue)); + } + return eGameObjects.back(); + } + + void Editor::AddLight(const char* name, FVector* pos, s8* rot) { + eGameObjects.push_back(new LightObject(name, pos, rot)); + } + + void Editor::ClearObjects() { + for (auto& obj : eGameObjects) { + delete obj; + } + eGameObjects.clear(); + } + + void Editor::DeleteObject() { + GameObject* obj = eObjectPicker.eGizmo._selected; + + if (obj) { + *obj->DespawnFlag = obj->DespawnValue; + obj = nullptr; + eObjectPicker._selected = nullptr; + } + } + + void Editor::ClearMatrixPool() { + EditorMatrix.clear(); + } + + void Editor::SelectObjectFromSceneExplorer(GameObject* object) { + eObjectPicker._selected = object; + eObjectPicker.eGizmo.Enabled = true; + eObjectPicker.eGizmo.SetGizmoNoCursor(object); + } + + void Editor::SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY) { + eObjectPicker.eGizmo.dimensions.MinX = minX + -1000; + eObjectPicker.eGizmo.dimensions.MaxX = maxX + 1000; + eObjectPicker.eGizmo.dimensions.MinY = minY + -100; + eObjectPicker.eGizmo.dimensions.MaxY = maxY + 500; + eObjectPicker.eGizmo.dimensions.MinZ = minZ + -1000; + eObjectPicker.eGizmo.dimensions.MaxZ = maxZ + 1000; + } +} diff --git a/src/engine/editor/Editor.h b/src/engine/editor/Editor.h new file mode 100644 index 000000000..759c59355 --- /dev/null +++ b/src/engine/editor/Editor.h @@ -0,0 +1,47 @@ +#ifndef __EDITOR_H__ +#define __EDITOR_H__ + +#include +#include +#include "GameObject.h" + +#ifdef __cplusplus + +#include "ObjectPicker.h" +namespace Editor { + class ObjectPicker; + + class Editor { +public: + Editor(); + + ObjectPicker eObjectPicker; + std::vector eGameObjects; + + void Tick(); + void Draw(); + void Load(); + GameObject* AddObject(const char* name, FVector* pos, IRotator* rot, FVector* scale, Gfx* model, float collScale, GameObject::CollisionType collision, float boundingBoxSize, int32_t* despawnFlag, int32_t despawnValue); + void AddLight(const char* name, FVector* pos, s8* rot); + void ClearObjects(); + void RemoveObject(); + void SelectObjectFromSceneExplorer(GameObject* object); + void SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY); + void ClearMatrixPool(); + void DeleteObject(); + bool bEditorEnabled = false; + +private: + bool _draw = false; + Vec3f _ray; + + s32 Inverse(MtxF* src, MtxF* dest); + void Copy(MtxF* src, MtxF* dest); + void Clear(MtxF* mf); +}; +} +#endif + +void SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY); + +#endif // __EDITOR_H__ diff --git a/src/engine/editor/EditorMath.cpp b/src/engine/editor/EditorMath.cpp new file mode 100644 index 000000000..533c0c2b5 --- /dev/null +++ b/src/engine/editor/EditorMath.cpp @@ -0,0 +1,427 @@ +#include "EditorMath.h" + +#include +#include "port/Game.h" +#include "port/Engine.h" +#include +#include "GameObject.h" + +#include +#include +#include + +extern "C" { +#include "common_structs.h" +#include "main.h" +#include "defines.h" +#include "actors.h" +#include "math_util.h" +#include "math_util_2.h" +#include "camera.h" +} + +std::vector EditorMatrix; + +bool IsInGameScreen() { + auto wnd = GameEngine::Instance->context->GetWindow(); + Ship::Coords mouse = wnd->GetMousePos(); + + // Define viewport boundaries + int left = gfx_current_game_window_viewport.x; + int right = left + OTRGetGameRenderWidth(); + int top = gfx_current_game_window_viewport.y; + int bottom = top + OTRGetGameRenderHeight(); + + // Check if the mouse is within the game render area + return (mouse.x >= left && mouse.x < right) && (mouse.y >= top && mouse.y < bottom); +} + +FVector ScreenRayTrace() { + auto wnd = GameEngine::Instance->context->GetWindow(); + Camera* camera = &cameras[0]; + + Ship::Coords mouse = wnd->GetMousePos(); + mouse.x -= gfx_current_game_window_viewport.x; + mouse.y -= gfx_current_game_window_viewport.y; + // Get screen dimensions + uint32_t width = OTRGetGameViewportWidth(); + uint32_t height = OTRGetGameViewportHeight(); + + // Convert mouse to NDS screen coordinates + float x = (2.0f * mouse.x) / width - 1.0f; // Normalized X: -1 to 1 + float y = 1.0f - (2.0f * mouse.y) / height; // Normalized Y: -1 to 1 + float z = 1.0f; // z is typically 1.0 for the near plane + + FVector4 rayClip = {x, y, z, 1.0f}; + + Mat4 perspMtx; + u16 perspNorm; + guPerspectiveF(perspMtx, &perspNorm, gCameraZoom[0], OTRGetAspectRatio(), CM_GetProps()->NearPersp, CM_GetProps()->FarPersp, 1.0f); + + Mat4 inversePerspMtx; + if (InverseMatrix((float*)&perspMtx, (float*)&inversePerspMtx) != 2) { + FVector4 rayEye = MultiplyMatrixVector(inversePerspMtx, (float*)&rayClip.x); + + Mat4 lookAtMtx; + guLookAtF(lookAtMtx, camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]); + Mat4 inverseViewMtx; + if (InverseMatrix((float*)&lookAtMtx, (float*)&inverseViewMtx[0][0]) != 2) { + rayEye.w = 0; + FVector4 invRayWor = MultiplyMatrixVector(inverseViewMtx, (float*)&rayEye.x); + + FVector direction; + direction = FVector(invRayWor.x, invRayWor.y, invRayWor.z); + + return direction; + } + } + return FVector(0, 0, 0); +} + +bool QueryCollisionRayActor(Vec3f rayOrigin, Vec3f rayDir, Vec3f actorMin, Vec3f actorMax, float* t) { + float tmin = -FLT_MAX, tmax = FLT_MAX; + + for (int i = 0; i < 3; i++) { + if (fabs(rayDir[i]) > 1e-6f) { // Avoid division by zero + float t1 = (actorMin[i] - rayOrigin[i]) / rayDir[i]; + float t2 = (actorMax[i] - rayOrigin[i]) / rayDir[i]; + + if (t1 > t2) { float temp = t1; t1 = t2; t2 = temp; } + + tmin = fmax(tmin, t1); + tmax = fmin(tmax, t2); + + if (tmax < tmin) return false; // No intersection + } else if (rayOrigin[i] < actorMin[i] || rayOrigin[i] > actorMax[i]) { + return false; // Ray is outside the slab + } + } + + *t = tmin; // Distance to first intersection + return true; +} + +FVector4 MultiplyMatrixVector(float matrix[4][4], float vector[4]) { + FVector4 result; + float* resultPtr = &result.x; + for (int i = 0; i < 4; i++) { + resultPtr[i] = 0; + for (int j = 0; j < 4; j++) { + resultPtr[i] += matrix[j][i] * vector[j]; // Swap [i][j] → [j][i] for column order + } + } + return result; +} + +// https://stackoverflow.com/questions/1148309/inverting-a-4x4-matrix +static bool InverseMatrix(const float m[16], float invOut[16]) { + float inv[16], det; + int i; + + inv[0] = m[5] * m[10] * m[15] - m[5] * m[11] * m[14] - m[9] * m[6] * m[15] + m[9] * m[7] * m[14] + + m[13] * m[6] * m[11] - m[13] * m[7] * m[10]; + + inv[4] = -m[4] * m[10] * m[15] + m[4] * m[11] * m[14] + m[8] * m[6] * m[15] - m[8] * m[7] * m[14] - + m[12] * m[6] * m[11] + m[12] * m[7] * m[10]; + + inv[8] = m[4] * m[9] * m[15] - m[4] * m[11] * m[13] - m[8] * m[5] * m[15] + m[8] * m[7] * m[13] + + m[12] * m[5] * m[11] - m[12] * m[7] * m[9]; + + inv[12] = -m[4] * m[9] * m[14] + m[4] * m[10] * m[13] + m[8] * m[5] * m[14] - m[8] * m[6] * m[13] - + m[12] * m[5] * m[10] + m[12] * m[6] * m[9]; + + inv[1] = -m[1] * m[10] * m[15] + m[1] * m[11] * m[14] + m[9] * m[2] * m[15] - m[9] * m[3] * m[14] - + m[13] * m[2] * m[11] + m[13] * m[3] * m[10]; + + inv[5] = m[0] * m[10] * m[15] - m[0] * m[11] * m[14] - m[8] * m[2] * m[15] + m[8] * m[3] * m[14] + + m[12] * m[2] * m[11] - m[12] * m[3] * m[10]; + + inv[9] = -m[0] * m[9] * m[15] + m[0] * m[11] * m[13] + m[8] * m[1] * m[15] - m[8] * m[3] * m[13] - + m[12] * m[1] * m[11] + m[12] * m[3] * m[9]; + + inv[13] = m[0] * m[9] * m[14] - m[0] * m[10] * m[13] - m[8] * m[1] * m[14] + m[8] * m[2] * m[13] + + m[12] * m[1] * m[10] - m[12] * m[2] * m[9]; + + inv[2] = m[1] * m[6] * m[15] - m[1] * m[7] * m[14] - m[5] * m[2] * m[15] + m[5] * m[3] * m[14] + + m[13] * m[2] * m[7] - m[13] * m[3] * m[6]; + + inv[6] = -m[0] * m[6] * m[15] + m[0] * m[7] * m[14] + m[4] * m[2] * m[15] - m[4] * m[3] * m[14] - + m[12] * m[2] * m[7] + m[12] * m[3] * m[6]; + + inv[10] = m[0] * m[5] * m[15] - m[0] * m[7] * m[13] - m[4] * m[1] * m[15] + m[4] * m[3] * m[13] + + m[12] * m[1] * m[7] - m[12] * m[3] * m[5]; + + inv[14] = -m[0] * m[5] * m[14] + m[0] * m[6] * m[13] + m[4] * m[1] * m[14] - m[4] * m[2] * m[13] - + m[12] * m[1] * m[6] + m[12] * m[2] * m[5]; + + inv[3] = -m[1] * m[6] * m[11] + m[1] * m[7] * m[10] + m[5] * m[2] * m[11] - m[5] * m[3] * m[10] - + m[9] * m[2] * m[7] + m[9] * m[3] * m[6]; + + inv[7] = m[0] * m[6] * m[11] - m[0] * m[7] * m[10] - m[4] * m[2] * m[11] + m[4] * m[3] * m[10] + + m[8] * m[2] * m[7] - m[8] * m[3] * m[6]; + + inv[11] = -m[0] * m[5] * m[11] + m[0] * m[7] * m[9] + m[4] * m[1] * m[11] - m[4] * m[3] * m[9] - + m[8] * m[1] * m[7] + m[8] * m[3] * m[5]; + + inv[15] = m[0] * m[5] * m[10] - m[0] * m[6] * m[9] - m[4] * m[1] * m[10] + m[4] * m[2] * m[9] + m[8] * m[1] * m[6] - + m[8] * m[2] * m[5]; + + det = m[0] * inv[0] + m[1] * inv[4] + m[2] * inv[8] + m[3] * inv[12]; + + if (det == 0) { + return false; + } + + det = 1.0 / det; + + for (i = 0; i < 16; i++) { + invOut[i] = inv[i] * det; + } + + return true; +} + +FVector TransformVecByMatrix(const FVector& vec, const float mtx[4][4]) { + FVector result; + result.x = vec.x * mtx[0][0] + vec.y * mtx[1][0] + vec.z * mtx[2][0] + mtx[3][0]; + result.y = vec.x * mtx[0][1] + vec.y * mtx[1][1] + vec.z * mtx[2][1] + mtx[3][1]; + result.z = vec.x * mtx[0][2] + vec.y * mtx[1][2] + vec.z * mtx[2][2] + mtx[3][2]; + return result; +} + +FVector TransformVecDirection(const FVector& dir, const float mtx[4][4]) { + FVector result; + result.x = dir.x * mtx[0][0] + dir.y * mtx[1][0] + dir.z * mtx[2][0]; + result.y = dir.x * mtx[0][1] + dir.y * mtx[1][1] + dir.z * mtx[2][1]; + result.z = dir.x * mtx[0][2] + dir.y * mtx[1][2] + dir.z * mtx[2][2]; + return result; +} + +Ray RayToLocalSpace(MtxF mtx, const Ray& ray) { + MtxF inverse; + + if (InverseMatrix((float*)&mtx, (float*)&inverse) != 2) { + FVector localRayOrigin = TransformVecByMatrix(ray.Origin, (float(*)[4])&inverse); + FVector localRayDir = TransformVecDirection(ray.Direction, (float(*)[4])&inverse); + return Ray{localRayOrigin, localRayDir.Normalize()}; + } + return Ray{}; // Fail. Return empty ray +} + +bool IntersectRayTriangle(const Ray& ray, const Triangle& tri, float& t) { + constexpr float EPSILON = 1e-6f; + + // Adjust the triangle vertices by the object's position + FVector v0 = tri.v0; + FVector v1 = tri.v1; + FVector v2 = tri.v2; + + FVector edge1 = v1 - v0; + FVector edge2 = v2 - v0; + FVector h = ray.Direction.Cross(edge2); + float a = edge1.Dot(h); + + if (std::abs(a) < EPSILON) + return false; // Ray is parallel to triangle + + float f = 1.0f / a; + FVector s = ray.Origin - v0; + float u = f * s.Dot(h); + + if (u < 0.0f || u > 1.0f) + return false; + + FVector q = s.Cross(edge1); + float v = f * ray.Direction.Dot(q); + + if (v < 0.0f || u + v > 1.0f) + return false; + + t = f * edge2.Dot(q); + return t > EPSILON; +} + +bool IntersectRayTriangleAndTransform(const Ray& ray, FVector pos, const Triangle& tri, float& t) { + constexpr float EPSILON = 1e-6f; + + // Adjust the triangle vertices by the object's position + FVector v0 = tri.v0 + pos; + FVector v1 = tri.v1 + pos; + FVector v2 = tri.v2 + pos; + + FVector edge1 = v1 - v0; + FVector edge2 = v2 - v0; + FVector h = ray.Direction.Cross(edge2); + float a = edge1.Dot(h); + + if (std::abs(a) < EPSILON) + return false; // Ray is parallel to triangle + + float f = 1.0f / a; + FVector s = ray.Origin - v0; + float u = f * s.Dot(h); + + if (u < 0.0f || u > 1.0f) + return false; + + FVector q = s.Cross(edge1); + float v = f * ray.Direction.Dot(q); + + if (v < 0.0f || u + v > 1.0f) + return false; + + t = f * edge2.Dot(q); + return t > EPSILON; +} + +std::optional QueryHandleIntersection(MtxF mtx, Ray ray, const Triangle& tri) { + float t; + Ray localRay = RayToLocalSpace(mtx, ray); + if (IntersectRayTriangle(localRay, tri, t)) { + FVector localClickPosition = localRay.Origin + localRay.Direction * t; + FVector worldClickPosition = TransformVecByMatrix(localClickPosition, (float(*)[4])&mtx); + + return worldClickPosition; // Stop checking objects if we selected a Gizmo handle + } + return std::nullopt; +} + +bool IntersectRaySphere(const Ray& ray, const FVector& sphereCenter, float radius, float& t) { + const float EPSILON = 1e-6f; + + // Vector from ray origin to sphere center + FVector oc = ray.Origin - sphereCenter; + + // Quadratic equation coefficients + float a = ray.Direction.Dot(ray.Direction); + float b = 2.0f * oc.Dot(ray.Direction); + float c = oc.Dot(oc) - (radius * radius); + + // Compute discriminant + float discriminant = (b * b) - (4 * a * c); + + // No intersection if discriminant is negative + if (discriminant < 0) { + return false; + } + + // Compute nearest intersection point + float sqrtD = sqrtf(discriminant); + float t0 = (-b - sqrtD) / (2.0f * a); + float t1 = (-b + sqrtD) / (2.0f * a); + + // Select the closest valid intersection + if (t0 > EPSILON) { + t = t0; + return true; + } else if (t1 > EPSILON) { + t = t1; + return true; + } + + return false; // Sphere is behind the ray origin +} + +// bool FindClosestObject(const Ray& ray, const std::vector& objects, GameObject* outObject, float& outDistance) { +// float closestDist = std::numeric_limits::max(); +// bool found = false; + +// for (const auto& obj : objects) { +// for (const auto& tri : obj.Triangles) { +// float t; +// if (IntersectRayTriangle(ray, tri, *obj.Pos, t) && t < closestDist) { +// closestDist = t; +// outObject = obj; +// found = true; +// } +// } +// } + +// if (found) { +// outDistance = closestDist; +// return true; +// } + +// return false; +// } + +// Transform a matrix to a matrix identity +void Editor_MatrixIdentity(Mat4 mtx) { + register s32 i; + register s32 k; + + for (i = 0; i < 4; i++) { + for (k = 0; k < 4; k++) { + mtx[i][k] = (i == k) ? 1.0f : 0.0f; + } + } +} + +void Editor_AddMatrix(Mat4 mtx, int32_t flags) { + EditorMatrix.emplace_back(); + guMtxF2L(mtx, &EditorMatrix.back()); + gSPMatrix(gDisplayListHead++, &EditorMatrix.back(), flags); +} + +float CalculateAngle(const FVector& start, const FVector& end) { + float dot = start.Dot(end); + + float magStart = start.Magnitude(); + float magEnd = end.Magnitude(); + + float cosAngle = dot / (magStart * magEnd); + cosAngle = std::min(1.0f, std::max(-1.0f, cosAngle)); + + return acos(cosAngle); +} + +void SetDirectionFromRotator(IRotator rot, s8 direction[3]) { + float yaw = (rot.yaw) * (M_PI / 32768.0f); // Convert from n64 binary angles 0-0xFFFF 0-360 degrees to radians + float pitch = rot.pitch * (M_PI / 32768.0f); + + // Compute unit direction vector + float x = cosf(yaw) * cosf(pitch); + float y = -sinf(pitch); + float z = -sinf(yaw) * cosf(pitch); + + // Scale into -127 to 127 range (not 128 to avoid overflow) + direction[0] = static_cast(x * 127.0f); + direction[1] = static_cast(y * 127.0f); + direction[2] = static_cast(z * 127.0f); + + //printf("Light dir %d %d %d (from rot 0x%X 0x%X 0x%X)\n", direction[0], direction[1], direction[2], rotator[0], rotator[1], rotator[2]); +} + +void SetRotatorFromDirection(FVector direction, IRotator* rot) { + // Compute pitch (inverse of -sinf(pitch)) + float pitch = -asinf(direction.y); + + // Compute yaw (inverse of cosf(yaw) * cosf(pitch)) + float yaw = atan2f(-direction.z, direction.x); + + // Convert back to N64 angles (0-0xFFFF range) + rot->pitch = (s16)(pitch * (32768.0f / M_PI)); + rot->yaw = (s16)(yaw * (32768.0f / M_PI)); + rot->roll = 0; // Assume no roll, since it's undefined from direction alone +} + +FVector GetPositionAheadOfCamera(f32 dist) { + FVector pos = FVector(cameras[0].pos[0], cameras[0].pos[1], cameras[0].pos[2]); + + f32 pitch = (cameras[0].rot[2] / 65535.0f) * 360.0f; + f32 yaw = (cameras[0].rot[1] / 65535.0f) * 360.0f; + + // Convert degrees to radians + pitch = pitch * M_PI / 180.0f; + yaw = yaw * M_PI / 180.0f; + + // Compute forward vector + FVector forward( + -sinf(yaw), // X + -sinf(pitch), // Y + cosf(yaw) // Z (vertical component) + ); + + // Move 1000 units forward from the camera position + return pos + (forward * dist); +} diff --git a/src/engine/editor/EditorMath.h b/src/engine/editor/EditorMath.h new file mode 100644 index 000000000..abc694976 --- /dev/null +++ b/src/engine/editor/EditorMath.h @@ -0,0 +1,58 @@ +#pragma once + +#include +#include +#include +#include "../CoreMath.h" +#include +#include "GameObject.h" + +extern "C" { +#include "common_structs.h" +} + +extern std::vector EditorMatrix; + +struct Ray { + FVector Origin; + FVector Direction; +}; + +struct Triangle { + FVector v0, v1, v2; +}; + +/** + * Projects 2D cursor into the game world + * + * @return FVector ray direction + * + * ray.x = camera->pos[0] + direction.x * length; + * ray.y = camera->pos[1] + direction.y * length; + * ray.z = camera->pos[2] + direction.z * length; + */ +bool IsInGameScreen(); +FVector ScreenRayTrace(); +bool QueryCollisionRayActor(Vec3f rayOrigin, Vec3f rayDir, Vec3f actorMin, Vec3f actorMax, float* t); +FVector4 MultiplyMatrixVector(float matrix[4][4], float vector[4]); +static bool InverseMatrix(const float m[16], float invOut[16]); +void Copy(MtxF* src, MtxF* dest); +void Clear(MtxF* mf); + +FVector TransformVecByMatrix(const FVector& vec, const float mtx[4][4]); +FVector TransformVecDirection(const FVector& dir, const float mtx[4][4]); +Ray RayToLocalSpace(MtxF mtx, const Ray& ray); +bool IntersectRayTriangle(const Ray& ray, const Triangle& tri, float& t); // Uses local space not global space. +bool IntersectRayTriangleAndTransform(const Ray& ray, FVector pos, const Triangle& tri, float& t); // Uses global space because no access to mtx +bool IntersectRaySphere(const Ray& ray, const FVector& sphereCenter, float radius, float& t); +/** + * optional used here so we can check for successful query and return the click position + */ +std::optional QueryHandleIntersection(MtxF mtx, Ray ray, const Triangle& tri); + +void Editor_MatrixIdentity(Mat4 mtx); +void Editor_AddMatrix(Mat4 mtx, int32_t flags); +float CalculateAngle(const FVector& start, const FVector& end); +void SetDirectionFromRotator(IRotator rot, s8 direction[3]); +void SetRotatorFromDirection(FVector direction, IRotator* rot); +FVector GetPositionAheadOfCamera(f32 dist); diff --git a/src/engine/editor/GameObject.cpp b/src/engine/editor/GameObject.cpp new file mode 100644 index 000000000..6f52c8ac8 --- /dev/null +++ b/src/engine/editor/GameObject.cpp @@ -0,0 +1,30 @@ +#include +#include "GameObject.h" + +namespace Editor { + + GameObject::GameObject(const char* name, FVector* pos, IRotator* rot, FVector* scale, Gfx* model, std::vector triangles, CollisionType collision, float boundingBoxSize, int32_t* despawnFlag, int32_t despawnValue) { + Name = name; + Pos = pos; + Rot = rot; + Scale = scale; + Model = model; + Triangles = triangles; + Collision = collision; + BoundingBoxSize = boundingBoxSize; + DespawnFlag = despawnFlag; + DespawnValue = despawnValue; + } + + GameObject::GameObject(FVector* pos, Vec3s* rot) { + //Pos = pos; + //Rot = rot; + } + + GameObject::GameObject() {}; + + void GameObject::Draw(){}; + + void GameObject::Tick(){}; + +} // namespace Editor diff --git a/src/engine/editor/GameObject.h b/src/engine/editor/GameObject.h new file mode 100644 index 000000000..ca08d8ba9 --- /dev/null +++ b/src/engine/editor/GameObject.h @@ -0,0 +1,44 @@ +#pragma once + +#include +#include +#include +#include "../CoreMath.h" +#include "EditorMath.h" +#include + +extern "C" { +#include "common_structs.h" +} + +struct Triangle; + +namespace Editor { + class GameObject { +public: + enum class CollisionType { + VTX_INTERSECT, + BOUNDING_BOX, + BOUNDING_SPHERE + }; + + GameObject(const char* name, FVector* pos, IRotator* rot, FVector* scale, Gfx* model, std::vector triangles, CollisionType collision, float boundingBoxSize, int32_t* despawnFlag, int32_t despawnValue); + GameObject(FVector* pos, Vec3s* rot); + GameObject(); + virtual void Tick(); + virtual void Draw(); + virtual void Load() {}; + + const char* Name; + FVector* Pos; + IRotator* Rot; + FVector* Scale; + Gfx* Model; + std::vector Triangles; + CollisionType Collision; + float BoundingBoxSize; + int32_t* DespawnFlag; + int32_t DespawnValue; + + }; +} diff --git a/src/engine/editor/Gizmo.cpp b/src/engine/editor/Gizmo.cpp new file mode 100644 index 000000000..4987242f0 --- /dev/null +++ b/src/engine/editor/Gizmo.cpp @@ -0,0 +1,348 @@ +#include +#include +#include "../CoreMath.h" +#include +#include "../World.h" + +#include "EditorMath.h" +#include "Gizmo.h" +#include "Collision.h" +#include "port/Engine.h" +#include +#include + + +#include "engine/actors/Ship.h" +#include "port/Game.h" +#include "Handles.h" + +extern "C" { +#include "common_structs.h" +#include "main.h" +#include "actors.h" +#include "camera.h" +#include "src/racing/collision.h" +#include "math_util.h" +} + +namespace Editor { + +void Gizmo::Load() { + /* Translate handle collision */ + RedCollision.Pos = &Pos; + RedCollision.Model = (Gfx*)"__OTR__editor/gizmo/translate_handle_red"; + + GreenCollision.Pos = &Pos; + GreenCollision.Model = (Gfx*)"__OTR__editor/gizmo/translate_handle_green"; + + BlueCollision.Pos = &Pos; + BlueCollision.Model = (Gfx*)"__OTR__editor/gizmo/translate_handle_blue"; + + /* Rotate handle collision */ + RedRotateCollision.Pos = &Pos; + RedRotateCollision.Model = (Gfx*)"__OTR__editor/gizmo/rot_handle_red"; + + GreenRotateCollision.Pos = &Pos; + GreenRotateCollision.Model = (Gfx*)"__OTR__editor/gizmo/rot_handle_green"; + + BlueRotateCollision.Pos = &Pos; + BlueRotateCollision.Model = (Gfx*)"__OTR__editor/gizmo/rot_handle_blue"; + + /* Scale handle collision */ + RedScaleCollision.Pos = &Pos; + RedScaleCollision.Model = (Gfx*)"__OTR__editor/gizmo/scale_handle_red"; + + GreenScaleCollision.Pos = &Pos; + GreenScaleCollision.Model = (Gfx*)"__OTR__editor/gizmo/scale_handle_green"; + + BlueScaleCollision.Pos = &Pos; + BlueScaleCollision.Model = (Gfx*)"__OTR__editor/gizmo/scale_handle_blue"; + + GenerateCollisionMesh(&RedCollision, (Gfx*)LOAD_ASSET_RAW(RedCollision.Model), 1.0f); + GenerateCollisionMesh(&GreenCollision, (Gfx*)LOAD_ASSET_RAW(GreenCollision.Model), 1.0f); + GenerateCollisionMesh(&BlueCollision, (Gfx*)LOAD_ASSET_RAW(BlueCollision.Model), 1.0f); + + GenerateCollisionMesh(&RedRotateCollision, (Gfx*)LOAD_ASSET_RAW(RedRotateCollision.Model), 1.0f); + GenerateCollisionMesh(&GreenRotateCollision, (Gfx*)LOAD_ASSET_RAW(GreenRotateCollision.Model), 1.0f); + GenerateCollisionMesh(&BlueRotateCollision, (Gfx*)LOAD_ASSET_RAW(BlueRotateCollision.Model), 1.0f); + + GenerateCollisionMesh(&RedScaleCollision, (Gfx*)LOAD_ASSET_RAW(RedScaleCollision.Model), 1.0f); + GenerateCollisionMesh(&GreenScaleCollision, (Gfx*)LOAD_ASSET_RAW(GreenScaleCollision.Model), 1.0f); + GenerateCollisionMesh(&BlueScaleCollision, (Gfx*)LOAD_ASSET_RAW(BlueScaleCollision.Model), 1.0f); +} + +void Gizmo::Tick() { + if (Enabled) { + TranslationMode mode = static_cast(CVarGetInteger("eGizmoMode", 0)); + switch(mode) { + case TranslationMode::Move: + Gizmo::Translate(); + break; + case TranslationMode::Rotate: + Gizmo::Rotate(); + break; + case TranslationMode::Scale: + Gizmo::Scale(); + break; + } + } +} + +// Makes the gizmo visible +void Gizmo::SetGizmo(GameObject* object, Ray ray) { + _selected = object; + _ray = ray.Direction; + Pos = FVector( + object->Pos->x, + object->Pos->y, + object->Pos->z + ); +} + +void Gizmo::SetGizmoNoCursor(GameObject* object) { + _selected = object; + Pos = FVector( + object->Pos->x, + object->Pos->y, + object->Pos->z + ); +} + +void Gizmo::Translate() { + static float length = 180.0f; // Default value + + // Prevent nullptr exceptions + if (_selected == NULL || _selected->Pos == NULL) { + return; + } + + if (Enabled) { + length = sqrt( + pow(_selected->Pos->x - cameras[0].pos[0], 2) + + pow(_selected->Pos->y - cameras[0].pos[1], 2) + + pow(_selected->Pos->z - cameras[0].pos[2], 2) + ); + + switch(SelectedHandle) { + case GizmoHandle::All_Axis: + _selected->Pos->x = (cameras[0].pos[0] + _ray.x * PickDistance) + _cursorOffset.x; + _selected->Pos->y = (cameras[0].pos[1] + _ray.y * PickDistance) + _cursorOffset.y; + _selected->Pos->z = (cameras[0].pos[2] + _ray.z * PickDistance) + _cursorOffset.z; + if (CVarGetInteger("gEditorSnapToGround", 0) == true) { + _selected->Pos->y = SnapToSurface(_selected->Pos); + } + break; + case GizmoHandle::X_Axis: + _selected->Pos->x = (cameras[0].pos[0] + _ray.x * length) + _cursorOffset.x; + if (CVarGetInteger("gEditorSnapToGround", 0) == true) { + _selected->Pos->y = SnapToSurface(_selected->Pos); + } + break; + case GizmoHandle::Y_Axis: + _selected->Pos->y = (cameras[0].pos[1] + _ray.y * length) + _cursorOffset.y; + break; + case GizmoHandle::Z_Axis: + _selected->Pos->z = (cameras[0].pos[2] + _ray.z * length) + _cursorOffset.z; + if (CVarGetInteger("gEditorSnapToGround", 0) == true) { + _selected->Pos->y = SnapToSurface(_selected->Pos); + } + break; + } + + if (CVarGetInteger("gEditorBoundary", 0) == true) { + _selected->Pos->x = MAX(_selected->Pos->x, dimensions.MinX); + _selected->Pos->x = MIN(_selected->Pos->x, dimensions.MaxX); + + _selected->Pos->y = MAX(_selected->Pos->y, dimensions.MinY); + _selected->Pos->y = MIN(_selected->Pos->y, dimensions.MaxY); + + _selected->Pos->z = MAX(_selected->Pos->z, dimensions.MinZ); + _selected->Pos->z = MIN(_selected->Pos->z, dimensions.MaxZ); + } + + Pos = FVector( + _selected->Pos->x, + _selected->Pos->y, + _selected->Pos->z + ); + } +} + +f32 Gizmo::SnapToSurface(FVector* pos) { + float y; + y = spawn_actor_on_surface(pos->x, 2000.0f, pos->z); + + if (y == 3000.0f || y == -3000.0f) { + y = pos->y; + } + + return y; +} + +void Gizmo::Rotate() { + FVector cam = FVector(cameras[0].pos[0], cameras[0].pos[1], cameras[0].pos[2]); + + if (_selected == nullptr || _selected->Rot == nullptr) { + return; + } + + // Store initial scale at the beginning of the drag + if (ManipulationStart) { + ManipulationStart = false; + InitialRotation = *_selected->Rot; // Store initial rotation + } + + // Initial click position + FVector clickPos = *_selected->Pos - _cursorOffset; + + // Calculate difference + FVector diff = (cam + _ray * PickDistance) - clickPos; + + // Set rotation sensitivity + diff = diff * 100.0f; + switch (SelectedHandle) { + case GizmoHandle::X_Axis: + _selected->Rot->pitch = (uint16_t)InitialRotation.pitch + diff.x; + break; + case GizmoHandle::Y_Axis: + _selected->Rot->yaw = (uint16_t)InitialRotation.yaw + diff.y; + break; + case GizmoHandle::Z_Axis: + _selected->Rot->roll = (uint16_t)InitialRotation.roll + diff.z; + break; + } +} + +void Gizmo::Scale() { + FVector cam = FVector(cameras[0].pos[0], cameras[0].pos[1], cameras[0].pos[2]); + if (_selected == nullptr || _selected->Scale == nullptr) { + return; + } + + // Store initial scale at the beginning of the drag + if (ManipulationStart) { + ManipulationStart = false; + InitialScale = *_selected->Scale; + } + + // Initial click position + FVector clickPos = *_selected->Pos - _cursorOffset; + + // Calculate difference + FVector diff = (cam + _ray * PickDistance) - clickPos; + + // Lower scaling sensitivity + diff = diff * 0.01f; + + switch (SelectedHandle) { + case GizmoHandle::X_Axis: + _selected->Scale->x = InitialScale.x + -diff.x; + break; + case GizmoHandle::Y_Axis: + _selected->Scale->y = InitialScale.y + diff.y; + break; + case GizmoHandle::Z_Axis: + _selected->Scale->z = InitialScale.z + -diff.z; + break; + case GizmoHandle::All_Axis: + float uniformScale = (diff.x - diff.y - diff.z) / 3.0f; + uniformScale *= 1.8; // Increased sensitivity + _selected->Scale->x = uniformScale; + _selected->Scale->y = uniformScale; + _selected->Scale->z = uniformScale; + break; + } +} + +void Gizmo::Draw() { + if (Enabled) { + DrawHandles(); + //DebugCollision(&RedCollision, Pos, {0, 0, 0}, {0.05f, 0.05f, 0.05f}, RedCollision.Triangles); + //DebugCollision(&BlueCollision, Pos, {90, 0, 0}, {0.05f, 0.05f, 0.05f}, BlueCollision.Triangles); + //DebugCollision(&GreenCollision, Pos, {0, 90, 0}, {0.05f, 0.05f, 0.05f}, GreenCollision.Triangles); + //DebugCollision(&RedRotateCollision, Pos, {0, 0, 0}, {0.15f, 0.15f, 0.15f}, RedRotateCollision.Triangles); + //DebugCollision((uintptr_t)_selected, Pos, BlueRotateCollision.Triangles); + //DebugCollision((uintptr_t)_selected, Pos, GreenRotateCollision.Triangles); + } +} + +void Gizmo::DrawHandles() { + Mat4 mainMtx; + Editor_MatrixIdentity((float(*)[4])&Mtx_RedX); + Editor_MatrixIdentity((float(*)[4])&Mtx_GreenY); + Editor_MatrixIdentity((float(*)[4])&Mtx_BlueZ); + + const char* blueHandle; + const char* greenHandle; + const char* redHandle; + const char* center = nullptr; + IRotator blueRot; + IRotator greenRot; + IRotator redRot; + FVector scale = {0.05f, 0.05f, 0.05f}; + + switch(static_cast(CVarGetInteger("eGizmoMode", 0))) { + case TranslationMode::Move: + center = "__OTR__editor/gizmo/center_handle"; + blueHandle = "__OTR__editor/gizmo/translate_handle_blue"; + greenHandle = "__OTR__editor/gizmo/translate_handle_green"; + redHandle = "__OTR__editor/gizmo/translate_handle_red"; + _gizmoOffset = 8.0f; + greenRot = {0, 90, 0}; + blueRot = {90, 0, 0}; + scale = {0.3, 0.3, 0.3}; + break; + case TranslationMode::Rotate: + center = nullptr; // No All_Axis drag button for Rotation + blueHandle = "__OTR__editor/gizmo/rot_handle_blue"; + greenHandle = "__OTR__editor/gizmo/rot_handle_green"; + redHandle = "__OTR__editor/gizmo/rot_handle_red"; + _gizmoOffset = 0.0f; + scale = {0.15f, 0.15f, 0.15f}; + break; + case TranslationMode::Scale: + center = "__OTR__editor/gizmo/center_handle"; + blueHandle = "__OTR__editor/gizmo/scale_handle_blue"; + greenHandle = "__OTR__editor/gizmo/scale_handle_green"; + redHandle = "__OTR__editor/gizmo/scale_handle_red"; + _gizmoOffset = 8.0f; + greenRot = {0, 90, 0}; + blueRot = {90, 0, 0}; + scale = {0.05f, 0.05f, 0.05f}; + break; + } + + ApplyMatrixTransformations(mainMtx, Pos, Rot, {1, 1, 1}); + Editor_AddMatrix(mainMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + if (center) { + Mat4 CenterMtx; + Editor_MatrixIdentity(CenterMtx); + + // Calculate camera-to-object distance + FVector cameraDir = FVector(Pos.x - cameras[0].pos[0], Pos.y - cameras[0].pos[1], Pos.z - cameras[0].pos[2]); + cameraDir = cameraDir.Normalize(); + + IRotator centerRot; + SetRotatorFromDirection(cameraDir, ¢erRot); + centerRot.pitch += 0x4000; // Align mesh to face camera since it was not exported facing the correct direction + centerRot.yaw += 0x4000; + + ApplyMatrixTransformations(CenterMtx, Pos, centerRot, FVector(0.06f, 0.06f, 0.06f)); + Editor_AddMatrix(CenterMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)center); + } + + ApplyMatrixTransformations((float(*)[4])&Mtx_RedX, FVector(Pos.x, Pos.y, Pos.z - _gizmoOffset), Rot, scale); + Editor_AddMatrix((float(*)[4])&Mtx_RedX, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)redHandle); + + ApplyMatrixTransformations((float(*)[4])&Mtx_GreenY, FVector(Pos.x - _gizmoOffset, Pos.y, Pos.z), greenRot, scale); + Editor_AddMatrix((float(*)[4])&Mtx_GreenY, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)greenHandle); + + ApplyMatrixTransformations((float(*)[4])&Mtx_BlueZ, FVector(Pos.x, Pos.y + _gizmoOffset, Pos.z), blueRot, scale); + Editor_AddMatrix((float(*)[4])&Mtx_BlueZ, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)blueHandle); +} +} diff --git a/src/engine/editor/Gizmo.h b/src/engine/editor/Gizmo.h new file mode 100644 index 000000000..47ef99549 --- /dev/null +++ b/src/engine/editor/Gizmo.h @@ -0,0 +1,85 @@ +#pragma once + +#include +#include +#include "Collision.h" +#include "GameObject.h" + +namespace Editor { + +class Gizmo { +public: + + enum class GizmoHandle { + None, + All_Axis, + X_Axis, + Y_Axis, + Z_Axis + }; + + enum class TranslationMode { + Move, + Rotate, + Scale + }; + + void Tick(); + void Draw(); + void Load(); + + void SetGizmo(GameObject* object, Ray ray); + void SetGizmoNoCursor(GameObject* object); // Used for scene explorer selection + void Translate(); + void Rotate(); + void Scale(); + void DrawHandles(); + f32 SnapToSurface(FVector* pos); + + struct TrackDimensions { + s16 MinX = -10000; + s16 MaxX = 10000; + s16 MinY = -3000; + s16 MaxY = 3000; + s16 MinZ = -10000; + s16 MaxZ = 10000; + }; + TrackDimensions dimensions; + + bool Enabled; + bool ManipulationStart = true; + FVector InitialScale = {1, 1, 1}; + IRotator InitialRotation = {0, 0, 0}; + GizmoHandle SelectedHandle; + + GameObject RedCollision; + GameObject GreenCollision; + GameObject BlueCollision; + + GameObject RedRotateCollision; + GameObject GreenRotateCollision; + GameObject BlueRotateCollision; + + GameObject RedScaleCollision; + GameObject GreenScaleCollision; + GameObject BlueScaleCollision; + + MtxF Mtx_RedX; + MtxF Mtx_GreenY; + MtxF Mtx_BlueZ; + + FVector Pos; // Global scene view + IRotator Rot = {0, 0, 0}; + float AllAxisRadius = 3.0f; // Free move selection radius + float PickDistance; + FVector _cursorOffset; + float _gizmoOffset = 8.0f; + + float HandleSize = 2.0f; + + FVector _ray; + GameObject* _selected = nullptr; + private: + bool _draw = false; +}; +} diff --git a/src/engine/editor/Handles.cpp b/src/engine/editor/Handles.cpp new file mode 100644 index 000000000..9074a2b45 --- /dev/null +++ b/src/engine/editor/Handles.cpp @@ -0,0 +1,23 @@ +#include +#include + +#include "Handles.h" + +namespace Editor { + Handles::Handles() { + Pos = &pos; + Rot = &rot; + } + + void Handles::Load() { + + } + + void Handles::Tick() { + + } + + void Handles::Draw() { + + } +} \ No newline at end of file diff --git a/src/engine/editor/Handles.h b/src/engine/editor/Handles.h new file mode 100644 index 000000000..1faa4b59e --- /dev/null +++ b/src/engine/editor/Handles.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include +#include "GameObject.h" + +namespace Editor { + class Handles : public GameObject { + + Handles(); + + virtual void Tick() override; + virtual void Draw() override; + virtual void Load() override; + + FVector pos; + IRotator rot; + }; +} diff --git a/src/engine/editor/Light.cpp b/src/engine/editor/Light.cpp new file mode 100644 index 000000000..594383bd3 --- /dev/null +++ b/src/engine/editor/Light.cpp @@ -0,0 +1,84 @@ +#include +#include +#include +#include "../CoreMath.h" +#include +#include "../World.h" + +#include "Light.h" +#include "port/Engine.h" +#include +#include + +#include "engine/actors/Ship.h" +#include "port/Game.h" +#include "Gizmo.h" + +#include "EditorMath.h" + +extern "C" { +#include "common_structs.h" +#include "main.h" +#include "defines.h" +#include "actors.h" +#include "camera.h" +#include "math_util.h" +#include "math_util_2.h" +} + +namespace Editor { + +size_t LightObject::NumLights = 0; + + LightObject::LightObject(const char* name, FVector* pos, s8* direction) : GameObject(nullptr, nullptr) { + Name = name; + Pos = &LightPos; + Rot = &LightRot; + Scale = &LightScale; + + DespawnFlag = &_despawnFlag; + DespawnValue = -1; + + Direction = direction; + + Collision = CollisionType::BOUNDING_BOX; + BoundingBoxSize = 4.0f; + + NumLights += 1; + } + + void LightObject::Load() { + } + + void LightObject::Tick() { + SetDirectionFromRotator(*Rot, Direction); + } + void LightObject::Draw() { + Mat4 mtx_sun; + Editor_MatrixIdentity(mtx_sun); + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + + + // Calculate camera-to-object distance + FVector cameraDir = FVector(LightPos.x - cameras[0].pos[0], LightPos.y - cameras[0].pos[1], LightPos.z - cameras[0].pos[2]); + cameraDir = cameraDir.Normalize(); + + IRotator centerRot; + SetRotatorFromDirection(cameraDir, ¢erRot); + + // Account for object not facing the correct direction when exported + centerRot.yaw += 0x4000; + ApplyMatrixTransformations(mtx_sun, LightPos, centerRot, LightScale); + Editor_AddMatrix(mtx_sun, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, sun_LightModel_mesh); + + // Draw Arrow + Mat4 mtx_arrow; + IRotator rot = LightRot; + rot.yaw += 0x4000; + ApplyMatrixTransformations(mtx_arrow, LightPos, rot, LightScale); + Editor_AddMatrix(mtx_arrow, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)"__OTR__editor/light/sun_arrow"); + } +} diff --git a/src/engine/editor/Light.h b/src/engine/editor/Light.h new file mode 100644 index 000000000..972942663 --- /dev/null +++ b/src/engine/editor/Light.h @@ -0,0 +1,2143 @@ +#pragma once + +#include +#include +#include "Collision.h" +#include "Gizmo.h" +#include "GameObject.h" + +namespace Editor { + +class LightObject : public GameObject { +public: + LightObject(const char* name, FVector* pos, s8* direction); + + virtual void Draw() override; + virtual void Tick() override; + virtual void Load() override; + + static size_t NumLights; + FVector LightPos = FVector(0, 100, 0); + IRotator LightRot = IRotator(0, 0, 0); + FVector LightScale = FVector(0.1, 0.1, 0.1); + s8* Direction; + s32 _despawnFlag = 0; + +u8 sun_sun_rgba32[16384] = { + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xed, 0x8e, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xe4, 0x85, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfb, 0x9d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xdb, 0x7d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xac, 0x01, 0xff, + 0xe5, 0x87, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xae, 0x01, 0xff, + 0xd1, 0x72, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xba, 0x00, 0xff, + 0xff, 0xaa, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xc4, 0x01, 0xff, 0xfe, 0xba, 0x00, 0xff, + 0xc6, 0x67, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xc9, 0x00, 0xff, + 0xff, 0xc8, 0x01, 0xff, 0xda, 0x7c, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xd9, 0x00, 0xff, + 0xff, 0xd1, 0x01, 0xff, 0xff, 0xc0, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xd8, 0x00, 0xff, + 0xff, 0xd8, 0x01, 0xff, 0xfe, 0xa2, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xe5, 0x00, 0xff, + 0xff, 0xde, 0x00, 0xff, 0xff, 0xb8, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xe9, 0x01, 0xff, 0xff, 0xcc, 0x01, 0xff, + 0xcd, 0x6f, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf9, 0x00, 0xff, 0xff, 0xf3, 0x00, 0xff, + 0xff, 0xec, 0x00, 0xff, 0xff, 0xae, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xf5, 0x00, 0xff, + 0xff, 0xf8, 0x00, 0xff, 0xff, 0xf2, 0x00, 0xff, + 0xf8, 0x99, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xfa, 0x01, 0xff, 0xff, 0xa5, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xca, 0x00, 0xff, 0xc1, 0x63, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xfd, 0x01, 0xff, 0xf6, 0x98, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xef, 0x91, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf6, 0x01, 0xff, 0xef, 0x91, 0x00, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf9, 0x01, 0xff, 0xeb, 0x8c, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xfe, 0xa0, 0x01, 0xff, + 0xef, 0x91, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfd, 0x9e, 0x00, 0xff, + 0xff, 0xa4, 0x00, 0xff, 0xcf, 0x70, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xc6, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xf3, 0x01, 0xff, 0xdc, 0x7e, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xc2, 0x01, 0xff, + 0xff, 0xb3, 0x00, 0xff, 0xff, 0xa4, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xb3, 0x01, 0xff, 0xff, 0xb9, 0x01, 0xff, + 0xe2, 0x84, 0x01, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xf7, 0x01, 0xff, + 0xe1, 0x82, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xec, 0x00, 0xff, 0xcd, 0x6e, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xe4, 0x00, 0xff, + 0xff, 0xd7, 0x01, 0xff, 0xff, 0xc9, 0x01, 0xff, + 0xff, 0xb9, 0x00, 0xff, 0xcf, 0x70, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, + 0xff, 0xcf, 0x01, 0xff, 0xf8, 0x99, 0x01, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xbe, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xe5, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf8, 0x00, 0xff, 0xff, 0xeb, 0x00, 0xff, + 0xff, 0xde, 0x00, 0xff, 0xff, 0xcf, 0x00, 0xff, + 0xe1, 0x82, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xd5, 0x00, 0xff, + 0xfe, 0xdc, 0x00, 0xff, 0xff, 0xe7, 0x01, 0xff, + 0xff, 0xb2, 0x00, 0xff, 0xd0, 0x72, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xf7, 0x00, 0xff, 0xea, 0x8b, 0x00, 0xff, + 0xfc, 0x9e, 0x00, 0xff, 0xff, 0xb0, 0x01, 0xff, + 0xff, 0xb1, 0x00, 0xff, 0xff, 0xa2, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xdc, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xf4, 0x00, 0xff, + 0xff, 0xe7, 0x01, 0xff, 0xf6, 0x98, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xe1, 0x00, 0xff, + 0xff, 0xea, 0x00, 0xff, 0xff, 0xf3, 0x01, 0xff, + 0xfe, 0xfc, 0x00, 0xff, 0xfe, 0xcb, 0x00, 0xff, + 0xe2, 0x84, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xa2, 0x00, 0xff, 0xfe, 0xb5, 0x00, 0xff, + 0xff, 0xc9, 0x01, 0xff, 0xff, 0xda, 0x01, 0xff, + 0xff, 0xe1, 0x01, 0xff, 0xff, 0xe6, 0x01, 0xff, + 0xff, 0xe7, 0x01, 0xff, 0xff, 0xe2, 0x01, 0xff, + 0xff, 0xda, 0x01, 0xff, 0xfe, 0xcb, 0x00, 0xff, + 0xff, 0xbd, 0x00, 0xff, 0xff, 0xaa, 0x01, 0xff, + 0xf1, 0x93, 0x00, 0xff, 0xda, 0x7c, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xfd, 0x00, 0xff, + 0xff, 0xb0, 0x00, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xff, 0xf5, 0x01, 0xff, 0xff, 0xfe, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xe3, 0x00, 0xff, 0xff, 0xa0, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xb7, 0x00, 0xff, + 0xff, 0xd4, 0x00, 0xff, 0xff, 0xdc, 0x01, 0xff, + 0xff, 0xe2, 0x01, 0xff, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xee, 0x00, 0xff, 0xfe, 0xf3, 0x00, 0xff, + 0xfe, 0xf7, 0x00, 0xff, 0xff, 0xfd, 0x00, 0xff, + 0xfe, 0xfc, 0x00, 0xff, 0xfe, 0xf9, 0x00, 0xff, + 0xff, 0xf5, 0x01, 0xff, 0xff, 0xf0, 0x01, 0xff, + 0xff, 0xe9, 0x00, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xff, 0xdc, 0x00, 0xff, 0xff, 0xd4, 0x00, 0xff, + 0xff, 0xb9, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xcb, 0x01, 0xff, + 0xce, 0x6f, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xca, 0x00, 0xff, 0xd5, 0x76, 0x01, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xfa, 0x9b, 0x01, 0xff, + 0xfe, 0xd2, 0x00, 0xff, 0xfe, 0xe2, 0x00, 0xff, + 0xff, 0xf0, 0x00, 0xff, 0xfe, 0xf5, 0x00, 0xff, + 0xff, 0xfc, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xfe, 0x01, 0xff, + 0xff, 0xf7, 0x00, 0xff, 0xfe, 0xf0, 0x00, 0xff, + 0xff, 0xe4, 0x01, 0xff, 0xff, 0xd4, 0x01, 0xff, + 0xff, 0xa7, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xe2, 0x01, 0xff, 0xe0, 0x82, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xd4, 0x75, 0x00, 0xff, + 0xff, 0xbb, 0x00, 0xff, 0xfe, 0xd7, 0x00, 0xff, + 0xff, 0xe8, 0x01, 0xff, 0xff, 0xf7, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf8, 0x00, 0xff, 0xff, 0xeb, 0x00, 0xff, + 0xff, 0xda, 0x00, 0xff, 0xff, 0xc1, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfb, 0x9d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xf6, 0x98, 0x01, 0xff, 0xff, 0xcb, 0x01, 0xff, + 0xff, 0xdc, 0x01, 0xff, 0xff, 0xed, 0x01, 0xff, + 0xff, 0xfb, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xf1, 0x01, 0xff, 0xff, 0xdf, 0x00, 0xff, + 0xff, 0xcc, 0x00, 0xff, 0xf6, 0x97, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xc6, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xca, 0x00, 0xff, 0xfe, 0xe3, 0x00, 0xff, + 0xfe, 0xf3, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xf5, 0x00, 0xff, + 0xff, 0xe3, 0x00, 0xff, 0xff, 0xca, 0x01, 0xff, + 0xd1, 0x73, 0x01, 0xff, 0xcf, 0x71, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xbc, 0x01, 0xff, + 0xff, 0xdb, 0x00, 0xff, 0xff, 0xf4, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xf3, 0x01, 0xff, 0xff, 0xd9, 0x01, 0xff, + 0xff, 0xb6, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xfd, 0x9f, 0x00, 0xff, 0xff, 0xd3, 0x00, 0xff, + 0xff, 0xec, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xe7, 0x00, 0xff, + 0xff, 0xd1, 0x01, 0xff, 0xf1, 0x92, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xc9, 0x01, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xfe, 0xf8, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf5, 0x01, 0xff, + 0xff, 0xe0, 0x01, 0xff, 0xff, 0xc8, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xcf, 0x71, 0x00, 0xff, 0xc7, 0x68, 0x01, 0xff, + 0xbd, 0x5e, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0xff, 0xaa, 0x00, 0xff, + 0xff, 0xd8, 0x01, 0xff, 0xff, 0xef, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xed, 0x00, 0xff, 0xff, 0xd7, 0x01, 0xff, + 0xff, 0xa9, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xf6, 0x00, 0xff, + 0xff, 0xe7, 0x01, 0xff, 0xff, 0xd7, 0x01, 0xff, + 0xff, 0xc7, 0x01, 0xff, 0xff, 0xb8, 0x01, 0xff, + 0xff, 0xa7, 0x00, 0xff, 0xf6, 0x98, 0x00, 0xff, + 0xe7, 0x89, 0x01, 0xff, 0xd9, 0x7b, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0x99, 0x00, 0xff, 0xff, 0xa6, 0x00, 0xff, + 0xff, 0xac, 0x00, 0xff, 0xff, 0xa4, 0x00, 0xff, + 0xfa, 0x9b, 0x01, 0xff, 0xf0, 0x91, 0x00, 0xff, + 0xe4, 0x85, 0x00, 0xff, 0xd9, 0x7a, 0x01, 0xff, + 0xcb, 0x6c, 0x00, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xca, 0x6b, 0x01, 0xff, 0xff, 0xc5, 0x00, 0xff, + 0xff, 0xe4, 0x01, 0xff, 0xfe, 0xfa, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xfb, 0x01, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xff, 0xc5, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf8, 0x00, 0xff, + 0xff, 0xe7, 0x00, 0xff, 0xff, 0xd7, 0x00, 0xff, + 0xff, 0xc5, 0x00, 0xff, 0xff, 0xb4, 0x00, 0xff, + 0xf4, 0x95, 0x00, 0xff, 0xd0, 0x71, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xaf, 0x00, 0xff, + 0xff, 0xbc, 0x01, 0xff, 0xff, 0xca, 0x01, 0xff, + 0xff, 0xd9, 0x00, 0xff, 0xff, 0xe9, 0x01, 0xff, + 0xff, 0xec, 0x00, 0xff, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xe2, 0x01, 0xff, 0xff, 0xdc, 0x00, 0xff, + 0xff, 0xd5, 0x00, 0xff, 0xff, 0xcd, 0x01, 0xff, + 0xdf, 0x80, 0x00, 0xff, 0xfe, 0xcb, 0x00, 0xff, + 0xff, 0xe9, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xcc, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xfa, 0x00, 0xff, + 0xff, 0xe0, 0x00, 0xff, 0xff, 0xb8, 0x00, 0xff, + 0xec, 0x8e, 0x01, 0xff, 0xc4, 0x65, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xc4, 0x00, 0xff, 0xff, 0xd1, 0x00, 0xff, + 0xff, 0xdf, 0x01, 0xff, 0xfe, 0xed, 0x00, 0xff, + 0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xf4, 0x96, 0x01, 0xff, 0xff, 0xd1, 0x00, 0xff, + 0xff, 0xee, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xec, 0x01, 0xff, + 0xff, 0xd0, 0x00, 0xff, 0xec, 0x8d, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xe4, 0x01, 0xff, 0xfe, 0xb5, 0x00, 0xff, + 0xe2, 0x83, 0x01, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xfe, 0xe4, 0x00, 0xff, 0xff, 0xf2, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xa8, 0x00, 0xff, 0xff, 0xd6, 0x00, 0xff, + 0xff, 0xf3, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xef, 0x00, 0xff, + 0xff, 0xd5, 0x01, 0xff, 0xff, 0xa0, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xe3, 0x00, 0xff, 0xff, 0xaf, 0x00, 0xff, + 0xd8, 0x79, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xff, 0xf7, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xb5, 0x00, 0xff, 0xff, 0xdb, 0x01, 0xff, + 0xff, 0xf6, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf4, 0x01, 0xff, + 0xff, 0xd9, 0x00, 0xff, 0xfe, 0xb1, 0x00, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xa6, 0x00, 0xff, + 0xc9, 0x6a, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xc3, 0x00, 0xff, 0xff, 0xe0, 0x01, 0xff, + 0xff, 0xf9, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf7, 0x00, 0xff, + 0xff, 0xde, 0x01, 0xff, 0xfe, 0xc2, 0x00, 0xff, + 0xd0, 0x72, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xe5, 0x87, 0x01, 0xff, + 0xff, 0xc9, 0x01, 0xff, 0xfe, 0xe2, 0x00, 0xff, + 0xff, 0xfb, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xfa, 0x00, 0xff, + 0xff, 0xe2, 0x01, 0xff, 0xff, 0xc9, 0x01, 0xff, + 0xe1, 0x83, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xfe, 0xff, 0x00, 0xff, 0xf4, 0x95, 0x01, 0xff, + 0xff, 0xcd, 0x01, 0xff, 0xff, 0xe5, 0x00, 0xff, + 0xff, 0xfe, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xfd, 0x01, 0xff, + 0xff, 0xe4, 0x00, 0xff, 0xff, 0xcc, 0x00, 0xff, + 0xf2, 0x93, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbb, 0x5d, 0x00, 0xff, 0xf1, 0x92, 0x01, 0xff, + 0xff, 0xca, 0x00, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xff, 0xfc, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfb, 0x00, 0xff, + 0xff, 0xe3, 0x00, 0xff, 0xff, 0xcb, 0x00, 0xff, + 0xf2, 0x93, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xdd, 0x7f, 0x00, 0xff, + 0xff, 0xc4, 0x00, 0xff, 0xff, 0xdd, 0x00, 0xff, + 0xff, 0xf6, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xf7, 0x00, 0xff, + 0xff, 0xde, 0x01, 0xff, 0xfe, 0xc4, 0x00, 0xff, + 0xe1, 0x82, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xca, 0x6b, 0x01, 0xff, + 0xff, 0xbb, 0x00, 0xff, 0xff, 0xd7, 0x00, 0xff, + 0xff, 0xf1, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf2, 0x01, 0xff, + 0xff, 0xd9, 0x01, 0xff, 0xff, 0xbc, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0xbf, 0x60, 0x00, 0xff, + 0xfc, 0x9e, 0x00, 0xff, 0xff, 0xdb, 0x00, 0xff, + 0xfe, 0xa8, 0x00, 0xff, 0xfe, 0xcf, 0x00, 0xff, + 0xff, 0xea, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xed, 0x01, 0xff, + 0xff, 0xd1, 0x00, 0xff, 0xff, 0xac, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xfe, 0x01, 0xff, + 0xff, 0xf0, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xcd, 0x6f, 0x00, 0xff, + 0xff, 0xa5, 0x01, 0xff, 0xff, 0xd9, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xf2, 0x94, 0x00, 0xff, 0xff, 0xc9, 0x01, 0xff, + 0xff, 0xe3, 0x00, 0xff, 0xff, 0xfb, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xfc, 0x01, 0xff, 0xff, 0xe6, 0x01, 0xff, + 0xff, 0xc9, 0x00, 0xff, 0xf9, 0x9b, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xf9, 0x01, 0xff, + 0xff, 0xea, 0x01, 0xff, 0xff, 0xdd, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xd6, 0x77, 0x01, 0xff, + 0xff, 0xa9, 0x00, 0xff, 0xff, 0xd7, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xdc, 0x7e, 0x00, 0xff, 0xfe, 0xc1, 0x00, 0xff, + 0xff, 0xdd, 0x01, 0xff, 0xfe, 0xf4, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf6, 0x01, 0xff, 0xff, 0xdf, 0x01, 0xff, + 0xff, 0xc2, 0x00, 0xff, 0xe4, 0x86, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xf3, 0x00, 0xff, + 0xff, 0xe3, 0x00, 0xff, 0xff, 0xd5, 0x01, 0xff, + 0xff, 0xc7, 0x01, 0xff, 0xff, 0xb9, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5e, 0x01, 0xff, 0xde, 0x80, 0x00, 0xff, + 0xff, 0xaa, 0x01, 0xff, 0xff, 0xd3, 0x00, 0xff, + 0xff, 0xed, 0x01, 0xff, 0xff, 0xfd, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xba, 0x00, 0xff, + 0xfe, 0xd5, 0x00, 0xff, 0xff, 0xee, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xee, 0x00, 0xff, 0xff, 0xd7, 0x01, 0xff, + 0xff, 0xba, 0x01, 0xff, 0xcd, 0x6e, 0x01, 0xff, + 0xff, 0xba, 0x01, 0xff, 0xff, 0xc4, 0x01, 0xff, + 0xff, 0xcc, 0x00, 0xff, 0xff, 0xd3, 0x01, 0xff, + 0xff, 0xd9, 0x00, 0xff, 0xfe, 0xde, 0x00, 0xff, + 0xff, 0xdc, 0x00, 0xff, 0xfe, 0xcc, 0x00, 0xff, + 0xff, 0xbe, 0x01, 0xff, 0xff, 0xaf, 0x00, 0xff, + 0xff, 0xa3, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xc2, 0x64, 0x01, 0xff, 0xe6, 0x87, 0x00, 0xff, + 0xff, 0xa7, 0x01, 0xff, 0xff, 0xb7, 0x00, 0xff, + 0xff, 0xc8, 0x00, 0xff, 0xff, 0xd8, 0x00, 0xff, + 0xff, 0xea, 0x01, 0xff, 0xff, 0xf9, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xb1, 0x01, 0xff, + 0xff, 0xce, 0x00, 0xff, 0xff, 0xe6, 0x00, 0xff, + 0xff, 0xf9, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf9, 0x00, 0xff, + 0xff, 0xe6, 0x01, 0xff, 0xff, 0xcf, 0x01, 0xff, + 0xff, 0xb1, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xc6, 0x67, 0x01, 0xff, 0xd2, 0x73, 0x00, 0xff, + 0xdf, 0x80, 0x00, 0xff, 0xe9, 0x8b, 0x00, 0xff, + 0xf3, 0x95, 0x00, 0xff, 0xfb, 0x9d, 0x00, 0xff, + 0xf6, 0x98, 0x00, 0xff, 0xea, 0x8b, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xc9, 0x6a, 0x00, 0xff, 0xd8, 0x79, 0x01, 0xff, + 0xe6, 0x88, 0x01, 0xff, 0xf5, 0x97, 0x00, 0xff, + 0xfe, 0xa6, 0x00, 0xff, 0xff, 0xb7, 0x01, 0xff, + 0xff, 0xc7, 0x01, 0xff, 0xff, 0xd6, 0x00, 0xff, + 0xff, 0xe6, 0x00, 0xff, 0xff, 0xf4, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xf0, 0x91, 0x00, 0xff, + 0xff, 0xbf, 0x01, 0xff, 0xfe, 0xd4, 0x00, 0xff, + 0xff, 0xe9, 0x00, 0xff, 0xff, 0xfb, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xf9, 0x00, 0xff, 0xff, 0xeb, 0x00, 0xff, + 0xff, 0xd6, 0x00, 0xff, 0xff, 0xc1, 0x01, 0xff, + 0xf1, 0x92, 0x00, 0xff, 0xbc, 0x5e, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xc0, 0x62, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xae, 0x01, 0xff, 0xfe, 0xc3, 0x00, 0xff, + 0xfe, 0xd9, 0x00, 0xff, 0xfe, 0xef, 0x00, 0xff, + 0xff, 0xfd, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xf8, 0x00, 0xff, + 0xfe, 0xee, 0x00, 0xff, 0xff, 0xdd, 0x01, 0xff, + 0xfe, 0xc7, 0x00, 0xff, 0xff, 0xae, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xd1, 0x73, 0x00, 0xff, 0xff, 0xb2, 0x00, 0xff, + 0xff, 0xc8, 0x01, 0xff, 0xff, 0xe2, 0x01, 0xff, + 0xfe, 0xf1, 0x00, 0xff, 0xff, 0xfe, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xf9, 0x01, 0xff, 0xff, 0xee, 0x00, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xce, 0x00, 0xff, + 0xff, 0xb5, 0x01, 0xff, 0xdf, 0x80, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xf3, 0x94, 0x01, 0xff, + 0xff, 0xb6, 0x00, 0xff, 0xff, 0xd1, 0x01, 0xff, + 0xfe, 0xe4, 0x00, 0xff, 0xff, 0xf0, 0x01, 0xff, + 0xff, 0xfa, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf6, 0x00, 0xff, + 0xff, 0xed, 0x00, 0xff, 0xfe, 0xe3, 0x00, 0xff, + 0xff, 0xd2, 0x01, 0xff, 0xff, 0xba, 0x01, 0xff, + 0xf9, 0x9a, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5e, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0xff, 0xa4, 0x00, 0xff, 0xff, 0xbf, 0x01, 0xff, + 0xfe, 0xd0, 0x00, 0xff, 0xff, 0xdf, 0x01, 0xff, + 0xff, 0xec, 0x01, 0xff, 0xff, 0xf5, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0xff, + 0xfe, 0xf3, 0x00, 0xff, 0xff, 0xeb, 0x01, 0xff, + 0xff, 0xde, 0x00, 0xff, 0xff, 0xcf, 0x00, 0xff, + 0xff, 0xbf, 0x01, 0xff, 0xff, 0xa6, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xff, 0xa3, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xcd, 0x6f, 0x01, 0xff, 0xff, 0xa4, 0x00, 0xff, + 0xff, 0xb7, 0x01, 0xff, 0xff, 0xc9, 0x01, 0xff, + 0xff, 0xd7, 0x01, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xff, 0xf1, 0x01, 0xff, 0xff, 0xf7, 0x00, 0xff, + 0xff, 0xfb, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xfe, 0x00, 0xff, 0xff, 0xfb, 0x00, 0xff, + 0xff, 0xf7, 0x01, 0xff, 0xff, 0xf0, 0x01, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xd3, 0x01, 0xff, + 0xff, 0xc4, 0x00, 0xff, 0xff, 0xb3, 0x00, 0xff, + 0xfe, 0xa2, 0x00, 0xff, 0xcd, 0x6e, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5c, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xd7, 0x78, 0x01, 0xff, + 0xfe, 0xe3, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xf3, 0x95, 0x01, 0xff, 0xff, 0xae, 0x00, 0xff, + 0xfe, 0xbf, 0x00, 0xff, 0xff, 0xcd, 0x01, 0xff, + 0xff, 0xdb, 0x01, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0xff, 0xe9, 0x01, 0xff, 0xff, 0xee, 0x01, 0xff, + 0xff, 0xf1, 0x00, 0xff, 0xff, 0xf5, 0x00, 0xff, + 0xfe, 0xf8, 0x00, 0xff, 0xff, 0xfb, 0x00, 0xff, + 0xff, 0xfc, 0x01, 0xff, 0xff, 0xf9, 0x01, 0xff, + 0xff, 0xf5, 0x01, 0xff, 0xff, 0xf1, 0x00, 0xff, + 0xff, 0xec, 0x01, 0xff, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xda, 0x00, 0xff, + 0xff, 0xcb, 0x01, 0xff, 0xff, 0xbc, 0x00, 0xff, + 0xff, 0xac, 0x01, 0xff, 0xed, 0x8e, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xf6, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xff, 0xbe, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xd6, 0x77, 0x01, 0xff, + 0xff, 0xa4, 0x00, 0xff, 0xfe, 0xb4, 0x00, 0xff, + 0xff, 0xc1, 0x00, 0xff, 0xff, 0xc8, 0x00, 0xff, + 0xff, 0xcf, 0x01, 0xff, 0xff, 0xd5, 0x01, 0xff, + 0xff, 0xda, 0x01, 0xff, 0xff, 0xdf, 0x01, 0xff, + 0xff, 0xe3, 0x01, 0xff, 0xff, 0xe6, 0x00, 0xff, + 0xff, 0xe6, 0x01, 0xff, 0xff, 0xe1, 0x00, 0xff, + 0xff, 0xdd, 0x01, 0xff, 0xff, 0xd7, 0x01, 0xff, + 0xff, 0xd2, 0x01, 0xff, 0xff, 0xcd, 0x01, 0xff, + 0xff, 0xc7, 0x01, 0xff, 0xfe, 0xc1, 0x00, 0xff, + 0xfe, 0xb3, 0x00, 0xff, 0xff, 0xa4, 0x00, 0xff, + 0xc9, 0x6b, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xfe, 0x9f, 0x00, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xf6, 0x01, 0xff, + 0xff, 0xec, 0x01, 0xff, 0xff, 0xe3, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0xff, 0xa5, 0x00, 0xff, 0xff, 0xf4, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xe3, 0x85, 0x00, 0xff, + 0xfe, 0xa1, 0x00, 0xff, 0xff, 0xaa, 0x00, 0xff, + 0xff, 0xb0, 0x00, 0xff, 0xff, 0xb7, 0x00, 0xff, + 0xff, 0xbd, 0x00, 0xff, 0xff, 0xc3, 0x01, 0xff, + 0xff, 0xc7, 0x00, 0xff, 0xff, 0xcb, 0x00, 0xff, + 0xff, 0xcb, 0x01, 0xff, 0xff, 0xc6, 0x01, 0xff, + 0xff, 0xc1, 0x01, 0xff, 0xff, 0xbb, 0x00, 0xff, + 0xfe, 0xb5, 0x00, 0xff, 0xff, 0xb0, 0x01, 0xff, + 0xff, 0xaa, 0x01, 0xff, 0xff, 0xa2, 0x01, 0xff, + 0xe2, 0x84, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0xd3, 0x74, 0x00, 0xff, 0xff, 0xbd, 0x01, 0xff, + 0xff, 0xf3, 0x00, 0xff, 0xff, 0xe9, 0x01, 0xff, + 0xff, 0xde, 0x00, 0xff, 0xff, 0xd5, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xe7, 0x89, 0x00, 0xff, + 0xff, 0xdb, 0x01, 0xff, 0xff, 0xe8, 0x01, 0xff, + 0xff, 0xf4, 0x00, 0xff, 0xff, 0xfe, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xd1, 0x72, 0x00, 0xff, 0xe4, 0x86, 0x00, 0xff, + 0xf4, 0x96, 0x00, 0xff, 0xff, 0xa4, 0x00, 0xff, + 0xff, 0xac, 0x00, 0xff, 0xff, 0xb2, 0x01, 0xff, + 0xff, 0xb1, 0x00, 0xff, 0xfe, 0xab, 0x00, 0xff, + 0xff, 0xa4, 0x00, 0xff, 0xf0, 0x91, 0x00, 0xff, + 0xdd, 0x7e, 0x00, 0xff, 0xc9, 0x6a, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xff, 0xa4, 0x01, 0xff, 0xff, 0xdb, 0x00, 0xff, + 0xff, 0xd1, 0x00, 0xff, 0xff, 0xc8, 0x01, 0xff, + 0xff, 0xbf, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x00, 0xff, + 0xcf, 0x70, 0x01, 0xff, 0xff, 0xc2, 0x01, 0xff, + 0xff, 0xd0, 0x00, 0xff, 0xff, 0xdd, 0x01, 0xff, + 0xff, 0xe9, 0x00, 0xff, 0xff, 0xf3, 0x01, 0xff, + 0xff, 0xfc, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xff, 0xab, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xc6, 0x67, 0x00, 0xff, 0xd6, 0x78, 0x01, 0xff, + 0xd5, 0x77, 0x01, 0xff, 0xc2, 0x64, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xff, 0xc6, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbc, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xe7, 0x89, 0x01, 0xff, + 0xfe, 0xc1, 0x00, 0xff, 0xff, 0xb9, 0x00, 0xff, + 0xff, 0xb0, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x00, 0xff, + 0xff, 0xa9, 0x01, 0xff, 0xff, 0xb7, 0x00, 0xff, + 0xff, 0xc6, 0x01, 0xff, 0xff, 0xd2, 0x00, 0xff, + 0xff, 0xdf, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x00, 0xff, 0xff, 0xb3, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xe5, 0x87, 0x01, 0xff, + 0xff, 0xf5, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xcd, 0x6f, 0x00, 0xff, 0xff, 0xa9, 0x01, 0xff, + 0xff, 0xa1, 0x00, 0xff, 0xf9, 0x9a, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5c, 0x00, 0xff, 0xef, 0x91, 0x00, 0xff, + 0xfe, 0xa0, 0x00, 0xff, 0xff, 0xae, 0x00, 0xff, + 0xff, 0xbd, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xff, 0xbc, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xbb, 0x5c, 0x00, 0xff, + 0xff, 0xc6, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5c, 0x00, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xf0, 0x91, 0x01, 0xff, 0xea, 0x8b, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xda, 0x7b, 0x00, 0xff, 0xe9, 0x8b, 0x01, 0xff, + 0xf7, 0x98, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbc, 0x5d, 0x01, 0xff, 0xff, 0xc3, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xed, 0x8e, 0x00, 0xff, 0xff, 0xef, 0x01, 0xff, + 0xff, 0xfe, 0x01, 0xff, 0xff, 0xfa, 0x00, 0xff, + 0xff, 0xf5, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x00, 0xff, 0xda, 0x7c, 0x01, 0xff, + 0xd6, 0x77, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc6, 0x67, 0x00, 0xff, + 0xd4, 0x76, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xff, 0xc8, 0x00, 0xff, + 0xff, 0xf2, 0x01, 0xff, 0xff, 0xf6, 0x00, 0xff, + 0xff, 0xfa, 0x01, 0xff, 0xff, 0xfc, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5c, 0x00, 0xff, 0xff, 0xc5, 0x01, 0xff, + 0xff, 0xee, 0x01, 0xff, 0xff, 0xea, 0x00, 0xff, + 0xff, 0xe7, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xc6, 0x67, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xc0, 0x61, 0x01, 0xff, 0xff, 0xcd, 0x00, 0xff, + 0xff, 0xe2, 0x00, 0xff, 0xff, 0xe7, 0x00, 0xff, + 0xff, 0xeb, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xbb, 0x5d, 0x00, 0xff, 0xf3, 0x94, 0x00, 0xff, + 0xff, 0xdd, 0x01, 0xff, 0xff, 0xda, 0x00, 0xff, + 0xff, 0xd8, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xcc, 0x6e, 0x01, 0xff, 0xff, 0xca, 0x00, 0xff, + 0xff, 0xd1, 0x00, 0xff, 0xff, 0xd7, 0x00, 0xff, + 0xff, 0xdb, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbc, 0x5d, 0x00, 0xff, 0xbf, 0x60, 0x00, 0xff, + 0xff, 0xc1, 0x00, 0xff, 0xff, 0xc8, 0x00, 0xff, + 0xfe, 0xc6, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xd6, 0x77, 0x00, 0xff, 0xff, 0xb9, 0x00, 0xff, + 0xff, 0xc1, 0x00, 0xff, 0xff, 0xc8, 0x01, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbb, 0x5c, 0x00, 0xff, 0xbc, 0x5d, 0x01, 0xff, + 0xf4, 0x96, 0x00, 0xff, 0xff, 0xb6, 0x00, 0xff, + 0xff, 0xb6, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xdf, 0x81, 0x00, 0xff, 0xff, 0xaa, 0x00, 0xff, + 0xff, 0xb2, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xc9, 0x6b, 0x01, 0xff, 0xff, 0xa5, 0x01, 0xff, + 0xff, 0xa6, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0xe8, 0x89, 0x00, 0xff, 0xf9, 0x9b, 0x00, 0xff, + 0xff, 0xa4, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5c, 0x00, 0xff, 0xf1, 0x92, 0x00, 0xff, + 0xf3, 0x94, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xe2, 0x83, 0x00, 0xff, 0xec, 0x8e, 0x01, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0xbc, 0x5d, 0x01, 0xff, 0xd1, 0x73, 0x00, 0xff, + 0xe2, 0x84, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xd6, 0x77, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbc, 0x5d, 0x01, 0xff, + 0xd3, 0x74, 0x01, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xbb, 0x5c, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc3, 0x64, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x5d, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbb, 0x5d, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +Vtx sun_LightModel_mesh_vtx_cull[8] = { + {{ {-100, -100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-100, -100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-100, 100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-100, 100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {100, -100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {100, -100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {100, 100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {100, 100, 0}, 0, {0, 0}, {0, 0, 0, 0} }}, +}; + +Vtx sun_LightModel_mesh_vtx_0[4] = { + {{ {-100, -100, 0}, 0, {-16, 2032}, {0, 0, 127, 255} }}, + {{ {100, -100, 0}, 0, {2032, 2032}, {0, 0, 127, 255} }}, + {{ {100, 100, 0}, 0, {2032, -16}, {0, 0, 127, 255} }}, + {{ {-100, 100, 0}, 0, {-16, -16}, {0, 0, 127, 255} }}, +}; + +Gfx sun_LightModel_mesh_tri_0[3] = { + gsSPVertex(sun_LightModel_mesh_vtx_0 + 0, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +Gfx mat_sun_sun[13] = { + gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 128), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, sun_sun_rgba32), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 4095, 64), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 252), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_sun_sun[4] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CULL_BACK | G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx sun_LightModel_mesh[13] = { + gsSPClearGeometryMode(G_LIGHTING), + gsSPVertex(sun_LightModel_mesh_vtx_cull + 0, 8, 0), + gsSPSetGeometryMode(G_LIGHTING), + gsSPCullDisplayList(0, 7), + gsSPDisplayList(mat_sun_sun), + gsSPDisplayList(sun_LightModel_mesh_tri_0), + gsSPDisplayList(mat_revert_sun_sun), + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsSPEndDisplayList(), +}; + + +}; +} diff --git a/src/engine/editor/ObjectPicker.cpp b/src/engine/editor/ObjectPicker.cpp new file mode 100644 index 000000000..9cfeed5f8 --- /dev/null +++ b/src/engine/editor/ObjectPicker.cpp @@ -0,0 +1,207 @@ +#include +#include +#include "../CoreMath.h" +#include +#include "../World.h" + +#include "ObjectPicker.h" +#include "port/Engine.h" +#include +#include + +#include "engine/actors/Ship.h" +#include "port/Game.h" +#include "Gizmo.h" + +#include "EditorMath.h" + +extern "C" { +#include "common_structs.h" +#include "main.h" +#include "defines.h" +#include "actors.h" +#include "camera.h" +} + +namespace Editor { + +void ObjectPicker::Load() { + eGizmo.Load(); +} + +void ObjectPicker::Tick() { +} + +void ObjectPicker::SelectObject(std::vector objects) { + Ray ray; + ray.Origin = FVector(cameras[0].pos[0], cameras[0].pos[1], cameras[0].pos[2]); + + // This allows selection of objects in the scene explorer. + // Otherwise this would still run when selecting buttons in editor windows. + if (IsInGameScreen()) { + ray.Direction = ScreenRayTrace(); + + ObjectPicker::FindObject(ray, objects); + + if (_selected != nullptr) { + eGizmo.SetGizmo(_selected, ray); + eGizmo.Enabled = true; + } else { + //eGizmo.Disable(); + eGizmo.Enabled = false; + eGizmo._selected = nullptr; + } + } +} + +void ObjectPicker::DragHandle() { + Ray ray; + ray.Origin = FVector(cameras[0].pos[0], cameras[0].pos[1], cameras[0].pos[2]); + ray.Direction = ScreenRayTrace(); + + // Skip if a drag is already in progress + if (eGizmo.SelectedHandle != Gizmo::GizmoHandle::None) { + eGizmo._ray = ray.Direction; + eGizmo.Tick(); + return; + } + + // Is the gizmo being dragged? + if (!eGizmo.Enabled) { return; } + float closestDistance = FLT_MAX; + std::optional closestClickPos; + Gizmo::GizmoHandle closestHandle = Gizmo::GizmoHandle::None; + + // All axis grab. Not used in rotate mode rotate + if (static_cast(CVarGetInteger("eGizmoMode", 0)) != Gizmo::TranslationMode::Rotate) { + float t; + if (IntersectRaySphere(ray, eGizmo.Pos, eGizmo.AllAxisRadius, t)) { + if (t < closestDistance) { + closestDistance = t; + closestClickPos = ray.Origin + ray.Direction * t; + closestHandle = Gizmo::GizmoHandle::All_Axis; + } + } + } + + // Arrow handles + auto tryHandle = [&](Gizmo::GizmoHandle handle, MtxF mtx, const std::vector& tris) { + for (const auto& tri : tris) { + if (auto clickPos = QueryHandleIntersection(mtx, ray, tri)) { + float dist = (*clickPos - ray.Origin).Magnitude(); + if (dist < closestDistance) { + closestDistance = dist; + closestClickPos = *clickPos; + closestHandle = handle; + } + } + } + }; + + switch(static_cast(CVarGetInteger("eGizmoMode", 0))) { + case Gizmo::TranslationMode::Move: + tryHandle(Gizmo::GizmoHandle::Z_Axis, eGizmo.Mtx_RedX, eGizmo.RedCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::X_Axis, eGizmo.Mtx_GreenY, eGizmo.GreenCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::Y_Axis, eGizmo.Mtx_BlueZ, eGizmo.BlueCollision.Triangles); + break; + case Gizmo::TranslationMode::Rotate: + tryHandle(Gizmo::GizmoHandle::X_Axis, eGizmo.Mtx_RedX, eGizmo.RedRotateCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::Z_Axis, eGizmo.Mtx_GreenY, eGizmo.GreenRotateCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::Y_Axis, eGizmo.Mtx_BlueZ, eGizmo.BlueRotateCollision.Triangles); + break; + case Gizmo::TranslationMode::Scale: + tryHandle(Gizmo::GizmoHandle::Z_Axis, eGizmo.Mtx_RedX, eGizmo.RedScaleCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::X_Axis, eGizmo.Mtx_GreenY, eGizmo.GreenScaleCollision.Triangles); + tryHandle(Gizmo::GizmoHandle::Y_Axis, eGizmo.Mtx_BlueZ, eGizmo.BlueScaleCollision.Triangles); + break; + + } + + if (closestHandle != Gizmo::GizmoHandle::None && closestClickPos.has_value()) { + eGizmo.SelectedHandle = closestHandle; + eGizmo._ray = ray.Direction; + eGizmo._cursorOffset = eGizmo.Pos - *closestClickPos; + eGizmo.PickDistance = closestDistance; + } +} + +void ObjectPicker::Draw() { + if (_selected != NULL) { + eGizmo.Draw(); + } + + if (Debug) { + Mat4 CursorMtx; + IRotator rot = IRotator(0,0,0); + FVector scale = FVector(0.1, 0.1, 0.1); + FVector ray = ScreenRayTrace(); + + float x = (cameras[0].pos[0] + ray.x * 800); + float y = (cameras[0].pos[1] + ray.y * 800); + float z = (cameras[0].pos[2] + ray.z * 800); + + ApplyMatrixTransformations((float(*)[4])&CursorMtx, FVector(x, y, z), rot, scale); + Editor_AddMatrix((float(*)[4])&CursorMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, (Gfx*)"__OTR__tracks/sphere"); + } +} + +void ObjectPicker::FindObject(Ray ray, std::vector objects) { + bool found = false; + GameObject* closestObject = nullptr; + float closestDistance = FLT_MAX; + + for (auto& object : objects) { + float boundingBox = object->BoundingBoxSize; + if (boundingBox == 0.0f) { + boundingBox = 2.0f; + } + + switch(object->Collision) { + case GameObject::CollisionType::VTX_INTERSECT: + for (const auto& tri : object->Triangles) { + float t; + if (IntersectRayTriangleAndTransform(ray, *object->Pos, tri, t)) { + if (t < closestDistance) { + closestDistance = t; + closestObject = object; + printf("SELECTED OBJECT\n"); + } + } + } + break; + case GameObject::CollisionType::BOUNDING_BOX: { + float max = 2.0f; + float min = -2.0f; + Vec3f boxMin = { object->Pos->x + boundingBox * min, + object->Pos->y + boundingBox * min, + object->Pos->z + boundingBox * min }; + + Vec3f boxMax = { object->Pos->x + boundingBox * max, + object->Pos->y + boundingBox * max, + object->Pos->z + boundingBox * max }; + float t; + if (QueryCollisionRayActor(&ray.Origin.x, &ray.Direction.x, boxMin, boxMax, &t)) { + if (t < closestDistance) { + closestDistance = t; + closestObject = object; + printf("FOUND BOUNDING BOX OBJECT\n"); + } + break; + } + break; + } + case GameObject::CollisionType::BOUNDING_SPHERE: + printf("Editor::ObjectPicker.cpp Bounding sphere collision type not yet supported\n"); + break; + } + } + if (closestObject != nullptr) { + _selected = closestObject; + // printf("FOUND COLLISION %d\n", type); + } else { + // printf("NO COLLISION\n"); + _selected = nullptr; + } +} +} diff --git a/src/engine/editor/ObjectPicker.h b/src/engine/editor/ObjectPicker.h new file mode 100644 index 000000000..e96bddcbc --- /dev/null +++ b/src/engine/editor/ObjectPicker.h @@ -0,0 +1,28 @@ +#pragma once + +#include +#include +#include "Collision.h" +#include "Gizmo.h" +#include "GameObject.h" + +namespace Editor { + class ObjectPicker { + public: + void SelectObject(std::vector objects); + void DragHandle(); + void Draw(); + void FindObject(Ray ray, std::vector objects); + void Load(); + void Tick(); + Gizmo eGizmo; + GameObject* _selected; + private: + bool _draw = false; + GameObject* _lastSelected; + s32 Inverse(MtxF* src, MtxF* dest); + void Copy(MtxF* src, MtxF* dest); + void Clear(MtxF* mf); + bool Debug = false; + }; +} diff --git a/src/engine/editor/SceneManager.cpp b/src/engine/editor/SceneManager.cpp new file mode 100644 index 000000000..a2de6656c --- /dev/null +++ b/src/engine/editor/SceneManager.cpp @@ -0,0 +1,156 @@ +#include "SceneManager.h" +#include "port/Game.h" +#include "CoreMath.h" +#include "World.h" +#include "GameObject.h" + +#include +#include +#include +#include "port/Engine.h" +#include +#include "port/resource/type/Minimap.h" +#include +#include "port/resource/type/ResourceType.h" + +namespace Editor { + + std::shared_ptr CurrentArchive; + std::string SceneFile = ""; + + void SaveLevel() { + auto props = gWorldInstance.CurrentCourse->Props; + + if ((CurrentArchive) && (!SceneFile.empty())) { + nlohmann::json data; + + data["Props"] = props.to_json(); + + nlohmann::json staticMesh; + + for (const auto& mesh : gWorldInstance.StaticMeshActors) { + staticMesh.push_back(mesh->to_json()); + } + data["StaticMeshActors"] = staticMesh; + + // nlohmann::json actors; + + // for (const auto& actor : gWorldInstance.Actors) { + // actors.push_back(actor->to_json()); + // } + // data["Actors"] = actors; + + // nlohmann::json objects; + + // for (const auto& object : gWorldInstance.Objects) { + // objects.push_back(object->to_json()); + // } + // data["Objects"] = objects; + + try { + auto dat = data.dump(); + std::vector stringify; + stringify.assign(dat.begin(), dat.end()); + + bool wrote = GameEngine::Instance->context->GetResourceManager()->GetArchiveManager()->WriteFile(CurrentArchive, SceneFile, stringify); + if (wrote) { + printf("Successfully wrote scene file!\n Wrote: %s\n", SceneFile.c_str()); + } else { + printf("Failed to write scene file!\n"); + } + } catch (const nlohmann::json::exception& e) { + printf("SceneManager::SaveLevel():\n JSON error during dump: %s\n", e.what()); + } + } else { + printf("Could not save scene file, SceneFile or CurrentArchive not set\n"); + } + } + + void LoadLevel(std::shared_ptr archive, Course* course, std::string sceneFile) { + SceneFile = sceneFile; + + if (archive) { + auto initData = std::make_shared(); + initData->Parent = archive; + initData->Format = RESOURCE_FORMAT_BINARY; + initData->ByteOrder = Ship::Endianness::Little; + initData->Type = static_cast(Ship::ResourceType::Json); + initData->ResourceVersion = 0; + + nlohmann::json data = std::static_pointer_cast( + GameEngine::Instance->context->GetResourceManager()->LoadResource(sceneFile, true, initData))->Data; + + if (data.is_null() || data.empty()) { + return; + } + + // Load the Props (deserialize it) + if (data.contains("Props")) { + auto& propsJson = data["Props"]; + try { + course->Props.from_json(propsJson); + } catch(const std::exception& e) { + std::cerr << "SceneManager::LoadLevel() Error parsing track properties: " << e.what() << std::endl; + std::cerr << " Is your scene.json file out of date?" << std::endl; + } + } else { + std::cerr << "Props data not found in the JSON file!" << std::endl; + } + + // Load the Actors (deserialize them) + if (data.contains("StaticMeshActors")) { + auto& actorsJson = data["StaticMeshActors"]; + gWorldInstance.StaticMeshActors.clear(); // Clear existing actors, if any + + for (const auto& actorJson : actorsJson) { + Load_AddStaticMeshActor(actorJson); + } + } else { + std::cerr << "Actors data not found in the JSON file!" << std::endl; + } + } + } + + void Load_AddStaticMeshActor(const nlohmann::json& actorJson) { + gWorldInstance.StaticMeshActors.push_back(new StaticMeshActor("", FVector(0, 0, 0), IRotator(0, 0, 0), FVector(1, 1, 1), "", nullptr)); + auto actor = gWorldInstance.StaticMeshActors.back(); + actor->from_json(actorJson); + + printf("After from_json: Pos(%f, %f, %f), Name: %s, Model: %s\n", + actor->Pos.x, actor->Pos.y, actor->Pos.z, actor->Name.c_str(), actor->Model.c_str()); + gEditor.AddObject(actor->Name.c_str(), &actor->Pos, &actor->Rot, &actor->Scale, (Gfx*) nullptr, 1.0f, + GameObject::CollisionType::BOUNDING_BOX, 20.0f, (int32_t*) &actor->bPendingDestroy, (int32_t) 1); + } + + void SetSceneFile(std::shared_ptr archive, std::string sceneFile) { + CurrentArchive = archive; + SceneFile = sceneFile; + } + + void LoadMinimap(std::shared_ptr archive, Course* course, std::string filePath) { + printf("LOADING MINIMAP %s\n", filePath.c_str()); + if (archive) { + auto initData = std::make_shared(); + initData->Parent = archive; + initData->Format = RESOURCE_FORMAT_BINARY; + initData->ByteOrder = Ship::Endianness::Little; + initData->Type = static_cast(MK64::ResourceType::Minimap); + initData->ResourceVersion = 0; + + std::shared_ptr ptr = std::static_pointer_cast( + GameEngine::Instance->context->GetResourceManager()->LoadResource(filePath, true, initData)); + + if (ptr) { + printf("LOADED MINIMAP!\n"); + MK64::MinimapTexture texture = ptr->Texture; + course->Props.Minimap.Texture = (const char*)texture.Data; + course->Props.Minimap.Width = texture.Width; + course->Props.Minimap.Height = texture.Height; + } else { // Fallback + course->Props.Minimap.Texture = gTextureCourseOutlineMarioRaceway; + course->Props.Minimap.Width = ResourceGetTexWidthByName(course->Props.Minimap.Texture); + course->Props.Minimap.Height = ResourceGetTexHeightByName(course->Props.Minimap.Texture); + } + } + } +} diff --git a/src/engine/editor/SceneManager.h b/src/engine/editor/SceneManager.h new file mode 100644 index 000000000..58699107e --- /dev/null +++ b/src/engine/editor/SceneManager.h @@ -0,0 +1,13 @@ +#include +#include "engine/courses/Course.h" + +namespace Editor { + void SaveLevel(); + void LoadLevel(std::shared_ptr archive, Course* course, std::string sceneFile); + void Load_AddStaticMeshActor(const nlohmann::json& actorJson); + void SetSceneFile(std::shared_ptr archive, std::string sceneFile); + void LoadMinimap(std::shared_ptr archive, Course* course, std::string filePath); + + extern std::shared_ptr CurrentArchive; // This is used to retrieve and write the scene data file + extern std::string SceneFile; +} diff --git a/src/engine/objects/Bat.cpp b/src/engine/objects/Bat.cpp index b90f7c857..764476064 100644 --- a/src/engine/objects/Bat.cpp +++ b/src/engine/objects/Bat.cpp @@ -18,8 +18,8 @@ const char* sBoardwalkTexList[] = { gTextureBat1, gTextureBat2, gTextureBat3, gT size_t OBat::_count = 0; -OBat::OBat(const FVector& pos, const FRotation& rot) { - +OBat::OBat(const FVector& pos, const IRotator& rot) { + Name = "Bat"; find_unused_obj_index(&_objectIndex); init_texture_object(_objectIndex, (uint8_t*)d_course_banshee_boardwalk_bat_tlut, sBoardwalkTexList, 0x20U, diff --git a/src/engine/objects/Bat.h b/src/engine/objects/Bat.h index f9e0df074..d6b7e8774 100644 --- a/src/engine/objects/Bat.h +++ b/src/engine/objects/Bat.h @@ -21,14 +21,14 @@ extern "C" { /** * OBat * - * FRotation does not appear to do anything. + * IRotator does not appear to do anything. * Could not find where origin_pos was at. * So pos does not work either * */ class OBat : public OObject { public: - explicit OBat(const FVector& pos, const FRotation& rot); + explicit OBat(const FVector& pos, const IRotator& rot); ~OBat() { _count--; @@ -51,10 +51,8 @@ public: void func_8007D794(s32 objectIndex); void func_8007DA4C(s32 objectIndex); - private: FVector _pos; static size_t _count; size_t _idx; - s32 _objectIndex; }; diff --git a/src/engine/objects/BombKart.cpp b/src/engine/objects/BombKart.cpp index fc27103ed..53b4a4262 100644 --- a/src/engine/objects/BombKart.cpp +++ b/src/engine/objects/BombKart.cpp @@ -29,7 +29,8 @@ extern s8 gPlayerCount; size_t OBombKart::_count = 0; -OBombKart::OBombKart(Vec3f pos, TrackWaypoint* waypoint, uint16_t waypointIndex, uint16_t state, f32 unk_3C) { +OBombKart::OBombKart(FVector pos, TrackWaypoint* waypoint, uint16_t waypointIndex, uint16_t state, f32 unk_3C) { + Name = "Bomb Kart"; _idx = _count; Vec3f _pos = {0, 0, 0}; @@ -41,10 +42,10 @@ OBombKart::OBombKart(Vec3f pos, TrackWaypoint* waypoint, uint16_t waypointIndex, // Set height to the default value of 2000.0f unless Pos[1] is higher. // This allows placing these on very high surfaces. - f32 height = (pos[1] > 2000.0f) ? pos[1] : 2000.0f; - _pos[0] = pos[0]; - _pos[1] = spawn_actor_on_surface(pos[0], height, pos[2]); - _pos[2] = pos[2]; + f32 height = (pos.y > 2000.0f) ? pos.y : 2000.0f; + _pos[0] = pos.x; + _pos[1] = spawn_actor_on_surface(pos.x, height, pos.z); + _pos[2] = pos.z; } WaypointIndex = waypointIndex; @@ -72,7 +73,7 @@ OBombKart::OBombKart(Vec3f pos, TrackWaypoint* waypoint, uint16_t waypointIndex, WheelPos[3][2] = _pos[2]; check_bounding_collision(&_Collision, 2.0f, _pos[0], _pos[1], _pos[2]); - find_unused_obj_index(&ObjectIndex); + find_unused_obj_index(&_objectIndex); _count++; } @@ -329,7 +330,7 @@ void OBombKart::Tick() { void OBombKart::Draw(s32 cameraId) { if (gModeSelection == BATTLE) { for (size_t playerId = 0; playerId < NUM_BOMB_KARTS_BATTLE; playerId++) { - Object* object = &gObjectList[ObjectIndex]; + Object* object = &gObjectList[_objectIndex]; if (object->state != 0) { s32 primAlpha = object->primAlpha; Player* player = &gPlayerOne[playerId]; @@ -337,9 +338,9 @@ void OBombKart::Draw(s32 cameraId) { object->pos[1] = player->pos[1] - 2.0; object->pos[2] = player->pos[2]; object->surfaceHeight = player->unk_074; - func_800563DC(ObjectIndex, cameraId, primAlpha); - func_8005669C(ObjectIndex, cameraId, primAlpha); - func_800568A0(ObjectIndex, cameraId); + func_800563DC(_objectIndex, cameraId, primAlpha); + func_8005669C(_objectIndex, cameraId, primAlpha); + func_800568A0(_objectIndex, cameraId); } } return; @@ -358,27 +359,27 @@ void OBombKart::Draw(s32 cameraId) { } Camera* camera = &camera1[cameraId]; if (cameraId == PLAYER_ONE) { - if (is_obj_flag_status_active(ObjectIndex, 0x00200000) != 0) { + if (is_obj_flag_status_active(_objectIndex, 0x00200000) != 0) { Unk_4A = 0; } else if (gGamestate != ENDING) { Unk_4A = 1; } - clear_object_flag(ObjectIndex, 0x00200000); + clear_object_flag(_objectIndex, 0x00200000); } // huh??? s32 state = State; if (State != States::DISABLED) { - gObjectList[ObjectIndex].pos[0] = Pos[0]; - gObjectList[ObjectIndex].pos[1] = Pos[1]; - gObjectList[ObjectIndex].pos[2] = Pos[2]; - s32 temp_s4 = func_8008A364(ObjectIndex, cameraId, 0x31C4U, 0x000001F4); - if (is_obj_flag_status_active(ObjectIndex, VISIBLE) != 0) { - set_object_flag(ObjectIndex, 0x00200000); + gObjectList[_objectIndex].pos[0] = Pos[0]; + gObjectList[_objectIndex].pos[1] = Pos[1]; + gObjectList[_objectIndex].pos[2] = Pos[2]; + s32 temp_s4 = func_8008A364(_objectIndex, cameraId, 0x31C4U, 0x000001F4); + if (is_obj_flag_status_active(_objectIndex, VISIBLE) != 0) { + set_object_flag(_objectIndex, 0x00200000); D_80183E80[0] = 0; D_80183E80[1] = func_800418AC(Pos[0], Pos[2], camera->pos); D_80183E80[2] = 0x8000; - func_800563DC(ObjectIndex, cameraId, 0x000000FF); + func_800563DC(_objectIndex, cameraId, 0x000000FF); OBombKart::SomeRender(camera->pos); if (((u32) temp_s4 < 0x4E21U) && (state != BOMB_STATE_EXPLODED)) { OBombKart::LoadMtx(); diff --git a/src/engine/objects/BombKart.h b/src/engine/objects/BombKart.h index 3663ee664..29069a00f 100644 --- a/src/engine/objects/BombKart.h +++ b/src/engine/objects/BombKart.h @@ -47,11 +47,10 @@ public: u16 Unk_4A = 0; s16 Unk_4C = 1; f32 CenterY; // Center of the circle - s32 ObjectIndex = 0; // Index into gObjectList Collision _Collision; // Set waypoint to NULL if using a spawn position and not a waypoint. - explicit OBombKart(Vec3f pos, TrackWaypoint* waypoint, uint16_t waypointIndex, uint16_t state, f32 unk_3C); + explicit OBombKart(FVector pos, TrackWaypoint* waypoint, uint16_t waypointIndex, uint16_t state, f32 unk_3C); ~OBombKart() { _count--; diff --git a/src/engine/objects/Boos.cpp b/src/engine/objects/Boos.cpp index f06abc8f7..5bdbd41cf 100644 --- a/src/engine/objects/Boos.cpp +++ b/src/engine/objects/Boos.cpp @@ -23,6 +23,7 @@ extern "C" { size_t OBoos::_count = 0; OBoos::OBoos(size_t numBoos, const IPathSpan& leftBoundary, const IPathSpan& active, const IPathSpan& rightBoundary) { + Name = "Boos"; // Max five boos allowed due to limited splines // D_800E5D9C if (numBoos > 10) { diff --git a/src/engine/objects/ChainChomp.cpp b/src/engine/objects/ChainChomp.cpp index 1008aab52..695df1e8a 100644 --- a/src/engine/objects/ChainChomp.cpp +++ b/src/engine/objects/ChainChomp.cpp @@ -17,9 +17,10 @@ extern "C" { size_t OChainChomp::_count = 0; OChainChomp::OChainChomp() { + Name = "Chain Chomp"; _idx = _count; init_object(indexObjectList2[_count], 0); - + _objectIndex = indexObjectList2[_count]; _count++; } diff --git a/src/engine/objects/CheepCheep.cpp b/src/engine/objects/CheepCheep.cpp index 10cdf6602..5b4157c61 100644 --- a/src/engine/objects/CheepCheep.cpp +++ b/src/engine/objects/CheepCheep.cpp @@ -18,6 +18,7 @@ extern Lights1 D_800E45C0[]; } OCheepCheep::OCheepCheep(const FVector& pos, CheepType type, IPathSpan span) { + Name = "Cheep Cheep"; _type = type; _spawnPos = pos; _span = span; diff --git a/src/engine/objects/Crab.cpp b/src/engine/objects/Crab.cpp index c722a9037..82d2b9330 100644 --- a/src/engine/objects/Crab.cpp +++ b/src/engine/objects/Crab.cpp @@ -28,6 +28,7 @@ extern "C" { size_t OCrab::_count = 0; OCrab::OCrab(const FVector2D& start, const FVector2D& end) { + Name = "Crab"; _idx = _count; _start = start; _end = end; diff --git a/src/engine/objects/Crab.h b/src/engine/objects/Crab.h index 2d1ef5e93..4cadd3b87 100644 --- a/src/engine/objects/Crab.h +++ b/src/engine/objects/Crab.h @@ -46,5 +46,4 @@ private: FVector2D _end; static size_t _count; s32 _idx; - s32 _objectIndex; }; diff --git a/src/engine/objects/Flagpole.cpp b/src/engine/objects/Flagpole.cpp index 7b5e5af20..acd74ba2b 100644 --- a/src/engine/objects/Flagpole.cpp +++ b/src/engine/objects/Flagpole.cpp @@ -16,6 +16,7 @@ extern "C" { size_t OFlagpole::_count = 0; OFlagpole::OFlagpole(const FVector& pos, s16 direction) { + Name = "Flagpole"; _idx = _count; _pos = pos; _direction = direction; diff --git a/src/engine/objects/Flagpole.h b/src/engine/objects/Flagpole.h index 034db865e..5824fcf18 100644 --- a/src/engine/objects/Flagpole.h +++ b/src/engine/objects/Flagpole.h @@ -42,5 +42,4 @@ private: s16 _direction; static size_t _count; size_t _idx; - s32 _objectIndex; }; diff --git a/src/engine/objects/GrandPrixBalloons.cpp b/src/engine/objects/GrandPrixBalloons.cpp new file mode 100644 index 000000000..819bde1c6 --- /dev/null +++ b/src/engine/objects/GrandPrixBalloons.cpp @@ -0,0 +1,231 @@ +#include "GrandPrixBalloons.h" + +#include "port/Game.h" +#include "assets/other_textures.h" +#include "assets/common_data.h" + +extern "C" { +#include "update_objects.h" +#include "render_objects.h" +#include "code_80057C60.h" +#include "code_80086E70.h" +#include "math_util.h" +#include "math_util_2.h" +#include "menus.h" +} + +size_t OGrandPrixBalloons::_count = 0; + +OGrandPrixBalloons::OGrandPrixBalloons(const FVector& pos) { + Pos = pos; + + _active = 1; + if (gPlayerCount == 1) { + _numBalloons = 0x64; + _numBalloons2 = 0x3C; + _numBalloons3 = 0x1E; + } else { + _numBalloons = 0x32; + _numBalloons2 = 0x1E; + _numBalloons3 = 0xA; + } + + for (size_t i = 0; i < _numBalloons; i++) { + find_unused_obj_index(&gObjectParticle3[i]); + init_object(gObjectParticle3[i], 0); + } +} + +void OGrandPrixBalloons::Tick() { + s32 someIndex; + s32 objectIndex; + s32 someCount; + Object* object; + + if (!_active) { + return; + } + someCount = 0; + for (someIndex = 0; someIndex < _numBalloons; someIndex++) { + objectIndex = gObjectParticle3[someIndex]; + if (objectIndex != DELETED_OBJECT_ID) { + object = &gObjectList[objectIndex]; + if (object->state != 0) { + OGrandPrixBalloons::func_80074E28(objectIndex); + OGrandPrixBalloons::func_80074D94(objectIndex); + if (object->state == 0) { + delete_object_wrapper(&gObjectParticle3[someIndex]); + this->Destroy(); + } + someCount += 1; + } + } + } + if (someCount == 0) { + _active = 0; + } +} + +void OGrandPrixBalloons::Draw(s32 cameraId) { + s32 var_s1; + s32 objectIndex; + if (!_active) { + return; + } + + gSPDisplayList(gDisplayListHead++, (Gfx*)D_0D007E98); + gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTOnomatopoeia); + func_8004B614(0, 0, 0, 0, 0, 0, 0); + gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); + gDPSetRenderMode(gDisplayListHead++, + AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), + AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | + GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); + D_80183E80[0] = 0; + D_80183E80[1] = 0x8000; + rsp_load_texture((uint8_t*)gTextureBalloon1, 64, 32); + for (var_s1 = 0; var_s1 < _numBalloons; var_s1++) { + objectIndex = gObjectParticle3[var_s1]; + if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { + OGrandPrixBalloons::func_80053D74(objectIndex, cameraId, 0); + } + } + rsp_load_texture((uint8_t*)gTextureBalloon2, 64, 32); + for (var_s1 = 0; var_s1 < _numBalloons; var_s1++) { + objectIndex = gObjectParticle3[var_s1]; + if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { + OGrandPrixBalloons::func_80053D74(objectIndex, cameraId, 4); + } + } +} + +void OGrandPrixBalloons::func_80053D74(s32 objectIndex, UNUSED s32 arg1, s32 vertexIndex) { + Object* object; + + Vtx* vtx = (Vtx*) LOAD_ASSET_RAW(common_vtx_hedgehog); + + if (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX) { + object = &gObjectList[objectIndex]; + D_80183E80[2] = (s16) (object->unk_084[6] + 0x8000); + rsp_set_matrix_transformation(object->pos, (u16*) D_80183E80, object->sizeScaling); + set_color_render((s32) object->unk_084[0], (s32) object->unk_084[1], (s32) object->unk_084[2], + (s32) object->unk_084[3], (s32) object->unk_084[4], (s32) object->unk_084[5], + (s32) object->primAlpha); + gSPVertex(gDisplayListHead++, (uintptr_t)&vtx[vertexIndex], 4, 0); + gSPDisplayList(gDisplayListHead++, (Gfx*)common_rectangle_display); + } +} + +void OGrandPrixBalloons::func_80074924(s32 objectIndex) { + s32 sp2C = 0; + s32 sp28; + s32 sp24; + s32 sp20 = 0; + s32 temp_a0; + Object* object; + + object = &gObjectList[objectIndex]; + object->sizeScaling = 0.15f; + + if (GetCourse() == GetMarioRaceway()) { + sp2C = random_int(0x00C8U); + sp28 = random_int(_numBalloons3); + sp24 = random_int(0x0096U); + sp20 = random_int(0x2000U); + object->origin_pos[0] = (f32) ((((f64) Pos.x + 100.0) - (f64) sp2C) * (f64) xOrientation); + object->origin_pos[1] = (f32) (Pos.y + sp28); + object->origin_pos[2] = (f32) (((f64) Pos.z + 200.0) - (f64) sp24); + } else if (GetCourse() == GetRoyalRaceway()) { + sp2C = random_int(0x0168U); + sp28 = random_int(_numBalloons3); + sp24 = random_int(0x00B4U); + sp20 = random_int(0x2000U); + object->origin_pos[0] = (f32) ((((f64) Pos.x + 180.0) - (f64) sp2C) * (f64) xOrientation); + object->origin_pos[1] = (f32) (Pos.y + sp28); + object->origin_pos[2] = (f32) (((f64) Pos.z + 200.0) - (f64) sp24); + } else if (GetCourse() == GetLuigiRaceway()) { + sp2C = random_int(0x012CU); + sp28 = random_int(_numBalloons3); + sp24 = random_int(0x0096U); + sp20 = random_int(0x2000U); + object->origin_pos[0] = (f32) ((((f64) Pos.x + 150.0) - (f64) sp2C) * (f64) xOrientation); + object->origin_pos[1] = (f32) (Pos.y + sp28); + object->origin_pos[2] = (f32) (((f64) Pos.z + 200.0) - (f64) sp24); + } else { // any track + sp2C = random_int(0x00C8U); + sp28 = random_int(_numBalloons3); + sp24 = random_int(0x0096U); + sp20 = random_int(0x2000U); + object->origin_pos[0] = (f32) ((((f64) Pos.x + 100.0) - (f64) sp2C) * (f64) xOrientation); + object->origin_pos[1] = (f32) (Pos.y + sp28); + object->origin_pos[2] = (f32) (((f64) Pos.z + 200.0) - (f64) sp24); + } + + set_obj_origin_offset(objectIndex, 0, 0, 0); + if (gPlayerCount == 1) { + object->velocity[1] = (f32) (((f64) (f32) (sp2C % 4) * 0.25) + 0.8); + } else { + object->velocity[1] = (f32) (((f64) (f32) (sp2C % 3) * 0.2) + 0.4); + } + temp_a0 = sp2C % 8; + object->unk_084[0] = D_800E6F30[temp_a0][0]; + object->unk_084[1] = D_800E6F30[temp_a0][1]; + object->unk_084[2] = D_800E6F30[temp_a0][2]; + object->unk_084[3] = D_800E6F48[temp_a0][0]; + object->unk_084[4] = D_800E6F48[temp_a0][1]; + object->unk_084[5] = D_800E6F48[temp_a0][2]; + object->unk_084[6] = sp20 - 0x1000; + if (sp2C & 1) { + object->unk_084[7] = (sp20 / 32) + 0x100; + } else { + object->unk_084[7] = -0x100 - (sp20 / 32); + } + object->primAlpha = 0x00E6; + object_next_state(objectIndex); +} + +void OGrandPrixBalloons::func_80074D94(s32 objectIndex) { + if (gObjectList[objectIndex].unk_0AE == 1) { + if ((_numBalloons2 <= gObjectList[objectIndex].offset[1]) && + (s16_step_down_towards(&gObjectList[objectIndex].primAlpha, 0, 8) != 0)) { + func_80086F60(objectIndex); + } + object_add_velocity_offset_y(objectIndex); + } + object_calculate_new_pos_offset(objectIndex); +} + +void OGrandPrixBalloons::func_80074E28(s32 objectIndex) { + switch (gObjectList[objectIndex].state) { + case 1: + OGrandPrixBalloons::func_80074924(objectIndex); + break; + case 2: + if (set_and_run_timer_object(objectIndex, 1) != false) { + func_80086E70(objectIndex); + break; + } + case 0: + break; + case 3: + OGrandPrixBalloons::func_80041480(&gObjectList[objectIndex].unk_084[6], -0x1000, 0x1000, &gObjectList[objectIndex].unk_084[7]); + if (gObjectList[objectIndex].unk_0AE == 0) { + func_80072428(objectIndex); + } + break; + } +} + +void OGrandPrixBalloons::func_80041480(s16* arg0, s16 arg1, s16 arg2, s16* arg3) { + *arg0 += *arg3; + if (*arg3 >= 0) { + if (*arg0 >= arg2) { + *arg0 = arg2; + *arg3 = -*arg3; + } + } else if (arg1 >= *arg0) { + *arg0 = arg1; + *arg3 = -*arg3; + } +} \ No newline at end of file diff --git a/src/engine/objects/GrandPrixBalloons.h b/src/engine/objects/GrandPrixBalloons.h new file mode 100644 index 000000000..93ec04479 --- /dev/null +++ b/src/engine/objects/GrandPrixBalloons.h @@ -0,0 +1,55 @@ +#pragma once + +#include +#include + +#include "engine/World.h" +#include "engine/objects/Object.h" + +extern "C" { +#include "macros.h" +#include "main.h" +#include "vehicles.h" +#include "waypoints.h" +#include "common_structs.h" +#include "objects.h" +#include "camera.h" +#include "some_data.h" +} + + + +/** + * Grand Prix Balloons OObject + */ +class OGrandPrixBalloons : public OObject { +public: + + explicit OGrandPrixBalloons(const FVector& pos); + + ~OGrandPrixBalloons() { + _count--; + } + + static size_t GetCount() { + return _count; + } + + virtual void Tick() override; + virtual void Draw(s32 cameraId) override; + void func_80053D74(s32 objectIndex, UNUSED s32 arg1, s32 vertexIndex); + + void func_80074924(s32 objectIndex); + void func_80074D94(s32 objectIndex); + void func_80074E28(s32 objectIndex); + void func_80041480(s16* arg0, s16 arg1, s16 arg2, s16* arg3); // Some weird math function + +private: + static size_t _count; + s32 _idx; + FVector Pos; + bool _active; + size_t _numBalloons; + size_t _numBalloons2; + size_t _numBalloons3; +}; diff --git a/src/engine/objects/Hedgehog.cpp b/src/engine/objects/Hedgehog.cpp index 133a1f38d..ebc5b30bb 100644 --- a/src/engine/objects/Hedgehog.cpp +++ b/src/engine/objects/Hedgehog.cpp @@ -15,10 +15,12 @@ extern "C" { size_t OHedgehog::_count = 0; OHedgehog::OHedgehog(const FVector& pos, const FVector2D& patrolPoint, s16 unk) { + Name = "Hedgehog"; _idx = _count; _pos = pos; s32 objectId = indexObjectList2[_idx]; + _objectIndex = objectId; init_object(objectId, 0); gObjectList[objectId].pos[0] = gObjectList[objectId].origin_pos[0] = pos.x * xOrientation; gObjectList[objectId].pos[1] = gObjectList[objectId].surfaceHeight = pos.y + 6.0; diff --git a/src/engine/objects/HotAirBalloon.cpp b/src/engine/objects/HotAirBalloon.cpp index 917fd7354..4e337d98e 100644 --- a/src/engine/objects/HotAirBalloon.cpp +++ b/src/engine/objects/HotAirBalloon.cpp @@ -15,6 +15,7 @@ extern "C" { } OHotAirBalloon::OHotAirBalloon(const FVector& pos) { + Name = "Hot Air Balloon"; _pos = pos; D_80165898 = 0; diff --git a/src/engine/objects/HotAirBalloon.h b/src/engine/objects/HotAirBalloon.h index 5dad406db..301e111c4 100644 --- a/src/engine/objects/HotAirBalloon.h +++ b/src/engine/objects/HotAirBalloon.h @@ -31,5 +31,4 @@ public: private: FVector _pos; bool *_visible; - s32 _objectIndex; }; diff --git a/src/engine/objects/Lakitu.cpp b/src/engine/objects/Lakitu.cpp index 93a87f5e1..12ca2d7db 100644 --- a/src/engine/objects/Lakitu.cpp +++ b/src/engine/objects/Lakitu.cpp @@ -37,6 +37,7 @@ extern s8 gPlayerCount; } OLakitu::OLakitu(s32 playerId, LakituType type) { + Name = "Lakitu"; _playerId = playerId; init_object(gIndexLakituList[playerId], (s32)type); diff --git a/src/engine/objects/Mole.cpp b/src/engine/objects/Mole.cpp index fdf5e7b08..06bd5f56c 100644 --- a/src/engine/objects/Mole.cpp +++ b/src/engine/objects/Mole.cpp @@ -25,6 +25,7 @@ extern "C" { size_t OMole::_count = 0; OMole::OMole(FVector pos, OMoleGroup* group) { + Name = "Mole"; _idx = _count; _group = group; diff --git a/src/engine/objects/Mole.h b/src/engine/objects/Mole.h index 7707b5383..1457c72cc 100644 --- a/src/engine/objects/Mole.h +++ b/src/engine/objects/Mole.h @@ -40,7 +40,6 @@ public: void func_80081790(s32 objectIndex); void func_8008153C(s32 objectIndex); - s32 _objectIndex; s32 _moleIndex; private: static size_t _count; diff --git a/src/engine/objects/Object.cpp b/src/engine/objects/Object.cpp index d532dd566..4e4fd6766 100644 --- a/src/engine/objects/Object.cpp +++ b/src/engine/objects/Object.cpp @@ -18,6 +18,6 @@ void OObject::Tick60fps() {} void OObject::Draw(s32 cameraId) { } void OObject::Expire() { } void OObject::Destroy() { - PendingDestroy = true; + bPendingDestroy = true; } void OObject::Reset() { } diff --git a/src/engine/objects/Object.h b/src/engine/objects/Object.h index b78b27240..9dd44397b 100644 --- a/src/engine/objects/Object.h +++ b/src/engine/objects/Object.h @@ -11,7 +11,9 @@ class OObject { public: uint8_t uuid[16]; Object o; - bool PendingDestroy = false; + const char* Name = ""; + bool bPendingDestroy = false; + s32 _objectIndex = -1; virtual ~OObject() = default; diff --git a/src/engine/objects/Penguin.cpp b/src/engine/objects/Penguin.cpp index 1eeb00ff4..d283101b3 100644 --- a/src/engine/objects/Penguin.cpp +++ b/src/engine/objects/Penguin.cpp @@ -34,7 +34,8 @@ extern s8 gPlayerCount; } -OPenguin::OPenguin(Vec3f pos, u16 direction, PenguinType type, Behaviour behaviour) { +OPenguin::OPenguin(FVector pos, u16 direction, PenguinType type, Behaviour behaviour) { + Name = "Penguin"; _type = type; _bhv = behaviour; @@ -43,9 +44,9 @@ OPenguin::OPenguin(Vec3f pos, u16 direction, PenguinType type, Behaviour behavio init_object(_objectIndex, 0); Object *object = &gObjectList[_objectIndex]; - object->origin_pos[0] = pos[0] * xOrientation; - object->origin_pos[1] = pos[1]; - object->origin_pos[2] = pos[2]; + object->origin_pos[0] = pos.x * xOrientation; + object->origin_pos[1] = pos.y; + object->origin_pos[2] = pos.z; object->unk_0C6 = direction; switch(type) { diff --git a/src/engine/objects/Penguin.h b/src/engine/objects/Penguin.h index 72ba16285..91d5687b9 100644 --- a/src/engine/objects/Penguin.h +++ b/src/engine/objects/Penguin.h @@ -38,7 +38,7 @@ public: f32 Diameter = 0.0f; // Waddle in a circle around the spawn point at this diameter. uint16_t MirrorModeAngleOffset; - explicit OPenguin(Vec3f pos, u16 direction, PenguinType type, Behaviour behaviour); + explicit OPenguin(FVector pos, u16 direction, PenguinType type, Behaviour behaviour); virtual void Tick() override; virtual void Draw(s32 cameraId) override; @@ -55,7 +55,6 @@ private: void InitOtherPenguin(s32 objectIndex); static bool _toggle; - s32 _objectIndex; PenguinType _type; Behaviour _bhv; }; diff --git a/src/engine/objects/Podium.cpp b/src/engine/objects/Podium.cpp index d8f1e2ff2..ec396ca53 100644 --- a/src/engine/objects/Podium.cpp +++ b/src/engine/objects/Podium.cpp @@ -26,7 +26,7 @@ extern Vec3s D_800E634C[]; // }; OPodium::OPodium(const FVector& pos) { - + Name = "Podium"; _pos = pos; find_unused_obj_index(&_podium1Index); diff --git a/src/engine/objects/Seagull.cpp b/src/engine/objects/Seagull.cpp index 11043238f..17c35c07d 100644 --- a/src/engine/objects/Seagull.cpp +++ b/src/engine/objects/Seagull.cpp @@ -32,6 +32,7 @@ SplineData* D_800E633C[] = { &D_800E6034, &D_800E60F0, &D_800E61B4, &D_800E6280 size_t OSeagull::_count = 0; OSeagull::OSeagull(FVector pos) { + Name = "Seagull"; _idx = _count; _pos.x = pos.x; _pos.y = pos.y; diff --git a/src/engine/objects/Seagull.h b/src/engine/objects/Seagull.h index a0e5cd233..42474159e 100644 --- a/src/engine/objects/Seagull.h +++ b/src/engine/objects/Seagull.h @@ -38,7 +38,6 @@ public: void func_8008241C(s32 objectIndex, s32 arg1); void func_80082714(s32 objectIndex, s32 arg1); private: - s32 _objectIndex; FVector _pos; static size_t _count; s32 _idx; diff --git a/src/engine/objects/Snowman.cpp b/src/engine/objects/Snowman.cpp index 2052a8adb..12beb9e47 100644 --- a/src/engine/objects/Snowman.cpp +++ b/src/engine/objects/Snowman.cpp @@ -17,11 +17,13 @@ static const char* sSnowmanHeadList[] = { d_course_frappe_snowland_snowman_head size_t OSnowman::_count = 0; OSnowman::OSnowman(const FVector& pos) { + Name = "Snowman"; _idx = _count; _pos = pos; find_unused_obj_index(&_headIndex); init_object(_headIndex, 0); + _objectIndex = _headIndex; gObjectList[_headIndex].origin_pos[0] = pos.x * xOrientation; gObjectList[_headIndex].origin_pos[1] = pos.y + 5.0 + 3.0; gObjectList[_headIndex].origin_pos[2] = pos.z; diff --git a/src/engine/objects/Snowman.h b/src/engine/objects/Snowman.h index ffa927769..f33ee3b53 100644 --- a/src/engine/objects/Snowman.h +++ b/src/engine/objects/Snowman.h @@ -50,7 +50,6 @@ private: FVector _pos; static size_t _count; size_t _idx; - s32 _objectIndex; s32 _headIndex; s32 _bodyIndex; }; diff --git a/src/engine/objects/Thwomp.cpp b/src/engine/objects/Thwomp.cpp index 6a04f07bb..d3f99a8d9 100644 --- a/src/engine/objects/Thwomp.cpp +++ b/src/engine/objects/Thwomp.cpp @@ -47,6 +47,7 @@ s16 D_800E597C[] = { 0x0000, 0x0000, 0x4000, 0x8000, 0x8000, 0xc000 }; size_t OThwomp::_count = 0; OThwomp::OThwomp(s16 x, s16 z, s16 direction, f32 scale, s16 behaviour, s16 primAlpha, u16 boundingBoxSize) { + Name = "Thwomp"; _idx = _count; _faceDirection = direction; _boundingBoxSize = boundingBoxSize; diff --git a/src/engine/objects/Thwomp.h b/src/engine/objects/Thwomp.h index 75aeaf1a0..22c674bb5 100644 --- a/src/engine/objects/Thwomp.h +++ b/src/engine/objects/Thwomp.h @@ -113,7 +113,6 @@ public: private: static size_t _count; s32 _idx; - s32 _objectIndex; s16 _faceDirection; //! @todo Write this better. This effects the squish size and the bounding box size. // We should probably return to the programmer the pointer to the actor so they can do thwomp->squishSize = value. diff --git a/src/engine/objects/TrashBin.cpp b/src/engine/objects/TrashBin.cpp index 6aa556470..c94d0352f 100644 --- a/src/engine/objects/TrashBin.cpp +++ b/src/engine/objects/TrashBin.cpp @@ -20,7 +20,8 @@ extern "C" { #define DEGREES_FLOAT_TO_SHORT(Degrees) ((s16)((Degrees) * (0x8000 / 180.0f))) -OTrashBin::OTrashBin(const FVector& pos, const FRotation& rotation, f32 scale, OTrashBin::Behaviour bhv) { +OTrashBin::OTrashBin(const FVector& pos, const IRotator& rotation, f32 scale, OTrashBin::Behaviour bhv) { + Name = "Trashbin"; _pos = pos; _rot = rotation; _scale = scale; diff --git a/src/engine/objects/TrashBin.h b/src/engine/objects/TrashBin.h index 2ebe13e87..3e878e1c0 100644 --- a/src/engine/objects/TrashBin.h +++ b/src/engine/objects/TrashBin.h @@ -24,7 +24,7 @@ public: STATIC, // The lid stays shut MUNCHING // The lid opens/closes in a scary munching manner }; - explicit OTrashBin(const FVector& pos, const FRotation& rotation, f32 scale, OTrashBin::Behaviour bhv); + explicit OTrashBin(const FVector& pos, const IRotator& rotation, f32 scale, OTrashBin::Behaviour bhv); virtual void Tick() override; virtual void Draw(s32 cameraId) override; @@ -38,9 +38,8 @@ private: Behaviour _bhv; FVector _pos; - FRotation _rot; + IRotator _rot; float _scale; size_t _idx; - s32 _objectIndex; bool _drawBin = false; }; diff --git a/src/engine/objects/Trophy.cpp b/src/engine/objects/Trophy.cpp index 54bd70d3e..9f90b6be1 100644 --- a/src/engine/objects/Trophy.cpp +++ b/src/engine/objects/Trophy.cpp @@ -21,6 +21,7 @@ extern "C" { } OTrophy::OTrophy(const FVector& pos, TrophyType trophy, Behaviour bhv) { + Name = "Trophy"; _trophy = trophy; _spawnPos = pos; _spawnPos.y += 16.0f; // Adjust the height so the trophy sits on the surface when positioned to 0,0,0 diff --git a/src/engine/objects/Trophy.h b/src/engine/objects/Trophy.h index c2bb937ab..89f130997 100644 --- a/src/engine/objects/Trophy.h +++ b/src/engine/objects/Trophy.h @@ -48,7 +48,6 @@ public: private: StarEmitter* _emitter; - s32 _objectIndex; TrophyType _trophy; FVector _spawnPos; Behaviour _bhv; diff --git a/src/engine/vehicles/Boat.cpp b/src/engine/vehicles/Boat.cpp index 460331f97..073974581 100644 --- a/src/engine/vehicles/Boat.cpp +++ b/src/engine/vehicles/Boat.cpp @@ -17,6 +17,7 @@ extern s8 gPlayerCount; size_t ABoat::_count = 0; ABoat::ABoat(f32 speed, u32 waypoint) { + Name = "Paddle Steam Boat"; Path2D* temp_a2; u16 waypointOffset; Index = _count; diff --git a/src/engine/vehicles/Bus.cpp b/src/engine/vehicles/Bus.cpp index 43b6e7406..c58cd0a6c 100644 --- a/src/engine/vehicles/Bus.cpp +++ b/src/engine/vehicles/Bus.cpp @@ -19,6 +19,7 @@ extern s8 gPlayerCount; size_t ABus::_count = 0; ABus::ABus(f32 speedA, f32 speedB, TrackWaypoint* path, uint32_t waypoint) { + Name = "Bus"; TrackWaypoint* temp_v0; u16 waypointOffset; s32 numWaypoints = gWaypointCountByPathIndex[0]; diff --git a/src/engine/vehicles/Car.cpp b/src/engine/vehicles/Car.cpp index a5dd49007..89409df50 100644 --- a/src/engine/vehicles/Car.cpp +++ b/src/engine/vehicles/Car.cpp @@ -19,6 +19,7 @@ extern s8 gPlayerCount; size_t ACar::_count = 0; ACar::ACar(f32 speedA, f32 speedB, TrackWaypoint* path, uint32_t waypoint) { + Name = "Car"; TrackWaypoint* temp_v0; u16 waypointOffset; s32 numWaypoints = gWaypointCountByPathIndex[0]; diff --git a/src/engine/vehicles/TankerTruck.cpp b/src/engine/vehicles/TankerTruck.cpp index a6b94429f..02cd9553b 100644 --- a/src/engine/vehicles/TankerTruck.cpp +++ b/src/engine/vehicles/TankerTruck.cpp @@ -19,6 +19,7 @@ extern s8 gPlayerCount; size_t ATankerTruck::_count = 0; ATankerTruck::ATankerTruck(f32 speedA, f32 speedB, TrackWaypoint* path, uint32_t waypoint) { + Name = "Tanker Truck"; TrackWaypoint* temp_v0; u16 waypointOffset; s32 numWaypoints = gWaypointCountByPathIndex[0]; diff --git a/src/engine/vehicles/Train.cpp b/src/engine/vehicles/Train.cpp index 14d9c9763..a3952742d 100644 --- a/src/engine/vehicles/Train.cpp +++ b/src/engine/vehicles/Train.cpp @@ -25,6 +25,7 @@ extern "C" { size_t ATrain::_count = 0; ATrain::ATrain(ATrain::TenderStatus tender, size_t numCarriages, f32 speed, uint32_t waypoint) { + Name = "Train"; u16 waypointOffset; TrainCarStuff* ptr1; Path2D* pos; diff --git a/src/engine/vehicles/Truck.cpp b/src/engine/vehicles/Truck.cpp index 68ef87353..585293489 100644 --- a/src/engine/vehicles/Truck.cpp +++ b/src/engine/vehicles/Truck.cpp @@ -19,6 +19,7 @@ extern s8 gPlayerCount; size_t ATruck::_count = 0; ATruck::ATruck(f32 speedA, f32 speedB, TrackWaypoint* path, uint32_t waypoint) { + Name = "Truck"; TrackWaypoint* temp_v0; u16 waypointOffset; s32 numWaypoints = gWaypointCountByPathIndex[0]; diff --git a/src/enhancements/freecam/freecam.cpp b/src/enhancements/freecam/freecam.cpp index dfa9f1793..86dfef575 100644 --- a/src/enhancements/freecam/freecam.cpp +++ b/src/enhancements/freecam/freecam.cpp @@ -40,8 +40,6 @@ u32 fTargetPlayer = false; u32 fMode; // freecam mode should probably be an enum u32 fModeInit = false; -int rightMouseButtonDown = 0; // Track if right mouse button is held down - u32 bFreecamUseController = false; /** @@ -84,7 +82,7 @@ void freecam(Camera* camera, Player* player, s8 index) { } // Freecam mode is enabled - if (enabled) { + if (enabled && (player == gPlayerOne)) { freecam_loop(camera, player, index); } else { func_8001E45C(camera, player, index); @@ -127,6 +125,7 @@ void freecam_loop(Camera* camera, Player* player, s8 index) { void freecam_mouse_manager(Camera* camera, Vec3f forwardVector) { auto wnd = GameEngine::Instance->context->GetWindow(); Ship::Coords mouse = wnd->GetMouseDelta(); + wnd->SetMouseCapture(false); f32 yawChange = 0.0f; f32 pitchChange = 0.0f; diff --git a/src/harbour_masters.c b/src/harbour_masters.c new file mode 100644 index 000000000..2dfe55dfb --- /dev/null +++ b/src/harbour_masters.c @@ -0,0 +1,2801 @@ +#include +#include +#include "harbour_masters.h" + +Gfx ok64_ok64_rgba16_aligner[] = {gsSPEndDisplayList()}; +u8 ok64_ok64_rgba16[] = { + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, 0x47, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, 0x5f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, 0x97, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xaf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, 0xbf, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd7, 0x03, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, 0xdf, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, 0xef, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, 0xfe, 0xc1, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, 0xfe, 0x81, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, 0xf6, 0x01, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, 0xf5, 0xc1, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, 0xed, 0x43, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, 0xec, 0x83, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, 0xec, 0x03, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, 0xe3, 0x43, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe3, 0x03, + +}; + +Vtx ok64_Plane_001_mesh_vtx_cull[8] = { + {{ {-338, -173, -47}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-338, -173, 32}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-338, 122, 32}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {-338, 122, -47}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {329, -173, -47}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {329, -173, 32}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {329, 122, 32}, 0, {0, 0}, {0, 0, 0, 0} }}, + {{ {329, 122, -47}, 0, {0, 0}, {0, 0, 0, 0} }}, +}; + +Vtx ok64_Plane_001_mesh_vtx_0[80] = { + {{ {117, 89, -40}, 0, {1008, -16}, {238, 5, 126, 255} }}, + {{ {164, 69, -30}, 0, {1008, 156}, {233, 7, 125, 255} }}, + {{ {173, 104, -29}, 0, {1008, -16}, {232, 5, 125, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, + {{ {-193, -16, -13}, 0, {1008, 759}, {237, 11, 125, 255} }}, + {{ {-222, -61, -13}, 0, {1008, 1008}, {235, 11, 125, 255} }}, + {{ {-158, -73, -3}, 0, {1008, 1008}, {4, 254, 127, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {-91, -91, -24}, 0, {1008, 1008}, {35, 238, 121, 255} }}, + {{ {-22, -109, -47}, 0, {1008, 1008}, {14, 249, 126, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {47, -116, -38}, 0, {1008, 1008}, {239, 6, 126, 255} }}, + {{ {119, -105, -27}, 0, {1008, 1008}, {236, 8, 125, 255} }}, + {{ {132, -54, -28}, 0, {1008, 759}, {236, 8, 125, 255} }}, + {{ {5, 101, -24}, 0, {1008, -16}, {37, 238, 120, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {60, 91, -44}, 0, {1008, -16}, {12, 251, 126, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {-101, 122, -10}, 0, {1008, -16}, {242, 8, 126, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {-48, 115, -6}, 0, {1008, -16}, {19, 247, 125, 255} }}, + {{ {-122, 92, -11}, 0, {1008, 156}, {239, 10, 125, 255} }}, + {{ {-195, 59, -21}, 0, {-16, 346}, {233, 13, 124, 255} }}, + {{ {-170, 92, -20}, 0, {-16, 156}, {233, 13, 124, 255} }}, + {{ {-144, 58, -11}, 0, {1008, 346}, {238, 11, 125, 255} }}, + {{ {-248, -13, -23}, 0, {-16, 759}, {233, 12, 124, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-219, 25, -22}, 0, {-16, 538}, {234, 13, 124, 255} }}, + {{ {92, 17, -39}, 0, {1008, 346}, {240, 6, 126, 255} }}, + {{ {144, -9, -29}, 0, {1008, 538}, {235, 8, 125, 255} }}, + {{ {154, 31, -30}, 0, {1008, 346}, {234, 9, 125, 255} }}, + {{ {79, -22, -39}, 0, {1008, 538}, {239, 6, 126, 255} }}, + {{ {-193, -16, -13}, 0, {1008, 759}, {237, 11, 125, 255} }}, + {{ {-222, -61, -13}, 0, {1008, 1008}, {235, 11, 125, 255} }}, + {{ {-158, -73, -3}, 0, {1008, 1008}, {4, 254, 127, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {-91, -91, -24}, 0, {1008, 1008}, {35, 238, 121, 255} }}, + {{ {-22, -109, -47}, 0, {1008, 1008}, {14, 249, 126, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {47, -116, -38}, 0, {1008, 1008}, {239, 6, 126, 255} }}, + {{ {119, -105, -27}, 0, {1008, 1008}, {236, 8, 125, 255} }}, + {{ {132, -54, -28}, 0, {1008, 759}, {236, 8, 125, 255} }}, + {{ {5, 101, -24}, 0, {1008, -16}, {37, 238, 120, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {60, 91, -44}, 0, {1008, -16}, {12, 251, 126, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {-101, 122, -10}, 0, {1008, -16}, {242, 8, 126, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {-48, 115, -6}, 0, {1008, -16}, {19, 247, 125, 255} }}, + {{ {-122, 92, -11}, 0, {1008, 156}, {239, 10, 125, 255} }}, + {{ {-195, 59, -21}, 0, {-16, 346}, {233, 13, 124, 255} }}, + {{ {-170, 92, -20}, 0, {-16, 156}, {233, 13, 124, 255} }}, + {{ {-144, 58, -11}, 0, {1008, 346}, {238, 11, 125, 255} }}, + {{ {-248, -13, -23}, 0, {-16, 759}, {233, 12, 124, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-219, 25, -22}, 0, {-16, 538}, {234, 13, 124, 255} }}, + {{ {31, 21, -45}, 0, {1008, 346}, {13, 248, 126, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {-87, 49, -5}, 0, {1008, 346}, {12, 251, 126, 255} }}, + {{ {-29, 33, -24}, 0, {1008, 346}, {36, 238, 120, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {-47, -3, -24}, 0, {1008, 538}, {36, 238, 120, 255} }}, + {{ {16, -17, -46}, 0, {1008, 538}, {12, 249, 126, 255} }}, + {{ {31, 21, -45}, 0, {1008, 346}, {13, 248, 126, 255} }}, + {{ {-144, 58, -11}, 0, {1008, 346}, {238, 11, 125, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-107, 14, -4}, 0, {1008, 538}, {11, 251, 126, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {79, -22, -39}, 0, {1008, 538}, {239, 6, 126, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {92, 17, -39}, 0, {1008, 346}, {240, 6, 126, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, +}; + +Gfx ok64_Plane_001_mesh_tri_0[] = { + gsSPVertex(ok64_Plane_001_mesh_vtx_0 + 0, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 19, 17, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 23, 21, 0), + gsSP2Triangles(24, 23, 25, 0, 24, 26, 23, 0), + gsSP2Triangles(27, 28, 29, 0, 27, 4, 28, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_0 + 30, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 19, 17, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 23, 21, 0), + gsSP2Triangles(24, 23, 25, 0, 24, 26, 23, 0), + gsSP2Triangles(27, 28, 29, 0, 27, 4, 28, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(17, 30, 0, 0, 17, 0, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_0 + 62, 18, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 5, 0, 2, 5, 6, 0), + gsSP2Triangles(7, 8, 9, 0, 7, 9, 1, 0), + gsSP2Triangles(5, 10, 11, 0, 5, 11, 12, 0), + gsSP2Triangles(9, 13, 14, 0, 9, 14, 4, 0), + gsSP2Triangles(15, 6, 16, 0, 15, 16, 17, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(2, 4, 5, 0, 2, 5, 6, 0), + gsSP2Triangles(7, 8, 9, 0, 7, 9, 1, 0), + gsSP2Triangles(5, 10, 11, 0, 5, 11, 12, 0), + gsSP2Triangles(9, 13, 14, 0, 9, 14, 4, 0), + gsSPEndDisplayList(), +}; + +Vtx ok64_Plane_001_mesh_vtx_1[95] = { + {{ {-170, 92, -20}, 0, {-16, 156}, {233, 13, 124, 255} }}, + {{ {-122, 92, -11}, 0, {1008, 156}, {239, 10, 125, 255} }}, + {{ {-101, 122, -10}, 0, {1008, -16}, {242, 8, 126, 255} }}, + {{ {-148, 122, -19}, 0, {-16, -16}, {233, 13, 124, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, + {{ {-158, -73, -3}, 0, {1008, 1008}, {4, 254, 127, 255} }}, + {{ {-91, -91, -24}, 0, {1008, 1008}, {35, 238, 121, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {-22, -109, -47}, 0, {1008, 1008}, {14, 249, 126, 255} }}, + {{ {47, -116, -38}, 0, {1008, 1008}, {239, 6, 126, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {60, 91, -44}, 0, {1008, -16}, {12, 251, 126, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, + {{ {117, 89, -40}, 0, {1008, -16}, {238, 5, 126, 255} }}, + {{ {-48, 115, -6}, 0, {1008, -16}, {19, 247, 125, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {5, 101, -24}, 0, {1008, -16}, {37, 238, 120, 255} }}, + {{ {-219, 25, -22}, 0, {-16, 538}, {234, 13, 124, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-144, 58, -11}, 0, {1008, 346}, {238, 11, 125, 255} }}, + {{ {-195, 59, -21}, 0, {-16, 346}, {233, 13, 124, 255} }}, + {{ {92, 17, -39}, 0, {1008, 346}, {240, 6, 126, 255} }}, + {{ {154, 31, -30}, 0, {1008, 346}, {234, 9, 125, 255} }}, + {{ {164, 69, -30}, 0, {1008, 156}, {233, 7, 125, 255} }}, + {{ {-29, 33, -24}, 0, {1008, 346}, {36, 238, 120, 255} }}, + {{ {31, 21, -45}, 0, {1008, 346}, {13, 248, 126, 255} }}, + {{ {-87, 49, -5}, 0, {1008, 346}, {12, 251, 126, 255} }}, + {{ {16, -17, -46}, 0, {1008, 538}, {12, 249, 126, 255} }}, + {{ {79, -22, -39}, 0, {1008, 538}, {239, 6, 126, 255} }}, + {{ {-87, 49, -5}, 0, {1008, 346}, {12, 251, 126, 255} }}, + {{ {-107, 14, -4}, 0, {1008, 538}, {11, 251, 126, 255} }}, + {{ {-47, -3, -24}, 0, {1008, 538}, {36, 238, 120, 255} }}, + {{ {-29, 33, -24}, 0, {1008, 346}, {36, 238, 120, 255} }}, + {{ {-279, -57, -25}, 0, {-16, 1008}, {233, 12, 124, 255} }}, + {{ {-222, -61, -13}, 0, {1008, 1008}, {235, 11, 125, 255} }}, + {{ {-193, -16, -13}, 0, {1008, 759}, {237, 11, 125, 255} }}, + {{ {-248, -13, -23}, 0, {-16, 759}, {233, 12, 124, 255} }}, + {{ {79, -22, -39}, 0, {1008, 538}, {239, 6, 126, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {132, -54, -28}, 0, {1008, 759}, {236, 8, 125, 255} }}, + {{ {144, -9, -29}, 0, {1008, 538}, {235, 8, 125, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {16, -17, -46}, 0, {1008, 538}, {12, 249, 126, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, + {{ {-170, 92, -20}, 0, {-16, 156}, {233, 13, 124, 255} }}, + {{ {-122, 92, -11}, 0, {1008, 156}, {239, 10, 125, 255} }}, + {{ {-101, 122, -10}, 0, {1008, -16}, {242, 8, 126, 255} }}, + {{ {-148, 122, -19}, 0, {-16, -16}, {233, 13, 124, 255} }}, + {{ {-158, -73, -3}, 0, {1008, 1008}, {4, 254, 127, 255} }}, + {{ {-91, -91, -24}, 0, {1008, 1008}, {35, 238, 121, 255} }}, + {{ {-22, -109, -47}, 0, {1008, 1008}, {14, 249, 126, 255} }}, + {{ {47, -116, -38}, 0, {1008, 1008}, {239, 6, 126, 255} }}, + {{ {60, 91, -44}, 0, {1008, -16}, {12, 251, 126, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, + {{ {117, 89, -40}, 0, {1008, -16}, {238, 5, 126, 255} }}, + {{ {-48, 115, -6}, 0, {1008, -16}, {19, 247, 125, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {-48, 115, -6}, 0, {1008, -16}, {19, 247, 125, 255} }}, + {{ {-11, 69, -24}, 0, {1008, 156}, {37, 238, 120, 255} }}, + {{ {5, 101, -24}, 0, {1008, -16}, {37, 238, 120, 255} }}, + {{ {-219, 25, -22}, 0, {-16, 538}, {234, 13, 124, 255} }}, + {{ {-167, 23, -12}, 0, {1008, 538}, {237, 11, 125, 255} }}, + {{ {-144, 58, -11}, 0, {1008, 346}, {238, 11, 125, 255} }}, + {{ {-195, 59, -21}, 0, {-16, 346}, {233, 13, 124, 255} }}, + {{ {105, 55, -40}, 0, {1008, 156}, {240, 6, 126, 255} }}, + {{ {92, 17, -39}, 0, {1008, 346}, {240, 6, 126, 255} }}, + {{ {154, 31, -30}, 0, {1008, 346}, {234, 9, 125, 255} }}, + {{ {164, 69, -30}, 0, {1008, 156}, {233, 7, 125, 255} }}, + {{ {-29, 33, -24}, 0, {1008, 346}, {36, 238, 120, 255} }}, + {{ {31, 21, -45}, 0, {1008, 346}, {13, 248, 126, 255} }}, + {{ {46, 58, -44}, 0, {1008, 156}, {15, 248, 126, 255} }}, + {{ {-122, 92, -11}, 0, {1008, 156}, {239, 10, 125, 255} }}, + {{ {-87, 49, -5}, 0, {1008, 346}, {12, 251, 126, 255} }}, + {{ {-66, 84, -6}, 0, {1008, 156}, {13, 250, 126, 255} }}, + {{ {16, -17, -46}, 0, {1008, 538}, {12, 249, 126, 255} }}, + {{ {79, -22, -39}, 0, {1008, 538}, {239, 6, 126, 255} }}, + {{ {-107, 14, -4}, 0, {1008, 538}, {11, 251, 126, 255} }}, + {{ {-47, -3, -24}, 0, {1008, 538}, {36, 238, 120, 255} }}, + {{ {-279, -57, -25}, 0, {-16, 1008}, {233, 12, 124, 255} }}, + {{ {-222, -61, -13}, 0, {1008, 1008}, {235, 11, 125, 255} }}, + {{ {-193, -16, -13}, 0, {1008, 759}, {237, 11, 125, 255} }}, + {{ {-248, -13, -23}, 0, {-16, 759}, {233, 12, 124, 255} }}, + {{ {64, -66, -38}, 0, {1008, 759}, {239, 6, 126, 255} }}, + {{ {132, -54, -28}, 0, {1008, 759}, {236, 8, 125, 255} }}, + {{ {144, -9, -29}, 0, {1008, 538}, {235, 8, 125, 255} }}, + {{ {-68, -45, -24}, 0, {1008, 759}, {35, 238, 121, 255} }}, + {{ {-2, -60, -46}, 0, {1008, 759}, {11, 250, 126, 255} }}, + {{ {-131, -27, -4}, 0, {1008, 759}, {10, 252, 127, 255} }}, +}; + +Gfx ok64_Plane_001_mesh_tri_1[] = { + gsSPVertex(ok64_Plane_001_mesh_vtx_1 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(14, 24, 25, 0, 14, 25, 26, 0), + gsSP2Triangles(18, 27, 28, 0, 18, 28, 13, 0), + gsSP2Triangles(1, 22, 29, 0, 1, 29, 17, 0), + gsSP2Triangles(28, 30, 31, 0, 28, 31, 24, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_1 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(2, 12, 13, 0, 2, 13, 14, 0), + gsSP2Triangles(15, 6, 16, 0, 15, 16, 1, 0), + gsSP2Triangles(17, 18, 19, 0, 17, 19, 20, 0), + gsSP2Triangles(16, 21, 22, 0, 16, 22, 12, 0), + gsSP2Triangles(13, 23, 24, 0, 13, 24, 9, 0), + gsSP2Triangles(25, 26, 27, 0, 25, 27, 28, 0), + gsSP1Triangle(29, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_1 + 64, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 9, 10, 0, 1, 11, 12, 0), + gsSP2Triangles(1, 12, 13, 0, 14, 5, 15, 0), + gsSP2Triangles(14, 15, 16, 0, 12, 17, 18, 0), + gsSP2Triangles(12, 18, 8, 0, 15, 19, 20, 0), + gsSP2Triangles(15, 20, 11, 0, 21, 22, 23, 0), + gsSP2Triangles(21, 23, 24, 0, 18, 25, 26, 0), + gsSP2Triangles(18, 26, 27, 0, 20, 28, 29, 0), + gsSP2Triangles(20, 29, 17, 0, 4, 23, 30, 0), + gsSP1Triangle(4, 30, 19, 0), + gsSPEndDisplayList(), +}; + +Vtx ok64_Plane_001_mesh_vtx_2[583] = { + {{ {-211, -36, 18}, 0, {109, 946}, {0, 0, 127, 255} }}, + {{ {-205, 55, 18}, 0, {155, 45}, {0, 0, 127, 255} }}, + {{ {-223, 53, 18}, 0, {22, 69}, {0, 0, 127, 255} }}, + {{ {-204, -20, 18}, 0, {162, 791}, {0, 0, 127, 255} }}, + {{ {-198, -34, 18}, 0, {199, 927}, {0, 0, 127, 255} }}, + {{ {-167, 50, 18}, 0, {427, 103}, {0, 0, 127, 255} }}, + {{ {-149, 34, 18}, 0, {553, 255}, {0, 0, 127, 255} }}, + {{ {-131, 26, 18}, 0, {687, 338}, {0, 0, 127, 255} }}, + {{ {-107, 7, 18}, 0, {858, 528}, {0, 0, 127, 255} }}, + {{ {-105, 24, 18}, 0, {867, 359}, {0, 0, 127, 255} }}, + {{ {-133, 1, 18}, 0, {668, 583}, {0, 0, 127, 255} }}, + {{ {-131, 41, 18}, 0, {687, 189}, {0, 0, 127, 255} }}, + {{ {-148, 53, 18}, 0, {562, 69}, {0, 0, 127, 255} }}, + {{ {-103, 57, 18}, 0, {886, 35}, {0, 0, 127, 255} }}, + {{ {-103, 46, 18}, 0, {882, 138}, {0, 0, 127, 255} }}, + {{ {-129, -20, 18}, 0, {701, 795}, {0, 0, 127, 255} }}, + {{ {-150, -32, 18}, 0, {546, 913}, {0, 0, 127, 255} }}, + {{ {-91, -26, 18}, 0, {974, 848}, {0, 0, 127, 255} }}, + {{ {-91, -37, 18}, 0, {973, 958}, {0, 0, 127, 255} }}, + {{ {-69, 3, 24}, 0, {244, 507}, {0, 0, 127, 255} }}, + {{ {-86, -32, 24}, 0, {41, 885}, {0, 0, 127, 255} }}, + {{ {-72, -32, 24}, 0, {202, 878}, {0, 0, 127, 255} }}, + {{ {-86, 47, 24}, 0, {41, 35}, {0, 0, 127, 255} }}, + {{ {-66, 44, 24}, 0, {276, 75}, {0, 0, 127, 255} }}, + {{ {-51, 47, 24}, 0, {453, 37}, {0, 0, 127, 255} }}, + {{ {-40, 25, 24}, 0, {586, 273}, {0, 0, 127, 255} }}, + {{ {-22, 36, 24}, 0, {806, 153}, {0, 0, 127, 255} }}, + {{ {-39, 13, 24}, 0, {596, 402}, {0, 0, 127, 255} }}, + {{ {-22, 11, 24}, 0, {804, 420}, {0, 0, 127, 255} }}, + {{ {-48, -3, 24}, 0, {498, 568}, {0, 0, 127, 255} }}, + {{ {-25, -37, 24}, 0, {768, 939}, {0, 0, 127, 255} }}, + {{ {-13, -26, 24}, 0, {917, 814}, {0, 0, 127, 255} }}, + {{ {16, -40, 23}, 0, {84, 962}, {0, 0, 127, 255} }}, + {{ {34, -41, 23}, 0, {291, 968}, {0, 0, 127, 255} }}, + {{ {30, 14, 23}, 0, {244, 520}, {0, 0, 127, 255} }}, + {{ {15, 1, 23}, 0, {75, 631}, {0, 0, 127, 255} }}, + {{ {35, 22, 23}, 0, {310, 458}, {0, 0, 127, 255} }}, + {{ {76, -33, 23}, 0, {779, 905}, {0, 0, 127, 255} }}, + {{ {89, -20, 23}, 0, {927, 799}, {0, 0, 127, 255} }}, + {{ {13, 40, 23}, 0, {57, 307}, {0, 0, 127, 255} }}, + {{ {31, 28, 23}, 0, {259, 404}, {0, 0, 127, 255} }}, + {{ {76, 51, 23}, 0, {776, 219}, {0, 0, 127, 255} }}, + {{ {66, 65, 23}, 0, {664, 111}, {0, 0, 127, 255} }}, + {{ {31, 75, 23}, 0, {265, 22}, {0, 0, 127, 255} }}, + {{ {12, 75, 23}, 0, {40, 22}, {0, 0, 127, 255} }}, + {{ {74, -32, 18}, 0, {143, 940}, {0, 0, 127, 255} }}, + {{ {86, 21, 18}, 0, {240, 427}, {0, 0, 127, 255} }}, + {{ {60, -19, 18}, 0, {33, 812}, {0, 0, 127, 255} }}, + {{ {94, -8, 18}, 0, {308, 702}, {0, 0, 127, 255} }}, + {{ {99, 12, 18}, 0, {344, 510}, {0, 0, 127, 255} }}, + {{ {136, 9, 18}, 0, {650, 542}, {0, 0, 127, 255} }}, + {{ {145, -13, 18}, 0, {717, 750}, {0, 0, 127, 255} }}, + {{ {155, 14, 18}, 0, {805, 489}, {0, 0, 127, 255} }}, + {{ {174, -29, 18}, 0, {952, 906}, {0, 0, 127, 255} }}, + {{ {150, -31, 18}, 0, {760, 926}, {0, 0, 127, 255} }}, + {{ {136, 60, 18}, 0, {646, 42}, {0, 0, 127, 255} }}, + {{ {124, 49, 18}, 0, {552, 149}, {0, 0, 127, 255} }}, + {{ {112, 61, 18}, 0, {451, 31}, {0, 0, 127, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {0, 0, 127, 255} }}, + {{ {172, -30, 24}, 0, {50, 896}, {0, 0, 127, 255} }}, + {{ {185, -31, 24}, 0, {204, 897}, {0, 0, 127, 255} }}, + {{ {171, 65, 24}, 0, {40, 29}, {0, 0, 127, 255} }}, + {{ {189, 58, 24}, 0, {258, 90}, {0, 0, 127, 255} }}, + {{ {204, 65, 24}, 0, {437, 27}, {0, 0, 127, 255} }}, + {{ {216, 38, 24}, 0, {568, 271}, {0, 0, 127, 255} }}, + {{ {204, 65, 24}, 0, {437, 27}, {0, 0, 127, 255} }}, + {{ {189, 58, 24}, 0, {258, 90}, {0, 0, 127, 255} }}, + {{ {235, 52, 24}, 0, {795, 143}, {0, 0, 127, 255} }}, + {{ {217, 26, 24}, 0, {582, 379}, {0, 0, 127, 255} }}, + {{ {235, 21, 24}, 0, {801, 424}, {0, 0, 127, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {0, 0, 127, 255} }}, + {{ {210, 5, 24}, 0, {501, 577}, {0, 0, 127, 255} }}, + {{ {231, -36, 24}, 0, {749, 946}, {0, 0, 127, 255} }}, + {{ {246, -22, 24}, 0, {922, 815}, {0, 0, 127, 255} }}, + {{ {264, -30, 18}, 0, {331, 956}, {0, 0, 127, 255} }}, + {{ {291, -31, 18}, 0, {632, 962}, {0, 0, 127, 255} }}, + {{ {289, 50, 18}, 0, {617, 200}, {0, 0, 127, 255} }}, + {{ {276, 51, 18}, 0, {469, 187}, {0, 0, 127, 255} }}, + {{ {281, 68, 18}, 0, {524, 32}, {0, 0, 127, 255} }}, + {{ {319, 48, 18}, 0, {952, 216}, {0, 0, 127, 255} }}, + {{ {318, 68, 18}, 0, {941, 29}, {0, 0, 127, 255} }}, + {{ {238, 52, 18}, 0, {42, 177}, {0, 0, 127, 255} }}, + {{ {238, 66, 18}, 0, {38, 49}, {0, 0, 127, 255} }}, + {{ {-296, -40, 24}, 0, {316, 961}, {177, 172, 54, 255} }}, + {{ {-328, -10, 24}, 0, {27, 690}, {177, 172, 54, 255} }}, + {{ {-332, -12, 14}, 0, {-16, 708}, {177, 172, 54, 255} }}, + {{ {-297, -45, 14}, 0, {304, 1008}, {177, 172, 54, 255} }}, + {{ {-287, 11, 24}, 0, {389, 506}, {63, 96, 54, 255} }}, + {{ {-274, 1, 24}, 0, {514, 589}, {63, 96, 54, 255} }}, + {{ {-273, 7, 14}, 0, {518, 540}, {63, 96, 54, 255} }}, + {{ {-283, 13, 14}, 0, {432, 484}, {63, 96, 54, 255} }}, + {{ {-328, -10, 24}, 0, {27, 690}, {141, 3, 54, 255} }}, + {{ {-326, 51, 24}, 0, {43, 144}, {141, 3, 54, 255} }}, + {{ {-330, 54, 14}, 0, {1, 119}, {141, 3, 54, 255} }}, + {{ {-332, -12, 14}, 0, {-16, 708}, {141, 3, 54, 255} }}, + {{ {-287, 29, 24}, 0, {396, 340}, {115, 251, 54, 255} }}, + {{ {-287, 11, 24}, 0, {389, 506}, {115, 251, 54, 255} }}, + {{ {-283, 13, 14}, 0, {432, 484}, {115, 251, 54, 255} }}, + {{ {-282, 25, 14}, 0, {437, 379}, {115, 251, 54, 255} }}, + {{ {-232, -24, 24}, 0, {886, 819}, {28, 144, 54, 255} }}, + {{ {-296, -40, 24}, 0, {316, 961}, {28, 144, 54, 255} }}, + {{ {-297, -45, 14}, 0, {304, 1008}, {28, 144, 54, 255} }}, + {{ {-228, -28, 14}, 0, {925, 854}, {28, 144, 54, 255} }}, + {{ {-274, 1, 24}, 0, {514, 589}, {206, 104, 54, 255} }}, + {{ {-261, 7, 24}, 0, {624, 536}, {206, 104, 54, 255} }}, + {{ {-266, 10, 14}, 0, {582, 509}, {206, 104, 54, 255} }}, + {{ {-273, 7, 14}, 0, {518, 540}, {206, 104, 54, 255} }}, + {{ {-261, 7, 24}, 0, {624, 536}, {141, 4, 54, 255} }}, + {{ {-261, 20, 24}, 0, {627, 423}, {141, 4, 54, 255} }}, + {{ {-266, 19, 14}, 0, {584, 433}, {141, 4, 54, 255} }}, + {{ {-266, 10, 14}, 0, {582, 509}, {141, 4, 54, 255} }}, + {{ {-224, 39, 24}, 0, {962, 255}, {114, 241, 54, 255} }}, + {{ {-232, -24, 24}, 0, {886, 819}, {114, 241, 54, 255} }}, + {{ {-228, -28, 14}, 0, {925, 854}, {114, 241, 54, 255} }}, + {{ {-219, 41, 14}, 0, {1008, 234}, {114, 241, 54, 255} }}, + {{ {-326, 51, 24}, 0, {43, 144}, {198, 99, 54, 255} }}, + {{ {-304, 64, 24}, 0, {242, 27}, {198, 99, 54, 255} }}, + {{ {-305, 69, 14}, 0, {231, -16}, {198, 99, 54, 255} }}, + {{ {-330, 54, 14}, 0, {1, 119}, {198, 99, 54, 255} }}, + {{ {-304, 64, 24}, 0, {242, 27}, {3, 115, 54, 255} }}, + {{ {-260, 63, 24}, 0, {634, 38}, {3, 115, 54, 255} }}, + {{ {-259, 67, 14}, 0, {648, -4}, {3, 115, 54, 255} }}, + {{ {-305, 69, 14}, 0, {231, -16}, {3, 115, 54, 255} }}, + {{ {-260, 63, 24}, 0, {634, 38}, {63, 96, 54, 255} }}, + {{ {-224, 39, 24}, 0, {962, 255}, {63, 96, 54, 255} }}, + {{ {-219, 41, 14}, 0, {1008, 234}, {63, 96, 54, 255} }}, + {{ {-259, 67, 14}, 0, {648, -4}, {63, 96, 54, 255} }}, + {{ {-267, 31, 24}, 0, {576, 325}, {10, 141, 54, 255} }}, + {{ {-287, 29, 24}, 0, {396, 340}, {10, 141, 54, 255} }}, + {{ {-282, 25, 14}, 0, {437, 379}, {10, 141, 54, 255} }}, + {{ {-269, 26, 14}, 0, {551, 370}, {10, 141, 54, 255} }}, + {{ {-261, 20, 24}, 0, {627, 423}, {154, 203, 54, 255} }}, + {{ {-267, 31, 24}, 0, {576, 325}, {154, 203, 54, 255} }}, + {{ {-269, 26, 14}, 0, {551, 370}, {154, 203, 54, 255} }}, + {{ {-266, 19, 14}, 0, {584, 433}, {154, 203, 54, 255} }}, + {{ {-211, -36, 18}, 0, {109, 946}, {142, 240, 54, 255} }}, + {{ {-223, 53, 18}, 0, {22, 69}, {142, 240, 54, 255} }}, + {{ {-228, 57, 8}, 0, {-16, 28}, {142, 240, 54, 255} }}, + {{ {-215, -41, 8}, 0, {81, 999}, {142, 240, 54, 255} }}, + {{ {-205, 55, 18}, 0, {155, 45}, {115, 1, 54, 255} }}, + {{ {-204, -20, 18}, 0, {162, 791}, {115, 1, 54, 255} }}, + {{ {-199, -1, 8}, 0, {194, 608}, {115, 1, 54, 255} }}, + {{ {-200, 61, 8}, 0, {189, -8}, {115, 1, 54, 255} }}, + {{ {-223, 53, 18}, 0, {22, 69}, {241, 114, 54, 255} }}, + {{ {-205, 55, 18}, 0, {155, 45}, {241, 114, 54, 255} }}, + {{ {-200, 61, 8}, 0, {189, -8}, {241, 114, 54, 255} }}, + {{ {-228, 57, 8}, 0, {-16, 28}, {241, 114, 54, 255} }}, + {{ {-204, -20, 18}, 0, {162, 791}, {154, 54, 54, 255} }}, + {{ {-167, 50, 18}, 0, {427, 103}, {154, 54, 54, 255} }}, + {{ {-168, 58, 8}, 0, {420, 24}, {154, 54, 54, 255} }}, + {{ {-199, -1, 8}, 0, {194, 608}, {154, 54, 54, 255} }}, + {{ {-167, 50, 18}, 0, {427, 103}, {82, 85, 46, 255} }}, + {{ {-149, 34, 18}, 0, {553, 255}, {82, 85, 46, 255} }}, + {{ {-153, 42, 8}, 0, {524, 177}, {82, 85, 46, 255} }}, + {{ {-168, 58, 8}, 0, {420, 24}, {82, 85, 46, 255} }}, + {{ {-198, -34, 18}, 0, {199, 927}, {17, 142, 54, 255} }}, + {{ {-211, -36, 18}, 0, {109, 946}, {17, 142, 54, 255} }}, + {{ {-215, -41, 8}, 0, {81, 999}, {17, 142, 54, 255} }}, + {{ {-196, -38, 8}, 0, {219, 971}, {17, 142, 54, 255} }}, + {{ {-149, 34, 18}, 0, {553, 255}, {97, 187, 45, 255} }}, + {{ {-198, -34, 18}, 0, {199, 927}, {97, 187, 45, 255} }}, + {{ {-196, -38, 8}, 0, {219, 971}, {97, 187, 45, 255} }}, + {{ {-154, 22, 8}, 0, {518, 373}, {97, 187, 45, 255} }}, + {{ {-149, 34, 18}, 0, {553, 255}, {141, 7, 53, 255} }}, + {{ {-148, 53, 18}, 0, {562, 69}, {141, 7, 53, 255} }}, + {{ {-152, 57, 8}, 0, {530, 25}, {141, 7, 53, 255} }}, + {{ {-153, 42, 8}, 0, {524, 177}, {141, 7, 53, 255} }}, + {{ {-148, 53, 18}, 0, {562, 69}, {247, 115, 54, 255} }}, + {{ {-103, 57, 18}, 0, {886, 35}, {247, 115, 54, 255} }}, + {{ {-98, 62, 8}, 0, {921, -16}, {247, 115, 54, 255} }}, + {{ {-152, 57, 8}, 0, {530, 25}, {247, 115, 54, 255} }}, + {{ {-103, 57, 18}, 0, {886, 35}, {115, 251, 54, 255} }}, + {{ {-103, 46, 18}, 0, {882, 138}, {115, 251, 54, 255} }}, + {{ {-99, 42, 8}, 0, {915, 177}, {115, 251, 54, 255} }}, + {{ {-98, 62, 8}, 0, {921, -16}, {115, 251, 54, 255} }}, + {{ {-103, 46, 18}, 0, {882, 138}, {21, 143, 54, 255} }}, + {{ {-131, 41, 18}, 0, {687, 189}, {21, 143, 54, 255} }}, + {{ {-126, 37, 8}, 0, {721, 227}, {21, 143, 54, 255} }}, + {{ {-99, 42, 8}, 0, {915, 177}, {21, 143, 54, 255} }}, + {{ {-131, 41, 18}, 0, {687, 189}, {115, 0, 54, 255} }}, + {{ {-131, 26, 18}, 0, {687, 338}, {115, 0, 54, 255} }}, + {{ {-126, 30, 8}, 0, {721, 295}, {115, 0, 54, 255} }}, + {{ {-126, 37, 8}, 0, {721, 227}, {115, 0, 54, 255} }}, + {{ {-131, 26, 18}, 0, {687, 338}, {10, 115, 54, 255} }}, + {{ {-105, 24, 18}, 0, {867, 359}, {10, 115, 54, 255} }}, + {{ {-100, 28, 8}, 0, {904, 317}, {10, 115, 54, 255} }}, + {{ {-126, 30, 8}, 0, {721, 295}, {10, 115, 54, 255} }}, + {{ {-105, 24, 18}, 0, {867, 359}, {115, 247, 54, 255} }}, + {{ {-107, 7, 18}, 0, {858, 528}, {115, 247, 54, 255} }}, + {{ {-102, 3, 8}, 0, {890, 567}, {115, 247, 54, 255} }}, + {{ {-100, 28, 8}, 0, {904, 317}, {115, 247, 54, 255} }}, + {{ {-107, 7, 18}, 0, {858, 528}, {23, 143, 54, 255} }}, + {{ {-133, 1, 18}, 0, {668, 583}, {23, 143, 54, 255} }}, + {{ {-128, -3, 8}, 0, {708, 619}, {23, 143, 54, 255} }}, + {{ {-102, 3, 8}, 0, {890, 567}, {23, 143, 54, 255} }}, + {{ {-133, 1, 18}, 0, {668, 583}, {113, 24, 54, 255} }}, + {{ {-129, -20, 18}, 0, {701, 795}, {113, 24, 54, 255} }}, + {{ {-125, -16, 8}, 0, {729, 754}, {113, 24, 54, 255} }}, + {{ {-128, -3, 8}, 0, {708, 619}, {113, 24, 54, 255} }}, + {{ {-129, -20, 18}, 0, {701, 795}, {16, 114, 54, 255} }}, + {{ {-91, -26, 18}, 0, {974, 848}, {16, 114, 54, 255} }}, + {{ {-86, -22, 8}, 0, {1008, 808}, {16, 114, 54, 255} }}, + {{ {-125, -16, 8}, 0, {729, 754}, {16, 114, 54, 255} }}, + {{ {-91, -26, 18}, 0, {974, 848}, {115, 255, 54, 255} }}, + {{ {-91, -37, 18}, 0, {973, 958}, {115, 255, 54, 255} }}, + {{ {-86, -42, 8}, 0, {1006, 1008}, {115, 255, 54, 255} }}, + {{ {-86, -22, 8}, 0, {1008, 808}, {115, 255, 54, 255} }}, + {{ {-91, -37, 18}, 0, {973, 958}, {247, 141, 54, 255} }}, + {{ {-150, -32, 18}, 0, {546, 913}, {247, 141, 54, 255} }}, + {{ {-155, -37, 8}, 0, {511, 956}, {247, 141, 54, 255} }}, + {{ {-86, -42, 8}, 0, {1006, 1008}, {247, 141, 54, 255} }}, + {{ {-150, -32, 18}, 0, {546, 913}, {141, 2, 54, 255} }}, + {{ {-149, 34, 18}, 0, {553, 255}, {141, 2, 54, 255} }}, + {{ {-154, 22, 8}, 0, {518, 373}, {141, 2, 54, 255} }}, + {{ {-155, -37, 8}, 0, {511, 956}, {141, 2, 54, 255} }}, + {{ {-86, -32, 24}, 0, {41, 885}, {141, 0, 54, 255} }}, + {{ {-86, 47, 24}, 0, {41, 35}, {141, 0, 54, 255} }}, + {{ {-90, 52, 13}, 0, {-16, -16}, {141, 0, 54, 255} }}, + {{ {-90, -37, 13}, 0, {-16, 938}, {141, 0, 54, 255} }}, + {{ {-69, 3, 24}, 0, {244, 507}, {120, 249, 42, 255} }}, + {{ {-72, -32, 24}, 0, {202, 878}, {120, 249, 42, 255} }}, + {{ {-68, -36, 13}, 0, {258, 926}, {120, 249, 42, 255} }}, + {{ {-67, -5, 13}, 0, {263, 595}, {120, 249, 42, 255} }}, + {{ {-72, -32, 24}, 0, {202, 878}, {6, 141, 54, 255} }}, + {{ {-86, -32, 24}, 0, {41, 885}, {6, 141, 54, 255} }}, + {{ {-90, -37, 13}, 0, {-16, 938}, {6, 141, 54, 255} }}, + {{ {-68, -36, 13}, 0, {258, 926}, {6, 141, 54, 255} }}, + {{ {-66, 44, 24}, 0, {276, 75}, {107, 252, 68, 255} }}, + {{ {-69, 3, 24}, 0, {244, 507}, {107, 252, 68, 255} }}, + {{ {-61, 8, 13}, 0, {337, 453}, {107, 252, 68, 255} }}, + {{ {-61, 34, 13}, 0, {334, 174}, {107, 252, 68, 255} }}, + {{ {-40, 25, 24}, 0, {586, 273}, {189, 163, 54, 255} }}, + {{ {-66, 44, 24}, 0, {276, 75}, {189, 163, 54, 255} }}, + {{ {-61, 34, 13}, 0, {334, 174}, {189, 163, 54, 255} }}, + {{ {-45, 23, 13}, 0, {531, 300}, {189, 163, 54, 255} }}, + {{ {-39, 13, 24}, 0, {596, 402}, {141, 248, 54, 255} }}, + {{ {-40, 25, 24}, 0, {586, 273}, {141, 248, 54, 255} }}, + {{ {-45, 23, 13}, 0, {531, 300}, {141, 248, 54, 255} }}, + {{ {-44, 16, 13}, 0, {537, 371}, {141, 248, 54, 255} }}, + {{ {-69, 3, 24}, 0, {244, 507}, {213, 113, 39, 255} }}, + {{ {-39, 13, 24}, 0, {596, 402}, {213, 113, 39, 255} }}, + {{ {-44, 16, 13}, 0, {537, 371}, {213, 113, 39, 255} }}, + {{ {-61, 8, 13}, 0, {337, 453}, {213, 113, 39, 255} }}, + {{ {-86, 47, 24}, 0, {41, 35}, {1, 115, 54, 255} }}, + {{ {-51, 47, 24}, 0, {453, 37}, {1, 115, 54, 255} }}, + {{ {-51, 52, 13}, 0, {463, -14}, {1, 115, 54, 255} }}, + {{ {-90, 52, 13}, 0, {-16, -16}, {1, 115, 54, 255} }}, + {{ {-22, 36, 24}, 0, {806, 153}, {115, 255, 54, 255} }}, + {{ {-22, 11, 24}, 0, {804, 420}, {115, 255, 54, 255} }}, + {{ {-17, 8, 13}, 0, {861, 450}, {115, 255, 54, 255} }}, + {{ {-17, 40, 13}, 0, {863, 118}, {115, 255, 54, 255} }}, + {{ {-51, 47, 24}, 0, {453, 37}, {40, 108, 54, 255} }}, + {{ {-22, 36, 24}, 0, {806, 153}, {40, 108, 54, 255} }}, + {{ {-17, 40, 13}, 0, {863, 118}, {40, 108, 54, 255} }}, + {{ {-51, 52, 13}, 0, {463, -14}, {40, 108, 54, 255} }}, + {{ {-25, -37, 24}, 0, {768, 939}, {179, 172, 55, 255} }}, + {{ {-69, 3, 24}, 0, {244, 507}, {179, 172, 55, 255} }}, + {{ {-67, -5, 13}, 0, {263, 595}, {179, 172, 55, 255} }}, + {{ {-25, -44, 13}, 0, {768, 1008}, {179, 172, 55, 255} }}, + {{ {-13, -26, 24}, 0, {917, 814}, {79, 172, 54, 255} }}, + {{ {-25, -37, 24}, 0, {768, 939}, {79, 172, 54, 255} }}, + {{ {-25, -44, 13}, 0, {768, 1008}, {79, 172, 54, 255} }}, + {{ {-5, -25, 13}, 0, {1008, 806}, {79, 172, 54, 255} }}, + {{ {-48, -3, 24}, 0, {498, 568}, {63, 96, 54, 255} }}, + {{ {-13, -26, 24}, 0, {917, 814}, {63, 96, 54, 255} }}, + {{ {-5, -25, 13}, 0, {1008, 806}, {63, 96, 54, 255} }}, + {{ {-38, -3, 13}, 0, {608, 572}, {63, 96, 54, 255} }}, + {{ {-22, 11, 24}, 0, {804, 420}, {55, 155, 54, 255} }}, + {{ {-48, -3, 24}, 0, {498, 568}, {55, 155, 54, 255} }}, + {{ {-38, -3, 13}, 0, {608, 572}, {55, 155, 54, 255} }}, + {{ {-17, 8, 13}, 0, {861, 450}, {55, 155, 54, 255} }}, + {{ {16, -40, 23}, 0, {84, 962}, {141, 254, 54, 255} }}, + {{ {15, 1, 23}, 0, {75, 631}, {141, 254, 54, 255} }}, + {{ {10, 0, 13}, 0, {21, 632}, {141, 254, 54, 255} }}, + {{ {11, -45, 13}, 0, {31, 999}, {141, 254, 54, 255} }}, + {{ {34, -41, 23}, 0, {291, 968}, {251, 141, 54, 255} }}, + {{ {16, -40, 23}, 0, {84, 962}, {251, 141, 54, 255} }}, + {{ {11, -45, 13}, 0, {31, 999}, {251, 141, 54, 255} }}, + {{ {39, -46, 13}, 0, {350, 1008}, {251, 141, 54, 255} }}, + {{ {30, 14, 23}, 0, {244, 520}, {115, 8, 54, 255} }}, + {{ {34, -41, 23}, 0, {291, 968}, {115, 8, 54, 255} }}, + {{ {39, -46, 13}, 0, {350, 1008}, {115, 8, 54, 255} }}, + {{ {35, 2, 13}, 0, {309, 622}, {115, 8, 54, 255} }}, + {{ {76, -33, 23}, 0, {779, 905}, {174, 175, 54, 255} }}, + {{ {30, 14, 23}, 0, {244, 520}, {174, 175, 54, 255} }}, + {{ {35, 2, 13}, 0, {309, 622}, {174, 175, 54, 255} }}, + {{ {76, -40, 13}, 0, {778, 959}, {174, 175, 54, 255} }}, + {{ {89, -20, 23}, 0, {927, 799}, {82, 175, 54, 255} }}, + {{ {76, -33, 23}, 0, {779, 905}, {82, 175, 54, 255} }}, + {{ {76, -40, 13}, 0, {778, 959}, {82, 175, 54, 255} }}, + {{ {96, -20, 13}, 0, {1008, 795}, {82, 175, 54, 255} }}, + {{ {35, 22, 23}, 0, {310, 458}, {71, 91, 54, 255} }}, + {{ {89, -20, 23}, 0, {927, 799}, {71, 91, 54, 255} }}, + {{ {96, -20, 13}, 0, {1008, 795}, {71, 91, 54, 255} }}, + {{ {43, 22, 13}, 0, {400, 459}, {71, 91, 54, 255} }}, + {{ {76, 51, 23}, 0, {776, 219}, {68, 163, 54, 255} }}, + {{ {35, 22, 23}, 0, {310, 458}, {68, 163, 54, 255} }}, + {{ {43, 22, 13}, 0, {400, 459}, {68, 163, 54, 255} }}, + {{ {83, 50, 13}, 0, {852, 227}, {68, 163, 54, 255} }}, + {{ {66, 65, 23}, 0, {664, 111}, {93, 68, 54, 255} }}, + {{ {76, 51, 23}, 0, {776, 219}, {93, 68, 54, 255} }}, + {{ {83, 50, 13}, 0, {852, 227}, {93, 68, 54, 255} }}, + {{ {67, 72, 13}, 0, {670, 52}, {93, 68, 54, 255} }}, + {{ {31, 28, 23}, 0, {259, 404}, {174, 80, 54, 255} }}, + {{ {66, 65, 23}, 0, {664, 111}, {174, 80, 54, 255} }}, + {{ {67, 72, 13}, 0, {670, 52}, {174, 80, 54, 255} }}, + {{ {36, 40, 13}, 0, {314, 309}, {174, 80, 54, 255} }}, + {{ {31, 75, 23}, 0, {265, 22}, {115, 255, 54, 255} }}, + {{ {31, 28, 23}, 0, {259, 404}, {115, 255, 54, 255} }}, + {{ {36, 40, 13}, 0, {314, 309}, {115, 255, 54, 255} }}, + {{ {36, 80, 13}, 0, {319, -16}, {115, 255, 54, 255} }}, + {{ {12, 75, 23}, 0, {40, 22}, {0, 115, 54, 255} }}, + {{ {31, 75, 23}, 0, {265, 22}, {0, 115, 54, 255} }}, + {{ {36, 80, 13}, 0, {319, -16}, {0, 115, 54, 255} }}, + {{ {7, 80, 13}, 0, {-16, -16}, {0, 115, 54, 255} }}, + {{ {13, 40, 23}, 0, {57, 307}, {141, 251, 54, 255} }}, + {{ {12, 75, 23}, 0, {40, 22}, {141, 251, 54, 255} }}, + {{ {7, 80, 13}, 0, {-16, -16}, {141, 251, 54, 255} }}, + {{ {9, 40, 13}, 0, {3, 308}, {141, 251, 54, 255} }}, + {{ {15, 1, 23}, 0, {75, 631}, {141, 251, 54, 255} }}, + {{ {13, 40, 23}, 0, {57, 307}, {141, 251, 54, 255} }}, + {{ {9, 40, 13}, 0, {3, 308}, {141, 251, 54, 255} }}, + {{ {10, 0, 13}, 0, {21, 632}, {141, 251, 54, 255} }}, + {{ {145, -13, 18}, 0, {717, 750}, {245, 142, 54, 255} }}, + {{ {94, -8, 18}, 0, {308, 702}, {245, 142, 54, 255} }}, + {{ {96, -13, 8}, 0, {324, 750}, {245, 142, 54, 255} }}, + {{ {141, -17, 8}, 0, {688, 793}, {245, 142, 54, 255} }}, + {{ {99, 12, 18}, 0, {344, 510}, {10, 115, 54, 255} }}, + {{ {136, 9, 18}, 0, {650, 542}, {10, 115, 54, 255} }}, + {{ {130, 14, 8}, 0, {597, 490}, {10, 115, 54, 255} }}, + {{ {107, 16, 8}, 0, {413, 471}, {10, 115, 54, 255} }}, + {{ {94, -8, 18}, 0, {308, 702}, {88, 182, 54, 255} }}, + {{ {74, -32, 18}, 0, {143, 940}, {88, 182, 54, 255} }}, + {{ {74, -39, 8}, 0, {146, 1008}, {88, 182, 54, 255} }}, + {{ {96, -13, 8}, 0, {324, 750}, {88, 182, 54, 255} }}, + {{ {74, -32, 18}, 0, {143, 940}, {176, 173, 54, 255} }}, + {{ {60, -19, 18}, 0, {33, 812}, {176, 173, 54, 255} }}, + {{ {54, -20, 8}, 0, {-16, 819}, {176, 173, 54, 255} }}, + {{ {74, -39, 8}, 0, {146, 1008}, {176, 173, 54, 255} }}, + {{ {86, 21, 18}, 0, {240, 427}, {159, 62, 54, 255} }}, + {{ {112, 61, 18}, 0, {451, 31}, {159, 62, 54, 255} }}, + {{ {109, 66, 8}, 0, {431, -16}, {159, 62, 54, 255} }}, + {{ {82, 23, 8}, 0, {207, 402}, {159, 62, 54, 255} }}, + {{ {60, -19, 18}, 0, {33, 812}, {159, 62, 54, 255} }}, + {{ {54, -20, 8}, 0, {-16, 819}, {159, 62, 54, 255} }}, + {{ {112, 61, 18}, 0, {451, 31}, {5, 115, 54, 255} }}, + {{ {136, 60, 18}, 0, {646, 42}, {5, 115, 54, 255} }}, + {{ {139, 65, 8}, 0, {671, -3}, {5, 115, 54, 255} }}, + {{ {109, 66, 8}, 0, {431, -16}, {5, 115, 54, 255} }}, + {{ {155, 14, 18}, 0, {805, 489}, {106, 45, 54, 255} }}, + {{ {174, -29, 18}, 0, {952, 906}, {106, 45, 54, 255} }}, + {{ {181, -33, 8}, 0, {1008, 946}, {106, 45, 54, 255} }}, + {{ {160, 16, 8}, 0, {840, 471}, {106, 45, 54, 255} }}, + {{ {136, 60, 18}, 0, {646, 42}, {106, 45, 54, 255} }}, + {{ {139, 65, 8}, 0, {671, -3}, {106, 45, 54, 255} }}, + {{ {174, -29, 18}, 0, {952, 906}, {10, 141, 54, 255} }}, + {{ {150, -31, 18}, 0, {760, 926}, {10, 141, 54, 255} }}, + {{ {146, -36, 8}, 0, {732, 976}, {10, 141, 54, 255} }}, + {{ {181, -33, 8}, 0, {1008, 946}, {10, 141, 54, 255} }}, + {{ {150, -31, 18}, 0, {760, 926}, {146, 224, 54, 255} }}, + {{ {145, -13, 18}, 0, {717, 750}, {146, 224, 54, 255} }}, + {{ {141, -17, 8}, 0, {688, 793}, {146, 224, 54, 255} }}, + {{ {146, -36, 8}, 0, {732, 976}, {146, 224, 54, 255} }}, + {{ {136, 9, 18}, 0, {650, 542}, {146, 223, 54, 255} }}, + {{ {124, 49, 18}, 0, {552, 149}, {146, 223, 54, 255} }}, + {{ {123, 38, 8}, 0, {538, 254}, {146, 223, 54, 255} }}, + {{ {130, 14, 8}, 0, {597, 490}, {146, 223, 54, 255} }}, + {{ {124, 49, 18}, 0, {552, 149}, {94, 190, 54, 255} }}, + {{ {99, 12, 18}, 0, {344, 510}, {94, 190, 54, 255} }}, + {{ {107, 16, 8}, 0, {413, 471}, {94, 190, 54, 255} }}, + {{ {123, 38, 8}, 0, {538, 254}, {94, 190, 54, 255} }}, + {{ {172, -30, 24}, 0, {50, 896}, {141, 255, 54, 255} }}, + {{ {171, 65, 24}, 0, {40, 29}, {141, 255, 54, 255} }}, + {{ {166, 70, 13}, 0, {-16, -14}, {141, 255, 54, 255} }}, + {{ {167, -35, 13}, 0, {-6, 938}, {141, 255, 54, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {115, 246, 52, 255} }}, + {{ {185, -31, 24}, 0, {204, 897}, {115, 246, 52, 255} }}, + {{ {189, -35, 13}, 0, {256, 940}, {115, 246, 52, 255} }}, + {{ {192, 1, 13}, 0, {290, 607}, {115, 246, 52, 255} }}, + {{ {185, -31, 24}, 0, {204, 897}, {255, 141, 54, 255} }}, + {{ {172, -30, 24}, 0, {50, 896}, {255, 141, 54, 255} }}, + {{ {167, -35, 13}, 0, {-6, 938}, {255, 141, 54, 255} }}, + {{ {189, -35, 13}, 0, {256, 940}, {255, 141, 54, 255} }}, + {{ {189, 58, 24}, 0, {258, 90}, {114, 255, 56, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {114, 255, 56, 255} }}, + {{ {194, 19, 13}, 0, {310, 449}, {114, 255, 56, 255} }}, + {{ {194, 49, 13}, 0, {313, 176}, {114, 255, 56, 255} }}, + {{ {216, 38, 24}, 0, {568, 271}, {187, 164, 54, 255} }}, + {{ {189, 58, 24}, 0, {258, 90}, {187, 164, 54, 255} }}, + {{ {194, 49, 13}, 0, {313, 176}, {187, 164, 54, 255} }}, + {{ {211, 36, 13}, 0, {515, 293}, {187, 164, 54, 255} }}, + {{ {217, 26, 24}, 0, {582, 379}, {142, 245, 54, 255} }}, + {{ {216, 38, 24}, 0, {568, 271}, {142, 245, 54, 255} }}, + {{ {211, 36, 13}, 0, {515, 293}, {142, 245, 54, 255} }}, + {{ {212, 29, 13}, 0, {523, 355}, {142, 245, 54, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {200, 103, 48, 255} }}, + {{ {217, 26, 24}, 0, {582, 379}, {200, 103, 48, 255} }}, + {{ {212, 29, 13}, 0, {523, 355}, {200, 103, 48, 255} }}, + {{ {194, 19, 13}, 0, {310, 449}, {200, 103, 48, 255} }}, + {{ {171, 65, 24}, 0, {40, 29}, {255, 115, 54, 255} }}, + {{ {204, 65, 24}, 0, {437, 27}, {255, 115, 54, 255} }}, + {{ {205, 70, 13}, 0, {448, -16}, {255, 115, 54, 255} }}, + {{ {166, 70, 13}, 0, {-16, -14}, {255, 115, 54, 255} }}, + {{ {235, 52, 24}, 0, {795, 143}, {115, 2, 54, 255} }}, + {{ {235, 21, 24}, 0, {801, 424}, {115, 2, 54, 255} }}, + {{ {240, 19, 13}, 0, {858, 447}, {115, 2, 54, 255} }}, + {{ {239, 56, 13}, 0, {850, 114}, {115, 2, 54, 255} }}, + {{ {204, 65, 24}, 0, {437, 27}, {44, 106, 54, 255} }}, + {{ {235, 52, 24}, 0, {795, 143}, {44, 106, 54, 255} }}, + {{ {239, 56, 13}, 0, {850, 114}, {44, 106, 54, 255} }}, + {{ {205, 70, 13}, 0, {448, -16}, {44, 106, 54, 255} }}, + {{ {231, -36, 24}, 0, {749, 946}, {169, 179, 52, 255} }}, + {{ {189, 12, 24}, 0, {249, 513}, {169, 179, 52, 255} }}, + {{ {192, 1, 13}, 0, {290, 607}, {169, 179, 52, 255} }}, + {{ {231, -43, 13}, 0, {746, 1008}, {169, 179, 52, 255} }}, + {{ {246, -22, 24}, 0, {922, 815}, {80, 174, 54, 255} }}, + {{ {231, -36, 24}, 0, {749, 946}, {80, 174, 54, 255} }}, + {{ {231, -43, 13}, 0, {746, 1008}, {80, 174, 54, 255} }}, + {{ {253, -21, 13}, 0, {1008, 810}, {80, 174, 54, 255} }}, + {{ {210, 5, 24}, 0, {501, 577}, {68, 93, 54, 255} }}, + {{ {246, -22, 24}, 0, {922, 815}, {68, 93, 54, 255} }}, + {{ {253, -21, 13}, 0, {1008, 810}, {68, 93, 54, 255} }}, + {{ {218, 4, 13}, 0, {598, 579}, {68, 93, 54, 255} }}, + {{ {235, 21, 24}, 0, {801, 424}, {63, 160, 54, 255} }}, + {{ {210, 5, 24}, 0, {501, 577}, {63, 160, 54, 255} }}, + {{ {218, 4, 13}, 0, {598, 579}, {63, 160, 54, 255} }}, + {{ {240, 19, 13}, 0, {858, 447}, {63, 160, 54, 255} }}, + {{ {264, -30, 18}, 0, {331, 956}, {142, 17, 54, 255} }}, + {{ {276, 51, 18}, 0, {469, 187}, {142, 17, 54, 255} }}, + {{ {270, 47, 8}, 0, {408, 230}, {142, 17, 54, 255} }}, + {{ {258, -35, 8}, 0, {269, 999}, {142, 17, 54, 255} }}, + {{ {291, -31, 18}, 0, {632, 962}, {253, 141, 54, 255} }}, + {{ {264, -30, 18}, 0, {331, 956}, {253, 141, 54, 255} }}, + {{ {258, -35, 8}, 0, {269, 999}, {253, 141, 54, 255} }}, + {{ {295, -36, 8}, 0, {686, 1008}, {253, 141, 54, 255} }}, + {{ {289, 50, 18}, 0, {617, 200}, {115, 2, 54, 255} }}, + {{ {291, -31, 18}, 0, {632, 962}, {115, 2, 54, 255} }}, + {{ {295, -36, 8}, 0, {686, 1008}, {115, 2, 54, 255} }}, + {{ {294, 45, 8}, 0, {671, 247}, {115, 2, 54, 255} }}, + {{ {281, 68, 18}, 0, {524, 32}, {255, 115, 54, 255} }}, + {{ {318, 68, 18}, 0, {941, 29}, {255, 115, 54, 255} }}, + {{ {323, 73, 8}, 0, {992, -16}, {255, 115, 54, 255} }}, + {{ {281, 73, 8}, 0, {523, -13}, {255, 115, 54, 255} }}, + {{ {318, 68, 18}, 0, {941, 29}, {115, 6, 54, 255} }}, + {{ {319, 48, 18}, 0, {952, 216}, {115, 6, 54, 255} }}, + {{ {324, 43, 8}, 0, {1008, 263}, {115, 6, 54, 255} }}, + {{ {323, 73, 8}, 0, {992, -16}, {115, 6, 54, 255} }}, + {{ {276, 51, 18}, 0, {469, 187}, {253, 141, 54, 255} }}, + {{ {238, 52, 18}, 0, {42, 177}, {253, 141, 54, 255} }}, + {{ {233, 48, 8}, 0, {-10, 220}, {253, 141, 54, 255} }}, + {{ {270, 47, 8}, 0, {408, 230}, {253, 141, 54, 255} }}, + {{ {319, 48, 18}, 0, {952, 216}, {250, 141, 54, 255} }}, + {{ {289, 50, 18}, 0, {617, 200}, {250, 141, 54, 255} }}, + {{ {294, 45, 8}, 0, {671, 247}, {250, 141, 54, 255} }}, + {{ {324, 43, 8}, 0, {1008, 263}, {250, 141, 54, 255} }}, + {{ {238, 52, 18}, 0, {42, 177}, {141, 253, 54, 255} }}, + {{ {238, 66, 18}, 0, {38, 49}, {141, 253, 54, 255} }}, + {{ {233, 71, 8}, 0, {-16, 6}, {141, 253, 54, 255} }}, + {{ {233, 48, 8}, 0, {-10, 220}, {141, 253, 54, 255} }}, + {{ {238, 66, 18}, 0, {38, 49}, {251, 115, 54, 255} }}, + {{ {281, 68, 18}, 0, {524, 32}, {251, 115, 54, 255} }}, + {{ {281, 73, 8}, 0, {523, -13}, {251, 115, 54, 255} }}, + {{ {233, 71, 8}, 0, {-16, 6}, {251, 115, 54, 255} }}, + {{ {-228, 57, 8}, 0, {-16, 28}, {0, 0, 129, 255} }}, + {{ {-200, 61, 8}, 0, {189, -8}, {0, 0, 129, 255} }}, + {{ {-199, -1, 8}, 0, {194, 608}, {0, 0, 129, 255} }}, + {{ {-215, -41, 8}, 0, {81, 999}, {0, 0, 129, 255} }}, + {{ {-196, -38, 8}, 0, {219, 971}, {0, 0, 129, 255} }}, + {{ {-168, 58, 8}, 0, {420, 24}, {0, 0, 129, 255} }}, + {{ {-154, 22, 8}, 0, {518, 373}, {0, 0, 129, 255} }}, + {{ {-153, 42, 8}, 0, {524, 177}, {0, 0, 129, 255} }}, + {{ {-126, 30, 8}, 0, {721, 295}, {0, 0, 129, 255} }}, + {{ {-126, 37, 8}, 0, {721, 227}, {0, 0, 129, 255} }}, + {{ {-152, 57, 8}, 0, {530, 25}, {0, 0, 129, 255} }}, + {{ {-99, 42, 8}, 0, {915, 177}, {0, 0, 129, 255} }}, + {{ {-152, 57, 8}, 0, {530, 25}, {0, 0, 129, 255} }}, + {{ {-98, 62, 8}, 0, {921, -16}, {0, 0, 129, 255} }}, + {{ {-99, 42, 8}, 0, {915, 177}, {0, 0, 129, 255} }}, + {{ {-155, -37, 8}, 0, {511, 956}, {0, 0, 129, 255} }}, + {{ {-154, 22, 8}, 0, {518, 373}, {0, 0, 129, 255} }}, + {{ {-126, 30, 8}, 0, {721, 295}, {0, 0, 129, 255} }}, + {{ {-128, -3, 8}, 0, {708, 619}, {0, 0, 129, 255} }}, + {{ {-102, 3, 8}, 0, {890, 567}, {0, 0, 129, 255} }}, + {{ {-100, 28, 8}, 0, {904, 317}, {0, 0, 129, 255} }}, + {{ {-125, -16, 8}, 0, {729, 754}, {0, 0, 129, 255} }}, + {{ {-86, -42, 8}, 0, {1006, 1008}, {0, 0, 129, 255} }}, + {{ {-86, -22, 8}, 0, {1008, 808}, {0, 0, 129, 255} }}, + {{ {-67, -5, 13}, 0, {263, 595}, {0, 0, 129, 255} }}, + {{ {-5, -25, 13}, 0, {1008, 806}, {0, 0, 129, 255} }}, + {{ {-25, -44, 13}, 0, {768, 1008}, {0, 0, 129, 255} }}, + {{ {-38, -3, 13}, 0, {608, 572}, {0, 0, 129, 255} }}, + {{ {-44, 16, 13}, 0, {537, 371}, {0, 0, 129, 255} }}, + {{ {-61, 8, 13}, 0, {337, 453}, {0, 0, 129, 255} }}, + {{ {-90, 52, 13}, 0, {-16, -16}, {0, 0, 129, 255} }}, + {{ {-90, -37, 13}, 0, {-16, 938}, {0, 0, 129, 255} }}, + {{ {-68, -36, 13}, 0, {258, 926}, {0, 0, 129, 255} }}, + {{ {-61, 34, 13}, 0, {334, 174}, {0, 0, 129, 255} }}, + {{ {-51, 52, 13}, 0, {463, -14}, {0, 0, 129, 255} }}, + {{ {-45, 23, 13}, 0, {531, 300}, {0, 0, 129, 255} }}, + {{ {-17, 40, 13}, 0, {863, 118}, {0, 0, 129, 255} }}, + {{ {-17, 8, 13}, 0, {861, 450}, {0, 0, 129, 255} }}, + {{ {35, 2, 13}, 0, {309, 622}, {0, 0, 129, 255} }}, + {{ {96, -20, 13}, 0, {1008, 795}, {0, 0, 129, 255} }}, + {{ {76, -40, 13}, 0, {778, 959}, {0, 0, 129, 255} }}, + {{ {43, 22, 13}, 0, {400, 459}, {0, 0, 129, 255} }}, + {{ {10, 0, 13}, 0, {21, 632}, {0, 0, 129, 255} }}, + {{ {39, -46, 13}, 0, {350, 1008}, {0, 0, 129, 255} }}, + {{ {10, 0, 13}, 0, {21, 632}, {0, 0, 129, 255} }}, + {{ {39, -46, 13}, 0, {350, 1008}, {0, 0, 129, 255} }}, + {{ {11, -45, 13}, 0, {31, 999}, {0, 0, 129, 255} }}, + {{ {9, 40, 13}, 0, {3, 308}, {0, 0, 129, 255} }}, + {{ {43, 22, 13}, 0, {400, 459}, {0, 0, 129, 255} }}, + {{ {36, 40, 13}, 0, {314, 309}, {0, 0, 129, 255} }}, + {{ {36, 80, 13}, 0, {319, -16}, {0, 0, 129, 255} }}, + {{ {7, 80, 13}, 0, {-16, -16}, {0, 0, 129, 255} }}, + {{ {67, 72, 13}, 0, {670, 52}, {0, 0, 129, 255} }}, + {{ {83, 50, 13}, 0, {852, 227}, {0, 0, 129, 255} }}, + {{ {96, -13, 8}, 0, {324, 750}, {0, 0, 129, 255} }}, + {{ {74, -39, 8}, 0, {146, 1008}, {0, 0, 129, 255} }}, + {{ {54, -20, 8}, 0, {-16, 819}, {0, 0, 129, 255} }}, + {{ {82, 23, 8}, 0, {207, 402}, {0, 0, 129, 255} }}, + {{ {107, 16, 8}, 0, {413, 471}, {0, 0, 129, 255} }}, + {{ {123, 38, 8}, 0, {538, 254}, {0, 0, 129, 255} }}, + {{ {109, 66, 8}, 0, {431, -16}, {0, 0, 129, 255} }}, + {{ {139, 65, 8}, 0, {671, -3}, {0, 0, 129, 255} }}, + {{ {130, 14, 8}, 0, {597, 490}, {0, 0, 129, 255} }}, + {{ {160, 16, 8}, 0, {840, 471}, {0, 0, 129, 255} }}, + {{ {141, -17, 8}, 0, {688, 793}, {0, 0, 129, 255} }}, + {{ {181, -33, 8}, 0, {1008, 946}, {0, 0, 129, 255} }}, + {{ {146, -36, 8}, 0, {732, 976}, {0, 0, 129, 255} }}, + {{ {167, -35, 13}, 0, {-6, 938}, {0, 0, 129, 255} }}, + {{ {192, 1, 13}, 0, {290, 607}, {0, 0, 129, 255} }}, + {{ {189, -35, 13}, 0, {256, 940}, {0, 0, 129, 255} }}, + {{ {166, 70, 13}, 0, {-16, -14}, {0, 0, 129, 255} }}, + {{ {194, 19, 13}, 0, {310, 449}, {0, 0, 129, 255} }}, + {{ {194, 49, 13}, 0, {313, 176}, {0, 0, 129, 255} }}, + {{ {205, 70, 13}, 0, {448, -16}, {0, 0, 129, 255} }}, + {{ {211, 36, 13}, 0, {515, 293}, {0, 0, 129, 255} }}, + {{ {239, 56, 13}, 0, {850, 114}, {0, 0, 129, 255} }}, + {{ {212, 29, 13}, 0, {523, 355}, {0, 0, 129, 255} }}, + {{ {211, 36, 13}, 0, {515, 293}, {0, 0, 129, 255} }}, + {{ {239, 56, 13}, 0, {850, 114}, {0, 0, 129, 255} }}, + {{ {240, 19, 13}, 0, {858, 447}, {0, 0, 129, 255} }}, + {{ {194, 19, 13}, 0, {310, 449}, {0, 0, 129, 255} }}, + {{ {218, 4, 13}, 0, {598, 579}, {0, 0, 129, 255} }}, + {{ {192, 1, 13}, 0, {290, 607}, {0, 0, 129, 255} }}, + {{ {231, -43, 13}, 0, {746, 1008}, {0, 0, 129, 255} }}, + {{ {253, -21, 13}, 0, {1008, 810}, {0, 0, 129, 255} }}, + {{ {233, 48, 8}, 0, {-10, 220}, {0, 0, 129, 255} }}, + {{ {233, 71, 8}, 0, {-16, 6}, {0, 0, 129, 255} }}, + {{ {281, 73, 8}, 0, {523, -13}, {0, 0, 129, 255} }}, + {{ {270, 47, 8}, 0, {408, 230}, {0, 0, 129, 255} }}, + {{ {294, 45, 8}, 0, {671, 247}, {0, 0, 129, 255} }}, + {{ {324, 43, 8}, 0, {1008, 263}, {0, 0, 129, 255} }}, + {{ {323, 73, 8}, 0, {992, -16}, {0, 0, 129, 255} }}, + {{ {295, -36, 8}, 0, {686, 1008}, {0, 0, 129, 255} }}, + {{ {258, -35, 8}, 0, {269, 999}, {0, 0, 129, 255} }}, + {{ {-296, -40, 24}, 0, {316, 961}, {0, 0, 127, 255} }}, + {{ {-274, 1, 24}, 0, {514, 589}, {0, 0, 127, 255} }}, + {{ {-287, 11, 24}, 0, {389, 506}, {0, 0, 127, 255} }}, + {{ {-232, -24, 24}, 0, {886, 819}, {0, 0, 127, 255} }}, + {{ {-261, 7, 24}, 0, {624, 536}, {0, 0, 127, 255} }}, + {{ {-224, 39, 24}, 0, {962, 255}, {0, 0, 127, 255} }}, + {{ {-261, 20, 24}, 0, {627, 423}, {0, 0, 127, 255} }}, + {{ {-260, 63, 24}, 0, {634, 38}, {0, 0, 127, 255} }}, + {{ {-267, 31, 24}, 0, {576, 325}, {0, 0, 127, 255} }}, + {{ {-287, 29, 24}, 0, {396, 340}, {0, 0, 127, 255} }}, + {{ {-304, 64, 24}, 0, {242, 27}, {0, 0, 127, 255} }}, + {{ {-326, 51, 24}, 0, {43, 144}, {0, 0, 127, 255} }}, + {{ {-328, -10, 24}, 0, {27, 690}, {0, 0, 127, 255} }}, + {{ {-332, -12, 14}, 0, {-16, 708}, {0, 0, 129, 255} }}, + {{ {-283, 13, 14}, 0, {432, 484}, {0, 0, 129, 255} }}, + {{ {-273, 7, 14}, 0, {518, 540}, {0, 0, 129, 255} }}, + {{ {-330, 54, 14}, 0, {1, 119}, {0, 0, 129, 255} }}, + {{ {-282, 25, 14}, 0, {437, 379}, {0, 0, 129, 255} }}, + {{ {-305, 69, 14}, 0, {231, -16}, {0, 0, 129, 255} }}, + {{ {-259, 67, 14}, 0, {648, -4}, {0, 0, 129, 255} }}, + {{ {-269, 26, 14}, 0, {551, 370}, {0, 0, 129, 255} }}, + {{ {-266, 19, 14}, 0, {584, 433}, {0, 0, 129, 255} }}, + {{ {-219, 41, 14}, 0, {1008, 234}, {0, 0, 129, 255} }}, + {{ {-228, -28, 14}, 0, {925, 854}, {0, 0, 129, 255} }}, + {{ {-266, 10, 14}, 0, {582, 509}, {0, 0, 129, 255} }}, + {{ {-297, -45, 14}, 0, {304, 1008}, {0, 0, 129, 255} }}, +}; + +Gfx ok64_Plane_001_mesh_tri_2[] = { + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 0, 4, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 10, 8, 0, 6, 10, 7, 0), + gsSP2Triangles(7, 11, 6, 0, 12, 6, 11, 0), + gsSP2Triangles(11, 13, 12, 0, 11, 14, 13, 0), + gsSP2Triangles(15, 10, 6, 0, 15, 6, 16, 0), + gsSP2Triangles(17, 15, 16, 0, 17, 16, 18, 0), + gsSP2Triangles(19, 20, 21, 0, 20, 19, 22, 0), + gsSP2Triangles(22, 19, 23, 0, 23, 24, 22, 0), + gsSP2Triangles(25, 24, 23, 0, 25, 26, 24, 0), + gsSP2Triangles(27, 26, 25, 0, 27, 28, 26, 0), + gsSP2Triangles(19, 28, 27, 0, 19, 29, 28, 0), + gsSP2Triangles(30, 29, 19, 0, 30, 31, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 5, 4, 2, 0), + gsSP2Triangles(5, 6, 4, 0, 7, 3, 4, 0), + gsSP2Triangles(4, 8, 7, 0, 9, 8, 4, 0), + gsSP2Triangles(9, 10, 8, 0, 11, 7, 8, 0), + gsSP2Triangles(11, 12, 7, 0, 13, 14, 15, 0), + gsSP2Triangles(13, 16, 14, 0, 16, 17, 14, 0), + gsSP2Triangles(16, 18, 17, 0, 16, 19, 18, 0), + gsSP2Triangles(19, 20, 18, 0, 21, 20, 19, 0), + gsSP2Triangles(21, 19, 22, 0, 18, 20, 23, 0), + gsSP2Triangles(18, 23, 24, 0, 23, 25, 24, 0), + gsSP2Triangles(14, 24, 25, 0, 14, 17, 24, 0), + gsSP2Triangles(26, 27, 28, 0, 27, 26, 29, 0), + gsSP2Triangles(29, 26, 30, 0, 30, 31, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 64, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(13, 12, 14, 0, 15, 14, 12, 0), + gsSP2Triangles(15, 16, 14, 0, 14, 17, 13, 0), + gsSP2Triangles(14, 18, 17, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0), + gsSP1Triangle(27, 29, 30, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 95, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 127, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 159, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 191, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 223, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 255, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 287, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 319, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 20, 23, 0, 24, 23, 25, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 349, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSP2Triangles(10, 11, 12, 0, 10, 12, 13, 0), + gsSP2Triangles(14, 15, 16, 0, 14, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 379, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 411, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 443, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 23, 22, 0, 25, 24, 22, 0), + gsSP2Triangles(25, 26, 24, 0, 26, 25, 27, 0), + gsSP2Triangles(27, 28, 26, 0, 27, 29, 28, 0), + gsSP2Triangles(29, 27, 30, 0, 30, 31, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 475, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 5, 7, 6, 0), + gsSP2Triangles(5, 8, 7, 0, 6, 9, 3, 0), + gsSP2Triangles(9, 10, 3, 0, 9, 11, 10, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 15, 13, 0), + gsSP2Triangles(16, 15, 12, 0, 16, 12, 17, 0), + gsSP2Triangles(17, 12, 18, 0, 19, 18, 12, 0), + gsSP2Triangles(19, 12, 20, 0, 17, 18, 21, 0), + gsSP2Triangles(22, 21, 18, 0, 23, 21, 22, 0), + gsSP2Triangles(24, 23, 22, 0, 16, 23, 24, 0), + gsSP2Triangles(16, 24, 25, 0, 25, 15, 16, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 29, 27, 0), + gsSP2Triangles(29, 26, 30, 0, 30, 26, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 507, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 4, 0), + gsSP2Triangles(3, 5, 4, 0, 6, 5, 3, 0), + gsSP2Triangles(6, 3, 7, 0, 4, 5, 8, 0), + gsSP2Triangles(4, 8, 9, 0, 10, 11, 12, 0), + gsSP2Triangles(10, 12, 13, 0, 13, 14, 10, 0), + gsSP2Triangles(13, 15, 14, 0, 13, 16, 15, 0), + gsSP2Triangles(17, 15, 16, 0, 18, 15, 17, 0), + gsSP2Triangles(18, 17, 19, 0, 20, 18, 19, 0), + gsSP2Triangles(21, 20, 19, 0, 21, 22, 20, 0), + gsSP2Triangles(10, 18, 20, 0, 10, 14, 18, 0), + gsSP2Triangles(23, 24, 25, 0, 23, 26, 24, 0), + gsSP2Triangles(27, 24, 26, 0, 27, 26, 28, 0), + gsSP2Triangles(26, 29, 28, 0, 30, 28, 29, 0), + gsSP1Triangle(30, 29, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 539, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(5, 6, 4, 0, 7, 6, 5, 0), + gsSP2Triangles(7, 5, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(9, 11, 12, 0, 11, 13, 12, 0), + gsSP2Triangles(11, 14, 13, 0, 11, 15, 14, 0), + gsSP2Triangles(12, 13, 16, 0, 12, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 19, 18, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 22, 21, 23, 0), + gsSP2Triangles(22, 23, 24, 0, 24, 23, 25, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 26, 25, 0), + gsSP2Triangles(27, 25, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(30, 27, 29, 0, 30, 20, 27, 0), + gsSP1Triangle(18, 20, 30, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_2 + 570, 13, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(3, 4, 1, 0, 5, 4, 3, 0), + gsSP2Triangles(6, 4, 5, 0, 6, 7, 4, 0), + gsSP2Triangles(6, 8, 7, 0, 6, 9, 8, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(10, 2, 11, 0, 10, 12, 2, 0), + gsSP1Triangle(0, 2, 12, 0), + gsSPEndDisplayList(), +}; + +Vtx ok64_Plane_001_mesh_vtx_3[772] = { + {{ {-330, 53, 30}, 0, {43, 144}, {2, 253, 129, 255} }}, + {{ {-305, 68, 30}, 0, {242, 27}, {2, 253, 129, 255} }}, + {{ {-285, 28, 32}, 0, {396, 340}, {2, 253, 129, 255} }}, + {{ {-204, -20, 26}, 0, {162, 791}, {254, 12, 130, 255} }}, + {{ {-196, -38, 24}, 0, {199, 927}, {254, 12, 130, 255} }}, + {{ {-214, -39, 24}, 0, {109, 946}, {254, 12, 130, 255} }}, + {{ {-129, 27, 26}, 0, {687, 338}, {254, 255, 129, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {254, 255, 129, 255} }}, + {{ {-129, 39, 26}, 0, {687, 189}, {254, 255, 129, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {254, 0, 129, 255} }}, + {{ {-129, 27, 26}, 0, {687, 338}, {254, 0, 129, 255} }}, + {{ {-131, 0, 26}, 0, {668, 583}, {254, 0, 129, 255} }}, + {{ {-89, -36, 29}, 0, {41, 885}, {9, 0, 129, 255} }}, + {{ {-89, 51, 29}, 0, {41, 35}, {9, 0, 129, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {9, 0, 129, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {254, 6, 129, 255} }}, + {{ {-69, -35, 29}, 0, {202, 878}, {254, 6, 129, 255} }}, + {{ {-89, -36, 29}, 0, {41, 885}, {254, 6, 129, 255} }}, + {{ {-66, 43, 31}, 0, {276, 75}, {1, 233, 131, 255} }}, + {{ {-89, 51, 29}, 0, {41, 35}, {1, 233, 131, 255} }}, + {{ {-51, 52, 30}, 0, {453, 37}, {1, 233, 131, 255} }}, + {{ {-89, 51, 29}, 0, {41, 35}, {9, 0, 129, 255} }}, + {{ {-66, 43, 31}, 0, {276, 75}, {9, 0, 129, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {9, 0, 129, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {14, 14, 131, 255} }}, + {{ {9, 40, 29}, 0, {57, 307}, {14, 14, 131, 255} }}, + {{ {31, 29, 31}, 0, {259, 404}, {14, 14, 131, 255} }}, + {{ {9, 40, 29}, 0, {57, 307}, {5, 0, 129, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {5, 0, 129, 255} }}, + {{ {11, 0, 29}, 0, {75, 631}, {5, 0, 129, 255} }}, + {{ {11, 0, 29}, 0, {75, 631}, {26, 231, 134, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {26, 231, 134, 255} }}, + {{ {30, 14, 31}, 0, {244, 520}, {26, 231, 134, 255} }}, + {{ {95, -10, 25}, 0, {308, 702}, {9, 1, 129, 255} }}, + {{ {82, 23, 25}, 0, {240, 427}, {9, 1, 129, 255} }}, + {{ {100, 12, 26}, 0, {344, 510}, {9, 1, 129, 255} }}, + {{ {143, -15, 26}, 0, {717, 750}, {250, 0, 129, 255} }}, + {{ {135, 10, 26}, 0, {650, 542}, {250, 0, 129, 255} }}, + {{ {159, 16, 25}, 0, {805, 489}, {250, 0, 129, 255} }}, + {{ {139, 64, 24}, 0, {646, 42}, {255, 243, 130, 255} }}, + {{ {124, 48, 26}, 0, {552, 149}, {255, 243, 130, 255} }}, + {{ {110, 65, 24}, 0, {451, 31}, {255, 243, 130, 255} }}, + {{ {168, -34, 29}, 0, {50, 896}, {10, 0, 129, 255} }}, + {{ {167, 68, 29}, 0, {40, 29}, {10, 0, 129, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {10, 0, 129, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {255, 5, 129, 255} }}, + {{ {188, -34, 29}, 0, {204, 897}, {255, 5, 129, 255} }}, + {{ {168, -34, 29}, 0, {50, 896}, {255, 5, 129, 255} }}, + {{ {190, 58, 31}, 0, {258, 90}, {1, 239, 130, 255} }}, + {{ {167, 68, 29}, 0, {40, 29}, {1, 239, 130, 255} }}, + {{ {205, 70, 30}, 0, {437, 27}, {1, 239, 130, 255} }}, + {{ {167, 68, 29}, 0, {40, 29}, {9, 0, 129, 255} }}, + {{ {190, 58, 31}, 0, {258, 90}, {9, 0, 129, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {9, 0, 129, 255} }}, + {{ {275, 50, 26}, 0, {469, 187}, {255, 250, 129, 255} }}, + {{ {281, 72, 25}, 0, {524, 32}, {255, 250, 129, 255} }}, + {{ {290, 49, 26}, 0, {617, 200}, {255, 250, 129, 255} }}, + {{ {-42, 14, 31}, 0, {596, 402}, {120, 17, 220, 255} }}, + {{ {-49, 19, 8}, 0, {531, 300}, {120, 17, 220, 255} }}, + {{ {-43, 24, 30}, 0, {586, 273}, {120, 17, 220, 255} }}, + {{ {214, 28, 31}, 0, {582, 379}, {122, 21, 228, 255} }}, + {{ {208, 32, 8}, 0, {515, 293}, {122, 21, 228, 255} }}, + {{ {213, 37, 30}, 0, {568, 271}, {122, 21, 228, 255} }}, + {{ {-307, 75, 11}, 0, {231, -16}, {4, 253, 127, 255} }}, + {{ {-336, 57, 11}, 0, {1, 119}, {4, 253, 127, 255} }}, + {{ {-279, 21, 8}, 0, {437, 379}, {4, 253, 127, 255} }}, + {{ {-192, -44, 5}, 0, {219, 971}, {3, 9, 127, 255} }}, + {{ {-196, 10, 1}, 0, {194, 608}, {3, 9, 127, 255} }}, + {{ {-219, -47, 6}, 0, {81, 999}, {3, 9, 127, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {251, 255, 127, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {251, 255, 127, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {251, 255, 127, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {42, 0, 120, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {42, 0, 120, 255} }}, + {{ {-169, 65, 6}, 0, {420, 24}, {42, 0, 120, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {242, 241, 125, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {242, 241, 125, 255} }}, + {{ {-122, 34, 3}, 0, {721, 227}, {242, 241, 125, 255} }}, + {{ {-123, -6, 2}, 0, {708, 619}, {2, 9, 127, 255} }}, + {{ {-160, -41, 6}, 0, {511, 956}, {2, 9, 127, 255} }}, + {{ {-121, -12, 3}, 0, {729, 754}, {2, 9, 127, 255} }}, + {{ {-49, 19, 8}, 0, {537, 371}, {249, 0, 127, 255} }}, + {{ {-12, 5, 10}, 0, {861, 450}, {249, 0, 127, 255} }}, + {{ {-11, 44, 10}, 0, {863, 118}, {249, 0, 127, 255} }}, + {{ {-12, 5, 10}, 0, {861, 450}, {243, 241, 125, 255} }}, + {{ {-49, 19, 8}, 0, {537, 371}, {243, 241, 125, 255} }}, + {{ {-35, -3, 7}, 0, {608, 572}, {243, 241, 125, 255} }}, + {{ {-11, 44, 10}, 0, {863, 118}, {252, 251, 127, 255} }}, + {{ {-49, 58, 10}, 0, {463, -14}, {252, 251, 127, 255} }}, + {{ {-49, 19, 8}, 0, {531, 300}, {252, 251, 127, 255} }}, + {{ {-49, 19, 8}, 0, {531, 300}, {232, 251, 125, 255} }}, + {{ {-49, 58, 10}, 0, {463, -14}, {232, 251, 125, 255} }}, + {{ {-58, 29, 7}, 0, {334, 174}, {232, 251, 125, 255} }}, + {{ {-49, 58, 10}, 0, {463, -14}, {3, 243, 126, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {3, 243, 126, 255} }}, + {{ {-58, 29, 7}, 0, {334, 174}, {3, 243, 126, 255} }}, + {{ {-95, -42, 7}, 0, {-16, 938}, {241, 15, 125, 255} }}, + {{ {-63, -41, 10}, 0, {258, 926}, {241, 15, 125, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {241, 15, 125, 255} }}, + {{ {-58, 12, 7}, 0, {337, 453}, {15, 2, 126, 255} }}, + {{ {-58, 29, 7}, 0, {334, 174}, {15, 2, 126, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {15, 2, 126, 255} }}, + {{ {-58, 12, 7}, 0, {337, 453}, {7, 251, 127, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {7, 251, 127, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {7, 251, 127, 255} }}, + {{ {-95, -42, 7}, 0, {-16, 938}, {6, 251, 127, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {6, 251, 127, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {6, 251, 127, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {10, 249, 126, 255} }}, + {{ {4, 0, 9}, 0, {21, 632}, {10, 249, 126, 255} }}, + {{ {38, -5, 6}, 0, {309, 622}, {10, 249, 126, 255} }}, + {{ {4, 0, 9}, 0, {21, 632}, {6, 0, 127, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {6, 0, 127, 255} }}, + {{ {2, 40, 9}, 0, {3, 308}, {6, 0, 127, 255} }}, + {{ {2, 40, 9}, 0, {3, 308}, {9, 7, 126, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {9, 7, 126, 255} }}, + {{ {38, 46, 6}, 0, {314, 309}, {9, 7, 126, 255} }}, + {{ {138, -21, 3}, 0, {688, 793}, {248, 1, 127, 255} }}, + {{ {166, 18, 4}, 0, {840, 471}, {248, 1, 127, 255} }}, + {{ {127, 16, 2}, 0, {597, 490}, {248, 1, 127, 255} }}, + {{ {76, 26, 4}, 0, {207, 402}, {10, 2, 127, 255} }}, + {{ {98, -18, 3}, 0, {324, 750}, {10, 2, 127, 255} }}, + {{ {110, 18, 2}, 0, {413, 471}, {10, 2, 127, 255} }}, + {{ {143, 70, 5}, 0, {671, -3}, {255, 243, 126, 255} }}, + {{ {106, 72, 5}, 0, {431, -16}, {255, 243, 126, 255} }}, + {{ {122, 35, 2}, 0, {538, 254}, {255, 243, 126, 255} }}, + {{ {222, 4, 7}, 0, {598, 579}, {254, 255, 127, 255} }}, + {{ {197, 23, 7}, 0, {310, 449}, {254, 255, 127, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {254, 255, 127, 255} }}, + {{ {161, 75, 11}, 0, {-16, -14}, {3, 243, 126, 255} }}, + {{ {196, 43, 7}, 0, {313, 176}, {3, 243, 126, 255} }}, + {{ {207, 76, 10}, 0, {448, -16}, {3, 243, 126, 255} }}, + {{ {208, 32, 8}, 0, {523, 355}, {254, 10, 127, 255} }}, + {{ {246, 16, 10}, 0, {858, 447}, {254, 10, 127, 255} }}, + {{ {245, 59, 7}, 0, {850, 114}, {254, 10, 127, 255} }}, + {{ {281, 79, 4}, 0, {523, -13}, {255, 249, 127, 255} }}, + {{ {267, 44, 2}, 0, {408, 230}, {255, 249, 127, 255} }}, + {{ {297, 42, 2}, 0, {671, 247}, {255, 249, 127, 255} }}, + {{ {-297, -45, 30}, 0, {316, 961}, {2, 2, 129, 255} }}, + {{ {-332, -12, 30}, 0, {27, 690}, {2, 2, 129, 255} }}, + {{ {-285, 12, 31}, 0, {389, 506}, {2, 2, 129, 255} }}, + {{ {-273, 4, 31}, 0, {514, 589}, {2, 2, 129, 255} }}, + {{ {-332, -12, 30}, 0, {27, 690}, {3, 0, 129, 255} }}, + {{ {-330, 53, 30}, 0, {43, 144}, {3, 0, 129, 255} }}, + {{ {-285, 28, 32}, 0, {396, 340}, {3, 0, 129, 255} }}, + {{ {-285, 12, 31}, 0, {389, 506}, {3, 0, 129, 255} }}, + {{ {-273, 4, 31}, 0, {514, 589}, {255, 3, 129, 255} }}, + {{ {-264, 9, 31}, 0, {624, 536}, {255, 3, 129, 255} }}, + {{ {-229, -27, 30}, 0, {886, 819}, {255, 3, 129, 255} }}, + {{ {-297, -45, 30}, 0, {316, 961}, {255, 3, 129, 255} }}, + {{ {-264, 9, 31}, 0, {624, 536}, {253, 0, 129, 255} }}, + {{ {-265, 19, 31}, 0, {627, 423}, {253, 0, 129, 255} }}, + {{ {-220, 40, 30}, 0, {962, 255}, {253, 0, 129, 255} }}, + {{ {-229, -27, 30}, 0, {886, 819}, {253, 0, 129, 255} }}, + {{ {-265, 19, 31}, 0, {627, 423}, {253, 255, 129, 255} }}, + {{ {-268, 28, 31}, 0, {576, 325}, {253, 255, 129, 255} }}, + {{ {-259, 67, 30}, 0, {634, 38}, {253, 255, 129, 255} }}, + {{ {-220, 40, 30}, 0, {962, 255}, {253, 255, 129, 255} }}, + {{ {-285, 28, 32}, 0, {396, 340}, {0, 252, 129, 255} }}, + {{ {-305, 68, 30}, 0, {242, 27}, {0, 252, 129, 255} }}, + {{ {-259, 67, 30}, 0, {634, 38}, {0, 252, 129, 255} }}, + {{ {-268, 28, 31}, 0, {576, 325}, {0, 252, 129, 255} }}, + {{ {-214, -39, 24}, 0, {109, 946}, {7, 255, 129, 255} }}, + {{ {-227, 56, 24}, 0, {22, 69}, {7, 255, 129, 255} }}, + {{ {-201, 59, 24}, 0, {155, 45}, {7, 255, 129, 255} }}, + {{ {-204, -20, 26}, 0, {162, 791}, {7, 255, 129, 255} }}, + {{ {-127, -19, 26}, 0, {701, 795}, {4, 3, 129, 255} }}, + {{ {-154, -35, 24}, 0, {546, 913}, {4, 3, 129, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {4, 3, 129, 255} }}, + {{ {-131, 0, 26}, 0, {668, 583}, {4, 3, 129, 255} }}, + {{ {-167, 54, 24}, 0, {427, 103}, {0, 0, 129, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {0, 0, 129, 255} }}, + {{ {-196, -38, 24}, 0, {199, 927}, {0, 0, 129, 255} }}, + {{ {-204, -20, 26}, 0, {162, 791}, {0, 0, 129, 255} }}, + {{ {-129, 27, 26}, 0, {687, 338}, {249, 0, 129, 255} }}, + {{ {-102, 27, 24}, 0, {867, 359}, {249, 0, 129, 255} }}, + {{ {-103, 3, 24}, 0, {858, 528}, {249, 0, 129, 255} }}, + {{ {-131, 0, 26}, 0, {668, 583}, {249, 0, 129, 255} }}, + {{ {-129, 39, 26}, 0, {687, 189}, {255, 249, 129, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {255, 249, 129, 255} }}, + {{ {-151, 56, 24}, 0, {562, 69}, {255, 249, 129, 255} }}, + {{ {-100, 43, 24}, 0, {882, 138}, {255, 249, 129, 255} }}, + {{ {-151, 56, 24}, 0, {562, 69}, {255, 249, 129, 255} }}, + {{ {-100, 60, 24}, 0, {886, 35}, {255, 249, 129, 255} }}, + {{ {-100, 43, 24}, 0, {882, 138}, {255, 249, 129, 255} }}, + {{ {-87, -23, 24}, 0, {974, 848}, {255, 6, 129, 255} }}, + {{ {-87, -40, 24}, 0, {973, 958}, {255, 6, 129, 255} }}, + {{ {-154, -35, 24}, 0, {546, 913}, {255, 6, 129, 255} }}, + {{ {-127, -19, 26}, 0, {701, 795}, {255, 6, 129, 255} }}, + {{ {-42, 14, 31}, 0, {596, 402}, {250, 255, 129, 255} }}, + {{ {-43, 24, 30}, 0, {586, 273}, {250, 255, 129, 255} }}, + {{ {-18, 39, 29}, 0, {806, 153}, {250, 255, 129, 255} }}, + {{ {-18, 9, 29}, 0, {804, 420}, {250, 255, 129, 255} }}, + {{ {-43, 24, 30}, 0, {586, 273}, {251, 251, 129, 255} }}, + {{ {-66, 43, 31}, 0, {276, 75}, {251, 251, 129, 255} }}, + {{ {-51, 52, 30}, 0, {453, 37}, {251, 251, 129, 255} }}, + {{ {-18, 39, 29}, 0, {806, 153}, {251, 251, 129, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {252, 255, 129, 255} }}, + {{ {-42, 14, 31}, 0, {596, 402}, {252, 255, 129, 255} }}, + {{ {-18, 9, 29}, 0, {804, 420}, {252, 255, 129, 255} }}, + {{ {-46, -3, 31}, 0, {498, 568}, {252, 255, 129, 255} }}, + {{ {-25, -42, 29}, 0, {768, 939}, {255, 5, 129, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {255, 5, 129, 255} }}, + {{ {-46, -3, 31}, 0, {498, 568}, {255, 5, 129, 255} }}, + {{ {-8, -25, 29}, 0, {917, 814}, {255, 5, 129, 255} }}, + {{ {12, -44, 29}, 0, {84, 962}, {3, 3, 129, 255} }}, + {{ {11, 0, 29}, 0, {75, 631}, {3, 3, 129, 255} }}, + {{ {30, 14, 31}, 0, {244, 520}, {3, 3, 129, 255} }}, + {{ {37, -44, 29}, 0, {291, 968}, {3, 3, 129, 255} }}, + {{ {35, 79, 29}, 0, {265, 22}, {2, 253, 129, 255} }}, + {{ {31, 29, 31}, 0, {259, 404}, {2, 253, 129, 255} }}, + {{ {9, 40, 29}, 0, {57, 307}, {2, 253, 129, 255} }}, + {{ {9, 79, 29}, 0, {40, 22}, {2, 253, 129, 255} }}, + {{ {81, 51, 29}, 0, {776, 219}, {252, 254, 129, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {252, 254, 129, 255} }}, + {{ {31, 29, 31}, 0, {259, 404}, {252, 254, 129, 255} }}, + {{ {67, 69, 29}, 0, {664, 111}, {252, 254, 129, 255} }}, + {{ {76, -38, 29}, 0, {779, 905}, {254, 2, 129, 255} }}, + {{ {30, 14, 31}, 0, {244, 520}, {254, 2, 129, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {254, 2, 129, 255} }}, + {{ {94, -20, 29}, 0, {927, 799}, {254, 2, 129, 255} }}, + {{ {95, -10, 25}, 0, {308, 702}, {0, 2, 129, 255} }}, + {{ {100, 12, 26}, 0, {344, 510}, {0, 2, 129, 255} }}, + {{ {135, 10, 26}, 0, {650, 542}, {0, 2, 129, 255} }}, + {{ {143, -15, 26}, 0, {717, 750}, {0, 2, 129, 255} }}, + {{ {74, -37, 24}, 0, {143, 940}, {3, 0, 129, 255} }}, + {{ {55, -20, 24}, 0, {33, 812}, {3, 0, 129, 255} }}, + {{ {82, 23, 25}, 0, {240, 427}, {3, 0, 129, 255} }}, + {{ {95, -10, 25}, 0, {308, 702}, {3, 0, 129, 255} }}, + {{ {178, -31, 24}, 0, {952, 906}, {253, 2, 129, 255} }}, + {{ {147, -35, 24}, 0, {760, 926}, {253, 2, 129, 255} }}, + {{ {143, -15, 26}, 0, {717, 750}, {253, 2, 129, 255} }}, + {{ {159, 16, 25}, 0, {805, 489}, {253, 2, 129, 255} }}, + {{ {135, 10, 26}, 0, {650, 542}, {249, 253, 129, 255} }}, + {{ {124, 48, 26}, 0, {552, 149}, {249, 253, 129, 255} }}, + {{ {139, 64, 24}, 0, {646, 42}, {249, 253, 129, 255} }}, + {{ {159, 16, 25}, 0, {805, 489}, {249, 253, 129, 255} }}, + {{ {82, 23, 25}, 0, {240, 427}, {7, 251, 129, 255} }}, + {{ {110, 65, 24}, 0, {451, 31}, {7, 251, 129, 255} }}, + {{ {124, 48, 26}, 0, {552, 149}, {7, 251, 129, 255} }}, + {{ {100, 12, 26}, 0, {344, 510}, {7, 251, 129, 255} }}, + {{ {214, 28, 31}, 0, {582, 379}, {251, 255, 129, 255} }}, + {{ {213, 37, 30}, 0, {568, 271}, {251, 255, 129, 255} }}, + {{ {239, 55, 29}, 0, {795, 143}, {251, 255, 129, 255} }}, + {{ {240, 19, 29}, 0, {801, 424}, {251, 255, 129, 255} }}, + {{ {213, 37, 30}, 0, {568, 271}, {251, 252, 129, 255} }}, + {{ {190, 58, 31}, 0, {258, 90}, {251, 252, 129, 255} }}, + {{ {205, 70, 30}, 0, {437, 27}, {251, 252, 129, 255} }}, + {{ {239, 55, 29}, 0, {795, 143}, {251, 252, 129, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {252, 255, 129, 255} }}, + {{ {214, 28, 31}, 0, {582, 379}, {252, 255, 129, 255} }}, + {{ {240, 19, 29}, 0, {801, 424}, {252, 255, 129, 255} }}, + {{ {211, 5, 31}, 0, {501, 577}, {252, 255, 129, 255} }}, + {{ {231, -41, 29}, 0, {749, 946}, {255, 4, 129, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {255, 4, 129, 255} }}, + {{ {211, 5, 31}, 0, {501, 577}, {255, 4, 129, 255} }}, + {{ {250, -21, 29}, 0, {922, 815}, {255, 4, 129, 255} }}, + {{ {260, -34, 24}, 0, {331, 956}, {0, 2, 129, 255} }}, + {{ {275, 50, 26}, 0, {469, 187}, {0, 2, 129, 255} }}, + {{ {290, 49, 26}, 0, {617, 200}, {0, 2, 129, 255} }}, + {{ {294, -35, 24}, 0, {632, 962}, {0, 2, 129, 255} }}, + {{ {281, 72, 25}, 0, {524, 32}, {3, 252, 129, 255} }}, + {{ {275, 50, 26}, 0, {469, 187}, {3, 252, 129, 255} }}, + {{ {235, 49, 24}, 0, {42, 177}, {3, 252, 129, 255} }}, + {{ {234, 69, 24}, 0, {38, 49}, {3, 252, 129, 255} }}, + {{ {322, 45, 24}, 0, {952, 216}, {252, 253, 129, 255} }}, + {{ {290, 49, 26}, 0, {617, 200}, {252, 253, 129, 255} }}, + {{ {281, 72, 25}, 0, {524, 32}, {252, 253, 129, 255} }}, + {{ {321, 72, 24}, 0, {941, 29}, {252, 253, 129, 255} }}, + {{ {-297, -45, 30}, 0, {316, 961}, {82, 88, 215, 255} }}, + {{ {-299, -52, 11}, 0, {304, 1008}, {82, 88, 215, 255} }}, + {{ {-338, -14, 11}, 0, {-16, 708}, {82, 88, 215, 255} }}, + {{ {-332, -12, 30}, 0, {27, 690}, {82, 88, 215, 255} }}, + {{ {-285, 12, 31}, 0, {389, 506}, {189, 155, 218, 255} }}, + {{ {-278, 16, 9}, 0, {432, 484}, {189, 155, 218, 255} }}, + {{ {-273, 12, 9}, 0, {518, 540}, {189, 155, 218, 255} }}, + {{ {-273, 4, 31}, 0, {514, 589}, {189, 155, 218, 255} }}, + {{ {-332, -12, 30}, 0, {27, 690}, {120, 252, 215, 255} }}, + {{ {-338, -14, 11}, 0, {-16, 708}, {120, 252, 215, 255} }}, + {{ {-336, 57, 11}, 0, {1, 119}, {120, 252, 215, 255} }}, + {{ {-330, 53, 30}, 0, {43, 144}, {120, 252, 215, 255} }}, + {{ {-285, 28, 32}, 0, {396, 340}, {134, 250, 220, 255} }}, + {{ {-279, 21, 8}, 0, {437, 379}, {134, 250, 220, 255} }}, + {{ {-278, 16, 9}, 0, {432, 484}, {134, 250, 220, 255} }}, + {{ {-285, 12, 31}, 0, {389, 506}, {134, 250, 220, 255} }}, + {{ {-229, -27, 30}, 0, {886, 819}, {227, 117, 215, 255} }}, + {{ {-223, -33, 11}, 0, {925, 854}, {227, 117, 215, 255} }}, + {{ {-299, -52, 11}, 0, {304, 1008}, {227, 117, 215, 255} }}, + {{ {-297, -45, 30}, 0, {316, 961}, {227, 117, 215, 255} }}, + {{ {-273, 4, 31}, 0, {514, 589}, {49, 145, 219, 255} }}, + {{ {-273, 12, 9}, 0, {518, 540}, {49, 145, 219, 255} }}, + {{ {-270, 13, 9}, 0, {582, 509}, {49, 145, 219, 255} }}, + {{ {-264, 9, 31}, 0, {624, 536}, {49, 145, 219, 255} }}, + {{ {-264, 9, 31}, 0, {624, 536}, {120, 18, 219, 255} }}, + {{ {-270, 13, 9}, 0, {582, 509}, {120, 18, 219, 255} }}, + {{ {-272, 17, 10}, 0, {584, 433}, {120, 18, 219, 255} }}, + {{ {-265, 19, 31}, 0, {627, 423}, {120, 18, 219, 255} }}, + {{ {-220, 40, 30}, 0, {962, 255}, {137, 16, 215, 255} }}, + {{ {-213, 44, 11}, 0, {1008, 234}, {137, 16, 215, 255} }}, + {{ {-223, -33, 11}, 0, {925, 854}, {137, 16, 215, 255} }}, + {{ {-229, -27, 30}, 0, {886, 819}, {137, 16, 215, 255} }}, + {{ {-330, 53, 30}, 0, {43, 144}, {62, 153, 215, 255} }}, + {{ {-336, 57, 11}, 0, {1, 119}, {62, 153, 215, 255} }}, + {{ {-307, 75, 11}, 0, {231, -16}, {62, 153, 215, 255} }}, + {{ {-305, 68, 30}, 0, {242, 27}, {62, 153, 215, 255} }}, + {{ {-305, 68, 30}, 0, {242, 27}, {253, 136, 215, 255} }}, + {{ {-307, 75, 11}, 0, {231, -16}, {253, 136, 215, 255} }}, + {{ {-257, 74, 11}, 0, {648, -4}, {253, 136, 215, 255} }}, + {{ {-259, 67, 30}, 0, {634, 38}, {253, 136, 215, 255} }}, + {{ {-259, 67, 30}, 0, {634, 38}, {189, 156, 215, 255} }}, + {{ {-257, 74, 11}, 0, {648, -4}, {189, 156, 215, 255} }}, + {{ {-213, 44, 11}, 0, {1008, 234}, {189, 156, 215, 255} }}, + {{ {-220, 40, 30}, 0, {962, 255}, {189, 156, 215, 255} }}, + {{ {-268, 28, 31}, 0, {576, 325}, {252, 122, 221, 255} }}, + {{ {-272, 21, 9}, 0, {551, 370}, {252, 122, 221, 255} }}, + {{ {-279, 21, 8}, 0, {437, 379}, {252, 122, 221, 255} }}, + {{ {-285, 28, 32}, 0, {396, 340}, {252, 122, 221, 255} }}, + {{ {-265, 19, 31}, 0, {627, 423}, {118, 31, 220, 255} }}, + {{ {-272, 17, 10}, 0, {584, 433}, {118, 31, 220, 255} }}, + {{ {-272, 21, 9}, 0, {551, 370}, {118, 31, 220, 255} }}, + {{ {-268, 28, 31}, 0, {576, 325}, {118, 31, 220, 255} }}, + {{ {-214, -39, 24}, 0, {109, 946}, {119, 16, 215, 255} }}, + {{ {-219, -47, 6}, 0, {81, 999}, {119, 16, 215, 255} }}, + {{ {-234, 61, 6}, 0, {-16, 28}, {119, 16, 215, 255} }}, + {{ {-227, 56, 24}, 0, {22, 69}, {119, 16, 215, 255} }}, + {{ {-201, 59, 24}, 0, {155, 45}, {134, 4, 222, 255} }}, + {{ {-195, 66, 6}, 0, {189, -8}, {134, 4, 222, 255} }}, + {{ {-196, 10, 1}, 0, {194, 608}, {134, 4, 222, 255} }}, + {{ {-204, -20, 26}, 0, {162, 791}, {134, 4, 222, 255} }}, + {{ {-227, 56, 24}, 0, {22, 69}, {15, 136, 216, 255} }}, + {{ {-234, 61, 6}, 0, {-16, 28}, {15, 136, 216, 255} }}, + {{ {-195, 66, 6}, 0, {189, -8}, {15, 136, 216, 255} }}, + {{ {-201, 59, 24}, 0, {155, 45}, {15, 136, 216, 255} }}, + {{ {-204, -20, 26}, 0, {162, 791}, {110, 202, 221, 255} }}, + {{ {-196, 10, 1}, 0, {194, 608}, {110, 202, 221, 255} }}, + {{ {-169, 65, 6}, 0, {420, 24}, {110, 202, 221, 255} }}, + {{ {-167, 54, 24}, 0, {427, 103}, {110, 202, 221, 255} }}, + {{ {-167, 54, 24}, 0, {427, 103}, {170, 173, 213, 255} }}, + {{ {-169, 65, 6}, 0, {420, 24}, {170, 173, 213, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {170, 173, 213, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {170, 173, 213, 255} }}, + {{ {-196, -38, 24}, 0, {199, 927}, {243, 120, 216, 255} }}, + {{ {-192, -44, 5}, 0, {219, 971}, {243, 120, 216, 255} }}, + {{ {-219, -47, 6}, 0, {81, 999}, {243, 120, 216, 255} }}, + {{ {-214, -39, 24}, 0, {109, 946}, {243, 120, 216, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {152, 65, 224, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {152, 65, 224, 255} }}, + {{ {-192, -44, 5}, 0, {219, 971}, {152, 65, 224, 255} }}, + {{ {-196, -38, 24}, 0, {199, 927}, {152, 65, 224, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {123, 13, 226, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {123, 13, 226, 255} }}, + {{ {-157, 62, 6}, 0, {530, 25}, {123, 13, 226, 255} }}, + {{ {-151, 56, 24}, 0, {562, 69}, {123, 13, 226, 255} }}, + {{ {-151, 56, 24}, 0, {562, 69}, {8, 136, 215, 255} }}, + {{ {-157, 62, 6}, 0, {530, 25}, {8, 136, 215, 255} }}, + {{ {-93, 67, 6}, 0, {921, -16}, {8, 136, 215, 255} }}, + {{ {-100, 60, 24}, 0, {886, 35}, {8, 136, 215, 255} }}, + {{ {-100, 60, 24}, 0, {886, 35}, {136, 2, 215, 255} }}, + {{ {-93, 67, 6}, 0, {921, -16}, {136, 2, 215, 255} }}, + {{ {-94, 38, 5}, 0, {915, 177}, {136, 2, 215, 255} }}, + {{ {-100, 43, 24}, 0, {882, 138}, {136, 2, 215, 255} }}, + {{ {-100, 43, 24}, 0, {882, 138}, {242, 121, 221, 255} }}, + {{ {-94, 38, 5}, 0, {915, 177}, {242, 121, 221, 255} }}, + {{ {-122, 34, 3}, 0, {721, 227}, {242, 121, 221, 255} }}, + {{ {-129, 39, 26}, 0, {687, 189}, {242, 121, 221, 255} }}, + {{ {-129, 39, 26}, 0, {687, 189}, {134, 5, 221, 255} }}, + {{ {-122, 34, 3}, 0, {721, 227}, {134, 5, 221, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {134, 5, 221, 255} }}, + {{ {-129, 27, 26}, 0, {687, 338}, {134, 5, 221, 255} }}, + {{ {-129, 27, 26}, 0, {687, 338}, {254, 134, 221, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {254, 134, 221, 255} }}, + {{ {-95, 33, 6}, 0, {904, 317}, {254, 134, 221, 255} }}, + {{ {-102, 27, 24}, 0, {867, 359}, {254, 134, 221, 255} }}, + {{ {-102, 27, 24}, 0, {867, 359}, {136, 7, 215, 255} }}, + {{ {-95, 33, 6}, 0, {904, 317}, {136, 7, 215, 255} }}, + {{ {-97, -2, 5}, 0, {890, 567}, {136, 7, 215, 255} }}, + {{ {-103, 3, 24}, 0, {858, 528}, {136, 7, 215, 255} }}, + {{ {-103, 3, 24}, 0, {858, 528}, {241, 121, 219, 255} }}, + {{ {-97, -2, 5}, 0, {890, 567}, {241, 121, 219, 255} }}, + {{ {-123, -6, 2}, 0, {708, 619}, {241, 121, 219, 255} }}, + {{ {-131, 0, 26}, 0, {668, 583}, {241, 121, 219, 255} }}, + {{ {-131, 0, 26}, 0, {668, 583}, {138, 226, 219, 255} }}, + {{ {-123, -6, 2}, 0, {708, 619}, {138, 226, 219, 255} }}, + {{ {-121, -12, 3}, 0, {729, 754}, {138, 226, 219, 255} }}, + {{ {-127, -19, 26}, 0, {701, 795}, {138, 226, 219, 255} }}, + {{ {-127, -19, 26}, 0, {701, 795}, {243, 135, 219, 255} }}, + {{ {-121, -12, 3}, 0, {729, 754}, {243, 135, 219, 255} }}, + {{ {-81, -17, 5}, 0, {1008, 808}, {243, 135, 219, 255} }}, + {{ {-87, -23, 24}, 0, {974, 848}, {243, 135, 219, 255} }}, + {{ {-87, -23, 24}, 0, {974, 848}, {136, 3, 215, 255} }}, + {{ {-81, -17, 5}, 0, {1008, 808}, {136, 3, 215, 255} }}, + {{ {-81, -47, 6}, 0, {1006, 1008}, {136, 3, 215, 255} }}, + {{ {-87, -40, 24}, 0, {973, 958}, {136, 3, 215, 255} }}, + {{ {-87, -40, 24}, 0, {973, 958}, {9, 120, 216, 255} }}, + {{ {-81, -47, 6}, 0, {1006, 1008}, {9, 120, 216, 255} }}, + {{ {-160, -41, 6}, 0, {511, 956}, {9, 120, 216, 255} }}, + {{ {-154, -35, 24}, 0, {546, 913}, {9, 120, 216, 255} }}, + {{ {-154, -35, 24}, 0, {546, 913}, {122, 248, 224, 255} }}, + {{ {-160, -41, 6}, 0, {511, 956}, {122, 248, 224, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {122, 248, 224, 255} }}, + {{ {-150, 35, 26}, 0, {553, 255}, {122, 248, 224, 255} }}, + {{ {-89, -36, 29}, 0, {41, 885}, {122, 1, 219, 255} }}, + {{ {-95, -42, 7}, 0, {-16, 938}, {122, 1, 219, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {122, 1, 219, 255} }}, + {{ {-89, 51, 29}, 0, {41, 35}, {122, 1, 219, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {131, 253, 233, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {131, 253, 233, 255} }}, + {{ {-63, -41, 10}, 0, {258, 926}, {131, 253, 233, 255} }}, + {{ {-69, -35, 29}, 0, {202, 878}, {131, 253, 233, 255} }}, + {{ {-69, -35, 29}, 0, {202, 878}, {254, 122, 220, 255} }}, + {{ {-63, -41, 10}, 0, {258, 926}, {254, 122, 220, 255} }}, + {{ {-95, -42, 7}, 0, {-16, 938}, {254, 122, 220, 255} }}, + {{ {-89, -36, 29}, 0, {41, 885}, {254, 122, 220, 255} }}, + {{ {-66, 43, 31}, 0, {276, 75}, {136, 3, 213, 255} }}, + {{ {-58, 29, 7}, 0, {334, 174}, {136, 3, 213, 255} }}, + {{ {-58, 12, 7}, 0, {337, 453}, {136, 3, 213, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {136, 3, 213, 255} }}, + {{ {-43, 24, 30}, 0, {586, 273}, {82, 90, 222, 255} }}, + {{ {-49, 19, 8}, 0, {531, 300}, {82, 90, 222, 255} }}, + {{ {-58, 29, 7}, 0, {334, 174}, {82, 90, 222, 255} }}, + {{ {-66, 43, 31}, 0, {276, 75}, {82, 90, 222, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {57, 147, 226, 255} }}, + {{ {-58, 12, 7}, 0, {337, 453}, {57, 147, 226, 255} }}, + {{ {-49, 19, 8}, 0, {537, 371}, {57, 147, 226, 255} }}, + {{ {-42, 14, 31}, 0, {596, 402}, {57, 147, 226, 255} }}, + {{ {-89, 51, 29}, 0, {41, 35}, {3, 136, 215, 255} }}, + {{ {-95, 57, 11}, 0, {-16, -16}, {3, 136, 215, 255} }}, + {{ {-49, 58, 10}, 0, {463, -14}, {3, 136, 215, 255} }}, + {{ {-51, 52, 30}, 0, {453, 37}, {3, 136, 215, 255} }}, + {{ {-18, 39, 29}, 0, {806, 153}, {136, 0, 215, 255} }}, + {{ {-11, 44, 10}, 0, {863, 118}, {136, 0, 215, 255} }}, + {{ {-12, 5, 10}, 0, {861, 450}, {136, 0, 215, 255} }}, + {{ {-18, 9, 29}, 0, {804, 420}, {136, 0, 215, 255} }}, + {{ {-51, 52, 30}, 0, {453, 37}, {213, 144, 215, 255} }}, + {{ {-49, 58, 10}, 0, {463, -14}, {213, 144, 215, 255} }}, + {{ {-11, 44, 10}, 0, {863, 118}, {213, 144, 215, 255} }}, + {{ {-18, 39, 29}, 0, {806, 153}, {213, 144, 215, 255} }}, + {{ {-25, -42, 29}, 0, {768, 939}, {87, 84, 216, 255} }}, + {{ {-25, -51, 11}, 0, {768, 1008}, {87, 84, 216, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {87, 84, 216, 255} }}, + {{ {-68, 3, 31}, 0, {244, 507}, {87, 84, 216, 255} }}, + {{ {-8, -25, 29}, 0, {917, 814}, {172, 86, 215, 255} }}, + {{ {2, -24, 11}, 0, {1008, 806}, {172, 86, 215, 255} }}, + {{ {-25, -51, 11}, 0, {768, 1008}, {172, 86, 215, 255} }}, + {{ {-25, -42, 29}, 0, {768, 939}, {172, 86, 215, 255} }}, + {{ {-46, -3, 31}, 0, {498, 568}, {195, 149, 224, 255} }}, + {{ {-35, -3, 7}, 0, {608, 572}, {195, 149, 224, 255} }}, + {{ {2, -24, 11}, 0, {1008, 806}, {195, 149, 224, 255} }}, + {{ {-8, -25, 29}, 0, {917, 814}, {195, 149, 224, 255} }}, + {{ {-18, 9, 29}, 0, {804, 420}, {214, 116, 227, 255} }}, + {{ {-12, 5, 10}, 0, {861, 450}, {214, 116, 227, 255} }}, + {{ {-35, -3, 7}, 0, {608, 572}, {214, 116, 227, 255} }}, + {{ {-46, -3, 31}, 0, {498, 568}, {214, 116, 227, 255} }}, + {{ {12, -44, 29}, 0, {84, 962}, {120, 4, 215, 255} }}, + {{ {6, -50, 10}, 0, {31, 999}, {120, 4, 215, 255} }}, + {{ {4, 0, 9}, 0, {21, 632}, {120, 4, 215, 255} }}, + {{ {11, 0, 29}, 0, {75, 631}, {120, 4, 215, 255} }}, + {{ {37, -44, 29}, 0, {291, 968}, {3, 120, 215, 255} }}, + {{ {44, -51, 10}, 0, {350, 1008}, {3, 120, 215, 255} }}, + {{ {6, -50, 10}, 0, {31, 999}, {3, 120, 215, 255} }}, + {{ {12, -44, 29}, 0, {84, 962}, {3, 120, 215, 255} }}, + {{ {30, 14, 31}, 0, {244, 520}, {134, 239, 224, 255} }}, + {{ {38, -5, 6}, 0, {309, 622}, {134, 239, 224, 255} }}, + {{ {44, -51, 10}, 0, {350, 1008}, {134, 239, 224, 255} }}, + {{ {37, -44, 29}, 0, {291, 968}, {134, 239, 224, 255} }}, + {{ {76, -38, 29}, 0, {779, 905}, {92, 80, 220, 255} }}, + {{ {75, -47, 10}, 0, {778, 959}, {92, 80, 220, 255} }}, + {{ {38, -5, 6}, 0, {309, 622}, {92, 80, 220, 255} }}, + {{ {30, 14, 31}, 0, {244, 520}, {92, 80, 220, 255} }}, + {{ {94, -20, 29}, 0, {927, 799}, {166, 83, 224, 255} }}, + {{ {100, -20, 8}, 0, {1008, 795}, {166, 83, 224, 255} }}, + {{ {75, -47, 10}, 0, {778, 959}, {166, 83, 224, 255} }}, + {{ {76, -38, 29}, 0, {779, 905}, {166, 83, 224, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {181, 157, 228, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {181, 157, 228, 255} }}, + {{ {100, -20, 8}, 0, {1008, 795}, {181, 157, 228, 255} }}, + {{ {94, -20, 29}, 0, {927, 799}, {181, 157, 228, 255} }}, + {{ {81, 51, 29}, 0, {776, 219}, {189, 103, 222, 255} }}, + {{ {89, 49, 10}, 0, {852, 227}, {189, 103, 222, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {189, 103, 222, 255} }}, + {{ {37, 22, 30}, 0, {310, 458}, {189, 103, 222, 255} }}, + {{ {67, 69, 29}, 0, {664, 111}, {160, 184, 216, 255} }}, + {{ {67, 79, 10}, 0, {670, 52}, {160, 184, 216, 255} }}, + {{ {89, 49, 10}, 0, {852, 227}, {160, 184, 216, 255} }}, + {{ {81, 51, 29}, 0, {776, 219}, {160, 184, 216, 255} }}, + {{ {31, 29, 31}, 0, {259, 404}, {93, 176, 223, 255} }}, + {{ {38, 46, 6}, 0, {314, 309}, {93, 176, 223, 255} }}, + {{ {67, 79, 10}, 0, {670, 52}, {93, 176, 223, 255} }}, + {{ {67, 69, 29}, 0, {664, 111}, {93, 176, 223, 255} }}, + {{ {35, 79, 29}, 0, {265, 22}, {134, 10, 223, 255} }}, + {{ {41, 85, 10}, 0, {319, -16}, {134, 10, 223, 255} }}, + {{ {38, 46, 6}, 0, {314, 309}, {134, 10, 223, 255} }}, + {{ {31, 29, 31}, 0, {259, 404}, {134, 10, 223, 255} }}, + {{ {9, 79, 29}, 0, {40, 22}, {0, 136, 215, 255} }}, + {{ {2, 85, 10}, 0, {-16, -16}, {0, 136, 215, 255} }}, + {{ {41, 85, 10}, 0, {319, -16}, {0, 136, 215, 255} }}, + {{ {35, 79, 29}, 0, {265, 22}, {0, 136, 215, 255} }}, + {{ {9, 40, 29}, 0, {57, 307}, {120, 2, 215, 255} }}, + {{ {2, 40, 9}, 0, {3, 308}, {120, 2, 215, 255} }}, + {{ {2, 85, 10}, 0, {-16, -16}, {120, 2, 215, 255} }}, + {{ {9, 79, 29}, 0, {40, 22}, {120, 2, 215, 255} }}, + {{ {11, 0, 29}, 0, {75, 631}, {120, 5, 216, 255} }}, + {{ {4, 0, 9}, 0, {21, 632}, {120, 5, 216, 255} }}, + {{ {2, 40, 9}, 0, {3, 308}, {120, 5, 216, 255} }}, + {{ {9, 40, 29}, 0, {57, 307}, {120, 5, 216, 255} }}, + {{ {143, -15, 26}, 0, {717, 750}, {10, 121, 219, 255} }}, + {{ {138, -21, 3}, 0, {688, 793}, {10, 121, 219, 255} }}, + {{ {98, -18, 3}, 0, {324, 750}, {10, 121, 219, 255} }}, + {{ {95, -10, 25}, 0, {308, 702}, {10, 121, 219, 255} }}, + {{ {100, 12, 26}, 0, {344, 510}, {247, 133, 225, 255} }}, + {{ {110, 18, 2}, 0, {413, 471}, {247, 133, 225, 255} }}, + {{ {127, 16, 2}, 0, {597, 490}, {247, 133, 225, 255} }}, + {{ {135, 10, 26}, 0, {650, 542}, {247, 133, 225, 255} }}, + {{ {95, -10, 25}, 0, {308, 702}, {162, 76, 218, 255} }}, + {{ {98, -18, 3}, 0, {324, 750}, {162, 76, 218, 255} }}, + {{ {75, -46, 6}, 0, {146, 1008}, {162, 76, 218, 255} }}, + {{ {74, -37, 24}, 0, {143, 940}, {162, 76, 218, 255} }}, + {{ {74, -37, 24}, 0, {143, 940}, {82, 88, 215, 255} }}, + {{ {75, -46, 6}, 0, {146, 1008}, {82, 88, 215, 255} }}, + {{ {47, -20, 5}, 0, {-16, 819}, {82, 88, 215, 255} }}, + {{ {55, -20, 24}, 0, {33, 812}, {82, 88, 215, 255} }}, + {{ {82, 23, 25}, 0, {240, 427}, {101, 190, 215, 255} }}, + {{ {76, 26, 4}, 0, {207, 402}, {101, 190, 215, 255} }}, + {{ {106, 72, 5}, 0, {431, -16}, {101, 190, 215, 255} }}, + {{ {110, 65, 24}, 0, {451, 31}, {101, 190, 215, 255} }}, + {{ {110, 65, 24}, 0, {451, 31}, {250, 136, 215, 255} }}, + {{ {106, 72, 5}, 0, {431, -16}, {250, 136, 215, 255} }}, + {{ {143, 70, 5}, 0, {671, -3}, {250, 136, 215, 255} }}, + {{ {139, 64, 24}, 0, {646, 42}, {250, 136, 215, 255} }}, + {{ {159, 16, 25}, 0, {805, 489}, {144, 212, 215, 255} }}, + {{ {166, 18, 4}, 0, {840, 471}, {144, 212, 215, 255} }}, + {{ {187, -36, 6}, 0, {1008, 946}, {144, 212, 215, 255} }}, + {{ {178, -31, 24}, 0, {952, 906}, {144, 212, 215, 255} }}, + {{ {178, -31, 24}, 0, {952, 906}, {242, 119, 215, 255} }}, + {{ {187, -36, 6}, 0, {1008, 946}, {242, 119, 215, 255} }}, + {{ {143, -41, 5}, 0, {732, 976}, {242, 119, 215, 255} }}, + {{ {147, -35, 24}, 0, {760, 926}, {242, 119, 215, 255} }}, + {{ {147, -35, 24}, 0, {760, 926}, {119, 25, 220, 255} }}, + {{ {143, -41, 5}, 0, {732, 976}, {119, 25, 220, 255} }}, + {{ {138, -21, 3}, 0, {688, 793}, {119, 25, 220, 255} }}, + {{ {143, -15, 26}, 0, {717, 750}, {119, 25, 220, 255} }}, + {{ {135, 10, 26}, 0, {650, 542}, {119, 33, 226, 255} }}, + {{ {127, 16, 2}, 0, {597, 490}, {119, 33, 226, 255} }}, + {{ {122, 35, 2}, 0, {538, 254}, {119, 33, 226, 255} }}, + {{ {124, 48, 26}, 0, {552, 149}, {119, 33, 226, 255} }}, + {{ {124, 48, 26}, 0, {552, 149}, {154, 70, 227, 255} }}, + {{ {122, 35, 2}, 0, {538, 254}, {154, 70, 227, 255} }}, + {{ {110, 18, 2}, 0, {413, 471}, {154, 70, 227, 255} }}, + {{ {100, 12, 26}, 0, {344, 510}, {154, 70, 227, 255} }}, + {{ {55, -20, 24}, 0, {33, 812}, {102, 192, 215, 255} }}, + {{ {47, -20, 5}, 0, {-16, 819}, {102, 192, 215, 255} }}, + {{ {76, 26, 4}, 0, {207, 402}, {102, 192, 215, 255} }}, + {{ {82, 23, 25}, 0, {240, 427}, {102, 192, 215, 255} }}, + {{ {139, 64, 24}, 0, {646, 42}, {146, 208, 215, 255} }}, + {{ {143, 70, 5}, 0, {671, -3}, {146, 208, 215, 255} }}, + {{ {166, 18, 4}, 0, {840, 471}, {146, 208, 215, 255} }}, + {{ {159, 16, 25}, 0, {805, 489}, {146, 208, 215, 255} }}, + {{ {168, -34, 29}, 0, {50, 896}, {122, 2, 220, 255} }}, + {{ {162, -40, 6}, 0, {-6, 938}, {122, 2, 220, 255} }}, + {{ {161, 75, 11}, 0, {-16, -14}, {122, 2, 220, 255} }}, + {{ {167, 68, 29}, 0, {40, 29}, {122, 2, 220, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {132, 0, 230, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {132, 0, 230, 255} }}, + {{ {194, -40, 10}, 0, {256, 940}, {132, 0, 230, 255} }}, + {{ {188, -34, 29}, 0, {204, 897}, {132, 0, 230, 255} }}, + {{ {188, -34, 29}, 0, {204, 897}, {5, 122, 220, 255} }}, + {{ {194, -40, 10}, 0, {256, 940}, {5, 122, 220, 255} }}, + {{ {162, -40, 6}, 0, {-6, 938}, {5, 122, 220, 255} }}, + {{ {168, -34, 29}, 0, {50, 896}, {5, 122, 220, 255} }}, + {{ {190, 58, 31}, 0, {258, 90}, {134, 255, 222, 255} }}, + {{ {196, 43, 7}, 0, {313, 176}, {134, 255, 222, 255} }}, + {{ {197, 23, 7}, 0, {310, 449}, {134, 255, 222, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {134, 255, 222, 255} }}, + {{ {213, 37, 30}, 0, {568, 271}, {82, 91, 223, 255} }}, + {{ {208, 32, 8}, 0, {515, 293}, {82, 91, 223, 255} }}, + {{ {196, 43, 7}, 0, {313, 176}, {82, 91, 223, 255} }}, + {{ {190, 58, 31}, 0, {258, 90}, {82, 91, 223, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {70, 155, 224, 255} }}, + {{ {197, 23, 7}, 0, {310, 449}, {70, 155, 224, 255} }}, + {{ {208, 32, 8}, 0, {523, 355}, {70, 155, 224, 255} }}, + {{ {214, 28, 31}, 0, {582, 379}, {70, 155, 224, 255} }}, + {{ {167, 68, 29}, 0, {40, 29}, {4, 136, 215, 255} }}, + {{ {161, 75, 11}, 0, {-16, -14}, {4, 136, 215, 255} }}, + {{ {207, 76, 10}, 0, {448, -16}, {4, 136, 215, 255} }}, + {{ {205, 70, 30}, 0, {437, 27}, {4, 136, 215, 255} }}, + {{ {239, 55, 29}, 0, {795, 143}, {135, 252, 218, 255} }}, + {{ {245, 59, 7}, 0, {850, 114}, {135, 252, 218, 255} }}, + {{ {246, 16, 10}, 0, {858, 447}, {135, 252, 218, 255} }}, + {{ {240, 19, 29}, 0, {801, 424}, {135, 252, 218, 255} }}, + {{ {205, 70, 30}, 0, {437, 27}, {206, 145, 218, 255} }}, + {{ {207, 76, 10}, 0, {448, -16}, {206, 145, 218, 255} }}, + {{ {245, 59, 7}, 0, {850, 114}, {206, 145, 218, 255} }}, + {{ {239, 55, 29}, 0, {795, 143}, {206, 145, 218, 255} }}, + {{ {231, -41, 29}, 0, {749, 946}, {97, 75, 224, 255} }}, + {{ {230, -50, 11}, 0, {746, 1008}, {97, 75, 224, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {97, 75, 224, 255} }}, + {{ {189, 12, 31}, 0, {249, 513}, {97, 75, 224, 255} }}, + {{ {250, -21, 29}, 0, {922, 815}, {171, 86, 216, 255} }}, + {{ {260, -21, 11}, 0, {1008, 810}, {171, 86, 216, 255} }}, + {{ {230, -50, 11}, 0, {746, 1008}, {171, 86, 216, 255} }}, + {{ {231, -41, 29}, 0, {749, 946}, {171, 86, 216, 255} }}, + {{ {211, 5, 31}, 0, {501, 577}, {189, 153, 223, 255} }}, + {{ {222, 4, 7}, 0, {598, 579}, {189, 153, 223, 255} }}, + {{ {260, -21, 11}, 0, {1008, 810}, {189, 153, 223, 255} }}, + {{ {250, -21, 29}, 0, {922, 815}, {189, 153, 223, 255} }}, + {{ {240, 19, 29}, 0, {801, 424}, {202, 111, 225, 255} }}, + {{ {246, 16, 10}, 0, {858, 447}, {202, 111, 225, 255} }}, + {{ {222, 4, 7}, 0, {598, 579}, {202, 111, 225, 255} }}, + {{ {211, 5, 31}, 0, {501, 577}, {202, 111, 225, 255} }}, + {{ {260, -34, 24}, 0, {331, 956}, {120, 235, 220, 255} }}, + {{ {253, -40, 6}, 0, {269, 999}, {120, 235, 220, 255} }}, + {{ {267, 44, 2}, 0, {408, 230}, {120, 235, 220, 255} }}, + {{ {275, 50, 26}, 0, {469, 187}, {120, 235, 220, 255} }}, + {{ {294, -35, 24}, 0, {632, 962}, {3, 120, 216, 255} }}, + {{ {300, -41, 6}, 0, {686, 1008}, {3, 120, 216, 255} }}, + {{ {253, -40, 6}, 0, {269, 999}, {3, 120, 216, 255} }}, + {{ {260, -34, 24}, 0, {331, 956}, {3, 120, 216, 255} }}, + {{ {290, 49, 26}, 0, {617, 200}, {134, 251, 220, 255} }}, + {{ {297, 42, 2}, 0, {671, 247}, {134, 251, 220, 255} }}, + {{ {300, -41, 6}, 0, {686, 1008}, {134, 251, 220, 255} }}, + {{ {294, -35, 24}, 0, {632, 962}, {134, 251, 220, 255} }}, + {{ {281, 72, 25}, 0, {524, 32}, {255, 136, 215, 255} }}, + {{ {281, 79, 4}, 0, {523, -13}, {255, 136, 215, 255} }}, + {{ {327, 78, 6}, 0, {992, -16}, {255, 136, 215, 255} }}, + {{ {321, 72, 24}, 0, {941, 29}, {255, 136, 215, 255} }}, + {{ {321, 72, 24}, 0, {941, 29}, {136, 251, 215, 255} }}, + {{ {327, 78, 6}, 0, {992, -16}, {136, 251, 215, 255} }}, + {{ {329, 38, 6}, 0, {1008, 263}, {136, 251, 215, 255} }}, + {{ {322, 45, 24}, 0, {952, 216}, {136, 251, 215, 255} }}, + {{ {275, 50, 26}, 0, {469, 187}, {252, 122, 222, 255} }}, + {{ {267, 44, 2}, 0, {408, 230}, {252, 122, 222, 255} }}, + {{ {228, 43, 6}, 0, {-10, 220}, {252, 122, 222, 255} }}, + {{ {235, 49, 24}, 0, {42, 177}, {252, 122, 222, 255} }}, + {{ {322, 45, 24}, 0, {952, 216}, {15, 121, 222, 255} }}, + {{ {329, 38, 6}, 0, {1008, 263}, {15, 121, 222, 255} }}, + {{ {297, 42, 2}, 0, {671, 247}, {15, 121, 222, 255} }}, + {{ {290, 49, 26}, 0, {617, 200}, {15, 121, 222, 255} }}, + {{ {235, 49, 24}, 0, {42, 177}, {120, 3, 215, 255} }}, + {{ {228, 43, 6}, 0, {-10, 220}, {120, 3, 215, 255} }}, + {{ {228, 75, 6}, 0, {-16, 6}, {120, 3, 215, 255} }}, + {{ {234, 69, 24}, 0, {38, 49}, {120, 3, 215, 255} }}, + {{ {234, 69, 24}, 0, {38, 49}, {7, 136, 215, 255} }}, + {{ {228, 75, 6}, 0, {-16, 6}, {7, 136, 215, 255} }}, + {{ {281, 79, 4}, 0, {523, -13}, {7, 136, 215, 255} }}, + {{ {281, 72, 25}, 0, {524, 32}, {7, 136, 215, 255} }}, + {{ {-338, -14, 11}, 0, {-16, 708}, {2, 3, 127, 255} }}, + {{ {-299, -52, 11}, 0, {304, 1008}, {2, 3, 127, 255} }}, + {{ {-273, 12, 9}, 0, {518, 540}, {2, 3, 127, 255} }}, + {{ {-278, 16, 9}, 0, {432, 484}, {2, 3, 127, 255} }}, + {{ {-336, 57, 11}, 0, {1, 119}, {5, 1, 127, 255} }}, + {{ {-338, -14, 11}, 0, {-16, 708}, {5, 1, 127, 255} }}, + {{ {-278, 16, 9}, 0, {432, 484}, {5, 1, 127, 255} }}, + {{ {-279, 21, 8}, 0, {437, 379}, {5, 1, 127, 255} }}, + {{ {-257, 74, 11}, 0, {648, -4}, {255, 251, 127, 255} }}, + {{ {-307, 75, 11}, 0, {231, -16}, {255, 251, 127, 255} }}, + {{ {-279, 21, 8}, 0, {437, 379}, {255, 251, 127, 255} }}, + {{ {-272, 21, 9}, 0, {551, 370}, {255, 251, 127, 255} }}, + {{ {-257, 74, 11}, 0, {648, -4}, {251, 255, 127, 255} }}, + {{ {-272, 21, 9}, 0, {551, 370}, {251, 255, 127, 255} }}, + {{ {-272, 17, 10}, 0, {584, 433}, {251, 255, 127, 255} }}, + {{ {-213, 44, 11}, 0, {1008, 234}, {251, 255, 127, 255} }}, + {{ {-272, 17, 10}, 0, {584, 433}, {252, 255, 127, 255} }}, + {{ {-270, 13, 9}, 0, {582, 509}, {252, 255, 127, 255} }}, + {{ {-223, -33, 11}, 0, {925, 854}, {252, 255, 127, 255} }}, + {{ {-213, 44, 11}, 0, {1008, 234}, {252, 255, 127, 255} }}, + {{ {-223, -33, 11}, 0, {925, 854}, {255, 5, 127, 255} }}, + {{ {-270, 13, 9}, 0, {582, 509}, {255, 5, 127, 255} }}, + {{ {-273, 12, 9}, 0, {518, 540}, {255, 5, 127, 255} }}, + {{ {-299, -52, 11}, 0, {304, 1008}, {255, 5, 127, 255} }}, + {{ {-234, 61, 6}, 0, {-16, 28}, {12, 254, 126, 255} }}, + {{ {-219, -47, 6}, 0, {81, 999}, {12, 254, 126, 255} }}, + {{ {-196, 10, 1}, 0, {194, 608}, {12, 254, 126, 255} }}, + {{ {-195, 66, 6}, 0, {189, -8}, {12, 254, 126, 255} }}, + {{ {-169, 65, 6}, 0, {420, 24}, {0, 255, 127, 255} }}, + {{ {-196, 10, 1}, 0, {194, 608}, {0, 255, 127, 255} }}, + {{ {-192, -44, 5}, 0, {219, 971}, {0, 255, 127, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {0, 255, 127, 255} }}, + {{ {-157, 62, 6}, 0, {530, 25}, {249, 242, 126, 255} }}, + {{ {-157, 55, 1}, 0, {524, 177}, {249, 242, 126, 255} }}, + {{ {-122, 34, 3}, 0, {721, 227}, {249, 242, 126, 255} }}, + {{ {-93, 67, 6}, 0, {921, -16}, {249, 242, 126, 255} }}, + {{ {-94, 38, 5}, 0, {915, 177}, {249, 242, 126, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {242, 0, 126, 255} }}, + {{ {-123, -6, 2}, 0, {708, 619}, {242, 0, 126, 255} }}, + {{ {-97, -2, 5}, 0, {890, 567}, {242, 0, 126, 255} }}, + {{ {-95, 33, 6}, 0, {904, 317}, {242, 0, 126, 255} }}, + {{ {-160, -41, 6}, 0, {511, 956}, {255, 6, 127, 255} }}, + {{ {-123, -6, 2}, 0, {708, 619}, {255, 6, 127, 255} }}, + {{ {-122, 33, 3}, 0, {721, 295}, {255, 6, 127, 255} }}, + {{ {-157, 13, 1}, 0, {518, 373}, {255, 6, 127, 255} }}, + {{ {-121, -12, 3}, 0, {729, 754}, {254, 8, 127, 255} }}, + {{ {-160, -41, 6}, 0, {511, 956}, {254, 8, 127, 255} }}, + {{ {-81, -47, 6}, 0, {1006, 1008}, {254, 8, 127, 255} }}, + {{ {-121, -12, 3}, 0, {729, 754}, {254, 8, 127, 255} }}, + {{ {-81, -47, 6}, 0, {1006, 1008}, {254, 8, 127, 255} }}, + {{ {-81, -17, 5}, 0, {1008, 808}, {254, 8, 127, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {249, 9, 127, 255} }}, + {{ {-25, -51, 11}, 0, {768, 1008}, {249, 9, 127, 255} }}, + {{ {2, -24, 11}, 0, {1008, 806}, {249, 9, 127, 255} }}, + {{ {-35, -3, 7}, 0, {608, 572}, {249, 9, 127, 255} }}, + {{ {-49, 19, 8}, 0, {537, 371}, {253, 251, 127, 255} }}, + {{ {-58, 12, 7}, 0, {337, 453}, {253, 251, 127, 255} }}, + {{ {-65, -11, 6}, 0, {263, 595}, {253, 251, 127, 255} }}, + {{ {-35, -3, 7}, 0, {608, 572}, {253, 251, 127, 255} }}, + {{ {38, -5, 6}, 0, {309, 622}, {254, 5, 127, 255} }}, + {{ {75, -47, 10}, 0, {778, 959}, {254, 5, 127, 255} }}, + {{ {100, -20, 8}, 0, {1008, 795}, {254, 5, 127, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {254, 5, 127, 255} }}, + {{ {4, 0, 9}, 0, {21, 632}, {6, 8, 127, 255} }}, + {{ {6, -50, 10}, 0, {31, 999}, {6, 8, 127, 255} }}, + {{ {44, -51, 10}, 0, {350, 1008}, {6, 8, 127, 255} }}, + {{ {38, -5, 6}, 0, {309, 622}, {6, 8, 127, 255} }}, + {{ {47, 22, 7}, 0, {400, 459}, {246, 251, 127, 255} }}, + {{ {89, 49, 10}, 0, {852, 227}, {246, 251, 127, 255} }}, + {{ {67, 79, 10}, 0, {670, 52}, {246, 251, 127, 255} }}, + {{ {38, 46, 6}, 0, {314, 309}, {246, 251, 127, 255} }}, + {{ {41, 85, 10}, 0, {319, -16}, {6, 248, 127, 255} }}, + {{ {2, 85, 10}, 0, {-16, -16}, {6, 248, 127, 255} }}, + {{ {2, 40, 9}, 0, {3, 308}, {6, 248, 127, 255} }}, + {{ {38, 46, 6}, 0, {314, 309}, {6, 248, 127, 255} }}, + {{ {98, -18, 3}, 0, {324, 750}, {5, 2, 127, 255} }}, + {{ {76, 26, 4}, 0, {207, 402}, {5, 2, 127, 255} }}, + {{ {47, -20, 5}, 0, {-16, 819}, {5, 2, 127, 255} }}, + {{ {75, -46, 6}, 0, {146, 1008}, {5, 2, 127, 255} }}, + {{ {187, -36, 6}, 0, {1008, 946}, {250, 5, 127, 255} }}, + {{ {166, 18, 4}, 0, {840, 471}, {250, 5, 127, 255} }}, + {{ {138, -21, 3}, 0, {688, 793}, {250, 5, 127, 255} }}, + {{ {143, -41, 5}, 0, {732, 976}, {250, 5, 127, 255} }}, + {{ {98, -18, 3}, 0, {324, 750}, {1, 4, 127, 255} }}, + {{ {138, -21, 3}, 0, {688, 793}, {1, 4, 127, 255} }}, + {{ {127, 16, 2}, 0, {597, 490}, {1, 4, 127, 255} }}, + {{ {110, 18, 2}, 0, {413, 471}, {1, 4, 127, 255} }}, + {{ {76, 26, 4}, 0, {207, 402}, {9, 249, 126, 255} }}, + {{ {110, 18, 2}, 0, {413, 471}, {9, 249, 126, 255} }}, + {{ {122, 35, 2}, 0, {538, 254}, {9, 249, 126, 255} }}, + {{ {106, 72, 5}, 0, {431, -16}, {9, 249, 126, 255} }}, + {{ {127, 16, 2}, 0, {597, 490}, {246, 251, 127, 255} }}, + {{ {166, 18, 4}, 0, {840, 471}, {246, 251, 127, 255} }}, + {{ {143, 70, 5}, 0, {671, -3}, {246, 251, 127, 255} }}, + {{ {122, 35, 2}, 0, {538, 254}, {246, 251, 127, 255} }}, + {{ {162, -40, 6}, 0, {-6, 938}, {254, 255, 127, 255} }}, + {{ {194, -40, 10}, 0, {256, 940}, {254, 255, 127, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {254, 255, 127, 255} }}, + {{ {161, 75, 11}, 0, {-16, -14}, {254, 255, 127, 255} }}, + {{ {230, -50, 11}, 0, {746, 1008}, {250, 8, 127, 255} }}, + {{ {260, -21, 11}, 0, {1008, 810}, {250, 8, 127, 255} }}, + {{ {222, 4, 7}, 0, {598, 579}, {250, 8, 127, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {250, 8, 127, 255} }}, + {{ {197, 23, 7}, 0, {310, 449}, {246, 246, 126, 255} }}, + {{ {222, 4, 7}, 0, {598, 579}, {246, 246, 126, 255} }}, + {{ {246, 16, 10}, 0, {858, 447}, {246, 246, 126, 255} }}, + {{ {208, 32, 8}, 0, {523, 355}, {246, 246, 126, 255} }}, + {{ {197, 23, 7}, 0, {310, 449}, {12, 255, 126, 255} }}, + {{ {196, 43, 7}, 0, {313, 176}, {12, 255, 126, 255} }}, + {{ {161, 75, 11}, 0, {-16, -14}, {12, 255, 126, 255} }}, + {{ {193, -1, 6}, 0, {290, 607}, {12, 255, 126, 255} }}, + {{ {208, 32, 8}, 0, {515, 293}, {1, 252, 127, 255} }}, + {{ {245, 59, 7}, 0, {850, 114}, {1, 252, 127, 255} }}, + {{ {207, 76, 10}, 0, {448, -16}, {1, 252, 127, 255} }}, + {{ {196, 43, 7}, 0, {313, 176}, {1, 252, 127, 255} }}, + {{ {228, 43, 6}, 0, {-10, 220}, {7, 251, 127, 255} }}, + {{ {267, 44, 2}, 0, {408, 230}, {7, 251, 127, 255} }}, + {{ {281, 79, 4}, 0, {523, -13}, {7, 251, 127, 255} }}, + {{ {228, 75, 6}, 0, {-16, 6}, {7, 251, 127, 255} }}, + {{ {281, 79, 4}, 0, {523, -13}, {248, 251, 127, 255} }}, + {{ {297, 42, 2}, 0, {671, 247}, {248, 251, 127, 255} }}, + {{ {329, 38, 6}, 0, {1008, 263}, {248, 251, 127, 255} }}, + {{ {327, 78, 6}, 0, {992, -16}, {248, 251, 127, 255} }}, + {{ {267, 44, 2}, 0, {408, 230}, {0, 5, 127, 255} }}, + {{ {253, -40, 6}, 0, {269, 999}, {0, 5, 127, 255} }}, + {{ {300, -41, 6}, 0, {686, 1008}, {0, 5, 127, 255} }}, + {{ {297, 42, 2}, 0, {671, 247}, {0, 5, 127, 255} }}, +}; + +Gfx ok64_Plane_001_mesh_tri_3[] = { + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 0, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 30, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 60, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 90, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 120, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 23, 24, 0, 22, 24, 25, 0), + gsSP2Triangles(26, 27, 28, 0, 26, 28, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 150, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 30, 31, 28, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 182, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 9, 10, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0), + gsSP1Triangle(27, 29, 30, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 213, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 245, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 277, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 309, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 341, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 373, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 405, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 437, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 469, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 501, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 533, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 565, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 597, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 629, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 661, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 18, 19, 16, 0), + gsSP2Triangles(18, 20, 19, 0, 21, 22, 23, 0), + gsSP2Triangles(21, 23, 24, 0, 25, 26, 27, 0), + gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 693, 31, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(7, 9, 10, 0, 11, 12, 13, 0), + gsSP2Triangles(11, 13, 14, 0, 15, 16, 17, 0), + gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0), + gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0), + gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0), + gsSP1Triangle(27, 29, 30, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 724, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_3 + 756, 16, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSPEndDisplayList(), +}; + +Vtx ok64_Plane_001_mesh_vtx_4[267] = { + {{ {38, -151, 25}, 0, {487, 380}, {0, 0, 127, 255} }}, + {{ {67, -126, 25}, 0, {503, -411}, {0, 0, 127, 255} }}, + {{ {49, -138, 25}, 0, {451, 26}, {0, 0, 127, 255} }}, + {{ {18, -139, 25}, 0, {-27, 261}, {0, 0, 127, 255} }}, + {{ {-19, -151, 25}, 0, {-437, 434}, {0, 0, 127, 255} }}, + {{ {38, -151, 25}, 0, {491, 434}, {0, 0, 127, 255} }}, + {{ {49, -109, 25}, 0, {-40, -198}, {0, 0, 127, 255} }}, + {{ {67, -67, 25}, 0, {-438, -467}, {0, 0, 127, 255} }}, + {{ {67, -126, 25}, 0, {502, -421}, {0, 0, 127, 255} }}, + {{ {49, -109, 25}, 0, {-48, -299}, {0, 0, 127, 255} }}, + {{ {49, -138, 25}, 0, {453, 61}, {0, 0, 127, 255} }}, + {{ {18, -139, 25}, 0, {-19, 362}, {0, 0, 127, 255} }}, + {{ {38, -151, 25}, 0, {487, 389}, {0, 0, 127, 255} }}, + {{ {-19, -151, 25}, 0, {-437, 430}, {0, 0, 127, 255} }}, + {{ {49, -109, 25}, 0, {-40, -197}, {0, 0, 127, 255} }}, + {{ {67, -126, 25}, 0, {499, -467}, {0, 0, 127, 255} }}, + {{ {-57, -95, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-31, -77, 25}, 0, {427, -351}, {0, 0, 127, 255} }}, + {{ {-53, -69, 25}, 0, {-1274, -416}, {0, 0, 127, 255} }}, + {{ {-45, -98, 25}, 0, {538, 362}, {0, 0, 127, 255} }}, + {{ {-22, -81, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-38, -104, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-11, -90, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-5, -100, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-4, -115, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-7, -127, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-35, -114, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-22, -141, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-45, -122, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-42, -150, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-58, -123, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-73, -150, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-68, -122, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-73, -150, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-58, -123, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-97, -143, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-78, -118, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-117, -122, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-86, -109, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-117, -102, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-79, -101, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-106, -83, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-70, -97, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-90, -68, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-53, -69, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-57, -95, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-67, -50, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-19, -52, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-48, -38, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {67, -169, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {38, -151, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {38, -169, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {67, -151, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {67, -126, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {91, -126, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {82, -151, 25}, 0, {-529, 495}, {0, 0, 127, 255} }}, + {{ {-45, -98, 25}, 0, {538, 362}, {227, 139, 40, 255} }}, + {{ {-57, -95, 25}, 0, {-529, 495}, {227, 139, 40, 255} }}, + {{ {-57, -99, 13}, 0, {-529, 495}, {227, 139, 40, 255} }}, + {{ {-47, -101, 13}, 0, {495, 495}, {227, 139, 40, 255} }}, + {{ {-53, -69, 25}, 0, {-1274, -416}, {40, 114, 40, 255} }}, + {{ {-31, -77, 25}, 0, {427, -351}, {40, 114, 40, 255} }}, + {{ {-30, -73, 13}, 0, {495, -529}, {40, 114, 40, 255} }}, + {{ {-43, -69, 13}, 0, {-529, -529}, {40, 114, 40, 255} }}, + {{ {-31, -77, 25}, 0, {427, -351}, {47, 111, 40, 255} }}, + {{ {-22, -81, 25}, 0, {-529, 495}, {47, 111, 40, 255} }}, + {{ {-20, -77, 13}, 0, {-529, 495}, {47, 111, 40, 255} }}, + {{ {-30, -73, 13}, 0, {495, -529}, {47, 111, 40, 255} }}, + {{ {-22, -81, 25}, 0, {-529, 495}, {74, 95, 40, 255} }}, + {{ {-11, -90, 25}, 0, {-529, 495}, {74, 95, 40, 255} }}, + {{ {-7, -87, 13}, 0, {-529, 495}, {74, 95, 40, 255} }}, + {{ {-20, -77, 13}, 0, {-529, 495}, {74, 95, 40, 255} }}, + {{ {-11, -90, 25}, 0, {-529, 495}, {107, 56, 40, 255} }}, + {{ {-5, -100, 25}, 0, {-529, 495}, {107, 56, 40, 255} }}, + {{ {-1, -99, 13}, 0, {-529, 495}, {107, 56, 40, 255} }}, + {{ {-7, -87, 13}, 0, {-529, 495}, {107, 56, 40, 255} }}, + {{ {-38, -104, 25}, 0, {-529, 495}, {181, 162, 40, 255} }}, + {{ {-45, -98, 25}, 0, {538, 362}, {181, 162, 40, 255} }}, + {{ {-47, -101, 13}, 0, {495, 495}, {181, 162, 40, 255} }}, + {{ {-41, -106, 13}, 0, {-529, 495}, {181, 162, 40, 255} }}, + {{ {-35, -114, 25}, 0, {-529, 495}, {139, 228, 40, 255} }}, + {{ {-38, -104, 25}, 0, {-529, 495}, {139, 228, 40, 255} }}, + {{ {-41, -106, 13}, 0, {-529, 495}, {139, 228, 40, 255} }}, + {{ {-40, -112, 13}, 0, {-529, 495}, {139, 228, 40, 255} }}, + {{ {-45, -122, 25}, 0, {-529, 495}, {182, 95, 40, 255} }}, + {{ {-35, -114, 25}, 0, {-529, 495}, {182, 95, 40, 255} }}, + {{ {-40, -112, 13}, 0, {-529, 495}, {182, 95, 40, 255} }}, + {{ {-47, -118, 13}, 0, {-529, 495}, {182, 95, 40, 255} }}, + {{ {-58, -123, 25}, 0, {-529, 495}, {243, 120, 40, 255} }}, + {{ {-45, -122, 25}, 0, {-529, 495}, {243, 120, 40, 255} }}, + {{ {-47, -118, 13}, 0, {-529, 495}, {243, 120, 40, 255} }}, + {{ {-58, -119, 13}, 0, {-529, 495}, {243, 120, 40, 255} }}, + {{ {-68, -122, 25}, 0, {-529, 495}, {9, 120, 40, 255} }}, + {{ {-58, -123, 25}, 0, {-529, 495}, {9, 120, 40, 255} }}, + {{ {-58, -119, 13}, 0, {-529, 495}, {9, 120, 40, 255} }}, + {{ {-67, -119, 13}, 0, {-529, 495}, {9, 120, 40, 255} }}, + {{ {-78, -118, 25}, 0, {-529, 495}, {52, 108, 40, 255} }}, + {{ {-68, -122, 25}, 0, {-529, 495}, {52, 108, 40, 255} }}, + {{ {-67, -119, 13}, 0, {-529, 495}, {52, 108, 40, 255} }}, + {{ {-75, -115, 13}, 0, {-529, 495}, {52, 108, 40, 255} }}, + {{ {-86, -109, 25}, 0, {-529, 495}, {87, 83, 40, 255} }}, + {{ {-78, -118, 25}, 0, {-529, 495}, {87, 83, 40, 255} }}, + {{ {-75, -115, 13}, 0, {-529, 495}, {87, 83, 40, 255} }}, + {{ {-80, -109, 13}, 0, {-529, 495}, {87, 83, 40, 255} }}, + {{ {-79, -101, 25}, 0, {-529, 495}, {94, 181, 40, 255} }}, + {{ {-86, -109, 25}, 0, {-529, 495}, {94, 181, 40, 255} }}, + {{ {-80, -109, 13}, 0, {-529, 495}, {94, 181, 40, 255} }}, + {{ {-76, -104, 13}, 0, {-529, 495}, {94, 181, 40, 255} }}, + {{ {-70, -97, 25}, 0, {-529, 495}, {51, 147, 40, 255} }}, + {{ {-79, -101, 25}, 0, {-529, 495}, {51, 147, 40, 255} }}, + {{ {-76, -104, 13}, 0, {-529, 495}, {51, 147, 40, 255} }}, + {{ {-68, -100, 13}, 0, {-529, 495}, {51, 147, 40, 255} }}, + {{ {-57, -95, 25}, 0, {-529, 495}, {16, 137, 40, 255} }}, + {{ {-70, -97, 25}, 0, {-529, 495}, {16, 137, 40, 255} }}, + {{ {-68, -100, 13}, 0, {-529, 495}, {16, 137, 40, 255} }}, + {{ {-57, -99, 13}, 0, {-529, 495}, {16, 137, 40, 255} }}, + {{ {-5, -100, 25}, 0, {-529, 495}, {120, 8, 40, 255} }}, + {{ {-4, -115, 25}, 0, {-529, 495}, {120, 8, 40, 255} }}, + {{ {0, -115, 13}, 0, {-529, 495}, {120, 8, 40, 255} }}, + {{ {-1, -99, 13}, 0, {-529, 495}, {120, 8, 40, 255} }}, + {{ {-4, -115, 25}, 0, {-529, 495}, {116, 224, 40, 255} }}, + {{ {-7, -127, 25}, 0, {-529, 495}, {116, 224, 40, 255} }}, + {{ {-4, -129, 13}, 0, {-529, 495}, {116, 224, 40, 255} }}, + {{ {0, -115, 13}, 0, {-529, 495}, {116, 224, 40, 255} }}, + {{ {-7, -127, 25}, 0, {-529, 495}, {85, 171, 40, 255} }}, + {{ {-22, -141, 25}, 0, {-529, 495}, {85, 171, 40, 255} }}, + {{ {-20, -145, 13}, 0, {-529, 495}, {85, 171, 40, 255} }}, + {{ {-4, -129, 13}, 0, {-529, 495}, {85, 171, 40, 255} }}, + {{ {-22, -141, 25}, 0, {-529, 495}, {46, 145, 40, 255} }}, + {{ {-42, -150, 25}, 0, {-529, 495}, {46, 145, 40, 255} }}, + {{ {-41, -153, 13}, 0, {-529, 495}, {46, 145, 40, 255} }}, + {{ {-20, -145, 13}, 0, {-529, 495}, {46, 145, 40, 255} }}, + {{ {-42, -150, 25}, 0, {-529, 495}, {2, 136, 40, 255} }}, + {{ {-73, -150, 25}, 0, {-529, 495}, {2, 136, 40, 255} }}, + {{ {-73, -154, 13}, 0, {-529, 495}, {2, 136, 40, 255} }}, + {{ {-41, -153, 13}, 0, {-529, 495}, {2, 136, 40, 255} }}, + {{ {-73, -150, 25}, 0, {-529, 495}, {223, 140, 40, 255} }}, + {{ {-97, -143, 25}, 0, {-529, 495}, {223, 140, 40, 255} }}, + {{ {-99, -146, 13}, 0, {-529, 495}, {223, 140, 40, 255} }}, + {{ {-73, -154, 13}, 0, {-529, 495}, {223, 140, 40, 255} }}, + {{ {-97, -143, 25}, 0, {-529, 495}, {169, 173, 40, 255} }}, + {{ {-117, -122, 25}, 0, {-529, 495}, {169, 173, 40, 255} }}, + {{ {-121, -124, 13}, 0, {-529, 495}, {169, 173, 40, 255} }}, + {{ {-99, -146, 13}, 0, {-529, 495}, {169, 173, 40, 255} }}, + {{ {-117, -122, 25}, 0, {-529, 495}, {136, 0, 40, 255} }}, + {{ {-117, -102, 25}, 0, {-529, 495}, {136, 0, 40, 255} }}, + {{ {-121, -101, 13}, 0, {-529, 495}, {136, 0, 40, 255} }}, + {{ {-121, -124, 13}, 0, {-529, 495}, {136, 0, 40, 255} }}, + {{ {-117, -102, 25}, 0, {-529, 495}, {153, 62, 40, 255} }}, + {{ {-106, -83, 25}, 0, {-529, 495}, {153, 62, 40, 255} }}, + {{ {-109, -80, 13}, 0, {-529, 495}, {153, 62, 40, 255} }}, + {{ {-121, -101, 13}, 0, {-529, 495}, {153, 62, 40, 255} }}, + {{ {-106, -83, 25}, 0, {-529, 495}, {173, 88, 40, 255} }}, + {{ {-90, -68, 25}, 0, {-529, 495}, {173, 88, 40, 255} }}, + {{ {-93, -65, 13}, 0, {-529, 495}, {173, 88, 40, 255} }}, + {{ {-109, -80, 13}, 0, {-529, 495}, {173, 88, 40, 255} }}, + {{ {-90, -68, 25}, 0, {-529, 495}, {181, 94, 40, 255} }}, + {{ {-67, -50, 25}, 0, {-529, 495}, {181, 94, 40, 255} }}, + {{ {-69, -46, 13}, 0, {-529, 495}, {181, 94, 40, 255} }}, + {{ {-93, -65, 13}, 0, {-529, 495}, {181, 94, 40, 255} }}, + {{ {-67, -50, 25}, 0, {-529, 495}, {193, 103, 40, 255} }}, + {{ {-48, -38, 25}, 0, {-529, 495}, {193, 103, 40, 255} }}, + {{ {-49, -34, 13}, 0, {-529, 495}, {193, 103, 40, 255} }}, + {{ {-69, -46, 13}, 0, {-529, 495}, {193, 103, 40, 255} }}, + {{ {-48, -38, 25}, 0, {-529, 495}, {50, 110, 40, 255} }}, + {{ {-19, -52, 25}, 0, {-529, 495}, {50, 110, 40, 255} }}, + {{ {-10, -52, 13}, 0, {-529, 495}, {50, 110, 40, 255} }}, + {{ {-49, -34, 13}, 0, {-529, 495}, {50, 110, 40, 255} }}, + {{ {-19, -52, 25}, 0, {-529, 495}, {55, 149, 40, 255} }}, + {{ {-53, -69, 25}, 0, {-529, 495}, {55, 149, 40, 255} }}, + {{ {-43, -69, 13}, 0, {-529, 495}, {55, 149, 40, 255} }}, + {{ {-10, -52, 13}, 0, {-529, 495}, {55, 149, 40, 255} }}, + {{ {-19, -151, 25}, 0, {-437, 434}, {172, 87, 40, 255} }}, + {{ {67, -67, 25}, 0, {-438, -467}, {172, 87, 40, 255} }}, + {{ {71, -58, 13}, 0, {-529, -529}, {172, 87, 40, 255} }}, + {{ {-29, -155, 13}, 0, {-529, 495}, {172, 87, 40, 255} }}, + {{ {38, -151, 25}, 0, {491, 434}, {0, 136, 40, 255} }}, + {{ {-19, -151, 25}, 0, {-437, 434}, {0, 136, 40, 255} }}, + {{ {-29, -155, 13}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {34, -155, 13}, 0, {495, 495}, {0, 136, 40, 255} }}, + {{ {67, -67, 25}, 0, {-438, -467}, {120, 255, 40, 255} }}, + {{ {67, -126, 25}, 0, {499, -467}, {120, 255, 40, 255} }}, + {{ {71, -122, 13}, 0, {495, -529}, {120, 255, 40, 255} }}, + {{ {71, -58, 13}, 0, {-529, -529}, {120, 255, 40, 255} }}, + {{ {67, -126, 25}, 0, {-529, 495}, {0, 120, 40, 255} }}, + {{ {91, -126, 25}, 0, {-529, 495}, {0, 120, 40, 255} }}, + {{ {97, -122, 13}, 0, {-529, 495}, {0, 120, 40, 255} }}, + {{ {71, -122, 13}, 0, {-529, 495}, {0, 120, 40, 255} }}, + {{ {91, -126, 25}, 0, {-529, 495}, {113, 214, 40, 255} }}, + {{ {82, -151, 25}, 0, {-529, 495}, {113, 214, 40, 255} }}, + {{ {85, -155, 13}, 0, {-529, 495}, {113, 214, 40, 255} }}, + {{ {97, -122, 13}, 0, {-529, 495}, {113, 214, 40, 255} }}, + {{ {82, -151, 25}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {67, -151, 25}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {71, -155, 13}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {85, -155, 13}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {67, -151, 25}, 0, {-529, 495}, {120, 254, 40, 255} }}, + {{ {67, -169, 25}, 0, {-529, 495}, {120, 254, 40, 255} }}, + {{ {71, -173, 13}, 0, {-529, 495}, {120, 254, 40, 255} }}, + {{ {71, -155, 13}, 0, {-529, 495}, {120, 254, 40, 255} }}, + {{ {67, -169, 25}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {38, -169, 25}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {34, -173, 13}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {71, -173, 13}, 0, {-529, 495}, {0, 136, 40, 255} }}, + {{ {38, -169, 25}, 0, {-529, 495}, {136, 254, 40, 255} }}, + {{ {38, -151, 25}, 0, {-529, 495}, {136, 254, 40, 255} }}, + {{ {34, -155, 13}, 0, {-529, 495}, {136, 254, 40, 255} }}, + {{ {34, -173, 13}, 0, {-529, 495}, {136, 254, 40, 255} }}, + {{ {49, -109, 25}, 0, {-48, -299}, {84, 170, 40, 255} }}, + {{ {18, -139, 25}, 0, {-19, 362}, {84, 170, 40, 255} }}, + {{ {28, -135, 13}, 0, {64, 193}, {84, 170, 40, 255} }}, + {{ {45, -118, 13}, 0, {51, -137}, {84, 170, 40, 255} }}, + {{ {49, -138, 25}, 0, {453, 61}, {136, 0, 40, 255} }}, + {{ {49, -109, 25}, 0, {-48, -299}, {136, 0, 40, 255} }}, + {{ {45, -118, 13}, 0, {51, -137}, {136, 0, 40, 255} }}, + {{ {45, -134, 13}, 0, {325, 27}, {136, 0, 40, 255} }}, + {{ {18, -139, 25}, 0, {-19, 362}, {251, 120, 40, 255} }}, + {{ {49, -138, 25}, 0, {453, 61}, {251, 120, 40, 255} }}, + {{ {45, -134, 13}, 0, {325, 27}, {251, 120, 40, 255} }}, + {{ {28, -135, 13}, 0, {64, 193}, {251, 120, 40, 255} }}, + {{ {-49, -34, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-10, -52, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-43, -69, 13}, 0, {-529, -529}, {0, 0, 129, 255} }}, + {{ {-69, -46, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-93, -65, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-69, -46, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-43, -69, 13}, 0, {-529, -529}, {0, 0, 129, 255} }}, + {{ {-68, -100, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-57, -99, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-47, -101, 13}, 0, {495, 495}, {0, 0, 129, 255} }}, + {{ {-30, -73, 13}, 0, {495, -529}, {0, 0, 129, 255} }}, + {{ {-41, -106, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-20, -77, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-7, -87, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-1, -99, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-40, -112, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {0, -115, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-4, -129, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-20, -145, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-47, -118, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-41, -153, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-58, -119, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-73, -154, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-67, -119, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-75, -115, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-99, -146, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-80, -109, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-121, -124, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-121, -101, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-109, -80, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-76, -104, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {71, -122, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {97, -122, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {85, -155, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {71, -155, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {34, -155, 13}, 0, {495, 495}, {0, 0, 129, 255} }}, + {{ {34, -173, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {34, -155, 13}, 0, {495, 495}, {0, 0, 129, 255} }}, + {{ {71, -155, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {71, -173, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {45, -134, 13}, 0, {325, 27}, {0, 0, 129, 255} }}, + {{ {71, -122, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {-29, -155, 13}, 0, {-529, 495}, {0, 0, 129, 255} }}, + {{ {28, -135, 13}, 0, {64, 193}, {0, 0, 129, 255} }}, + {{ {71, -58, 13}, 0, {-529, -529}, {0, 0, 129, 255} }}, + {{ {45, -118, 13}, 0, {51, -137}, {0, 0, 129, 255} }}, + {{ {71, -122, 13}, 0, {495, -529}, {0, 0, 129, 255} }}, +}; + +Gfx ok64_Plane_001_mesh_tri_4[] = { + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(6, 7, 4, 0, 8, 9, 10, 0), + gsSP2Triangles(10, 11, 12, 0, 13, 11, 9, 0), + gsSP2Triangles(14, 15, 7, 0, 16, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 19, 20, 17, 0), + gsSP2Triangles(19, 21, 20, 0, 22, 20, 21, 0), + gsSP2Triangles(23, 22, 21, 0, 21, 24, 23, 0), + gsSP2Triangles(25, 24, 21, 0, 26, 25, 21, 0), + gsSP2Triangles(26, 27, 25, 0, 28, 27, 26, 0), + gsSP2Triangles(28, 29, 27, 0, 30, 29, 28, 0), + gsSP1Triangle(30, 31, 29, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 32, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(8, 7, 6, 0, 8, 9, 7, 0), + gsSP2Triangles(10, 9, 8, 0, 10, 11, 9, 0), + gsSP2Triangles(12, 11, 10, 0, 12, 10, 13, 0), + gsSP2Triangles(11, 12, 14, 0, 14, 12, 15, 0), + gsSP2Triangles(14, 15, 16, 0, 17, 18, 19, 0), + gsSP2Triangles(17, 20, 18, 0, 18, 20, 21, 0), + gsSP2Triangles(22, 21, 20, 0, 22, 20, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 64, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 96, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 128, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 160, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 192, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 31, 28, 30, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 224, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 2, 5, 0), + gsSP2Triangles(2, 6, 5, 0, 5, 6, 7, 0), + gsSP2Triangles(6, 8, 7, 0, 8, 9, 7, 0), + gsSP2Triangles(9, 10, 7, 0, 10, 11, 7, 0), + gsSP2Triangles(10, 12, 11, 0, 12, 13, 11, 0), + gsSP2Triangles(13, 14, 11, 0, 14, 15, 11, 0), + gsSP2Triangles(14, 16, 15, 0, 16, 17, 15, 0), + gsSP2Triangles(16, 18, 17, 0, 17, 18, 19, 0), + gsSP2Triangles(20, 19, 18, 0, 18, 21, 20, 0), + gsSP2Triangles(22, 20, 21, 0, 21, 23, 22, 0), + gsSP2Triangles(23, 24, 22, 0, 24, 25, 22, 0), + gsSP2Triangles(26, 22, 25, 0, 25, 0, 26, 0), + gsSP2Triangles(3, 26, 0, 0, 27, 28, 29, 0), + gsSP2Triangles(27, 29, 30, 0, 27, 30, 31, 0), + gsSPVertex(ok64_Plane_001_mesh_vtx_4 + 256, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(4, 5, 1, 0, 6, 4, 1, 0), + gsSP2Triangles(6, 7, 4, 0, 8, 7, 6, 0), + gsSP2Triangles(8, 9, 7, 0, 10, 9, 8, 0), + gsSP1Triangle(10, 4, 9, 0), + gsSPEndDisplayList(), +}; + +Gfx mat_ok64_white[] = { + // gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ok64_white[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ok64_black[] = { + // gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 15, 15, 15, 255), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ok64_black[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ok64_f3dlite_material_001[] = { + // gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF2, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 255, 255, 255), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, ok64_ok64_rgba16), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ok64_f3dlite_material_001[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ok64_f3dlite_material_002[] = { + // gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 17, 17, 17, 255), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ok64_f3dlite_material_002[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx mat_ok64_f3dlite_material_003[] = { + // gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, 1, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(1984, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 233, 11, 0, 255), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ok64_f3dlite_material_003[] = { + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_CLIPPING), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +Gfx ok64_Plane_001_mesh[] = { + gsSPClearGeometryMode(G_LIGHTING), + gsSPVertex(ok64_Plane_001_mesh_vtx_cull + 0, 8, 0), + gsSPSetGeometryMode(G_LIGHTING), + gsSPCullDisplayList(0, 7), + gsSPDisplayList(mat_ok64_white), + gsSPDisplayList(ok64_Plane_001_mesh_tri_0), + gsSPDisplayList(mat_revert_ok64_white), + gsSPDisplayList(mat_ok64_black), + gsSPDisplayList(ok64_Plane_001_mesh_tri_1), + gsSPDisplayList(mat_revert_ok64_black), + gsSPDisplayList(mat_ok64_f3dlite_material_001), + gsSPDisplayList(ok64_Plane_001_mesh_tri_2), + gsSPDisplayList(mat_revert_ok64_f3dlite_material_001), + gsSPDisplayList(mat_ok64_f3dlite_material_002), + gsSPDisplayList(ok64_Plane_001_mesh_tri_3), + gsSPDisplayList(mat_revert_ok64_f3dlite_material_002), + gsSPDisplayList(mat_ok64_f3dlite_material_003), + gsSPDisplayList(ok64_Plane_001_mesh_tri_4), + gsSPDisplayList(mat_revert_ok64_f3dlite_material_003), + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsSPEndDisplayList(), +}; + diff --git a/src/harbour_masters.h b/src/harbour_masters.h new file mode 100644 index 000000000..0767278c5 --- /dev/null +++ b/src/harbour_masters.h @@ -0,0 +1,31 @@ +#ifndef _HABOUR_MASTERS_MODELS_H +#define _HABOUR_MASTERS_MODELS_H + +#include + +extern u8 ok64_ok64_ci8[]; +extern u8 ok64_ok64_pal_rgba16[]; +extern Vtx ok64_Plane_001_mesh_vtx_cull[8]; +extern Vtx ok64_Plane_001_mesh_vtx_0[80]; +extern Gfx ok64_Plane_001_mesh_tri_0[]; +extern Vtx ok64_Plane_001_mesh_vtx_1[95]; +extern Gfx ok64_Plane_001_mesh_tri_1[]; +extern Vtx ok64_Plane_001_mesh_vtx_2[583]; +extern Gfx ok64_Plane_001_mesh_tri_2[]; +extern Vtx ok64_Plane_001_mesh_vtx_3[772]; +extern Gfx ok64_Plane_001_mesh_tri_3[]; +extern Vtx ok64_Plane_001_mesh_vtx_4[267]; +extern Gfx ok64_Plane_001_mesh_tri_4[]; +extern Gfx mat_ok64_white[]; +extern Gfx mat_revert_ok64_white[]; +extern Gfx mat_ok64_black[]; +extern Gfx mat_revert_ok64_black[]; +extern Gfx mat_ok64_f3dlite_material_001[]; +extern Gfx mat_revert_ok64_f3dlite_material_001[]; +extern Gfx mat_ok64_f3dlite_material_002[]; +extern Gfx mat_revert_ok64_f3dlite_material_002[]; +extern Gfx mat_ok64_f3dlite_material_003[]; +extern Gfx mat_revert_ok64_f3dlite_material_003[]; +extern Gfx ok64_Plane_001_mesh[]; + +#endif // _HABOUR_MASTERS_MODELS_H \ No newline at end of file diff --git a/src/main.c b/src/main.c index 48fcec7ac..7b7e05cda 100644 --- a/src/main.c +++ b/src/main.c @@ -748,14 +748,23 @@ void display_debug_info(void) { } void process_game_tick(void) { - if (D_8015011E) { - gCourseTimer += COURSE_TIMER_ITER; + + if (gIsEditorPaused == false) { + if (D_8015011E) { + gCourseTimer += COURSE_TIMER_ITER; + } + func_802909F0(); + evaluate_collision_for_players_and_actors(); + func_800382DC(); } - func_802909F0(); - evaluate_collision_for_players_and_actors(); - func_800382DC(); + + // Editor requires this for camera movement. func_8001EE98(gPlayerOneCopy, camera1, 0); + if (gIsEditorPaused == true) { + return; + } + switch(gActiveScreenMode) { case SCREEN_MODE_1P: func_80028F70(); @@ -789,6 +798,7 @@ void race_logic_loop(void) { ClearMatrixPools(); ClearObjectsMatrixPool(); ClearEffectsMatrixPool(); + Editor_ClearMatrix(); gMatrixObjectCount = 0; gMatrixEffectCount = 0; @@ -818,13 +828,16 @@ void race_logic_loop(void) { network_all_players_loaded(); } - if (gIsGamePaused == 0) { + if (gIsGamePaused == false) { for (size_t i = 0; i < gTickLogic; i++) { process_game_tick(); } - func_80022744(); + if (gIsEditorPaused == false) { + func_80022744(); + } } func_8005A070(); + CM_TickEditor(); profiler_log_thread5_time(LEVEL_SCRIPT_EXECUTE); sNumVBlanks = 0; gNumScreens = 0; @@ -1250,7 +1263,6 @@ void thread5_iteration(void) { func_800CB2C4(); } #endif - calculate_updaterate(); if (GfxDebuggerIsDebugging()) { Graphics_PushFrame(gGfxPool->gfxPool); diff --git a/src/math_util_2.c b/src/math_util_2.c index 7cb396242..444f3e4c6 100644 --- a/src/math_util_2.c +++ b/src/math_util_2.c @@ -328,19 +328,6 @@ s32 f32_step_towards(f32* value, f32 target, f32 step) { return targetReached; } -void func_80041480(s16* arg0, s16 arg1, s16 arg2, s16* arg3) { - *arg0 += *arg3; - if (*arg3 >= 0) { - if (*arg0 >= arg2) { - *arg0 = arg2; - *arg3 = -*arg3; - } - } else if (arg1 >= *arg0) { - *arg0 = arg1; - *arg3 = -*arg3; - } -} - Vec3f* vec3f_set_xyz(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) { arg0[0] = arg1; arg0[1] = arg2; diff --git a/src/math_util_2.h b/src/math_util_2.h index de82c003c..75ad8e247 100644 --- a/src/math_util_2.h +++ b/src/math_util_2.h @@ -47,7 +47,6 @@ s32 s16_step_down_towards(s16*, s16, s16); s32 u16_step_down_towards(u16*, s32, s32); s32 s16_step_towards(s16*, s16, s16); s32 f32_step_towards(f32*, f32, f32); -void func_80041480(s16*, s16, s16, s16*); Vec3f* vec3f_set_xyz(Vec3f, f32, f32, f32); Vec3f* vec3f_normalize(Vec3f dest); Vec3f* vec3f_cross_product(Vec3f, Vec3f, Vec3f); diff --git a/src/menu_items.c b/src/menu_items.c index 6ef48bdb7..713250882 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -46,6 +46,7 @@ #include "engine/courses/Course.h" #include "engine/Matrix.h" +#include "src/engine/HM_Intro.h" const char* GetCupName(void); @@ -2312,6 +2313,7 @@ void func_80094A64(struct GfxPool* pool) { case OPTIONS_MENU: case DATA_MENU: case COURSE_DATA_MENU: + case HARBOUR_MASTERS_MENU: case LOGO_INTRO_MENU: case CONTROLLER_PAK_MENU: case MAIN_MENU: @@ -2372,6 +2374,9 @@ void setup_menus(void) { add_menu_item(MENU_ITEM_TYPE_0E9, 0, 0, MENU_ITEM_PRIORITY_8); add_menu_item(MENU_ITEM_TYPE_0EA, 0, 0, MENU_ITEM_PRIORITY_8); break; + case HARBOUR_MASTERS_MENU: + add_menu_item(MENU_ITEM_UI_HARBOUR_MASTERS, 0, 0, MENU_ITEM_PRIORITY_0); + break; case LOGO_INTRO_MENU: add_menu_item(MENU_ITEM_UI_LOGO_INTRO, 0, 0, MENU_ITEM_PRIORITY_0); break; @@ -4746,7 +4751,7 @@ void func_8009CE64(s32 arg0) { gCreditsCourseId = COURSE_LUIGI_RACEWAY; } else { gGotoMenu = 1; - gMenuSelection = 0x0000000B; + gMenuSelection = MAIN_MENU; } } else if (gGamestate == 4) { if (D_8018E7AC[arg0] == 2) { @@ -4864,8 +4869,11 @@ void func_8009CE64(s32 arg0) { if (gDebugMenuSelection != 0x40) { switch (gMenuFadeType) { case 0: - if (gMenuSelection == 8) { - gMenuSelection = 0x0000000A; + if (gMenuSelection == HARBOUR_MASTERS_MENU) { + gMenuSelection = LOGO_INTRO_MENU; + gFadeModeSelection = 0; + } else if (gMenuSelection == LOGO_INTRO_MENU) { + gMenuSelection = START_MENU; gFadeModeSelection = 2; } else { gMenuSelection++; @@ -5530,6 +5538,11 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { var_ra->param1 = 0; var_ra->param2 = 0; switch (type) { + case MENU_ITEM_UI_HARBOUR_MASTERS: + HM_InitIntro(); + var_ra->param1 = -1; + var_ra->param2 = one; + break; case MENU_ITEM_UI_LOGO_INTRO: sIntroLogoTimer = 0; sIntroModelMotionSpeed = 0.0f; @@ -5965,6 +5978,9 @@ void render_menus(MenuItem* arg0) { if ((s8) arg0->visible) { gDPPipeSync(gDisplayListHead++); switch (arg0->type) { + case MENU_ITEM_UI_HARBOUR_MASTERS: + HM_DrawIntro(); + break; case MENU_ITEM_UI_LOGO_INTRO: func_80094660(gGfxPool, arg0->param1); break; @@ -6904,7 +6920,7 @@ void menu_item_data_course_selectable(MenuItem* arg0) { } sp78.column = 0x001F; sp78.row = (gCourseRecordsMenuSelection * 0xD) + 0x3A; - func_800A66A8(arg0, (Unk_D_800E70A0*) &sp78); + pause_menu_item_box_cursor(arg0, (Unk_D_800E70A0*) &sp78); } void func_800A1DE0(MenuItem* arg0) { @@ -6940,7 +6956,7 @@ void func_800A1DE0(MenuItem* arg0) { sp58.column = 0x003B; sp58.row = (gCourseRecordsSubMenuSelection * 0xD) + 0x66; - func_800A66A8(arg0, &sp58); + pause_menu_item_box_cursor(arg0, &sp58); } void func_800A1F30(UNUSED MenuItem* unused) { @@ -7195,7 +7211,7 @@ void func_800A1FB0(MenuItem* arg0) { spE0.row -= 8; break; } - func_800A66A8(arg0, (Unk_D_800E70A0*) &spE0); + pause_menu_item_box_cursor(arg0, (Unk_D_800E70A0*) &spE0); } #else GLOBAL_ASM("asm/non_matchings/menu_items/func_800A1FB0.s") @@ -7631,7 +7647,7 @@ void func_800A3E60(MenuItem* arg0) { } sp84.column = var_v0_5->column - arg0->column; sp84.row = var_v0_5->row + arg0->row; - func_800A66A8(arg0, &sp84); + pause_menu_item_box_cursor(arg0, &sp84); } void render_lap_time(s32 lapNumber, s32 column, s32 row) { @@ -8044,7 +8060,7 @@ void func_800A54EC(void) { whyTheSequel = D_800F0B50[why]; sp50.column = var_v1->column - 8; sp50.row = (var_v1->row + ((sp48->state - whyTheSequel) * 0xD)) - 8; - func_800A66A8(sp48, &sp50); + pause_menu_item_box_cursor(sp48, &sp50); } // Also used to render the replay text box in time trials replay mode @@ -8201,7 +8217,7 @@ void render_menu_item_end_course_option(MenuItem* arg0) { } sp98.column = var_v0_9->column; sp98.row = var_v0_9->row; - func_800A66A8(arg0, &sp98); + pause_menu_item_box_cursor(arg0, &sp98); } } @@ -8245,7 +8261,7 @@ void func_800A6154(MenuItem* arg0) { if (arg0->state >= 0xB) { sp6C.column = 0x0084; sp6C.row = (arg0->state * 0x14) - 0x4E; - func_800A66A8(arg0, &sp6C); + pause_menu_item_box_cursor(arg0, &sp6C); } if (arg0->param2 > 0) { gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->param2); @@ -8301,11 +8317,11 @@ void func_800A638C(MenuItem* arg0) { text_rainbow_effect(arg0->state - 0xA, var_s1, TEXT_GREEN); print_text_mode_1(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f); } - func_800A66A8(arg0, &D_800E7360[arg0->state - 10]); + pause_menu_item_box_cursor(arg0, &D_800E7360[arg0->state - 10]); } } -void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) { +void pause_menu_item_box_cursor(MenuItem* arg0, Unk_D_800E70A0* arg1) { Mtx* mtx; Mtx* mtx2; f32 tmp; @@ -8343,9 +8359,7 @@ void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) { guMtxCatL(mtx, mtx2, mtx); guTranslate(mtx2, arg1->column, arg1->row, 0.0f); guMtxCatL(mtx, mtx2, mtx); - // gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount++]), - // (G_MTX_NOPUSH | G_MTX_LOAD) | G_MTX_MODELVIEW); - AddEffectMatrixFixed(G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA); gDPNoOp(gDisplayListHead++); @@ -8698,6 +8712,10 @@ void handle_menus_with_pri_arg(s32 priSpecial) { } switch (type) { + case MENU_ITEM_UI_HARBOUR_MASTERS: + HM_TickIntro(); + menuItem->param1++; + break; case MENU_ITEM_UI_LOGO_INTRO: if (sIntroLogoTimer < 80) { sIntroModelSpeed = 3.0f; diff --git a/src/menu_items.h b/src/menu_items.h index 61e08d5b6..39de188eb 100644 --- a/src/menu_items.h +++ b/src/menu_items.h @@ -317,7 +317,8 @@ enum MENU_ITEM_TYPE { MENU_ITEM_TYPE_1CB, MENU_ITEM_TYPE_1CC, MENU_ITEM_TYPE_1CD, - MENU_ITEM_TYPE_1CE + MENU_ITEM_TYPE_1CE, + MENU_ITEM_UI_HARBOUR_MASTERS }; enum LoadImgCompType { @@ -537,7 +538,7 @@ void render_menu_item_end_course_option(MenuItem*); void func_800A6034(MenuItem*); void func_800A6154(MenuItem*); void func_800A638C(MenuItem*); -void func_800A66A8(MenuItem*, Unk_D_800E70A0*); +void pause_menu_item_box_cursor(MenuItem*, Unk_D_800E70A0*); void func_800A69C8(MenuItem*); void func_800A6BEC(MenuItem*); void func_800A6CC0(MenuItem*); diff --git a/src/menus.c b/src/menus.c index 746809480..d921ac740 100644 --- a/src/menus.c +++ b/src/menus.c @@ -59,7 +59,7 @@ s8 gCourseIndexInCup; s8 unref_D_8018EE0C; // Set to 0 but never referenced /** Data **/ -s32 gMenuSelection = LOGO_INTRO_MENU; +s32 gMenuSelection = HARBOUR_MASTERS_MENU; s32 gFadeModeSelection = FADE_MODE_NONE; s8 gCharacterSelections[4] = { MARIO, LUIGI, YOSHI, TOAD }; @@ -196,6 +196,9 @@ void update_menus(void) { case COURSE_DATA_MENU: course_data_menu_act(&gControllers[controllerIdx], controllerIdx); break; + case HARBOUR_MASTERS_MENU: + logo_intro_menu_act(&gControllers[controllerIdx], controllerIdx); + break; case LOGO_INTRO_MENU: logo_intro_menu_act(&gControllers[controllerIdx], controllerIdx); break; @@ -1873,6 +1876,9 @@ void load_menu_states(s32 menuSelection) { case COURSE_DATA_MENU: gSubMenuSelection = SUB_MENU_DATA_OPTIONS; break; + case HARBOUR_MASTERS_MENU: + func_800CA008(0, 0); + break; case LOGO_INTRO_MENU: func_800CA008(0, 0); break; diff --git a/src/player_controller.c b/src/player_controller.c index f5a269527..df4b794bb 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1762,7 +1762,7 @@ void func_8002C17C(Player* player, s8 playerId) { } void func_8002C4F8(Player* player, s8 arg1) { - D_801652A0[arg1] = func_802AAB4C(player); + D_801652A0[arg1] = get_water_level(player); if (player->pos[1] <= D_801652A0[arg1]) { player->unk_0DE |= 0x0002; } else { @@ -2361,7 +2361,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player func_8002C4F8(player, playerId); } -void func_8002E4C4(Player* player) { +void set_player_height(Player* player) { s32 player_index; player_index = get_player_index_for_player(player); diff --git a/src/player_controller.h b/src/player_controller.h index d5436d696..4cc93edaf 100644 --- a/src/player_controller.h +++ b/src/player_controller.h @@ -63,7 +63,7 @@ void apply_effect(Player*, s8, s8); void func_8002D028(Player*, s8); void func_8002D268(Player*, Camera*, s8, s8); -void func_8002E4C4(Player*); +void set_player_height(Player*); void control_kart_ai_movement(Player*, Camera*, s8, s8); void func_8002FCA8(Player*, s8); diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 179315595..958f27183 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -18,10 +18,12 @@ #include "resource/importers/ActorSpawnDataFactory.h" #include "resource/importers/UnkActorSpawnDataFactory.h" #include "resource/importers/ArrayFactory.h" +#include "resource/importers/MinimapFactory.h" #include #include #include "window/gui/resource/Font.h" #include "window/gui/resource/FontFactory.h" +#include "SpaghettiGui.h" #include #include @@ -50,14 +52,17 @@ float gInterpolationStep = 0.0f; GameEngine* GameEngine::Instance; GameEngine::GameEngine() { + + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("mk64.o2r"); + const std::string assets_path = Ship::Context::LocateFileAcrossAppDirs("spaghetti.o2r"); + + std::vector archiveFiles; + #ifdef __SWITCH__ Ship::Switch::Init(Ship::PreInitPhase); Ship::Switch::Init(Ship::PostInitPhase); #endif - std::vector archiveFiles; - const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("spaghetti.o2r"); - const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("ship.o2r"); #ifdef _WIN32 AllocConsole(); @@ -87,7 +92,7 @@ GameEngine::GameEngine() { if (std::filesystem::is_directory(patches_path)) { for (const auto& p : std::filesystem::recursive_directory_iterator(patches_path)) { auto ext = p.path().extension().string(); - if (StringHelper::IEquals(ext, ".otr") || StringHelper::IEquals(ext, ".o2r")) { + if (StringHelper::IEquals(ext, ".zip") || StringHelper::IEquals(ext, ".o2r")) { archiveFiles.push_back(p.path().generic_string()); } } @@ -105,7 +110,10 @@ GameEngine::GameEngine() { this->context->InitResourceManager(archiveFiles, {}, 3); // without this line InitWindow fails in Gui::Init() this->context->InitConsole(); // without this line the GuiWindow constructor fails in ConsoleWindow::InitElement() - auto wnd = std::make_shared(std::vector>({})); + auto gui = std::make_shared(std::vector>({})); + auto wnd = std::make_shared(gui); + + //auto wnd = std::make_shared(std::vector>({})); //auto wnd = std::dynamic_pointer_cast(Ship::Context::GetInstance()->GetWindow()); this->context->Init(archiveFiles, {}, 3, { 26800, 512, 1100 }, wnd, controlDeck); @@ -163,15 +171,24 @@ GameEngine::GameEngine() { loader->RegisterResourceFactory(std::make_shared(), RESOURCE_FORMAT_BINARY, "TrackSections", static_cast(MK64::ResourceType::TrackSection), 0); + loader->RegisterResourceFactory(std::make_shared(), + RESOURCE_FORMAT_XML, "TrackSections", + static_cast(MK64::ResourceType::TrackSection), 0); loader->RegisterResourceFactory(std::make_shared(), RESOURCE_FORMAT_BINARY, "Waypoints", static_cast(MK64::ResourceType::Waypoints), 0); + loader->RegisterResourceFactory(std::make_shared(), + RESOURCE_FORMAT_XML, "Paths", + static_cast(MK64::ResourceType::Waypoints), 0); loader->RegisterResourceFactory(std::make_shared(), RESOURCE_FORMAT_BINARY, "SpawnData", static_cast(MK64::ResourceType::SpawnData), 0); loader->RegisterResourceFactory(std::make_shared(), RESOURCE_FORMAT_BINARY, "UnkSpawnData", static_cast(MK64::ResourceType::UnkSpawnData), 0); + loader->RegisterResourceFactory(std::make_shared(), + RESOURCE_FORMAT_BINARY, "Minimap", + static_cast(MK64::ResourceType::Minimap), 0); fontMono = CreateFontWithSize(16.0f, "fonts/Inconsolata-Regular.ttf"); fontMonoLarger = CreateFontWithSize(20.0f, "fonts/Inconsolata-Regular.ttf"); @@ -280,11 +297,10 @@ void GameEngine::StartFrame() const { void GameEngine::RunCommands(Gfx* Commands) { auto wnd = std::dynamic_pointer_cast(Ship::Context::GetInstance()->GetWindow()); - if (wnd == nullptr) { + if (nullptr == wnd) { return; } - // Process window events for resize, mouse, keyboard events wnd->HandleEvents(); wnd->DrawAndRunGraphicsCommands(Commands, {}); @@ -298,12 +314,12 @@ void GameEngine::RunCommands(Gfx* Commands) { } void GameEngine::ProcessGfxCommands(Gfx* commands) { - RunCommands(commands); auto wnd = std::dynamic_pointer_cast(Ship::Context::GetInstance()->GetWindow()); if (wnd != nullptr) { wnd->SetTargetFps(CVarGetInteger("gInterpolationFPS", 30)); wnd->SetMaximumFrameLatency(1); } + RunCommands(commands); } // Audio @@ -640,3 +656,11 @@ extern "C" uint32_t OTRGetGameRenderWidth() { extern "C" uint32_t OTRGetGameRenderHeight() { return gfx_current_dimensions.height; } + +extern "C" uint32_t OTRGetGameViewportWidth() { + return gfx_current_game_window_viewport.width; +} + +extern "C" uint32_t OTRGetGameViewportHeight() { + return gfx_current_game_window_viewport.height; +} \ No newline at end of file diff --git a/src/port/Engine.h b/src/port/Engine.h index d116a4f81..fb277a5ad 100644 --- a/src/port/Engine.h +++ b/src/port/Engine.h @@ -37,6 +37,7 @@ class GameEngine { std::vector banksTable; std::vector sequenceTable; std::vector audioSequenceTable; + std::vector archiveFiles; ImFont* fontStandard; ImFont* fontStandardLarger; @@ -71,6 +72,8 @@ class GameEngine { int16_t OTRGetRectDimensionFromRightEdge(float v); uint32_t OTRGetGameRenderWidth(); uint32_t OTRGetGameRenderHeight(); + uint32_t OTRGetGameViewportWidth(); + uint32_t OTRGetGameViewportHeight(); uint32_t OTRCalculateCenterOfAreaFromRightEdge(int32_t center); uint32_t OTRCalculateCenterOfAreaFromLeftEdge(int32_t center); private: @@ -100,6 +103,8 @@ int16_t OTRGetRectDimensionFromLeftEdge(float v); int16_t OTRGetRectDimensionFromRightEdge(float v); uint32_t OTRGetGameRenderWidth(void); uint32_t OTRGetGameRenderHeight(void); +uint32_t OTRGetGameViewportWidth(); +uint32_t OTRGetGameViewportHeight(); uint32_t OTRCalculateCenterOfAreaFromRightEdge(int32_t center); uint32_t OTRCalculateCenterOfAreaFromLeftEdge(int32_t center); #ifdef __cplusplus diff --git a/src/port/Game.cpp b/src/port/Game.cpp index 35a0cdf83..483971a48 100644 --- a/src/port/Game.cpp +++ b/src/port/Game.cpp @@ -28,7 +28,7 @@ #include "engine/courses/BigDonut.h" #include "engine/courses/Harbour.h" #include "engine/courses/TestCourse.h" -#include "engine/actors/AFinishline.h" +#include "engine/actors/Finishline.h" #include "engine/courses/PodiumCeremony.h" @@ -43,6 +43,12 @@ #include "Smoke.h" +#include "engine/HM_Intro.h" + +#include "engine/editor/Editor.h" +#include "engine/editor/EditorMath.h" +#include "engine/editor/SceneManager.h" + extern "C" { #include "main.h" #include "audio/load.h" @@ -95,6 +101,10 @@ Cup* gBattleCup; ModelLoader gModelLoader; +HarbourMastersIntro gMenuIntro; + +Editor::Editor gEditor; + s32 gTrophyIndex = NULL; void CustomEngineInit() { @@ -190,6 +200,26 @@ void CustomEngineInit() { extern "C" { +void HM_InitIntro() { + gMenuIntro.HM_InitIntro(); +} + +void HM_TickIntro() { + gMenuIntro.HM_TickIntro(); +} + +void HM_DrawIntro() { + gMenuIntro.HM_DrawIntro(); +} + +void CM_SpawnFromLevelProps() { + // Spawning actors needs to be delayed to the correct time. + // And loadlevel needs to happen asap + + //Editor::LoadLevel(nullptr); + // Editor::SpawnFromLevelProps(); +} + World* GetWorld(void) { return &gWorldInstance; } @@ -324,7 +354,9 @@ void CM_RenderCourse(struct UnkStruct_800DC5EC* arg0) { if (gWorldInstance.CurrentCourse->IsMod() == false) { if ((CVarGetInteger("gFreecam", 0) == true)) { // Render credits courses - func_8029569C(); + //gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + //gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); + render_credits(); return; } } @@ -353,16 +385,21 @@ void CM_DrawActors(Camera* camera, struct Actor* actor) { } } +void CM_DrawStaticMeshActors() { + gWorldInstance.DrawStaticMeshActors(); +} + void CM_BeginPlay() { Course* course = gWorldInstance.CurrentCourse; if (course) { - // Do not spawn finishline in credits or battle mode. And if bSpawnFinishline. if ((gGamestate != CREDITS_SEQUENCE) && (gGamestate != BATTLE) && (course->bSpawnFinishline)) { gWorldInstance.AddActor(new AFinishline(course->FinishlineSpawnPoint)); } + gEditor.AddLight("Sun", nullptr, D_800DC610[1].l->l.dir); + course->BeginPlay(); } } @@ -387,6 +424,18 @@ void CM_DrawObjects(s32 cameraId) { } } +void CM_TickEditor() { + gEditor.Tick(); +} + +void CM_DrawEditor() { + gEditor.Draw(); +} + +void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY) { + gEditor.SetLevelDimensions(minX, maxX, minZ, maxZ, minY, maxY); +} + void CM_TickParticles() { if (gWorldInstance.CurrentCourse) { gWorldInstance.TickParticles(); @@ -434,12 +483,6 @@ void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f } } -void CM_MinimapSettings() { - if (gWorldInstance.CurrentCourse) { - gWorldInstance.CurrentCourse->MinimapSettings(); - } -} - void CM_InitCourseObjects() { if (gWorldInstance.CurrentCourse) { gWorldInstance.CurrentCourse->InitCourseObjects(); @@ -485,12 +528,6 @@ void CM_WhatDoesThisDoAI(Player* player, int8_t playerId) { } } -void CM_MinimapFinishlinePosition() { - if (gWorldInstance.CurrentCourse) { - gWorldInstance.CurrentCourse->MinimapFinishlinePosition(); - } -} - void CM_SetStaffGhost() { if (gWorldInstance.CurrentCourse) { gWorldInstance.CurrentCourse->SetStaffGhost(); @@ -625,17 +662,50 @@ void CM_DeleteActor(size_t index) { * Clean up actors and other game objects. */ void CM_CleanWorld(void) { + World* world = &gWorldInstance; + for (auto& actor : world->Actors) { + delete actor; + } + + for (auto& object : world->Objects) { + delete object; + } + + for (auto& emitter : world->Emitters) { + delete emitter; + } + + for (auto& actor : world->StaticMeshActors) { + delete actor; + } + + gEditor.ClearObjects(); gWorldInstance.Actors.clear(); + gWorldInstance.StaticMeshActors.clear(); gWorldInstance.Objects.clear(); gWorldInstance.Emitters.clear(); gWorldInstance.Lakitus.clear(); gWorldInstance.Reset(); } -struct Actor* CM_AddBaseActor(void) { +struct Actor* CM_AddBaseActor() { return (struct Actor*) gWorldInstance.AddBaseActor(); } +void CM_AddEditorObject(struct Actor* actor, const char* name) { + gWorldInstance.AddEditorObject(actor, name); +} + +void Editor_AddLight(s8* direction) { + static size_t i = 0; + gEditor.AddLight(("Light "+std::to_string(i)).c_str(), nullptr, direction); + i += 1; +} + +void Editor_ClearMatrix() { + gEditor.ClearMatrixPool(); +} + size_t CM_GetActorSize() { return gWorldInstance.Actors.size(); } @@ -648,6 +718,11 @@ void CM_ActorCollision(Player* player, Actor* actor) { } } +f32 CM_GetWaterLevel(Vec3f pos, Collision* collision) { + FVector fPos = {pos[0], pos[1], pos[2]}; + return gWorldInstance.CurrentCourse->GetWaterLevel(fPos, collision); +} + void* GetMarioRaceway(void) { return gMarioRaceway; } @@ -789,6 +864,7 @@ extern "C" } thread5_game_loop(); + gEditor.Load(); while (WindowIsRunning()) { push_frame(); } diff --git a/src/port/Game.h b/src/port/Game.h index 96bfcbee8..2102cb7ea 100644 --- a/src/port/Game.h +++ b/src/port/Game.h @@ -3,8 +3,10 @@ #include #include "engine/courses/Course.h" +#include "engine/HM_Intro.h" #ifdef __cplusplus +#include "engine/editor/Editor.h" class Course; extern "C" { #endif @@ -13,9 +15,20 @@ extern "C" { extern s32 gTrophyIndex; +#ifdef __cplusplus +extern Editor::Editor gEditor; +extern HarbourMastersIntro gMenuIntro; +#endif + Properties* CM_GetProps(); Properties* CM_GetPropsCourseId(s32 courseId); +void HM_InitIntro(void); +void HM_TickIntro(void); +void HM_DrawIntro(void); + +void CM_SpawnFromLevelProps(); + void CM_DisplayBattleBombKart(s32 playerId, s32 primAlpha); void CM_DrawBattleBombKarts(s32 cameraId); @@ -55,11 +68,18 @@ bool CM_DoesFinishlineExist(); void CM_InitClouds(); void CM_DrawActors(Camera* camera, struct Actor* actor); +void CM_DrawStaticMeshActors(); void CM_TickObjects(); void CM_TickObjects60fps(); void CM_DrawObjects(s32 cameraId); +void CM_TickEditor(); +void CM_DrawEditor(); +void CM_Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY); +void CM_TickDraw(); +void Editor_ClearMatrix(); + void CM_TickParticles(void); void CM_DrawParticles(s32 cameraId); @@ -70,8 +90,6 @@ void CM_Waypoints(Player* player, int8_t playerId); void CM_SomeCollisionThing(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4, f32* arg5, f32* arg6, f32* arg7); -void CM_MinimapSettings(); - void CM_InitCourseObjects(); void CM_UpdateCourseObjects(); @@ -86,8 +104,6 @@ void CM_WhatDoesThisDo(Player* player, int8_t playerId); void CM_WhatDoesThisDoAI(Player* player, int8_t playerId); -void CM_MinimapFinishlinePosition(); - void CM_SetStaffGhost(); void CM_BombKartsWaypoint(s32 cameraId); @@ -129,12 +145,16 @@ void SetCourseByClass(void* course); struct Actor* CM_GetActor(size_t index); void CM_DeleteActor(size_t index); -struct Actor* CM_AddBaseActor(void); +struct Actor* CM_AddBaseActor(); +void CM_AddEditorObject(struct Actor* actor, const char* name); +void Editor_AddLight(s8* direction); size_t CM_GetActorSize(); size_t CM_FindActorIndex(struct Actor* actor); void CM_ActorCollision(Player* player, struct Actor* actor); void CM_CleanWorld(void); +f32 CM_GetWaterLevel(Vec3f pos, Collision* collision); + void* GetMarioRaceway(void); void* GetLuigiRaceway(void); diff --git a/src/port/SpaghettiGui.cpp b/src/port/SpaghettiGui.cpp new file mode 100644 index 000000000..1e0618ff2 --- /dev/null +++ b/src/port/SpaghettiGui.cpp @@ -0,0 +1,159 @@ +#include +#include "SpaghettiGui.h" +#include +#include +#include "Config.h" + +#ifdef __APPLE__ +#include +#include + +#include "graphic/Fast3D/gfx_metal.h" +#include +#include +#else +#include +#include +#endif + +#if defined(__ANDROID__) || defined(__IOS__) +#include "port/mobile/MobileImpl.h" +#endif + +#ifdef ENABLE_OPENGL +#include +#include + +#endif + +#if defined(ENABLE_DX11) || defined(ENABLE_DX12) +#include +#include +#include + +// NOLINTNEXTLINE +IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); + +#endif + +namespace Ship { +#define TOGGLE_BTN ImGuiKey_F1 +#define TOGGLE_PAD_BTN ImGuiKey_GamepadBack + + void SpaghettiGui::DrawMenu() { + const std::shared_ptr wnd = Context::GetInstance()->GetWindow(); + const std::shared_ptr conf = Context::GetInstance()->GetConfig(); + + ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoBackground | + ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove | + ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus | + ImGuiWindowFlags_NoResize; + + if (GetMenuBar() && GetMenuBar()->IsVisible()) { + windowFlags |= ImGuiWindowFlags_MenuBar; + } + + const ImGuiViewport* viewport = ImGui::GetMainViewport(); + ImGui::SetNextWindowPos(viewport->WorkPos); + ImGui::SetNextWindowSize(ImVec2((int)wnd->GetWidth(), (int)wnd->GetHeight())); + ImGui::SetNextWindowViewport(viewport->ID); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0.0f, 0.0f)); + ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_ChildBorderSize, 0.0f); + ImGui::Begin("Main - Deck", nullptr, windowFlags); + ImGui::PopStyleVar(3); + + mTemporaryWindowPos = ImGui::GetWindowPos(); + + const ImGuiID dockId = ImGui::GetID("main_dock"); + if (!ImGui::DockBuilderGetNode(dockId)) { + ImGui::DockBuilderRemoveNode(dockId); + ImGui::DockBuilderAddNode(dockId, ImGuiDockNodeFlags_NoTabBar); + ImGui::DockBuilderSetNodeSize(dockId, ImVec2(viewport->Size.x, viewport->Size.y)); + + ImGui::DockBuilderDockWindow("Main Game", dockId); + + const ImGuiViewport* viewport = ImGui::GetMainViewport(); + const ImGuiID dockId = ImGui::GetID("main_dock"); + + ImGuiID topId = ImGui::DockBuilderSplitNode(dockId, ImGuiDir_Up, 0.15f, nullptr, nullptr); + ImGui::DockBuilderSetNodeSize(topId, ImVec2(viewport->Size.x, 40)); + + ImGuiID bottomId = ImGui::DockBuilderSplitNode(dockId, ImGuiDir_Down, 0.25f, nullptr, nullptr); + ImGui::DockBuilderSetNodeSize(bottomId, ImVec2(viewport->Size.x, viewport->Size.y * 0.1f)); + + ImGuiID bottomLeftId = ImGui::DockBuilderSplitNode(bottomId, ImGuiDir_Left, 0.25f, nullptr, nullptr); + ImGui::DockBuilderSetNodeSize(bottomId, ImVec2(viewport->Size.x, viewport->Size.y * 0.1f)); + + ImGuiID rightId = ImGui::DockBuilderSplitNode(dockId, ImGuiDir_Right, 0.25f, nullptr, nullptr); + ImGui::DockBuilderSetNodeSize(rightId, ImVec2(viewport->Size.x * 0.15f, viewport->Size.y)); + + // Order of operations matters here for the properties window to be in the right spot + ImGui::DockBuilderDockWindow("Scene Explorer", rightId); + ImGui::DockBuilderDockWindow("Track Properties", rightId); // Attach as second tab + + ImGuiID rightBottomId = ImGui::DockBuilderSplitNode(rightId, ImGuiDir_Down, 0.25f, nullptr, nullptr); + ImGui::DockBuilderSetNodeSize(rightBottomId, ImVec2(viewport->Size.x, viewport->Size.y * 0.25)); + + ImGui::DockBuilderDockWindow("Properties", rightBottomId); + ImGui::DockBuilderDockWindow("Tools", topId); + ImGui::DockBuilderDockWindow("Content Browser", bottomLeftId); + + ImGui::DockBuilderFinish(dockId); + } + + ImGui::DockSpace(dockId, ImVec2(0.0f, 0.0f), ImGuiDockNodeFlags_None | ImGuiDockNodeFlags_NoDockingInCentralNode); + + if (ImGui::IsKeyPressed(TOGGLE_BTN) || ImGui::IsKeyPressed(ImGuiKey_Escape) || + (ImGui::IsKeyPressed(TOGGLE_PAD_BTN) && CVarGetInteger(CVAR_IMGUI_CONTROLLER_NAV, 0))) { + if ((ImGui::IsKeyPressed(ImGuiKey_Escape) || ImGui::IsKeyPressed(TOGGLE_PAD_BTN)) && GetMenu()) { + GetMenu()->ToggleVisibility(); + } else if ((ImGui::IsKeyPressed(TOGGLE_BTN) || ImGui::IsKeyPressed(TOGGLE_PAD_BTN)) && GetMenuBar()) { + Gui::GetMenuBar()->ToggleVisibility(); + } + if (wnd->IsFullscreen()) { + Context::GetInstance()->GetWindow()->SetMouseCapture( + !(GetMenuOrMenubarVisible() || wnd->ShouldForceCursorVisibility())); + } + if (CVarGetInteger(CVAR_IMGUI_CONTROLLER_NAV, 0) && GetMenuOrMenubarVisible()) { + mImGuiIo->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; + } else { + mImGuiIo->ConfigFlags &= ~ImGuiConfigFlags_NavEnableGamepad; + } + } + + #if __APPLE__ + if ((ImGui::IsKeyDown(ImGuiKey_LeftSuper) || ImGui::IsKeyDown(ImGuiKey_RightSuper)) && + ImGui::IsKeyPressed(ImGuiKey_R, false)) { + std::reinterpret_pointer_cast( + Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Console")) + ->Dispatch("reset"); + } + #else + if ((ImGui::IsKeyDown(ImGuiKey_LeftCtrl) || ImGui::IsKeyDown(ImGuiKey_RightCtrl)) && + ImGui::IsKeyPressed(ImGuiKey_R, false)) { + std::reinterpret_pointer_cast( + Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Console")) + ->Dispatch("reset"); + } + #endif + + if (GetMenuBar()) { + GetMenuBar()->Update(); + GetMenuBar()->Draw(); + } + + if (GetMenu()) { + GetMenu()->Update(); + GetMenu()->Draw(); + } + + for (auto& windowIter : mGuiWindows) { + windowIter.second->Update(); + windowIter.second->Draw(); + } + + ImGui::End(); + } + +} \ No newline at end of file diff --git a/src/port/SpaghettiGui.h b/src/port/SpaghettiGui.h new file mode 100644 index 000000000..aa9988784 --- /dev/null +++ b/src/port/SpaghettiGui.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include "libultraship/src/window/gui/Gui.h" +#include "libultraship/src/window/Window.h" + +class Gui; // <-- forward declare +//class Window; + +namespace Ship { + class SpaghettiGui : public Gui { + public: + SpaghettiGui() : Gui() {} + SpaghettiGui(std::vector> guiWindows) : Gui(guiWindows) {} + + protected: + virtual void DrawMenu() override; + }; +} \ No newline at end of file diff --git a/src/port/resource/importers/ActorSpawnDataFactory.cpp b/src/port/resource/importers/ActorSpawnDataFactory.cpp index 59c25caf8..a06f18000 100644 --- a/src/port/resource/importers/ActorSpawnDataFactory.cpp +++ b/src/port/resource/importers/ActorSpawnDataFactory.cpp @@ -5,12 +5,14 @@ #include namespace MK64 { -std::shared_ptr ResourceFactoryBinaryActorSpawnDataV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryActorSpawnDataV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto section = std::make_shared(file->InitData); + auto section = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); diff --git a/src/port/resource/importers/ActorSpawnDataFactory.h b/src/port/resource/importers/ActorSpawnDataFactory.h index 3dc5c4498..1c05c3ef2 100644 --- a/src/port/resource/importers/ActorSpawnDataFactory.h +++ b/src/port/resource/importers/ActorSpawnDataFactory.h @@ -6,7 +6,8 @@ namespace MK64 { class ResourceFactoryBinaryActorSpawnDataV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/ArrayFactory.cpp b/src/port/resource/importers/ArrayFactory.cpp index 78fe3a831..07f166be1 100644 --- a/src/port/resource/importers/ArrayFactory.cpp +++ b/src/port/resource/importers/ArrayFactory.cpp @@ -4,12 +4,12 @@ #include "graphic/Fast3D/lus_gbi.h" namespace MK64 { -std::shared_ptr ResourceFactoryBinaryArrayV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr ResourceFactoryBinaryArrayV0::ReadResource(std::shared_ptr file, std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto array = std::make_shared(file->InitData); + auto array = std::make_shared(initData); auto reader = std::get>(file->Reader); array->ArrayType = (ArrayResourceType) reader->ReadUInt32(); diff --git a/src/port/resource/importers/ArrayFactory.h b/src/port/resource/importers/ArrayFactory.h index ee3182531..5b1fff4cb 100644 --- a/src/port/resource/importers/ArrayFactory.h +++ b/src/port/resource/importers/ArrayFactory.h @@ -6,6 +6,6 @@ namespace MK64 { class ResourceFactoryBinaryArrayV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/AudioBankFactory.cpp b/src/port/resource/importers/AudioBankFactory.cpp index 90d70b9aa..ee400c1b5 100644 --- a/src/port/resource/importers/AudioBankFactory.cpp +++ b/src/port/resource/importers/AudioBankFactory.cpp @@ -4,12 +4,14 @@ #include "resourcebridge.h" #include "ResourceUtil.h" -std::shared_ptr SM64::AudioBankFactoryV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +SM64::AudioBankFactoryV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - std::shared_ptr bank = std::make_shared(file->InitData); + std::shared_ptr bank = std::make_shared(initData); auto reader = std::get>(file->Reader); uint8_t bankId = reader->ReadUInt32(); diff --git a/src/port/resource/importers/AudioBankFactory.h b/src/port/resource/importers/AudioBankFactory.h index f76e2d830..eddf256e9 100644 --- a/src/port/resource/importers/AudioBankFactory.h +++ b/src/port/resource/importers/AudioBankFactory.h @@ -6,6 +6,7 @@ namespace SM64 { class AudioBankFactoryV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } diff --git a/src/port/resource/importers/AudioSampleFactory.cpp b/src/port/resource/importers/AudioSampleFactory.cpp index f21389666..a253c533d 100644 --- a/src/port/resource/importers/AudioSampleFactory.cpp +++ b/src/port/resource/importers/AudioSampleFactory.cpp @@ -3,12 +3,14 @@ #include "../type/AudioSample.h" #include "spdlog/spdlog.h" -std::shared_ptr SM64::AudioSampleFactoryV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +SM64::AudioSampleFactoryV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - std::shared_ptr bank = std::make_shared(file->InitData); + std::shared_ptr bank = std::make_shared(initData); auto reader = std::get>(file->Reader); bank->loop.start = reader->ReadUInt32(); diff --git a/src/port/resource/importers/AudioSampleFactory.h b/src/port/resource/importers/AudioSampleFactory.h index cf640bd5c..b1fe50455 100644 --- a/src/port/resource/importers/AudioSampleFactory.h +++ b/src/port/resource/importers/AudioSampleFactory.h @@ -6,6 +6,7 @@ namespace SM64 { class AudioSampleFactoryV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } diff --git a/src/port/resource/importers/AudioSequenceFactory.cpp b/src/port/resource/importers/AudioSequenceFactory.cpp index d021e8dc0..c8b421d46 100644 --- a/src/port/resource/importers/AudioSequenceFactory.cpp +++ b/src/port/resource/importers/AudioSequenceFactory.cpp @@ -4,12 +4,14 @@ #include "spdlog/spdlog.h" #include "port/Engine.h" -std::shared_ptr SM64::AudioSequenceFactoryV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +SM64::AudioSequenceFactoryV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - std::shared_ptr bank = std::make_shared(file->InitData); + std::shared_ptr bank = std::make_shared(initData); auto reader = std::get>(file->Reader); uint8_t id = reader->ReadUInt32(); diff --git a/src/port/resource/importers/AudioSequenceFactory.h b/src/port/resource/importers/AudioSequenceFactory.h index dd08e5152..1132b78fb 100644 --- a/src/port/resource/importers/AudioSequenceFactory.h +++ b/src/port/resource/importers/AudioSequenceFactory.h @@ -7,6 +7,7 @@ namespace SM64 { class AudioSequenceFactoryV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } diff --git a/src/port/resource/importers/CourseVtxFactory.cpp b/src/port/resource/importers/CourseVtxFactory.cpp index 95f865698..2f2b60c33 100644 --- a/src/port/resource/importers/CourseVtxFactory.cpp +++ b/src/port/resource/importers/CourseVtxFactory.cpp @@ -4,12 +4,14 @@ #include "libultraship/libultra/gbi.h" namespace MK64 { -std::shared_ptr ResourceFactoryBinaryCourseVtxV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryCourseVtxV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto cvtx = std::make_shared(file->InitData); + auto cvtx = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); diff --git a/src/port/resource/importers/CourseVtxFactory.h b/src/port/resource/importers/CourseVtxFactory.h index aaa823515..e26088ef2 100644 --- a/src/port/resource/importers/CourseVtxFactory.h +++ b/src/port/resource/importers/CourseVtxFactory.h @@ -6,7 +6,8 @@ namespace MK64 { class ResourceFactoryBinaryCourseVtxV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/GenericArrayFactory.cpp b/src/port/resource/importers/GenericArrayFactory.cpp index 58f5ce6c7..a265b020d 100644 --- a/src/port/resource/importers/GenericArrayFactory.cpp +++ b/src/port/resource/importers/GenericArrayFactory.cpp @@ -3,12 +3,14 @@ #include "spdlog/spdlog.h" namespace SF64 { -std::shared_ptr ResourceFactoryBinaryGenericArrayV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryGenericArrayV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto arr = std::make_shared(file->InitData); + auto arr = std::make_shared(initData); auto reader = std::get>(file->Reader); auto type = reader->ReadUInt32(); diff --git a/src/port/resource/importers/GenericArrayFactory.h b/src/port/resource/importers/GenericArrayFactory.h index 6984c1df0..9f21d44e6 100644 --- a/src/port/resource/importers/GenericArrayFactory.h +++ b/src/port/resource/importers/GenericArrayFactory.h @@ -6,6 +6,7 @@ namespace SF64 { class ResourceFactoryBinaryGenericArrayV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; }; // namespace SF64 diff --git a/src/port/resource/importers/KartAIFactory.cpp b/src/port/resource/importers/KartAIFactory.cpp index 9459837da..e61fb52b5 100644 --- a/src/port/resource/importers/KartAIFactory.cpp +++ b/src/port/resource/importers/KartAIFactory.cpp @@ -4,12 +4,14 @@ #include "libultraship/libultra/gbi.h" namespace MK64 { -std::shared_ptr ResourceFactoryBinaryKartAIV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryKartAIV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto ai = std::make_shared(file->InitData); + auto ai = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); diff --git a/src/port/resource/importers/KartAIFactory.h b/src/port/resource/importers/KartAIFactory.h index b79d222de..7005f45dd 100644 --- a/src/port/resource/importers/KartAIFactory.h +++ b/src/port/resource/importers/KartAIFactory.h @@ -6,7 +6,8 @@ namespace MK64 { class ResourceFactoryBinaryKartAIV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/MinimapFactory.cpp b/src/port/resource/importers/MinimapFactory.cpp new file mode 100644 index 000000000..011789f67 --- /dev/null +++ b/src/port/resource/importers/MinimapFactory.cpp @@ -0,0 +1,54 @@ +#include "MinimapFactory.h" +#include "port/resource/type/Minimap.h" +#include "spdlog/spdlog.h" +#include "stb_image.h" + +namespace MK64 { + +std::shared_ptr +ResourceFactoryBinaryMinimapV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { + return nullptr; + } + + auto texture = std::make_shared(initData); + auto reader = std::get>(file->Reader); + + int width = 0, height = 0; + stbi_uc* data = stbi_load_from_memory(reinterpret_cast(file->Buffer->data()), file->Buffer->size(), &width, &height, nullptr, 1); + + if (data == nullptr) { + SPDLOG_ERROR("MinimapFactory.cpp: Error loading minimap texture {}", stbi_failure_reason()); + return nullptr; + } + + // Calculate new size for 4bpp (two pixels per byte) + size_t pixelCount = width * height; + size_t packedSize = (pixelCount + 1) / 2; // Round up if odd + + uint8_t* packedData = new uint8_t[packedSize]; + + for (size_t i = 0; i < pixelCount; i += 2) { + uint8_t first = data[i] >> 4; // 8-bit -> 4-bit + uint8_t second = 0; + if (i + 1 < pixelCount) { + second = data[i + 1] >> 4; + } + packedData[i / 2] = (first << 4) | second; + } + + // Done with original data + stbi_image_free(data); + + // Store packed data + texture->Texture.Width = width; + texture->Texture.Height = height; + texture->Texture.Channels = 1; + texture->Texture.Size = packedSize; + texture->Texture.Data = packedData; + + return texture; +} + +} diff --git a/src/port/resource/importers/MinimapFactory.h b/src/port/resource/importers/MinimapFactory.h new file mode 100644 index 000000000..04346176d --- /dev/null +++ b/src/port/resource/importers/MinimapFactory.h @@ -0,0 +1,14 @@ +#pragma once + +#include "resource/Resource.h" +#include "resource/ResourceFactoryBinary.h" +#include "resource/ResourceFactoryXML.h" + +namespace MK64 { +class ResourceFactoryBinaryMinimapV0 : public Ship::ResourceFactoryBinary { + public: + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; +}; + +} // namespace MK64 diff --git a/src/port/resource/importers/TrackSectionsFactory.cpp b/src/port/resource/importers/TrackSectionsFactory.cpp index 3a5f781b4..3c4bd9e12 100644 --- a/src/port/resource/importers/TrackSectionsFactory.cpp +++ b/src/port/resource/importers/TrackSectionsFactory.cpp @@ -9,12 +9,14 @@ void* segmented_uintptr_t_to_virtual(uintptr_t); } namespace MK64 { -std::shared_ptr ResourceFactoryBinaryTrackSectionsV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryTrackSectionsV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto section = std::make_shared(file->InitData); + auto section = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); @@ -33,4 +35,35 @@ std::shared_ptr ResourceFactoryBinaryTrackSectionsV0::ReadResou return section; } + +std::shared_ptr +ResourceFactoryXMLTrackSectionsV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + + if (!FileHasValidFormatAndReader(file, initData)) { + return nullptr; + } + + auto section = std::make_shared(initData); + auto child = + std::get>(file->Reader)->FirstChildElement()->FirstChildElement(); + + while (child != nullptr) { + std::string childName = child->Name(); + + if (childName == "Section") { + TrackSectionsO2R data; + // Convert n64 addr to native addr + data.addr = std::string(child->Attribute("gfx_path")); + data.surfaceType = child->IntAttribute("surface"); + data.sectionId = child->IntAttribute("section"); + data.flags = child->IntAttribute("flags"); + + section->TrackSectionsList.push_back(data); + } + child = child->NextSiblingElement(); + } + + return section; +} } // namespace MK64 diff --git a/src/port/resource/importers/TrackSectionsFactory.h b/src/port/resource/importers/TrackSectionsFactory.h index 95d328e8c..0f1891043 100644 --- a/src/port/resource/importers/TrackSectionsFactory.h +++ b/src/port/resource/importers/TrackSectionsFactory.h @@ -2,11 +2,19 @@ #include "Resource.h" #include "ResourceFactoryBinary.h" +#include "resource/ResourceFactoryXML.h" namespace MK64 { class ResourceFactoryBinaryTrackSectionsV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; +}; + +class ResourceFactoryXMLTrackSectionsV0 : public Ship::ResourceFactoryXML { + public: + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/TrackWaypointFactory.cpp b/src/port/resource/importers/TrackWaypointFactory.cpp index 99b880427..75707c5ce 100644 --- a/src/port/resource/importers/TrackWaypointFactory.cpp +++ b/src/port/resource/importers/TrackWaypointFactory.cpp @@ -4,19 +4,21 @@ #include "libultraship/libultra/gbi.h" namespace MK64 { -std::shared_ptr ResourceFactoryBinaryTrackWaypointsV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryTrackWaypointsV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto section = std::make_shared(file->InitData); + auto section = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); section->TrackWaypointList.reserve(count); for (uint32_t i = 0; i < count; i++) { - TrackWaypoint data; + TrackWaypointData data; data.posX = reader->ReadInt16(); data.posY = reader->ReadInt16(); data.posZ = reader->ReadInt16(); @@ -27,4 +29,43 @@ std::shared_ptr ResourceFactoryBinaryTrackWaypointsV0::ReadReso return section; } + +std::shared_ptr +ResourceFactoryXMLTrackWaypointsV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { + return nullptr; + } + + auto paths = std::make_shared(initData); + + auto root = std::get>(file->Reader)->FirstChildElement(); + + auto path = root->FirstChildElement("TrackWaypoint"); + + while (path != nullptr) { + + std::vector waypointPath; // Temporary container for this path + + auto pointElem = path->FirstChildElement("Point"); + + while (pointElem != nullptr) { + TrackWaypointData point; + point.posX = pointElem->IntAttribute("X"); + point.posY = pointElem->IntAttribute("Y"); + point.posZ = pointElem->IntAttribute("Z"); + point.trackSegment = pointElem->IntAttribute("ID"); + + waypointPath.push_back(point); // Push to temp vector + + pointElem = pointElem->NextSiblingElement("Point"); + } + + paths->PathList.push_back(waypointPath); // Push full path to outer list + + path = path->NextSiblingElement("TrackWaypoint"); + } + return paths; +} + } // namespace MK64 diff --git a/src/port/resource/importers/TrackWaypointFactory.h b/src/port/resource/importers/TrackWaypointFactory.h index 3f77aded5..c2184a581 100644 --- a/src/port/resource/importers/TrackWaypointFactory.h +++ b/src/port/resource/importers/TrackWaypointFactory.h @@ -2,11 +2,19 @@ #include "Resource.h" #include "ResourceFactoryBinary.h" +#include "ResourceFactoryXML.h" namespace MK64 { class ResourceFactoryBinaryTrackWaypointsV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; +}; + +class ResourceFactoryXMLTrackWaypointsV0 : public Ship::ResourceFactoryXML { + public: + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/UnkActorSpawnDataFactory.cpp b/src/port/resource/importers/UnkActorSpawnDataFactory.cpp index 9307adbad..666aad618 100644 --- a/src/port/resource/importers/UnkActorSpawnDataFactory.cpp +++ b/src/port/resource/importers/UnkActorSpawnDataFactory.cpp @@ -6,12 +6,13 @@ namespace MK64 { std::shared_ptr -ResourceFactoryBinaryUnkActorSpawnDataV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +ResourceFactoryBinaryUnkActorSpawnDataV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto section = std::make_shared(file->InitData); + auto section = std::make_shared(initData); auto reader = std::get>(file->Reader); uint32_t count = reader->ReadUInt32(); diff --git a/src/port/resource/importers/UnkActorSpawnDataFactory.h b/src/port/resource/importers/UnkActorSpawnDataFactory.h index 5803bce00..28ddd9ce2 100644 --- a/src/port/resource/importers/UnkActorSpawnDataFactory.h +++ b/src/port/resource/importers/UnkActorSpawnDataFactory.h @@ -6,7 +6,8 @@ namespace MK64 { class ResourceFactoryBinaryUnkActorSpawnDataV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; } // namespace MK64 diff --git a/src/port/resource/importers/Vec3fFactory.cpp b/src/port/resource/importers/Vec3fFactory.cpp index fc8f4d722..db9a571a9 100644 --- a/src/port/resource/importers/Vec3fFactory.cpp +++ b/src/port/resource/importers/Vec3fFactory.cpp @@ -3,12 +3,14 @@ #include "spdlog/spdlog.h" namespace SF64 { -std::shared_ptr ResourceFactoryBinaryVec3fV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryVec3fV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto vec = std::make_shared(file->InitData); + auto vec = std::make_shared(initData); auto reader = std::get>(file->Reader); auto vecCount = reader->ReadUInt32(); diff --git a/src/port/resource/importers/Vec3fFactory.h b/src/port/resource/importers/Vec3fFactory.h index 73fb47e37..c1ed3749d 100644 --- a/src/port/resource/importers/Vec3fFactory.h +++ b/src/port/resource/importers/Vec3fFactory.h @@ -6,6 +6,7 @@ namespace SF64 { class ResourceFactoryBinaryVec3fV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; }; // namespace SF64 diff --git a/src/port/resource/importers/Vec3sFactory.cpp b/src/port/resource/importers/Vec3sFactory.cpp index 8df00185c..df39b42d2 100644 --- a/src/port/resource/importers/Vec3sFactory.cpp +++ b/src/port/resource/importers/Vec3sFactory.cpp @@ -3,12 +3,14 @@ #include "spdlog/spdlog.h" namespace SF64 { -std::shared_ptr ResourceFactoryBinaryVec3sV0::ReadResource(std::shared_ptr file) { - if (!FileHasValidFormatAndReader(file)) { +std::shared_ptr +ResourceFactoryBinaryVec3sV0::ReadResource(std::shared_ptr file, + std::shared_ptr initData) { + if (!FileHasValidFormatAndReader(file, initData)) { return nullptr; } - auto vec = std::make_shared(file->InitData); + auto vec = std::make_shared(initData); auto reader = std::get>(file->Reader); auto vecCount = reader->ReadUInt32(); diff --git a/src/port/resource/importers/Vec3sFactory.h b/src/port/resource/importers/Vec3sFactory.h index f2339f146..5a05ec3ea 100644 --- a/src/port/resource/importers/Vec3sFactory.h +++ b/src/port/resource/importers/Vec3sFactory.h @@ -6,6 +6,7 @@ namespace SF64 { class ResourceFactoryBinaryVec3sV0 : public Ship::ResourceFactoryBinary { public: - std::shared_ptr ReadResource(std::shared_ptr file) override; + std::shared_ptr ReadResource(std::shared_ptr file, + std::shared_ptr initData) override; }; }; // namespace SF64 diff --git a/src/port/resource/type/Minimap.cpp b/src/port/resource/type/Minimap.cpp new file mode 100644 index 000000000..1389dc41e --- /dev/null +++ b/src/port/resource/type/Minimap.cpp @@ -0,0 +1,16 @@ +#include "Minimap.h" +#include "libultraship/libultra/gbi.h" + +namespace MK64 { +Minimap::Minimap() : Resource(std::shared_ptr()) { +} + +MinimapTexture* Minimap::GetPointer() { + return &Texture; +} + +size_t Minimap::GetPointerSize() { + return sizeof(Texture); +} + +} // namespace MK64 diff --git a/src/port/resource/type/Minimap.h b/src/port/resource/type/Minimap.h new file mode 100644 index 000000000..ea88d3d2f --- /dev/null +++ b/src/port/resource/type/Minimap.h @@ -0,0 +1,29 @@ +#pragma once + +#include "resource/Resource.h" +#include +#include + +namespace MK64 { + +struct MinimapTexture { + int32_t Width; + int32_t Height; + int32_t Channels; + size_t Size; + uint8_t* Data; +}; + +class Minimap : public Ship::Resource { + public: + using Resource::Resource; + + Minimap(); + + MinimapTexture* GetPointer() override; + size_t GetPointerSize() override; + + MinimapTexture Texture; +}; + +} // namespace MK64 diff --git a/src/port/resource/type/ResourceType.h b/src/port/resource/type/ResourceType.h index fe27a7930..72876e626 100644 --- a/src/port/resource/type/ResourceType.h +++ b/src/port/resource/type/ResourceType.h @@ -34,5 +34,6 @@ enum class ResourceType { SpawnData = 0x53444154, // SDAT UnkSpawnData = 0x55534454, // USDT KartAI = 0x44424856, // DBHV + Minimap = 0x4D4D4150, // MMAP }; } diff --git a/src/port/resource/type/TrackSections.cpp b/src/port/resource/type/TrackSections.cpp index e87a15a2f..9d0ac27f8 100644 --- a/src/port/resource/type/TrackSections.cpp +++ b/src/port/resource/type/TrackSections.cpp @@ -12,4 +12,15 @@ TrackSectionsI* TrackSectionsClass::GetPointer() { size_t TrackSectionsClass::GetPointerSize() { return TrackSectionsList.size() * sizeof(TrackSectionsI); } + +TrackSectionsO2RClass::TrackSectionsO2RClass() : Resource(std::shared_ptr()) { +} + +TrackSectionsO2R* TrackSectionsO2RClass::GetPointer() { + return TrackSectionsList.data(); +} + +size_t TrackSectionsO2RClass::GetPointerSize() { + return TrackSectionsList.size() * sizeof(TrackSectionsO2R); +} } // namespace MK64 diff --git a/src/port/resource/type/TrackSections.h b/src/port/resource/type/TrackSections.h index a615a95c2..32182022f 100644 --- a/src/port/resource/type/TrackSections.h +++ b/src/port/resource/type/TrackSections.h @@ -11,6 +11,13 @@ typedef struct { uint16_t flags; } TrackSectionsI; +typedef struct { + std::string addr; + uint8_t surfaceType; + uint8_t sectionId; + uint16_t flags; +} TrackSectionsO2R; + namespace MK64 { class TrackSectionsClass : public Ship::Resource { public: @@ -23,4 +30,17 @@ class TrackSectionsClass : public Ship::Resource { std::vector TrackSectionsList; }; + +class TrackSectionsO2RClass : public Ship::Resource { + public: + using Resource::Resource; + + TrackSectionsO2RClass(); + + TrackSectionsO2R* GetPointer() override; + size_t GetPointerSize() override; + + std::vector TrackSectionsList; +}; + } // namespace MK64 diff --git a/src/port/resource/type/TrackWaypoint.cpp b/src/port/resource/type/TrackWaypoint.cpp index 4270304ac..0492c7285 100644 --- a/src/port/resource/type/TrackWaypoint.cpp +++ b/src/port/resource/type/TrackWaypoint.cpp @@ -5,11 +5,30 @@ namespace MK64 { TrackWaypoints::TrackWaypoints() : Resource(std::shared_ptr()) { } -TrackWaypoint* TrackWaypoints::GetPointer() { +TrackWaypointData* TrackWaypoints::GetPointer() { return TrackWaypointList.data(); } size_t TrackWaypoints::GetPointerSize() { - return TrackWaypointList.size() * sizeof(TrackWaypoint); + return TrackWaypointList.size() * sizeof(TrackWaypointData); } + + +Paths::Paths() : Resource(std::shared_ptr()) { +} + +// I don't know how to return this properly +TrackWaypointData* Paths::GetPointer() { + printf("Do not LOAD_ASSET an XML track waypoint/path, you need to use dynamic_cast(ResourceLoad())"); + return nullptr; +} + +size_t Paths::GetPointerSize() { + size_t totalWaypoints = 0; + for (const auto& path : PathList) { + totalWaypoints += path.size(); + } + return totalWaypoints * sizeof(TrackWaypointData); +} + } // namespace MK64 diff --git a/src/port/resource/type/TrackWaypoint.h b/src/port/resource/type/TrackWaypoint.h index c038c1b19..71c976d1b 100644 --- a/src/port/resource/type/TrackWaypoint.h +++ b/src/port/resource/type/TrackWaypoint.h @@ -4,7 +4,7 @@ #include #include -struct TrackWaypoint { +struct TrackWaypointData { int16_t posX; int16_t posY; int16_t posZ; @@ -12,15 +12,30 @@ struct TrackWaypoint { }; namespace MK64 { -class TrackWaypoints : public Ship::Resource { +// Used for binary import from torch +class TrackWaypoints : public Ship::Resource { public: using Resource::Resource; TrackWaypoints(); - TrackWaypoint* GetPointer() override; + TrackWaypointData* GetPointer() override; size_t GetPointerSize() override; - std::vector TrackWaypointList; + std::vector TrackWaypointList; }; + +// Used for xml +class Paths : public Ship::Resource { + public: + using Resource::Resource; + + Paths(); + + TrackWaypointData* GetPointer() override; + size_t GetPointerSize() override; + + std::vector> PathList; +}; + } // namespace MK64 diff --git a/src/port/ui/ContentBrowser.cpp b/src/port/ui/ContentBrowser.cpp new file mode 100644 index 000000000..826477ea5 --- /dev/null +++ b/src/port/ui/ContentBrowser.cpp @@ -0,0 +1,288 @@ +#include "ContentBrowser.h" +#include "port/ui/PortMenu.h" +#include "UIWidgets.h" +#include "libultraship/src/Context.h" +#include "port/Engine.h" + +#include +#include +#include +#include +#include +#include +#include "spdlog/formatter.h" +#include +#include +#include "CoreMath.h" +#include "World.h" +#include "AllActors.h" +#include "port/Game.h" +#include "src/engine/editor/SceneManager.h" + +namespace Editor { + + ContentBrowserWindow::~ContentBrowserWindow() { + SPDLOG_TRACE("destruct content browser window"); + } + + void ContentBrowserWindow::DrawElement() { + if (ImGui::Button(ICON_FA_REFRESH)) { + Refresh = true; + } + + // Query content in o2r and add them to Content + if (Refresh) { + Refresh = false; + RemoveCustomTracksFromTrackList(); + Tracks.clear(); + Content.clear(); + FindTracks(); + FindContent(); + return; + } + + ImGui::BeginChild("LeftPanel", ImVec2(120, 0), true, ImGuiWindowFlags_None); + + ContentBrowserWindow::FolderButton("Tracks", TrackContent); + ContentBrowserWindow::FolderButton("Actors", ActorContent); + ContentBrowserWindow::FolderButton("Objects", ObjectContent); + ContentBrowserWindow::FolderButton("Custom", CustomContent); + ImGui::EndChild(); + ImGui::SameLine(); + ImGui::BeginChild("RightPanel", ImVec2(0, 0), true, ImGuiWindowFlags_None); + if (TrackContent) { + AddTrackContent(); + } + + if (ActorContent) { + AddActorContent(); + } + + if (ObjectContent) { + AddObjectContent(); + } + + if (CustomContent) { + AddCustomContent(); + } + ImGui::EndChild(); + } + + void ContentBrowserWindow::FolderButton(const char* label, bool& contentFlag, const ImVec2& size) { + std::string buttonText = fmt::format("{0} {1}", contentFlag ? ICON_FA_FOLDER_OPEN_O : ICON_FA_FOLDER_O, label); + if (ImGui::Button(buttonText.c_str(), size)) { + TrackContent = false; + ActorContent = false; + ObjectContent = false; + CustomContent = false; + contentFlag = !contentFlag; + } + } + + std::unordered_map> ActorList = { + { "Mario Sign", [](const FVector& pos) { return new AMarioSign(pos); } }, + { "Wario Sign", [](const FVector& pos) { return new AWarioSign(pos); } }, + { "Cloud", [](const FVector& pos) { return new ACloud(pos); } }, + { "Finishline", [](const FVector& pos) { return new AFinishline(pos); } }, + { "Ghostship", [](const FVector& pos) { return new AShip(pos, AShip::Skin::GHOSTSHIP); } }, + { "Ship_1", [](const FVector& pos) { return new AShip(pos, AShip::Skin::SHIP2); } }, + { "Ship_2", [](const FVector& pos) { return new AShip(pos, AShip::Skin::SHIP3); } }, + { "SpaghettiShip", [](const FVector& pos) { return new ASpaghettiShip(pos); } }, + { "Starship", [](const FVector& pos) { return new AStarship(pos); } }, + { "Train", [](const FVector& pos) { return new ATrain(ATrain::TenderStatus::HAS_TENDER, 4, 2.5f, 0); } }, + { "Boat", [](const FVector& pos) { return new ABoat((0.6666666f)/4, 0); } }, + { "Bus", [](const FVector& pos) { return new ABus(2.0f, 2.5f, &D_80164550[0][0], 0); } }, + { "Car", [](const FVector& pos) { return new ACar(2.0f, 2.5f, &D_80164550[0][0], 0); } }, + { "Truck", [](const FVector& pos) { return new ATruck(2.0f, 2.5f, &D_80164550[0][0], 0); } }, + { "Tanker Truck", [](const FVector& pos) { return new ATankerTruck(2.0f, 2.5f, &D_80164550[0][0], 0); } }, + }; + + std::unordered_map> ObjectList = { + { "Bat", [](const FVector& pos) { return new OBat(pos, IRotator(0, 0, 0)); } }, + { "Bomb Kart", [](const FVector& pos) { return new OBombKart(pos, &D_80164550[0][0], 0, 0, 0.8333333f); } }, + // { "Boos", [](const FVector& pos) { return new OBoos(pos, &D_80164550[0][0], 0, 0, 0.8333333f); } }, + { "CheepCheep", [](const FVector& pos) { return new OCheepCheep(pos, OCheepCheep::CheepType::RACE, IPathSpan(0, 10)); } }, + { "Crab", [](const FVector& pos) { return new OCrab(FVector2D(0, 10), FVector2D(20, 10)); } }, + { "ChainChomp", [](const FVector& pos) { return new OChainChomp(); } }, + { "Flagpole", [](const FVector& pos) { return new OFlagpole(pos, 0); } }, + { "Hedgehog", [](const FVector& pos) { return new OHedgehog(pos, FVector2D(0, 10), 0); } }, + { "HotAirBalloon", [](const FVector& pos) { return new OHotAirBalloon(pos); } }, + { "Lakitu", [](const FVector& pos) { return new OLakitu(0, OLakitu::LakituType::STARTER); } }, + // { "Mole", [](const FVector& pos) { return new OMole(pos, ); } }, // <-- Needs a group + { "Chick Penguin", [](const FVector& pos) { return new OPenguin(pos, 0, OPenguin::PenguinType::CHICK, OPenguin::Behaviour::SLIDE3); } }, + { "Penguin", [](const FVector& pos) { return new OPenguin(pos, 0, OPenguin::PenguinType::ADULT, OPenguin::Behaviour::CIRCLE); } }, + { "Emperor Penguin", [](const FVector& pos) { return new OPenguin(pos, 0, OPenguin::PenguinType::EMPEROR, OPenguin::Behaviour::STRUT); } }, + { "Seagull", [](const FVector& pos) { return new OSeagull(pos); } }, + { "Thwomp", [](const FVector& pos) { return new OThwomp(pos.x, pos.z, 0, 1.0f, 0, 0, 2.0f); } }, + { "Trashbin", [](const FVector& pos) { return new OTrashBin(pos, IRotator(0, 0, 0), 1.0f, OTrashBin::Behaviour::MUNCHING); } }, + { "Trophy", [](const FVector& pos) { return new OTrophy(pos, OTrophy::TrophyType::GOLD_150, OTrophy::Behaviour::ROTATE2); } }, + { "Snowman", [](const FVector& pos) { return new OSnowman(pos); } }, + { "Podium", [](const FVector& pos) { return new OPodium(pos); } }, + { "Balloons", [](const FVector& pos) { return new OGrandPrixBalloons(pos); } }, + }; + + void ContentBrowserWindow::AddTrackContent() { + size_t i_track = 0; + for (auto& track : Tracks) { + if (!track.SceneFile.empty()) { // has scene file + std::string label = fmt::format("{}##{}", track.Name, i_track); + if (ImGui::Button(label.c_str())) { + SetCourseByClass(track.course); + gGamestateNext = RACING; + SetSceneFile(track.Archive, track.SceneFile); + break; + } + } else { // no scene file + std::string label = fmt::format("{} {}", ICON_FA_EXCLAMATION_TRIANGLE, track.Name); + if (ImGui::Button(label.c_str())) { + track.SceneFile = track.Dir + "/scene.json"; + SetCourseByClass(track.course); + SetSceneFile(track.Archive, track.SceneFile); + SaveLevel(); + Refresh = true; + } + } + + i_track += 1; + } + } + + void ContentBrowserWindow::RemoveCustomTracksFromTrackList() { + for (auto& track : Tracks) { + auto it = gWorldInstance.Courses.begin(); + while (it != gWorldInstance.Courses.end()) { + if (track.course == *it) { + delete *it; + it = gWorldInstance.Courses.erase(it); + } else { + ++it; + } + } + } + } + + void ContentBrowserWindow::AddActorContent() { + FVector pos = GetPositionAheadOfCamera(300.0f); + + size_t i_actor = 0; + for (const auto& actor : ActorList) { + if ((i_actor != 0) && (i_actor % 10 == 0)) { + } else { + ImGui::SameLine(); + } + + std::string label = fmt::format("{}##{}", actor.first, i_actor); + if (ImGui::Button(label.c_str())) { + gWorldInstance.AddActor(actor.second(pos)); + } + i_actor += 1; + } + } + + void ContentBrowserWindow::AddObjectContent() { + FVector pos = GetPositionAheadOfCamera(300.0f); + + size_t i_object = 0; + for (auto& object : ObjectList) { + if ((i_object != 0) && (i_object % 10 == 0)) { + } else { + ImGui::SameLine(); + } + + std::string label = fmt::format("{}##{}", object.first, i_object); + if (ImGui::Button(label.c_str())) { + gWorldInstance.AddObject(object.second(pos)); + } + i_object += 1; + } + } + + void ContentBrowserWindow::AddCustomContent() { + FVector pos = GetPositionAheadOfCamera(300.0f); + + size_t i_custom = 0; + for (const auto& file : Content) { + if ((i_custom != 0) && (i_custom % 10 == 0)) { + } else { + ImGui::SameLine(); + } + + std::string label = fmt::format("{}##{}", file, i_custom); + if (ImGui::Button(label.c_str())) { + int coll; + //printf("ContentBrowser.cpp: name: %s\n", test.c_str()); + std::string name = file.substr(file.find_last_of('/') + 1); + auto actor = gWorldInstance.AddStaticMeshActor(name, FVector(pos), IRotator(0, 0, 0), FVector(1, 1, 1), "__OTR__" + file, &coll); + // This is required because ptr gets cleaned up. + actor->Model = "__OTR__" + file; + + } + i_custom += 1; + } + } + + // Finds modded archives only. For discovering tracks + void ContentBrowserWindow::FindTracks() { + auto manager = GameEngine::Instance->context->GetResourceManager()->GetArchiveManager(); + + auto ptr2 = manager->ListDirectories("tracks/*"); + if (ptr2) { + auto dirs = *ptr2; + + for (const std::string& dir : dirs) { + std::string name = dir.substr(dir.find_last_of('/') + 1); + std::string sceneFile = dir + "/scene.json"; + std::string minimapFile = dir + "/minimap.png"; + if (manager->HasFile(sceneFile)) { + auto archive = manager->GetArchiveFromFile(sceneFile); + + Course* course = new Course(); + course->LoadO2R(dir); + gWorldInstance.Courses.push_back(course); + LoadLevel(archive, course, sceneFile); + LoadMinimap(archive, course, minimapFile); + Tracks.push_back({course, sceneFile, name, dir, archive}); + } else { + const std::string file = dir + "/data_track_sections"; + + if (manager->HasFile(file)) { + + Course* course = new Course(); + course->Id = (std::string("mods:") + name).c_str(); + course->Props.SetText(course->Props.Name, name.c_str(), sizeof(course->Props.Name)); + course->Props.SetText(course->Props.DebugName, name.c_str(), sizeof(course->Props.Name)); + + auto archive = manager->GetArchiveFromFile(file); + Tracks.push_back({course, "", name, dir, archive}); + } else { + printf("ContentBrowser.cpp: Track '%s' missing required track files. Cannot add to game\n Missing %s/data_track_sections file\n", name.c_str(), dir.c_str()); + } + + } + } + } + } + + void ContentBrowserWindow::FindContent() { + auto ptr = GameEngine::Instance->context->GetResourceManager()->GetArchiveManager()->ListFiles({"hmintro/*", "*tracks/*","actors/*", "objects/*"}, {""}); + if (ptr) { + auto files = *ptr; + for (const auto& file : files) { + if (file.find("/mat_") != std::string::npos) { + continue; + } else if (file.size() >= 6 && file.substr(file.size() - 6, 5) == "_tri_" && isdigit(file.back())) { + // ends with _tri_# + continue; + } else if (file.find("_vtx_") != std::string::npos) { + // Has _vtx_ + continue; + } else if (file.find('.') != std::string::npos) { + // File has an extension + continue; + } + + Content.push_back(file); + } + } + } +} diff --git a/src/port/ui/ContentBrowser.h b/src/port/ui/ContentBrowser.h new file mode 100644 index 000000000..f077f7283 --- /dev/null +++ b/src/port/ui/ContentBrowser.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include "engine/courses/Course.h" + +namespace Editor { +class ContentBrowserWindow : public Ship::GuiWindow { +public: + using Ship::GuiWindow::GuiWindow; + ~ContentBrowserWindow(); + + struct Tracks { + Course* course; + std::string SceneFile; + std::string Name; + std::string Dir; // Directory + std::shared_ptr Archive; + }; + + std::vector Tracks; + + std::vector Content; + + bool Refresh = true; + + bool ActorContent = false; + bool ObjectContent = false; + bool CustomContent = false; + bool TrackContent = false; +protected: + void InitElement() override {}; + void DrawElement() override; + void UpdateElement() override {}; + void AddTrackContent(); + void RemoveCustomTracksFromTrackList(); // Prevents duplicate courses being added to World->Courses array + void AddActorContent(); + void AddObjectContent(); + void AddCustomContent(); + void FindTracks(); + void FindContent(); + void FolderButton(const char* label, bool& contentFlag, const ImVec2& size = ImVec2(80, 32)); +}; +} diff --git a/src/port/ui/FreecamWindow.cpp b/src/port/ui/FreecamWindow.cpp index b5a4a0ba4..162bc4421 100644 --- a/src/port/ui/FreecamWindow.cpp +++ b/src/port/ui/FreecamWindow.cpp @@ -65,7 +65,7 @@ void RegisterFreecamWidgets() { mPortMenu->AddWidget(path, "Keyboard: Move: W,A,S,D, Up: Space, Down: Shift\n Faster: Ctrl, Look: Right-mouse button\n Target Player Mode: F, Next: M, Previous: N", WIDGET_TEXT); mPortMenu->AddWidget(path, "Controller: Up: A, Down: B, Faster: Z\n Target Player Mode: R, Next: Right DPad, Previous: Left DPad\n Driving Mode: L and R Buttons", WIDGET_TEXT); - mPortMenu->AddWidget(path, "Enable Flycam", WIDGET_CVAR_CHECKBOX) + mPortMenu->AddWidget(path, "Enable Freecam", WIDGET_CVAR_CHECKBOX) .CVar("gFreecam") .Options(UIWidgets::CheckboxOptions({{ .tooltip = "Allows you to fly around the course"}})); diff --git a/src/port/ui/GameInfoWindow.cpp b/src/port/ui/GameInfoWindow.cpp deleted file mode 100644 index d7a9ecf2d..000000000 --- a/src/port/ui/GameInfoWindow.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "GameInfoWindow.h" -#include "UIWidgets.h" -#include "libultraship/src/Context.h" - -#include -#include -#include "spdlog/spdlog.h" -#include -#include - -extern "C" { -#include "../../../src/main.h" -#include "networking/networking.h" -} - -namespace GameInfo { -GameInfoWindow::~GameInfoWindow() { - SPDLOG_TRACE("destruct game info window"); -} - -void GameInfoWindow::InitElement() { -} - -static s32 sReadyUpBool = false; - -void GameInfoWindow::DrawElement() { - const float framerate = ImGui::GetIO().Framerate; - const float deltatime = ImGui::GetIO().DeltaTime; - ImGui::PushStyleColor(ImGuiCol_Border, ImVec4(0, 0, 0, 0)); - - static char username[NETWORK_USERNAME_LENGTH] = "TestUser"; - - ImGui::Text("Username:"); - ImGui::InputText("##edit", username, IM_ARRAYSIZE(username)); - - static char address[32] = "127.0.0.1:64010"; - static char addressCopy[32]; - strncpy(addressCopy, address, sizeof(addressCopy)); - addressCopy[sizeof(addressCopy) - 1] = '\0'; // Ensure null termination - - ImGui::Text("Host:"); - ImGui::InputText("##edit3", addressCopy, IM_ARRAYSIZE(addressCopy)); - - if (ImGui::Button("Connect!")) { - char* ip = NULL; - uint16_t port = 0; - - char* token = strtok(addressCopy, ":"); - ip = token; - - token = strtok(NULL, ":"); - if (token != NULL) { - port = (uint16_t) atoi(token); - } - - gNetwork.enabled = true; - ConnectToServer(ip, port, username); - } - - char buttonLabel[32]; - - if (sReadyUpBool) { - strcpy(buttonLabel, "Lets Go!"); - } else { - strcpy(buttonLabel, "Ready Up!"); - } - - if (ImGui::Button(buttonLabel)) { - sReadyUpBool = !sReadyUpBool; - networking_ready_up(sReadyUpBool); - } - - if (gGamestate == RACING) { - - ImGui::Text("Player %f, %f, %f", gPlayers[0].pos[0], gPlayers[0].pos[1], gPlayers[0].pos[2]); - - for (int i = 0; i < NUM_PLAYERS; i++) { - ImGui::Text("Player %d: type: %X, char: %d, rank: %d, hasAuthority: %d", i, gPlayers[i].type, - gPlayers[i].characterId, gPlayers[i].currentRank, gPlayers[i].nHasAuthority); - } - } - ImGui::PopStyleColor(); -} - -void GameInfoWindow::UpdateElement() { -} -} // namespace GameInfo diff --git a/src/port/ui/GameInfoWindow.h b/src/port/ui/GameInfoWindow.h deleted file mode 100644 index 384cbe507..000000000 --- a/src/port/ui/GameInfoWindow.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include - -namespace GameInfo { -class GameInfoWindow : public Ship::GuiWindow { - public: - using Ship::GuiWindow::GuiWindow; - ~GameInfoWindow(); - - private: - void InitElement() override; - void DrawElement() override; - void UpdateElement() override; -}; -} // namespace GameInfo diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp index bbaa97454..56a814de7 100644 --- a/src/port/ui/ImguiUI.cpp +++ b/src/port/ui/ImguiUI.cpp @@ -1,9 +1,13 @@ #include "ImguiUI.h" #include "UIWidgets.h" #include "ResolutionEditor.h" -#include "GameInfoWindow.h" #include "MultiplayerWindow.h" #include "FreecamWindow.h" +#include "Tools.h" +#include "SceneExplorer.h" +#include "Properties.h" +#include "TrackProperties.h" +#include "ContentBrowser.h" #include #include @@ -30,8 +34,12 @@ std::shared_ptr mConsoleWindow; std::shared_ptr mStatsWindow; std::shared_ptr mInputEditorWindow; std::shared_ptr mGfxDebuggerWindow; -std::shared_ptr mGameInfoWindow; std::shared_ptr mMultiplayerWindow; +std::shared_ptr mToolsWindow; +std::shared_ptr mSceneExplorerWindow; +std::shared_ptr mPropertiesWindow; +std::shared_ptr mTrackPropertiesWindow; +std::shared_ptr mContentBrowserWindow; void SetupGuiElements() { auto gui = Ship::Context::GetInstance()->GetWindow()->GetGui(); @@ -47,11 +55,6 @@ void SetupGuiElements() { SPDLOG_ERROR("Could not find multiplayer window"); } - mGameInfoWindow = gui->GetGuiWindow("GameInfo"); - if (mGameInfoWindow == nullptr) { - SPDLOG_ERROR("Could not find game info window"); - } - mStatsWindow = gui->GetGuiWindow("Stats"); if (mStatsWindow == nullptr) { SPDLOG_ERROR("Could not find stats window"); @@ -73,15 +76,33 @@ void SetupGuiElements() { SPDLOG_ERROR("Could not find input GfxDebuggerWindow"); } - mGameInfoWindow = std::make_shared("gGameInfoEnabled", "Game Info"); - gui->AddGuiWindow(mGameInfoWindow); + mToolsWindow = std::make_shared("gEditorEnabled", "Tools", ImVec2(100, 100), + (ImGuiWindowFlags_NoTitleBar)); + gui->AddGuiWindow(mToolsWindow); + + mSceneExplorerWindow = std::make_shared("gEditorEnabled", "Scene Explorer"); + gui->AddGuiWindow(mSceneExplorerWindow); + + mPropertiesWindow = std::make_shared("gEditorEnabled", "Properties"); + gui->AddGuiWindow(mPropertiesWindow); + + mTrackPropertiesWindow = std::make_shared("gEditorEnabled", "Track Properties"); + gui->AddGuiWindow(mTrackPropertiesWindow); + + mContentBrowserWindow = + std::make_shared("gEditorEnabled", "Content Browser"); + gui->AddGuiWindow(mContentBrowserWindow); } void Destroy() { - mGameInfoWindow = nullptr; mConsoleWindow = nullptr; mStatsWindow = nullptr; mInputEditorWindow = nullptr; + mToolsWindow = nullptr; + mSceneExplorerWindow = nullptr; + mPropertiesWindow = nullptr; + mTrackPropertiesWindow = nullptr; + mContentBrowserWindow = nullptr; } std::string GetWindowButtonText(const char* text, bool menuOpen) { diff --git a/src/port/ui/MenuTypes.h b/src/port/ui/MenuTypes.h index 72ac48846..653c6955d 100644 --- a/src/port/ui/MenuTypes.h +++ b/src/port/ui/MenuTypes.h @@ -7,6 +7,8 @@ typedef enum { DISABLE_FOR_FREE_CAM_ON, DISABLE_FOR_FREE_CAM_OFF, + DISABLE_FOR_EDITOR_ON, + DISABLE_FOR_EDITOR_OFF, DISABLE_FOR_DEBUG_MODE_OFF, DISABLE_FOR_NO_VSYNC, DISABLE_FOR_NO_WINDOWED_FULLSCREEN, diff --git a/src/port/ui/MultiplayerWindow.cpp b/src/port/ui/MultiplayerWindow.cpp index 51b6fbf11..a7552bcd3 100644 --- a/src/port/ui/MultiplayerWindow.cpp +++ b/src/port/ui/MultiplayerWindow.cpp @@ -152,13 +152,13 @@ void DrawColumn2(WidgetInfo& info) { } void RegisterMultiplayerWidgets() { - mPortMenu->AddSidebarEntry("Enhancements", "Multiplayer", 2); - WidgetPath path = { "Enhancements", "Multiplayer", SECTION_COLUMN_1 }; - mPortMenu->AddWidget(path, "Multi Custom 1", WIDGET_CUSTOM) - .CustomFunction(DrawColumn1); - path.column = SECTION_COLUMN_2; - mPortMenu->AddWidget(path, "Multi Custom 2", WIDGET_CUSTOM) - .CustomFunction(DrawColumn2); + // mPortMenu->AddSidebarEntry("Enhancements", "Multiplayer", 2); + // WidgetPath path = { "Enhancements", "Multiplayer", SECTION_COLUMN_1 }; + // mPortMenu->AddWidget(path, "Multi Custom 1", WIDGET_CUSTOM) + // .CustomFunction(DrawColumn1); + // path.column = SECTION_COLUMN_2; + // mPortMenu->AddWidget(path, "Multi Custom 2", WIDGET_CUSTOM) + // .CustomFunction(DrawColumn2); } static RegisterMenuInitFunc initFunc(RegisterMultiplayerWidgets); diff --git a/src/port/ui/PortMenu.cpp b/src/port/ui/PortMenu.cpp index 791e2ac73..b21ddc1fa 100644 --- a/src/port/ui/PortMenu.cpp +++ b/src/port/ui/PortMenu.cpp @@ -91,6 +91,14 @@ void PortMenu::AddSettings() { // General Settings AddSidebarEntry("Settings", "General", 3); WidgetPath path = { "Settings", "General", SECTION_COLUMN_1 }; + + static bool isFullscreen = false; + AddWidget(path, "Toggle Fullscreen", WIDGET_CHECKBOX) + .ValuePointer(&isFullscreen) + .PreFunc([](WidgetInfo& info) { isFullscreen = Ship::Context::GetInstance()->GetWindow()->IsFullscreen(); }) + .Callback([](WidgetInfo& info) { Ship::Context::GetInstance()->GetWindow()->ToggleFullscreen(); }) + .Options(CheckboxOptions().Tooltip("Toggles Fullscreen On/Off.")); + AddWidget(path, "Menu Theme", WIDGET_CVAR_COMBOBOX) .CVar("gSettings.Menu.Theme") .Options(ComboboxOptions() @@ -179,7 +187,6 @@ void PortMenu::AddSettings() { // Graphics Settings static int32_t maxFps; - static bool isFullscreen = false; const char* tooltip = ""; if (Ship::Context::GetInstance()->GetWindow()->GetWindowBackend() == Ship::WindowBackend::FAST3D_DXGI_DX11) { maxFps = 360; @@ -193,11 +200,8 @@ void PortMenu::AddSettings() { } path.sidebarName = "Graphics"; AddSidebarEntry("Settings", "Graphics", 3); - AddWidget(path, "Toggle Fullscreen", WIDGET_CHECKBOX) - .ValuePointer(&isFullscreen) - .PreFunc([](WidgetInfo& info) { isFullscreen = Ship::Context::GetInstance()->GetWindow()->IsFullscreen(); }) - .Callback([](WidgetInfo& info) { Ship::Context::GetInstance()->GetWindow()->ToggleFullscreen(); }) - .Options(CheckboxOptions().Tooltip("Toggles Fullscreen On/Off.")); + AddWidget(path, "Renderer API (Needs reload)", WIDGET_VIDEO_BACKEND); + #ifndef __APPLE__ AddWidget(path, "Internal Resolution: %.0f%%", WIDGET_CVAR_SLIDER_FLOAT) .CVar(CVAR_INTERNAL_RESOLUTION) @@ -240,21 +244,21 @@ void PortMenu::AddSettings() { .DefaultValue(1)); #endif - AddWidget(path, "Current FPS: %d", WIDGET_CVAR_SLIDER_INT) - .CVar("gInterpolationFPS") - .Callback([](WidgetInfo& info) { - int32_t defaultValue = std::static_pointer_cast(info.options)->defaultValue; - if (CVarGetInteger(info.cVar, defaultValue) == defaultValue) { - info.name = "Current FPS: Original (%d)"; - } else { - info.name = "Current FPS: %d"; - } - }) - .PreFunc([](WidgetInfo& info) { - if (mPortMenu->disabledMap.at(DISABLE_FOR_MATCH_REFRESH_RATE_ON).active) - info.activeDisables.push_back(DISABLE_FOR_MATCH_REFRESH_RATE_ON); - }) - .Options(IntSliderOptions().Tooltip(tooltip).Min(20).Max(maxFps).DefaultValue(20)); + // AddWidget(path, "Current FPS: %d", WIDGET_CVAR_SLIDER_INT) + // .CVar("gInterpolationFPS") + // .Callback([](WidgetInfo& info) { + // int32_t defaultValue = std::static_pointer_cast(info.options)->defaultValue; + // if (CVarGetInteger(info.cVar, defaultValue) == defaultValue) { + // info.name = "Current FPS: Original (%d)"; + // } else { + // info.name = "Current FPS: %d"; + // } + // }) + // .PreFunc([](WidgetInfo& info) { + // if (mPortMenu->disabledMap.at(DISABLE_FOR_MATCH_REFRESH_RATE_ON).active) + // info.activeDisables.push_back(DISABLE_FOR_MATCH_REFRESH_RATE_ON); + // }) + // .Options(IntSliderOptions().Tooltip(tooltip).Min(20).Max(maxFps).DefaultValue(20)); AddWidget(path, "Match Refresh Rate", WIDGET_BUTTON) .Callback([](WidgetInfo& info) { int hz = Ship::Context::GetInstance()->GetWindow()->GetCurrentRefreshRate(); @@ -280,7 +284,6 @@ void PortMenu::AddSettings() { .Min(0) .Max(360) .DefaultValue(80)); - AddWidget(path, "Renderer API (Needs reload)", WIDGET_VIDEO_BACKEND); AddWidget(path, "Enable Vsync", WIDGET_CVAR_CHECKBOX) .CVar(CVAR_VSYNC_ENABLED) .PreFunc([](WidgetInfo& info) { info.isHidden = mPortMenu->disabledMap.at(DISABLE_FOR_NO_VSYNC).active; }) @@ -364,6 +367,19 @@ void PortMenu::AddEnhancements() { .CVar("gMinHeight") .Options(FloatSliderOptions().Min(-50.0f).Max(50.0f).DefaultValue(0.0f) .Tooltip("When Disable Wall Collision are enable what is the minimal height you can get.")); + + path = { "Enhancements", "HM64 Lab", SECTION_COLUMN_1 }; + AddSidebarEntry("Enhancements", "HM64 Lab", 4); + AddWidget(path, "Enable HM64 Labs", WIDGET_CVAR_CHECKBOX) + .CVar("gEditorEnabled") + .Callback([](WidgetInfo& info) { + Ship::Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Tools")->ToggleVisibility(); + Ship::Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Scene Explorer")->ToggleVisibility(); + Ship::Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Content Browser")->ToggleVisibility(); + Ship::Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Track Properties")->ToggleVisibility(); + Ship::Context::GetInstance()->GetWindow()->GetGui()->GetGuiWindow("Properties")->ToggleVisibility(); + }) + .Options(UIWidgets::CheckboxOptions({{ .tooltip = "Edit the universe!"}})); } #ifdef __SWITCH__ @@ -409,14 +425,6 @@ void PortMenu::AddDevTools() { "Enables the Gfx Debugger window, allowing you to input commands. Type help for some examples")) .WindowName("GfxDebuggerWindow"); - path = { "Developer", "Game Info", SECTION_COLUMN_1 }; - AddSidebarEntry("Developer", "Game Info", 1); - AddWidget(path, "Popout Game Info", WIDGET_WINDOW_BUTTON) - .CVar("gGameInfoEnabled") - .Options(ButtonOptions().Tooltip( - "Shows the game info window, contains player and actor information")) - .WindowName("GameInfo"); - path = { "Developer", "Stats", SECTION_COLUMN_1 }; AddSidebarEntry("Developer", "Stats", 1); AddWidget(path, "Popout Stats", WIDGET_WINDOW_BUTTON) @@ -457,9 +465,13 @@ void PortMenu::InitElement() { disabledMap = { { DISABLE_FOR_FREE_CAM_ON, - { [](disabledInfo& info) -> bool { return CVarGetInteger("gFreecam", 0); }, "Free Cam is Enabled" } }, + { [](disabledInfo& info) -> bool { return CVarGetInteger("gFreecam", 0); }, "Freecam is Enabled" } }, { DISABLE_FOR_FREE_CAM_OFF, - { [](disabledInfo& info) -> bool { return !CVarGetInteger("gFreecam", 0); }, "Free Cam is Disabled" } }, + { [](disabledInfo& info) -> bool { return !CVarGetInteger("gFreecam", 0); }, "Freecam is Disabled" } }, + { DISABLE_FOR_EDITOR_ON, + { [](disabledInfo& info) -> bool { return CVarGetInteger("gEditorEnabled", 0); }, "Editor is Enabled" } }, + { DISABLE_FOR_EDITOR_OFF, + { [](disabledInfo& info) -> bool { return !CVarGetInteger("gEditorEnabled", 0); }, "Editor is Disabled" } }, { DISABLE_FOR_DEBUG_MODE_OFF, { [](disabledInfo& info) -> bool { return !CVarGetInteger("gEnableDebugMode", 0); }, "Debug Mode is Disabled" } }, diff --git a/src/port/ui/Properties.cpp b/src/port/ui/Properties.cpp new file mode 100644 index 000000000..0368231d9 --- /dev/null +++ b/src/port/ui/Properties.cpp @@ -0,0 +1,107 @@ +#include "Properties.h" +#include "port/ui/PortMenu.h" +#include "UIWidgets.h" +#include "libultraship/src/Context.h" + +#include +#include +#include +#include +#include "spdlog/formatter.h" +#include +#include + +#include "engine/editor/Editor.h" +#include "port/Game.h" +#include "src/engine/World.h" + +namespace Editor { + + PropertiesWindow::~PropertiesWindow() { + SPDLOG_TRACE("destruct properties window"); + } + + void PropertiesWindow::DrawElement() { + GameObject* selected = gEditor.eObjectPicker.eGizmo._selected; + + if (nullptr == selected) { + return; + } + + ImGui::Begin("Properties"); + + if (selected->Pos) { + ImGui::Text("Location"); + ImGui::SameLine(); + + bool positionChanged = ImGui::DragFloat3("##Location", &selected->Pos->x, 0.1f); + + ImGui::SameLine(); + if (ImGui::Button(ICON_FA_UNDO "##ResetPos")) { + selected->Pos->x = 0.0f; + selected->Pos->y = 0.0f; + selected->Pos->z = 0.0f; + positionChanged = true; // also counts as a change + } + + if (positionChanged) { + gEditor.eObjectPicker.eGizmo.Pos = *selected->Pos; + } + } + + if (selected->Rot) { + ImGui::Text("Rotation"); + ImGui::SameLine(); + + // Convert to temporary int values (to prevent writing 32bit values to 16bit variables) + int rot[3] = { + selected->Rot->pitch, + selected->Rot->yaw, + selected->Rot->roll + }; + + if (ImGui::DragInt3("##Rotation", rot, 5.0f)) { + for (int i = 0; i < 3; i++) { + // Wrap around 0–65535 + rot[i] = (rot[i] % 65536 + 65536) % 65536; + } + + selected->Rot->pitch = static_cast(rot[0]); + selected->Rot->yaw = static_cast(rot[1]); + selected->Rot->roll = static_cast(rot[2]); + } + + ImGui::SameLine(); + if (ImGui::Button(ICON_FA_UNDO "##ResetRot")) { + selected->Rot->pitch = 0; + selected->Rot->yaw = 0; + selected->Rot->roll = 0; + } + } + + if (selected->Scale) { + ImGui::Text("Scale "); + ImGui::SameLine(); + + ImGui::DragFloat3("##Scale", &selected->Scale->x, 0.1f); + ImGui::SameLine(); + if (ImGui::Button(ICON_FA_UNDO "##ResetScale")) { + selected->Scale->x = 1.0f; + selected->Scale->y = 1.0f; + selected->Scale->z = 1.0f; + } + } + + if (selected->Collision == GameObject::CollisionType::BOUNDING_BOX) { + ImGui::Separator(); + ImGui::Text("Editor Bounding Box Size:"); + ImGui::PushID("BoundingBoxSize"); + ImGui::DragFloat("##BoundingBoxSize", &selected->BoundingBoxSize, 0.1f); + ImGui::SameLine(); + if (ImGui::Button(ICON_FA_UNDO)) { selected->BoundingBoxSize = 2.0f; } + ImGui::PopID(); + } + + ImGui::End(); + } +} \ No newline at end of file diff --git a/src/port/ui/Properties.h b/src/port/ui/Properties.h new file mode 100644 index 000000000..260f89179 --- /dev/null +++ b/src/port/ui/Properties.h @@ -0,0 +1,17 @@ +#pragma once + +#include +#include "port/Game.h" + + +namespace Editor { +class PropertiesWindow : public Ship::GuiWindow { +public: + using Ship::GuiWindow::GuiWindow; + ~PropertiesWindow(); +protected: + void InitElement() override {}; + void DrawElement() override; + void UpdateElement() override {}; +}; +} \ No newline at end of file diff --git a/src/port/ui/ResolutionEditor.cpp b/src/port/ui/ResolutionEditor.cpp index c1fa6f263..8da2643ad 100644 --- a/src/port/ui/ResolutionEditor.cpp +++ b/src/port/ui/ResolutionEditor.cpp @@ -531,7 +531,7 @@ void UpdateResolutionVars() { bool IsDroppingFrames() { // a rather imprecise way of checking for frame drops. // but it's mostly there to inform the player of large drops. - const short targetFPS = CVarGetInteger("gInterpolationFPS", 20); + const short targetFPS = CVarGetInteger("gInterpolationFPS", 30); const float threshold = targetFPS / 20.0f + 4.1f; return ImGui::GetIO().Framerate < targetFPS - threshold; } diff --git a/src/port/ui/SceneExplorer.cpp b/src/port/ui/SceneExplorer.cpp new file mode 100644 index 000000000..79b9c08e0 --- /dev/null +++ b/src/port/ui/SceneExplorer.cpp @@ -0,0 +1,40 @@ +#include "SceneExplorer.h" +#include "port/ui/PortMenu.h" +#include "UIWidgets.h" +#include "libultraship/src/Context.h" + +#include +#include +#include +#include +#include "spdlog/formatter.h" +#include +#include + +#include "engine/editor/Editor.h" +#include "port/Game.h" + +namespace Editor { + + SceneExplorerWindow::~SceneExplorerWindow() { + SPDLOG_TRACE("destruct scene explorer window"); + } + + void SceneExplorerWindow::DrawElement() { + ImGui::Text("Scene"); + + size_t id = 0; // id for now because we don't have unique names atm + for (auto& object : gEditor.eGameObjects) { + // Convert const char* to std::string before formatting + std::string objectName = object->Name ? object->Name : "Obj"; + + // Ensure unique label using index + std::string label = fmt::format("{}##{}", objectName, id); + + if (ImGui::Button(label.c_str())) { + gEditor.SelectObjectFromSceneExplorer(object); + } + id += 1; + } + } +} diff --git a/src/port/ui/SceneExplorer.h b/src/port/ui/SceneExplorer.h new file mode 100644 index 000000000..f9e926148 --- /dev/null +++ b/src/port/ui/SceneExplorer.h @@ -0,0 +1,17 @@ +#pragma once + +#include +#include "port/Game.h" + + +namespace Editor { +class SceneExplorerWindow : public Ship::GuiWindow { +public: + using Ship::GuiWindow::GuiWindow; + ~SceneExplorerWindow(); +protected: + void InitElement() override {}; + void DrawElement() override; + void UpdateElement() override {}; +}; +} diff --git a/src/port/ui/Tools.cpp b/src/port/ui/Tools.cpp new file mode 100644 index 000000000..9bfdda26b --- /dev/null +++ b/src/port/ui/Tools.cpp @@ -0,0 +1,160 @@ +#include "Tools.h" +#include "port/ui/PortMenu.h" +#include "UIWidgets.h" +#include "libultraship/src/Context.h" + +#include +#include +#include +#include +#include "spdlog/formatter.h" +#include +#include +#include "port/Game.h" +#include "engine/editor/SceneManager.h" + +extern "C" { +#include "code_800029B0.h" +#include "code_80057C60.h" +} + +namespace Editor { + + ToolsWindow::~ToolsWindow() { + SPDLOG_TRACE("destruct tools window"); + } + + void ToolsWindow::InitElement() { + + } + + void ToolsWindow::DrawElement() { + static bool toggleGroundSnap = CVarGetInteger("gEditorSnapToGround", 0); + static bool toggleBoundary = CVarGetInteger("gEditorBoundary", 0); + static int selectedTool = 0; // 0: Move, 1: Rotate, 2: Scale + + // Save button + if (ImGui::Button(ICON_FA_FLOPPY_O, ImVec2(50, 25))) { + SaveLevel(); + } + + ImGui::SameLine(); + + ImVec4 defaultColor = ImGui::GetStyle().Colors[ImGuiCol_Button]; + // Function to check and highlight the selected button + auto ToolButton = [&](const char* label, int id) { + bool isSelected = (selectedTool == id); + ImGui::PushStyleColor(ImGuiCol_Button, isSelected ? ImVec4(0.4f, 0.7f, 0.9f, 1.0f) : defaultColor); + + if (ImGui::Button(label, ImVec2(50, 25))) { + selectedTool = id; // Set the selected tool + CVarSetInteger("eGizmoMode", id); + } + + ImGui::PopStyleColor(); + }; + + // Draw buttons + ToolButton(ICON_FA_ARROWS, 0); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Translate"); + ImGui::EndTooltip(); + } + ImGui::SameLine(); + ToolButton(ICON_FA_REPEAT, 1); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Rotate"); + ImGui::EndTooltip(); + } + ImGui::SameLine(); + ToolButton(ICON_FA_EXPAND, 2); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Scale"); + ImGui::EndTooltip(); + } + + ImGui::SameLine(); + + // Snap to ground + ImGui::PushStyleColor(ImGuiCol_Button, toggleGroundSnap ? ImVec4(0.4f, 0.7f, 0.9f, 1.0f) : defaultColor); + + if (ImGui::Button(ICON_FA_LINK, ImVec2(50, 25))) { + toggleGroundSnap = !toggleGroundSnap; + + CVarSetInteger("gEditorSnapToGround", toggleGroundSnap); + } + ImGui::PopStyleColor(); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Snap object to surface"); + ImGui::EndTooltip(); + } + + ImGui::SameLine(); + + // Boundary + ImGui::PushStyleColor(ImGuiCol_Button, toggleBoundary ? ImVec4(0.4f, 0.7f, 0.9f, 1.0f) : defaultColor); + if (ImGui::Button(toggleBoundary ? "Map Boundaries" : "Map Boundaries", ImVec2(125, 25))) { + toggleBoundary = !toggleBoundary; + + CVarSetInteger("gEditorBoundary", toggleBoundary); + } + ImGui::PopStyleColor(); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Stops translated objects from leaving the track area."); + ImGui::Text("This helps prevent moving objects really far away off the level."); + ImGui::EndTooltip(); + } + + ImGui::SameLine(); + + // Toggle player human/ai + bool playerToggle = (gPlayerOne->type & PLAYER_KART_AI); + ImGui::PushStyleColor(ImGuiCol_Button, defaultColor); + if (ImGui::Button(playerToggle ? ICON_FA_DESKTOP : ICON_FA_GAMEPAD, ImVec2(50, 25))) { + if (playerToggle) { + gPlayerOne->type &= ~PLAYER_KART_AI; + } else { + gPlayerOne->type |= PLAYER_KART_AI; + } + + } + ImGui::PopStyleColor(); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Toggle player 1's AI or human player state."); + ImGui::EndTooltip(); + } + + ImGui::SameLine(); + + // Play/pause button + ImGui::PushStyleColor(ImGuiCol_Button, defaultColor); + if (ImGui::Button(gIsEditorPaused ? ICON_FA_PLAY : ICON_FA_PAUSE, ImVec2(50, 25))) { + + gIsEditorPaused = !gIsEditorPaused; + } + ImGui::PopStyleColor(); + + ImGui::SameLine(); + + // Toggle hud + ImGui::PushStyleColor(ImGuiCol_Button, gIsHUDVisible ? ImVec4(0.4f, 0.7f, 0.9f, 1.0f) : defaultColor); + if (ImGui::Button("Toggle HUD", ImVec2(150, 25))) { + + gIsHUDVisible = !gIsHUDVisible; + } + ImGui::PopStyleColor(); + + ImGui::SameLine(); + + // Delete + if (ImGui::Button(ICON_FA_TRASH_O, ImVec2(50, 25))) { + gEditor.DeleteObject(); + } + } +} diff --git a/src/port/ui/Tools.h b/src/port/ui/Tools.h new file mode 100644 index 000000000..b1afccf18 --- /dev/null +++ b/src/port/ui/Tools.h @@ -0,0 +1,16 @@ +#pragma once + +#include + +namespace Editor { +class ToolsWindow : public Ship::GuiWindow { +public: + using Ship::GuiWindow::GuiWindow; + + ~ToolsWindow(); +protected: + void InitElement() override; + void DrawElement() override; + void UpdateElement() override {}; +}; +} diff --git a/src/port/ui/TrackProperties.cpp b/src/port/ui/TrackProperties.cpp new file mode 100644 index 000000000..9f1f45198 --- /dev/null +++ b/src/port/ui/TrackProperties.cpp @@ -0,0 +1,283 @@ +#include "TrackProperties.h" +#include "port/ui/PortMenu.h" +#include "UIWidgets.h" +#include "libultraship/src/Context.h" + +#include +#include +#include +#include +#include "spdlog/formatter.h" +#include +#include + +#include "port/Game.h" + +extern "C" { +#include "code_800029B0.h" +#include "sounds.h" +#include "external.h" +#include "render_courses.h" +#include "render_objects.h" +} + +namespace Editor { + + TrackPropertiesWindow::~TrackPropertiesWindow() { + SPDLOG_TRACE("destruct track properties window"); + } + + void TrackPropertiesWindow::DrawElement() { + static char idBuffer[256] = "mk:mario_raceway"; + static char nameBuffer[256] = "Mario Raceway"; + static char debugNameBuffer[256] = "m circuit"; + static char lengthBuffer[256] = "567m"; + + ImGui::InputText("ID", idBuffer, IM_ARRAYSIZE(idBuffer)); + ImGui::InputText("Name", gWorldInstance.CurrentCourse->Props.Name, IM_ARRAYSIZE(nameBuffer)); + ImGui::InputText("Debug Name", gWorldInstance.CurrentCourse->Props.DebugName, IM_ARRAYSIZE(debugNameBuffer)); + ImGui::InputText("Course Length", gWorldInstance.CurrentCourse->Props.CourseLength, IM_ARRAYSIZE(lengthBuffer)); + ImGui::InputFloat("Water Level", &gWorldInstance.CurrentCourse->Props.WaterLevel); + + if (ImGui::CollapsingHeader("Camera")) { + ImGui::InputFloat("Near Perspective", &gWorldInstance.CurrentCourse->Props.NearPersp); + ImGui::InputFloat("Far Perspective", &gWorldInstance.CurrentCourse->Props.FarPersp); + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text("Controls the far clipping distance for perspective rendering."); + ImGui::Text("Disable culling enhancement needs to be off to see a difference."); + ImGui::EndTooltip(); + } + } + + if (ImGui::CollapsingHeader("Environment")) { + TrackPropertiesWindow::DrawLight(); + } + + if (ImGui::CollapsingHeader("AI")) { + + ImGui::InputFloat("AI Max Separation", &gWorldInstance.CurrentCourse->Props.AIMaximumSeparation); + ImGui::InputFloat("AI Min Separation", &gWorldInstance.CurrentCourse->Props.AIMinimumSeparation); + ImGui::InputInt("AI Steering Sensitivity", (int*)&gWorldInstance.CurrentCourse->Props.AISteeringSensitivity); + + ImGui::Separator(); + + for (size_t i = 0; i < 32; i++) { + ImGui::InputScalar(("Element " + std::to_string(i)).c_str(), ImGuiDataType_S16, &gWorldInstance.CurrentCourse->Props.AIDistance[i]); + } + } + + if (ImGui::CollapsingHeader("Random Junk")) { + for (size_t i = 0; i < 4; i++) { + ImGui::InputFloat(fmt::format("D_0D009418[{}]", i).c_str(), &gWorldInstance.CurrentCourse->Props.D_0D009418[i]); + } + + ImGui::Separator(); + + + for (size_t i = 0; i < 4; i++) { + ImGui::InputFloat(fmt::format("D_0D009568[{}]", i).c_str(), &gWorldInstance.CurrentCourse->Props.D_0D009568[i]); + } + + ImGui::Separator(); + + + for (size_t i = 0; i < 4; i++) { + ImGui::InputFloat(fmt::format("D_0D0096B8[{}]", i).c_str(), &gWorldInstance.CurrentCourse->Props.D_0D0096B8[i]); + } + + ImGui::Separator(); + + for (size_t i = 0; i < 4; i++) { + ImGui::InputFloat(fmt::format("D_0D009808[{}]", i).c_str(), &gWorldInstance.CurrentCourse->Props.D_0D009808[i]); + } + } + + float minimapColour[3]; + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Minimap.Colour, minimapColour); + + if (ImGui::CollapsingHeader("Minimap")) { + ImGui::Text("Position"); + ImGui::SameLine(); + + + if (ImGui::DragInt2("##MinimapPosition", &gWorldInstance.CurrentCourse->Props.Minimap.Pos[0].X, 1.0f)) { + } + ImGui::Text("P2 Position"); + ImGui::SameLine(); + if (ImGui::DragInt2("##MinimapPosition2p", &gWorldInstance.CurrentCourse->Props.Minimap.Pos[1].X, 1.0f)) { + } + + ImGui::Text("Player Markers"); + ImGui::SameLine(); + if (ImGui::DragInt2("##MinimapPlayers", &gWorldInstance.CurrentCourse->Props.Minimap.PlayerX, 1.0f)) { + } + + ImGui::Text("Player Scale Factor"); + ImGui::SameLine(); + if (ImGui::DragFloat("##MinimapScaleFactor", &gWorldInstance.CurrentCourse->Props.Minimap.PlayerScaleFactor, 0.0001f)) { + } + + ImGui::Text("Finishline"); + ImGui::SameLine(); + ImGui::DragFloat2("##MinimapFinishlineX", &gWorldInstance.CurrentCourse->Props.Minimap.FinishlineX, 1.0f); + + ImGui::Text("Colour"); + ImGui::SameLine(); + ImGui::ColorEdit3("##MinimapColour", minimapColour, 1.0f); + } + + FloatToRGB8(minimapColour, (u8*)&gWorldInstance.CurrentCourse->Props.Minimap.Colour); + + // Convert and pass to ImGui ColorEdit3 + float topRight[3], bottomRight[3], bottomLeft[3], topLeft[3]; + float floorTopRight[3], floorBottomRight[3], floorBottomLeft[3], floorTopLeft[3]; + + // Convert RGB8 (0-255) to float (0.0f to 1.0f) + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.TopRight, topRight); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.BottomRight, bottomRight); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.BottomLeft, bottomLeft); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.TopLeft, topLeft); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorTopRight, floorTopRight); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorBottomRight, floorBottomRight); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorBottomLeft, floorBottomLeft); + RGB8ToFloat((u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorTopLeft, floorTopLeft); + + if (ImGui::CollapsingHeader("Skybox")) { + ImGui::ColorEdit3("Skybox Top Right", topRight); + ImGui::ColorEdit3("Skybox Bottom Right", bottomRight); + ImGui::ColorEdit3("Skybox Bottom Left", bottomLeft); + ImGui::ColorEdit3("Skybox Top Left", topLeft); + ImGui::ColorEdit3("Skybox Floor Top Right", floorTopRight); + ImGui::ColorEdit3("Skybox Floor Bottom Right", floorBottomRight); + ImGui::ColorEdit3("Skybox Floor Bottom Left", floorBottomLeft); + ImGui::ColorEdit3("Skybox Floor Top Left", floorTopLeft); + } + + // Convert the modified float values back to RGB8 (0-255) + FloatToRGB8(topRight, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.TopRight); + FloatToRGB8(bottomRight, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.BottomRight); + FloatToRGB8(bottomLeft, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.BottomLeft); + FloatToRGB8(topLeft, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.TopLeft); + FloatToRGB8(floorTopRight, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorTopRight); + FloatToRGB8(floorBottomRight, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorBottomRight); + FloatToRGB8(floorBottomLeft, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorBottomLeft); + FloatToRGB8(floorTopLeft, (u8*)&gWorldInstance.CurrentCourse->Props.Skybox.FloorTopLeft); + + TrackPropertiesWindow::DrawMusic(); + } + + void TrackPropertiesWindow::DrawMusic() { + const char* items[] = { + "None", "Title Screen", "Main Menu", "Raceways Wario Stadium", "Moo Moo Farm / Yoshi Valley", + "Choco Mountain", "Koopa Troopa Beach", "Banshee Boardwalk", "Frappe Snowland", "Bowser's Castle", + "Kalimari Desert", "Start Grid GP/VS", "Final Lap Fanfare", "Finish 1st Place", "Finish 2nd-4th Place", + "Finish 5th-8th Place", "16", "Star Jingle", "Rainbow Road", "DK Jungle", "Game Over", "Toad's Turnpike", + "Start Grid Time Attack", "VS Battle Results", "Losing Results", "Battle Arenas", "Award Ceremony Buildup", + "Award Ceremony 1st-3rd", "Staff Roll", "Award Ceremony 4th-8th" + }; + + const char* currentItem = MusicSeqToString(gWorldInstance.CurrentCourse->Props.Sequence); // Get the current selected value's string + + if (ImGui::BeginCombo("Music Sequence", currentItem)) { + for (int i = 0; i < IM_ARRAYSIZE(items); ++i) { + bool isSelected = (currentItem == items[i]); + if (ImGui::Selectable(items[i], isSelected)) { + // Update the sequence when an option is selected + gWorldInstance.CurrentCourse->Props.Sequence = static_cast(i); + play_sequence(gWorldInstance.CurrentCourse->Props.Sequence); // Call play_sequence with the updated sequence + + // Update currentItem after selection is made + currentItem = items[i]; + } + if (isSelected) { + ImGui::SetItemDefaultFocus(); + } + } + ImGui::EndCombo(); + } + } + + // Enum to string conversion + const char* TrackPropertiesWindow::MusicSeqToString(MusicSeq seq) { + switch (seq) { + case MUSIC_SEQ_00: return "None"; + case MUSIC_SEQ_TITLE_SCREEN: return "Title Screen"; + case MUSIC_SEQ_MAIN_MENU: return "Main Menu"; + case MUSIC_SEQ_RACEWAYS_WARIO_STADIUM: return "Raceways Wario Stadium"; + case MUSIC_SEQ_MOO_MOO_FARM_YOSHI_VALLEY: return "Moo Moo Farm / Yoshi Valley"; + case MUSIC_SEQ_CHOCO_MOUNTAIN: return "Choco Mountain"; + case MUSIC_SEQ_KOOPA_TROOPA_BEACH: return "Koopa Troopa Beach"; + case MUSIC_SEQ_BANSHEE_BOARDWALK: return "Banshee Boardwalk"; + case MUSIC_SEQ_FRAPPE_SNOWLAND: return "Frappe Snowland"; + case MUSIC_SEQ_BOWSERS_CASTLE: return "Bowser's Castle"; + case MUSIC_SEQ_KALIMARI_DESERT: return "Kalimari Desert"; + case MUSIC_SEQ_START_GRID_GP_VS: return "Start Grid GP/VS"; + case MUSIC_SEQ_FINAL_LAP_FANFARE: return "Final Lap Fanfare"; + case MUSIC_SEQ_FINISH_1ST_PLACE: return "Finish 1st Place"; + case MUSIC_SEQ_FINISH_2ND_4TH_PLACE: return "Finish 2nd-4th Place"; + case MUSIC_SEQ_FINISH_5TH_8TH_PLACE: return "Finish 5th-8th Place"; + case MUSIC_SEQ_16: return "16"; + case MUSIC_SEQ_STAR_JINGLE: return "Star Jingle"; + case MUSIC_SEQ_RAINBOW_ROAD: return "Rainbow Road"; + case MUSIC_SEQ_DK_JUNGLE: return "DK Jungle"; + case MUSIC_SEQ_GAME_OVER: return "Game Over"; + case MUSIC_SEQ_TOADS_TURNPIKE: return "Toad's Turnpike"; + case MUSIC_SEQ_START_GIRD_TIME_ATTACK: return "Start Grid Time Attack"; + case MUSIC_SEQ_VS_BATTLE_RESULTS: return "VS Battle Results"; + case MUSIC_SEQ_LOSING_RESULTS: return "Losing Results"; + case MUSIC_SEQ_BATTLE_ARENAS: return "Battle Arenas"; + case MUSIC_SEQ_AWARD_CEREMONY_BUILDUP: return "Award Ceremony Buildup"; + case MUSIC_SEQ_AWARD_CEREMONY_1ST_3RD: return "Award Ceremony 1st-3rd"; + case MUSIC_SEQ_STAFF_ROLL: return "Staff Roll"; + case MUSIC_SEQ_AWARD_CEREMONY_4TH_8TH: return "Award Ceremony 4th-8th"; + default: return "None"; + } + } + + void TrackPropertiesWindow::DrawLight() { + // Convert and pass to ImGui ColorEdit3 + + + for (int i = 0; i < 2; ++i) { + float ambient[3], diffuse[3], direction[3]; + + RGB8ToFloat((u8*)&D_800DC610[i].a.l.col, ambient); + RGB8ToFloat((u8*)&D_800DC610[i].l->l.col, diffuse); + RGB8ToFloat((u8*)&D_800DC610[i].l->l.dir, direction); + + // Edit the ambient RGB color + ImGui::Text("Light %d - Ambient Color", i + 1); + ImGui::ColorEdit3(("Ambient Color " + std::to_string(i)).c_str(), ambient); // Modify ambient color + + // Edit the diffuse RGB color + ImGui::Text("Light %d - Diffuse Color", i + 1); + ImGui::ColorEdit3(("Diffuse Color " + std::to_string(i)).c_str(), diffuse); // Modify diffuse color + + // Edit the direction RGB color (this could be represented as a direction vector) + ImGui::Text("Light %d - Direction", i + 1); + ImGui::ColorEdit3(("Direction Color " + std::to_string(i)).c_str(), direction); // Modify direction vector color + + FloatToRGB8(ambient, (u8*)&D_800DC610[i].a.l.col); + FloatToRGB8(ambient, (u8*)&D_800DC610[i].a.l.colc); + FloatToRGB8(diffuse, (u8*)&D_800DC610[i].l->l.col); + FloatToRGB8(diffuse, (u8*)&D_800DC610[i].l->l.colc); + FloatToRGB8(direction, (u8*)&D_800DC610[i].l->l.dir); + + } + } + + // Convert s16 color values to float (normalized to [0, 1] range) + void TrackPropertiesWindow::RGB8ToFloat(const u8* src, float* dst) { + for (int i = 0; i < 3; ++i) { + dst[i] = src[i] / 255.0f; // Normalize to the range [0.0f, 1.0f] + } + } + + void TrackPropertiesWindow::FloatToRGB8(const float* src, u8* dst) { + for (int i = 0; i < 3; ++i) { + dst[i] = static_cast(src[i] * 255.0f); // Scale to [0, 255] range + } + } + +} diff --git a/src/port/ui/TrackProperties.h b/src/port/ui/TrackProperties.h new file mode 100644 index 000000000..509ff2e70 --- /dev/null +++ b/src/port/ui/TrackProperties.h @@ -0,0 +1,25 @@ +#pragma once + +#include + +extern "C" { +#include "sounds.h" +} + +namespace Editor { +class TrackPropertiesWindow : public Ship::GuiWindow { +public: + using Ship::GuiWindow::GuiWindow; + + ~TrackPropertiesWindow(); +protected: + void InitElement() override {}; + void DrawElement() override; + void DrawMusic(); + void DrawLight(); + void UpdateElement() override {}; + void RGB8ToFloat(const u8* src, float* dst); + void FloatToRGB8(const float* src, u8* dst); + const char* MusicSeqToString(MusicSeq seq); +}; +} diff --git a/src/racing/actors.c b/src/racing/actors.c index 9fc8059ef..9344bd3eb 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -135,6 +135,7 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f actor->state = 0; actor->unk_08 = 0.0f; actor->boundingBoxSize = 0.0f; + actor->model = NULL; func_802AAAAC(&actor->unk30); switch (actorType) { case ACTOR_BOX_TRUCK: @@ -151,6 +152,7 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f actor->velocity[0] = actor->pos[0]; actor->velocity[1] = actor->pos[1]; actor->velocity[2] = actor->pos[2] + 70.0f; + actor->model = d_course_yoshi_valley_dl_egg_lod0; break; case ACTOR_KIWANO_FRUIT: actor->state = 0; @@ -158,10 +160,12 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f actor->rot[1] = 0; actor->rot[2] = 0; actor->boundingBoxSize = 2.0f; + actor->model = d_course_dks_jungle_parkway_dl_kiwano_fruit; break; case ACTOR_FALLING_ROCK: actor->flags |= 0x4000; actor->boundingBoxSize = 10.0f; + actor->model = d_course_choco_mountain_dl_falling_rock; break; case ACTOR_TRAIN_ENGINE: actor->unk_08 = 10.0f; @@ -169,6 +173,7 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f case ACTOR_BANANA: actor->flags = actor->flags | 0x4000 | 0x1000; actor->boundingBoxSize = 2.0f; + actor->model = common_model_flat_banana; break; case ACTOR_GREEN_SHELL: gNumSpawnedShells += 1; @@ -194,27 +199,32 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 20.0f; + actor->model = d_course_mario_raceway_dl_tree; break; case ACTOR_MARIO_SIGN: actor->flags |= 0x4000; + actor->model = d_course_mario_raceway_dl_sign; break; case ACTOR_TREE_YOSHI_VALLEY: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 23.0f; + actor->model = d_course_yoshi_valley_dl_tree; break; case ACTOR_TREE_ROYAL_RACEWAY: actor->flags |= 0x4000; actor->state = 0x0043; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; + actor->model = d_course_royal_raceway_dl_tree; break; case ACTOR_TREE_MOO_MOO_FARM: actor->state = 0x0043; actor->flags = -0x8000; actor->boundingBoxSize = 3.0f; actor->unk_08 = 17.0f; + actor->model = d_course_moo_moo_farm_dl_tree; break; case 26: actor->flags |= 0x4000; @@ -275,17 +285,20 @@ void actor_init(struct Actor* actor, Vec3f startingPos, Vec3s startingRot, Vec3f actor->unk_04 = 0; actor->state = 5; actor->boundingBoxSize = 5.5f; + actor->model = D_0D003090; break; case ACTOR_ITEM_BOX: actor->flags |= 0x4000; actor->unk_04 = 0; actor->state = 0; actor->boundingBoxSize = 5.5f; + actor->model = D_0D003090; break; case ACTOR_PIRANHA_PLANT: actor->flags |= 0x4000; actor->state = 0x001E; actor->boundingBoxSize = 5.0f; + actor->model = d_course_mario_raceway_dl_piranha_plant; break; default: break; @@ -1053,15 +1066,6 @@ void spawn_course_actors(void) { gNumPermanentActors = 0; - if (gModeSelection != BATTLE) { - if (!CM_DoesFinishlineExist()) { - printf("\n[actors.c] COURSE MISSING THE FINISHLINE\n"); - printf(" In the Course class BeginPlay() function make sure to include:\n"); - printf(" gWorldInstance.AddActor(new AFinishline());\n\n"); - printf("\n Otherwise, course textures may glitch out or other strange issues may occur.\n"); - } - } - // switch (gCurrentCourseId) { // case COURSE_MARIO_RACEWAY: // // spawn_foliage(d_course_mario_raceway_tree_spawns); @@ -1224,6 +1228,7 @@ void init_actors_and_load_textures(void) { destroy_all_actors(); CM_CleanWorld(); + CM_SpawnFromLevelProps(); CM_BeginPlay(); spawn_course_actors(); } @@ -1383,7 +1388,7 @@ s16 try_remove_destructable_item(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actor return -1; } -// returns actor index if any slot avaible returns -1 +// returns actor index if any available actor type is -1 s16 add_actor_to_empty_slot(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) { size_t index; @@ -1402,6 +1407,7 @@ s16 add_actor_to_empty_slot(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) gNumActors++; struct Actor* actor = CM_AddBaseActor(); actor_init(actor, pos, rot, velocity, actorType); + CM_AddEditorObject(actor, get_actor_name(actor->type)); return (s16) CM_GetActorSize() - 1; // Return current index; } @@ -2637,3 +2643,78 @@ void update_course_actors(void) { evaluate_collision_for_destructible_actors(); check_player_use_item(); } + +const char* get_actor_name(s32 id) { + switch(id) { + case ACTOR_FALLING_ROCK: + return "Falling Rock"; + case ACTOR_GREEN_SHELL: + return "Green Shell"; + case ACTOR_RED_SHELL: + return "Red Shell"; + case ACTOR_BLUE_SPINY_SHELL: + return "Blue Spiny Shell"; + case ACTOR_KIWANO_FRUIT: + return "Kiwano Fruit"; + case ACTOR_BANANA: + return "Banana"; + case ACTOR_PADDLE_BOAT: + return "Paddle Boat"; + case ACTOR_TRAIN_ENGINE: + return "Train Engine"; + case ACTOR_TRAIN_TENDER: + return "Train Tender"; + case ACTOR_TRAIN_PASSENGER_CAR: + return "Train Passenger Car"; + case ACTOR_ITEM_BOX: + return "Item Box"; + case ACTOR_HOT_AIR_BALLOON_ITEM_BOX: + return "Hot Air Balloon Item Box"; + case ACTOR_FAKE_ITEM_BOX: + return "Fake Item Box"; + case ACTOR_PIRANHA_PLANT: + return "Piranha Plant"; + case ACTOR_BANANA_BUNCH: + return "Banana Bunch"; + case ACTOR_TRIPLE_GREEN_SHELL: + return "Triple Green Shell"; + case ACTOR_TRIPLE_RED_SHELL: + return "Triple Red Shell"; + case ACTOR_MARIO_SIGN: + return "Mario Sign"; + case ACTOR_WARIO_SIGN: + return "Wario Sign"; + case ACTOR_RAILROAD_CROSSING: + return "Railroad Crossing"; + case ACTOR_TREE_MARIO_RACEWAY: + return "Tree (Mario Raceway)"; + case ACTOR_TREE_YOSHI_VALLEY: + return "Tree (Yoshi Valley)"; + case ACTOR_TREE_ROYAL_RACEWAY: + return "Tree (Royal Raceway)"; + case ACTOR_TREE_MOO_MOO_FARM: + return "Tree (Moo Moo Farm)"; + case ACTOR_PALM_TREE: + return "Palm Tree"; + case ACTOR_UNKNOWN_0x1A: + return "Unknown Plant (0x1A)"; + case ACTOR_UNKNOWN_0x1B: + return "Unknown (0x1B)"; + case ACTOR_TREE_BOWSERS_CASTLE: + return "Tree (Bowser's Castle)"; + case ACTOR_TREE_FRAPPE_SNOWLAND: + return "Tree (Frappe Snowland)"; + case ACTOR_CACTUS1_KALAMARI_DESERT: + return "Cactus 1 (Kalamari Desert)"; + case ACTOR_CACTUS2_KALAMARI_DESERT: + return "Cactus 2 (Kalamari Desert)"; + case ACTOR_CACTUS3_KALAMARI_DESERT: + return "Cactus 3 (Kalamari Desert)"; + case ACTOR_BUSH_BOWSERS_CASTLE: + return "Bush (Bowser's Castle)"; + case ACTOR_YOSHI_EGG: + return "Yoshi Egg"; + default: + return "Obj"; + } +} diff --git a/src/racing/actors.h b/src/racing/actors.h index fe32326af..4f71c9b97 100644 --- a/src/racing/actors.h +++ b/src/racing/actors.h @@ -111,6 +111,7 @@ void render_actor_palm_tree(Camera*, Mat4, struct PalmTree*); void render_item_boxes(struct UnkStruct_800DC5EC*); void render_course_actors(struct UnkStruct_800DC5EC*); void update_course_actors(void); +const char* get_actor_name(s32); // audio/external.c extern void func_800C98B8(Vec3f, Vec3f, u32); diff --git a/src/racing/collision.c b/src/racing/collision.c index c3e210c9a..a394f0080 100644 --- a/src/racing/collision.c +++ b/src/racing/collision.c @@ -11,6 +11,7 @@ #include "code_800029B0.h" #include #include "port/Game.h" +#include #pragma intrinsic(sqrtf) @@ -38,76 +39,8 @@ void func_802AAAAC(Collision* collision) { vec3f_set(collision->orientationVector, 0.0f, 1.0f, 0.0f); } -f32 func_802AAB4C(Player* player) { - f32 playerX; - f32 playerZ; - s32 temp_v1; - - playerX = player->pos[0]; - playerZ = player->pos[2]; - if (GetCourse() == GetBowsersCastle()) { - if (playerX > 1859.0f) { - return D_8015F8E4; - } - if (playerX < 1549.0f) { - return D_8015F8E4; - } - if (playerZ > -1102.0f) { - return D_8015F8E4; - } - if (playerZ < -1402.0f) { - return D_8015F8E4; - } - return 20.0f; - } else if (GetCourse() == GetKoopaTroopaBeach()) { - if (playerX > 239.0f) { - return D_8015F8E4; - } - if (playerX < 67.0f) { - return D_8015F8E4; - } - if (playerZ > 2405.0f) { - return D_8015F8E4; - } - if (playerZ < 2233.0f) { - return D_8015F8E4; - } - return 0.8f; - } else if (GetCourse() == GetSherbetLand()) { - if ((get_surface_type(player->collision.meshIndexZX) & 0xFF) == SNOW) { - return (f32) (gCourseMinY - 0xA); - } - return D_8015F8E4; - } else if (GetCourse() == GetDkJungle()) { - temp_v1 = get_track_section_id(player->collision.meshIndexZX) & 0xFF; - if (temp_v1 == 0xFF) { - if ((get_surface_type(player->collision.meshIndexZX) & 0xFF) == CAVE) { - return -475.0f; - } - if (playerX > -478.0f) { - return -33.9f; - } - if (playerX < -838.0f) { - return -475.0f; - } - if (playerZ > -436.0f) { - return -475.0f; - } - if (playerZ < -993.0f) { - return -33.9f; - } - if (playerZ < playerX) { - return -475.0f; - } - return -33.9f; - } - if (temp_v1 >= 0x14) { - return -475.0f; - } - return -33.9f; - } else { - return D_8015F8E4; - } +f32 get_water_level(Player* player) { + return CM_GetWaterLevel(player->pos, &player->collision); } s32 check_collision_zx(Collision* collision, f32 boundingBoxSize, f32 posX, f32 posY, f32 posZ, u16 index) { @@ -1493,18 +1426,23 @@ f32 spawn_actor_on_surface(f32 posX, f32 posY, f32 posZ) { numTriangles = gCollisionGrid[gridSection].numTriangles; if (sectionIndexX < 0) { + printf("collision.c: actor outside of -sectionX %d\n", sectionIndexX); return 3000.0f; } if (sectionIndexZ < 0) { + printf("collision.c: actor outside of -sectionZ %d\n", sectionIndexZ); return 3000.0f; } if (sectionIndexX >= GRID_SIZE) { + printf("collision.c: actor outside of sectionX %d\n", sectionIndexX); return 3000.0f; } if (sectionIndexZ >= GRID_SIZE) { + printf("collision.c: actor outside of sectionZ %d\n", sectionIndexZ); return 3000.0f; } if (numTriangles == 0) { + printf("collision.c: No collision triangles in track!\n Something is wrong with the tracks geometry\n"); return 3000.0f; } @@ -1753,7 +1691,7 @@ void add_collision_triangle(Vtx* vtx1, Vtx* vtx2, Vtx* vtx3, s8 surfaceType, u16 void set_vtx_from_triangle(u32 triangle, s8 surfaceType, u16 sectionId) { u32 vert1 = ((triangle & 0x00FF0000) >> 16) / 2; u32 vert2 = ((triangle & 0x0000FF00) >> 8) / 2; - u32 vert3 = (triangle & 0x000000FF) / 2; + u32 vert3 = (triangle & 0x000000FF) / 2; Vtx* vtx1 = vtxBuffer[vert1]; Vtx* vtx2 = vtxBuffer[vert2]; @@ -2016,8 +1954,9 @@ u32 numTimes = 0; /** * Generate via a recursive search and set for vertex data. */ +bool is_cull_box(const char* filePath); void generate_collision_mesh(Gfx* addr, s8 surfaceType, u16 sectionId) { - s32 opcode; + int8_t opcode; uintptr_t lo; uintptr_t hi; s32 i; @@ -2041,41 +1980,110 @@ void generate_collision_mesh(Gfx* addr, s8 surfaceType, u16 sectionId) { for (i = 0; i < 0x1FFF; i++) { lo = gfx->words.w0; hi = gfx->words.w1; - opcode = GFX_GET_OPCODE(lo); + opcode = GFX_GET_OPCODE(lo) >> 24; // printf("ptr 0x%llX\n", &addr); // printf("op 0x%llX\n", opcode); // printf("w0 0x%llX\n", lo); // printf("w1 0x%llX\n", hi); - if (opcode == (G_DL << 24)) { - // G_DL's hi contains an addr to another DL. - generate_collision_mesh((Gfx*) hi, surfaceType, sectionId); + switch(opcode) { + case G_DL: + // G_DL's hi contains an addr to another DL. + generate_collision_mesh((Gfx*) hi, surfaceType, sectionId); + break; + case G_DL_OTR_FILEPATH: + generate_collision_mesh(ResourceGetDataByName((const char*)hi), surfaceType, sectionId); + break; + case G_VTX: + set_vtx_buffer((hi), (lo >> 10) & 0x3F, ((lo >> 16) & 0xFF) >> 1); + break; + case G_VTX_OTR_FILEPATH: { + const char* filePath = (const char*)hi; + // Fast64 outputs garbage data. Lets skip that... + if (is_cull_box(filePath)) { + printf("Skipped cull box\n"); + gfx++; + continue; + } + gfx++; + size_t count = gfx->words.w0; + size_t index = (gfx->words.w1 >> 16); + size_t vtxDataOff = gfx->words.w1 & 0xFFFF; + Vtx* vtx = ( (Vtx*)ResourceGetDataByName(filePath) ) + vtxDataOff; - } else if (opcode == (G_VTX << 24)) { - set_vtx_buffer((hi), (lo >> 10) & 0x3F, ((lo >> 16) & 0xFF) >> 1); + set_vtx_buffer(vtx, count, index); + break; + } + case G_TRI1: + D_8015F58C += 1; + set_vtx_from_triangle(hi, surfaceType, sectionId); + break; + case G_TRI1_OTR: { + uint32_t v1 = (lo & 0x0000FFFF) * 2; + uint32_t v2 = (hi >> 16) * 2; + uint32_t v3 = (hi & 0x0000FFFF) * 2; - } else if (opcode == (G_TRI1 << 24)) { - D_8015F58C += 1; - set_vtx_from_triangle(hi, surfaceType, sectionId); + // Repack into a format supported by f3dex + uint32_t repack = (v1 << 16) | (v2 << 8) | v3; - } else if (opcode == (G_TRI2 << 24)) { - D_8015F58C += 2; - - set_vtx_from_tri2(lo, hi, surfaceType, sectionId); - - } else if (opcode == (G_QUAD << 24)) { - D_8015F58C += 2; - set_vtx_from_quadrangle(hi, surfaceType, sectionId); - - } else if (opcode == (int32_t) (G_ENDDL << 24)) { - break; + D_8015F58C += 1; + set_vtx_from_triangle(repack, surfaceType, sectionId); + break; + } + case G_TRI2: + D_8015F58C += 2; + set_vtx_from_tri2(lo, hi, surfaceType, sectionId); + break; + case G_QUAD: + D_8015F58C += 2; + set_vtx_from_quadrangle(hi, surfaceType, sectionId); + break; + case G_ENDDL: + return; // end of loop } + + // if (opcode == (G_DL << 24)) { + // // G_DL's hi contains an addr to another DL. + // generate_collision_mesh((Gfx*) hi, surfaceType, sectionId); + + // } else if (opcode == (G_VTX << 24)) { + // set_vtx_buffer((hi), (lo >> 10) & 0x3F, ((lo >> 16) & 0xFF) >> 1); + + // } else if (opcode == (G_TRI1 << 24)) { + // D_8015F58C += 1; + // set_vtx_from_triangle(hi, surfaceType, sectionId); + + // } else if (opcode == (G_TRI2 << 24)) { + // D_8015F58C += 2; + + // set_vtx_from_tri2(lo, hi, surfaceType, sectionId); + + // } else if (opcode == (G_QUAD << 24)) { + // D_8015F58C += 2; + // set_vtx_from_quadrangle(hi, surfaceType, sectionId); + + // } else if (opcode == (int32_t) (G_ENDDL << 24)) { + // break; + // } + gfx++; } } +bool is_cull_box(const char* filePath) { + const char* suffix = "cull"; + size_t fileLen = strlen(filePath); + size_t suffixLen = strlen(suffix); + + if (fileLen < suffixLen) { + return false; + } + + return strcmp(filePath + fileLen - suffixLen, suffix) == 0; +} + /** * Search for G_SETTILESIZE and set its args. */ diff --git a/src/racing/collision.h b/src/racing/collision.h index a6c3aca29..4720daf55 100644 --- a/src/racing/collision.h +++ b/src/racing/collision.h @@ -8,7 +8,7 @@ void nullify_displaylist(uintptr_t); void func_802AAAAC(Collision*); -f32 func_802AAB4C(Player*); +f32 get_water_level(Player*); s32 check_collision_zx(Collision*, f32, f32, f32, f32, u16); s32 check_collision_yx(Collision*, f32, f32, f32, f32, u16); s32 check_collision_zy(Collision*, f32, f32, f32, f32, u16); diff --git a/src/racing/framebuffer_effects.c b/src/racing/framebuffer_effects.c index 4406ca787..12b2f0624 100644 --- a/src/racing/framebuffer_effects.c +++ b/src/racing/framebuffer_effects.c @@ -35,30 +35,30 @@ void FB_CreateFramebuffers(void) { * sure f3dex2 is loaded before this function is called. */ void FB_CopyToFramebuffer(Gfx** gfxP, s32 fb_src, s32 fb_dest, u8 oncePerFrame, u8* hasCopied) { - Gfx* gfx = *gfxP; + // Gfx* gfx = *gfxP; - gSPMatrix(gfx++, &gIdentityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + // gSPMatrix(gfx++, &gIdentityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gDPSetOtherMode(gfx++, - G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | - G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, - G_AC_NONE | G_ZS_PRIM | G_RM_OPA_SURF | G_RM_OPA_SURF2); + // gDPSetOtherMode(gfx++, + // G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE | + // G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_NPRIMITIVE, + // G_AC_NONE | G_ZS_PRIM | G_RM_OPA_SURF | G_RM_OPA_SURF2); - gSPClearGeometryMode(gfx++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); - gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH); + // gSPClearGeometryMode(gfx++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); + // gSPSetGeometryMode(gfx++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH); - gDPSetBlendColor(gfx++, 255, 255, 255, 8); - gDPSetPrimDepth(gfx++, 0xFFFF, 0xFFFF); + // gDPSetBlendColor(gfx++, 255, 255, 255, 8); + // gDPSetPrimDepth(gfx++, 0xFFFF, 0xFFFF); - gDPSetEnvColor(gfx++, 255, 255, 255, 255); - gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, - ENVIRONMENT); + // gDPSetEnvColor(gfx++, 255, 255, 255, 255); + // gDPSetCombineLERP(gfx++, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, + // ENVIRONMENT); - gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + // gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); - gDPCopyFB(gfx++, fb_dest, fb_src, oncePerFrame, hasCopied); + // gDPCopyFB(gfx++, fb_dest, fb_src, oncePerFrame, hasCopied); - *gfxP = gfx; + // *gfxP = gfx; } /** @@ -69,9 +69,8 @@ void FB_CopyToFramebuffer(Gfx** gfxP, s32 fb_src, s32 fb_dest, u8 oncePerFrame, */ void FB_WriteFramebufferSliceToCPU(Gfx** gfxP, void* buffer, u8 byteSwap) { Gfx* gfx = *gfxP; - FB_CopyToFramebuffer(&gfx, 0, gReusableFrameBuffer, false, NULL); - + // Set the N64 resolution framebuffer as the draw target (320x240) gsSPSetFB(gfx++, gN64ResFrameBuffer); // Reset scissor for new framebuffer diff --git a/src/racing/math_util.c b/src/racing/math_util.c index 1e9241528..ac34ceda7 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -8,6 +8,7 @@ #include "math.h" #include "memory.h" #include "engine/Matrix.h" +#include "port/Game.h" #pragma intrinsic(sqrtf, fabs) @@ -428,10 +429,10 @@ void func_802B5CAC(s16 arg0, s16 arg1, Vec3f arg2) { } void func_802B5D30(s16 arg0, s16 arg1, s32 arg2) { - func_802B5D64((Lights1*) 0x9000000, arg0, arg1, arg2); + set_track_light_direction((Lights1*) 0x9000000, arg0, arg1, arg2); } -void func_802B5D64(Lights1* addr, s16 arg1, s16 arg2, s32 arg3) { +void set_track_light_direction(Lights1* addr, s16 pitch, s16 yaw, s32 numLights) { UNUSED s32 pad; f32 sp48; f32 sp44; @@ -443,14 +444,14 @@ void func_802B5D64(Lights1* addr, s16 arg1, s16 arg2, s32 arg3) { Lights1* var_s0; var_s0 = (Lights1*) addr; - sp48 = sins(arg2); - sp44 = coss(arg2); - sp40 = sins(arg1); - temp_f10 = coss(arg1); + sp48 = sins(yaw); + sp44 = coss(yaw); + sp40 = sins(pitch); + temp_f10 = coss(pitch); sp2C[0] = sp44 * sp40 * 120.0f; sp2C[1] = 120.0f * sp48; sp2C[2] = sp44 * temp_f10 * -120.0f; - for (var_v0 = 0; var_v0 < arg3; var_v0++, var_s0++) { + for (var_v0 = 0; var_v0 < numLights; var_v0++, var_s0++) { var_s0->l[0].l.dir[0] = sp2C[0]; var_s0->l[0].l.dir[1] = sp2C[1]; var_s0->l[0].l.dir[2] = sp2C[2]; @@ -1181,7 +1182,7 @@ f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY } // No idea if arg1 is actually a Mat4 or not, but since this function is unused -// its impossible to know with certainty either way, very close of func_802B5D64 +// its impossible to know with certainty either way, very close of set_track_light_direction UNUSED void func_802B8414(uintptr_t addr, Mat4 arg1, s16 arg2, s16 arg3, s32 arg4) { UNUSED s32 pad; Vec3f sp40; diff --git a/src/racing/math_util.h b/src/racing/math_util.h index bd4ce5759..b767e9068 100644 --- a/src/racing/math_util.h +++ b/src/racing/math_util.h @@ -41,7 +41,7 @@ void mtxf_s16_rotate_z(Mat4, s16); void func_802B5B14(Vec3f b, Vec3s rotate); // unused void func_802B5CAC(s16, s16, Vec3f); void func_802B5D30(s16, s16, s32); -void func_802B5D64(Lights1*, s16, s16, s32); +void set_track_light_direction(Lights1*, s16, s16, s32); void mtxf_scale(Mat4, f32); void mtxf_pos_rotation_xyz(Mat4, Vec3f, Vec3s); void mtxf_translate_vec3f_mat3(Vec3f, Mat3); diff --git a/src/racing/memory.c b/src/racing/memory.c index 1b5f02510..a3c3bf6b3 100644 --- a/src/racing/memory.c +++ b/src/racing/memory.c @@ -1512,4 +1512,5 @@ void load_course(s32 courseId) { gNextFreeMemoryAddress = gFreeMemoryResetAnchor; CM_CleanWorld(); LoadCourse(); + CM_Editor_SetLevelDimensions(gCourseMinX, gCourseMaxX, gCourseMinZ, gCourseMaxZ, gCourseMinY, gCourseMaxY); } diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index b2d654fb4..71b182544 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -1,4 +1,4 @@ -#include + #include #include #include #include @@ -50,7 +50,7 @@ s32 func_80290C20(Camera* camera) { return 0; } -void parse_course_displaylists(TrackSectionsI* asset) { +void parse_course_displaylists(TrackSections* asset) { TrackSections* section = (TrackSections*) asset; while (section->addr != 0) { @@ -299,7 +299,7 @@ void func_8029122C(struct UnkStruct_800DC5EC* arg0, s32 playerId) { // break; // } // vector[0] = 0.0f; - // vector[1] = D_8015F8E4; + // vector[1] = gWaterLevel; // vector[2] = 0.0f; // mtxf_translate(matrix, vector); // render_set_position(matrix, 0); @@ -328,7 +328,7 @@ void func_8029122C(struct UnkStruct_800DC5EC* arg0, s32 playerId) { // render_course_segments(sherbet_land_dls_2, arg0); // gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE); - // if ((func_80290C20(arg0->camera) == 1) && (func_802AAB4C(player) < player->pos[1])) { + // if ((func_80290C20(arg0->camera) == 1) && (get_water_level(player) < player->pos[1])) { // gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER); // gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); // gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); @@ -978,7 +978,7 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { s16 temp_s0 = arg0->pathCounter; s16 playerDirection = arg0->playerDirection; - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1047,7 +1047,7 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { void render_toads_turnpike(struct UnkStruct_800DC5EC* arg0) { UNUSED s32 pad[13]; - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1074,7 +1074,7 @@ void render_toads_turnpike(struct UnkStruct_800DC5EC* arg0) { void render_kalimari_desert(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1229,7 +1229,7 @@ void render_wario_stadium(struct UnkStruct_800DC5EC* arg0) { void render_block_fort(UNUSED struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1238,7 +1238,7 @@ void render_block_fort(UNUSED struct UnkStruct_800DC5EC* arg0) { } void render_skyscraper(UNUSED struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1262,7 +1262,7 @@ void render_skyscraper(UNUSED struct UnkStruct_800DC5EC* arg0) { void render_double_deck(UNUSED struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1274,8 +1274,8 @@ void render_double_deck(UNUSED struct UnkStruct_800DC5EC* arg0) { void render_dks_jungle_parkway(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); - func_802B5D64(&D_800DC610[1], D_802B87D4, D_802B87D0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(&D_800DC610[1], D_802B87D4, D_802B87D0, 1); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK | G_LIGHTING); @@ -1300,7 +1300,7 @@ void render_big_donut(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -1320,7 +1320,7 @@ void render_big_donut(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) segmented_gfx_to_virtual(0x07000230))); } -void func_8029569C(void) { +void render_credits(void) { CM_RenderCredits(); @@ -1389,7 +1389,7 @@ void func_8029569C(void) { } void render_course(struct UnkStruct_800DC5EC* arg0) { - func_802B5D64(D_800DC610, D_802B87D4, 0, 1); + set_track_light_direction(D_800DC610, D_802B87D4, 0, 1); // Freecam priority renders collision. if (CVarGetInteger("gRenderCollisionMesh", 0) == true) { @@ -1398,7 +1398,7 @@ void render_course(struct UnkStruct_800DC5EC* arg0) { } if (creditsRenderMode) { - func_8029569C(); + render_credits(); return; } @@ -1521,7 +1521,7 @@ void course_init(void) { // // parse_course_displaylists(d_course_mario_raceway_addr); // // func_80295C6C(); - // // D_8015F8E4 = gCourseMinY - 10.0f; + // // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_CHOCO_MOUNTAIN: // D_800DC5BC = 1; @@ -1552,13 +1552,13 @@ void course_init(void) { // parse_course_displaylists(d_course_choco_mountain_addr); // func_802B5CAC(0x238E, 0x31C7, D_8015F590); // func_80295C6C(); - // D_8015F8E4 = -80.0f; + // gWaterLevel = -80.0f; // break; // case COURSE_BOWSER_CASTLE: // parse_course_displaylists(d_course_bowsers_castle_addr); // func_80295C6C(); // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07001350), 0x32, 0, 0, 0); - // D_8015F8E4 = -50.0f; + // gWaterLevel = -50.0f; // break; // case COURSE_BANSHEE_BOARDWALK: // // D_800DC5BC = 1; @@ -1568,20 +1568,20 @@ void course_init(void) { // // parse_course_displaylists(d_course_banshee_boardwalk_track_sections); // // func_80295C6C(); // // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07000878), 128, 0, 0, 0); - // // D_8015F8E4 = -80.0f; + // // gWaterLevel = -80.0f; // break; // case COURSE_YOSHI_VALLEY: { // Lights1 lights4 = gdSPDefLights1(100, 100, 100, 255, 254, 254, 0, 0, 120); - // func_802B5D64(&lights4, -0x38F0, 0x1C70, 1); + // set_track_light_direction(&lights4, -0x38F0, 0x1C70, 1); // parse_course_displaylists(d_course_yoshi_valley_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // } // case COURSE_FRAPPE_SNOWLAND: // parse_course_displaylists(d_course_frappe_snowland_addr); // func_80295C6C(); - // D_8015F8E4 = -50.0f; + // gWaterLevel = -50.0f; // break; // case COURSE_KOOPA_BEACH: // parse_course_displaylists(d_course_koopa_troopa_beach_addr); @@ -1594,17 +1594,17 @@ void course_init(void) { // case COURSE_ROYAL_RACEWAY: // parse_course_displaylists(d_course_royal_raceway_addr); // func_80295C6C(); - // D_8015F8E4 = -60.0f; + // gWaterLevel = -60.0f; // break; // case COURSE_LUIGI_RACEWAY: // parse_course_displaylists(d_course_luigi_raceway_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_MOO_MOO_FARM: // parse_course_displaylists(d_course_moo_moo_farm_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_TOADS_TURNPIKE: // D_801625EC = 43; @@ -1614,17 +1614,17 @@ void course_init(void) { // D_802B87B4 = 1000; // parse_course_displaylists(d_course_toads_turnpike_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_KALIMARI_DESERT: // parse_course_displaylists(d_course_kalimari_desert_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_SHERBET_LAND: // parse_course_displaylists(d_course_sherbet_land_addr); // func_80295C6C(); - // D_8015F8E4 = -18.0f; + // gWaterLevel = -18.0f; // // d_course_sherbet_land_packed_dl_1EB8 // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07001EB8), -0x4C, 255, 255, 255); // // d_course_sherbet_land_packed_dl_2308 @@ -1634,7 +1634,7 @@ void course_init(void) { // D_800DC5C8 = 1; // parse_course_displaylists(d_course_rainbow_road_addr); // func_80295C6C(); - // D_8015F8E4 = 0.0f; + // gWaterLevel = 0.0f; // // d_course_rainbow_road_packed_dl_2068 // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07002068), -0x6A, 255, 255, 255); // // d_course_rainbow_road_packed_dl_1E18 @@ -1649,7 +1649,7 @@ void course_init(void) { // case COURSE_WARIO_STADIUM: // parse_course_displaylists(d_course_wario_stadium_addr); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // // d_course_wario_stadium_packed_dl_C50 // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07000C50), 100, 255, 255, 255); // // d_course_wario_stadium_packed_dl_BD8 @@ -1671,7 +1671,7 @@ void course_init(void) { // // d_course_block_fort_packed_dl_15C0 // generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual(0x070015C0), 1); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_SKYSCRAPER: // // d_course_skyscraper_packed_dl_1110 @@ -1680,18 +1680,18 @@ void course_init(void) { // generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual(0x07000258), 1); // func_80295C6C(); - // D_8015F8E4 = -480.0f; + // gWaterLevel = -480.0f; // break; // case COURSE_DOUBLE_DECK: // // d_course_double_deck_packed_dl_738 // generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual(0x07000738), 1); // func_80295C6C(); - // D_8015F8E4 = gCourseMinY - 10.0f; + // gWaterLevel = gCourseMinY - 10.0f; // break; // case COURSE_DK_JUNGLE: // parse_course_displaylists(d_course_dks_jungle_parkway_addr); // func_80295C6C(); - // D_8015F8E4 = -475.0f; + // gWaterLevel = -475.0f; // // d_course_dks_jungle_parkway_packed_dl_3FA8 // find_vtx_and_set_colours(segmented_gfx_to_virtual(0x07003FA8), 120, 255, 255, 255); // break; @@ -1707,7 +1707,7 @@ void course_init(void) { // // d_course_big_donut_packed_dl_230 // generate_collision_mesh_with_default_section_id((Gfx*) segmented_gfx_to_virtual(0x07000230), 6); // func_80295C6C(); - // D_8015F8E4 = 100.0f; + // gWaterLevel = 100.0f; // break; // } } @@ -1719,13 +1719,13 @@ void func_802966A0(void) { // switch (gCurrentCourseId) { // case COURSE_KOOPA_BEACH: // // clang-format off - // if (D_8015F8E8 < 0.0f) { - // if (D_8015F8E4 < -20.0f) { D_8015F8E8 *= -1.0f; } + // if (gWaterVelocity < 0.0f) { + // if (gWaterLevel < -20.0f) { gWaterVelocity *= -1.0f; } // } else { - // if (D_8015F8E4 > 0.0f) { D_8015F8E8 *= -1.0f; } + // if (gWaterLevel > 0.0f) { gWaterVelocity *= -1.0f; } // } // // clang-format on - // D_8015F8E4 += D_8015F8E8; + // gWaterLevel += gWaterVelocity; // D_802B87BC += 9; // if (D_802B87BC > 255) { @@ -1793,13 +1793,3 @@ void func_802966A0(void) { // break; // } } - -void func_802969F8(void) { - if (GetCourse() == GetMooMooFarm()) { - D_8015F702 = 0; - D_8015F700 = 200; - } else if (GetCourse() == GetKoopaTroopaBeach()) { - D_8015F8E8 = -0.1f; - D_8015F8E4 = 0.0f; - } -} diff --git a/src/racing/render_courses.h b/src/racing/render_courses.h index dc9a26f63..cb11ad4c7 100644 --- a/src/racing/render_courses.h +++ b/src/racing/render_courses.h @@ -3,17 +3,11 @@ #include "code_800029B0.h" #include "../camera.h" - -typedef struct { - u32 addr; - u8 surfaceType; - u8 sectionId; - u16 flags; -} TrackSectionsI; +#include void func_8029122C(struct UnkStruct_800DC5EC*, s32); s32 func_80290C20(Camera*); -void parse_course_displaylists(TrackSectionsI* asset); +void parse_course_displaylists(TrackSections* asset); void render_course_segments(const char*[], struct UnkStruct_800DC5EC*); void func_80291198(void); void render_mario_raceway_pipe(void); @@ -35,7 +29,7 @@ void render_skyscraper(struct UnkStruct_800DC5EC*); void render_double_deck(struct UnkStruct_800DC5EC*); void render_dks_jungle_parkway(struct UnkStruct_800DC5EC*); void render_big_donut(struct UnkStruct_800DC5EC*); -void func_8029569C(void); +void render_credits(void); void course_init(void); void render_course(struct UnkStruct_800DC5EC*); void func_80295BF8(s32); @@ -44,7 +38,6 @@ void func_80295D50(s16, s16); void func_80295D6C(void); void func_80295D88(void); void func_802966A0(void); -void func_802969F8(void); extern s32 D_8015F59C; diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index d0d52f77e..77b1c03ff 100644 --- a/src/racing/skybox_and_splitscreen.c +++ b/src/racing/skybox_and_splitscreen.c @@ -854,6 +854,7 @@ void render_screens(s32 mode, s32 cameraId, s32 playerId) { render_set_position(matrix, 0); } render_course_actors(screen); + CM_DrawStaticMeshActors(); render_object(mode); switch (screenId) { case 0: diff --git a/src/render_objects.c b/src/render_objects.c index d3fcaaa64..cd9d8bf76 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -2063,7 +2063,7 @@ void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2); - gMKLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, 0, width - 1, + gDPLoadTextureTile(gDisplayListHead++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPWideTextureRectangle(gDisplayListHead++, currX * 4, currY * 4, ((x + width) << 2), ((y + height) << 2), @@ -2695,21 +2695,28 @@ void func_8004EB38(s32 playerId) { } void func_8004ED40(s32 arg0) { - func_8004A2F4(playerHUD[arg0].speedometerX, playerHUD[arg0].speedometerY, 0U, 1.0f, D_8018D300, D_8018D308, - D_8018D310, 0xFF, LOAD_ASSET(common_texture_speedometer), LOAD_ASSET(D_0D0064B0), 64, 96, 64, 48); + func_8004A2F4(playerHUD[arg0].speedometerX, playerHUD[arg0].speedometerY, 0U, 1.0f, + // RGBA + CM_GetProps()->Minimap.Colour.r, CM_GetProps()->Minimap.Colour.g, CM_GetProps()->Minimap.Colour.b, 0xFF, + LOAD_ASSET(common_texture_speedometer), LOAD_ASSET(D_0D0064B0), 64, 96, 64, 48); func_8004A258(D_8018CFEC, D_8018CFF4, D_8016579E, 1.0f, common_texture_speedometer_needle, D_0D005FF0, 0x40, 0x20, 0x40, 0x20); } -void func_8004EE54(s32 arg0) { +// player is only 0 or 1 +void func_8004EE54(s32 playerId) { if (gIsMirrorMode != 0) { - func_8004D4E8(D_8018D2C0[arg0], D_8018D2D8[arg0], (u8*) D_8018D240, (s32) D_8018D300, (s32) D_8018D308, - (s32) D_8018D310, 0x000000FF, (s32) gMinimapWidth, (s32) gMinimapHeight, (s32) gMinimapWidth, - (s32) gMinimapHeight); + func_8004D4E8(CM_GetProps()->Minimap.Pos[playerId].X, CM_GetProps()->Minimap.Pos[playerId].Y, (u8*) D_8018D240, + // RGBA + CM_GetProps()->Minimap.Colour.r, CM_GetProps()->Minimap.Colour.g, CM_GetProps()->Minimap.Colour.b, 0xFF, + CM_GetProps()->Minimap.Width, CM_GetProps()->Minimap.Height, CM_GetProps()->Minimap.Width, + CM_GetProps()->Minimap.Height); } else { - func_8004D37C(D_8018D2C0[arg0], D_8018D2D8[arg0], (u8*) D_8018D240, (s32) D_8018D300, (s32) D_8018D308, - (s32) D_8018D310, 0x000000FF, (s32) gMinimapWidth, (s32) gMinimapHeight, (s32) gMinimapWidth, - (s32) gMinimapHeight); + func_8004D37C(CM_GetProps()->Minimap.Pos[playerId].X, CM_GetProps()->Minimap.Pos[playerId].Y, (u8*) D_8018D240, + // RGBA + CM_GetProps()->Minimap.Colour.r, CM_GetProps()->Minimap.Colour.g, CM_GetProps()->Minimap.Colour.b, 0xFF, + CM_GetProps()->Minimap.Width, CM_GetProps()->Minimap.Height, CM_GetProps()->Minimap.Width, + CM_GetProps()->Minimap.Height); } } @@ -2717,13 +2724,13 @@ void func_8004EF9C(s32 arg0) { s16 temp_t0; s16 temp_v0; - temp_v0 = CM_GetProps()->MinimapDimensions.X; - temp_t0 = CM_GetProps()->MinimapDimensions.Z; - func_8004D37C(0x00000104, 0x0000003C, CM_GetProps()->MinimapTexture, 0x000000FF, 0x000000FF, 0x000000FF, + temp_v0 = CM_GetProps()->Minimap.Width; + temp_t0 = CM_GetProps()->Minimap.Height; + func_8004D37C(0x00000104, 0x0000003C, CM_GetProps()->Minimap.Texture, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, temp_v0, temp_t0, temp_v0, temp_t0); } -void set_minimap_finishline_position(s32 arg0) { +void set_minimap_finishline_position(s32 playerId) { f32 var_f0; f32 var_f2; s32 center = 0; @@ -2734,22 +2741,16 @@ void set_minimap_finishline_position(s32 arg0) { center = ((OTRGetDimensionFromRightEdge(SCREEN_WIDTH) - SCREEN_WIDTH) / 2) + ((SCREEN_WIDTH / 4) + (SCREEN_WIDTH / 2)); } else { - center = D_8018D2C0[arg0]; + center = CM_GetProps()->Minimap.Pos[playerId].X; } // minimap center pos - minimap left edge + offset - var_f2 = (center - (gMinimapWidth / 2)) + D_8018D2E0; - var_f0 = (D_8018D2D8[arg0] - (gMinimapHeight / 2)) + D_8018D2E8; - if (GetCourse() == GetMarioRaceway()) { - var_f0 = var_f0 - 2.0; - } else if (GetCourse() == GetChocoMountain()) { - var_f0 = var_f0 - 16.0; - } else if (GetCourse() == GetKalimariDesert()) { - var_f0 = var_f0 + 4.0; - } + var_f2 = (center - (CM_GetProps()->Minimap.Width / 2)) + CM_GetProps()->Minimap.PlayerX; // (center - (gMinimapWidth / 2)) + gMinimapPlayerX; + var_f0 = (CM_GetProps()->Minimap.Pos[playerId].Y - (CM_GetProps()->Minimap.Height / 2)) + CM_GetProps()->Minimap.PlayerY; // (gMinimapY[arg0] - (gMinimapHeight / 2)) + gMinimapPlayerY + + var_f2 += CM_GetProps()->Minimap.FinishlineX; + var_f0 += CM_GetProps()->Minimap.FinishlineY; - //! @todo Get course minimap props from course. - CM_MinimapFinishlinePosition(); draw_hud_2d_texture_8x8(var_f2, var_f0, (u8*) common_texture_minimap_finish_line); } @@ -2768,18 +2769,18 @@ void func_8004F168(s32 arg0, s32 playerId, s32 characterId) { Player* player = &gPlayerOne[playerId]; if (player->type & (1 << 15)) { - thing0 = player->pos[0] * D_8018D2A0; - thing1 = player->pos[2] * D_8018D2A0; + thing0 = player->pos[0] * CM_GetProps()->Minimap.PlayerScaleFactor; // gMinimapPlayerScale; + thing1 = player->pos[2] * CM_GetProps()->Minimap.PlayerScaleFactor; // gMinimapPlayerScale; if (gPlayerCount == 3) { center = ((OTRGetDimensionFromRightEdge(SCREEN_WIDTH) - SCREEN_WIDTH) / 2) + ((SCREEN_WIDTH / 4) + (SCREEN_WIDTH / 2)); } else { - center = D_8018D2C0[arg0]; + center = CM_GetProps()->Minimap.Pos[arg0].X; } - temp_a0 = (center - (gMinimapWidth / 2)) + D_8018D2E0 + (s16) (thing0); - temp_a1 = (D_8018D2D8[arg0] - (gMinimapHeight / 2)) + D_8018D2E8 + (s16) (thing1); + temp_a0 = (center - (CM_GetProps()->Minimap.Width / 2)) + CM_GetProps()->Minimap.PlayerX + (s16) (thing0); + temp_a1 = (CM_GetProps()->Minimap.Pos[arg0].Y - (CM_GetProps()->Minimap.Height / 2)) + CM_GetProps()->Minimap.PlayerY + (s16) (thing1); if (characterId != 8) { if ((gGPCurrentRaceRankByPlayerId[playerId] == 0) && (gModeSelection != 3) && (gModeSelection != 1)) { #if EXPLICIT_AND == 1 @@ -3685,54 +3686,6 @@ void func_80052E30(UNUSED s32 arg0) { } } -void func_80053D74(s32 objectIndex, UNUSED s32 arg1, s32 vertexIndex) { - Object* object; - - Vtx* vtx = (Vtx*) LOAD_ASSET(common_vtx_hedgehog); - - if (gMatrixHudCount <= MTX_HUD_POOL_SIZE_MAX) { - object = &gObjectList[objectIndex]; - D_80183E80[2] = (s16) (object->unk_084[6] + 0x8000); - rsp_set_matrix_transformation(object->pos, (u16*) D_80183E80, object->sizeScaling); - set_color_render((s32) object->unk_084[0], (s32) object->unk_084[1], (s32) object->unk_084[2], - (s32) object->unk_084[3], (s32) object->unk_084[4], (s32) object->unk_084[5], - (s32) object->primAlpha); - gSPVertex(gDisplayListHead++, &vtx[vertexIndex], 4, 0); - gSPDisplayList(gDisplayListHead++, common_rectangle_display); - } -} - -void render_balloons_grand_prix(s32 arg0) { - s32 var_s1; - s32 objectIndex; - - gSPDisplayList(gDisplayListHead++, D_0D007E98); - gDPLoadTLUT_pal256(gDisplayListHead++, gTLUTOnomatopoeia); - func_8004B614(0, 0, 0, 0, 0, 0, 0); - gDPSetAlphaCompare(gDisplayListHead++, G_AC_THRESHOLD); - gDPSetRenderMode(gDisplayListHead++, - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | - GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), - AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | - GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); - D_80183E80[0] = 0; - D_80183E80[1] = 0x8000; - rsp_load_texture(gTextureBalloon1, 64, 32); - for (var_s1 = 0; var_s1 < D_80165738; var_s1++) { - objectIndex = gObjectParticle3[var_s1]; - if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { - func_80053D74(objectIndex, arg0, 0); - } - } - rsp_load_texture(gTextureBalloon2, 64, 32); - for (var_s1 = 0; var_s1 < D_80165738; var_s1++) { - objectIndex = gObjectParticle3[var_s1]; - if ((objectIndex != NULL_OBJECT_ID) && (gObjectList[objectIndex].state >= 2)) { - func_80053D74(objectIndex, arg0, 4); - } - } -} - void render_object_train_smoke_particle(s32 objectIndex, s32 cameraId) { Camera* camera; diff --git a/src/render_objects.h b/src/render_objects.h index d4c45eed7..e914de5d9 100644 --- a/src/render_objects.h +++ b/src/render_objects.h @@ -341,8 +341,6 @@ void translate_thwomp_lights(s32); void thwomp_lights(s32); void render_object_thwomps_model(s32); void render_object_thwomps(s32); -void func_80053D74(s32, s32, s32); -void render_balloons_grand_prix(s32); void render_object_train_smoke_particle(s32, s32); void render_object_trains_smoke_particles(s32); @@ -429,8 +427,8 @@ extern Vec3su D_80183E80; extern f32 D_8018CFEC; extern f32 D_8018CFF4; -extern s16 D_8018D2E0; -extern s16 D_8018D2E8; +extern s16 gMinimapPlayerX; +extern s16 gMinimapPlayerY; extern u8* D_8018D4BC; extern u8* D_8018D4C0; diff --git a/src/spawn_players.c b/src/spawn_players.c index fa82f0b5a..5e623577b 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -882,7 +882,7 @@ void func_8003BE30(void) { void func_8003C0F0(void) { s16 sp5E; s16 sp5C; - s16 sp5A; + s16 sp5A = 0; s32 temp; UNUSED s32 pad[4]; diff --git a/src/update_objects.c b/src/update_objects.c index 55ae23246..73d0dcfdc 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -1305,124 +1305,6 @@ void func_800748F4(s32 objectIndex, const char** lakituTexturePtr) { func_80074704(objectIndex, lakituTexturePtr); } -void func_80074924(s32 objectIndex) { - s32 sp2C = 0; - s32 sp28; - s32 sp24; - s32 sp20 = 0; - s32 temp_a0; - Object* object; - - object = &gObjectList[objectIndex]; - object->sizeScaling = 0.15f; - - if (GetCourse() == GetMarioRaceway()) { - sp2C = random_int(0x00C8U); - sp28 = random_int(D_80165748); - sp24 = random_int(0x0096U); - sp20 = random_int(0x2000U); - object->origin_pos[0] = (f32) ((((f64) D_80165718 + 100.0) - (f64) sp2C) * (f64) xOrientation); - object->origin_pos[1] = (f32) (D_80165720 + sp28); - object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24); - } else if (GetCourse() == GetRoyalRaceway()) { - sp2C = random_int(0x0168U); - sp28 = random_int(D_80165748); - sp24 = random_int(0x00B4U); - sp20 = random_int(0x2000U); - object->origin_pos[0] = (f32) ((((f64) D_80165718 + 180.0) - (f64) sp2C) * (f64) xOrientation); - object->origin_pos[1] = (f32) (D_80165720 + sp28); - object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24); - } else if (GetCourse() == GetLuigiRaceway()) { - sp2C = random_int(0x012CU); - sp28 = random_int(D_80165748); - sp24 = random_int(0x0096U); - sp20 = random_int(0x2000U); - object->origin_pos[0] = (f32) ((((f64) D_80165718 + 150.0) - (f64) sp2C) * (f64) xOrientation); - object->origin_pos[1] = (f32) (D_80165720 + sp28); - object->origin_pos[2] = (f32) (((f64) D_80165728 + 200.0) - (f64) sp24); - } - - set_obj_origin_offset(objectIndex, 0, 0, 0); - if (gPlayerCount == 1) { - object->velocity[1] = (f32) (((f64) (f32) (sp2C % 4) * 0.25) + 0.8); - } else { - object->velocity[1] = (f32) (((f64) (f32) (sp2C % 3) * 0.2) + 0.4); - } - temp_a0 = sp2C % 8; - object->unk_084[0] = D_800E6F30[temp_a0][0]; - object->unk_084[1] = D_800E6F30[temp_a0][1]; - object->unk_084[2] = D_800E6F30[temp_a0][2]; - object->unk_084[3] = D_800E6F48[temp_a0][0]; - object->unk_084[4] = D_800E6F48[temp_a0][1]; - object->unk_084[5] = D_800E6F48[temp_a0][2]; - object->unk_084[6] = sp20 - 0x1000; - if (sp2C & 1) { - object->unk_084[7] = (sp20 / 32) + 0x100; - } else { - object->unk_084[7] = -0x100 - (sp20 / 32); - } - object->primAlpha = 0x00E6; - object_next_state(objectIndex); -} - -void func_80074D94(s32 objectIndex) { - if (gObjectList[objectIndex].unk_0AE == 1) { - if ((D_80165740 <= gObjectList[objectIndex].offset[1]) && - (s16_step_down_towards(&gObjectList[objectIndex].primAlpha, 0, 8) != 0)) { - func_80086F60(objectIndex); - } - object_add_velocity_offset_y(objectIndex); - } - object_calculate_new_pos_offset(objectIndex); -} - -void func_80074E28(s32 objectIndex) { - switch (gObjectList[objectIndex].state) { - case 1: - func_80074924(objectIndex); - break; - case 2: - if (set_and_run_timer_object(objectIndex, 1) != false) { - func_80086E70(objectIndex); - break; - } - case 0: - break; - case 3: - func_80041480(&gObjectList[objectIndex].unk_084[6], -0x1000, 0x1000, &gObjectList[objectIndex].unk_084[7]); - if (gObjectList[objectIndex].unk_0AE == 0) { - func_80072428(objectIndex); - } - break; - } -} - -void func_80074EE8(void) { - s32 someIndex; - s32 objectIndex; - s32 someCount; - Object* object; - - someCount = 0; - for (someIndex = 0; someIndex < D_80165738; someIndex++) { - objectIndex = gObjectParticle3[someIndex]; - if (objectIndex != DELETED_OBJECT_ID) { - object = &gObjectList[objectIndex]; - if (object->state != 0) { - func_80074E28(objectIndex); - func_80074D94(objectIndex); - if (object->state == 0) { - delete_object_wrapper(&gObjectParticle3[someIndex]); - } - someCount += 1; - } - } - } - if (someCount == 0) { - D_80165730 = 0; - } -} - void func_800750D8(s32 objectIndex, s32 arg1, Vec3f arg2, s32 arg3, s32 arg4) { s32 sp24; s32 temp_v0;