From 2c12a4e00b89cd39608e1cd565419a870efcf7d4 Mon Sep 17 00:00:00 2001 From: water111 <48171810+water111@users.noreply.github.com> Date: Mon, 27 Feb 2023 19:51:14 -0500 Subject: [PATCH] [jak2] WIP minimap (#2280) Work in progress minimap. Known issues: - "path finding" doesn't appear to work - it gets stuck forever in many cases - some nasty patches around timer-based code - jak arrow blending issues - would be nice to make it higher resolution if the search is forced to terminate due to iteration/time limits, the icon is not in the right place ![image](https://user-images.githubusercontent.com/48171810/221432792-678d6124-a6a6-4875-a91f-7eceedbfec98.png) --- decompiler/util/data_decompile.cpp | 12 +- game/CMakeLists.txt | 1 + .../opengl_renderer/DirectRenderer.cpp | 116 ++- .../graphics/opengl_renderer/DirectRenderer.h | 52 +- .../opengl_renderer/OpenGLRenderer.cpp | 5 +- .../opengl_renderer/ProgressRenderer.cpp | 64 ++ .../opengl_renderer/ProgressRenderer.h | 28 + .../shaders/direct_basic_textured.frag | 31 +- .../shaders/direct_basic_textured.vert | 15 +- goal_src/jak2/engine/ui/hud-classes.gc | 2 +- goal_src/jak2/engine/ui/minimap.gc | 2 + .../jak2/levels/city/common/trail-graph.gc | 667 +++++++++--------- goal_src/jak2/levels/city/common/trail.gc | 6 +- .../levels/city/common/trail-graph_REF.gc | 666 +++++++++-------- 14 files changed, 938 insertions(+), 729 deletions(-) create mode 100644 game/graphics/opengl_renderer/ProgressRenderer.cpp create mode 100644 game/graphics/opengl_renderer/ProgressRenderer.h diff --git a/decompiler/util/data_decompile.cpp b/decompiler/util/data_decompile.cpp index bd46072579..7436290f06 100644 --- a/decompiler/util/data_decompile.cpp +++ b/decompiler/util/data_decompile.cpp @@ -1059,7 +1059,9 @@ goos::Object decompile_structure(const TypeSpec& type, enum ByteStatus : u8 { ZERO_UNREAD, HAS_DATA_UNREAD, ZERO_READ, HAS_DATA_READ }; std::vector field_status_per_byte; for (int i = 0; i < byte_count; i++) { - auto& w = obj_words.at(i / 4); + // auto& w = obj_words.at(i / 4); + int b = (offset_location + i); + auto& w = words.at(label.target_segment).at(b / 4); switch (w.kind()) { case LinkedWord::TYPE_PTR: case LinkedWord::PTR: @@ -1068,7 +1070,7 @@ goos::Object decompile_structure(const TypeSpec& type, field_status_per_byte.push_back(HAS_DATA_UNREAD); break; case LinkedWord::PLAIN_DATA: { - field_status_per_byte.push_back(w.get_byte(i % 4) ? HAS_DATA_UNREAD : ZERO_UNREAD); + field_status_per_byte.push_back(w.get_byte(b % 4) ? HAS_DATA_UNREAD : ZERO_UNREAD); } break; default: throw std::runtime_error("Unsupported word in static data"); @@ -1209,7 +1211,11 @@ goos::Object decompile_structure(const TypeSpec& type, } std::vector bytes_out; for (int byte_idx = field_start; byte_idx < field_end; byte_idx++) { - bytes_out.push_back(obj_words.at(byte_idx / 4).get_byte(byte_idx % 4)); + int byte_idx_in_seg = byte_idx + label.offset - type_info->get_offset(); + bytes_out.push_back(words.at(label.target_segment) + .at(byte_idx_in_seg / 4) + .get_byte(byte_idx_in_seg % 4)); + // bytes_out.push_back(obj_words.at(byte_idx / 4).get_byte(byte_idx % 4)); } // use more specific types for gif tags. diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt index 35f58f3d20..766f2d2d3d 100644 --- a/game/CMakeLists.txt +++ b/game/CMakeLists.txt @@ -158,6 +158,7 @@ set(RUNTIME_SOURCE graphics/opengl_renderer/opengl_utils.cpp graphics/opengl_renderer/OpenGLRenderer.cpp graphics/opengl_renderer/Profiler.cpp + graphics/opengl_renderer/ProgressRenderer.cpp graphics/opengl_renderer/Shader.cpp graphics/opengl_renderer/Shadow_PS2.cpp graphics/opengl_renderer/ShadowRenderer.cpp diff --git a/game/graphics/opengl_renderer/DirectRenderer.cpp b/game/graphics/opengl_renderer/DirectRenderer.cpp index 1fcdcc90b0..90e8f81e63 100644 --- a/game/graphics/opengl_renderer/DirectRenderer.cpp +++ b/game/graphics/opengl_renderer/DirectRenderer.cpp @@ -54,6 +54,15 @@ DirectRenderer::DirectRenderer(const std::string& name, int my_id, int batch_siz sizeof(Vertex), // (void*)offsetof(Vertex, tex_unit) // offset in array (why is this a pointer...) ); + + glEnableVertexAttribArray(4); + glVertexAttribIPointer( + 4, // location 4 in the shader + 1, // 3 floats per vert + GL_UNSIGNED_BYTE, // floats + sizeof(Vertex), // + (void*)offsetof(Vertex, use_uv) // offset in array (why is this a pointer...) + ); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); } @@ -69,6 +78,7 @@ DirectRenderer::~DirectRenderer() { void DirectRenderer::render(DmaFollower& dma, SharedRenderState* render_state, ScopedProfilerNode& prof) { + pre_render(); // if we're rendering from a bucket, we should start off we a totally reset state: reset_state(); setup_common_state(render_state); @@ -91,6 +101,8 @@ void DirectRenderer::render(DmaFollower& dma, if (m_enabled) { flush_pending(render_state, prof); } + post_render(); + glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); } void DirectRenderer::reset_state() { @@ -135,6 +147,7 @@ void DirectRenderer::draw_debug_window() { ImGui::Text(" tex1: %d", m_stats.flush_from_tex_1); ImGui::Text(" zbuf: %d", m_stats.flush_from_zbuf); ImGui::Text(" test: %d", m_stats.flush_from_test); + ImGui::Text(" ta0: %d", m_stats.flush_from_ta0); ImGui::Text(" alph: %d", m_stats.flush_from_alpha); ImGui::Text(" clmp: %d", m_stats.flush_from_clamp); ImGui::Text(" prim: %d", m_stats.flush_from_prim); @@ -251,6 +264,7 @@ void DirectRenderer::update_gl_prim(SharedRenderState* render_state) { case GsTest::AlphaTest::ALWAYS: break; case GsTest::AlphaTest::GEQUAL: + case GsTest::AlphaTest::GREATER: // todo alpha_reject = m_test_state.aref / 128.f; break; case GsTest::AlphaTest::NEVER: @@ -274,6 +288,12 @@ void DirectRenderer::update_gl_prim(SharedRenderState* render_state) { "fog_color"), render_state->fog_color[0] / 255.f, render_state->fog_color[1] / 255.f, render_state->fog_color[2] / 255.f, render_state->fog_intensity / 255); + glUniform1i(glGetUniformLocation(render_state->shaders[ShaderId::DIRECT_BASIC_TEXTURED].id(), + "offscreen_mode"), + m_offscreen_mode); + glUniform1f( + glGetUniformLocation(render_state->shaders[ShaderId::DIRECT_BASIC_TEXTURED].id(), "ta0"), + state.ta0 / 255.f); } else { render_state->shaders[ShaderId::DIRECT_BASIC].activate(); @@ -359,6 +379,7 @@ void DirectRenderer::update_gl_blend() { // glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO); glBlendEquation(GL_FUNC_ADD); + } else if (state.a == GsAlpha::BlendMode::SOURCE && state.b == GsAlpha::BlendMode::ZERO_OR_FIXED && state.c == GsAlpha::BlendMode::SOURCE && state.d == GsAlpha::BlendMode::DEST) { @@ -442,6 +463,12 @@ void DirectRenderer::update_gl_test() { } else { glDepthMask(GL_FALSE); } + + if (state.write_rgb) { + glColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + } else { + glColorMaski(0, GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); + } } void DirectRenderer::setup_common_state(SharedRenderState* /*render_state*/) { @@ -658,7 +685,7 @@ void DirectRenderer::handle_ad(const u8* data, handle_tex1_1(value); break; case GsRegisterAddress::TEXA: - handle_texa(value); + handle_texa(value, render_state, prof); break; case GsRegisterAddress::TEXCLUT: // TODO @@ -679,6 +706,7 @@ void DirectRenderer::handle_ad(const u8* data, case GsRegisterAddress::TEXFLUSH: break; case GsRegisterAddress::FRAME_1: + handle_frame(value, render_state, prof); break; case GsRegisterAddress::RGBAQ: // shadow scissor does this? @@ -690,11 +718,28 @@ void DirectRenderer::handle_ad(const u8* data, memcpy(&m_prim_building.Q, data + 4, 4); } break; + case GsRegisterAddress::SCISSOR_1: + // fmt::print("ignoring scissor\n"); + break; + case GsRegisterAddress::XYOFFSET_1: + ASSERT(render_state->version == GameVersion::Jak2); // hardcoded jak 2 scissor vals in handle + handle_xyoffset(value); + break; default: ASSERT_MSG(false, fmt::format("Address {} is not supported", register_address_name(addr))); } } +void DirectRenderer::handle_frame(u64, SharedRenderState*, ScopedProfilerNode&) {} + +void DirectRenderer::handle_xyoffset(u64 val) { + GsXYOffset xyo(val); + // :ofx #x7000 :ofy #x7300 + float scale = -65536; + m_prim_buffer.x_off = scale * ((s32)xyo.ofx() - 0x7000) / float(UINT32_MAX); + m_prim_buffer.y_off = scale * ((s32)xyo.ofy() - 0x7300) / float(UINT32_MAX); +} + void DirectRenderer::handle_tex1_1(u64 val) { GsTex1 reg(val); // for now, we aren't going to handle mipmapping. I don't think it's used with direct. @@ -750,17 +795,6 @@ void DirectRenderer::handle_tex0_1(u64 val) { // csm: assume they got it right } -void DirectRenderer::handle_texa(u64 val) { - GsTexa reg(val); - - // rgba16 isn't used so this doesn't matter? - // but they use sane defaults anyway - ASSERT(reg.ta0() == 0); - ASSERT(reg.ta1() == 0x80); // note: check rgba16_to_rgba32 if this changes. - - ASSERT(reg.aem() == false); -} - void DirectRenderer::handle_st_packed(const u8* data) { memcpy(&m_prim_building.st_reg.x(), data + 0, 4); memcpy(&m_prim_building.st_reg.y(), data + 4, 4); @@ -773,7 +807,7 @@ void DirectRenderer::handle_uv_packed(const u8* data) { memcpy(&v, data + 4, 4); m_prim_building.st_reg.x() = u; m_prim_building.st_reg.y() = v; - m_prim_building.Q = 16.f; + m_prim_building.Q = 1; } void DirectRenderer::handle_rgbaq_packed(const u8* data) { @@ -852,7 +886,26 @@ void DirectRenderer::handle_test1(u64 val, m_prim_gl_state_needs_gl_update = true; } } +void DirectRenderer::handle_texa(u64 val, + SharedRenderState* render_state, + ScopedProfilerNode& prof) { + GsTexa reg(val); + // rgba16 isn't used so this doesn't matter? + // but they use sane defaults anyway + // ASSERT(reg.ta0() == 0); TODO + if (m_prim_gl_state.ta0 != reg.ta0()) { + m_stats.flush_from_ta0++; + flush_pending(render_state, prof); + m_prim_gl_state.ta0 = reg.ta0(); + m_test_state_needs_gl_update = true; + m_prim_gl_state_needs_gl_update = true; + m_blend_state_needs_gl_update = true; + } + ASSERT(reg.ta1() == 0x80); // note: check rgba16_to_rgba32 if this changes. + + ASSERT(reg.aem() == false); +} void DirectRenderer::handle_alpha1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof) { @@ -965,6 +1018,7 @@ void DirectRenderer::handle_xyzf2_common(u32 x, bool tcc = m_buffered_tex_state[tex_unit].tcc; bool decal = m_buffered_tex_state[tex_unit].decal; bool fge = m_prim_gl_state.fogging_enable; + bool use_uv = m_prim_gl_state.use_uv; switch (m_prim_building.kind) { case GsPrim::Kind::SPRITE: { @@ -990,12 +1044,12 @@ void DirectRenderer::handle_xyzf2_common(u32 x, auto& corner3_rgba = corner2_rgba; auto& corner4_rgba = corner2_rgba; - m_prim_buffer.push(corner1_rgba, corner1_vert, corner1_stq, 0, tcc, decal, fge); - m_prim_buffer.push(corner3_rgba, corner3_vert, corner3_stq, 0, tcc, decal, fge); - m_prim_buffer.push(corner2_rgba, corner2_vert, corner2_stq, 0, tcc, decal, fge); - m_prim_buffer.push(corner2_rgba, corner2_vert, corner2_stq, 0, tcc, decal, fge); - m_prim_buffer.push(corner4_rgba, corner4_vert, corner4_stq, 0, tcc, decal, fge); - m_prim_buffer.push(corner1_rgba, corner1_vert, corner1_stq, 0, tcc, decal, fge); + m_prim_buffer.push(corner1_rgba, corner1_vert, corner1_stq, 0, tcc, decal, fge, use_uv); + m_prim_buffer.push(corner3_rgba, corner3_vert, corner3_stq, 0, tcc, decal, fge, use_uv); + m_prim_buffer.push(corner2_rgba, corner2_vert, corner2_stq, 0, tcc, decal, fge, use_uv); + m_prim_buffer.push(corner2_rgba, corner2_vert, corner2_stq, 0, tcc, decal, fge, use_uv); + m_prim_buffer.push(corner4_rgba, corner4_vert, corner4_stq, 0, tcc, decal, fge, use_uv); + m_prim_buffer.push(corner1_rgba, corner1_vert, corner1_stq, 0, tcc, decal, fge, use_uv); m_prim_building.building_idx = 0; } } break; @@ -1011,7 +1065,7 @@ void DirectRenderer::handle_xyzf2_common(u32 x, if (advance) { for (int i = 0; i < 3; i++) { m_prim_buffer.push(m_prim_building.building_rgba[i], m_prim_building.building_vert[i], - m_prim_building.building_stq[i], tex_unit, tcc, decal, fge); + m_prim_building.building_stq[i], tex_unit, tcc, decal, fge, use_uv); } } } @@ -1023,7 +1077,7 @@ void DirectRenderer::handle_xyzf2_common(u32 x, m_prim_building.building_idx = 0; for (int i = 0; i < 3; i++) { m_prim_buffer.push(m_prim_building.building_rgba[i], m_prim_building.building_vert[i], - m_prim_building.building_stq[i], tex_unit, tcc, decal, fge); + m_prim_building.building_stq[i], tex_unit, tcc, decal, fge, use_uv); } } break; @@ -1039,7 +1093,7 @@ void DirectRenderer::handle_xyzf2_common(u32 x, } for (int i = 0; i < 3; i++) { m_prim_buffer.push(m_prim_building.building_rgba[i], m_prim_building.building_vert[i], - m_prim_building.building_stq[i], tex_unit, tcc, decal, fge); + m_prim_building.building_stq[i], tex_unit, tcc, decal, fge, use_uv); } } } break; @@ -1064,13 +1118,13 @@ void DirectRenderer::handle_xyzf2_common(u32 x, math::Vector di{d.x(), d.y(), d.z(), 0}; // ACB: - m_prim_buffer.push(m_prim_building.building_rgba[0], ai, {}, 0, false, false, false); - m_prim_buffer.push(m_prim_building.building_rgba[0], ci, {}, 0, false, false, false); - m_prim_buffer.push(m_prim_building.building_rgba[1], bi, {}, 0, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[0], ai, {}, 0, false, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[0], ci, {}, 0, false, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[1], bi, {}, 0, false, false, false, false); // b c d - m_prim_buffer.push(m_prim_building.building_rgba[1], bi, {}, 0, false, false, false); - m_prim_buffer.push(m_prim_building.building_rgba[0], ci, {}, 0, false, false, false); - m_prim_buffer.push(m_prim_building.building_rgba[1], di, {}, 0, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[1], bi, {}, 0, false, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[0], ci, {}, 0, false, false, false, false); + m_prim_buffer.push(m_prim_building.building_rgba[1], di, {}, 0, false, false, false, false); // m_prim_building.building_idx = 0; @@ -1142,11 +1196,14 @@ void DirectRenderer::PrimitiveBuffer::push(const math::Vector& rgba, int unit, bool tcc, bool decal, - bool fog_enable) { + bool fog_enable, + bool use_uv) { auto& v = vertices[vert_count]; v.rgba = rgba; v.xyzf[0] = (float)vert[0] / (float)UINT32_MAX; + v.xyzf[0] += x_off; v.xyzf[1] = (float)vert[1] / (float)UINT32_MAX; + v.xyzf[1] += y_off; v.xyzf[2] = (float)vert[2] / (float)0xffffff; v.xyzf[3] = (float)vert[3]; v.stq = st; @@ -1154,5 +1211,6 @@ void DirectRenderer::PrimitiveBuffer::push(const math::Vector& rgba, v.tcc = tcc; v.decal = decal; v.fog_enable = fog_enable; + v.use_uv = use_uv; vert_count++; } diff --git a/game/graphics/opengl_renderer/DirectRenderer.h b/game/graphics/opengl_renderer/DirectRenderer.h index dc15419a8d..2b687b2f88 100644 --- a/game/graphics/opengl_renderer/DirectRenderer.h +++ b/game/graphics/opengl_renderer/DirectRenderer.h @@ -23,7 +23,8 @@ class DirectRenderer : public BucketRenderer { DirectRenderer(const std::string& name, int my_id, int batch_size); ~DirectRenderer(); void render(DmaFollower& dma, SharedRenderState* render_state, ScopedProfilerNode& prof) override; - + virtual void pre_render() {} + virtual void post_render() {} /*! * Render directly from _VIF_ data. * You can optionally provide two vif tags that come in front of data. @@ -66,22 +67,9 @@ class DirectRenderer : public BucketRenderer { } void set_mipmap(bool en) { m_debug_state.disable_mipmap = !en; } - - private: - void handle_ad(const u8* data, SharedRenderState* render_state, ScopedProfilerNode& prof); - void handle_zbuf1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); - void handle_test1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); - void handle_alpha1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); - void handle_pabe(u64 val); - void handle_clamp1(u64 val); void handle_prim(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); - void handle_prim_packed(const u8* data, - SharedRenderState* render_state, - ScopedProfilerNode& prof); - void handle_rgbaq(u64 val); - void handle_xyzf2(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_ad(const u8* data, SharedRenderState* render_state, ScopedProfilerNode& prof); void handle_st_packed(const u8* data); - void handle_uv_packed(const u8* data); void handle_rgbaq_packed(const u8* data); void handle_xyzf2_packed(const u8* data, SharedRenderState* render_state, @@ -89,11 +77,25 @@ class DirectRenderer : public BucketRenderer { void handle_xyz2_packed(const u8* data, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_prim_packed(const u8* data, + SharedRenderState* render_state, + ScopedProfilerNode& prof); void handle_tex0_1_packed(const u8* data); + void handle_uv_packed(const u8* data); + void handle_rgbaq(u64 val); + void handle_xyzf2(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + + protected: + virtual void handle_frame(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_zbuf1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_test1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_alpha1(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_pabe(u64 val); + void handle_clamp1(u64 val); void handle_tex0_1(u64 val); void handle_tex1_1(u64 val); - void handle_texa(u64 val); - + void handle_texa(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof); + void handle_xyoffset(u64 val); void handle_xyzf2_common(u32 x, u32 y, u32 z, @@ -106,6 +108,7 @@ class DirectRenderer : public BucketRenderer { void update_gl_blend(); void update_gl_test(); void update_gl_texture(SharedRenderState* render_state, int unit); + bool m_offscreen_mode = false; struct TestState { void from_register(GsTest reg); @@ -120,7 +123,7 @@ class DirectRenderer : public BucketRenderer { bool datm = false; bool zte = true; GsTest::ZTest ztst = GsTest::ZTest::GEQUAL; - + bool write_rgb = true; bool depth_writes = true; } m_test_state; @@ -151,6 +154,7 @@ class DirectRenderer : public BucketRenderer { bool use_uv = false; // todo: might not require a gl state change bool ctxt = false; // do they ever use ctxt2? bool fix = false; // what does this even do? + u32 ta0 = 0; } m_prim_gl_state; static constexpr int TEXTURE_STATE_COUNT = 1; @@ -161,7 +165,6 @@ class DirectRenderer : public BucketRenderer { bool using_mt4hh = false; bool tcc = false; bool decal = false; - bool enable_tex_filt = true; struct ClampState { @@ -206,7 +209,6 @@ class DirectRenderer : public BucketRenderer { int tri_strip_startup = 0; float Q = 1.0; - } m_prim_building; struct Vertex { @@ -217,7 +219,8 @@ class DirectRenderer : public BucketRenderer { u8 tcc; u8 decal; u8 fog_enable; - math::Vector pad; + u8 use_uv; + math::Vector pad; }; static_assert(sizeof(Vertex) == 64); static_assert(offsetof(Vertex, tex_unit) == 32); @@ -227,7 +230,8 @@ class DirectRenderer : public BucketRenderer { std::vector vertices; int vert_count = 0; int max_verts = 0; - + float x_off = 0; + float y_off = 0; // leave 6 free on the end so we always have room to flush one last primitive. bool is_full() { return max_verts < (vert_count + 18); } void push(const math::Vector& rgba, @@ -236,7 +240,8 @@ class DirectRenderer : public BucketRenderer { int unit, bool tcc, bool decal, - bool fog_enable); + bool fog_enable, + bool use_uv); } m_prim_buffer; struct { @@ -264,6 +269,7 @@ class DirectRenderer : public BucketRenderer { int flush_from_tex_1 = 0; int flush_from_zbuf = 0; int flush_from_test = 0; + int flush_from_ta0 = 0; int flush_from_alpha = 0; int flush_from_clamp = 0; int flush_from_prim = 0; diff --git a/game/graphics/opengl_renderer/OpenGLRenderer.cpp b/game/graphics/opengl_renderer/OpenGLRenderer.cpp index a860f7e388..e9366507b4 100644 --- a/game/graphics/opengl_renderer/OpenGLRenderer.cpp +++ b/game/graphics/opengl_renderer/OpenGLRenderer.cpp @@ -7,6 +7,7 @@ #include "game/graphics/opengl_renderer/DirectRenderer.h" #include "game/graphics/opengl_renderer/EyeRenderer.h" #include "game/graphics/opengl_renderer/LightningRenderer.h" +#include "game/graphics/opengl_renderer/ProgressRenderer.h" #include "game/graphics/opengl_renderer/ShadowRenderer.h" #include "game/graphics/opengl_renderer/SkyRenderer.h" #include "game/graphics/opengl_renderer/TextureUploadHandler.h" @@ -310,8 +311,8 @@ void OpenGLRenderer::init_bucket_renderers_jak2() { init_bucket_renderer("tex-all-map", BucketCategory::TEX, BucketId::TEX_ALL_MAP); // 320 - init_bucket_renderer("progress", BucketCategory::OTHER, BucketId::PROGRESS, - 0x8000); + init_bucket_renderer("progress", BucketCategory::OTHER, BucketId::PROGRESS, + 0x8000); init_bucket_renderer("screen-filter", BucketCategory::OTHER, BucketId::SCREEN_FILTER, 256); init_bucket_renderer("bucket-322", BucketCategory::OTHER, BucketId::BUCKET_322, diff --git a/game/graphics/opengl_renderer/ProgressRenderer.cpp b/game/graphics/opengl_renderer/ProgressRenderer.cpp new file mode 100644 index 0000000000..f8f6add8c2 --- /dev/null +++ b/game/graphics/opengl_renderer/ProgressRenderer.cpp @@ -0,0 +1,64 @@ +#include "ProgressRenderer.h" + +ProgressRenderer::ProgressRenderer(const std::string& name, int my_id, int batch_size) + : DirectRenderer(name, my_id, batch_size), + m_minimap_fb(kMinimapWidth, kMinimapHeight, GL_UNSIGNED_INT_8_8_8_8_REV) {} + +void ProgressRenderer::pre_render() { + m_current_fbp = kScreenFbp; +} + +void ProgressRenderer::post_render() { + m_fb_ctxt.reset(); + m_offscreen_mode = false; +} + +void ProgressRenderer::init_textures(TexturePool& texture_pool, GameVersion) { + TextureInput in; + in.gpu_texture = m_minimap_fb.texture(); + in.w = kMinimapWidth; + in.h = kMinimapHeight; + in.debug_page_name = "PC-MAP"; + in.debug_name = "map"; + in.id = texture_pool.allocate_pc_port_texture(); + m_minimap_gpu_tex = texture_pool.give_texture_and_load_to_vram(in, kMinimapVramAddr); +} + +void ProgressRenderer::handle_frame(u64 val, + SharedRenderState* render_state, + ScopedProfilerNode& prof) { + GsFrame f(val); + u32 fbp = f.fbp(); + bool flushed = false; + if (fbp != m_current_fbp) { + flush_pending(render_state, prof); + flushed = true; + m_prim_gl_state_needs_gl_update = true; + m_current_fbp = fbp; + switch (f.fbp()) { + case kScreenFbp: // 408 + m_fb_ctxt.reset(); + m_offscreen_mode = false; + break; + case kMinimapFbp: // 126 + m_fb_ctxt.emplace(m_minimap_fb); + m_offscreen_mode = true; + break; + default: + fmt::print("Unknown fbp in ProgressRenderer: {}\n", f.fbp()); + ASSERT(false); + } + } + + bool write_rgb = f.fbmsk() != 0xffffff; + if (write_rgb != m_test_state.write_rgb) { + if (!flushed) { + m_stats.flush_from_test++; + flush_pending(render_state, prof); + } + + m_test_state.write_rgb = write_rgb; + m_test_state_needs_gl_update = true; + m_prim_gl_state_needs_gl_update = true; + } +} \ No newline at end of file diff --git a/game/graphics/opengl_renderer/ProgressRenderer.h b/game/graphics/opengl_renderer/ProgressRenderer.h new file mode 100644 index 0000000000..7fa6de8ea8 --- /dev/null +++ b/game/graphics/opengl_renderer/ProgressRenderer.h @@ -0,0 +1,28 @@ +#pragma once + +#include "game/graphics/opengl_renderer/BucketRenderer.h" +#include "game/graphics/opengl_renderer/DirectRenderer.h" +#include "game/graphics/opengl_renderer/opengl_utils.h" + +/*! + * Renderer for the "Progress Bucket" of Jak 2. + */ +class ProgressRenderer : public DirectRenderer { + public: + static constexpr int kMinimapVramAddr = 4032; + static constexpr int kMinimapWidth = 128; + static constexpr int kMinimapHeight = 128; + static constexpr int kScreenFbp = 408; + static constexpr int kMinimapFbp = 126; + ProgressRenderer(const std::string& name, int my_id, int batch_size); + void init_textures(TexturePool& texture_pool, GameVersion) override; + void handle_frame(u64 val, SharedRenderState* render_state, ScopedProfilerNode& prof) override; + void pre_render() override; + void post_render() override; + + private: + GpuTexture* m_minimap_gpu_tex = nullptr; + FramebufferTexturePair m_minimap_fb; + std::optional m_fb_ctxt; + u32 m_current_fbp = kScreenFbp; +}; \ No newline at end of file diff --git a/game/graphics/opengl_renderer/shaders/direct_basic_textured.frag b/game/graphics/opengl_renderer/shaders/direct_basic_textured.frag index 8e67fa7425..e0a9648654 100644 --- a/game/graphics/opengl_renderer/shaders/direct_basic_textured.frag +++ b/game/graphics/opengl_renderer/shaders/direct_basic_textured.frag @@ -4,10 +4,12 @@ out vec4 color; in vec4 fragment_color; in vec3 tex_coord; +in flat uint use_uv; uniform float alpha_reject; uniform float color_mult; uniform float alpha_mult; uniform float alpha_sub; +uniform float ta0; uniform vec4 fog_color; @@ -41,10 +43,37 @@ vec4 sample_tex(vec2 coord, uint unit) { } } +vec4 sample_tex_px(vec2 coordf, uint unit) { + ivec2 coord; + coord.x = int(coordf.x / 16); + coord.y = int(coordf.y / 16); + switch (unit) { + case 0: return texelFetch(tex_T0, coord, 0); + case 1: return texelFetch(tex_T1, coord, 0); + case 2: return texelFetch(tex_T2, coord, 0); + case 3: return texelFetch(tex_T3, coord, 0); + case 4: return texelFetch(tex_T4, coord, 0); + case 5: return texelFetch(tex_T5, coord, 0); + case 6: return texelFetch(tex_T6, coord, 0); + case 7: return texelFetch(tex_T7, coord, 0); + case 8: return texelFetch(tex_T8, coord, 0); + case 9: return texelFetch(tex_T9, coord, 0); + default : return vec4(1.0, 0, 1.0, 1.0); + } +} + void main() { - vec4 T0 = sample_tex(tex_coord.xy / tex_coord.z, tex_info.x); + vec4 T0; + if (use_uv == 1) { + T0 = sample_tex_px(tex_coord.xy, tex_info.x); + } else { + T0 = sample_tex(tex_coord.xy / tex_coord.z, tex_info.x); + } // y is tcc // z is decal + if (T0.w == 0) { + T0.w = ta0; + } if (tex_info.y == 0) { if (tex_info.z == 0) { diff --git a/game/graphics/opengl_renderer/shaders/direct_basic_textured.vert b/game/graphics/opengl_renderer/shaders/direct_basic_textured.vert index 84f317ddbb..99cc2b6794 100644 --- a/game/graphics/opengl_renderer/shaders/direct_basic_textured.vert +++ b/game/graphics/opengl_renderer/shaders/direct_basic_textured.vert @@ -10,14 +10,23 @@ out float fog; // putting all texture info stuff here so it's easier to copy-paste layout (location = 3) in uvec4 tex_info_in; +layout (location = 4) in uint use_uv_in; out flat uvec4 tex_info; +out flat uint use_uv; +uniform int offscreen_mode; void main() { - gl_Position = vec4((position_in.x - 0.5) * 16., -(position_in.y - 0.5) * 32 * HEIGHT_SCALE, position_in.z * 2 - 1., 1.0); - // scissoring area adjust - gl_Position.y *= SCISSOR_ADJUST; + if (offscreen_mode == 1) { + gl_Position = vec4((position_in.x - 0.453125) * 64., (position_in.y - 0.5 + (2.25 / 64)) * 64, position_in.z * 2 - 1., 1.0); + } else { + gl_Position = vec4((position_in.x - 0.5) * 16., -(position_in.y - 0.5) * 32 * HEIGHT_SCALE, position_in.z * 2 - 1., 1.0); + // scissoring area adjust + gl_Position.y *= SCISSOR_ADJUST; + } + fragment_color = vec4(rgba_in.x, rgba_in.y, rgba_in.z, rgba_in.w * 2.); tex_coord = tex_coord_in; tex_info = tex_info_in; fog = 255 - position_in.w; + use_uv = use_uv_in; } diff --git a/goal_src/jak2/engine/ui/hud-classes.gc b/goal_src/jak2/engine/ui/hud-classes.gc index 5a1617bc96..9b84495395 100644 --- a/goal_src/jak2/engine/ui/hud-classes.gc +++ b/goal_src/jak2/engine/ui/hud-classes.gc @@ -7,7 +7,7 @@ ;; DECOMP BEGINS -(defglobalconstant SKIP_MINIMAP_DRAW #t) +(defglobalconstant SKIP_MINIMAP_DRAW #f) ;; WARN: Failed store: (s.w! (+ v1-35 8) 0) at op 135 ;; WARN: Failed store: (s.w! (+ v1-35 12) 0) at op 136 diff --git a/goal_src/jak2/engine/ui/minimap.gc b/goal_src/jak2/engine/ui/minimap.gc index 5d6d1d4140..4eb5123dcd 100644 --- a/goal_src/jak2/engine/ui/minimap.gc +++ b/goal_src/jak2/engine/ui/minimap.gc @@ -990,6 +990,8 @@ ) ) ) + ;; added in PC port: they timed stuff, we just allow it to run a fixed number of iterations. + (+! v1-1 100) (.mfc0 v1-1 Count) ) ) diff --git a/goal_src/jak2/levels/city/common/trail-graph.gc b/goal_src/jak2/levels/city/common/trail-graph.gc index f06b25cf2a..83a502fdd0 100644 --- a/goal_src/jak2/levels/city/common/trail-graph.gc +++ b/goal_src/jak2/levels/city/common/trail-graph.gc @@ -7,673 +7,674 @@ ;; DECOMP BEGINS +;; definition for symbol *trail-graph*, type trail-graph (define *trail-graph* (new 'static 'trail-graph :node-count #x297 :conn-count #x317 :node (new 'static 'inline-array trail-node 663 (new 'static 'trail-node :x #x47d :z 88 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x47b :first-conn #x1b :cost-from-start #x1) + (new 'static 'trail-node :x #x47b :z 27 :first-conn #x1 :conn-count #x2) (new 'static 'trail-node :x #x46e :z 16 :first-conn #x3 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x45e :first-conn #x17 :cost-from-start #x5) + (new 'static 'trail-node :x #x45e :z 23 :first-conn #x5 :conn-count #x2) (new 'static 'trail-node :x #x454 :z 42 :first-conn #x7 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x41d :first-conn #x7f :cost-from-start #xa) + (new 'static 'trail-node :x #x41d :z #x7f :first-conn #xa :conn-count #x5) (new 'static 'trail-node :x #x404 :z #x8e :first-conn #xf :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x404 :first-conn #xbb :cost-from-start #x13) + (new 'static 'trail-node :x #x404 :z #xbb :first-conn #x13 :conn-count #x4) (new 'static 'trail-node :x #x413 :z #xbc :first-conn #x17 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x443 :first-conn #xb2 :cost-from-start #x1c) + (new 'static 'trail-node :x #x443 :z #xb2 :first-conn #x1c :conn-count #x4) (new 'static 'trail-node :x #x445 :z #x8b :first-conn #x20 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x430 :first-conn #x7b :cost-from-start #x23) + (new 'static 'trail-node :x #x430 :z #x7b :first-conn #x23 :conn-count #x2) (new 'static 'trail-node :x #x42d :z #xbc :first-conn #x25 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x44f :first-conn #xc0 :cost-from-start #x29) + (new 'static 'trail-node :x #x44f :z #xc0 :first-conn #x29 :conn-count #x5) (new 'static 'trail-node :x #x472 :z #xeb :first-conn #x2e :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x472 :first-conn #xb7 :cost-from-start #x31) + (new 'static 'trail-node :x #x472 :z #xb7 :first-conn #x31 :conn-count #x3) (new 'static 'trail-node :x #x473 :z #x96 :first-conn #x34 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x473 :first-conn #x114 :cost-from-start #x35) + (new 'static 'trail-node :x #x473 :z #x114 :first-conn #x35 :conn-count #x2) (new 'static 'trail-node :x #x46e :z #x126 :first-conn #x37 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x446 :first-conn #x163 :cost-from-start #x3a) + (new 'static 'trail-node :x #x446 :z #x163 :first-conn #x3a :conn-count #x3) (new 'static 'trail-node :x #x41a :z #x13f :first-conn #x3d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3ec :first-conn #x15d :cost-from-start #x40) + (new 'static 'trail-node :x #x3ec :z #x15d :first-conn #x40 :conn-count #x2) (new 'static 'trail-node :x #x391 :z #x15d :first-conn #x42 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x37f :first-conn #x148 :cost-from-start #x45) + (new 'static 'trail-node :x #x37f :z #x148 :first-conn #x45 :conn-count #x3) (new 'static 'trail-node :x #x387 :z #x12c :first-conn #x48 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x3d5 :first-conn #x127 :cost-from-start #x4a) + (new 'static 'trail-node :x #x3d5 :z #x127 :first-conn #x4a :conn-count #x2) (new 'static 'trail-node :x #x3e3 :z #x119 :first-conn #x4c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3df :first-conn #xf8 :cost-from-start #x4f) + (new 'static 'trail-node :x #x3df :z #xf8 :first-conn #x4f :conn-count #x4) (new 'static 'trail-node :x #x416 :z #xee :first-conn #x53 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x42a :first-conn #xd6 :cost-from-start #x56) + (new 'static 'trail-node :x #x42a :z #xd6 :first-conn #x56 :conn-count #x5) (new 'static 'trail-node :x #x374 :z #x162 :first-conn #x5b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x359 :first-conn #x15e :cost-from-start #x5e) + (new 'static 'trail-node :x #x359 :z #x15e :first-conn #x5e :conn-count #x3) (new 'static 'trail-node :x #x344 :z #x140 :first-conn #x61 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x350 :first-conn #x111 :cost-from-start #x64) + (new 'static 'trail-node :x #x350 :z #x111 :first-conn #x64 :conn-count #x3) (new 'static 'trail-node :x #x384 :z #xe8 :first-conn #x67 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3a9 :first-conn #xee :cost-from-start #x6a) + (new 'static 'trail-node :x #x3a9 :z #xee :first-conn #x6a :conn-count #x2) (new 'static 'trail-node :x #x3cd :z #xf4 :first-conn #x6c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3d9 :first-conn #xd8 :cost-from-start #x6f) + (new 'static 'trail-node :x #x3d9 :z #xd8 :first-conn #x6f :conn-count #x5) (new 'static 'trail-node :x #x3e4 :z #xc0 :first-conn #x74 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x32c :first-conn #x15b :cost-from-start #x78) + (new 'static 'trail-node :x #x32c :z #x15b :first-conn #x78 :conn-count #x3) (new 'static 'trail-node :x #x308 :z #x156 :first-conn #x7b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x331 :first-conn #xc2 :cost-from-start #x7e) + (new 'static 'trail-node :x #x331 :z #xc2 :first-conn #x7e :conn-count #x2) (new 'static 'trail-node :x #x354 :z #xc9 :first-conn #x80 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x316 :first-conn #xca :cost-from-start #x83) + (new 'static 'trail-node :x #x316 :z #xca :first-conn #x83 :conn-count #x3) (new 'static 'trail-node :x #x3d2 :z #x95 :first-conn #x86 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3a7 :first-conn #x9b :cost-from-start #x8a) + (new 'static 'trail-node :x #x3a7 :z #x9b :first-conn #x8a :conn-count #x4) (new 'static 'trail-node :x #x368 :z #x75 :first-conn #x8e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x326 :first-conn #xc :cost-from-start #x90) + (new 'static 'trail-node :x #x326 :z 12 :first-conn #x90 :conn-count #x2) (new 'static 'trail-node :x #x335 :z 58 :first-conn #x92 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x31a :first-conn #xffe7 :cost-from-start #x94) + (new 'static 'trail-node :x #x31a :z -25 :first-conn #x94 :conn-count #x2) (new 'static 'trail-node :x #x2e1 :z -81 :first-conn #x96 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x44b :first-conn #x199 :cost-from-start #x98) + (new 'static 'trail-node :x #x44b :z #x199 :first-conn #x98 :conn-count #x4) (new 'static 'trail-node :x #x464 :z #x1c8 :first-conn #x9c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x46a :first-conn #x1f8 :cost-from-start #x9f) + (new 'static 'trail-node :x #x46a :z #x1f8 :first-conn #x9f :conn-count #x1) (new 'static 'trail-node :x #x3e0 :z #x1bf :first-conn #xa0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x3c7 :first-conn #x1d9 :cost-from-start #xa5) + (new 'static 'trail-node :x #x3c7 :z #x1d9 :first-conn #xa5 :conn-count #x3) (new 'static 'trail-node :x #x389 :z #x1e1 :first-conn #xa8 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x387 :first-conn #x1a2 :cost-from-start #xac) + (new 'static 'trail-node :x #x387 :z #x1a2 :first-conn #xac :conn-count #x3) (new 'static 'trail-node :x #x381 :z #x21c :first-conn #xaf :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x391 :first-conn #x236 :cost-from-start #xb2) + (new 'static 'trail-node :x #x391 :z #x236 :first-conn #xb2 :conn-count #x4) (new 'static 'trail-node :x #x3bc :z #x23d :first-conn #xb6 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3d0 :first-conn #x1f7 :cost-from-start #xba) + (new 'static 'trail-node :x #x3d0 :z #x1f7 :first-conn #xba :conn-count #x4) (new 'static 'trail-node :x #x410 :z #x200 :first-conn #xbe :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x425 :first-conn #x23a :cost-from-start #xc2) + (new 'static 'trail-node :x #x425 :z #x23a :first-conn #xc2 :conn-count #x4) (new 'static 'trail-node :x #x453 :z #x23e :first-conn #xc6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x468 :first-conn #x24f :cost-from-start #xc8) + (new 'static 'trail-node :x #x468 :z #x24f :first-conn #xc8 :conn-count #x2) (new 'static 'trail-node :x #x468 :z #x290 :first-conn #xca :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x463 :first-conn #x2be :cost-from-start #xcc) + (new 'static 'trail-node :x #x463 :z #x2be :first-conn #xcc :conn-count #x2) (new 'static 'trail-node :x #x435 :z #x2be :first-conn #xce :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x449 :first-conn #x29d :cost-from-start #xd0) + (new 'static 'trail-node :x #x449 :z #x29d :first-conn #xd0 :conn-count #x2) (new 'static 'trail-node :x #x42e :z #x28c :first-conn #xd2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x41a :first-conn #x279 :cost-from-start #xd4) + (new 'static 'trail-node :x #x41a :z #x279 :first-conn #xd4 :conn-count #x2) (new 'static 'trail-node :x #x3d7 :z #x27a :first-conn #xd6 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3a0 :first-conn #x27b :cost-from-start #xd9) + (new 'static 'trail-node :x #x3a0 :z #x27b :first-conn #xd9 :conn-count #x3) (new 'static 'trail-node :x #x363 :z #x27e :first-conn #xdc :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x35b :first-conn #x2dd :cost-from-start #xdf) + (new 'static 'trail-node :x #x35b :z #x2dd :first-conn #xdf :conn-count #x4) (new 'static 'trail-node :x #x312 :z #x2d5 :first-conn #xe3 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x312 :first-conn #x27d :cost-from-start #xe5) + (new 'static 'trail-node :x #x312 :z #x27d :first-conn #xe5 :conn-count #x2) (new 'static 'trail-node :x #x344 :z #x214 :first-conn #xe7 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x319 :first-conn #x232 :cost-from-start #xea) + (new 'static 'trail-node :x #x319 :z #x232 :first-conn #xea :conn-count #x2) (new 'static 'trail-node :x #x32f :z #x1f7 :first-conn #xec :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x32c :first-conn #x1c7 :cost-from-start #xef) + (new 'static 'trail-node :x #x32c :z #x1c7 :first-conn #xef :conn-count #x2) (new 'static 'trail-node :x #x2fd :z #x1ad :first-conn #xf1 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x30b :first-conn #x1ad :cost-from-start #xf3) + (new 'static 'trail-node :x #x30b :z #x1ad :first-conn #xf3 :conn-count #x2) (new 'static 'trail-node :x #x419 :z #x34a :first-conn #xf5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x434 :first-conn #x334 :cost-from-start #xf7) + (new 'static 'trail-node :x #x434 :z #x334 :first-conn #xf7 :conn-count #x2) (new 'static 'trail-node :x #x438 :z #x30e :first-conn #xf9 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x3a5 :first-conn #x351 :cost-from-start #xfa) + (new 'static 'trail-node :x #x3a5 :z #x351 :first-conn #xfa :conn-count #x3) (new 'static 'trail-node :x #x373 :z #x351 :first-conn #xfd :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x363 :first-conn #x334 :cost-from-start #xff) + (new 'static 'trail-node :x #x363 :z #x334 :first-conn #xff :conn-count #x3) (new 'static 'trail-node :x #x3dc :z #x34e :first-conn #x102 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3bf :first-conn #x36a :cost-from-start #x105) + (new 'static 'trail-node :x #x3bf :z #x36a :first-conn #x105 :conn-count #x5) (new 'static 'trail-node :x #x3db :z #x384 :first-conn #x10a :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3be :first-conn #x3a7 :cost-from-start #x10e) + (new 'static 'trail-node :x #x3be :z #x3a7 :first-conn #x10e :conn-count #x4) (new 'static 'trail-node :x #x3a0 :z #x38b :first-conn #x112 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x341 :first-conn #x388 :cost-from-start #x116) + (new 'static 'trail-node :x #x341 :z #x388 :first-conn #x116 :conn-count #x3) (new 'static 'trail-node :x #x31a :z #x36e :first-conn #x119 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x318 :first-conn #x330 :cost-from-start #x11c) + (new 'static 'trail-node :x #x318 :z #x330 :first-conn #x11c :conn-count #x1) (new 'static 'trail-node :x #x31d :z #x3a8 :first-conn #x11d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x31d :first-conn #x3d0 :cost-from-start #x120) + (new 'static 'trail-node :x #x31d :z #x3d0 :first-conn #x120 :conn-count #x2) (new 'static 'trail-node :x #x337 :z #x3f1 :first-conn #x122 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x365 :first-conn #x3f7 :cost-from-start #x124) + (new 'static 'trail-node :x #x365 :z #x3f7 :first-conn #x124 :conn-count #x2) (new 'static 'trail-node :x #x375 :z #x415 :first-conn #x126 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x363 :first-conn #x439 :cost-from-start #x12a) + (new 'static 'trail-node :x #x363 :z #x439 :first-conn #x12a :conn-count #x5) (new 'static 'trail-node :x #x36a :z #x473 :first-conn #x12f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x3ca :first-conn #x468 :cost-from-start #x131) + (new 'static 'trail-node :x #x3ca :z #x468 :first-conn #x131 :conn-count #x5) (new 'static 'trail-node :x #x39e :z #x426 :first-conn #x136 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3bd :first-conn #x41a :cost-from-start #x139) + (new 'static 'trail-node :x #x3bd :z #x41a :first-conn #x139 :conn-count #x3) (new 'static 'trail-node :x #x3be :z #x3dd :first-conn #x13c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x33d :first-conn #x43a :cost-from-start #x13e) + (new 'static 'trail-node :x #x33d :z #x43a :first-conn #x13e :conn-count #x3) (new 'static 'trail-node :x #x30a :z #x43b :first-conn #x141 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x30a :first-conn #x455 :cost-from-start #x143) + (new 'static 'trail-node :x #x30a :z #x455 :first-conn #x143 :conn-count #x2) (new 'static 'trail-node :x #x332 :z #x45d :first-conn #x145 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x332 :first-conn #x488 :cost-from-start #x148) + (new 'static 'trail-node :x #x332 :z #x488 :first-conn #x148 :conn-count #x2) (new 'static 'trail-node :x #x3f8 :z #x384 :first-conn #x14a :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x410 :first-conn #x39b :cost-from-start #x14d) + (new 'static 'trail-node :x #x410 :z #x39b :first-conn #x14d :conn-count #x3) (new 'static 'trail-node :x #x412 :z #x3eb :first-conn #x150 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x427 :first-conn #x3fa :cost-from-start #x152) + (new 'static 'trail-node :x #x427 :z #x3fa :first-conn #x152 :conn-count #x2) (new 'static 'trail-node :x #x452 :z #x3f3 :first-conn #x154 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x468 :first-conn #x3d2 :cost-from-start #x157) + (new 'static 'trail-node :x #x468 :z #x3d2 :first-conn #x157 :conn-count #x3) (new 'static 'trail-node :x #x467 :z #x3ad :first-conn #x15a :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x447 :first-conn #x385 :cost-from-start #x15d) + (new 'static 'trail-node :x #x447 :z #x385 :first-conn #x15d :conn-count #x3) (new 'static 'trail-node :x #x417 :z #x469 :first-conn #x160 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x468 :first-conn #x425 :cost-from-start #x162) + (new 'static 'trail-node :x #x468 :z #x425 :first-conn #x162 :conn-count #x2) (new 'static 'trail-node :x #x468 :z #x405 :first-conn #x164 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x46a :first-conn #x362 :cost-from-start #x167) + (new 'static 'trail-node :x #x46a :z #x362 :first-conn #x167 :conn-count #x3) (new 'static 'trail-node :x #x46f :z #x331 :first-conn #x16a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2f5 :first-conn #x4cc :cost-from-start #x16b) + (new 'static 'trail-node :x #x2f5 :z #x4cc :first-conn #x16b :conn-count #x2) (new 'static 'trail-node :x #x2e8 :z #x53c :first-conn #x16d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2d4 :first-conn #x56a :cost-from-start #x16f) + (new 'static 'trail-node :x #x2d4 :z #x56a :first-conn #x16f :conn-count #x2) (new 'static 'trail-node :x #x25a :z #x5b8 :first-conn #x171 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x257 :first-conn #x5e6 :cost-from-start #x174) + (new 'static 'trail-node :x #x257 :z #x5e6 :first-conn #x174 :conn-count #x3) (new 'static 'trail-node :x #x26c :z #x796 :first-conn #x177 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x231 :first-conn #x5b3 :cost-from-start #x178) + (new 'static 'trail-node :x #x231 :z #x5b3 :first-conn #x178 :conn-count #x5) (new 'static 'trail-node :x #xda :z #x556 :first-conn #x17d :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xc0 :first-conn #x53c :cost-from-start #x181) + (new 'static 'trail-node :x #xc0 :z #x53c :first-conn #x181 :conn-count #x3) (new 'static 'trail-node :x #xa8 :z #x555 :first-conn #x184 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -62 :first-conn #x53e :cost-from-start #x188) + (new 'static 'trail-node :x -62 :z #x53e :first-conn #x188 :conn-count #x2) (new 'static 'trail-node :x -169 :z #x5ad :first-conn #x18a :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z -224 :first-conn #x5b9 :cost-from-start #x18f) + (new 'static 'trail-node :x -224 :z #x5b9 :first-conn #x18f :conn-count #x3) (new 'static 'trail-node :x -212 :z #x5ec :first-conn #x192 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -230 :first-conn #x794 :cost-from-start #x195) + (new 'static 'trail-node :x -230 :z #x794 :first-conn #x195 :conn-count #x1) (new 'static 'trail-node :x -340 :z #x56b :first-conn #x196 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -364 :first-conn #x546 :cost-from-start #x198) + (new 'static 'trail-node :x -364 :z #x546 :first-conn #x198 :conn-count #x2) (new 'static 'trail-node :x -368 :z #x4e4 :first-conn #x19a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2c5 :first-conn #xff99 :cost-from-start #x19c) + (new 'static 'trail-node :x #x2c5 :z -103 :first-conn #x19c :conn-count #x2) (new 'static 'trail-node :x #x2cb :z -132 :first-conn #x19e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2e4 :first-conn #xff68 :cost-from-start #x1a0) + (new 'static 'trail-node :x #x2e4 :z -152 :first-conn #x1a0 :conn-count #x2) (new 'static 'trail-node :x #x2e2 :z -183 :first-conn #x1a2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2ba :first-conn #xfee2 :cost-from-start #x1a4) + (new 'static 'trail-node :x #x2ba :z -286 :first-conn #x1a4 :conn-count #x3) (new 'static 'trail-node :x #x2cd :z -268 :first-conn #x1a7 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2a6 :first-conn #xfef0 :cost-from-start #x1a9) + (new 'static 'trail-node :x #x2a6 :z -272 :first-conn #x1a9 :conn-count #x3) (new 'static 'trail-node :x #x293 :z -212 :first-conn #x1ac :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x28e :first-conn #xff57 :cost-from-start #x1af) + (new 'static 'trail-node :x #x28e :z -169 :first-conn #x1af :conn-count #x3) (new 'static 'trail-node :x #x28f :z -136 :first-conn #x1b2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x25e :first-conn #xffe7 :cost-from-start #x1b4) + (new 'static 'trail-node :x #x25e :z -25 :first-conn #x1b4 :conn-count #x2) (new 'static 'trail-node :x #x22e :z -13 :first-conn #x1b6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x272 :first-conn #xff3f :cost-from-start #x1b7) + (new 'static 'trail-node :x #x272 :z -193 :first-conn #x1b7 :conn-count #x6) (new 'static 'trail-node :x #x248 :z -165 :first-conn #x1bd :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x1f4 :first-conn #xffec :cost-from-start #x1c2) + (new 'static 'trail-node :x #x1f4 :z -20 :first-conn #x1c2 :conn-count #x2) (new 'static 'trail-node :x #x1d1 :z -20 :first-conn #x1c4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x18b :first-conn #xffcd :cost-from-start #x1c6) + (new 'static 'trail-node :x #x18b :z -51 :first-conn #x1c6 :conn-count #x2) (new 'static 'trail-node :x #x199 :z -271 :first-conn #x1c8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a9 :first-conn #xff6a :cost-from-start #x1ca) + (new 'static 'trail-node :x #x1a9 :z -150 :first-conn #x1ca :conn-count #x2) (new 'static 'trail-node :x #x1bc :z -124 :first-conn #x1cc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1dd :first-conn #xff7d :cost-from-start #x1ce) + (new 'static 'trail-node :x #x1dd :z -131 :first-conn #x1ce :conn-count #x2) (new 'static 'trail-node :x #x21f :z -208 :first-conn #x1d0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x236 :first-conn #xfefa :cost-from-start #x1d5) + (new 'static 'trail-node :x #x236 :z -262 :first-conn #x1d5 :conn-count #x5) (new 'static 'trail-node :x #x25c :z -246 :first-conn #x1da :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x283 :first-conn #xfece :cost-from-start #x1df) + (new 'static 'trail-node :x #x283 :z -306 :first-conn #x1df :conn-count #x3) (new 'static 'trail-node :x #x25b :z -335 :first-conn #x1e2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x237 :first-conn #xfed0 :cost-from-start #x1e4) + (new 'static 'trail-node :x #x237 :z -304 :first-conn #x1e4 :conn-count #x2) (new 'static 'trail-node :x #x296 :z -310 :first-conn #x1e6 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2a8 :first-conn #xfed2 :cost-from-start #x1e9) + (new 'static 'trail-node :x #x2a8 :z -302 :first-conn #x1e9 :conn-count #x4) (new 'static 'trail-node :x #x2a8 :z -336 :first-conn #x1ed :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2f5 :first-conn #xfea4 :cost-from-start #x1f0) + (new 'static 'trail-node :x #x2f5 :z -348 :first-conn #x1f0 :conn-count #x2) (new 'static 'trail-node :x #x309 :z -339 :first-conn #x1f2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x322 :first-conn #xfeab :cost-from-start #x1f4) + (new 'static 'trail-node :x #x322 :z -341 :first-conn #x1f4 :conn-count #x1) (new 'static 'trail-node :x #x270 :z -651 :first-conn #x1f5 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x257 :first-conn #xfd47 :cost-from-start #x1f8) + (new 'static 'trail-node :x #x257 :z -697 :first-conn #x1f8 :conn-count #x2) (new 'static 'trail-node :x #x19b :z -290 :first-conn #x1fa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x161 :first-conn #xff89 :cost-from-start #x1fc) + (new 'static 'trail-node :x #x161 :z -119 :first-conn #x1fc :conn-count #x2) (new 'static 'trail-node :x #x11c :z -123 :first-conn #x1fe :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x10e :first-conn #xff90 :cost-from-start #x200) + (new 'static 'trail-node :x #x10e :z -112 :first-conn #x200 :conn-count #x2) (new 'static 'trail-node :x #x100 :z -90 :first-conn #x202 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xe4 :first-conn #xffb9 :cost-from-start #x204) + (new 'static 'trail-node :x #xe4 :z -71 :first-conn #x204 :conn-count #x3) (new 'static 'trail-node :x #xb5 :z -95 :first-conn #x207 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x98 :first-conn #xffc3 :cost-from-start #x20b) + (new 'static 'trail-node :x #x98 :z -61 :first-conn #x20b :conn-count #x4) (new 'static 'trail-node :x #x7d :z -61 :first-conn #x20f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xb3 :first-conn #xff73 :cost-from-start #x211) + (new 'static 'trail-node :x #xb3 :z -141 :first-conn #x211 :conn-count #x4) (new 'static 'trail-node :x #xbc :z -208 :first-conn #x215 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 43 :first-conn #xff71 :cost-from-start #x218) + (new 'static 'trail-node :x 43 :z -143 :first-conn #x218 :conn-count #x2) (new 'static 'trail-node :x 30 :z -128 :first-conn #x21a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 16 :first-conn #xffb1 :cost-from-start #x21c) + (new 'static 'trail-node :x 16 :z -79 :first-conn #x21c :conn-count #x2) (new 'static 'trail-node :x 73 :z -240 :first-conn #x21e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 47 :first-conn #xfec4 :cost-from-start #x220) + (new 'static 'trail-node :x 47 :z -316 :first-conn #x220 :conn-count #x2) (new 'static 'trail-node :x 22 :z -346 :first-conn #x222 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xf7 :first-conn #xff0e :cost-from-start #x224) + (new 'static 'trail-node :x #xf7 :z -242 :first-conn #x224 :conn-count #x3) (new 'static 'trail-node :x #x145 :z -261 :first-conn #x227 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x158 :first-conn #xfeed :cost-from-start #x229) + (new 'static 'trail-node :x #x158 :z -275 :first-conn #x229 :conn-count #x2) (new 'static 'trail-node :x #x152 :z -374 :first-conn #x22b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xb8 :first-conn #xfe9f :cost-from-start #x22d) + (new 'static 'trail-node :x #xb8 :z -353 :first-conn #x22d :conn-count #x2) (new 'static 'trail-node :x #x94 :z -162 :first-conn #x22f :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x87 :first-conn #xff2d :cost-from-start #x233) + (new 'static 'trail-node :x #x87 :z -211 :first-conn #x233 :conn-count #x5) (new 'static 'trail-node :x #x16a :z -434 :first-conn #x238 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x168 :first-conn #xfe33 :cost-from-start #x23a) + (new 'static 'trail-node :x #x168 :z -461 :first-conn #x23a :conn-count #x2) (new 'static 'trail-node :x #x13f :z -476 :first-conn #x23c :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x117 :first-conn #xfe64 :cost-from-start #x242) + (new 'static 'trail-node :x #x117 :z -412 :first-conn #x242 :conn-count #x2) (new 'static 'trail-node :x #xc7 :z -407 :first-conn #x244 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x8e :first-conn #xfe6a :cost-from-start #x24a) + (new 'static 'trail-node :x #x8e :z -406 :first-conn #x24a :conn-count #x1) (new 'static 'trail-node :x #x8c :z -485 :first-conn #x24b :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x13f :first-conn #xfd5b :cost-from-start #x250) + (new 'static 'trail-node :x #x13f :z -677 :first-conn #x250 :conn-count #x7) (new 'static 'trail-node :x #x111 :z -753 :first-conn #x257 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x157 :first-conn #xfd0f :cost-from-start #x259) + (new 'static 'trail-node :x #x157 :z -753 :first-conn #x259 :conn-count #x1) (new 'static 'trail-node :x #x16b :z -706 :first-conn #x25a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 46 :first-conn #xfd2a :cost-from-start #x25c) + (new 'static 'trail-node :x 46 :z -726 :first-conn #x25c :conn-count #x1) (new 'static 'trail-node :x 99 :z -706 :first-conn #x25d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x94 :first-conn #xfd6d :cost-from-start #x25f) + (new 'static 'trail-node :x #x94 :z -659 :first-conn #x25f :conn-count #x4) (new 'static 'trail-node :x #xaa :z -612 :first-conn #x263 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xa7 :first-conn #xfde6 :cost-from-start #x266) + (new 'static 'trail-node :x #xa7 :z -538 :first-conn #x266 :conn-count #x3) (new 'static 'trail-node :x 96 :z -444 :first-conn #x269 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 53 :first-conn #xfe56 :cost-from-start #x26b) + (new 'static 'trail-node :x 53 :z -426 :first-conn #x26b :conn-count #x1) (new 'static 'trail-node :x -57 :z -71 :first-conn #x26c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -77 :first-conn #xffaa :cost-from-start #x26e) + (new 'static 'trail-node :x -77 :z -86 :first-conn #x26e :conn-count #x2) (new 'static 'trail-node :x -78 :z -117 :first-conn #x270 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -55 :first-conn #xff66 :cost-from-start #x272) + (new 'static 'trail-node :x -55 :z -154 :first-conn #x272 :conn-count #x3) (new 'static 'trail-node :x -65 :z -245 :first-conn #x275 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -91 :first-conn #xff41 :cost-from-start #x279) + (new 'static 'trail-node :x -91 :z -191 :first-conn #x279 :conn-count #x3) (new 'static 'trail-node :x -132 :z -192 :first-conn #x27c :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -203 :first-conn #xff3a :cost-from-start #x280) + (new 'static 'trail-node :x -203 :z -198 :first-conn #x280 :conn-count #x4) (new 'static 'trail-node :x -160 :z -221 :first-conn #x284 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -161 :first-conn #xfed9 :cost-from-start #x287) + (new 'static 'trail-node :x -161 :z -295 :first-conn #x287 :conn-count #x2) (new 'static 'trail-node :x -170 :z -334 :first-conn #x289 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -151 :first-conn #xfecc :cost-from-start #x28a) + (new 'static 'trail-node :x -151 :z -308 :first-conn #x28a :conn-count #x2) (new 'static 'trail-node :x -102 :z -308 :first-conn #x28c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -57 :first-conn #xfeb6 :cost-from-start #x28f) + (new 'static 'trail-node :x -57 :z -330 :first-conn #x28f :conn-count #x3) (new 'static 'trail-node :x -28 :z -348 :first-conn #x292 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -85 :first-conn #xfe8a :cost-from-start #x294) + (new 'static 'trail-node :x -85 :z -374 :first-conn #x294 :conn-count #x1) (new 'static 'trail-node :x -172 :z -376 :first-conn #x295 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -27 :first-conn #xff66 :cost-from-start #x297) + (new 'static 'trail-node :x -27 :z -154 :first-conn #x297 :conn-count #x2) (new 'static 'trail-node :x -13 :z -222 :first-conn #x299 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -205 :first-conn #xff4f :cost-from-start #x29b) + (new 'static 'trail-node :x -205 :z -177 :first-conn #x29b :conn-count #x2) (new 'static 'trail-node :x -269 :z -221 :first-conn #x29d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -265 :first-conn #xff5c :cost-from-start #x2a0) + (new 'static 'trail-node :x -265 :z -164 :first-conn #x2a0 :conn-count #x4) (new 'static 'trail-node :x -263 :z -114 :first-conn #x2a4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -167 :first-conn #xff9e :cost-from-start #x2a6) + (new 'static 'trail-node :x -167 :z -98 :first-conn #x2a6 :conn-count #x2) (new 'static 'trail-node :x -166 :z -53 :first-conn #x2a8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -231 :first-conn #xffe3 :cost-from-start #x2aa) + (new 'static 'trail-node :x -231 :z -29 :first-conn #x2aa :conn-count #x2) (new 'static 'trail-node :x -277 :z -275 :first-conn #x2ac :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -300 :first-conn #xfee2 :cost-from-start #x2ae) + (new 'static 'trail-node :x -300 :z -286 :first-conn #x2ae :conn-count #x2) (new 'static 'trail-node :x -332 :z -269 :first-conn #x2b0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -356 :first-conn #x21 :cost-from-start #x2b2) + (new 'static 'trail-node :x -356 :z 33 :first-conn #x2b2 :conn-count #xa) (new 'static 'trail-node :x -234 :z 8 :first-conn #x2bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -219 :first-conn #x14 :cost-from-start #x2be) + (new 'static 'trail-node :x -219 :z 20 :first-conn #x2be :conn-count #x2) (new 'static 'trail-node :x 18 :z 24 :first-conn #x2c0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 28 :first-conn #x47 :cost-from-start #x2c2) + (new 'static 'trail-node :x 28 :z 71 :first-conn #x2c2 :conn-count #x3) (new 'static 'trail-node :x 87 :z 17 :first-conn #x2c5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x128 :first-conn #xf :cost-from-start #x2c7) + (new 'static 'trail-node :x #x128 :z 15 :first-conn #x2c7 :conn-count #x2) (new 'static 'trail-node :x #x163 :z 69 :first-conn #x2c9 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x163 :first-conn #xd4 :cost-from-start #x2cb) + (new 'static 'trail-node :x #x163 :z #xd4 :first-conn #x2cb :conn-count #x3) (new 'static 'trail-node :x #x163 :z #x167 :first-conn #x2ce :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x12d :first-conn #x164 :cost-from-start #x2d0) + (new 'static 'trail-node :x #x12d :z #x164 :first-conn #x2d0 :conn-count #x6) (new 'static 'trail-node :x #x131 :z #xd5 :first-conn #x2d6 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x129 :first-conn #x46 :cost-from-start #x2dc) + (new 'static 'trail-node :x #x129 :z 70 :first-conn #x2dc :conn-count #x7) (new 'static 'trail-node :x 87 :z 72 :first-conn #x2e3 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z 80 :first-conn #xd1 :cost-from-start #x2ea) + (new 'static 'trail-node :x 80 :z #xd1 :first-conn #x2ea :conn-count #x6) (new 'static 'trail-node :x 84 :z #x163 :first-conn #x2f0 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z 28 :first-conn #x161 :cost-from-start #x2f6) + (new 'static 'trail-node :x 28 :z #x161 :first-conn #x2f6 :conn-count #x2) (new 'static 'trail-node :x 29 :z #xd1 :first-conn #x2f8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x169 :first-conn #x1b1 :cost-from-start #x2fb) + (new 'static 'trail-node :x #x169 :z #x1b1 :first-conn #x2fb :conn-count #x2) (new 'static 'trail-node :x #x16c :z #x2cd :first-conn #x2fd :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x167 :first-conn #x301 :cost-from-start #x300) + (new 'static 'trail-node :x #x167 :z #x301 :first-conn #x300 :conn-count #x2) (new 'static 'trail-node :x 22 :z #x300 :first-conn #x302 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 34 :first-conn #x1ab :cost-from-start #x304) + (new 'static 'trail-node :x 34 :z #x1ab :first-conn #x304 :conn-count #x2) (new 'static 'trail-node :x #xbf :z #x469 :first-conn #x306 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -110 :first-conn #x29f :cost-from-start #x309) + (new 'static 'trail-node :x -110 :z #x29f :first-conn #x309 :conn-count #x2) (new 'static 'trail-node :x -126 :z #x254 :first-conn #x30b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -129 :first-conn #x1c0 :cost-from-start #x30d) + (new 'static 'trail-node :x -129 :z #x1c0 :first-conn #x30d :conn-count #x1) (new 'static 'trail-node :x -163 :z #x1c1 :first-conn #x30e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -237 :first-conn #x1fb :cost-from-start #x310) + (new 'static 'trail-node :x -237 :z #x1fb :first-conn #x310 :conn-count #x2) (new 'static 'trail-node :x -244 :z #x22f :first-conn #x312 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -168 :first-conn #x252 :cost-from-start #x316) + (new 'static 'trail-node :x -168 :z #x252 :first-conn #x316 :conn-count #x3) (new 'static 'trail-node :x -179 :z #x294 :first-conn #x319 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -302 :first-conn #x292 :cost-from-start #x31b) + (new 'static 'trail-node :x -302 :z #x292 :first-conn #x31b :conn-count #x3) (new 'static 'trail-node :x -304 :z #x268 :first-conn #x31e :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -293 :first-conn #x231 :cost-from-start #x321) + (new 'static 'trail-node :x -293 :z #x231 :first-conn #x321 :conn-count #x3) (new 'static 'trail-node :x -348 :z #x215 :first-conn #x324 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -349 :first-conn #x1ec :cost-from-start #x327) + (new 'static 'trail-node :x -349 :z #x1ec :first-conn #x327 :conn-count #x2) (new 'static 'trail-node :x -8 :z #x2ae :first-conn #x329 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -282 :first-conn #x1a3 :cost-from-start #x32c) + (new 'static 'trail-node :x -282 :z #x1a3 :first-conn #x32c :conn-count #x1) (new 'static 'trail-node :x -283 :z #x1e3 :first-conn #x32d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -292 :first-conn #x19a :cost-from-start #x32f) + (new 'static 'trail-node :x -292 :z #x19a :first-conn #x32f :conn-count #x2) (new 'static 'trail-node :x -238 :z #x2ae :first-conn #x331 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -176 :first-conn #x27b :cost-from-start #x333) + (new 'static 'trail-node :x -176 :z #x27b :first-conn #x333 :conn-count #x3) (new 'static 'trail-node :x #x190 :z #x2b7 :first-conn #x336 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1cb :first-conn #x289 :cost-from-start #x339) + (new 'static 'trail-node :x #x1cb :z #x289 :first-conn #x339 :conn-count #x2) (new 'static 'trail-node :x #x1b9 :z #x240 :first-conn #x33b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1a6 :first-conn #x253 :cost-from-start #x33e) + (new 'static 'trail-node :x #x1a6 :z #x253 :first-conn #x33e :conn-count #x3) (new 'static 'trail-node :x #x1a9 :z #x236 :first-conn #x341 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1a7 :first-conn #x209 :cost-from-start #x344) + (new 'static 'trail-node :x #x1a7 :z #x209 :first-conn #x344 :conn-count #x2) (new 'static 'trail-node :x #x209 :z #x206 :first-conn #x346 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x209 :first-conn #x1e9 :cost-from-start #x348) + (new 'static 'trail-node :x #x209 :z #x1e9 :first-conn #x348 :conn-count #x3) (new 'static 'trail-node :x #x1e5 :z #x1e3 :first-conn #x34b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x299 :first-conn #x2ce :cost-from-start #x34d) + (new 'static 'trail-node :x #x299 :z #x2ce :first-conn #x34d :conn-count #x2) (new 'static 'trail-node :x #x22d :z #x1bd :first-conn #x34f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x28e :first-conn #x21d :cost-from-start #x351) + (new 'static 'trail-node :x #x28e :z #x21d :first-conn #x351 :conn-count #x3) (new 'static 'trail-node :x #x267 :z #x1fa :first-conn #x354 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x25d :first-conn #x1bc :cost-from-start #x356) + (new 'static 'trail-node :x #x25d :z #x1bc :first-conn #x356 :conn-count #x2) (new 'static 'trail-node :x #x256 :z #x1b4 :first-conn #x358 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x244 :first-conn #x1b4 :cost-from-start #x35a) + (new 'static 'trail-node :x #x244 :z #x1b4 :first-conn #x35a :conn-count #x2) (new 'static 'trail-node :x #x269 :z #x21c :first-conn #x35c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x209 :first-conn #x1ab :cost-from-start #x35f) + (new 'static 'trail-node :x #x209 :z #x1ab :first-conn #x35f :conn-count #x1) (new 'static 'trail-node :x #x208 :z #x1ce :first-conn #x360 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x236 :first-conn #x260 :cost-from-start #x361) + (new 'static 'trail-node :x #x236 :z #x260 :first-conn #x361 :conn-count #x3) (new 'static 'trail-node :x #x216 :z #x256 :first-conn #x364 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1fe :first-conn #x241 :cost-from-start #x367) + (new 'static 'trail-node :x #x1fe :z #x241 :first-conn #x367 :conn-count #x4) (new 'static 'trail-node :x #x1d9 :z #x23f :first-conn #x36b :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x2d7 :first-conn #x20b :cost-from-start #x36f) + (new 'static 'trail-node :x #x2d7 :z #x20b :first-conn #x36f :conn-count #x2) (new 'static 'trail-node :x #x1e3 :z #x1ae :first-conn #x371 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x1f7 :first-conn #x20b :cost-from-start #x372) + (new 'static 'trail-node :x #x1f7 :z #x20b :first-conn #x372 :conn-count #x4) (new 'static 'trail-node :x #x19c :z #x1ae :first-conn #x376 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x19b :first-conn #x1d6 :cost-from-start #x377) + (new 'static 'trail-node :x #x19b :z #x1d6 :first-conn #x377 :conn-count #x1) (new 'static 'trail-node :x #x19d :z #x1e3 :first-conn #x378 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x1a4 :first-conn #x2cd :cost-from-start #x379) + (new 'static 'trail-node :x #x1a4 :z #x2cd :first-conn #x379 :conn-count #x1) (new 'static 'trail-node :x #x1da :z #x208 :first-conn #x37a :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x1cd :first-conn #x2b5 :cost-from-start #x37e) + (new 'static 'trail-node :x #x1cd :z #x2b5 :first-conn #x37e :conn-count #x4) (new 'static 'trail-node :x #x20c :z #x2b3 :first-conn #x382 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x210 :first-conn #x2e8 :cost-from-start #x385) + (new 'static 'trail-node :x #x210 :z #x2e8 :first-conn #x385 :conn-count #x3) (new 'static 'trail-node :x #x226 :z #x2ee :first-conn #x388 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x270 :first-conn #x2af :cost-from-start #x38a) + (new 'static 'trail-node :x #x270 :z #x2af :first-conn #x38a :conn-count #x1) (new 'static 'trail-node :x #x1a5 :z #x2e5 :first-conn #x38b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2bd :first-conn #x20d :cost-from-start #x38c) + (new 'static 'trail-node :x #x2bd :z #x20d :first-conn #x38c :conn-count #x2) (new 'static 'trail-node :x #x2b7 :z #x1b2 :first-conn #x38e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x20f :first-conn #x295 :cost-from-start #x390) + (new 'static 'trail-node :x #x20f :z #x295 :first-conn #x390 :conn-count #x3) (new 'static 'trail-node :x #x2c7 :z #x264 :first-conn #x393 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2d6 :first-conn #x2e9 :cost-from-start #x396) + (new 'static 'trail-node :x #x2d6 :z #x2e9 :first-conn #x396 :conn-count #x1) (new 'static 'trail-node :x #x2a9 :z #x2d6 :first-conn #x397 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2a9 :first-conn #x2b7 :cost-from-start #x399) + (new 'static 'trail-node :x #x2a9 :z #x2b7 :first-conn #x399 :conn-count #x2) (new 'static 'trail-node :x #x2d9 :z #x2ad :first-conn #x39b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2d9 :first-conn #x290 :cost-from-start #x39d) + (new 'static 'trail-node :x #x2d9 :z #x290 :first-conn #x39d :conn-count #x3) (new 'static 'trail-node :x #x2d1 :z #x271 :first-conn #x3a0 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2cf :first-conn #x289 :cost-from-start #x3a3) + (new 'static 'trail-node :x #x2cf :z #x289 :first-conn #x3a3 :conn-count #x3) (new 'static 'trail-node :x #x274 :z #x28c :first-conn #x3a6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2da :first-conn #x1b0 :cost-from-start #x3a8) + (new 'static 'trail-node :x #x2da :z #x1b0 :first-conn #x3a8 :conn-count #x2) (new 'static 'trail-node :x #x243 :z #x2ea :first-conn #x3aa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a5 :first-conn #x279 :cost-from-start #x3ac) + (new 'static 'trail-node :x #x1a5 :z #x279 :first-conn #x3ac :conn-count #x2) (new 'static 'trail-node :x #x3bf :z #x291 :first-conn #x3ae :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3c1 :first-conn #x307 :cost-from-start #x3b1) + (new 'static 'trail-node :x #x3c1 :z #x307 :first-conn #x3b1 :conn-count #x2) (new 'static 'trail-node :x #x3d2 :z #x335 :first-conn #x3b3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x3af :first-conn #x336 :cost-from-start #x3b4) + (new 'static 'trail-node :x #x3af :z #x336 :first-conn #x3b4 :conn-count #x1) (new 'static 'trail-node :x #x432 :z #x1ff :first-conn #x3b5 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xc0 :first-conn #x4ab :cost-from-start #x3b6) + (new 'static 'trail-node :x #xc0 :z #x4ab :first-conn #x3b6 :conn-count #x2) (new 'static 'trail-node :x #xc0 :z #x49c :first-conn #x3b8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x449 :first-conn #x17d :cost-from-start #x3ba) + (new 'static 'trail-node :x #x449 :z #x17d :first-conn #x3ba :conn-count #x2) (new 'static 'trail-node :x #x44b :z #x18b :first-conn #x3bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2f6 :first-conn #xe2 :cost-from-start #x3be) + (new 'static 'trail-node :x #x2f6 :z #xe2 :first-conn #x3be :conn-count #x2) (new 'static 'trail-node :x #x428 :z #x385 :first-conn #x3c0 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -369 :first-conn #x4cf :cost-from-start #x3c3) + (new 'static 'trail-node :x -369 :z #x4cf :first-conn #x3c3 :conn-count #x2) (new 'static 'trail-node :x -370 :z #x4ba :first-conn #x3c5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a7 :first-conn #x52c :cost-from-start #x3c7) + (new 'static 'trail-node :x #x1a7 :z #x52c :first-conn #x3c7 :conn-count #x2) (new 'static 'trail-node :x #xc1 :z #x17e :first-conn #x3c9 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -304 :first-conn #xfea5 :cost-from-start #x3cc) + (new 'static 'trail-node :x -304 :z -347 :first-conn #x3cc :conn-count #x2) (new 'static 'trail-node :x -350 :z -328 :first-conn #x3ce :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -204 :first-conn #xff71 :cost-from-start #x3cf) + (new 'static 'trail-node :x -204 :z -143 :first-conn #x3cf :conn-count #x1) (new 'static 'trail-node :x -205 :z -161 :first-conn #x3d0 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z 82 :first-conn #xffd3 :cost-from-start #x3d1) + (new 'static 'trail-node :x 82 :z -45 :first-conn #x3d1 :conn-count #x2) (new 'static 'trail-node :x -57 :z -121 :first-conn #x3d3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -30 :first-conn #xff0a :cost-from-start #x3d4) + (new 'static 'trail-node :x -30 :z -246 :first-conn #x3d4 :conn-count #x1) (new 'static 'trail-node :x -247 :z -326 :first-conn #x3d5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -241 :first-conn #xfeec :cost-from-start #x3d7) + (new 'static 'trail-node :x -241 :z -276 :first-conn #x3d7 :conn-count #x1) (new 'static 'trail-node :x 88 :z -209 :first-conn #x3d8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 75 :first-conn #xff73 :cost-from-start #x3db) + (new 'static 'trail-node :x 75 :z -141 :first-conn #x3db :conn-count #x5) (new 'static 'trail-node :x 90 :z -160 :first-conn #x3e0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z 31 :first-conn #xfe8b :cost-from-start #x3e5) + (new 'static 'trail-node :x 31 :z -373 :first-conn #x3e5 :conn-count #x1) (new 'static 'trail-node :x #x87 :z -153 :first-conn #x3e6 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z #xb8 :first-conn #xff5b :cost-from-start #x3ed) + (new 'static 'trail-node :x #xb8 :z -165 :first-conn #x3ed :conn-count #x3) (new 'static 'trail-node :x #x83 :z -112 :first-conn #x3f0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x66 :first-conn #xffa0 :cost-from-start #x3f5) + (new 'static 'trail-node :x #x66 :z -96 :first-conn #x3f5 :conn-count #x5) (new 'static 'trail-node :x #xb5 :z -113 :first-conn #x3fa :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xbc :first-conn #xfd26 :cost-from-start #x3fd) + (new 'static 'trail-node :x #xbc :z -730 :first-conn #x3fd :conn-count #x6) (new 'static 'trail-node :x #x90 :z -742 :first-conn #x403 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x14c :first-conn #xfdf3 :cost-from-start #x404) + (new 'static 'trail-node :x #x14c :z -525 :first-conn #x404 :conn-count #x1) (new 'static 'trail-node :x #x160 :z -528 :first-conn #x405 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x161 :first-conn #xfd95 :cost-from-start #x407) + (new 'static 'trail-node :x #x161 :z -619 :first-conn #x407 :conn-count #x2) (new 'static 'trail-node :x #x14a :z -625 :first-conn #x409 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x17f :first-conn #xffce :cost-from-start #x40a) + (new 'static 'trail-node :x #x17f :z -50 :first-conn #x40a :conn-count #x2) (new 'static 'trail-node :x #xa8 :z -101 :first-conn #x40c :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x1b1 :first-conn #xffbe :cost-from-start #x410) + (new 'static 'trail-node :x #x1b1 :z -66 :first-conn #x410 :conn-count #x1) (new 'static 'trail-node :x #x1c9 :z -54 :first-conn #x411 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x178 :first-conn #xffef :cost-from-start #x412) + (new 'static 'trail-node :x #x178 :z -17 :first-conn #x412 :conn-count #x1) (new 'static 'trail-node :x #x178 :z -74 :first-conn #x413 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x190 :first-conn #xffb8 :cost-from-start #x414) + (new 'static 'trail-node :x #x190 :z -72 :first-conn #x414 :conn-count #x1) (new 'static 'trail-node :x #x190 :z -18 :first-conn #x415 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2e7 :first-conn #xfe98 :cost-from-start #x416) + (new 'static 'trail-node :x #x2e7 :z -360 :first-conn #x416 :conn-count #x2) (new 'static 'trail-node :x #x27e :z -65 :first-conn #x418 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22d :first-conn #xffa7 :cost-from-start #x41a) + (new 'static 'trail-node :x #x22d :z -89 :first-conn #x41a :conn-count #x1) (new 'static 'trail-node :x #x248 :z -105 :first-conn #x41b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x256 :first-conn #xff78 :cost-from-start #x41d) + (new 'static 'trail-node :x #x256 :z -136 :first-conn #x41d :conn-count #x1) (new 'static 'trail-node :x #x229 :z -650 :first-conn #x41e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1f9 :first-conn #xfd67 :cost-from-start #x420) + (new 'static 'trail-node :x #x1f9 :z -665 :first-conn #x420 :conn-count #x2) (new 'static 'trail-node :x #x1e2 :z -768 :first-conn #x422 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22e :first-conn #xfcfc :cost-from-start #x424) + (new 'static 'trail-node :x #x22e :z -772 :first-conn #x424 :conn-count #x2) (new 'static 'trail-node :x #x268 :z -616 :first-conn #x426 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x219 :first-conn #xfdc8 :cost-from-start #x428) + (new 'static 'trail-node :x #x219 :z -568 :first-conn #x428 :conn-count #x1) (new 'static 'trail-node :x #x1d0 :z -602 :first-conn #x429 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x194 :first-conn #xfdab :cost-from-start #x42b) + (new 'static 'trail-node :x #x194 :z -597 :first-conn #x42b :conn-count #x2) (new 'static 'trail-node :x #x18f :z -563 :first-conn #x42d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x191 :first-conn #xfe0b :cost-from-start #x42f) + (new 'static 'trail-node :x #x191 :z -501 :first-conn #x42f :conn-count #x2) (new 'static 'trail-node :x #x189 :z -435 :first-conn #x431 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x193 :first-conn #xfec8 :cost-from-start #x433) + (new 'static 'trail-node :x #x193 :z -312 :first-conn #x433 :conn-count #x1) (new 'static 'trail-node :x #x192 :z -379 :first-conn #x434 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22e :first-conn #xfce6 :cost-from-start #x436) + (new 'static 'trail-node :x #x22e :z -794 :first-conn #x436 :conn-count #x1) (new 'static 'trail-node :x #x248 :z -695 :first-conn #x437 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x21d :first-conn #xfcfc :cost-from-start #x439) + (new 'static 'trail-node :x #x21d :z -772 :first-conn #x439 :conn-count #x2) (new 'static 'trail-node :x #x312 :z -430 :first-conn #x43b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2c3 :first-conn #xfe5e :cost-from-start #x43c) + (new 'static 'trail-node :x #x2c3 :z -418 :first-conn #x43c :conn-count #x2) (new 'static 'trail-node :x #x298 :z -433 :first-conn #x43e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x27c :first-conn #xfe27 :cost-from-start #x440) + (new 'static 'trail-node :x #x27c :z -473 :first-conn #x440 :conn-count #x2) (new 'static 'trail-node :x #x25f :z -471 :first-conn #x442 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1cb :first-conn #xfe42 :cost-from-start #x444) + (new 'static 'trail-node :x #x1cb :z -446 :first-conn #x444 :conn-count #x2) (new 'static 'trail-node :x #x205 :z -386 :first-conn #x446 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1dd :first-conn #xfeed :cost-from-start #x448) + (new 'static 'trail-node :x #x1dd :z -275 :first-conn #x448 :conn-count #x2) (new 'static 'trail-node :x #x1b5 :z -298 :first-conn #x44a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a8 :first-conn #xfeda :cost-from-start #x44c) + (new 'static 'trail-node :x #x1a8 :z -294 :first-conn #x44c :conn-count #x1) (new 'static 'trail-node :x #x2c2 :z -472 :first-conn #x44d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x248 :first-conn #xfdc7 :cost-from-start #x44f) + (new 'static 'trail-node :x #x248 :z -569 :first-conn #x44f :conn-count #x3) (new 'static 'trail-node :x #x43f :z #x17f :first-conn #x452 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x453 :first-conn #x17c :cost-from-start #x453) + (new 'static 'trail-node :x #x453 :z #x17c :first-conn #x453 :conn-count #x1) (new 'static 'trail-node :x #x442 :z #x18d :first-conn #x454 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x456 :first-conn #x18a :cost-from-start #x455) + (new 'static 'trail-node :x #x456 :z #x18a :first-conn #x455 :conn-count #x1) (new 'static 'trail-node :x #x468 :z #x2a0 :first-conn #x456 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x42f :first-conn #x2a2 :cost-from-start #x457) + (new 'static 'trail-node :x #x42f :z #x2a2 :first-conn #x457 :conn-count #x1) (new 'static 'trail-node :x -108 :z #x88 :first-conn #x458 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -81 :first-conn #xb8 :cost-from-start #x45a) + (new 'static 'trail-node :x -81 :z #xb8 :first-conn #x45a :conn-count #x2) (new 'static 'trail-node :x -270 :z #x120 :first-conn #x45c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -180 :first-conn #xf7 :cost-from-start #x45e) + (new 'static 'trail-node :x -180 :z #xf7 :first-conn #x45e :conn-count #x3) (new 'static 'trail-node :x -418 :z #xcf :first-conn #x461 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -267 :first-conn #x152 :cost-from-start #x462) + (new 'static 'trail-node :x -267 :z #x152 :first-conn #x462 :conn-count #x2) (new 'static 'trail-node :x -356 :z #x19e :first-conn #x464 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -303 :first-conn #x172 :cost-from-start #x465) + (new 'static 'trail-node :x -303 :z #x172 :first-conn #x465 :conn-count #x1) (new 'static 'trail-node :x -352 :z #x161 :first-conn #x466 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -182 :first-conn #x136 :cost-from-start #x467) + (new 'static 'trail-node :x -182 :z #x136 :first-conn #x467 :conn-count #x3) (new 'static 'trail-node :x -125 :z #x16e :first-conn #x46a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -76 :first-conn #x16d :cost-from-start #x46b) + (new 'static 'trail-node :x -76 :z #x16d :first-conn #x46b :conn-count #x2) (new 'static 'trail-node :x -129 :z #x12f :first-conn #x46d :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -40 :first-conn #x14f :cost-from-start #x46e) + (new 'static 'trail-node :x -40 :z #x14f :first-conn #x46e :conn-count #x2) (new 'static 'trail-node :x -28 :z #xbb :first-conn #x470 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -37 :first-conn #x77 :cost-from-start #x472) + (new 'static 'trail-node :x -37 :z #x77 :first-conn #x472 :conn-count #x2) (new 'static 'trail-node :x -101 :z 56 :first-conn #x474 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -299 :first-conn #x36 :cost-from-start #x476) + (new 'static 'trail-node :x -299 :z 54 :first-conn #x476 :conn-count #x1) (new 'static 'trail-node :x -399 :z #x7a :first-conn #x477 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -149 :first-conn #x86 :cost-from-start #x478) + (new 'static 'trail-node :x -149 :z #x86 :first-conn #x478 :conn-count #x1) (new 'static 'trail-node :x -320 :z 84 :first-conn #x479 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -124 :first-conn #xc3 :cost-from-start #x47a) + (new 'static 'trail-node :x -124 :z #xc3 :first-conn #x47a :conn-count #x2) (new 'static 'trail-node :x -142 :z #xa7 :first-conn #x47c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -403 :first-conn #xa3 :cost-from-start #x47e) + (new 'static 'trail-node :x -403 :z #xa3 :first-conn #x47e :conn-count #x1) (new 'static 'trail-node :x -401 :z #xe6 :first-conn #x47f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -247 :first-conn #xfb :cost-from-start #x480) + (new 'static 'trail-node :x -247 :z #xfb :first-conn #x480 :conn-count #x1) (new 'static 'trail-node :x -210 :z #x11a :first-conn #x481 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -82 :first-conn #x147 :cost-from-start #x482) + (new 'static 'trail-node :x -82 :z #x147 :first-conn #x482 :conn-count #x2) (new 'static 'trail-node :x -126 :z #x151 :first-conn #x484 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -104 :first-conn #x157 :cost-from-start #x487) + (new 'static 'trail-node :x -104 :z #x157 :first-conn #x487 :conn-count #x2) (new 'static 'trail-node :x -334 :z 62 :first-conn #x489 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -327 :first-conn #x1e5 :cost-from-start #x48b) + (new 'static 'trail-node :x -327 :z #x1e5 :first-conn #x48b :conn-count #x1) (new 'static 'trail-node :x -311 :z #x19c :first-conn #x48c :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -323 :first-conn #x489 :cost-from-start #x48d) + (new 'static 'trail-node :x -323 :z #x489 :first-conn #x48d :conn-count #x2) (new 'static 'trail-node :x -372 :z #x264 :first-conn #x48f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -327 :first-conn #x264 :cost-from-start #x490) + (new 'static 'trail-node :x -327 :z #x264 :first-conn #x490 :conn-count #x1) (new 'static 'trail-node :x -276 :z #x2b0 :first-conn #x491 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -286 :first-conn #x2ee :cost-from-start #x494) + (new 'static 'trail-node :x -286 :z #x2ee :first-conn #x494 :conn-count #x3) (new 'static 'trail-node :x -323 :z #x299 :first-conn #x497 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -362 :first-conn #x299 :cost-from-start #x498) + (new 'static 'trail-node :x -362 :z #x299 :first-conn #x498 :conn-count #x1) (new 'static 'trail-node :x -361 :z #x2e5 :first-conn #x499 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -307 :first-conn #x2e6 :cost-from-start #x49a) + (new 'static 'trail-node :x -307 :z #x2e6 :first-conn #x49a :conn-count #x1) (new 'static 'trail-node :x -245 :z #x243 :first-conn #x49b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -246 :first-conn #x275 :cost-from-start #x49c) + (new 'static 'trail-node :x -246 :z #x275 :first-conn #x49c :conn-count #x2) (new 'static 'trail-node :x -196 :z #x275 :first-conn #x49e :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -170 :first-conn #x23f :cost-from-start #x49f) + (new 'static 'trail-node :x -170 :z #x23f :first-conn #x49f :conn-count #x1) (new 'static 'trail-node :x -170 :z #x227 :first-conn #x4a0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -221 :first-conn #x228 :cost-from-start #x4a2) + (new 'static 'trail-node :x -221 :z #x228 :first-conn #x4a2 :conn-count #x1) (new 'static 'trail-node :x -212 :z #x1f7 :first-conn #x4a3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -175 :first-conn #x1f7 :cost-from-start #x4a4) + (new 'static 'trail-node :x -175 :z #x1f7 :first-conn #x4a4 :conn-count #x2) (new 'static 'trail-node :x -172 :z #x1d7 :first-conn #x4a6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -244 :first-conn #x1e3 :cost-from-start #x4a7) + (new 'static 'trail-node :x -244 :z #x1e3 :first-conn #x4a7 :conn-count #x1) (new 'static 'trail-node :x -243 :z #x1ad :first-conn #x4a8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -173 :first-conn #x1ac :cost-from-start #x4aa) + (new 'static 'trail-node :x -173 :z #x1ac :first-conn #x4aa :conn-count #x1) (new 'static 'trail-node :x -126 :z #x1af :first-conn #x4ab :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -119 :first-conn #x19e :cost-from-start #x4ac) + (new 'static 'trail-node :x -119 :z #x19e :first-conn #x4ac :conn-count #x2) (new 'static 'trail-node :x -52 :z #x1a0 :first-conn #x4ae :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -51 :first-conn #x1e8 :cost-from-start #x4b0) + (new 'static 'trail-node :x -51 :z #x1e8 :first-conn #x4b0 :conn-count #x2) (new 'static 'trail-node :x -118 :z #x1e7 :first-conn #x4b2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -121 :first-conn #x1d1 :cost-from-start #x4b4) + (new 'static 'trail-node :x -121 :z #x1d1 :first-conn #x4b4 :conn-count #x1) (new 'static 'trail-node :x -112 :z #x263 :first-conn #x4b5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -117 :first-conn #x238 :cost-from-start #x4b7) + (new 'static 'trail-node :x -117 :z #x238 :first-conn #x4b7 :conn-count #x1) (new 'static 'trail-node :x -117 :z #x21a :first-conn #x4b8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -44 :first-conn #x21b :cost-from-start #x4ba) + (new 'static 'trail-node :x -44 :z #x21b :first-conn #x4ba :conn-count #x2) (new 'static 'trail-node :x -44 :z #x265 :first-conn #x4bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -90 :first-conn #x265 :cost-from-start #x4be) + (new 'static 'trail-node :x -90 :z #x265 :first-conn #x4be :conn-count #x1) (new 'static 'trail-node :x 20 :z #x1dd :first-conn #x4bf :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 27 :first-conn #x201 :cost-from-start #x4c1) + (new 'static 'trail-node :x 27 :z #x201 :first-conn #x4c1 :conn-count #x2) (new 'static 'trail-node :x 27 :z #x297 :first-conn #x4c3 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 19 :first-conn #x1ba :cost-from-start #x4c6) + (new 'static 'trail-node :x 19 :z #x1ba :first-conn #x4c6 :conn-count #x2) (new 'static 'trail-node :x 18 :z #x2d1 :first-conn #x4c8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -119 :first-conn #x2a1 :cost-from-start #x4cb) + (new 'static 'trail-node :x -119 :z #x2a1 :first-conn #x4cb :conn-count #x1) (new 'static 'trail-node :x -119 :z #x2e7 :first-conn #x4cc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -42 :first-conn #x2e5 :cost-from-start #x4ce) + (new 'static 'trail-node :x -42 :z #x2e5 :first-conn #x4ce :conn-count #x2) (new 'static 'trail-node :x -41 :z #x2cc :first-conn #x4d0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -14 :first-conn #x2c8 :cost-from-start #x4d2) + (new 'static 'trail-node :x -14 :z #x2c8 :first-conn #x4d2 :conn-count #x1) (new 'static 'trail-node :x -152 :z #x29a :first-conn #x4d3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -152 :first-conn #x2e5 :cost-from-start #x4d4) + (new 'static 'trail-node :x -152 :z #x2e5 :first-conn #x4d4 :conn-count #x2) (new 'static 'trail-node :x -227 :z #x2e6 :first-conn #x4d6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -228 :first-conn #x2c2 :cost-from-start #x4d8) + (new 'static 'trail-node :x -228 :z #x2c2 :first-conn #x4d8 :conn-count #x1) (new 'static 'trail-node :x -203 :z #x298 :first-conn #x4d9 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -232 :first-conn #x298 :cost-from-start #x4da) + (new 'static 'trail-node :x -232 :z #x298 :first-conn #x4da :conn-count #x2) (new 'static 'trail-node :x -233 :z #x2a1 :first-conn #x4dc :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xa2 :first-conn #x30e :cost-from-start #x4dd) + (new 'static 'trail-node :x #xa2 :z #x30e :first-conn #x4dd :conn-count #x4) (new 'static 'trail-node :x #x9d :z #x368 :first-conn #x4e1 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xd8 :first-conn #x30f :cost-from-start #x4e5) + (new 'static 'trail-node :x #xd8 :z #x30f :first-conn #x4e5 :conn-count #x4) (new 'static 'trail-node :x #xda :z #x369 :first-conn #x4e9 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x6c :first-conn #x389 :cost-from-start #x4ed) + (new 'static 'trail-node :x #x6c :z #x389 :first-conn #x4ed :conn-count #x2) (new 'static 'trail-node :x #x66 :z #x425 :first-conn #x4ef :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x87 :first-conn #x440 :cost-from-start #x4f1) + (new 'static 'trail-node :x #x87 :z #x440 :first-conn #x4f1 :conn-count #x3) (new 'static 'trail-node :x #x11a :z #x38a :first-conn #x4f4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x116 :first-conn #x42f :cost-from-start #x4f6) + (new 'static 'trail-node :x #x116 :z #x42f :first-conn #x4f6 :conn-count #x2) (new 'static 'trail-node :x #xe8 :z #x43b :first-conn #x4f8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xa4 :first-conn #x1a9 :cost-from-start #x4fb) + (new 'static 'trail-node :x #xa4 :z #x1a9 :first-conn #x4fb :conn-count #x3) (new 'static 'trail-node :x #xdb :z #x1a9 :first-conn #x4fe :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -286 :first-conn #x302 :cost-from-start #x501) + (new 'static 'trail-node :x -286 :z #x302 :first-conn #x501 :conn-count #x2) (new 'static 'trail-node :x -224 :z #x31d :first-conn #x503 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -188 :first-conn #x31e :cost-from-start #x505) + (new 'static 'trail-node :x -188 :z #x31e :first-conn #x505 :conn-count #x2) (new 'static 'trail-node :x -131 :z #x355 :first-conn #x507 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -308 :first-conn #x30a :cost-from-start #x509) + (new 'static 'trail-node :x -308 :z #x30a :first-conn #x509 :conn-count #x1) (new 'static 'trail-node :x -310 :z #x354 :first-conn #x50a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -234 :first-conn #x353 :cost-from-start #x50c) + (new 'static 'trail-node :x -234 :z #x353 :first-conn #x50c :conn-count #x2) (new 'static 'trail-node :x -233 :z #x331 :first-conn #x50e :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -182 :first-conn #x30b :cost-from-start #x50f) + (new 'static 'trail-node :x -182 :z #x30b :first-conn #x50f :conn-count #x1) (new 'static 'trail-node :x -106 :z #x30b :first-conn #x510 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -107 :first-conn #x357 :cost-from-start #x512) + (new 'static 'trail-node :x -107 :z #x357 :first-conn #x512 :conn-count #x1) (new 'static 'trail-node :x -151 :z #x357 :first-conn #x513 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -183 :first-conn #x357 :cost-from-start #x514) + (new 'static 'trail-node :x -183 :z #x357 :first-conn #x514 :conn-count #x2) (new 'static 'trail-node :x -183 :z #x336 :first-conn #x516 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -126 :first-conn #x378 :cost-from-start #x517) + (new 'static 'trail-node :x -126 :z #x378 :first-conn #x517 :conn-count #x2) (new 'static 'trail-node :x -71 :z #x428 :first-conn #x519 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -77 :first-conn #x451 :cost-from-start #x51b) + (new 'static 'trail-node :x -77 :z #x451 :first-conn #x51b :conn-count #x2) (new 'static 'trail-node :x -232 :z #x461 :first-conn #x51d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -254 :first-conn #x3e1 :cost-from-start #x51f) + (new 'static 'trail-node :x -254 :z #x3e1 :first-conn #x51f :conn-count #x2) (new 'static 'trail-node :x -372 :z #x3ea :first-conn #x521 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -382 :first-conn #x401 :cost-from-start #x523) + (new 'static 'trail-node :x -382 :z #x401 :first-conn #x523 :conn-count #x2) (new 'static 'trail-node :x -299 :z #x49d :first-conn #x525 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -124 :first-conn #x42b :cost-from-start #x527) + (new 'static 'trail-node :x -124 :z #x42b :first-conn #x527 :conn-count #x2) (new 'static 'trail-node :x -86 :z #x42b :first-conn #x529 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -62 :first-conn #x430 :cost-from-start #x52a) + (new 'static 'trail-node :x -62 :z #x430 :first-conn #x52a :conn-count #x2) (new 'static 'trail-node :x -111 :z #x37d :first-conn #x52c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -16 :first-conn #x391 :cost-from-start #x52e) + (new 'static 'trail-node :x -16 :z #x391 :first-conn #x52e :conn-count #x2) (new 'static 'trail-node :x -15 :z #x3ea :first-conn #x530 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -59 :first-conn #x438 :cost-from-start #x532) + (new 'static 'trail-node :x -59 :z #x438 :first-conn #x532 :conn-count #x2) (new 'static 'trail-node :x -17 :z #x449 :first-conn #x534 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -15 :first-conn #x3f8 :cost-from-start #x536) + (new 'static 'trail-node :x -15 :z #x3f8 :first-conn #x536 :conn-count #x2) (new 'static 'trail-node :x -218 :z #x46b :first-conn #x538 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -102 :first-conn #x45f :cost-from-start #x53a) + (new 'static 'trail-node :x -102 :z #x45f :first-conn #x53a :conn-count #x2) (new 'static 'trail-node :x -141 :z #x49d :first-conn #x53c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -57 :first-conn #x454 :cost-from-start #x53e) + (new 'static 'trail-node :x -57 :z #x454 :first-conn #x53e :conn-count #x2) (new 'static 'trail-node :x -31 :z #x498 :first-conn #x540 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -11 :first-conn #x471 :cost-from-start #x542) + (new 'static 'trail-node :x -11 :z #x471 :first-conn #x542 :conn-count #x2) (new 'static 'trail-node :x -17 :z #x452 :first-conn #x544 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -71 :first-conn #x45a :cost-from-start #x546) + (new 'static 'trail-node :x -71 :z #x45a :first-conn #x546 :conn-count #x2) (new 'static 'trail-node :x -87 :z #x45c :first-conn #x548 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -130 :first-conn #x4a1 :cost-from-start #x54a) + (new 'static 'trail-node :x -130 :z #x4a1 :first-conn #x54a :conn-count #x2) (new 'static 'trail-node :x -49 :z #x4a0 :first-conn #x54c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -55 :first-conn #x449 :cost-from-start #x54e) + (new 'static 'trail-node :x -55 :z #x449 :first-conn #x54e :conn-count #x2) (new 'static 'trail-node :x -256 :z #x463 :first-conn #x550 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -245 :first-conn #x3f9 :cost-from-start #x552) + (new 'static 'trail-node :x -245 :z #x3f9 :first-conn #x552 :conn-count #x2) (new 'static 'trail-node :x -238 :z #x475 :first-conn #x554 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -252 :first-conn #x467 :cost-from-start #x556) + (new 'static 'trail-node :x -252 :z #x467 :first-conn #x556 :conn-count #x2) (new 'static 'trail-node :x -293 :z #x4a4 :first-conn #x558 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -225 :first-conn #x4a2 :cost-from-start #x55a) + (new 'static 'trail-node :x -225 :z #x4a2 :first-conn #x55a :conn-count #x2) (new 'static 'trail-node :x -226 :z #x437 :first-conn #x55c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -225 :first-conn #x3ed :cost-from-start #x55e) + (new 'static 'trail-node :x -225 :z #x3ed :first-conn #x55e :conn-count #x2) (new 'static 'trail-node :x -173 :z #x3d9 :first-conn #x560 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -371 :first-conn #x391 :cost-from-start #x562) + (new 'static 'trail-node :x -371 :z #x391 :first-conn #x562 :conn-count #x2) (new 'static 'trail-node :x -258 :z #x392 :first-conn #x564 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -254 :first-conn #x3d1 :cost-from-start #x566) + (new 'static 'trail-node :x -254 :z #x3d1 :first-conn #x566 :conn-count #x2) (new 'static 'trail-node :x -173 :z #x3be :first-conn #x568 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -171 :first-conn #x393 :cost-from-start #x56a) + (new 'static 'trail-node :x -171 :z #x393 :first-conn #x56a :conn-count #x2) (new 'static 'trail-node :x -239 :z #x392 :first-conn #x56c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -245 :first-conn #x44c :cost-from-start #x56e) + (new 'static 'trail-node :x -245 :z #x44c :first-conn #x56e :conn-count #x2) (new 'static 'trail-node :x -439 :z #x395 :first-conn #x570 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -383 :first-conn #x393 :cost-from-start #x572) + (new 'static 'trail-node :x -383 :z #x393 :first-conn #x572 :conn-count #x2) (new 'static 'trail-node :x -379 :z #x3d6 :first-conn #x574 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -235 :first-conn #x3d6 :cost-from-start #x576) + (new 'static 'trail-node :x -235 :z #x3d6 :first-conn #x576 :conn-count #x2) (new 'static 'trail-node :x -199 :z #x4a0 :first-conn #x578 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -65 :first-conn #x43d :cost-from-start #x57a) + (new 'static 'trail-node :x -65 :z #x43d :first-conn #x57a :conn-count #x2) (new 'static 'trail-node :x -140 :z #x380 :first-conn #x57c :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -145 :first-conn #x409 :cost-from-start #x57d) + (new 'static 'trail-node :x -145 :z #x409 :first-conn #x57d :conn-count #x2) (new 'static 'trail-node :x -190 :z #x430 :first-conn #x57f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -175 :first-conn #x412 :cost-from-start #x581) + (new 'static 'trail-node :x -175 :z #x412 :first-conn #x581 :conn-count #x2) (new 'static 'trail-node :x -370 :z #x4a3 :first-conn #x583 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xda :first-conn #x156 :cost-from-start #x585) + (new 'static 'trail-node :x #xda :z #x156 :first-conn #x585 :conn-count #x4) (new 'static 'trail-node :x #xa7 :z #x157 :first-conn #x589 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xf3 :first-conn #x116 :cost-from-start #x58d) + (new 'static 'trail-node :x #xf3 :z #x116 :first-conn #x58d :conn-count #x7) (new 'static 'trail-node :x #x8c :z #x116 :first-conn #x594 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z #xed :first-conn #x80 :cost-from-start #x59b) + (new 'static 'trail-node :x #xed :z #x80 :first-conn #x59b :conn-count #x5) (new 'static 'trail-node :x #x92 :z #x80 :first-conn #x5a0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #xbf :first-conn #x6f :cost-from-start #x5a5) + (new 'static 'trail-node :x #xbf :z #x6f :first-conn #x5a5 :conn-count #x4) (new 'static 'trail-node :x #xc1 :z #x130 :first-conn #x5a9 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x9b :first-conn #x141 :cost-from-start #x5ad) + (new 'static 'trail-node :x #x9b :z #x141 :first-conn #x5ad :conn-count #x4) (new 'static 'trail-node :x #xe4 :z #x140 :first-conn #x5b1 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x10f :first-conn #xf9 :cost-from-start #x5b5) + (new 'static 'trail-node :x #x10f :z #xf9 :first-conn #x5b5 :conn-count #x5) (new 'static 'trail-node :x #x71 :z #xf8 :first-conn #x5ba :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x107 :first-conn #xb6 :cost-from-start #x5bf) + (new 'static 'trail-node :x #x107 :z #xb6 :first-conn #x5bf :conn-count #x5) (new 'static 'trail-node :x #x77 :z #xb6 :first-conn #x5c4 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #xf0 :first-conn #xc8 :cost-from-start #x5c9) + (new 'static 'trail-node :x #xf0 :z #xc8 :first-conn #x5c9 :conn-count #x6) (new 'static 'trail-node :x #x8f :z #xc7 :first-conn #x5cf :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x79 :first-conn #xcb :cost-from-start #x5d5) + (new 'static 'trail-node :x #x79 :z #xcb :first-conn #x5d5 :conn-count #x5) (new 'static 'trail-node :x #x7f :z #xe1 :first-conn #x5da :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x105 :first-conn #xcc :cost-from-start #x5de) + (new 'static 'trail-node :x #x105 :z #xcc :first-conn #x5de :conn-count #x5) (new 'static 'trail-node :x #x100 :z #xe1 :first-conn #x5e3 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x36f :first-conn #x309 :cost-from-start #x5e7) + (new 'static 'trail-node :x #x36f :z #x309 :first-conn #x5e7 :conn-count #x3) (new 'static 'trail-node :x -325 :z 83 :first-conn #x5ea :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -339 :first-conn #x4e :cost-from-start #x5eb) + (new 'static 'trail-node :x -339 :z 78 :first-conn #x5eb :conn-count #x1) (new 'static 'trail-node :x -337 :z 82 :first-conn #x5ec :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -337 :first-conn #x47 :cost-from-start #x5ee) + (new 'static 'trail-node :x -337 :z 71 :first-conn #x5ee :conn-count #x2) (new 'static 'trail-node :x -347 :z 72 :first-conn #x5f0 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -339 :first-conn #x55 :cost-from-start #x5f1) + (new 'static 'trail-node :x -339 :z 85 :first-conn #x5f1 :conn-count #x1) (new 'static 'trail-node :x -338 :z 82 :first-conn #x5f2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -349 :first-conn #x59 :cost-from-start #x5f4) + (new 'static 'trail-node :x -349 :z 89 :first-conn #x5f4 :conn-count #x2) (new 'static 'trail-node :x -337 :z 90 :first-conn #x5f6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -333 :first-conn #x53 :cost-from-start #x5f7) + (new 'static 'trail-node :x -333 :z 83 :first-conn #x5f7 :conn-count #x1) (new 'static 'trail-node :x -338 :z 80 :first-conn #x5f8 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -325 :first-conn #x123 :cost-from-start #x5f9) + (new 'static 'trail-node :x -325 :z #x123 :first-conn #x5f9 :conn-count #x1) (new 'static 'trail-node :x -282 :z #x176 :first-conn #x5fa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -314 :first-conn #x40b :cost-from-start #x5fc) + (new 'static 'trail-node :x -314 :z #x40b :first-conn #x5fc :conn-count #x2) (new 'static 'trail-node :x -265 :z #x407 :first-conn #x5fe :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -371 :first-conn #x3d5 :cost-from-start #x600) + (new 'static 'trail-node :x -371 :z #x3d5 :first-conn #x600 :conn-count #x2) (new 'static 'trail-node :x -351 :z #x42c :first-conn #x602 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -350 :first-conn #x4aa :cost-from-start #x603) + (new 'static 'trail-node :x -350 :z #x4aa :first-conn #x603 :conn-count #x1) (new 'static 'trail-node :x #x169 :z #x29d :first-conn #x604 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x286 :first-conn #x25e :cost-from-start #x607) + (new 'static 'trail-node :x #x286 :z #x25e :first-conn #x607 :conn-count #x3) (new 'static 'trail-node :x #x299 :z #x2f6 :first-conn #x60a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x270 :first-conn #x2f5 :cost-from-start #x60b) + (new 'static 'trail-node :x #x270 :z #x2f5 :first-conn #x60b :conn-count #x1) (new 'static 'trail-node :x #x297 :z #x1b4 :first-conn #x60c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x28e :first-conn #x23f :cost-from-start #x60e) + (new 'static 'trail-node :x #x28e :z #x23f :first-conn #x60e :conn-count #x4) (new 'static 'trail-node :x #x1e4 :z #x1d8 :first-conn #x612 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2d7 :first-conn #x1c5 :cost-from-start #x613) + (new 'static 'trail-node :x #x2d7 :z #x1c5 :first-conn #x613 :conn-count #x1) (new 'static 'trail-node :x #x2bc :z #x1c7 :first-conn #x614 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x29a :first-conn #x2ba :cost-from-start #x615) + (new 'static 'trail-node :x #x29a :z #x2ba :first-conn #x615 :conn-count #x1) (new 'static 'trail-node :x #xc0 :z #x192 :first-conn #x616 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -354 :first-conn #xffed :cost-from-start #x619) + (new 'static 'trail-node :x -354 :z -19 :first-conn #x619 :conn-count #x2) (new 'static 'trail-node :x -354 :z 1 :first-conn #x61b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x9b :first-conn #xfea0 :cost-from-start #x61d) + (new 'static 'trail-node :x #x9b :z -352 :first-conn #x61d :conn-count #x2) (new 'static 'trail-node :x #x93 :z -270 :first-conn #x61f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xc3 :first-conn #xfed5 :cost-from-start #x620) + (new 'static 'trail-node :x #xc3 :z -299 :first-conn #x620 :conn-count #x1) (new 'static 'trail-node :x 72 :z -370 :first-conn #x621 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x163 :first-conn #xfe9d :cost-from-start #x622) + (new 'static 'trail-node :x #x163 :z -355 :first-conn #x622 :conn-count #x1) (new 'static 'trail-node :x #x174 :z -329 :first-conn #x623 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x173 :first-conn #xfeef :cost-from-start #x625) + (new 'static 'trail-node :x #x173 :z -273 :first-conn #x625 :conn-count #x2) (new 'static 'trail-node :x #x171 :z -236 :first-conn #x627 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z 35 :first-conn #xfee0 :cost-from-start #x628) + (new 'static 'trail-node :x 35 :z -288 :first-conn #x628 :conn-count #x1) (new 'static 'trail-node :x 37 :z -232 :first-conn #x629 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -69 :first-conn #xffe0 :cost-from-start #x62a) + (new 'static 'trail-node :x -69 :z -32 :first-conn #x62a :conn-count #x1) (new 'static 'trail-node :x 28 :z -36 :first-conn #x62b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x70 :first-conn #xffd2 :cost-from-start #x62c) + (new 'static 'trail-node :x #x70 :z -46 :first-conn #x62c :conn-count #x1) (new 'static 'trail-node :x 82 :z -74 :first-conn #x62d :conn-count #x1) ) :conn (new 'static 'inline-array trail-conn 792 @@ -5222,3 +5223,7 @@ ) ) ) + + + + diff --git a/goal_src/jak2/levels/city/common/trail.gc b/goal_src/jak2/levels/city/common/trail.gc index a67bc8b59d..7b95ee7f90 100644 --- a/goal_src/jak2/levels/city/common/trail.gc +++ b/goal_src/jak2/levels/city/common/trail.gc @@ -751,7 +751,11 @@ (let ((v0-0 (the-as int (-> obj mode)))) 0 (.mfc0 v1-1 Count) - (while (and (= v0-0 1) (< (the-as uint v1-1) (the-as uint arg0))) + (while (and (= v0-0 1) + ;; changed in PC port: they used to abort early if searching takes too long + ;; it is fast enough on PC that we don't care. + ;; (< (the-as uint v1-1) (the-as uint arg0)) HACK + ) (set! v0-0 (do-some-work obj)) (.mfc0 v1-1 Count) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/trail-graph_REF.gc b/test/decompiler/reference/jak2/levels/city/common/trail-graph_REF.gc index af5e10e37a..b29dddd2ca 100644 --- a/test/decompiler/reference/jak2/levels/city/common/trail-graph_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/trail-graph_REF.gc @@ -8,667 +8,667 @@ :conn-count #x317 :node (new 'static 'inline-array trail-node 663 (new 'static 'trail-node :x #x47d :z 88 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x47b :first-conn #x1b :cost-from-start #x1) + (new 'static 'trail-node :x #x47b :z 27 :first-conn #x1 :conn-count #x2) (new 'static 'trail-node :x #x46e :z 16 :first-conn #x3 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x45e :first-conn #x17 :cost-from-start #x5) + (new 'static 'trail-node :x #x45e :z 23 :first-conn #x5 :conn-count #x2) (new 'static 'trail-node :x #x454 :z 42 :first-conn #x7 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x41d :first-conn #x7f :cost-from-start #xa) + (new 'static 'trail-node :x #x41d :z #x7f :first-conn #xa :conn-count #x5) (new 'static 'trail-node :x #x404 :z #x8e :first-conn #xf :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x404 :first-conn #xbb :cost-from-start #x13) + (new 'static 'trail-node :x #x404 :z #xbb :first-conn #x13 :conn-count #x4) (new 'static 'trail-node :x #x413 :z #xbc :first-conn #x17 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x443 :first-conn #xb2 :cost-from-start #x1c) + (new 'static 'trail-node :x #x443 :z #xb2 :first-conn #x1c :conn-count #x4) (new 'static 'trail-node :x #x445 :z #x8b :first-conn #x20 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x430 :first-conn #x7b :cost-from-start #x23) + (new 'static 'trail-node :x #x430 :z #x7b :first-conn #x23 :conn-count #x2) (new 'static 'trail-node :x #x42d :z #xbc :first-conn #x25 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x44f :first-conn #xc0 :cost-from-start #x29) + (new 'static 'trail-node :x #x44f :z #xc0 :first-conn #x29 :conn-count #x5) (new 'static 'trail-node :x #x472 :z #xeb :first-conn #x2e :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x472 :first-conn #xb7 :cost-from-start #x31) + (new 'static 'trail-node :x #x472 :z #xb7 :first-conn #x31 :conn-count #x3) (new 'static 'trail-node :x #x473 :z #x96 :first-conn #x34 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x473 :first-conn #x114 :cost-from-start #x35) + (new 'static 'trail-node :x #x473 :z #x114 :first-conn #x35 :conn-count #x2) (new 'static 'trail-node :x #x46e :z #x126 :first-conn #x37 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x446 :first-conn #x163 :cost-from-start #x3a) + (new 'static 'trail-node :x #x446 :z #x163 :first-conn #x3a :conn-count #x3) (new 'static 'trail-node :x #x41a :z #x13f :first-conn #x3d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3ec :first-conn #x15d :cost-from-start #x40) + (new 'static 'trail-node :x #x3ec :z #x15d :first-conn #x40 :conn-count #x2) (new 'static 'trail-node :x #x391 :z #x15d :first-conn #x42 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x37f :first-conn #x148 :cost-from-start #x45) + (new 'static 'trail-node :x #x37f :z #x148 :first-conn #x45 :conn-count #x3) (new 'static 'trail-node :x #x387 :z #x12c :first-conn #x48 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x3d5 :first-conn #x127 :cost-from-start #x4a) + (new 'static 'trail-node :x #x3d5 :z #x127 :first-conn #x4a :conn-count #x2) (new 'static 'trail-node :x #x3e3 :z #x119 :first-conn #x4c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3df :first-conn #xf8 :cost-from-start #x4f) + (new 'static 'trail-node :x #x3df :z #xf8 :first-conn #x4f :conn-count #x4) (new 'static 'trail-node :x #x416 :z #xee :first-conn #x53 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x42a :first-conn #xd6 :cost-from-start #x56) + (new 'static 'trail-node :x #x42a :z #xd6 :first-conn #x56 :conn-count #x5) (new 'static 'trail-node :x #x374 :z #x162 :first-conn #x5b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x359 :first-conn #x15e :cost-from-start #x5e) + (new 'static 'trail-node :x #x359 :z #x15e :first-conn #x5e :conn-count #x3) (new 'static 'trail-node :x #x344 :z #x140 :first-conn #x61 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x350 :first-conn #x111 :cost-from-start #x64) + (new 'static 'trail-node :x #x350 :z #x111 :first-conn #x64 :conn-count #x3) (new 'static 'trail-node :x #x384 :z #xe8 :first-conn #x67 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3a9 :first-conn #xee :cost-from-start #x6a) + (new 'static 'trail-node :x #x3a9 :z #xee :first-conn #x6a :conn-count #x2) (new 'static 'trail-node :x #x3cd :z #xf4 :first-conn #x6c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3d9 :first-conn #xd8 :cost-from-start #x6f) + (new 'static 'trail-node :x #x3d9 :z #xd8 :first-conn #x6f :conn-count #x5) (new 'static 'trail-node :x #x3e4 :z #xc0 :first-conn #x74 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x32c :first-conn #x15b :cost-from-start #x78) + (new 'static 'trail-node :x #x32c :z #x15b :first-conn #x78 :conn-count #x3) (new 'static 'trail-node :x #x308 :z #x156 :first-conn #x7b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x331 :first-conn #xc2 :cost-from-start #x7e) + (new 'static 'trail-node :x #x331 :z #xc2 :first-conn #x7e :conn-count #x2) (new 'static 'trail-node :x #x354 :z #xc9 :first-conn #x80 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x316 :first-conn #xca :cost-from-start #x83) + (new 'static 'trail-node :x #x316 :z #xca :first-conn #x83 :conn-count #x3) (new 'static 'trail-node :x #x3d2 :z #x95 :first-conn #x86 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3a7 :first-conn #x9b :cost-from-start #x8a) + (new 'static 'trail-node :x #x3a7 :z #x9b :first-conn #x8a :conn-count #x4) (new 'static 'trail-node :x #x368 :z #x75 :first-conn #x8e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x326 :first-conn #xc :cost-from-start #x90) + (new 'static 'trail-node :x #x326 :z 12 :first-conn #x90 :conn-count #x2) (new 'static 'trail-node :x #x335 :z 58 :first-conn #x92 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x31a :first-conn #xffe7 :cost-from-start #x94) + (new 'static 'trail-node :x #x31a :z -25 :first-conn #x94 :conn-count #x2) (new 'static 'trail-node :x #x2e1 :z -81 :first-conn #x96 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x44b :first-conn #x199 :cost-from-start #x98) + (new 'static 'trail-node :x #x44b :z #x199 :first-conn #x98 :conn-count #x4) (new 'static 'trail-node :x #x464 :z #x1c8 :first-conn #x9c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x46a :first-conn #x1f8 :cost-from-start #x9f) + (new 'static 'trail-node :x #x46a :z #x1f8 :first-conn #x9f :conn-count #x1) (new 'static 'trail-node :x #x3e0 :z #x1bf :first-conn #xa0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x3c7 :first-conn #x1d9 :cost-from-start #xa5) + (new 'static 'trail-node :x #x3c7 :z #x1d9 :first-conn #xa5 :conn-count #x3) (new 'static 'trail-node :x #x389 :z #x1e1 :first-conn #xa8 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x387 :first-conn #x1a2 :cost-from-start #xac) + (new 'static 'trail-node :x #x387 :z #x1a2 :first-conn #xac :conn-count #x3) (new 'static 'trail-node :x #x381 :z #x21c :first-conn #xaf :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x391 :first-conn #x236 :cost-from-start #xb2) + (new 'static 'trail-node :x #x391 :z #x236 :first-conn #xb2 :conn-count #x4) (new 'static 'trail-node :x #x3bc :z #x23d :first-conn #xb6 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3d0 :first-conn #x1f7 :cost-from-start #xba) + (new 'static 'trail-node :x #x3d0 :z #x1f7 :first-conn #xba :conn-count #x4) (new 'static 'trail-node :x #x410 :z #x200 :first-conn #xbe :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x425 :first-conn #x23a :cost-from-start #xc2) + (new 'static 'trail-node :x #x425 :z #x23a :first-conn #xc2 :conn-count #x4) (new 'static 'trail-node :x #x453 :z #x23e :first-conn #xc6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x468 :first-conn #x24f :cost-from-start #xc8) + (new 'static 'trail-node :x #x468 :z #x24f :first-conn #xc8 :conn-count #x2) (new 'static 'trail-node :x #x468 :z #x290 :first-conn #xca :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x463 :first-conn #x2be :cost-from-start #xcc) + (new 'static 'trail-node :x #x463 :z #x2be :first-conn #xcc :conn-count #x2) (new 'static 'trail-node :x #x435 :z #x2be :first-conn #xce :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x449 :first-conn #x29d :cost-from-start #xd0) + (new 'static 'trail-node :x #x449 :z #x29d :first-conn #xd0 :conn-count #x2) (new 'static 'trail-node :x #x42e :z #x28c :first-conn #xd2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x41a :first-conn #x279 :cost-from-start #xd4) + (new 'static 'trail-node :x #x41a :z #x279 :first-conn #xd4 :conn-count #x2) (new 'static 'trail-node :x #x3d7 :z #x27a :first-conn #xd6 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3a0 :first-conn #x27b :cost-from-start #xd9) + (new 'static 'trail-node :x #x3a0 :z #x27b :first-conn #xd9 :conn-count #x3) (new 'static 'trail-node :x #x363 :z #x27e :first-conn #xdc :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x35b :first-conn #x2dd :cost-from-start #xdf) + (new 'static 'trail-node :x #x35b :z #x2dd :first-conn #xdf :conn-count #x4) (new 'static 'trail-node :x #x312 :z #x2d5 :first-conn #xe3 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x312 :first-conn #x27d :cost-from-start #xe5) + (new 'static 'trail-node :x #x312 :z #x27d :first-conn #xe5 :conn-count #x2) (new 'static 'trail-node :x #x344 :z #x214 :first-conn #xe7 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x319 :first-conn #x232 :cost-from-start #xea) + (new 'static 'trail-node :x #x319 :z #x232 :first-conn #xea :conn-count #x2) (new 'static 'trail-node :x #x32f :z #x1f7 :first-conn #xec :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x32c :first-conn #x1c7 :cost-from-start #xef) + (new 'static 'trail-node :x #x32c :z #x1c7 :first-conn #xef :conn-count #x2) (new 'static 'trail-node :x #x2fd :z #x1ad :first-conn #xf1 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x30b :first-conn #x1ad :cost-from-start #xf3) + (new 'static 'trail-node :x #x30b :z #x1ad :first-conn #xf3 :conn-count #x2) (new 'static 'trail-node :x #x419 :z #x34a :first-conn #xf5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x434 :first-conn #x334 :cost-from-start #xf7) + (new 'static 'trail-node :x #x434 :z #x334 :first-conn #xf7 :conn-count #x2) (new 'static 'trail-node :x #x438 :z #x30e :first-conn #xf9 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x3a5 :first-conn #x351 :cost-from-start #xfa) + (new 'static 'trail-node :x #x3a5 :z #x351 :first-conn #xfa :conn-count #x3) (new 'static 'trail-node :x #x373 :z #x351 :first-conn #xfd :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x363 :first-conn #x334 :cost-from-start #xff) + (new 'static 'trail-node :x #x363 :z #x334 :first-conn #xff :conn-count #x3) (new 'static 'trail-node :x #x3dc :z #x34e :first-conn #x102 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3bf :first-conn #x36a :cost-from-start #x105) + (new 'static 'trail-node :x #x3bf :z #x36a :first-conn #x105 :conn-count #x5) (new 'static 'trail-node :x #x3db :z #x384 :first-conn #x10a :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x3be :first-conn #x3a7 :cost-from-start #x10e) + (new 'static 'trail-node :x #x3be :z #x3a7 :first-conn #x10e :conn-count #x4) (new 'static 'trail-node :x #x3a0 :z #x38b :first-conn #x112 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x341 :first-conn #x388 :cost-from-start #x116) + (new 'static 'trail-node :x #x341 :z #x388 :first-conn #x116 :conn-count #x3) (new 'static 'trail-node :x #x31a :z #x36e :first-conn #x119 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x318 :first-conn #x330 :cost-from-start #x11c) + (new 'static 'trail-node :x #x318 :z #x330 :first-conn #x11c :conn-count #x1) (new 'static 'trail-node :x #x31d :z #x3a8 :first-conn #x11d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x31d :first-conn #x3d0 :cost-from-start #x120) + (new 'static 'trail-node :x #x31d :z #x3d0 :first-conn #x120 :conn-count #x2) (new 'static 'trail-node :x #x337 :z #x3f1 :first-conn #x122 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x365 :first-conn #x3f7 :cost-from-start #x124) + (new 'static 'trail-node :x #x365 :z #x3f7 :first-conn #x124 :conn-count #x2) (new 'static 'trail-node :x #x375 :z #x415 :first-conn #x126 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x363 :first-conn #x439 :cost-from-start #x12a) + (new 'static 'trail-node :x #x363 :z #x439 :first-conn #x12a :conn-count #x5) (new 'static 'trail-node :x #x36a :z #x473 :first-conn #x12f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x3ca :first-conn #x468 :cost-from-start #x131) + (new 'static 'trail-node :x #x3ca :z #x468 :first-conn #x131 :conn-count #x5) (new 'static 'trail-node :x #x39e :z #x426 :first-conn #x136 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3bd :first-conn #x41a :cost-from-start #x139) + (new 'static 'trail-node :x #x3bd :z #x41a :first-conn #x139 :conn-count #x3) (new 'static 'trail-node :x #x3be :z #x3dd :first-conn #x13c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x33d :first-conn #x43a :cost-from-start #x13e) + (new 'static 'trail-node :x #x33d :z #x43a :first-conn #x13e :conn-count #x3) (new 'static 'trail-node :x #x30a :z #x43b :first-conn #x141 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x30a :first-conn #x455 :cost-from-start #x143) + (new 'static 'trail-node :x #x30a :z #x455 :first-conn #x143 :conn-count #x2) (new 'static 'trail-node :x #x332 :z #x45d :first-conn #x145 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x332 :first-conn #x488 :cost-from-start #x148) + (new 'static 'trail-node :x #x332 :z #x488 :first-conn #x148 :conn-count #x2) (new 'static 'trail-node :x #x3f8 :z #x384 :first-conn #x14a :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x410 :first-conn #x39b :cost-from-start #x14d) + (new 'static 'trail-node :x #x410 :z #x39b :first-conn #x14d :conn-count #x3) (new 'static 'trail-node :x #x412 :z #x3eb :first-conn #x150 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x427 :first-conn #x3fa :cost-from-start #x152) + (new 'static 'trail-node :x #x427 :z #x3fa :first-conn #x152 :conn-count #x2) (new 'static 'trail-node :x #x452 :z #x3f3 :first-conn #x154 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x468 :first-conn #x3d2 :cost-from-start #x157) + (new 'static 'trail-node :x #x468 :z #x3d2 :first-conn #x157 :conn-count #x3) (new 'static 'trail-node :x #x467 :z #x3ad :first-conn #x15a :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x447 :first-conn #x385 :cost-from-start #x15d) + (new 'static 'trail-node :x #x447 :z #x385 :first-conn #x15d :conn-count #x3) (new 'static 'trail-node :x #x417 :z #x469 :first-conn #x160 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x468 :first-conn #x425 :cost-from-start #x162) + (new 'static 'trail-node :x #x468 :z #x425 :first-conn #x162 :conn-count #x2) (new 'static 'trail-node :x #x468 :z #x405 :first-conn #x164 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x46a :first-conn #x362 :cost-from-start #x167) + (new 'static 'trail-node :x #x46a :z #x362 :first-conn #x167 :conn-count #x3) (new 'static 'trail-node :x #x46f :z #x331 :first-conn #x16a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2f5 :first-conn #x4cc :cost-from-start #x16b) + (new 'static 'trail-node :x #x2f5 :z #x4cc :first-conn #x16b :conn-count #x2) (new 'static 'trail-node :x #x2e8 :z #x53c :first-conn #x16d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2d4 :first-conn #x56a :cost-from-start #x16f) + (new 'static 'trail-node :x #x2d4 :z #x56a :first-conn #x16f :conn-count #x2) (new 'static 'trail-node :x #x25a :z #x5b8 :first-conn #x171 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x257 :first-conn #x5e6 :cost-from-start #x174) + (new 'static 'trail-node :x #x257 :z #x5e6 :first-conn #x174 :conn-count #x3) (new 'static 'trail-node :x #x26c :z #x796 :first-conn #x177 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x231 :first-conn #x5b3 :cost-from-start #x178) + (new 'static 'trail-node :x #x231 :z #x5b3 :first-conn #x178 :conn-count #x5) (new 'static 'trail-node :x #xda :z #x556 :first-conn #x17d :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xc0 :first-conn #x53c :cost-from-start #x181) + (new 'static 'trail-node :x #xc0 :z #x53c :first-conn #x181 :conn-count #x3) (new 'static 'trail-node :x #xa8 :z #x555 :first-conn #x184 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -62 :first-conn #x53e :cost-from-start #x188) + (new 'static 'trail-node :x -62 :z #x53e :first-conn #x188 :conn-count #x2) (new 'static 'trail-node :x -169 :z #x5ad :first-conn #x18a :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z -224 :first-conn #x5b9 :cost-from-start #x18f) + (new 'static 'trail-node :x -224 :z #x5b9 :first-conn #x18f :conn-count #x3) (new 'static 'trail-node :x -212 :z #x5ec :first-conn #x192 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -230 :first-conn #x794 :cost-from-start #x195) + (new 'static 'trail-node :x -230 :z #x794 :first-conn #x195 :conn-count #x1) (new 'static 'trail-node :x -340 :z #x56b :first-conn #x196 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -364 :first-conn #x546 :cost-from-start #x198) + (new 'static 'trail-node :x -364 :z #x546 :first-conn #x198 :conn-count #x2) (new 'static 'trail-node :x -368 :z #x4e4 :first-conn #x19a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2c5 :first-conn #xff99 :cost-from-start #x19c) + (new 'static 'trail-node :x #x2c5 :z -103 :first-conn #x19c :conn-count #x2) (new 'static 'trail-node :x #x2cb :z -132 :first-conn #x19e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2e4 :first-conn #xff68 :cost-from-start #x1a0) + (new 'static 'trail-node :x #x2e4 :z -152 :first-conn #x1a0 :conn-count #x2) (new 'static 'trail-node :x #x2e2 :z -183 :first-conn #x1a2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2ba :first-conn #xfee2 :cost-from-start #x1a4) + (new 'static 'trail-node :x #x2ba :z -286 :first-conn #x1a4 :conn-count #x3) (new 'static 'trail-node :x #x2cd :z -268 :first-conn #x1a7 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2a6 :first-conn #xfef0 :cost-from-start #x1a9) + (new 'static 'trail-node :x #x2a6 :z -272 :first-conn #x1a9 :conn-count #x3) (new 'static 'trail-node :x #x293 :z -212 :first-conn #x1ac :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x28e :first-conn #xff57 :cost-from-start #x1af) + (new 'static 'trail-node :x #x28e :z -169 :first-conn #x1af :conn-count #x3) (new 'static 'trail-node :x #x28f :z -136 :first-conn #x1b2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x25e :first-conn #xffe7 :cost-from-start #x1b4) + (new 'static 'trail-node :x #x25e :z -25 :first-conn #x1b4 :conn-count #x2) (new 'static 'trail-node :x #x22e :z -13 :first-conn #x1b6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x272 :first-conn #xff3f :cost-from-start #x1b7) + (new 'static 'trail-node :x #x272 :z -193 :first-conn #x1b7 :conn-count #x6) (new 'static 'trail-node :x #x248 :z -165 :first-conn #x1bd :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x1f4 :first-conn #xffec :cost-from-start #x1c2) + (new 'static 'trail-node :x #x1f4 :z -20 :first-conn #x1c2 :conn-count #x2) (new 'static 'trail-node :x #x1d1 :z -20 :first-conn #x1c4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x18b :first-conn #xffcd :cost-from-start #x1c6) + (new 'static 'trail-node :x #x18b :z -51 :first-conn #x1c6 :conn-count #x2) (new 'static 'trail-node :x #x199 :z -271 :first-conn #x1c8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a9 :first-conn #xff6a :cost-from-start #x1ca) + (new 'static 'trail-node :x #x1a9 :z -150 :first-conn #x1ca :conn-count #x2) (new 'static 'trail-node :x #x1bc :z -124 :first-conn #x1cc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1dd :first-conn #xff7d :cost-from-start #x1ce) + (new 'static 'trail-node :x #x1dd :z -131 :first-conn #x1ce :conn-count #x2) (new 'static 'trail-node :x #x21f :z -208 :first-conn #x1d0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x236 :first-conn #xfefa :cost-from-start #x1d5) + (new 'static 'trail-node :x #x236 :z -262 :first-conn #x1d5 :conn-count #x5) (new 'static 'trail-node :x #x25c :z -246 :first-conn #x1da :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x283 :first-conn #xfece :cost-from-start #x1df) + (new 'static 'trail-node :x #x283 :z -306 :first-conn #x1df :conn-count #x3) (new 'static 'trail-node :x #x25b :z -335 :first-conn #x1e2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x237 :first-conn #xfed0 :cost-from-start #x1e4) + (new 'static 'trail-node :x #x237 :z -304 :first-conn #x1e4 :conn-count #x2) (new 'static 'trail-node :x #x296 :z -310 :first-conn #x1e6 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2a8 :first-conn #xfed2 :cost-from-start #x1e9) + (new 'static 'trail-node :x #x2a8 :z -302 :first-conn #x1e9 :conn-count #x4) (new 'static 'trail-node :x #x2a8 :z -336 :first-conn #x1ed :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2f5 :first-conn #xfea4 :cost-from-start #x1f0) + (new 'static 'trail-node :x #x2f5 :z -348 :first-conn #x1f0 :conn-count #x2) (new 'static 'trail-node :x #x309 :z -339 :first-conn #x1f2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x322 :first-conn #xfeab :cost-from-start #x1f4) + (new 'static 'trail-node :x #x322 :z -341 :first-conn #x1f4 :conn-count #x1) (new 'static 'trail-node :x #x270 :z -651 :first-conn #x1f5 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x257 :first-conn #xfd47 :cost-from-start #x1f8) + (new 'static 'trail-node :x #x257 :z -697 :first-conn #x1f8 :conn-count #x2) (new 'static 'trail-node :x #x19b :z -290 :first-conn #x1fa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x161 :first-conn #xff89 :cost-from-start #x1fc) + (new 'static 'trail-node :x #x161 :z -119 :first-conn #x1fc :conn-count #x2) (new 'static 'trail-node :x #x11c :z -123 :first-conn #x1fe :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x10e :first-conn #xff90 :cost-from-start #x200) + (new 'static 'trail-node :x #x10e :z -112 :first-conn #x200 :conn-count #x2) (new 'static 'trail-node :x #x100 :z -90 :first-conn #x202 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xe4 :first-conn #xffb9 :cost-from-start #x204) + (new 'static 'trail-node :x #xe4 :z -71 :first-conn #x204 :conn-count #x3) (new 'static 'trail-node :x #xb5 :z -95 :first-conn #x207 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x98 :first-conn #xffc3 :cost-from-start #x20b) + (new 'static 'trail-node :x #x98 :z -61 :first-conn #x20b :conn-count #x4) (new 'static 'trail-node :x #x7d :z -61 :first-conn #x20f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xb3 :first-conn #xff73 :cost-from-start #x211) + (new 'static 'trail-node :x #xb3 :z -141 :first-conn #x211 :conn-count #x4) (new 'static 'trail-node :x #xbc :z -208 :first-conn #x215 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 43 :first-conn #xff71 :cost-from-start #x218) + (new 'static 'trail-node :x 43 :z -143 :first-conn #x218 :conn-count #x2) (new 'static 'trail-node :x 30 :z -128 :first-conn #x21a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 16 :first-conn #xffb1 :cost-from-start #x21c) + (new 'static 'trail-node :x 16 :z -79 :first-conn #x21c :conn-count #x2) (new 'static 'trail-node :x 73 :z -240 :first-conn #x21e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 47 :first-conn #xfec4 :cost-from-start #x220) + (new 'static 'trail-node :x 47 :z -316 :first-conn #x220 :conn-count #x2) (new 'static 'trail-node :x 22 :z -346 :first-conn #x222 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xf7 :first-conn #xff0e :cost-from-start #x224) + (new 'static 'trail-node :x #xf7 :z -242 :first-conn #x224 :conn-count #x3) (new 'static 'trail-node :x #x145 :z -261 :first-conn #x227 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x158 :first-conn #xfeed :cost-from-start #x229) + (new 'static 'trail-node :x #x158 :z -275 :first-conn #x229 :conn-count #x2) (new 'static 'trail-node :x #x152 :z -374 :first-conn #x22b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xb8 :first-conn #xfe9f :cost-from-start #x22d) + (new 'static 'trail-node :x #xb8 :z -353 :first-conn #x22d :conn-count #x2) (new 'static 'trail-node :x #x94 :z -162 :first-conn #x22f :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x87 :first-conn #xff2d :cost-from-start #x233) + (new 'static 'trail-node :x #x87 :z -211 :first-conn #x233 :conn-count #x5) (new 'static 'trail-node :x #x16a :z -434 :first-conn #x238 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x168 :first-conn #xfe33 :cost-from-start #x23a) + (new 'static 'trail-node :x #x168 :z -461 :first-conn #x23a :conn-count #x2) (new 'static 'trail-node :x #x13f :z -476 :first-conn #x23c :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x117 :first-conn #xfe64 :cost-from-start #x242) + (new 'static 'trail-node :x #x117 :z -412 :first-conn #x242 :conn-count #x2) (new 'static 'trail-node :x #xc7 :z -407 :first-conn #x244 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x8e :first-conn #xfe6a :cost-from-start #x24a) + (new 'static 'trail-node :x #x8e :z -406 :first-conn #x24a :conn-count #x1) (new 'static 'trail-node :x #x8c :z -485 :first-conn #x24b :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x13f :first-conn #xfd5b :cost-from-start #x250) + (new 'static 'trail-node :x #x13f :z -677 :first-conn #x250 :conn-count #x7) (new 'static 'trail-node :x #x111 :z -753 :first-conn #x257 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x157 :first-conn #xfd0f :cost-from-start #x259) + (new 'static 'trail-node :x #x157 :z -753 :first-conn #x259 :conn-count #x1) (new 'static 'trail-node :x #x16b :z -706 :first-conn #x25a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 46 :first-conn #xfd2a :cost-from-start #x25c) + (new 'static 'trail-node :x 46 :z -726 :first-conn #x25c :conn-count #x1) (new 'static 'trail-node :x 99 :z -706 :first-conn #x25d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x94 :first-conn #xfd6d :cost-from-start #x25f) + (new 'static 'trail-node :x #x94 :z -659 :first-conn #x25f :conn-count #x4) (new 'static 'trail-node :x #xaa :z -612 :first-conn #x263 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xa7 :first-conn #xfde6 :cost-from-start #x266) + (new 'static 'trail-node :x #xa7 :z -538 :first-conn #x266 :conn-count #x3) (new 'static 'trail-node :x 96 :z -444 :first-conn #x269 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 53 :first-conn #xfe56 :cost-from-start #x26b) + (new 'static 'trail-node :x 53 :z -426 :first-conn #x26b :conn-count #x1) (new 'static 'trail-node :x -57 :z -71 :first-conn #x26c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -77 :first-conn #xffaa :cost-from-start #x26e) + (new 'static 'trail-node :x -77 :z -86 :first-conn #x26e :conn-count #x2) (new 'static 'trail-node :x -78 :z -117 :first-conn #x270 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -55 :first-conn #xff66 :cost-from-start #x272) + (new 'static 'trail-node :x -55 :z -154 :first-conn #x272 :conn-count #x3) (new 'static 'trail-node :x -65 :z -245 :first-conn #x275 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -91 :first-conn #xff41 :cost-from-start #x279) + (new 'static 'trail-node :x -91 :z -191 :first-conn #x279 :conn-count #x3) (new 'static 'trail-node :x -132 :z -192 :first-conn #x27c :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -203 :first-conn #xff3a :cost-from-start #x280) + (new 'static 'trail-node :x -203 :z -198 :first-conn #x280 :conn-count #x4) (new 'static 'trail-node :x -160 :z -221 :first-conn #x284 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -161 :first-conn #xfed9 :cost-from-start #x287) + (new 'static 'trail-node :x -161 :z -295 :first-conn #x287 :conn-count #x2) (new 'static 'trail-node :x -170 :z -334 :first-conn #x289 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -151 :first-conn #xfecc :cost-from-start #x28a) + (new 'static 'trail-node :x -151 :z -308 :first-conn #x28a :conn-count #x2) (new 'static 'trail-node :x -102 :z -308 :first-conn #x28c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -57 :first-conn #xfeb6 :cost-from-start #x28f) + (new 'static 'trail-node :x -57 :z -330 :first-conn #x28f :conn-count #x3) (new 'static 'trail-node :x -28 :z -348 :first-conn #x292 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -85 :first-conn #xfe8a :cost-from-start #x294) + (new 'static 'trail-node :x -85 :z -374 :first-conn #x294 :conn-count #x1) (new 'static 'trail-node :x -172 :z -376 :first-conn #x295 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -27 :first-conn #xff66 :cost-from-start #x297) + (new 'static 'trail-node :x -27 :z -154 :first-conn #x297 :conn-count #x2) (new 'static 'trail-node :x -13 :z -222 :first-conn #x299 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -205 :first-conn #xff4f :cost-from-start #x29b) + (new 'static 'trail-node :x -205 :z -177 :first-conn #x29b :conn-count #x2) (new 'static 'trail-node :x -269 :z -221 :first-conn #x29d :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -265 :first-conn #xff5c :cost-from-start #x2a0) + (new 'static 'trail-node :x -265 :z -164 :first-conn #x2a0 :conn-count #x4) (new 'static 'trail-node :x -263 :z -114 :first-conn #x2a4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -167 :first-conn #xff9e :cost-from-start #x2a6) + (new 'static 'trail-node :x -167 :z -98 :first-conn #x2a6 :conn-count #x2) (new 'static 'trail-node :x -166 :z -53 :first-conn #x2a8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -231 :first-conn #xffe3 :cost-from-start #x2aa) + (new 'static 'trail-node :x -231 :z -29 :first-conn #x2aa :conn-count #x2) (new 'static 'trail-node :x -277 :z -275 :first-conn #x2ac :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -300 :first-conn #xfee2 :cost-from-start #x2ae) + (new 'static 'trail-node :x -300 :z -286 :first-conn #x2ae :conn-count #x2) (new 'static 'trail-node :x -332 :z -269 :first-conn #x2b0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -356 :first-conn #x21 :cost-from-start #x2b2) + (new 'static 'trail-node :x -356 :z 33 :first-conn #x2b2 :conn-count #xa) (new 'static 'trail-node :x -234 :z 8 :first-conn #x2bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -219 :first-conn #x14 :cost-from-start #x2be) + (new 'static 'trail-node :x -219 :z 20 :first-conn #x2be :conn-count #x2) (new 'static 'trail-node :x 18 :z 24 :first-conn #x2c0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 28 :first-conn #x47 :cost-from-start #x2c2) + (new 'static 'trail-node :x 28 :z 71 :first-conn #x2c2 :conn-count #x3) (new 'static 'trail-node :x 87 :z 17 :first-conn #x2c5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x128 :first-conn #xf :cost-from-start #x2c7) + (new 'static 'trail-node :x #x128 :z 15 :first-conn #x2c7 :conn-count #x2) (new 'static 'trail-node :x #x163 :z 69 :first-conn #x2c9 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x163 :first-conn #xd4 :cost-from-start #x2cb) + (new 'static 'trail-node :x #x163 :z #xd4 :first-conn #x2cb :conn-count #x3) (new 'static 'trail-node :x #x163 :z #x167 :first-conn #x2ce :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x12d :first-conn #x164 :cost-from-start #x2d0) + (new 'static 'trail-node :x #x12d :z #x164 :first-conn #x2d0 :conn-count #x6) (new 'static 'trail-node :x #x131 :z #xd5 :first-conn #x2d6 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x129 :first-conn #x46 :cost-from-start #x2dc) + (new 'static 'trail-node :x #x129 :z 70 :first-conn #x2dc :conn-count #x7) (new 'static 'trail-node :x 87 :z 72 :first-conn #x2e3 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z 80 :first-conn #xd1 :cost-from-start #x2ea) + (new 'static 'trail-node :x 80 :z #xd1 :first-conn #x2ea :conn-count #x6) (new 'static 'trail-node :x 84 :z #x163 :first-conn #x2f0 :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z 28 :first-conn #x161 :cost-from-start #x2f6) + (new 'static 'trail-node :x 28 :z #x161 :first-conn #x2f6 :conn-count #x2) (new 'static 'trail-node :x 29 :z #xd1 :first-conn #x2f8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x169 :first-conn #x1b1 :cost-from-start #x2fb) + (new 'static 'trail-node :x #x169 :z #x1b1 :first-conn #x2fb :conn-count #x2) (new 'static 'trail-node :x #x16c :z #x2cd :first-conn #x2fd :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x167 :first-conn #x301 :cost-from-start #x300) + (new 'static 'trail-node :x #x167 :z #x301 :first-conn #x300 :conn-count #x2) (new 'static 'trail-node :x 22 :z #x300 :first-conn #x302 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 34 :first-conn #x1ab :cost-from-start #x304) + (new 'static 'trail-node :x 34 :z #x1ab :first-conn #x304 :conn-count #x2) (new 'static 'trail-node :x #xbf :z #x469 :first-conn #x306 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -110 :first-conn #x29f :cost-from-start #x309) + (new 'static 'trail-node :x -110 :z #x29f :first-conn #x309 :conn-count #x2) (new 'static 'trail-node :x -126 :z #x254 :first-conn #x30b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -129 :first-conn #x1c0 :cost-from-start #x30d) + (new 'static 'trail-node :x -129 :z #x1c0 :first-conn #x30d :conn-count #x1) (new 'static 'trail-node :x -163 :z #x1c1 :first-conn #x30e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -237 :first-conn #x1fb :cost-from-start #x310) + (new 'static 'trail-node :x -237 :z #x1fb :first-conn #x310 :conn-count #x2) (new 'static 'trail-node :x -244 :z #x22f :first-conn #x312 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z -168 :first-conn #x252 :cost-from-start #x316) + (new 'static 'trail-node :x -168 :z #x252 :first-conn #x316 :conn-count #x3) (new 'static 'trail-node :x -179 :z #x294 :first-conn #x319 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -302 :first-conn #x292 :cost-from-start #x31b) + (new 'static 'trail-node :x -302 :z #x292 :first-conn #x31b :conn-count #x3) (new 'static 'trail-node :x -304 :z #x268 :first-conn #x31e :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -293 :first-conn #x231 :cost-from-start #x321) + (new 'static 'trail-node :x -293 :z #x231 :first-conn #x321 :conn-count #x3) (new 'static 'trail-node :x -348 :z #x215 :first-conn #x324 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -349 :first-conn #x1ec :cost-from-start #x327) + (new 'static 'trail-node :x -349 :z #x1ec :first-conn #x327 :conn-count #x2) (new 'static 'trail-node :x -8 :z #x2ae :first-conn #x329 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -282 :first-conn #x1a3 :cost-from-start #x32c) + (new 'static 'trail-node :x -282 :z #x1a3 :first-conn #x32c :conn-count #x1) (new 'static 'trail-node :x -283 :z #x1e3 :first-conn #x32d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -292 :first-conn #x19a :cost-from-start #x32f) + (new 'static 'trail-node :x -292 :z #x19a :first-conn #x32f :conn-count #x2) (new 'static 'trail-node :x -238 :z #x2ae :first-conn #x331 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -176 :first-conn #x27b :cost-from-start #x333) + (new 'static 'trail-node :x -176 :z #x27b :first-conn #x333 :conn-count #x3) (new 'static 'trail-node :x #x190 :z #x2b7 :first-conn #x336 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1cb :first-conn #x289 :cost-from-start #x339) + (new 'static 'trail-node :x #x1cb :z #x289 :first-conn #x339 :conn-count #x2) (new 'static 'trail-node :x #x1b9 :z #x240 :first-conn #x33b :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1a6 :first-conn #x253 :cost-from-start #x33e) + (new 'static 'trail-node :x #x1a6 :z #x253 :first-conn #x33e :conn-count #x3) (new 'static 'trail-node :x #x1a9 :z #x236 :first-conn #x341 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1a7 :first-conn #x209 :cost-from-start #x344) + (new 'static 'trail-node :x #x1a7 :z #x209 :first-conn #x344 :conn-count #x2) (new 'static 'trail-node :x #x209 :z #x206 :first-conn #x346 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x209 :first-conn #x1e9 :cost-from-start #x348) + (new 'static 'trail-node :x #x209 :z #x1e9 :first-conn #x348 :conn-count #x3) (new 'static 'trail-node :x #x1e5 :z #x1e3 :first-conn #x34b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x299 :first-conn #x2ce :cost-from-start #x34d) + (new 'static 'trail-node :x #x299 :z #x2ce :first-conn #x34d :conn-count #x2) (new 'static 'trail-node :x #x22d :z #x1bd :first-conn #x34f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x28e :first-conn #x21d :cost-from-start #x351) + (new 'static 'trail-node :x #x28e :z #x21d :first-conn #x351 :conn-count #x3) (new 'static 'trail-node :x #x267 :z #x1fa :first-conn #x354 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x25d :first-conn #x1bc :cost-from-start #x356) + (new 'static 'trail-node :x #x25d :z #x1bc :first-conn #x356 :conn-count #x2) (new 'static 'trail-node :x #x256 :z #x1b4 :first-conn #x358 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x244 :first-conn #x1b4 :cost-from-start #x35a) + (new 'static 'trail-node :x #x244 :z #x1b4 :first-conn #x35a :conn-count #x2) (new 'static 'trail-node :x #x269 :z #x21c :first-conn #x35c :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x209 :first-conn #x1ab :cost-from-start #x35f) + (new 'static 'trail-node :x #x209 :z #x1ab :first-conn #x35f :conn-count #x1) (new 'static 'trail-node :x #x208 :z #x1ce :first-conn #x360 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x236 :first-conn #x260 :cost-from-start #x361) + (new 'static 'trail-node :x #x236 :z #x260 :first-conn #x361 :conn-count #x3) (new 'static 'trail-node :x #x216 :z #x256 :first-conn #x364 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x1fe :first-conn #x241 :cost-from-start #x367) + (new 'static 'trail-node :x #x1fe :z #x241 :first-conn #x367 :conn-count #x4) (new 'static 'trail-node :x #x1d9 :z #x23f :first-conn #x36b :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x2d7 :first-conn #x20b :cost-from-start #x36f) + (new 'static 'trail-node :x #x2d7 :z #x20b :first-conn #x36f :conn-count #x2) (new 'static 'trail-node :x #x1e3 :z #x1ae :first-conn #x371 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x1f7 :first-conn #x20b :cost-from-start #x372) + (new 'static 'trail-node :x #x1f7 :z #x20b :first-conn #x372 :conn-count #x4) (new 'static 'trail-node :x #x19c :z #x1ae :first-conn #x376 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x19b :first-conn #x1d6 :cost-from-start #x377) + (new 'static 'trail-node :x #x19b :z #x1d6 :first-conn #x377 :conn-count #x1) (new 'static 'trail-node :x #x19d :z #x1e3 :first-conn #x378 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x1a4 :first-conn #x2cd :cost-from-start #x379) + (new 'static 'trail-node :x #x1a4 :z #x2cd :first-conn #x379 :conn-count #x1) (new 'static 'trail-node :x #x1da :z #x208 :first-conn #x37a :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x1cd :first-conn #x2b5 :cost-from-start #x37e) + (new 'static 'trail-node :x #x1cd :z #x2b5 :first-conn #x37e :conn-count #x4) (new 'static 'trail-node :x #x20c :z #x2b3 :first-conn #x382 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x210 :first-conn #x2e8 :cost-from-start #x385) + (new 'static 'trail-node :x #x210 :z #x2e8 :first-conn #x385 :conn-count #x3) (new 'static 'trail-node :x #x226 :z #x2ee :first-conn #x388 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x270 :first-conn #x2af :cost-from-start #x38a) + (new 'static 'trail-node :x #x270 :z #x2af :first-conn #x38a :conn-count #x1) (new 'static 'trail-node :x #x1a5 :z #x2e5 :first-conn #x38b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2bd :first-conn #x20d :cost-from-start #x38c) + (new 'static 'trail-node :x #x2bd :z #x20d :first-conn #x38c :conn-count #x2) (new 'static 'trail-node :x #x2b7 :z #x1b2 :first-conn #x38e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x20f :first-conn #x295 :cost-from-start #x390) + (new 'static 'trail-node :x #x20f :z #x295 :first-conn #x390 :conn-count #x3) (new 'static 'trail-node :x #x2c7 :z #x264 :first-conn #x393 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2d6 :first-conn #x2e9 :cost-from-start #x396) + (new 'static 'trail-node :x #x2d6 :z #x2e9 :first-conn #x396 :conn-count #x1) (new 'static 'trail-node :x #x2a9 :z #x2d6 :first-conn #x397 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2a9 :first-conn #x2b7 :cost-from-start #x399) + (new 'static 'trail-node :x #x2a9 :z #x2b7 :first-conn #x399 :conn-count #x2) (new 'static 'trail-node :x #x2d9 :z #x2ad :first-conn #x39b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2d9 :first-conn #x290 :cost-from-start #x39d) + (new 'static 'trail-node :x #x2d9 :z #x290 :first-conn #x39d :conn-count #x3) (new 'static 'trail-node :x #x2d1 :z #x271 :first-conn #x3a0 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x2cf :first-conn #x289 :cost-from-start #x3a3) + (new 'static 'trail-node :x #x2cf :z #x289 :first-conn #x3a3 :conn-count #x3) (new 'static 'trail-node :x #x274 :z #x28c :first-conn #x3a6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2da :first-conn #x1b0 :cost-from-start #x3a8) + (new 'static 'trail-node :x #x2da :z #x1b0 :first-conn #x3a8 :conn-count #x2) (new 'static 'trail-node :x #x243 :z #x2ea :first-conn #x3aa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a5 :first-conn #x279 :cost-from-start #x3ac) + (new 'static 'trail-node :x #x1a5 :z #x279 :first-conn #x3ac :conn-count #x2) (new 'static 'trail-node :x #x3bf :z #x291 :first-conn #x3ae :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x3c1 :first-conn #x307 :cost-from-start #x3b1) + (new 'static 'trail-node :x #x3c1 :z #x307 :first-conn #x3b1 :conn-count #x2) (new 'static 'trail-node :x #x3d2 :z #x335 :first-conn #x3b3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x3af :first-conn #x336 :cost-from-start #x3b4) + (new 'static 'trail-node :x #x3af :z #x336 :first-conn #x3b4 :conn-count #x1) (new 'static 'trail-node :x #x432 :z #x1ff :first-conn #x3b5 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xc0 :first-conn #x4ab :cost-from-start #x3b6) + (new 'static 'trail-node :x #xc0 :z #x4ab :first-conn #x3b6 :conn-count #x2) (new 'static 'trail-node :x #xc0 :z #x49c :first-conn #x3b8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x449 :first-conn #x17d :cost-from-start #x3ba) + (new 'static 'trail-node :x #x449 :z #x17d :first-conn #x3ba :conn-count #x2) (new 'static 'trail-node :x #x44b :z #x18b :first-conn #x3bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x2f6 :first-conn #xe2 :cost-from-start #x3be) + (new 'static 'trail-node :x #x2f6 :z #xe2 :first-conn #x3be :conn-count #x2) (new 'static 'trail-node :x #x428 :z #x385 :first-conn #x3c0 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -369 :first-conn #x4cf :cost-from-start #x3c3) + (new 'static 'trail-node :x -369 :z #x4cf :first-conn #x3c3 :conn-count #x2) (new 'static 'trail-node :x -370 :z #x4ba :first-conn #x3c5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a7 :first-conn #x52c :cost-from-start #x3c7) + (new 'static 'trail-node :x #x1a7 :z #x52c :first-conn #x3c7 :conn-count #x2) (new 'static 'trail-node :x #xc1 :z #x17e :first-conn #x3c9 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -304 :first-conn #xfea5 :cost-from-start #x3cc) + (new 'static 'trail-node :x -304 :z -347 :first-conn #x3cc :conn-count #x2) (new 'static 'trail-node :x -350 :z -328 :first-conn #x3ce :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -204 :first-conn #xff71 :cost-from-start #x3cf) + (new 'static 'trail-node :x -204 :z -143 :first-conn #x3cf :conn-count #x1) (new 'static 'trail-node :x -205 :z -161 :first-conn #x3d0 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z 82 :first-conn #xffd3 :cost-from-start #x3d1) + (new 'static 'trail-node :x 82 :z -45 :first-conn #x3d1 :conn-count #x2) (new 'static 'trail-node :x -57 :z -121 :first-conn #x3d3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -30 :first-conn #xff0a :cost-from-start #x3d4) + (new 'static 'trail-node :x -30 :z -246 :first-conn #x3d4 :conn-count #x1) (new 'static 'trail-node :x -247 :z -326 :first-conn #x3d5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -241 :first-conn #xfeec :cost-from-start #x3d7) + (new 'static 'trail-node :x -241 :z -276 :first-conn #x3d7 :conn-count #x1) (new 'static 'trail-node :x 88 :z -209 :first-conn #x3d8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 75 :first-conn #xff73 :cost-from-start #x3db) + (new 'static 'trail-node :x 75 :z -141 :first-conn #x3db :conn-count #x5) (new 'static 'trail-node :x 90 :z -160 :first-conn #x3e0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z 31 :first-conn #xfe8b :cost-from-start #x3e5) + (new 'static 'trail-node :x 31 :z -373 :first-conn #x3e5 :conn-count #x1) (new 'static 'trail-node :x #x87 :z -153 :first-conn #x3e6 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z #xb8 :first-conn #xff5b :cost-from-start #x3ed) + (new 'static 'trail-node :x #xb8 :z -165 :first-conn #x3ed :conn-count #x3) (new 'static 'trail-node :x #x83 :z -112 :first-conn #x3f0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x66 :first-conn #xffa0 :cost-from-start #x3f5) + (new 'static 'trail-node :x #x66 :z -96 :first-conn #x3f5 :conn-count #x5) (new 'static 'trail-node :x #xb5 :z -113 :first-conn #x3fa :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xbc :first-conn #xfd26 :cost-from-start #x3fd) + (new 'static 'trail-node :x #xbc :z -730 :first-conn #x3fd :conn-count #x6) (new 'static 'trail-node :x #x90 :z -742 :first-conn #x403 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x14c :first-conn #xfdf3 :cost-from-start #x404) + (new 'static 'trail-node :x #x14c :z -525 :first-conn #x404 :conn-count #x1) (new 'static 'trail-node :x #x160 :z -528 :first-conn #x405 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x161 :first-conn #xfd95 :cost-from-start #x407) + (new 'static 'trail-node :x #x161 :z -619 :first-conn #x407 :conn-count #x2) (new 'static 'trail-node :x #x14a :z -625 :first-conn #x409 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x17f :first-conn #xffce :cost-from-start #x40a) + (new 'static 'trail-node :x #x17f :z -50 :first-conn #x40a :conn-count #x2) (new 'static 'trail-node :x #xa8 :z -101 :first-conn #x40c :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x1b1 :first-conn #xffbe :cost-from-start #x410) + (new 'static 'trail-node :x #x1b1 :z -66 :first-conn #x410 :conn-count #x1) (new 'static 'trail-node :x #x1c9 :z -54 :first-conn #x411 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x178 :first-conn #xffef :cost-from-start #x412) + (new 'static 'trail-node :x #x178 :z -17 :first-conn #x412 :conn-count #x1) (new 'static 'trail-node :x #x178 :z -74 :first-conn #x413 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x190 :first-conn #xffb8 :cost-from-start #x414) + (new 'static 'trail-node :x #x190 :z -72 :first-conn #x414 :conn-count #x1) (new 'static 'trail-node :x #x190 :z -18 :first-conn #x415 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2e7 :first-conn #xfe98 :cost-from-start #x416) + (new 'static 'trail-node :x #x2e7 :z -360 :first-conn #x416 :conn-count #x2) (new 'static 'trail-node :x #x27e :z -65 :first-conn #x418 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22d :first-conn #xffa7 :cost-from-start #x41a) + (new 'static 'trail-node :x #x22d :z -89 :first-conn #x41a :conn-count #x1) (new 'static 'trail-node :x #x248 :z -105 :first-conn #x41b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x256 :first-conn #xff78 :cost-from-start #x41d) + (new 'static 'trail-node :x #x256 :z -136 :first-conn #x41d :conn-count #x1) (new 'static 'trail-node :x #x229 :z -650 :first-conn #x41e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1f9 :first-conn #xfd67 :cost-from-start #x420) + (new 'static 'trail-node :x #x1f9 :z -665 :first-conn #x420 :conn-count #x2) (new 'static 'trail-node :x #x1e2 :z -768 :first-conn #x422 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22e :first-conn #xfcfc :cost-from-start #x424) + (new 'static 'trail-node :x #x22e :z -772 :first-conn #x424 :conn-count #x2) (new 'static 'trail-node :x #x268 :z -616 :first-conn #x426 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x219 :first-conn #xfdc8 :cost-from-start #x428) + (new 'static 'trail-node :x #x219 :z -568 :first-conn #x428 :conn-count #x1) (new 'static 'trail-node :x #x1d0 :z -602 :first-conn #x429 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x194 :first-conn #xfdab :cost-from-start #x42b) + (new 'static 'trail-node :x #x194 :z -597 :first-conn #x42b :conn-count #x2) (new 'static 'trail-node :x #x18f :z -563 :first-conn #x42d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x191 :first-conn #xfe0b :cost-from-start #x42f) + (new 'static 'trail-node :x #x191 :z -501 :first-conn #x42f :conn-count #x2) (new 'static 'trail-node :x #x189 :z -435 :first-conn #x431 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x193 :first-conn #xfec8 :cost-from-start #x433) + (new 'static 'trail-node :x #x193 :z -312 :first-conn #x433 :conn-count #x1) (new 'static 'trail-node :x #x192 :z -379 :first-conn #x434 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x22e :first-conn #xfce6 :cost-from-start #x436) + (new 'static 'trail-node :x #x22e :z -794 :first-conn #x436 :conn-count #x1) (new 'static 'trail-node :x #x248 :z -695 :first-conn #x437 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x21d :first-conn #xfcfc :cost-from-start #x439) + (new 'static 'trail-node :x #x21d :z -772 :first-conn #x439 :conn-count #x2) (new 'static 'trail-node :x #x312 :z -430 :first-conn #x43b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2c3 :first-conn #xfe5e :cost-from-start #x43c) + (new 'static 'trail-node :x #x2c3 :z -418 :first-conn #x43c :conn-count #x2) (new 'static 'trail-node :x #x298 :z -433 :first-conn #x43e :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x27c :first-conn #xfe27 :cost-from-start #x440) + (new 'static 'trail-node :x #x27c :z -473 :first-conn #x440 :conn-count #x2) (new 'static 'trail-node :x #x25f :z -471 :first-conn #x442 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1cb :first-conn #xfe42 :cost-from-start #x444) + (new 'static 'trail-node :x #x1cb :z -446 :first-conn #x444 :conn-count #x2) (new 'static 'trail-node :x #x205 :z -386 :first-conn #x446 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1dd :first-conn #xfeed :cost-from-start #x448) + (new 'static 'trail-node :x #x1dd :z -275 :first-conn #x448 :conn-count #x2) (new 'static 'trail-node :x #x1b5 :z -298 :first-conn #x44a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x1a8 :first-conn #xfeda :cost-from-start #x44c) + (new 'static 'trail-node :x #x1a8 :z -294 :first-conn #x44c :conn-count #x1) (new 'static 'trail-node :x #x2c2 :z -472 :first-conn #x44d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x248 :first-conn #xfdc7 :cost-from-start #x44f) + (new 'static 'trail-node :x #x248 :z -569 :first-conn #x44f :conn-count #x3) (new 'static 'trail-node :x #x43f :z #x17f :first-conn #x452 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x453 :first-conn #x17c :cost-from-start #x453) + (new 'static 'trail-node :x #x453 :z #x17c :first-conn #x453 :conn-count #x1) (new 'static 'trail-node :x #x442 :z #x18d :first-conn #x454 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x456 :first-conn #x18a :cost-from-start #x455) + (new 'static 'trail-node :x #x456 :z #x18a :first-conn #x455 :conn-count #x1) (new 'static 'trail-node :x #x468 :z #x2a0 :first-conn #x456 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x42f :first-conn #x2a2 :cost-from-start #x457) + (new 'static 'trail-node :x #x42f :z #x2a2 :first-conn #x457 :conn-count #x1) (new 'static 'trail-node :x -108 :z #x88 :first-conn #x458 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -81 :first-conn #xb8 :cost-from-start #x45a) + (new 'static 'trail-node :x -81 :z #xb8 :first-conn #x45a :conn-count #x2) (new 'static 'trail-node :x -270 :z #x120 :first-conn #x45c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -180 :first-conn #xf7 :cost-from-start #x45e) + (new 'static 'trail-node :x -180 :z #xf7 :first-conn #x45e :conn-count #x3) (new 'static 'trail-node :x -418 :z #xcf :first-conn #x461 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -267 :first-conn #x152 :cost-from-start #x462) + (new 'static 'trail-node :x -267 :z #x152 :first-conn #x462 :conn-count #x2) (new 'static 'trail-node :x -356 :z #x19e :first-conn #x464 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -303 :first-conn #x172 :cost-from-start #x465) + (new 'static 'trail-node :x -303 :z #x172 :first-conn #x465 :conn-count #x1) (new 'static 'trail-node :x -352 :z #x161 :first-conn #x466 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -182 :first-conn #x136 :cost-from-start #x467) + (new 'static 'trail-node :x -182 :z #x136 :first-conn #x467 :conn-count #x3) (new 'static 'trail-node :x -125 :z #x16e :first-conn #x46a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -76 :first-conn #x16d :cost-from-start #x46b) + (new 'static 'trail-node :x -76 :z #x16d :first-conn #x46b :conn-count #x2) (new 'static 'trail-node :x -129 :z #x12f :first-conn #x46d :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -40 :first-conn #x14f :cost-from-start #x46e) + (new 'static 'trail-node :x -40 :z #x14f :first-conn #x46e :conn-count #x2) (new 'static 'trail-node :x -28 :z #xbb :first-conn #x470 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -37 :first-conn #x77 :cost-from-start #x472) + (new 'static 'trail-node :x -37 :z #x77 :first-conn #x472 :conn-count #x2) (new 'static 'trail-node :x -101 :z 56 :first-conn #x474 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -299 :first-conn #x36 :cost-from-start #x476) + (new 'static 'trail-node :x -299 :z 54 :first-conn #x476 :conn-count #x1) (new 'static 'trail-node :x -399 :z #x7a :first-conn #x477 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -149 :first-conn #x86 :cost-from-start #x478) + (new 'static 'trail-node :x -149 :z #x86 :first-conn #x478 :conn-count #x1) (new 'static 'trail-node :x -320 :z 84 :first-conn #x479 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -124 :first-conn #xc3 :cost-from-start #x47a) + (new 'static 'trail-node :x -124 :z #xc3 :first-conn #x47a :conn-count #x2) (new 'static 'trail-node :x -142 :z #xa7 :first-conn #x47c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -403 :first-conn #xa3 :cost-from-start #x47e) + (new 'static 'trail-node :x -403 :z #xa3 :first-conn #x47e :conn-count #x1) (new 'static 'trail-node :x -401 :z #xe6 :first-conn #x47f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -247 :first-conn #xfb :cost-from-start #x480) + (new 'static 'trail-node :x -247 :z #xfb :first-conn #x480 :conn-count #x1) (new 'static 'trail-node :x -210 :z #x11a :first-conn #x481 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -82 :first-conn #x147 :cost-from-start #x482) + (new 'static 'trail-node :x -82 :z #x147 :first-conn #x482 :conn-count #x2) (new 'static 'trail-node :x -126 :z #x151 :first-conn #x484 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -104 :first-conn #x157 :cost-from-start #x487) + (new 'static 'trail-node :x -104 :z #x157 :first-conn #x487 :conn-count #x2) (new 'static 'trail-node :x -334 :z 62 :first-conn #x489 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -327 :first-conn #x1e5 :cost-from-start #x48b) + (new 'static 'trail-node :x -327 :z #x1e5 :first-conn #x48b :conn-count #x1) (new 'static 'trail-node :x -311 :z #x19c :first-conn #x48c :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -323 :first-conn #x489 :cost-from-start #x48d) + (new 'static 'trail-node :x -323 :z #x489 :first-conn #x48d :conn-count #x2) (new 'static 'trail-node :x -372 :z #x264 :first-conn #x48f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -327 :first-conn #x264 :cost-from-start #x490) + (new 'static 'trail-node :x -327 :z #x264 :first-conn #x490 :conn-count #x1) (new 'static 'trail-node :x -276 :z #x2b0 :first-conn #x491 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -286 :first-conn #x2ee :cost-from-start #x494) + (new 'static 'trail-node :x -286 :z #x2ee :first-conn #x494 :conn-count #x3) (new 'static 'trail-node :x -323 :z #x299 :first-conn #x497 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -362 :first-conn #x299 :cost-from-start #x498) + (new 'static 'trail-node :x -362 :z #x299 :first-conn #x498 :conn-count #x1) (new 'static 'trail-node :x -361 :z #x2e5 :first-conn #x499 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -307 :first-conn #x2e6 :cost-from-start #x49a) + (new 'static 'trail-node :x -307 :z #x2e6 :first-conn #x49a :conn-count #x1) (new 'static 'trail-node :x -245 :z #x243 :first-conn #x49b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -246 :first-conn #x275 :cost-from-start #x49c) + (new 'static 'trail-node :x -246 :z #x275 :first-conn #x49c :conn-count #x2) (new 'static 'trail-node :x -196 :z #x275 :first-conn #x49e :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -170 :first-conn #x23f :cost-from-start #x49f) + (new 'static 'trail-node :x -170 :z #x23f :first-conn #x49f :conn-count #x1) (new 'static 'trail-node :x -170 :z #x227 :first-conn #x4a0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -221 :first-conn #x228 :cost-from-start #x4a2) + (new 'static 'trail-node :x -221 :z #x228 :first-conn #x4a2 :conn-count #x1) (new 'static 'trail-node :x -212 :z #x1f7 :first-conn #x4a3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -175 :first-conn #x1f7 :cost-from-start #x4a4) + (new 'static 'trail-node :x -175 :z #x1f7 :first-conn #x4a4 :conn-count #x2) (new 'static 'trail-node :x -172 :z #x1d7 :first-conn #x4a6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -244 :first-conn #x1e3 :cost-from-start #x4a7) + (new 'static 'trail-node :x -244 :z #x1e3 :first-conn #x4a7 :conn-count #x1) (new 'static 'trail-node :x -243 :z #x1ad :first-conn #x4a8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -173 :first-conn #x1ac :cost-from-start #x4aa) + (new 'static 'trail-node :x -173 :z #x1ac :first-conn #x4aa :conn-count #x1) (new 'static 'trail-node :x -126 :z #x1af :first-conn #x4ab :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -119 :first-conn #x19e :cost-from-start #x4ac) + (new 'static 'trail-node :x -119 :z #x19e :first-conn #x4ac :conn-count #x2) (new 'static 'trail-node :x -52 :z #x1a0 :first-conn #x4ae :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -51 :first-conn #x1e8 :cost-from-start #x4b0) + (new 'static 'trail-node :x -51 :z #x1e8 :first-conn #x4b0 :conn-count #x2) (new 'static 'trail-node :x -118 :z #x1e7 :first-conn #x4b2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -121 :first-conn #x1d1 :cost-from-start #x4b4) + (new 'static 'trail-node :x -121 :z #x1d1 :first-conn #x4b4 :conn-count #x1) (new 'static 'trail-node :x -112 :z #x263 :first-conn #x4b5 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -117 :first-conn #x238 :cost-from-start #x4b7) + (new 'static 'trail-node :x -117 :z #x238 :first-conn #x4b7 :conn-count #x1) (new 'static 'trail-node :x -117 :z #x21a :first-conn #x4b8 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -44 :first-conn #x21b :cost-from-start #x4ba) + (new 'static 'trail-node :x -44 :z #x21b :first-conn #x4ba :conn-count #x2) (new 'static 'trail-node :x -44 :z #x265 :first-conn #x4bc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -90 :first-conn #x265 :cost-from-start #x4be) + (new 'static 'trail-node :x -90 :z #x265 :first-conn #x4be :conn-count #x1) (new 'static 'trail-node :x 20 :z #x1dd :first-conn #x4bf :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z 27 :first-conn #x201 :cost-from-start #x4c1) + (new 'static 'trail-node :x 27 :z #x201 :first-conn #x4c1 :conn-count #x2) (new 'static 'trail-node :x 27 :z #x297 :first-conn #x4c3 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z 19 :first-conn #x1ba :cost-from-start #x4c6) + (new 'static 'trail-node :x 19 :z #x1ba :first-conn #x4c6 :conn-count #x2) (new 'static 'trail-node :x 18 :z #x2d1 :first-conn #x4c8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -119 :first-conn #x2a1 :cost-from-start #x4cb) + (new 'static 'trail-node :x -119 :z #x2a1 :first-conn #x4cb :conn-count #x1) (new 'static 'trail-node :x -119 :z #x2e7 :first-conn #x4cc :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -42 :first-conn #x2e5 :cost-from-start #x4ce) + (new 'static 'trail-node :x -42 :z #x2e5 :first-conn #x4ce :conn-count #x2) (new 'static 'trail-node :x -41 :z #x2cc :first-conn #x4d0 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -14 :first-conn #x2c8 :cost-from-start #x4d2) + (new 'static 'trail-node :x -14 :z #x2c8 :first-conn #x4d2 :conn-count #x1) (new 'static 'trail-node :x -152 :z #x29a :first-conn #x4d3 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -152 :first-conn #x2e5 :cost-from-start #x4d4) + (new 'static 'trail-node :x -152 :z #x2e5 :first-conn #x4d4 :conn-count #x2) (new 'static 'trail-node :x -227 :z #x2e6 :first-conn #x4d6 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -228 :first-conn #x2c2 :cost-from-start #x4d8) + (new 'static 'trail-node :x -228 :z #x2c2 :first-conn #x4d8 :conn-count #x1) (new 'static 'trail-node :x -203 :z #x298 :first-conn #x4d9 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -232 :first-conn #x298 :cost-from-start #x4da) + (new 'static 'trail-node :x -232 :z #x298 :first-conn #x4da :conn-count #x2) (new 'static 'trail-node :x -233 :z #x2a1 :first-conn #x4dc :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xa2 :first-conn #x30e :cost-from-start #x4dd) + (new 'static 'trail-node :x #xa2 :z #x30e :first-conn #x4dd :conn-count #x4) (new 'static 'trail-node :x #x9d :z #x368 :first-conn #x4e1 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xd8 :first-conn #x30f :cost-from-start #x4e5) + (new 'static 'trail-node :x #xd8 :z #x30f :first-conn #x4e5 :conn-count #x4) (new 'static 'trail-node :x #xda :z #x369 :first-conn #x4e9 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x6c :first-conn #x389 :cost-from-start #x4ed) + (new 'static 'trail-node :x #x6c :z #x389 :first-conn #x4ed :conn-count #x2) (new 'static 'trail-node :x #x66 :z #x425 :first-conn #x4ef :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x87 :first-conn #x440 :cost-from-start #x4f1) + (new 'static 'trail-node :x #x87 :z #x440 :first-conn #x4f1 :conn-count #x3) (new 'static 'trail-node :x #x11a :z #x38a :first-conn #x4f4 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x116 :first-conn #x42f :cost-from-start #x4f6) + (new 'static 'trail-node :x #x116 :z #x42f :first-conn #x4f6 :conn-count #x2) (new 'static 'trail-node :x #xe8 :z #x43b :first-conn #x4f8 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #xa4 :first-conn #x1a9 :cost-from-start #x4fb) + (new 'static 'trail-node :x #xa4 :z #x1a9 :first-conn #x4fb :conn-count #x3) (new 'static 'trail-node :x #xdb :z #x1a9 :first-conn #x4fe :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -286 :first-conn #x302 :cost-from-start #x501) + (new 'static 'trail-node :x -286 :z #x302 :first-conn #x501 :conn-count #x2) (new 'static 'trail-node :x -224 :z #x31d :first-conn #x503 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -188 :first-conn #x31e :cost-from-start #x505) + (new 'static 'trail-node :x -188 :z #x31e :first-conn #x505 :conn-count #x2) (new 'static 'trail-node :x -131 :z #x355 :first-conn #x507 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -308 :first-conn #x30a :cost-from-start #x509) + (new 'static 'trail-node :x -308 :z #x30a :first-conn #x509 :conn-count #x1) (new 'static 'trail-node :x -310 :z #x354 :first-conn #x50a :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -234 :first-conn #x353 :cost-from-start #x50c) + (new 'static 'trail-node :x -234 :z #x353 :first-conn #x50c :conn-count #x2) (new 'static 'trail-node :x -233 :z #x331 :first-conn #x50e :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -182 :first-conn #x30b :cost-from-start #x50f) + (new 'static 'trail-node :x -182 :z #x30b :first-conn #x50f :conn-count #x1) (new 'static 'trail-node :x -106 :z #x30b :first-conn #x510 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -107 :first-conn #x357 :cost-from-start #x512) + (new 'static 'trail-node :x -107 :z #x357 :first-conn #x512 :conn-count #x1) (new 'static 'trail-node :x -151 :z #x357 :first-conn #x513 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -183 :first-conn #x357 :cost-from-start #x514) + (new 'static 'trail-node :x -183 :z #x357 :first-conn #x514 :conn-count #x2) (new 'static 'trail-node :x -183 :z #x336 :first-conn #x516 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -126 :first-conn #x378 :cost-from-start #x517) + (new 'static 'trail-node :x -126 :z #x378 :first-conn #x517 :conn-count #x2) (new 'static 'trail-node :x -71 :z #x428 :first-conn #x519 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -77 :first-conn #x451 :cost-from-start #x51b) + (new 'static 'trail-node :x -77 :z #x451 :first-conn #x51b :conn-count #x2) (new 'static 'trail-node :x -232 :z #x461 :first-conn #x51d :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -254 :first-conn #x3e1 :cost-from-start #x51f) + (new 'static 'trail-node :x -254 :z #x3e1 :first-conn #x51f :conn-count #x2) (new 'static 'trail-node :x -372 :z #x3ea :first-conn #x521 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -382 :first-conn #x401 :cost-from-start #x523) + (new 'static 'trail-node :x -382 :z #x401 :first-conn #x523 :conn-count #x2) (new 'static 'trail-node :x -299 :z #x49d :first-conn #x525 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -124 :first-conn #x42b :cost-from-start #x527) + (new 'static 'trail-node :x -124 :z #x42b :first-conn #x527 :conn-count #x2) (new 'static 'trail-node :x -86 :z #x42b :first-conn #x529 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -62 :first-conn #x430 :cost-from-start #x52a) + (new 'static 'trail-node :x -62 :z #x430 :first-conn #x52a :conn-count #x2) (new 'static 'trail-node :x -111 :z #x37d :first-conn #x52c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -16 :first-conn #x391 :cost-from-start #x52e) + (new 'static 'trail-node :x -16 :z #x391 :first-conn #x52e :conn-count #x2) (new 'static 'trail-node :x -15 :z #x3ea :first-conn #x530 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -59 :first-conn #x438 :cost-from-start #x532) + (new 'static 'trail-node :x -59 :z #x438 :first-conn #x532 :conn-count #x2) (new 'static 'trail-node :x -17 :z #x449 :first-conn #x534 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -15 :first-conn #x3f8 :cost-from-start #x536) + (new 'static 'trail-node :x -15 :z #x3f8 :first-conn #x536 :conn-count #x2) (new 'static 'trail-node :x -218 :z #x46b :first-conn #x538 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -102 :first-conn #x45f :cost-from-start #x53a) + (new 'static 'trail-node :x -102 :z #x45f :first-conn #x53a :conn-count #x2) (new 'static 'trail-node :x -141 :z #x49d :first-conn #x53c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -57 :first-conn #x454 :cost-from-start #x53e) + (new 'static 'trail-node :x -57 :z #x454 :first-conn #x53e :conn-count #x2) (new 'static 'trail-node :x -31 :z #x498 :first-conn #x540 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -11 :first-conn #x471 :cost-from-start #x542) + (new 'static 'trail-node :x -11 :z #x471 :first-conn #x542 :conn-count #x2) (new 'static 'trail-node :x -17 :z #x452 :first-conn #x544 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -71 :first-conn #x45a :cost-from-start #x546) + (new 'static 'trail-node :x -71 :z #x45a :first-conn #x546 :conn-count #x2) (new 'static 'trail-node :x -87 :z #x45c :first-conn #x548 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -130 :first-conn #x4a1 :cost-from-start #x54a) + (new 'static 'trail-node :x -130 :z #x4a1 :first-conn #x54a :conn-count #x2) (new 'static 'trail-node :x -49 :z #x4a0 :first-conn #x54c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -55 :first-conn #x449 :cost-from-start #x54e) + (new 'static 'trail-node :x -55 :z #x449 :first-conn #x54e :conn-count #x2) (new 'static 'trail-node :x -256 :z #x463 :first-conn #x550 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -245 :first-conn #x3f9 :cost-from-start #x552) + (new 'static 'trail-node :x -245 :z #x3f9 :first-conn #x552 :conn-count #x2) (new 'static 'trail-node :x -238 :z #x475 :first-conn #x554 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -252 :first-conn #x467 :cost-from-start #x556) + (new 'static 'trail-node :x -252 :z #x467 :first-conn #x556 :conn-count #x2) (new 'static 'trail-node :x -293 :z #x4a4 :first-conn #x558 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -225 :first-conn #x4a2 :cost-from-start #x55a) + (new 'static 'trail-node :x -225 :z #x4a2 :first-conn #x55a :conn-count #x2) (new 'static 'trail-node :x -226 :z #x437 :first-conn #x55c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -225 :first-conn #x3ed :cost-from-start #x55e) + (new 'static 'trail-node :x -225 :z #x3ed :first-conn #x55e :conn-count #x2) (new 'static 'trail-node :x -173 :z #x3d9 :first-conn #x560 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -371 :first-conn #x391 :cost-from-start #x562) + (new 'static 'trail-node :x -371 :z #x391 :first-conn #x562 :conn-count #x2) (new 'static 'trail-node :x -258 :z #x392 :first-conn #x564 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -254 :first-conn #x3d1 :cost-from-start #x566) + (new 'static 'trail-node :x -254 :z #x3d1 :first-conn #x566 :conn-count #x2) (new 'static 'trail-node :x -173 :z #x3be :first-conn #x568 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -171 :first-conn #x393 :cost-from-start #x56a) + (new 'static 'trail-node :x -171 :z #x393 :first-conn #x56a :conn-count #x2) (new 'static 'trail-node :x -239 :z #x392 :first-conn #x56c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -245 :first-conn #x44c :cost-from-start #x56e) + (new 'static 'trail-node :x -245 :z #x44c :first-conn #x56e :conn-count #x2) (new 'static 'trail-node :x -439 :z #x395 :first-conn #x570 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -383 :first-conn #x393 :cost-from-start #x572) + (new 'static 'trail-node :x -383 :z #x393 :first-conn #x572 :conn-count #x2) (new 'static 'trail-node :x -379 :z #x3d6 :first-conn #x574 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -235 :first-conn #x3d6 :cost-from-start #x576) + (new 'static 'trail-node :x -235 :z #x3d6 :first-conn #x576 :conn-count #x2) (new 'static 'trail-node :x -199 :z #x4a0 :first-conn #x578 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -65 :first-conn #x43d :cost-from-start #x57a) + (new 'static 'trail-node :x -65 :z #x43d :first-conn #x57a :conn-count #x2) (new 'static 'trail-node :x -140 :z #x380 :first-conn #x57c :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -145 :first-conn #x409 :cost-from-start #x57d) + (new 'static 'trail-node :x -145 :z #x409 :first-conn #x57d :conn-count #x2) (new 'static 'trail-node :x -190 :z #x430 :first-conn #x57f :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -175 :first-conn #x412 :cost-from-start #x581) + (new 'static 'trail-node :x -175 :z #x412 :first-conn #x581 :conn-count #x2) (new 'static 'trail-node :x -370 :z #x4a3 :first-conn #x583 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #xda :first-conn #x156 :cost-from-start #x585) + (new 'static 'trail-node :x #xda :z #x156 :first-conn #x585 :conn-count #x4) (new 'static 'trail-node :x #xa7 :z #x157 :first-conn #x589 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #xf3 :first-conn #x116 :cost-from-start #x58d) + (new 'static 'trail-node :x #xf3 :z #x116 :first-conn #x58d :conn-count #x7) (new 'static 'trail-node :x #x8c :z #x116 :first-conn #x594 :conn-count #x7) - (new 'static 'trail-node :next-id #x700 :z #xed :first-conn #x80 :cost-from-start #x59b) + (new 'static 'trail-node :x #xed :z #x80 :first-conn #x59b :conn-count #x5) (new 'static 'trail-node :x #x92 :z #x80 :first-conn #x5a0 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #xbf :first-conn #x6f :cost-from-start #x5a5) + (new 'static 'trail-node :x #xbf :z #x6f :first-conn #x5a5 :conn-count #x4) (new 'static 'trail-node :x #xc1 :z #x130 :first-conn #x5a9 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x9b :first-conn #x141 :cost-from-start #x5ad) + (new 'static 'trail-node :x #x9b :z #x141 :first-conn #x5ad :conn-count #x4) (new 'static 'trail-node :x #xe4 :z #x140 :first-conn #x5b1 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x10f :first-conn #xf9 :cost-from-start #x5b5) + (new 'static 'trail-node :x #x10f :z #xf9 :first-conn #x5b5 :conn-count #x5) (new 'static 'trail-node :x #x71 :z #xf8 :first-conn #x5ba :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #x107 :first-conn #xb6 :cost-from-start #x5bf) + (new 'static 'trail-node :x #x107 :z #xb6 :first-conn #x5bf :conn-count #x5) (new 'static 'trail-node :x #x77 :z #xb6 :first-conn #x5c4 :conn-count #x5) - (new 'static 'trail-node :next-id #x500 :z #xf0 :first-conn #xc8 :cost-from-start #x5c9) + (new 'static 'trail-node :x #xf0 :z #xc8 :first-conn #x5c9 :conn-count #x6) (new 'static 'trail-node :x #x8f :z #xc7 :first-conn #x5cf :conn-count #x6) - (new 'static 'trail-node :next-id #x600 :z #x79 :first-conn #xcb :cost-from-start #x5d5) + (new 'static 'trail-node :x #x79 :z #xcb :first-conn #x5d5 :conn-count #x5) (new 'static 'trail-node :x #x7f :z #xe1 :first-conn #x5da :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x105 :first-conn #xcc :cost-from-start #x5de) + (new 'static 'trail-node :x #x105 :z #xcc :first-conn #x5de :conn-count #x5) (new 'static 'trail-node :x #x100 :z #xe1 :first-conn #x5e3 :conn-count #x4) - (new 'static 'trail-node :next-id #x400 :z #x36f :first-conn #x309 :cost-from-start #x5e7) + (new 'static 'trail-node :x #x36f :z #x309 :first-conn #x5e7 :conn-count #x3) (new 'static 'trail-node :x -325 :z 83 :first-conn #x5ea :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -339 :first-conn #x4e :cost-from-start #x5eb) + (new 'static 'trail-node :x -339 :z 78 :first-conn #x5eb :conn-count #x1) (new 'static 'trail-node :x -337 :z 82 :first-conn #x5ec :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -337 :first-conn #x47 :cost-from-start #x5ee) + (new 'static 'trail-node :x -337 :z 71 :first-conn #x5ee :conn-count #x2) (new 'static 'trail-node :x -347 :z 72 :first-conn #x5f0 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -339 :first-conn #x55 :cost-from-start #x5f1) + (new 'static 'trail-node :x -339 :z 85 :first-conn #x5f1 :conn-count #x1) (new 'static 'trail-node :x -338 :z 82 :first-conn #x5f2 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -349 :first-conn #x59 :cost-from-start #x5f4) + (new 'static 'trail-node :x -349 :z 89 :first-conn #x5f4 :conn-count #x2) (new 'static 'trail-node :x -337 :z 90 :first-conn #x5f6 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -333 :first-conn #x53 :cost-from-start #x5f7) + (new 'static 'trail-node :x -333 :z 83 :first-conn #x5f7 :conn-count #x1) (new 'static 'trail-node :x -338 :z 80 :first-conn #x5f8 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -325 :first-conn #x123 :cost-from-start #x5f9) + (new 'static 'trail-node :x -325 :z #x123 :first-conn #x5f9 :conn-count #x1) (new 'static 'trail-node :x -282 :z #x176 :first-conn #x5fa :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -314 :first-conn #x40b :cost-from-start #x5fc) + (new 'static 'trail-node :x -314 :z #x40b :first-conn #x5fc :conn-count #x2) (new 'static 'trail-node :x -265 :z #x407 :first-conn #x5fe :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z -371 :first-conn #x3d5 :cost-from-start #x600) + (new 'static 'trail-node :x -371 :z #x3d5 :first-conn #x600 :conn-count #x2) (new 'static 'trail-node :x -351 :z #x42c :first-conn #x602 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -350 :first-conn #x4aa :cost-from-start #x603) + (new 'static 'trail-node :x -350 :z #x4aa :first-conn #x603 :conn-count #x1) (new 'static 'trail-node :x #x169 :z #x29d :first-conn #x604 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z #x286 :first-conn #x25e :cost-from-start #x607) + (new 'static 'trail-node :x #x286 :z #x25e :first-conn #x607 :conn-count #x3) (new 'static 'trail-node :x #x299 :z #x2f6 :first-conn #x60a :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x270 :first-conn #x2f5 :cost-from-start #x60b) + (new 'static 'trail-node :x #x270 :z #x2f5 :first-conn #x60b :conn-count #x1) (new 'static 'trail-node :x #x297 :z #x1b4 :first-conn #x60c :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x28e :first-conn #x23f :cost-from-start #x60e) + (new 'static 'trail-node :x #x28e :z #x23f :first-conn #x60e :conn-count #x4) (new 'static 'trail-node :x #x1e4 :z #x1d8 :first-conn #x612 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x2d7 :first-conn #x1c5 :cost-from-start #x613) + (new 'static 'trail-node :x #x2d7 :z #x1c5 :first-conn #x613 :conn-count #x1) (new 'static 'trail-node :x #x2bc :z #x1c7 :first-conn #x614 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x29a :first-conn #x2ba :cost-from-start #x615) + (new 'static 'trail-node :x #x29a :z #x2ba :first-conn #x615 :conn-count #x1) (new 'static 'trail-node :x #xc0 :z #x192 :first-conn #x616 :conn-count #x3) - (new 'static 'trail-node :next-id #x300 :z -354 :first-conn #xffed :cost-from-start #x619) + (new 'static 'trail-node :x -354 :z -19 :first-conn #x619 :conn-count #x2) (new 'static 'trail-node :x -354 :z 1 :first-conn #x61b :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x9b :first-conn #xfea0 :cost-from-start #x61d) + (new 'static 'trail-node :x #x9b :z -352 :first-conn #x61d :conn-count #x2) (new 'static 'trail-node :x #x93 :z -270 :first-conn #x61f :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #xc3 :first-conn #xfed5 :cost-from-start #x620) + (new 'static 'trail-node :x #xc3 :z -299 :first-conn #x620 :conn-count #x1) (new 'static 'trail-node :x 72 :z -370 :first-conn #x621 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x163 :first-conn #xfe9d :cost-from-start #x622) + (new 'static 'trail-node :x #x163 :z -355 :first-conn #x622 :conn-count #x1) (new 'static 'trail-node :x #x174 :z -329 :first-conn #x623 :conn-count #x2) - (new 'static 'trail-node :next-id #x200 :z #x173 :first-conn #xfeef :cost-from-start #x625) + (new 'static 'trail-node :x #x173 :z -273 :first-conn #x625 :conn-count #x2) (new 'static 'trail-node :x #x171 :z -236 :first-conn #x627 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z 35 :first-conn #xfee0 :cost-from-start #x628) + (new 'static 'trail-node :x 35 :z -288 :first-conn #x628 :conn-count #x1) (new 'static 'trail-node :x 37 :z -232 :first-conn #x629 :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z -69 :first-conn #xffe0 :cost-from-start #x62a) + (new 'static 'trail-node :x -69 :z -32 :first-conn #x62a :conn-count #x1) (new 'static 'trail-node :x 28 :z -36 :first-conn #x62b :conn-count #x1) - (new 'static 'trail-node :next-id #x100 :z #x70 :first-conn #xffd2 :cost-from-start #x62c) + (new 'static 'trail-node :x #x70 :z -46 :first-conn #x62c :conn-count #x1) (new 'static 'trail-node :x 82 :z -74 :first-conn #x62d :conn-count #x1) ) :conn (new 'static 'inline-array trail-conn 792 @@ -5217,7 +5217,3 @@ ) ) ) - - - -